公開金鑰基礎建設(public-key infrastructure)
公開金鑰密碼學給了你一個能對公鑰加密、並驗證簽章的方法——但它留了一個洞:全世界要怎麼在大規模下達成共識,知道哪把公鑰屬於誰、以及當一把金鑰被攻破時該怎麼辦?把它想成圍繞護照的整套體系:不只是那些文件,還有簽發辦事處、驗證身分的規則、邊境查驗的方式,以及註銷遺失護照的流程。公開金鑰基礎建設(PKI)就是數位憑證的那整套支援體系。
PKI 把好幾個部件串成一個可運作的信任系統。有負責簽發與簽署憑證的憑證授權單位,排成一個階層:少數幾個根 CA(其金鑰被預先信任且嚴密保護)簽署中介 CA,中介 CA 再簽署終端憑證——形成一條信任鏈,你的軟體會一環一環地驗證、回溯到一個受信任的根。有在簽發前驗證身分的註冊程序、發布憑證的儲存庫,以及撤銷機制(像憑證撤銷清單與 OCSP),在私鑰被竊時,能在憑證過期前宣告它作廢。這些合起來,回答了單靠密碼學答不出的問題。
為什麼重要:PKI 是那看不見的鷹架,讓從不思考金鑰的數十億人能用上安全通訊。每一條 HTTPS 連線、每一次程式碼簽章檢查、每一封安全電子郵件都仰賴它。但這個模型建立在現實世界的信任與人為流程上,所以它的弱點和數學一樣多在於組織面:單一一個行為失當的 CA、一把保護不周的根金鑰、緩慢或未經查驗的撤銷,或者使用者一路點掉警告,都可能削弱它。密碼學很強;基礎建設的可信度,卻只取決於營運它的機構與實務。
你的瀏覽器收到一個網站的憑證,它由一個中介 CA 簽署,而這個中介 CA 又由一個你的瀏覽器早已信任的根 CA 簽署。瀏覽器沿著這條鏈走——網站到中介到根——逐一驗證每個簽章。這條鏈一路驗證回一個受信任的根,於是憑證被接受。那一趟「走鏈」就是 PKI 的實際運作。
一條信任鏈,從你網站的憑證一路上溯到受信任的根。
PKI 的安全建立在機構與流程上,而不只是數學。它在現實世界的失敗——被駭的 CA、外洩的根金鑰、被忽略的撤銷——通常是組織面的,而非密碼學面的。信任是被委派的,而被委派的信任有可能被濫用。