證書的層級結構

2021-08-28 15:09:06 字數 1412 閱讀 2110

一 點睛

使用者需要使用認證機構的公鑰,對證書上的數字簽名進行驗證。

那麼,對於用來驗證數字簽名的認證機構的公鑰,怎樣才能判斷它是合法的呢?對於認證機構的公鑰,可以由其他認證機構施加數字簽名,從而對認證機構的公鑰進行驗證,即生成一張認證機構的公鑰證書。

乙個認證機構來驗證另外乙個認證機構的公鑰,這樣的關係可以迭代好幾層。這樣一種認證機構之間的層級關係,我們可以用某公司內部pki來模擬。例如某公司的組織結構如下,每一層組織都設有認證機構。

假設bob是札幌辦事處的一名員工,札幌辦事處員工的公鑰由札幌辦事處認證機構頒發的(因為這樣更容易認證本人身份)。

對於札幌辦事處認證機構的公鑰,則由北海道分公司認證機構頒發證書,而對於北海道分公司認證機構的公鑰,則由東京總公司認證機構頒發證書,以此類推......。不過這個鏈條不能無限制延伸,總要有乙個終點,如果這個終點就是東京總公司認證機構(即不存在更高一層的認證機構)的話,該認證機構一般就稱根ca(root ca)。而對於東京總公司認證機構,則由東京總公司認證機構自己來頒發證書,這種對自己的公鑰進行數字簽名的行為稱為自簽名。

二 分析

現在假設alice要驗證札幌辦事處員工bob的數字簽名,那麼alice需要執行如下步驟進行驗證。

首先從最高層認證機構(根ca)開始。如果連根ca的公鑰都不合法的話,那麼就無法驗證證書了,因此我們假設alice所持有的東京總公司認證機構的公鑰是合法的。

接著,alice取得北海道分公司認證機構的公鑰證書,這個證書上面帶有東京總公司認證機構的數字簽名。alice用合法的東京總公司認證機構的公鑰對數字簽名進行驗證。如果驗證成功,說明alice取得了合法的北海道分公司認證機構的公鑰。

再接下來,alice取的札幌辦事處認證機構的公鑰證書,這個證書上面帶有北海道分公司認證機構的數字簽名。alice用合法的北海道認證機構的公鑰對數字簽名進行驗證。如果驗證成功,則說明alice獲得了合法的札幌辦事處認證機構的公鑰。

最後,alice取得札幌辦事處員工bob的公鑰證書,這個證書上面帶有札幌辦事處認證機構的數字簽名。alice用合法的札幌辦事處認證機構的公鑰對數字簽名進行驗證。如果驗證成功,則說明alice獲得了合法的札幌辦事處員工bob的公鑰。

上面就是alice對bob的數字簽名進行驗證的整個過程。當然,如此複雜的驗證過程不會是由人來操作的,而是由電子郵件或者瀏覽器等軟體自動完成的。

三 認證機構的層級

目錄的層級結構

在linux2.6以後的核心版本當中,乙個核心任務可以被搶占,從而提高系統的實時性。可以極大地增強 系統的使用者互動性。就如使用者覺得滑鼠單擊的時候得到了更快速的相應。但是2.6以後的核心還是存在一些 不可搶占的區間,例如中斷上下文,軟中斷上下文和自旋鎖鎖住的區間。如果給linux打上rt pree...

android View的層級結構

我們看到最頂層就是phonewindow decorview,接著decorview下面有乙個linearlayout,linearlayout下面有兩個framelayout 上面那個framelayout是用來顯示標題欄的,這個demo中是乙個textview,當然我們還可以定製我們的標題欄,利...

mysql 組織層級查詢 mysql 層級結構查詢

描述 最近遇到了乙個問題,在mysql中如何完成節點下的所有節點或節點上的所有父節點的查詢?在oracle中我們知道有乙個hierarchical queries可以通過connect by來查詢,但是,在mysql中還沒有對應的函式 下面給出乙個function來完成的方法 下面是sql指令碼,想...