SSL 如何運作?| SSL 憑證與 TLS

SSL(也稱為 TLS)使用加密來確保使用者資料安全、驗證網站身分,以及阻止攻擊者篡改網際網路通訊。

學習目標

閱讀本文後,您將能夠:

  • 瞭解 SSL/TLS 的含義
  • 說明 SSL/TLS 如何確保網際網路通訊安全
  • 瞭解如何取得 SSL 憑證,以及 SSL 憑證如何確保使用者資料安全

相關內容


想要繼續瞭解嗎?

註冊即可收到 Cloudflare 的網路安全學習文章。

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是 SSL?

SSL 代表安全通訊端層,是指用於加密、保護和驗證網際網路上所發生通訊的通訊協定。儘管 SSL 在一段時間前已被稱為 TLS (Transport Layer Security) 的更新通訊協定取代,但「SSL」仍是該技術的常用詞彙。

SSL/TLS 的主要使用案例是保護用戶端和伺服器之間的通訊安全,但它也可以保護電子郵件、VoIP 和不安全網路上的其他通訊。

註冊
使用 Cloudflare CDN 提高效能

SSL/TLS 如何運作?

以下是理解 SSL/TLS 運作原理應掌握的基本概念:

  • 安全通訊始於 TLS 交握,其中兩個通訊方開啟安全連線並交換公開金鑰
  • 在 TLS 交握期間,雙方會產生工作階段金鑰,工作階段金鑰會在 TLS 交握之後加密和解密所有通訊
  • 每個新工作階段中使用不同的工作階段金鑰來加密通訊
  • TLS 確保伺服器端的一方或使用者正在與之互動的網站實際上是它們所聲稱的身分
  • TLS 還可確保資料不會被更改,因為傳輸中包含訊息驗證代碼 (MAC)

使用 TLS 時,使用者傳送到網站的 HTTP 資料(透過點擊、填寫表單等)和網站傳送給使用者的 HTTP 資料都會加密。加密的資料必須由接收者使用金鑰解密。

白皮書
最大程度利用 TLS 的能力

TLS 握手

TLS 通訊工作階段從 TLS 交握開始。TLS 交握採用一種稱為非對稱加密的方法,也就是在對話的兩端使用兩個不同的金鑰。這是透過一種稱為公開金鑰加密的技術實現的。

公開金鑰加密中使用兩個金鑰:公開金鑰(伺服器將其公開提供)和私密金鑰(保密且僅在伺服器端使用)。用公開金鑰加密的資料只能用私密金鑰解密。

在 TLS 交握期間,用戶端和伺服器會使用公開金鑰和私密金鑰來交換隨機產生的資料,而這個隨機資料會用來建立新的加密金鑰,稱為工作階段金鑰。

使用工作階段金鑰的對稱式加密

與非對稱加密不同,在對稱式加密中,對話的兩方使用相同的金鑰。TLS 交握後,雙方使用相同的工作階段金鑰進行加密。一旦使用了工作階段金鑰,就不再使用公開金鑰和私密金鑰。工作階段金鑰是臨時金鑰,工作階段終止後便不再使用。下一工作階段需要建立一組新的隨機工作階段金鑰。

對稱式加密

驗證來源伺服器

來自伺服器的 TLS 通訊包括訊息驗證代碼 (MAC),它是用於確認通訊源自實際網站的數位簽章。這將對伺服器進行驗證,從而防止中間人攻擊和網域詐騙。它還確保資料在傳輸過程中沒有被篡改。

什麼是 SSL 憑證?

SSL 憑證是安裝在網站來源伺服器上的檔案。它只是一個資料檔案,包含公開金鑰和網站擁有者身分以及其他資訊。如果沒有 SSL 憑證,就無法使用 TLS 來加密網站的流量。

從技術上講,任何網站擁有者都可以建立自己的 SSL 憑證,這些憑證稱為自簽章憑證。但是,瀏覽器不認為自簽章憑證像憑證授權單位頒發的 SSL 憑證一樣值得信賴。

網站如何獲得 SSL 憑證?

網站擁有者需要從憑證授權單位獲取 SSL 憑證,然後將其安裝到自己的 Web 伺服器上(通常 Web 主機可以處理此過程)。憑證授權單位是一個外部方,可以確認網站擁有者是他們所稱的身分。他們保留所頒發憑證的複本。

是否有可能獲得免費的 SSL 憑證?

許多憑證授權單位會收取 SSL 憑證費用。為了協助提高網際網路安全性,Cloudflare 提供 免費的 SSL 憑證。Cloudflare 是第一家這樣做的網際網路安全性和效能公司。Cloudflare 也致力於最佳化 SSL/TLS 效能,以便從 HTTP 移至 HTTPS 的網站不會影響其效能 。如需深入瞭解 Cloudflare 的 SSL 選項,請參閱我們的開發人員文件

HTTP 和 HTTPS 有什麼區別?

「HTTPS」中的 S 代表「安全」。HTTPS 只是具有 SSL/TLS 的 HTTP。擁有 HTTPS 位址的網站具有由憑證授權單位頒發的合法 SSL 憑證,並且使用 SSL/TLS 通訊協定對往返於該網站的流量進行驗證和加密。

為了鼓勵整個網際網路轉向更安全的 HTTPS,許多 Web 瀏覽器已開始將 HTTP 網站標記為「不安全」。因此,HTTPS 不僅對於確保使用者和使用者資料的安全至關重要,而且對於建立與使用者的信任也至關重要。