2008-09-18 1 views
5

SslStream은 피어 SSL 스택을 사용하여 암호 유형, 키 길이, 해시 알고리즘 등을 협상해야합니다. 내 코드에서이 코드를 사용할 때 협상은 항상 기본값으로 RC4 & MD5가 기본값 인 것으로 나타났습니다. 추가 보안을 위해 3DES 또는 AES를 사용하고 싶습니다..NET의 SslStream은 항상 최소한의 보안 암호로 협상합니다. 이걸 어떻게 바꿀 수 있니?

웹을 둘러 보면서 나는이 문제와 해결책에 대한 몇 가지 참조만을 찾았습니다. 한 포스터는 두 스택 간의 가장 낮은 공통 분모가 안전하고 더 적은 CPU 리소스를 사용하는 이점이 더 많기 때문에 실제로 이것이 합리적이라고 주장합니다. 이것이 기술적으로 정확할 수도 있지만, 복잡성과 비용 간의 구체적인 균형은 다른 곳에서 발생합니다 (긴 키가있는 AES를 사용하는 것을 선호합니다).

누구든지 도와 주시면 감사하겠습니다.

답변

1

간단한 레지스트리 변경을 통해 선택할 수있는 프로토콜을 선택할 수 있습니다. 우리는 예를 들어 RC4를 선택하는 기능을 제거합니다. 당신은 연결의 한쪽 끝 (예 : 서버) 클라이언트와 서버를 찾기 위해 협상을하기 때문에 일반적으로 지원

http://msdn.microsoft.com/en-us/library/ms925716.aspx

베스트 내가 XP SP3를 사용하고 제임스

+0

감사합니다. 이 링크는 Windows CE 문서로 연결됩니다. 동일한 레지스트리 키가 Windows 서버 (예 : Windows 2008)에도 적용되는지 여부를 알고 있습니까? – Shachar

+0

Sorry, http://support.microsoft.com/kb/245030/ –

0

두 목록에있는 가장 안전한 알고리즘 집합을 사용해야합니다. 나는 SslStream이 SChannel SSPI를 감싸고 있기 때문에 그것이 어렵지 않다는 것을 깨닫고, 그것이 깨진다면 인터넷 익스플로러, IIS 및 Windows의 다른 모든 것들도 망가질 것입니다.

오래된 버전의 SChannel.dll/Secur32.dll이있을 수 있습니다. 어떤 OS 및 Internet Explorer 버전을 설치하셨습니까?

disable protocols in SCHANNEL 일 수 있습니다. 이 작업이 완료되지 않았는지 확인할 수 있습니까?

+0

소원 알고리즘에서 변경해야 및 모든 업데이 트와 IE7. 레지스트리는 모든 기능을 사용하도록 구성되었습니다. – Shachar

0

모든 업데이트와 함께 XP SP3 및 IE7을 사용하고 있습니다. 레지스트리는 모든 기능을 사용하도록 구성되었습니다.

0

자바에서는 필요에 따라 다양한 알고리즘/암호를 주문할 수 있습니다. .NET에 유사한 API가있을 수 있습니다 ...

3

SSLStream은 운영 체제와 함께 제공되는 Schannel을 사용합니다.

윈도우 비스타 :

RSA 함께 AES_128 CBC SHA
RSA 함께 AES_256 CBC SHA
스위트 룸은 그들에 대한 Microsoft 샤넬 제공자에 의해 선택되는 기본 순서로 나열됩니다 RSA 함께 RC4_128 SHA

...

윈도우 XP : RC4 128 SHA

RSA 함께 3DES CBC SHA

함께 RC4 128 MD5
RSA 함께

RSA ....

또한 스냅인을 Microsoft 관리 콘솔에서 그룹 정책 개체를 사용하여 SSL 암호 스위트 주문 그룹 정책 설정을 구성하여 encode 방식의 목록을 수정할 수 있습니다

(윈도우 비스타)

그러나 문제 WindowsXP 에는 SSLStream에 사용할 수있는 암호 목록에 AES이 포함되어 있지 않습니다. 그러나 Windows XP에서 HKLM \ System \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy 3DES 암호를 얻으려면 레지스트리 설정을 변경할 수 있습니다.

관련 문제