公開密鑰密碼體系中的公鑰與私鑰
公開密鑰基礎設施(PKI)用於管理互聯網通訊中的身分與安全。作為支撐 PKI 的核心技術,公開密鑰密碼學是一種依靠一對相關密鑰(公鑰和私鑰)實現的加密機制。這兩個密鑰配合使用,可完成訊息的加密與解密。以這種方式配對的一對密碼學密鑰也被稱為非對稱密碼。公開密鑰密碼學透過密碼算法保護身分與數據免遭未授權存取或使用,抵禦網絡犯罪分子及其他惡意行為者的攻擊。
公開密鑰密碼學的運作原理
公鑰由一串隨機數字構成,可用於加密訊息。只有預期的接收方能夠使用對應的私鑰解密並讀取訊息,私鑰同樣是一長串隨機數字。私鑰屬於密鑰,必須僅由接收方知曉。這對密鑰在數學上互相關聯:使用公鑰或私鑰加密的內容,只能由對應的另一把密鑰解密。
公開密鑰密碼學的優勢
公開密鑰密碼學的核心優勢是可大規模提升數據與身分的安全性。該機制的安全性保障在於:私鑰由其擁有者保密,任何場景下都無需披露或共享私鑰。
乍看之下可能有違直覺:使用兩把私鑰組成密鑰對來加密和解密敏感資訊,安全性並不高於非對稱密碼體系。採用兩把私鑰的對稱密鑰算法,要求通訊雙方都能存取密鑰,雙方都需要承擔保密責任,反而提升了風險。此外,對稱密鑰算法難以實現大規模擴展:要私密交換所有必要的私鑰組合,需要協調海量連線,這幾乎是不可能完成的。
公開密鑰密碼架構具備極強的可擴展性,可保護機構每日在內部網絡及互聯網上交換的數十億條訊息。實現這種擴展性的原因是:公鑰可以大範圍公開分發,惡意行為者無法藉此推算出解密訊息所需的私鑰。
公鑰與私鑰的區別
簡而言之,公鑰和私鑰的核心區別在於其中一把用於加密,另一把用於解密。在公開密鑰密碼體系中,加密密鑰(可能是公鑰或私鑰)會將明文訊息加密,轉換為被稱為密文的編碼格式;隨後另一把密鑰作為解密密鑰,對密文進行解密,讓接收方能夠讀取原始訊息。
公鑰的運作機制
什麼是公鑰?公鑰會公開發布,所有人均可查看。公鑰透過複雜的非對稱算法生成,與對應的私鑰配對。最常用於生成公鑰的算法包括:
- Rivest–Shamir–Adleman(RSA)
- 橢圓曲線密碼學(ECC)
- 數碼簽署算法(DSA)
這些算法透過各類計算方法生長度不一的隨機數字組合,使其無法被暴力攻擊破解。公鑰的密鑰長度(即位長)決定了防護強度。例如,SSL/TLS 證書、數碼簽署及其他數碼證書常採用2048位 RSA 密鑰,該密鑰長度可提供足夠的密碼學安全性,防止黑客破解算法。包括CA/Browser Forum在內的標準組織會針對受支援的密鑰大小制定基線要求。
密鑰的運作機制
什麼是私鑰?與可公開存取的公鑰不同,私鑰是僅供其擁有者知悉的密鑰。公私鑰配對後,接收方可使用對應的密鑰解密密文,讀取原始訊息。私鑰與對應的公鑰採用相同算法生成,以建立具備數學綁定關係的強密鑰對。
使用公鑰對同時保障安全與身份可信
使用公鑰對的非對稱加密有一項獨特優勢,就是既能保障加密訊息的安全性,又能確認發送方的身份。要保障訊息安全時,發送方會取得接收方的公鑰,並用該公鑰加密訊息。這類訊息可在互聯網上公開傳輸,由於只有持有對應私鑰的接收方能夠解密訊息,因此可實現安全傳輸。
密鑰對的使用順序也可以調換,以確認發送方身份。如果發送方使用私鑰加密訊息,接收方可以用發送方的公鑰解密並讀取訊息。由於任何人都能用發送方的公鑰解密訊息,因此這種訊息傳輸不一定安全,但因為私鑰僅由發送方持有,因此可確認該訊息確實來自對應主體。
公鑰密碼學的常見應用
許多協議都依賴非對稱密碼技術。這項技術有大量應用場景,包括 Web 伺服器安全、數碼簽署、文件簽署以及數碼身份.
Web 伺服器安全
公鑰密碼學是安全套接層(SSL)和傳輸層安全(TLS)協議的基礎,而這兩類協議是 HTTPS 安全瀏覽器連線的基石。如果沒有 SSL/TLS 證書來建立安全連線,網絡罪犯就可以利用中间人攻擊等多種攻擊手段,在互聯網或其他 IP 網絡上攔截訊息並獲取內容。公鑰密碼學可起到類似數碼指紋校驗的作用,對接收方和發送方的身份進行認證,從而防範中间人攻擊。
數碼簽署與文件簽署
除了用於加密訊息之外,密鑰對還可用於數碼簽署和文件簽署。公鑰密碼學利用發送方的私鑰來驗證數碼身份。這種密碼學校驗會通過數學方式將簽署與原始訊息綁定,確保訊息未被篡改。
數碼身份
公私鑰對還可提供有效的身份認證能力。隨着數據和應用的範圍從傳統網絡擴展到流動裝置、公有雲、私有雲以及物聯網裝置,身份安全的重要性達到了前所未有的高度。而且數碼身份並不局限於裝置,還可用於對人員、數據或應用進行認證。採用非對稱密碼技術的數碼身份證書可以替代密碼,協助機構提升網絡安全水平——如今攻擊者竊取密碼的手段已經越來越純熟。
公鑰密碼學的其他應用包括S/MIME 證書,這類證書可驗證電郵發送方身份並加密電郵內容,以防範魚叉式網絡釣魚攻擊;還有SSH 密鑰,用於控制員工對伺服器的存取權限。
證書頒發機構在公鑰密碼學中的作用
公鑰密碼學能夠落地的一個關鍵組成部分,是存在可信赖的代理方來發佈與各主體私鑰對應的公鑰。如果沒有這類可信任的權威機構,發送方就無法確認自己使用的確實是與接收方私鑰匹配的正確公鑰,而不是惡意攻擊者為攔截敏感資訊、用於非法目的而偽造的密鑰。
這類可信任的代理方就是證書頒發機構(CA)。Sectigo 等受信任的第三方機構可作為私有證書頒發機構營運,但不少企業與技術服務商亦會選擇搭建自有 CA。無論採用哪種形式,證書頒發機構都必須可信:需要核實並擔保其發布公鑰的所有傳送方的身份,確保該等公鑰確實對應傳送方持有的密鑰,同時維持自身機構內部的資訊安全水平,防範惡意攻擊。

