2011-02-23 5 views
0

우리는 클라이언트 응용 프로그램에서 서버 응용 프로그램 (WCF 서비스)으로 일부 데이터를 전송하는 WCF 서비스를 사용하고 있습니다. 이 마지막 것은 이러한 데이터를 사용하는 알고리즘을 적용하고 그 결과를 클라이언트에 되돌려 보냅니다.C# WCF 서비스에서 클라이언트 응용 프로그램 체크섬 얻기

서버 WCF 서비스에서 클라이언트 응용 프로그램을 인증하고 싶습니다. WCF 서비스에서 직접 클라이언트 응용 프로그램 체크섬을 가져올 수 있습니까?

우리는 이미 wsHttpBinding을 사용하고 있지만 클라이언트 응용 프로그램 무결성에 하나 이상의 계층을 추가하려고합니다.

귀하의 도움에 감사 드리며, Camille.

답변

2

그는 클라이언트가 서비스로 보내지 않는 한 WCF 서비스는 클라이언트에서 아무 것도 얻을 수 없습니다. 따라서 클라이언트가 서비스에 체크섬 (메소드 매개 변수로)을 보내면 비즈니스를 수행 할 수 있습니다. WCF는 마법이 아닙니다. 그 문제에 대한 "서비스"기술도 없습니다. 이것은 클라이언트와 서버 사이의 간단한 tcp/ip 통신입니다. 양쪽 측면에서 유일한 정보는 양측이 보내는 정보로, 그 이상의 정보는 없습니다.

+0

메서드 매개 변수로 체크섬 만 보낼 수있는 경우 공격자가이 체크섬을 쉽게 위장 할 수 있습니다. 그건 인증을 더 좋게 만들지 않을거야. – Camille

+0

나는 더 나은 것을 만들 것이라고 말하지 않았다. 나는 단지 일이 어떻게 작동 하는지를 말하고 있었을뿐입니다. 당신은 Https를 사용할 수도 있고, 보내거나 보낸 데이터를 암호화 할 수도 있습니다. (두 가지 경우 모두 소금을 사용하십시오.) 질문에 대한 대답은 클라이언트가 서버로 정보를 보내야한다는 것입니다. 마술처럼 클라이언트에서 정보를 얻을 수 없다. 사실 클라이언트가 대화를 시작해야한다. 클라이언트/서버가 작동하는 방식이다. 서버는 대화를 시작하고 클라이언트가 원하지 않는 일을 할 수 없다. 하는 법을 알고있다. –