다음을 통해 공유


피어 채널 애플리케이션 보안

WinFX NetPeerTcpBinding 의 다른 바인딩과 마찬가지로 보안은 기본적으로 사용하도록 설정되어 있으며 전송 및 메시지 기반 보안(또는 둘 다)을 모두 제공합니다. 이 항목에서는 이러한 두 가지 유형의 보안에 대해 설명합니다. 보안 유형은 바인딩 사양(SecurityMode)의 보안 모드 태그에 의해 지정됩니다.

Transport-Based 보안

피어 채널은 전송 보안을 위해 두 가지 유형의 인증 자격 증명을 지원하며, 둘 다 관련된 ClientCredentialSettings.Peer 속성을 ChannelFactory에서 설정해야 합니다.

  • 비밀번호. 클라이언트는 비밀 암호에 대한 지식을 사용하여 연결을 인증합니다. 이 자격 증명 형식을 사용할 때 ClientCredentialSettings.Peer.MeshPassword는 유효한 암호를 포함하고, 필요에 따라 X509Certificate2 인스턴스를 선택적으로 포함할 수 있습니다.

  • 인증서. 특정 애플리케이션 인증이 사용됩니다. 이 자격 증명 형식을 사용하는 경우 X509CertificateValidator에서 ClientCredentialSettings.Peer.PeerAuthentication의 구체적인 구현을 사용해야 합니다.

Message-Based 보안

애플리케이션은 메시지 보안을 사용하여 보내는 메시지에 서명하여 모든 수신 당사자가 신뢰할 수 있는 당사자가 메시지를 보내고 메시지가 변조되지 않았는지 확인할 수 있습니다. 현재 피어 채널은 X.509 자격 증명 메시지 서명만 지원합니다.

모범 사례

  • 이 섹션에서는 피어 채널 애플리케이션을 보호하기 위한 모범 사례를 설명합니다.

피어 채널 애플리케이션을 사용하여 보안을 활성화합니다.

피어 채널 프로토콜의 분산 특성으로 인해 보안되지 않은 메시에서 메시 멤버 자격, 기밀성 및 개인 정보를 적용하기가 어렵습니다. 클라이언트와 확인자 서비스 간의 통신을 보호하는 것도 중요합니다. PNRP(피어 이름 확인 프로토콜)에서 보안 이름을 사용하여 스푸핑 및 기타 일반적인 공격을 방지합니다. 사용자 지정 확인자 서비스를 보호하려면 클라이언트가 확인자 서비스와 연결하는 데 사용하는 연결에 메시지 및 전송 기반 보안을 활성화하십시오.

가능한 가장 강력한 보안 모델 사용

예를 들어 메시의 각 멤버를 개별적으로 식별해야 하는 경우 인증서 기반 인증 모델을 사용합니다. 가능하지 않은 경우 현재 권장 사항에 따라 암호 기반 인증을 사용하여 보안을 유지합니다. 여기에는 신뢰할 수 있는 당사자와만 암호를 공유하고, 보안 매체를 사용하여 암호를 전송하고, 암호를 자주 변경하고, 암호가 강력한지 확인하는 것이 포함됩니다(8자 이상, 두 경우, 숫자 및 특수 문자에서 하나 이상의 문자 포함).

Self-Signed 인증서를 수락하지 않습니다.

주체 이름에 따라 인증서 자격 증명을 수락하지 않습니다. 누구나 인증서를 만들 수 있으며, 누구나 유효성을 검사하는 이름을 선택할 수 있습니다. 스푸핑 가능성을 방지하려면 발급 기관 자격 증명(신뢰할 수 있는 발급자 또는 루트 인증 기관)에 따라 인증서의 유효성을 검사합니다.

메시지 인증 사용

메시지 인증을 사용하여 메시지가 신뢰할 수 있는 원본에서 시작되었으며 전송 중에 아무도 메시지를 변조하지 않았는지 확인합니다. 메시지 인증이 없으면 악의적인 클라이언트가 메시의 메시지를 스푸핑하거나 변조하는 것이 쉽습니다.

피어 채널 코드 예제

피어 채널 시나리오

참고하십시오