證書鏈的基本原理

2021-10-19 05:07:02 字數 2152 閱讀 5361

pki(public key infrastructure) 規範體系,包含:

問題:數字簽名技術: 基於公鑰密碼技術。

ca 數字簽名兩個過程:

簽發證書的過程

撰寫證書元資料

使用通用的hash 演算法(如sha-256)對證書元資料計算生成數字摘要使用issuer 的私鑰對該數字摘要進行加密,生成乙個加密的數字摘要,也就是issuer的 數字簽名將數字簽名附加到數字證書上,變成乙個簽過名的數字證書

簽過名的數字證書issuer 的公鑰,一同發給證書使用者

(注意,將公鑰主動發給使用者是乙個形象的說法,只是為了表達使用者最終獲取到了 issuer 的公鑰)

驗證證書的過程

證書使用者獲通過某種途徑(如瀏覽器訪問)獲取到該數字證書解壓後分別獲得證書元資料數字簽名

使用同樣的hash演算法計算證書元資料數字摘要

使用issuer 的公鑰對數字簽名進行解密,得到解密後的數字摘要

對比2 和 3 兩個步驟得到的數字摘要值,如果相同,說明數字證書確實是被issuer 驗證過合法證書,證書中的資訊(最主要的是 owner 的公鑰)是可信

上述是對數字證書的簽名和驗證過程,

利用同樣的方法對普通資料數字簽名驗證

總結「簽發證書」與「驗證證書」兩個過程:

校驗的關鍵是issuer 的公鑰,使用者獲取不到 issuer 的私鑰,只能獲取到 issuer 的公鑰.

問題:

這涉及到乙個信任鏈條(證書鏈)

這個層次可以抽象為三個級別:

root:可以理解為 最高端別的簽發人 issuer,負責認證intermediates 身份的合法性

這個信任鏈條,最終目的是保證 end-user 證書``可信公鑰``可信

結合實際的使用場景對證書鏈進行乙個歸納:

為了獲取 end-user 的公鑰,需要獲取 end-user 的證書,因為公鑰就儲存在該證書中

為了證明獲取到的 end-user 證書是可信的,就要看該證書是否被 intermediate 權威機構認證,等價於是否有權威機構的數字簽名

有了權威機構的數字簽名,而權威機構就是可信的嗎?需要繼續往上驗證,即檢視是否存在上一級權威認證機構的數字簽名

信任鏈條的終點是root ca,採用自簽名,對他的簽名只能無條件信任

無條件信任,尤瓦爾赫拉裡在《人類簡史》中已經闡述過,基於虛構故事所建立的信任,最終將人類帶到了今天。

root 根證書從何而來呢?

trusted root certificates:瀏覽器作業系統內建root 根證書

macos high sierra 中可用的受信任根證書列表

openssl基本原理 生成證書

參考 begin 公司乙個專案要進行交易資料傳輸,因為這個專案銀行那邊也是剛剛開始啟動,所有的支援只有乙個傳輸欄位的說明文件,好吧,總的有人做事不是嘛,於是介面開發正式展開,第一步的難點就是加密解密,我選擇使用openssl.openssl初接觸的人恐怕最難的在於先理解各種概念 公鑰 私鑰 簽名 驗...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

openssl基本原理以及生成證書

公司乙個專案要進行交易資料傳輸,因為這個專案銀行那邊也是剛剛開始啟動,所有的支援只有乙個傳輸欄位的說明文件,好吧,總的有人做事不是嘛,於是介面開發正式展開,第一步的難點就是加密解密,我選擇使用openssl.openssl初接觸的人恐怕最難的在於先理解各種概念 公鑰 私鑰 簽名 驗證簽名 加密 解密...