2015-01-28 3 views
2

WCF 보안 측면에서 TransportWithMessageCredential Vs Message의 차이점을 알고 싶습니다.WCF 보안 : TransportWithMessageCredential과 메시지 보안 모드의 차이점

내가 알고있는 것은 :

전송 보안 : 두 엔드 포인트 사이의 포인트 - 투 - 포인트 보안을 제공하는 데 사용됩니다.

메시지 보안 : 엔드 - 투 - 엔드 보안을 제공합니다. 메시지 보안은 메시지를 직접 암호화하고 서명하기 때문에 중개자가 있으면 보안이 깨지지 않습니다.

TransportWithMessageCredential 모드를 사용하는 경우 SOAP 메시지 (헤더 및 본문)가 암호화되어 있습니까?

내 관심사는 WCF 서버와 내 WinForms 클라이언트간에 암호화 된 응용 프로그램 데이터를 갖고 싶습니다.

+0

가능한 복제본 [WCF Transport vs Message] (http://stackoverflow.com/questions/5673283/wcf-transport-vs-message) –

+0

중복 된 것으로 생각하지 않습니다. TransportWithMessageCredentials 대 메시지의 차이점을 알아야합니다. 당신이 말하는 것은 Transport vs Message입니다. –

+0

알아 두어야 할 사항 TransportWithMessageCredentials 모드를 사용하는 경우 SOAP 메시지 (헤더 및 본문)가 암호화되어 있습니까? WCF 서버와 Windows 폼 클라이언트간에 암호화 할 응용 프로그램 데이터를 갖고 싶습니다. –

답변

7

TransportWithMessageCredentials 모드를 사용하는 경우 SOAP 메시지 ( 헤더 및 본문)가 암호화되어 있습니까?

예, TransportWithMessageCredential 보안 모드이므로 전송 보안은 전송 보안을 통해 전송되는 메시지에 대한 기밀성 및 무결성 보호를 제공합니다. 이 경우 전송 보안도 서비스 인증을 제공합니다. 예를 들어, HTTP의 경우 SSL (Secure Sockets Layer)은 보안 HTTP (HTTPS)를 통해 전송 된 패킷의 내용을 암호화하고 서명하는 데 사용됩니다.

TransportWithMessageCredential 보안 모드를 사용하면 클라이언트 인증은 클라이언트 자격 증명이 메시지에 직접 입력되는 SOAP 메시지 보안을 통해 제공됩니다.

SOAP 메시지가 클라이언트에서 서비스를 나가면 암호화됩니다. 그러나 전송 보안과 마찬가지로 두 종점 (서비스 및 클라이언트) 간의 지점 간 (이 아닌 종단 간) 보안을 제공합니다. 따라서 클라이언트와 서비스간에 중간 시스템이있는 경우 각 중간 지점은 새 보안 연결을 통해 메시지를 전달해야합니다. 댓글

업데이트에는 SOAP 메시지가 단지 포인트 - 투 이유는 그런 다음 최종 -end 보안해야한다 '암호화하는 서비스.의 클라이언트를 떠날 때 "말했다 메시지는이 메시지가 후 복호화 된 보안 전송의 다른 엔드 포인트에 도달 할 때까지 전개된다. 하나의 엔드 포인트를 떠나 그렇게 유지 될 때 암호화되어 있기 때문에 N'- 포인트.

전송 보안은 포인트 투 포인트 인 클라이언트와 서버가 서로 직접 이야기하는 곳에서 암호화가 제공됩니다. 그러나 서비스 끝점에서 해당받는 사람에게 해당 메시지를 전달할 경우 메시지가 더 이상 해당 지점에서 암호화되지 않습니다.

메시지 보안은 메시지를 직접 암호화하고 서명함으로써 의도 된 수신자 만 메시지의 실제 내용을 해독하고 읽을 수 있습니다. 따라서 엔드 포인트 사이뿐만 아니라 발신자와 수신자간에 보안이 보장됩니다. 따라서 메시지 보안은 종단 간 보안을 제공합니다.

TransportWithMessageCredential이 보안 지점 투 포인트를 제공하고 메시지 보안이 종단 간 보안을 제공한다고 결론 내릴 수 있습니까? WCF 보안 가이드가 사용하는 이유는 무엇입니까? UserName과 함께 TransportWithMessageCredential 인터넷에서 Windows Form 클라이언트와 함께 WCF 을 사용할 때.

네, 맞습니다. TransportWithMessageCredential 보안은 지점 간 보안을 제공하고보안은 종단 간 보안을 제공합니다. WCF 보안 가이드는 클라이언트를 인증하는 데 사용되기 때문에 클라이언트 자격 증명을 UserName으로 설정하도록 제안합니다. UserName의 경우 사용자 이름과 비밀번호 쌍이 SOAP 메시지에 직접 입력됩니다. 클라이언트가 서비스에 자신을 인증하기 위해 UserName 또는 Certificate과 같은 자격 증명을 제공하지 않는 한 익명 클라이언트가 있습니다. 익명 클라이언트는 클라이언트가 인증되지 않아 누구나 서비스에 액세스 할 수 있음을 의미합니다. 마이크로 소프트는 말한다 이유

메시지 본문 TransportWithMessageCredential 로 암호화되어 있지 않은 경우는 TransportWithMessageCredential 내 원래의 대답과 마찬가지로 모두 전송 및 메시지 보안

의 조합 : SOAP 메시지는 암호화와 서명 한 전송 계층 (예 : HTTPS). TransportWithMessageCredential은 전송 보안이 메시지를 암호화 및 서명하고 클라이언트에 대한 서비스를 인증하고 메시지 보안이 클라이언트에 대한 서비스를 인증하는 데 사용되므로 전송 및 메시지 보안의 조합입니다.

+0

당신은 "SOAP 메시지가 서비스를 위해 클라이언트를 떠났을 때 암호화되어 있습니다."그런 다음 그것은 끝점 보안이어야합니다 이유는 단지 지점 간입니다 –

+0

TransportWithMessageCredential이 보안 지점 간 지점을 제공한다고 결론을 내릴 수 있습니까? 메시지 레벨 보안이 종단 간 보안 제공 WCF 보안 가이드가 UserName과 함께 TransportWithMessageCredential을 사용할 것을 제안하는 이유 인터넷에서 Windows 폼 클라이언트와 함께 WCF를 사용할 때 –

+0

WCF를 통해 WCF를 연결할 클라이언트 (Win form app)가 있습니다. 인터넷. 내 클라이언트 SOAP 메시지를 암호화하여 SOAP 메시지 본문에서 내 응용 프로그램 데이터를 변조 할 수 없도록 Servre에 보내야합니다. –