原文地址:SSL vs. TLS - What's the Difference?
網際網路安全有很多讓人費解的首字母縮寫單詞,列如:SSL,TLS,ECC,SHA,而且還在不斷增加。這些縮寫字母讓我們很難理解其含義。 也許我們被問到的最多的是 - SSL(安全套接層)和TLS(安全傳輸層)之間的區別是什麼?你想加強網站安全(或者其他型別通訊)。但是你確定你需要SSL ?TLS ?還是SSL和TLS ? 讓我們弄明白它。
SSL和TLS簡史
SSL和TLS是一種能夠在伺服器,machines和通過網路執行的應用程式(列如,客戶端連線到web伺服器)之間提供身份認證和資料加密的加密協議。SSL是TLS的前世。多年來,新版本的釋出用來解決漏洞,提供更強大支援,更安全的密碼套件和演算法。
SSL最初是由Netscape開發的,早在1995年以SSL 2.0的方式釋出(1.0從未對公眾釋出)。在一些漏洞被發現之後,版本2.0在1996年很快被3.0所取代。注意:版本2.0和3.0有時會寫成SSLv2和SSLv3。
TLS以SSL 3.0為基礎於1999年作為SSL的新版本推出。
TLS協議和SSL 3.0之間的差異並不明顯,但是他們都非常重要且TLS 1.0 和 SSL 3.0不具有互操作性
你應該使用SSL還是TLS?
SSL2.0和SSL3.0已經被IEFT組織廢棄(分別在2011年,2015年)多年來,在被廢棄的SSL協議中一直存在漏洞並被發現 (e.g. POODLE, DROWN)。大多數現代瀏覽器遇到使用廢棄協議的web服務時,會降低使用者體驗(紅線穿過掛鎖標誌或者https表示警告)來表現。因為這些原因,你應該在服務端禁止使用SSL協議,僅僅保留TLS協議開啟。
證書並不是協議
在開始擔心需要用TLS證書來替換SSL證書之前,認識到證書並不依賴協議這很重要。也就是說,你不需要使用TLS證書和SSL證書。然後很多產商傾向於使用短語“SSL/TLS證書”。也許“用於SSL和TLS的證書”的說法更加準確,因為是你服務的配置而不是證書決定了你使用的協議。
你可能會繼續看到被稱作SSL證書的證書,因為現在人們更加熟悉這個術語。但是我們開始看到術語TLS在行業的使用不斷增加,在更多人熟悉TLS之前,SSL / TLS是一種常見的折中方案。
SSL 和 TLS 是否有任何不同的加密?
事實上,這個問題的答案是肯定的。但是對於歷史版本SSL 2 和 SSL 3或 TLS 1 和1.1,1.2,1.3你也可以說同樣的話。SSL和TLS都是關於同一協議的,但是由於版本的不同,SSL 2,3不具有互操作性,SSL 3和TLS 1也不具有互操作性。你可以認為Transport Layer Security(TLS)僅僅是SSL v4的新名稱。本質上,我們談論的是相同的協議。
每當協議最新的版本釋出時都會進行改進,新增、廢棄一些功能。SSL 1從未對公眾釋出過,SSL 2 對外發布過,但是因為其設計帶有重要缺陷,SSL 3 在 SSL 2上進行了重寫,TLS 1是SSL 3的改進版本。自從TLS1.0之後很少有重大的改變,但是每次改變都很重要。
值得注意的是,SSL和TLS簡單指發生在客戶端和服務端的握手過程,握手本身實際不進行任何加密,它只是同意將要使用的共享祕鑰和加密方式。
更多資訊可以訪問 new features released in TLS 1.3, visit the Cloudflare blog.
禁用SSL 2.0 和3.0
如果你不確定你的伺服器是否任然支援SSL 協議,你可以通過SSL Server Test.來檢查
有關 如何在流行伺服器型別上禁用SSL 2.0 和 3.0 的指導,包括Apache,NGINX和Tomcat,請閱讀我們相關支援文章。
所以SSL和TLS之間到底有什麼不同?在實際對話中,沒有太多不同並且很多人繼續使用術語SSL。就伺服器配置角度而言,在漏洞,過時的密碼套件和瀏覽器安全警告方面就會存在不同。當涉及到你的服務時,你應該僅僅開啟TLS協議。