2014-06-08 6 views
2

iis에서 호스팅되는 .Net wcf 서비스를 만들었습니다. 서비스는 SSL을 사용하고 있습니다.WCF 서비스를 특정 클라이언트 응용 프로그램으로 제한

고객의 보안 요구 사항이 있습니다. 서비스는 특정 클라이언트 응용 프로그램에서만 사용할 수 있어야합니다.

서비스는 이미 Windows 인증을 사용하고 있으며 특정 사용자로 제한되어 있습니다. 이론적으로 승인 된 클라이언트 컴퓨터의 승인 된 사용자가 의도 한 클라이언트 응용 프로그램뿐만 아니라 서비스를 사용할 수 있기 때문에 소비자의 IP를 식별하거나 인증서를 사용하는 것만으로는 충분하지 않습니다.

안전한 방법이 있나요?

+0

클라이언트 응용 프로그램에서 요청할 헤더를 추가 한 다음 서버에서 확인할 수 있습니까? –

답변

2

메시지 보안을 사용하는 경우 메시지 서명에 사용할 X509 인증서를 지정할 수 있습니다. 특정 시스템에 대한 사용을 잠급니다 (그룹 정책을 사용하여 인증서 설치를 제어 할 수 있음).

특정 시스템이나 장치가 아닌 특정 사용자로 제한해야하는 경우 federated security을 사용하십시오.

또한 client and server message headers이 도움이 될 수 있지만 직접 롤링하기보다는 정기적 인 보안 메커니즘을 사용하는 것이 좋습니다.

+0

제한은 시스템이나 사용자뿐만 아니라 특정 클라이언트 응용 프로그램 만 허용하도록 설정해야합니다. –

+0

@YosiMaurer 나는 응용 프로그램에서만 액세스 할 수있는 X509 인증서를 사용하여이 문제를 해결했습니다. 암호화 된 리소스로 앱에 포함 된 것을 배송 할 수 있습니다. 그것은 완전히 안전하지는 않습니다.하지만 아무 것도 옆에 또 있습니다. – slugster

+0

제한은 기계 또는 사용자가 아닌 특정 클라이언트 응용 프로그램 만 허용하도록 설정해야합니다. 나는 헤더를 사용하는 것을 고려했다. 그러나이 방법이 충분히 안전한지 확실하지 않다. 헤더는 fiddler와 같은 도구를 사용하여 나머지 http 메시지로 쉽게 가로 챌 수 있습니다. SSL을 사용하면 HTTP 헤더가 안전하게 보호됩니까? –

관련 문제