2008-09-18 23 views
5

SslStream phải thương lượng loại mã hóa, độ dài khóa, thuật toán băm, v.v. với ngăn xếp SSL ngang hàng của nó. Khi sử dụng nó trong mã của tôi, tôi thấy rằng thương lượng luôn mặc định là RC4 & MD5. Tôi muốn sử dụng 3DES hoặc AES để tăng cường bảo mật.SslStream của .NET luôn luôn thương lượng với mật mã ít an toàn nhất mà tôi có. Làm thế nào tôi có thể thay đổi điều này?

Nhìn xung quanh trang web, tôi chỉ tìm thấy một vài tham chiếu đến vấn đề này và không có giải pháp nào; một poster là tuyên bố điều này thực sự có ý nghĩa, vì mẫu số chung thấp nhất giữa hai ngăn xếp là an toàn trong khi có thêm lợi ích là nhanh hơn/sử dụng ít tài nguyên CPU hơn. Mặc dù điều này có thể đúng về mặt kỹ thuật, nhưng sự cân bằng đặc biệt giữa sự phức tạp và chi phí của tôi nằm ở nơi khác (tôi thích sử dụng AES với khóa dài hơn).

Nếu có ai có thể giúp tôi đánh giá cao điều đó.

Trả lời

1

Bạn có thể chọn giao thức nào có sẵn để chọn bằng cách thực hiện một số thay đổi đăng ký đơn giản. Chúng tôi loại bỏ khả năng chọn RC4, ví dụ. Bạn chỉ cần thực hiện thay đổi ở một đầu của kết nối (ví dụ máy chủ) vì client và server đàm phán để tìm thường hỗ trợ thuật toán mong

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

nhất James

+0

Cảm ơn. Liên kết đến tài liệu Windows CE. Bạn có biết các khóa đăng ký tương tự cũng áp dụng cho các máy chủ Windows (ví dụ: Windows 2008) không? – Shachar

+0

Xin lỗi, http://support.microsoft.com/kb/245030/ –

0

Cần sử dụng bộ thuật toán an toàn nhất có trong cả hai danh sách. Tôi thấy khó tin rằng nó không phải là, bởi vì SslStream đang gói SSPI SChannel, và nếu nó bị hỏng thì Internet Explorer, IIS và mọi thứ khác trên Windows cũng sẽ bị hỏng.

Có thể bạn đã có phiên bản lỗi thời của SChannel.dll/Secur32.dll. Bạn đã cài đặt phiên bản hệ điều hành và Internet Explorer nào?

Có thể disable protocols in SCHANNEL. Bạn có thể kiểm tra xem điều này chưa được thực hiện?

+0

Tôi đang sử dụng XP SP3 và IE7 với tất cả các bản cập nhật. Cơ quan đăng ký dường như được định cấu hình với mọi thứ được bật. – Shachar

0

Tôi đang sử dụng XP SP3 và IE7 với tất cả các bản cập nhật. Cơ quan đăng ký dường như được định cấu hình với mọi thứ được bật.

0

Trong Java, bạn có thể đặt hàng các thuật toán/mật mã khác nhau tùy theo nhu cầu và sở thích của bạn. Có thể có API tương tự trong .NET ...

3

SSLStream sử dụng Schannel được cung cấp cùng với hệ điều hành. Các dãy phòng được liệt kê theo thứ tự mặc định, trong đó họ được lựa chọn bởi các nhà cung cấp Microsoft Schannel cho:

Windows Vista:

RSA VỚI AES_128 CBC SHA
RSA VỚI AES_256 CBC SHA
RSA VỚI RC4_128 SHA

...

Windows XP:

RSA RC4 VỚI 128 MD5
RSA RC4 VỚI 128 SHA

RSA VỚI 3DES CBC SHA

....

Bạn cũng có thể chỉnh sửa danh sách các bộ mã hoá bằng cách cấu hình SSL Cipher Suite thứ tự thiết lập chính sách nhóm sử dụng Group Policy Object snap-in trong Microsoft Management Console (Windows Vista)

Nhưng vấn đề là Windows XP không bao gồm AES trong danh sách mật mã có sẵn cho SSLStream. Tuy nhiên, có thể thay đổi cài đặt Đăng ký trong Windows XP: HKLM \ System \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy 1 để nhận 3DES mật mã.

Các vấn đề liên quan