完全搞清楚SSL/TLS

1 TLS/SSL的前世此生

SSL(Secure Sockets Layer)最初由Netscape定義, 分別有SSLv2和SSLv3兩個版本(SSLv1不曾對外發布); 在SSLv3以後SSL重命名爲TLS。php

TLS(Transport Layer Security)版本從TLSv1.0開始, TLSv1.0是在SSLv3的基礎上升級而來。html

協議 時間 建議 說明
SSLv1 / / 實際從未公開發布。
SSLv2 1995 棄用 IETF已於2011年棄用。
SSLv3 1996 棄用 IETF已於2015年棄用。
TLSv1.0 1999 兼容 -
TLSv1.1 2006 兼容 -
TLSv1.2 2008 主推 目前最新可用版本
TLSv1.3 / / 2016開始草案制定

多年以來已棄用的SSL協議也暴露出了一些高危漏洞(例如: POODLE, DROWN); 所以建議服務器禁用SSL3.0及SSL2.0, 只啓用TLS協議。算法

2 證書如何工做

SSL/TLS使用證書來實現對數據的加密傳輸以及身份認證。segmentfault

3 TLS握手過程

TLS握手過程

3.1 致使握手失敗的一些緣由

  • 兩邊協議版本不兼容
  • 兩邊加密算法無匹配項

更多關於如何優雅處理HTTPS中的證書問題可參考這裏服務器

附錄

[1] RFC6176 - Prohibiting Secure Sockets Layer (SSL) Version 2.0
https://tools.ietf.org/html/r...
[2] RFC7568 - Deprecating Secure Sockets Layer Version 3.0
https://tools.ietf.org/html/r...
[3] RFC2246 - The TLS Protocol Version 1.0
https://tools.ietf.org/html/r...
[4] RFC4346 - The Transport Layer Security (TLS) Protocol Version 1.1
https://tools.ietf.org/html/r...
[5] RFC5246 - The Transport Layer Security (TLS) Protocol Version 1.2
https://tools.ietf.org/html/r...
[6] RFC2246 - The TLS Protocol Version 1.0
https://tools.ietf.org/html/r...
[7] RFC4346 - The Transport Layer Security (TLS) Protocol Version 1.1
https://tools.ietf.org/html/r...
[8] RFC5246 - The Transport Layer Security (TLS) Protocol Version 1.2
https://tools.ietf.org/html/r...
[9] The Transport Layer Security (TLS) Protocol Version 1.3
https://tools.ietf.org/html/d...
[10] SSL and TLS Protocols
https://wiki.openssl.org/inde...加密

相關文章
相關標籤/搜索