2008-09-19 3 views
5

몇 가지 중요한 데이터를 처리하는 WCF 서비스가 있습니다. netTCPBinding을보고 있습니다. 주로 네트워크를 제어 할 수 있고 성능이 최우선이기 때문에 주로 데이터가 노출되지 않도록하고 싶습니다.WCF netTCPBinding - 전송 암호화가 충분합니까?

저는 암호화 할 수있는 영역이 두 개 있다는 것을 알고 있습니다 : 전송 수준과 메시지 수준. TLS를 통한 TLS를 사용하는 것으로 알고있는 전송 수준에서 인증서를 암호화하려고합니다.

호출 클라이언트도 내 것이므로 전송 수준을 제어합니다. 전송 계층에서 변경이 없으므로 메시지 수준의 암호화가 필요합니까? 운송 수단 변경의 유연성을 원하지 않는 한 불필요한 것 같습니다.

답변

5

메시지 수준 암호화는 중개자를 제어하지 않을 때 필요합니다. 중개 서비스는 비누 헤더를 수정할 수 있어야하며 악의적 인 목적으로 민감한 데이터를 들여다 볼 수 있어야합니다. 그러나 초기 발신자에서 최종 수신자까지 모든 것을 제어한다면 해당 수준에서 암호화가 필요하지 않습니다.

나는 내부 서비스를 위해 netTCP를 사용하는 프로젝트에서 작업하며 제대로 작동하는지 확인할 수 있습니다.

4

일반적으로 지점 간 연결을 처리하고 인증서가 양쪽에서 유효성 검사를받는 경우 (특히 상호 인증을 사용하는 경우) 그렇다면 전송 수준 보안으로 충분할 수 있습니다. 인증서를 확인하는 것은 누군가가 서버를 대체하지 못하도록 (또는 관리자가 방해받지 않도록) 유용합니다.

메시지 수준 보안은 콘텐츠 서명이 필요하거나 부인 방지가 필요할 때 특히 클라이언트와 서버 사이에 중재자 (라우터)가있을 때 실제로 메시지없이 메시지를 라우팅 할 수있는 경우에 유용합니다 그 내용을보고.

2

나는 당신이 자리하고 있다고 생각합니다. 이것을 다른 전송 메커니즘으로 옮길 계획이 없다면 왜 메시지 암호화와 전송 암호화가 필요한지 알 수 없습니다. 성능이 메시지 암호화를 건너 뛰는 주요 요인 인 경우 각 메시지의 송수신에 보호 기능을 추가 할 필요가 없으므로 성능을 절약 할 수 있습니다.