Theo wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Có vẻ như TLS là một sự thay thế cho SSL, nhưng hầu hết các trang web vẫn đang sử dụng SSL?
Theo wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Có vẻ như TLS là một sự thay thế cho SSL, nhưng hầu hết các trang web vẫn đang sử dụng SSL?
Câu trả lời:
Tóm lại, TLSv1.0 ít nhiều là SSLv3.1. Bạn có thể tìm thêm chi tiết trong câu hỏi này trên ServerFault .
Hầu hết các trang web thực sự hỗ trợ ít nhất cả SSLv3 và TLSv1.0, như nghiên cứu này chỉ ra (bài báo của Lee, Malkin và Nahum: Sức mạnh mật mã của máy chủ SSL / TLS: Thực tiễn hiện tại và gần đây , IMC 2007) (liên kết thu được từ danh sách IETF TLS ). Hơn 98% hỗ trợ TLSv1 +.
Tôi nghĩ lý do tại sao SSLv3 vẫn được sử dụng là để hỗ trợ kế thừa (mặc dù hầu hết các trình duyệt hỗ trợ TLSv1 và một số TLSv1.1 hoặc thậm chí TLSv1.2 ngày nay). Cho đến cách đây không lâu, một số bản phân phối vẫn có SSLv2 (được coi là không an toàn) được bật theo mặc định cùng với những bản khác.
(Bạn cũng có thể thấy câu hỏi này thú vị, mặc dù đó là về kiểu sử dụng của TLS chứ không phải SSL so với TLS (trên thực tế, bạn có thể có cùng kiểu với SSL). Dù sao thì điều này cũng không áp dụng cho HTTPS vì HTTPS sử dụng SSL / TLS từ đầu của kết nối.)
Từ http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/
Vào đầu những năm 90, vào buổi bình minh của World Wide Web, một số kỹ sư tại Netscape đã phát triển một giao thức để thực hiện các yêu cầu HTTP an toàn và thứ mà họ nghĩ ra được gọi là SSL. Với lượng kiến thức tương đối khan hiếm về các giao thức an toàn vào thời điểm đó, cũng như áp lực dữ dội mà mọi người tại Netscape đang làm việc, những nỗ lực của họ chỉ có thể được coi là vô cùng anh hùng. Thật ngạc nhiên là SSL đã tồn tại lâu như vậy, trái ngược với một số giao thức khác từ cùng loại cổ điển. Mặc dù vậy, chúng tôi chắc chắn đã học được rất nhiều điều kể từ đó, nhưng vấn đề về giao thức và API là có rất ít trường hợp quay trở lại.
Có hai bản cập nhật lớn cho giao thức SSL, SSL 2 (1995) và SSL 3 (1996). Chúng được thực hiện cẩn thận để tương thích ngược, nhằm dễ dàng áp dụng. Tuy nhiên, khả năng tương thích ngược là một hạn chế đối với một giao thức bảo mật mà nó có thể có nghĩa là dễ bị ngược.
Vì vậy, nó đã được quyết định phá vỡ tính tương thích ngược và giao thức mới có tên là TLS 1.0 (1999). (Nhìn lại, có thể rõ ràng hơn nếu đặt tên nó là TLS 4)
Sự khác biệt giữa giao thức này và SSL 3.0 không đáng kể, nhưng chúng đủ đáng kể để TLS 1.0 và SSL 3.0 không tương tác với nhau.
TLS đã được sửa đổi hai lần, TLS 1.1 (2006) và TLS 1.2 (2008).
Kể từ năm 2015, tất cả các phiên bản SSL đều bị hỏng và không an toàn (cuộc tấn công POODLE) và các trình duyệt đang xóa hỗ trợ. TLS 1.0 rất phổ biến, nhưng chỉ có 60% trang web hỗ trợ TLS 1.1 và 1.2 , một tình trạng rất tiếc.
Nếu bạn quan tâm đến nội dung này, tôi giới thiệu bài nói chuyện thông minh và hài hước của Moxie Marlinspike tại https://www.youtube.com/watch?v=Z7Wl2FW2TcA
TLS duy trì khả năng tương thích ngược với SSL và do đó giao thức truyền thông gần như giống hệt nhau trong bất kỳ phiên bản nào được đề cập ở đây. Hai điểm khác biệt quan trọng giữa SSL v.3, TLS 1.0 và TLS 1.2, là hàm giả ngẫu nhiên (PRF) và hàm băm HMAC (SHA, MD5, bắt tay), được sử dụng để tạo một khối các khóa đối xứng cho Mã hóa dữ liệu ứng dụng (khóa máy chủ + khóa máy khách + IV). Sự khác biệt chính giữa TLS 1.1 và TLS 1.2 là 1.2 yêu cầu sử dụng IV "rõ ràng" để bảo vệ chống lại các cuộc tấn công CBC, mặc dù không có thay đổi nào đối với PRF hoặc giao thức cần thiết cho việc này. TLS 1.2 PRF dành riêng cho bộ mật mã, có nghĩa là PRF có thể được thương lượng trong quá trình bắt tay. SSL ban đầu được phát triển bởi Netscape Communications (lịch sử) và sau đó được duy trì bởi Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF, hiện tại). TLS được duy trì bởi Nhóm công tác mạng. Dưới đây là sự khác biệt giữa các hàm PRF HMAC trong TLS:
TLS 1.0 và 1.1
PRF (bí, nhãn, giống) = P_MD5 (S1, nhãn + giống) XOR P_SHA-1 (S2, nhãn + giống);
TLS 1.2
PRF (bí mật, nhãn, hạt giống) = P_hash (bí mật, nhãn + hạt giống)
"Nếu nó không bị hỏng, đừng chạm vào nó". SSL3 hoạt động tốt trong hầu hết các tình huống (có một lỗ hổng cơ bản được tìm thấy trong giao thức SSL / TLS vào tháng 10, nhưng đây là một lỗ hổng của các ứng dụng hơn là bản thân procol), vì vậy các nhà phát triển đừng vội nâng cấp mô-đun SSL của họ. TLS mang đến một số tiện ích mở rộng và thuật toán bảo mật hữu ích, nhưng chúng là sự bổ sung hữu ích và không phải là bắt buộc. Vì vậy, TLS trên hầu hết các máy chủ vẫn là một tùy chọn. Nếu cả máy chủ và máy khách hỗ trợ nó, nó sẽ được sử dụng.
Cập nhật: trong 'SSL 3 năm 2016, và thậm chí TLS lên đến 1.2 được phát hiện là dễ bị tấn công bởi các cuộc tấn công khác nhau và nên chuyển sang TLS 1.2. Cũng tồn tại các cuộc tấn công vào việc triển khai TLS 1.2, mặc dù chúng phụ thuộc vào máy chủ. TLS 1.3 hiện đang được phát triển. Và bây giờ TLS 1.2 là bắt buộc.
https://hpbn.co/transport-layer-security-tls/ là một phần giới thiệu hay
Giao thức SSL ban đầu được phát triển tại Netscape để cho phép bảo mật giao dịch thương mại điện tử trên Web, yêu cầu mã hóa để bảo vệ dữ liệu cá nhân của khách hàng, cũng như xác thực và đảm bảo tính toàn vẹn để đảm bảo giao dịch an toàn. Để đạt được điều này, giao thức SSL đã được triển khai ở lớp ứng dụng, trực tiếp trên lớp TCP (Hình 4-1), cho phép các giao thức phía trên nó (HTTP, email, nhắn tin nhanh và nhiều giao thức khác) hoạt động không thay đổi trong khi vẫn cung cấp bảo mật truyền thông khi giao tiếp trên mạng.
Khi SSL được sử dụng đúng cách, người quan sát của bên thứ ba chỉ có thể suy ra các điểm cuối kết nối, loại mã hóa, cũng như tần suất và lượng dữ liệu gần đúng được gửi, nhưng không thể đọc hoặc sửa đổi bất kỳ dữ liệu thực tế nào.
SSL 2.0 là phiên bản đầu tiên được phát hành công khai của giao thức, nhưng nó nhanh chóng bị thay thế bởi SSL 3.0 do một số lỗi bảo mật được phát hiện. Bởi vì giao thức SSL là độc quyền của Netscape, IETF đã hình thành nỗ lực chuẩn hóa giao thức, dẫn đến RFC 2246, được xuất bản vào tháng 1 năm 1999 và được gọi là TLS 1.0. Kể từ đó, IETF đã tiếp tục lặp lại giao thức để giải quyết các lỗi bảo mật, cũng như để mở rộng khả năng của nó: TLS 1.1 (RFC 2246) được xuất bản vào tháng 4 năm 2006, TLS 1.2 (RFC 5246) vào tháng 8 năm 2008 và hiện tại đang tiến hành xác định TLS 1.3.