Public Key Infrastructure 公開密碼匙基礎建設——ICT 應該點樣點溫?

Willis WAN, Chun Yu | 2023-01-23

由頭開始

最初,所有加密都是以對稱密碼匙加密(Symmetric Key Encryption) 的形式進行加密。

但是,我們很快便會遇到一個問題:我們怎樣確保所使用的密碼匙是安全的? 這個問題演變成「密碼匙交換問題 Key Exchange Problem」。

要解決這個問題有很多方法,其中一個方法便是改用非對稱密碼匙加密 Asymmetric Key Encryption。要對伺服器進行安全的通訊,我們便使用伺服器的公開密碼匙 Public Key 進行加密,然後伺服器用自己的私人密碼匙 Private Key 進行解密便可以了。

但是,使用了 Asymmetric Key Encryption 之後卻有新的問題:

我們怎樣確保獲得的 Public Key 真的是來自伺服器的?

為甚麼這個問題很嚴重?

試想像你正與一個伺服器進行溝通,以完成一項網上交易。

但是,一名黑客建立了一對密碼匙,把其中一條匙公開,並宣稱是伺服器的 Public Key。你把信用卡的資料使用這條 Public Key 進行加密,並以為是會傳輸給伺服器,其實這項資訊會被黑客偷取。黑客為了不被發現,或會把你的資訊重新以正確的密碼匙加密,並傳輸給伺服器,使交易成功。

這是一個典型「中間人攻擊 Man-in-the-middle Attack」。

中間人攻擊示例

如何解決這個問題?

公開密碼匙基礎建設 Public Key Infrastructure (PKI)的主要負任是確保 Public Key 的真確性 Authenticity 及 Public Key 持有人的身份 Identity

你可以理解 PKI 成 Public Key 的入境處。入境處會根據你的身份,認證你是一名香港居民,向你簽發一張身份證。這張身份證上有防偽特徵,證明它的真確性,而你持有這張身份證則證明你的身份。

同樣,PKI 會對 Public Key 及其持有人進行認證。如果 PKI 接納申請,便會按 Public Key 的內容簽發數碼證書 Digital Certificate。

這樣,在與伺服器溝通之前,我們只要先查看伺服器的 Digital Certificate,便能認證伺服器的身份,大大減低了 Man-in-the-middle Attack 的可能性。

PKI 的應用

由於使 Public Key 更為可靠,這令 Asymmetric Key Encryption 有更廣泛的應用,例如——

  • 保安插口層 Secure Socket Layer / 傳輸層安全性協定 Transport Layer Security
  • 透過 SSH 協定遙距登入 Remote Login
  • Bitcoin / 區塊鏈 Blockchain
  • 電郵加密
  • 數碼簽署 Data Signautre

鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝

更多內容