公開金鑰加密如何運作?

公開金鑰加密,也稱為非對稱加密,使用兩個單獨的金鑰而不是一個共用的金鑰:公開金鑰和私密金鑰。公開金鑰加密是確保網際網路安全的重要技術。

學習目標

閱讀本文後,您將能夠:

  • 定義公開金鑰加密
  • 瞭解公開金鑰加密的運作方式
  • 瞭解為何公開金鑰加密技術對 TLS/SSL 通訊協定至關重要

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

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

複製文章連結

使用 Cloudflare 的免費 SSL/TLS 提高安全性和信任

什麼是公開金鑰加密?

公開金鑰加密是一種使用兩個不同的金鑰加密或簽署資料的方法,並使其中一個金鑰(即公開金鑰)可供任何人使用。另一個金鑰稱為私密金鑰。用公開金鑰加密的資料只能用私密金鑰解密。由於這種方法使用兩個金鑰而不是一個,公開金鑰加密也稱為非對稱加密。它被廣泛使用,特別是用於 TLS/SSL,這使得 HTTPS 成為可能。

什麼是密碼編譯金鑰?

在密碼學中,金鑰是用於打亂資料以便使其顯得隨機的一條資訊;它通常是一個很大的數字,或者是一串數字和字母。當使用金鑰將未加密的資料(也稱為純文字)放入加密演算法中時,純文字資料以隨機資料的形式從另一端出來。但是,任何擁有正確金鑰解密資料的人都可以將其返回純文字格式。

例如,假設我們有一條純文字訊息「hello」, 然後用金鑰加密;假設金鑰是「2jd8932kd8」。使用此金鑰加密後,簡單的一句「hello」現在會成為密文「X5xJCSycg14 =」,這似乎是隨機的垃圾資料。但是,透過使用相同的金鑰對其進行解密,我們將能轉回成「hello」。

純文字 + 金鑰 = 加密文字:

hello + 2jd8932kd8 = X5xJCSycg14=

加密文字 + 金鑰 = 純文字:

X5xJCSycg14= + 2jd8932kd8 = hello

這是對稱加密的一個範例,其中只使用一個金鑰。在公開金鑰加密中,將有兩個金鑰。公開金鑰將加密資料,而私密金鑰解密資料。

TLS/SSL 如何使用公開金鑰加密技術?

公開金鑰加密對於在網際網路(透過 HTTPS)建立安全通訊非常有用。網站公開共用的 SSL/TLS 憑證包含公開金鑰,而私密金鑰安裝在來源伺服器上,並由網站「擁有」。

TLS 交握使用公開金鑰加密技術對原始伺服器的身分進行驗證,並交換用於產生工作階段金鑰的資料。諸如 RSA 或 Diffie-Hellman 之類的金鑰交換演算法,使用公開/私密金鑰對來協商工作階段金鑰,一旦交握完成,工作階段金鑰將用於對稱式加密。用戶端和伺服器能夠為每個通訊工作階段約定新的工作階段金鑰,這樣,即使惡意行為者識別或竊取了前一個工作階段的工作階段金鑰之一也無法解密通訊。