2012-07-03 4 views
1

저는 지금 조금은 찾고 있었지만 대답을 찾을 수 없습니다. WCF Security Best Practices 가능한 경우 Windows 인증을 사용합니다. 서명이 필요한 경우 부인 방지 및 데이터 무결성을 제공 할 수 있습니까?Windows 인증은 부인 방지를 제공합니까?

(가장 중요한 질문은 부인 방지입니다 .TLS를 사용 중이지만 TLS 또는 MLS를 사용하여 Windows Auth를 통해 부인 방지를 제공 할 수 있는지 여부를 결정하려고합니다 .TLS는 hop-to-hop 데이터를 제공합니다. 무결성.)

+0

실마리가 있습니다. 인증은 부인 방지 및 데이터 무결성 (상호간 직교)에서 직각입니다. – symcbean

+0

@syncbean - ** 서명이 필요한 경우 ** 여기에 모두 들어갈 것입니다. – zimdanen

답변

0

예, 첫 번째 질문입니다. 이 옵션을 선택합니다 :

Chapter 4: WCF Security Fundamentals

Windows 인증은 데이터 서명을 제공하지 않습니다.

+0

오늘이 페이지에있었습니다. Windows Auth가 부인 방지를 제공한다고 말하는 곳은 어디입니까? 또한 메시지에 서명하지 않으면 어떻게 할 수 있습니까? – zimdanen

+0

machinename, user 및 password의 해시 인 토큰을 사용합니다.이 해시는 도메인 컨트롤러 인 세 번째 부분 서버에 의해 신뢰됩니다. 콘텐츠의 전송 수정을 방지하려면 SSL을 사용해야합니다. 콘텐츠의 전송 수정시 토큰이 무효화 될지 확실하지 않습니다. – LawfulHacker

+0

이전에 그 페이지에 있었고, 이것이 부인 방지를 제공한다는 내용이 나와 있지 않습니다. 메시지가 서명되지 않은 경우 메시지에 부인 방지를 어떻게 제공 할 수 있습니까? – zimdanen

0

Windows 인증은 모든 Microsoft 시스템에 내장되어 있으므로 모범 사례 가이드에서 더 선호되고 권장됩니다. 인프라 설정이 많이 필요한 인증서는 마음에 들지 않습니다. 컴퓨터가 Active Directory 도메인에 가입되어 있으면 제대로 작동합니다.

Windows 인증하는 인증 방법, 또는NTLM Kerberos를 사용하여 협상 SPNEGO를 사용한다. 가능한 경우 클라이언트와 서버는 Kerberos을 먼저 선택하려고합니다. 그렇지 않으면 NTLM이 사용됩니다.

는 메시지 sigend 할 수 있는지의 여부를 질문,NTLM기호암호화 메시지에 사용할 수있는 두 Kerberos를 대답합니다. WCF 프로그래머로서, 그것은 당신에게 투명해야합니다. ProtectedLevel을 EncryptAndSign으로 설정하면됩니다. 나를 믿지 않으면 Windows 인증을 설정 한 후 네트워크 추적을 볼 수 있습니다. 메시지가 암호화되어 있어야합니다.

Windows 인증을 사용할 때 WCF는 SSPI를 호출하여 인증 및 메시지 암호화를 수행합니다. 나는 SSPI의 정보를 다루지 않을 것이다. Here은 메시지를 암호화하는 NTLM의 SSPI 호출이고 here은 메시지 암호화를위한 Kerberos의 SSPI 호출입니다. Windbg에서 중단 점을 설정하여이를 증명할 수 있습니다. 명시 적으로 위의 링크에 명시된 아니에요 있지만

this link 분명 위에서 언급 한 EncryptMessages 방법은 데이터 무결성 (서명) 및 개인 정보 보호 (암호화)을 제공 할 수 있다고 주장한다.

Windows 인증 지원 non-repudiation이 실제로 더 큰 질문인지 여부에 대한 원래 질문으로 돌아 가기. non-repudiation에는 데이터 서명이 필요하지만 충분하지 않습니다. 또한 WCF는 작업 또는 트랜잭션을 기록하는 감사 기능을 제공합니다. 이는 사용자가 작업 수행 또는 트랜잭션 시작을 거부 할 수 없도록 보장하기위한 것입니다. 따라서 non-repudiation을 지원하려면 SuppressAuditFailure을 false로 설정하여 감사가 항상 올바르게 작동하는지 확인해야합니다.

+0

GSS_Unwrap 호출에 대한 가시성이 충분하여 트랜잭션에서 사용자를 끌어낼 수 있습니까? 암호화는 TLS에서 처리되어야합니다. 우리는 MLS에서 서비스가 가능하도록 서명을 원할 것입니다. – zimdanen

관련 문제