在這一點上,HTTPS 不僅像它的不安全版本 HTTP 一樣廣為人知,它開始變得更加普遍,此外,HTTPS 網址旁邊顯示的綠色鎖頭代表該網站是安全且值得信賴的,而其在您今日所訪問的大多數網站上幾乎被視為是理所當然的。

這一切都歸功於那些長期致力於使用 HTTPS 並使其無所不在的人們的努力。使這一切成為可能的小型電子文檔是每個想要實施 HTTPS 的網站所有者或管理員都必須獲得的公鑰憑證。

先前人們大多稱呼這個憑證為 SSL 憑證,但今日你可能會看到它被稱為 TLS 憑證,而使用它的協議有時被稱為 SSL,有時被稱為 TLS。

那麼到底什麼是 SSL 憑證?TLS 憑證又是什麼? 為什麼兩者之間會混淆?

什麼是憑證?

讓我們先往後退一步,先來談談什麼是加密憑證。如果您曾經使用過密碼,將字母替換為數字,或者為每個字母設定大小寫區別,然後使用密鑰對訊息進行編碼和解碼,那麼您就有關於密碼學的相關經驗。

具體來說,公鑰密碼學使用複雜的數學(我們現在先不多做解釋)在兩方之間創建一個共享密鑰,並只有創建它的兩方才能使用密鑰解碼訊息並在開放的網路上共享送出的訊息。

為了使其運作,共享密鑰本身需要進行加密簽名,並使用公鑰憑證去簽署該密鑰。因此,憑證的功能是確認開始加密交換訊息的機器並沒有在其實際代表的域名或組織方面上撒謊。

這些憑證的頒發方式本質上是分層的。少數的 “憑證頒發機構”(或是您常聽到的 CA)會頒發新憑證。這些憑證頒發機構在頒發憑證時其實就是在為憑證的所有者提供擔保。他們確定憑證請求者是否合法的方法為驗證他們是否有欲請求憑證之域名的控制權。

他們使用三種方法來做到這一點:
  1. 透過 DNS 進行網域控制驗證(又稱為 DCV)
    這是最常見的網域控制驗證形式。CA 會向憑證請求者提供他們需要添加到其 DNS 區域文件中的 DNS 記錄。一旦 CA 驗證記錄添加完成,他們就會頒發憑證。
  2. 透過電子郵件進行網域控制驗證
    CA 會發送向 admin@example.com(這邊的 “example.com” 實際上為正在驗證的域名)發送一封電子郵件,其中包含用於驗證域名的連結。訪問該連結後,CA 將頒發憑證給請求者。
  3. 透過文本進行網域控制驗證
    CA 提供了一個文本文件(使用 .txt 做結尾),憑證請求者需將其上傳到其域名指向的伺服器。然後,一旦他們可以驗證文本文件的存在,CA 就會頒發憑證。

這樣做是在建立所謂的 “信任鏈”,目的是讓網路日常用戶相信他們在使用的 HTTPS 的網站上所輸入的敏感信息是安全的,不會被惡意的第三方攔截。如果沒有這個 “信任鏈”,我們所知道的電子商務和私人線上空間就不可能實現。

當您打開瀏覽器並訪問受 HTTPS 保護的網站時,您的瀏覽器將驗證由您訪問的網站所提供涵蓋查詢之域名的憑證所建立的“信任鏈”。這就是建立 HTTPS 連結的第一步 —— “握手”,即 SSL 或 TLS 連結的開始,在此期間,加密數據可以在網路上的兩個應用程式(例如您的瀏覽器或是網站)之間自由交換。

基本上這就是 SSL 憑證或 TLS 憑證的運作方式。但是要了解 SSL 憑證和 TLS 憑證的區別,我們需要了解一下 SSL 憑證和 TLS 憑證的歷史。

SSL 憑證是如何創建的?

儘管 SSL 憑證的歷史可以追溯到 1980 年代中期,但最初的 SSL 協議是在 Netscape Communications 被開發的。他們將協議稱為安全通訊端層(或是 SSL,Secure Sockets Layer),這個名稱指的是透過網路交換特定訊息的兩種協議。

SSL 的第一個版本 1.0 含有太多安全漏洞而無法發佈,但在 1995 年時,他們發佈了 SSL 2.0 版,並將其與他們的旗艦網路瀏覽器 Netscape Navigator 一起發佈。

瀏覽器大戰

1990 年代出現了現在稱為 “瀏覽器大戰” 的第一場重大戰役。指的是當時不同網路瀏覽器軟體的開發者之間的激烈競爭和爭奪主導地位的情況。在第一輪瀏覽器大戰中,佔據市場主導地位的 Netscape Navigator 受到微軟 Internet Explorer 的挑戰。

SSL 是 Netscape 相對於 Microsoft 的一個關鍵優勢,但它確實存在一些安全漏洞。

不久之後,Microsoft 開發了他們自己的安全協議,該協議源自於 SSL 2.0 版,並修復了這些稱為 “私密通訊技術”(Private Communications Technology 或 PCT )的缺陷,以與 Netscape 的 SSL 競爭。

而 Netscape 也不甘示弱,徹底重新設計了 SSL 憑證並發佈了一個新的版本 —— SSL 3.0。

TLS 的誕生

擁有競爭力和專有的網路安全協議最終意味著整體網路的安全性降低,並且需要在網站實施多種安全標準才能與所有網路瀏覽器兼容。

因此,許多從事原始 SSL 協議工作的開發人員向網路工程任務組提出了一項提案,該機構透過提案,完善和發佈網路的標準協議和體系結構作為大眾普遍使用和應用的標準。

該提案主要是將 SSL 3.0 版變成一個網路的標準。透過一些微小的更改,他們將 SSL 重新命名為 “傳輸層安全性協定”,或是我們常聽到的 TLS,這是對 TLS 用於保護的網路 “層” 的引用。

因此,從本質上來講,TLS 是 SSL 品牌的重塑。由於瀏覽器大戰,開發它的工程師希望它至少在表面上不同於最初由 Netscape 贊助開發的協議,即使 TLS 1.0 版本質上就是 SSL 3.1 版,但微軟可以接受並將該協議使用於 Internet Explorer 瀏覽器(微軟所開發的圖形化使用者介面網頁瀏覽器)。

此後,TLS 進行了多次改版,目前的最新版本是 TLS 1.3 版。就其本身而言,儘管 TLS 1.0 版至 1999 年才問世,但 SSL 3.0 版是在 2014 年時被發現容易受到 POODLE 攻擊,而在 2015 年時被棄用。

哪個才是正確的名稱:SSL 或是 TLS?

所以從技術上來說,TLS 是正確的術語(和協議),因為所有版本的 SSL 現在都已正式棄用。但是您仍然會聽到和看到對 SSL 憑證的引用,並且 “SSL 憑證” 仍然是搜索引擎中名列前茅的關鍵字。

主要原因是 “SSL” 和 “SSL 憑證” 作為一個術語比 TLS 更廣為人知。即使實際上不再使用 SSL 憑證,“SSL” 仍被用來代指安全憑證,只是實際上是使用的是 TLS 憑證。

所以對於哪個術語是正確的這個問題,技術上來說,正確的答案是 TLS,但從文化上來看,SSL 仍然具有相關性。