7-6 數位憑證的運作
利用 IC 卡儲存數位憑證(或稱為 Smart Card)是目前最普遍採用的元件,然而,當我們由 IC 卡取出憑證資料(X.509 憑證,主要是公開鑰匙),並傳送給對方時,對方如何判斷此憑證並非他人所冒用。記得前面討論過,我們希望數位憑證能像真實環境裡的各種證照的功能,並且能在網路上自由通行。譬如,當您遇到交通警察要求您出示駕駛執照時,警察最起碼由駕照的相片確認是您本人,或者是他人所偽造;另一方面,您也可以從攔截您停車之警察的警徽或相關警察證件,辨別其真偽。很不幸的,在虛擬環境裡並無法正確地觀察到出示憑證的本人面貌,因此必須有特殊的處理功能始可行,我們就單向認證與雙向的相互認證兩方面來探討。 7-6-1 憑證單向認證 圖 7-9 為數位憑證單向認證的運作程序,事先持卡者(User A)已將私有鑰匙與數位憑證(公開鑰匙)儲存於 IC 卡上(鑰匙配對 {KRa, KUa}),其運作說明如下:當持卡者欲傳送憑證(如公開鑰匙 KUa)之前,先產生一個亂數(N1)並輸入密碼(訊號 (1))取得 IC 卡上的私有鑰匙(KRa),再向該亂數簽署(Sig 函數)之後,連同亂數及憑證(CertA)包裝成一個訊息(訊號 (2)),一併傳給伺服端,訊息如下: SigKRa [N1] || N1 || CertA
圖 7-9 數位憑證的單向認證 伺服端收到訊息之後,利用憑證(CertA)內的公鑰(KUa)及所收到的亂數(N1),驗證所收到的簽署碼是否正確,如果正確的話,則確定發送憑證者是公鑰擁有者本身。因為,私鑰只有持有人自己擁有,利用它的公鑰可以驗證其私鑰所簽署的數位簽章,則應該是他本人沒錯,除非持卡者自己的私鑰已被破解或冒用;或者持卡人取得 IC 卡裡私鑰的通行碼洩漏,而且 IC 卡也被他人盜用才有可能被冒名發送憑證。 7-6-2 憑證相互認證 許多情況下必須達到雙方都能確認對方的身份(雙方 IC 卡之間的確認),才能確保通訊交易的安全,其運作程序如圖 7-10 所示;可區分為兩個時相(Phase),我們還是以所標示的訊號次序來說明,並簡略使用者輸入通行碼部分。說明如下:(Alice 為發起者,Bob 為回應者)
圖 7-10數位憑證的相互認證 在圖 7-10 中省略了使用者輸入通行碼部分;同樣的,持卡者想要由 IC 卡內取得自己的私鑰,簽署交換的亂碼時,都必須經過通行碼的確認才行。 值得特別注意的是,採用 IC 卡(智慧卡)為儲存媒體的話,無論簽署/驗證簽章演算法、加密/解密演算法、亂數產生等等關鍵性的處理,都是由 IC 卡內部的作業系統(如 COS)所完成,不需仰賴外部設備(如個人電腦或讀卡機),如此才能確保整個認證程序的安全性。 |
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|