Đây là một kỹ thuật lặn sâu sau khi câu hỏi tổng quan này được hỏi.
Sự khác biệt về giao thức giữa SSL và TLS là gì?
Có thực sự đủ sự khác biệt để đảm bảo thay đổi tên? (so với việc gọi nó là "SSLv4" hoặc SSLv5 cho các phiên bản TLS mới hơn)
Đây là một kỹ thuật lặn sâu sau khi câu hỏi tổng quan này được hỏi.
Sự khác biệt về giao thức giữa SSL và TLS là gì?
Có thực sự đủ sự khác biệt để đảm bảo thay đổi tên? (so với việc gọi nó là "SSLv4" hoặc SSLv5 cho các phiên bản TLS mới hơn)
Câu trả lời:
SSLv2 và SSLv3 hoàn toàn khác nhau (và cả hai hiện được coi là không an toàn). SSLv3 và TLSv1.0 rất giống nhau, nhưng có một vài điểm khác biệt.
Bạn có thể coi TLSv1.0 là SSLv3.1 (thực tế đó là những gì xảy ra trong các hồ sơ được trao đổi). Việc so sánh TLSv1.0 với TLSv1.1 và TLSv1.2 chỉ đơn giản hơn vì tất cả chúng đều được chỉnh sửa trong IETF và theo cùng một cấu trúc. SSLv3 được chỉnh sửa bởi một tổ chức khác (Netscape), điều này làm cho việc phát hiện sự khác biệt trở nên khó khăn hơn một chút.
Dưới đây là một vài điểm khác biệt, nhưng tôi nghi ngờ tôi có thể liệt kê tất cả:
ClientHello
tin nhắn (tin nhắn đầu tiên được gửi bởi khách hàng, để bắt đầu bắt tay), phiên bản {3,0}
dành cho SSLv3, {3,1}
cho TLSv1.0 và {3,2}
cho TLSv1.1.ClientKeyExchange
khác biệt.Finished
tin nhắn SSL / TLS trong SSLv3. Trong TLSv1, nó phải chờ Finished
tin nhắn của máy chủ .SSL_*
sang TLS_*
, giữ cùng một số id).Tôi rất muốn giới thiệu cuốn sách của Eric Rescorla - SSL và TLS: Thiết kế và xây dựng hệ thống bảo mật , Addison-Wesley, 2001 ISBN 0-201-61598-3 , nếu bạn thực sự muốn biết thêm chi tiết. Tôi đã tìm hiểu về một số điểm được đề cập ở trên từ cuốn sách này. Đôi khi tác giả đề cập đến sự khác biệt giữa SSLv3 và TLS (chỉ v1.0 tại thời điểm cuốn sách được viết) khi giải thích một số thông điệp SSL / TLS, nhưng bạn cần giải thích nền về những thông điệp này để có cơ hội hiểu ( và nó không thích hợp để sao chép / dán từ cuốn sách này ở đây).
ClientHello
bản ghi ' ' mở rộng , trong khi khách hàng chỉ sử dụng SSL3 sẽ chỉ gửi bản gốc ' ClientHello
'.
draft302.txt
và "Vì lợi ích của khả năng tương thích về phía trước ... ", hãy so sánh với các phần 7.4.1.2 trong thông số kỹ thuật của TLS). Để đối phó với các ngăn xếp không hỗ trợ điều này, cũng có cách giải quyết như bộ mật mã giả SCSV trong phần mở rộng đàm phán lại.
Tôi sẽ chỉ lặp lại các câu trả lời khác nhưng có lẽ với một sự nhấn mạnh hơi khác.
Có một giao thức ổ cắm an toàn được Netscape "sở hữu", được gọi là SSL phiên bản 2. Một phiên bản mới với cấu trúc bản ghi khác và các cải tiến bảo mật cũng được Netscape "sở hữu" và được gọi là SSL phiên bản 3. Bên trong giao thức trong một số giao thức địa điểm là một trường số phiên bản nhị phân. Đối với SSL phiên bản 3, trường này được đặt thành 0x03 0x00, tức là phiên bản 3.0. Sau đó, IETF quyết định tạo ra tiêu chuẩn của riêng mình. Có thể do có một số sự không chắc chắn về sở hữu trí tuệ về SSL, bao gồm cả "SSL" có phải là nhãn hiệu Netscape hay không, khi IETF phát hành phiên bản tiếp theo của giao thức này, họ đặt tên riêng là: Giao thức bảo mật lớp vận chuyển hoặc phiên bản TLS 1.0. Định dạng bản ghi và cấu trúc tổng thể giống hệt và phù hợp với SSL v3. Số phiên bản nhị phân được sửa đổi thành 0x03 0x01 và như những người khác đã lưu ý rằng có một số thay đổi nhỏ về tiền điện tử. Kể từ đó đã có TLS phiên bản 1.1 và 1.2, trong đó các số giao thức nội bộ là 0x03 0x02 và 0x03 0x03.
Bỏ qua SSLv2, về cơ bản, đây chỉ là một sự thay đổi tên cùng với việc tinh chỉnh giao thức thông thường xảy ra khi mọi người trở nên thông minh hơn về bảo mật và hiệu suất.
Về cơ bản, nó không có gì ngoài một sự thay đổi tên cho một phiên bản mới hơn của giao thức. Tôi tin rằng lý do chính cho điều đó là để phân biệt nó với tiêu chuẩn cũ, không chính thức chủ yếu được thiết kế bởi Netscape sau khi nó trở thành giao thức theo dõi tiêu chuẩn IETF chính thức.
Như đã nói trong các câu trả lời cho câu hỏi trước đó của bạn, điều này không có nghĩa là SSLv3 và TLSv1.0 tương thích. Trích dẫn từ RFC 2246:
sự khác biệt giữa giao thức này và SSL 3.0 là không đáng kể, nhưng chúng đủ quan trọng để TLS 1.0 và SSL 3.0 không tương tác với nhau.
Tôi đoán nếu bạn thực sự muốn biết sự khác biệt chính xác trong các giao thức, bạn phải đọc các tiêu chuẩn và so sánh chính mình.
Giao thức mã hóa SSL hiện được đặt tên là TLS, dẫn đến hai tên cho cùng một giao thức. Phần mềm hiện tại sẽ tự động đàm phán TLS phiên bản 1 hoặc SSL phiên bản 3. Mặt khác, con người phải quyết định giữa việc sử dụng thuật ngữ SSL dễ nhận biết hơn so với chỉ định TLS chính thức.
SSL là tiền thân của TLS.
TLS và SSL mã hóa các phân đoạn kết nối mạng tại Lớp ứng dụng để đảm bảo vận chuyển từ đầu đến cuối an toàn tại Lớp vận chuyển.
Sự khác biệt: