it-swarm-vi.com

Làm cách nào để xác định cường độ mã hóa của kết nối SSL

Nếu tôi đã kết nối với một url https, làm cách nào tôi có thể xác định cường độ mật mã của kết nối? Hiểu biết của tôi là sau khi bắt tay khóa công khai không đối xứng, thông tin được mã hóa bằng khóa đối xứng với cường độ nhất định nhưng dường như tôi không thể tìm thấy số đó (128-bit, v.v.).

Xin vui lòng cho tôi biết nếu tôi đang hiểu nhầm một cái gì đó với quá trình quá.

Chỉnh sửa: Lý do tôi hỏi là tôi có mẫu từ chối trách nhiệm bảo mật có chứa một thống kê Trang web này sử dụng mã hóa XX-bit và tôi muốn điền vào đó với số chính xác.

27
Flash

Mã hóa đối số SSL là kết quả của một cuộc đàm phán giữa máy khách và máy chủ. Có thể hạn chế nó từ phía máy chủ bằng cách sử dụng các tệp cấu hình. Ví dụ: Cấu hình SSL của Apache bao gồm một

SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

Điều đó có thể được điều chỉnh để chỉ chấp nhận các mã hóa mạnh nhất, ví dụ bạn có thể chỉ muốn yêu cầu:

SSLProtocol all -SSLv3 -SSLv2
SSLCipherSuite HIGH:MEDIUM

Các biến khác có thể được sử dụng để làm nhiều việc hơn như xác thực ứng dụng khách hoặc yêu cầu mật mã cho mỗi thư mục.

Bạn cũng có thể thao tác đàm phán từ phía khách hàng. Ví dụ, vui lòng tham khảo liên kết này đó là nói một chút về điều chỉnh cài đặt SSL của Firefox. Tôi giả sử các trình duyệt khác cũng có cách để làm điều này.

Có vẻ như trang này nói rằng:

Máy chủ quyết định danh sách các thuật toán mã hóa và nén do khách hàng gửi để tiếp tục hay hủy phiên. Phải có ít nhất một trận đấu trong cả hai danh sách, nếu không phiên sẽ thất bại. Sự kết hợp mật mã chiếm vị trí cao nhất trong danh sách của khách hàng sẽ được sử dụng để liên lạc trong tương lai.

Tôi đang tìm giao thức chính thức.

18
M'vy

SSL Labs có công cụ Kiểm tra máy chủ SSL trên trang web của họ sẽ kiểm tra trang web hỗ trợ SSL và cung cấp thông tin có giá trị về bảo mật của nó (chẳng hạn như độ dài khóa), bao gồm các lỗ hổng đã biết cụ thể về cấu hình.

13
lew

Hmm có một số công cụ mà bạn có thể sử dụng. Trên hệ thống Linux:

Bắt đầu một kết nối SSL duy nhất đến trang web thông qua trình duyệt, v.v ....

Nhập lệnh:

ssldump -i eth0 -p 80

Điều này sẽ làm sáng tỏ việc bắt tay SSL với máy chủ web (bằng cách loại bỏ lưu lượng SSL trên giao diện cụ thể). Các bãi chứa cho thấy bộ mật mã được sử dụng.

Hãy tìm cái này: cryptSuite TLS_RSA_WITH_RC4_128_SHA

Bạn có thể cần phải thay thế eth0 với tên của giao diện ethernet mặc định của bạn.

10
user3645

SSL bao gồm một tính năng được gọi là "đàm phán ciphersuite". Máy khách trình bày một danh sách các mật mã mà nó sẵn sàng sử dụng và máy chủ chọn mục ưa thích từ danh sách đó. Mặc dù bạn có thể kiểm tra trang web của mình bằng bản sao của một số trình duyệt, nhưng người khác có thể đang sử dụng một trình duyệt khác có cấu hình khác và trang web của bạn có thể sử dụng một ciphersuite yếu hơn cho người đó.

Bạn nên kiểm tra tài liệu cho máy chủ web của mình để hiểu cách định cấu hình máy chủ web của bạn để chỉ sử dụng các mật mã đáp ứng nhu cầu của bạn.

6
yfeldblum

Nếu bạn đang sử dụng Chrome và có thể cả Firefox, bạn có thể nhấp vào công cụ ở bên trái https: // xxx trong thanh URL và kiểm tra nó. Nó sẽ cho bạn biết bộ mật mã nào đã được chọn (như RC4 hoặc AES) và kích thước của khóa được sử dụng.

Hiện tại tôi đang sử dụng Safari (MacBook Air mới) và tôi không thấy ngay cách làm điều này. Nhấp vào biểu tượng khóa ở phía trên bên phải chỉ hiển thị cho tôi chứng chỉ chứ không hiển thị cường độ của kết nối hiện tại.

Một cách khác để làm điều này là với một trình thám thính gói - chính điều SSL được cho là để bảo vệ chống lại. Một vài gói đầu tiên, nơi chúng đàm phán thuật toán mã hóa và độ mạnh, không được mã hóa. Bạn có thể thấy từ họ sức mạnh nào họ đã chọn cho một kết nối.

3
Robert David Graham

Tôi chỉ muốn thêm vào các câu trả lời ở trên rằng cách duy nhất để có được kết quả bạn cần là để máy chủ không đàm phán hoặc làm mà chỉ sử dụng một số mật mã có cùng độ dài.

Ví dụ: trong Apache, bạn có thể thêm

SSLRequire %{SSL_CIPHER_USEKEYSIZE} = 256

chỉ chấp nhận kích thước 256 khóa.

Nhưng hãy cẩn thận, vì điều này có thể sẽ dẫn đến việc khách hàng không thể kết nối nếu họ không cung cấp bộ mật mã được máy chủ cho phép. Nếu bạn đi xuống con đường này, bạn nên theo dõi các lỗi đàm phán ssl tại máy chủ một thời gian để ước tính.

2
john

Khách hàng:

Đối với Firefox có một tiện ích mở rộng: https://addons.mozilla.org/en-US/firefox/addon/codesfox/

Nhấp chuột phải và chọn "Xem thông tin trang" cũng hoạt động.

Máy chủ:

xem Làm cách nào tôi có thể xác định cường độ mã hóa của kết nối SSL

2
Tie-fighter

Trên IE-8 sau khi bạn duyệt đến một trang https, bạn có thể chọn Tệp-> Thuộc tính và nó sẽ hiển thị loại mã hóa đang được sử dụng. Đối với Firefow, nhấp vào biểu tượng khóa ở bên trái của URL và chọn Thêm thông tin.

0
user76905

Để thêm vào câu trả lời @ Robert-David-Graham:

Trong Chrome khi bạn nhấp vào biểu tượng khóa, tab Công cụ dành cho nhà phát triển> Bảo mật xuất hiện. Làm mới trang để nhận thông tin bảo mật cho trang Origin (s). Sau đó, sử dụng điều hướng bên trái để chuyển từ Tổng quan về Nguồn gốc chính (hoặc bất kỳ Nguồn gốc nào khác). Ở đó bạn sẽ thấy Giao thức kết nối, Trao đổi khóa và Bộ mật mã.

Sample LinkedIn home page security info

0
JohnC

Ciphersuite được chọn bởi máy khách và máy chủ.

Máy khách sẽ gửi một danh sách các mật mã có thể chấp nhận đến máy chủ được sắp xếp theo sở thích. Sau đó, máy chủ chọn một và thông báo cho khách hàng. Máy chủ được cho là tôn trọng các tùy chọn của khách hàng nhưng thực tế có thể không làm như vậy (Trong Apache, cài đặt "SSLHonorCodesOrder" kiểm soát điều này).

Hầu hết các trình duyệt sẽ cung cấp một cách để xem ciphersuite nào đang được sử dụng, ví dụ như trong firefox bạn nhấp vào biểu tượng bên cạnh thanh địa chỉ. Sau đó nhấp vào mũi tên sang một bên, sau đó nhấp vào thêm thông tin. Ví dụ từ google tôi nhận được.

TLS_ECDHE_RSA_WITH_AES128_GCM_SHA256

Có nhiều thông tin khác nhau trong chuỗi đó (google nó nếu bạn muốn giải thích đầy đủ) nhưng bit quan trọng cho câu hỏi này là "AES128-GCM". Điều này cho bạn biết rằng thuật toán mã hóa là AES 128 (mã hóa 128 bit) trong chế độ GCM.

Lý do tôi hỏi là tôi có một mẫu từ chối trách nhiệm bảo mật có chứa một thống kê Trang web này sử dụng mã hóa XX-bit và tôi muốn điền vào đó với số chính xác.

Điều nguy hiểm với những gì bạn đề xuất là thuật toán mã hóa được chọn sẽ phụ thuộc vào máy khách. Ví dụ: thuật toán hấp thụ kém nhất được hỗ trợ bởi ngăn xếp SSL/TLS trong windows XP (được IE sử dụng, trong số những thứ khác) là 3DES được coi là có mức bảo mật hiệu quả 112 bit.

0
Peter Green