HTTP 公鑰基礎設施(PKI)
公開密鑰基礎建設 PKI(Public Key Infrastructure)是一組由硬件、軟件、參與者、管理政策與流程組成的基礎設施,是為了保障網絡系統的安全而產生的機構。PKI 里面包含了多個職能機構,其中 CA 是證書機構,負責管理證書的整個生命周期,它是 PKI 的核心組成。在當前在線交易盛行的今天,網絡安全尤為重要。
1. 簡介
安全密鑰交換與非對稱密鑰算法,推動了網絡安全通信的發展,在認證與安全訴求越來越迫切的環境下,一些廠商嗅探到市場的機遇,逐漸推出了相應的認證服務。
信息的安全關系到國家安全和經濟利益,因此我國這幾年也在積極探索網絡安全的標準化建設,這些標準并不僅僅局限于證書的簽名算法,也包括了物理廠房的建設,人員的管理流程規則制度。當然我們的網絡安全建設一方面要保證自己足夠安全,另一方面也要對接國際,畢竟今天的網絡今天的經濟都是全世界共同的。
2. PKI 組成
2.1 證書管理中心
面向用戶,管理證書的申請,撤銷,瀏覽,下載。
2.2 Registration Authority(RA)
證書注冊機構,用戶提出信息申請的請求,RA 校驗用戶身份信息的準確性,審查用戶的申請資格。如果審核都通過會幫忙向 CA 提出證書申請。
2.3 Certificate Authority(CA)
證書頒發機構 CA 是 PKI 的基礎,它管理著證書的整個生命周期,其作用包括:發放證書,規定證書有效期,廢棄不良信用證書。
2.4 證書存儲
證書、密鑰、CRL 等信息進行 存儲和管理。
3. 平臺結構
3.1 證書申請步驟
- 用戶通過非對稱加密算法生成一個自己的公鑰,然后將公鑰和其他用戶信息提交給證書管理平臺,告訴他要申請證書。
- 證書管理將請求轉發給 VA ,進行身份的審核資質的認證。
- 審核通過將證書申請發送給 CA,CA 生成包含關于用戶及 CA 自身的各種信息的證書。
- 用戶從管理平臺下載證書。
4. 證書如何發揮作用
了解完證書是如何獲取的,下面我們要了解下辛辛苦苦得到的這本證書是如何起到身份認證和保證信息完整性的功效。
4.1 重要項說明
-
用戶申請證書前生成了自己的一對公鑰 clientPub ,私鑰 clientPri,證書申請的提交內容中需要包含 clientPub。
-
CA 機構也有自己的 公鑰 caPub ,私鑰 caPri ,用來生成最終的 CA 證書。
-
數字簽名:數字簽名主要是依托了 Hash 算法的單向性和非對稱加密算法的特性來實現。將傳輸的內容(Http 的接口參數)用 Hash算法(如 MD5)生成一個很難反向逆推的摘要(就是一串字符串)。再繼續把摘要用非對稱算法的私鑰加密生成簽名,后面把簽名和信息體一起發送給接收者。接收著先用非對稱的公鑰對簽名進行解密得到摘要信息,然后采用發送著相同的 Hash 算法,把收到的信息(請求參數)進行 Hash 計算得到摘要2,將自己生成的摘要和發送過來的摘要相比較,一致就可以證明信息發送者的身份和內容都是正確的,沒有被偽造和篡改。
-
數字證書:數字簽名能成功,一方面是借助 Hash 算法和 非對稱算法 的特性,另一方面取決于公鑰的可靠性。就像大街上有人告訴你你家的保險箱密碼你可能不信,但是如果是你爸告訴你的,這個消息的可靠性就高很多了。所以數字證書是一個權威機構頒發給你的,證書的內容包含了:申請者的身份信息,申請者自己的公鑰,證書的有效期等內容。從證書中取到公鑰,接下去就利用上面 數字簽名 的流程進行消息內容的驗證就好了。
當然證書的有效性也是需要借助簽名算法來驗證的,權威機構的 CA 公鑰大家都是知道的,瀏覽器里面也都有內置。相當于我要拿 CA 的公鑰借助簽名算法計算證書的有效性,之后獲取到用戶端的公鑰,再拿這個公鑰同時借助簽名算法來驗證信息體。
4.2 證書內容
下面較詳細的列舉證書的基本字段,但不是全部。
- 證書版本號
- 簽名算法
- 頒發者數字簽名信息
- 證書有限期
- 申請人的公鑰
- CRL信息:(certificate revocation list)證書吊銷列表查看地址
- 證書頒發的機構信息
4.3 工作流程
5. CA 與 區塊鏈
CA 證書的可靠性來自 PKI 機構的權威和安全,是一種中心化的機構。區塊鏈是一種去中心化的結構,它的可靠性是基于共識機制,數學算法,分布式原理。兩者相比較,區塊鏈會顯得更加的客觀可靠。區塊鏈是一種新的革命技術,但它更傾向保證記錄的不可磨滅性,CA 保證的是權威機構對身份的認證,兩者目前不能說誰絕對的優勢,可以在某些場合互相補充。
6. 小結
認證的核心是數字簽名,數字簽名中公鑰不可靠需要借助 CA 認證,同時簽名算法的實現主要是借助 Hash 算法(又稱散列算法)的單向不可逆,和 非對稱密碼學算法。證書的頒發要有權威的頒發機構,這個機構中核心是 CA 證書制作機構,其他職能機構也是圍繞證書服務的,所有機構組成 PKI。