徹底搞清楚SSL/TLS

1 TLS/SSL的前世今生

SSL(Secure Sockets Layer)最初由Netscape定義, 分別有SSLv2和SSLv3兩個(gè)版本(SSLv1未曾對(duì)外發(fā)布); 在SSLv3之后SSL重命名為TLS。

TLS(Transport Layer Security)版本從TLSv1.0開(kāi)始, TLSv1.0是在SSLv3的基礎(chǔ)上升級(jí)而來(lái)。

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

多年以來(lái)已棄用的SSL協(xié)議也暴露出了一些高危漏洞(例如: POODLE, DROWN); 因此建議服務(wù)器禁用SSL3.0及SSL2.0, 只啟用TLS協(xié)議。

2 證書(shū)如何工作

SSL/TLS使用證書(shū)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密傳輸以及身份認(rèn)證。

3 TLS握手過(guò)程

TLS握手過(guò)程

3.1 導(dǎo)致握手失敗的一些原因

  • 兩邊協(xié)議版本不兼容
  • 兩邊加密算法無(wú)匹配項(xiàng)
    更多關(guān)于如何優(yōu)雅處理HTTPS中的證書(shū)問(wèn)題可參考這里

附錄

[1] RFC6176 - Prohibiting Secure Sockets Layer (SSL) Version 2.0
https://tools.ietf.org/html/rfc6176
[2] RFC7568 - Deprecating Secure Sockets Layer Version 3.0
https://tools.ietf.org/html/rfc7568
[3] RFC2246 - The TLS Protocol Version 1.0
https://tools.ietf.org/html/rfc2246
[4] RFC4346 - The Transport Layer Security (TLS) Protocol Version 1.1
https://tools.ietf.org/html/rfc4346
[5] RFC5246 - The Transport Layer Security (TLS) Protocol Version 1.2
https://tools.ietf.org/html/rfc5246
[6] RFC2246 - The TLS Protocol Version 1.0
https://tools.ietf.org/html/rfc2246
[7] RFC4346 - The Transport Layer Security (TLS) Protocol Version 1.1
https://tools.ietf.org/html/rfc4346
[8] RFC5246 - The Transport Layer Security (TLS) Protocol Version 1.2
https://tools.ietf.org/html/rfc5246
[9] The Transport Layer Security (TLS) Protocol Version 1.3
https://tools.ietf.org/html/draft-ietf-tls-tls13-13
[10] SSL and TLS Protocols
https://wiki.openssl.org/index.php/SSL_and_TLS_Protocols

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容