摘要:本論文簡單介紹了公鑰基礎(chǔ)設(shè)施PKI的定義、內(nèi)容和理論基礎(chǔ),指出了現(xiàn)在計算機網(wǎng)絡(luò)的安全的隱患,闡述了PKI在保證網(wǎng)絡(luò)安全通信方面的技術(shù)和特點,并且著重介紹了幾個典型的公開密鑰密碼具體算法和各個算法的特點,最后作出結(jié)論:PKI是一個能夠提供安全服務(wù)的具有一般通用性的安全基礎(chǔ)設(shè)施。
關(guān)鍵詞:PKI;密碼學(xué);密鑰;算法;明文;密文
中圖分類號:TP393.08 文獻標(biāo)識碼:A 文章編號:1007-9599 (2012) 21-0000-02
1 公鑰基礎(chǔ)設(shè)施(PKI)的定義[4]
PKI是一個用非對稱密碼算法原理和技術(shù)來實現(xiàn)并提供安全服務(wù)的具有通用性的安全基礎(chǔ)設(shè)施;PKI是一種遵循標(biāo)準(zhǔn)的利用公鑰加密技術(shù)為網(wǎng)上電子商務(wù)、電子政務(wù)的開展,提供一整套安全的基礎(chǔ)平臺。用戶利用PKI平臺提供的安全服務(wù)進行安全通信。
2 公鑰基礎(chǔ)設(shè)施(PKI)的內(nèi)容
2.1 認(rèn)證機構(gòu)(Certificate Authority)
認(rèn)證機構(gòu)是PKI的核心組成部分,一般簡稱為CA,在業(yè)界通常稱為認(rèn)證中心。它是數(shù)字簽發(fā)機構(gòu)。
2.2 證書庫
證書庫是CA頒發(fā)和撤銷證書的集中存放地[4],它像網(wǎng)上的“白頁”一樣,是網(wǎng)上的一種公共信息庫,供廣大公眾進行開放式查詢,證書及證書撤消信息的分發(fā)方法是發(fā)布(publication),將PKI的信息放在一個廣為人知的、公開且容易訪問的地點。
2.3 證書撤消
認(rèn)證機構(gòu)CA簽發(fā)證書來為用戶的身份和公鑰進行捆綁,可在現(xiàn)實世界中,因種種原因(如:私鑰被竊或泄露、用戶身份姓名的改變等),還必須存在一種機制來撤消這種捆綁關(guān)系,將現(xiàn)行的證書撤消,在PKI中,這種警告機制被稱作證書撤消,所使用的手段為證書撤消列表或稱CRL[4]。
2.4 密鑰備份和恢復(fù)
用戶由于某種原因(遺失或忘記口令、介質(zhì)的破壞等)丟失了解密的密鑰,被加密的密文無法解開,造成數(shù)據(jù)丟失。為了避免這種情況的發(fā)生,PKI提供了密鑰備份與解密密鑰的恢復(fù)機制,這就是密鑰備份與恢復(fù)系統(tǒng)[4]。密鑰的備份與恢復(fù)應(yīng)該由可信的機構(gòu)CA來完成,一個證書的生命周期主要包括三個階段,即證書初始化注冊階段、頒發(fā)階段和取消階段,而證書密鑰的備份與恢復(fù)就發(fā)生在初始注冊階段和證書頒發(fā)階段。
2.5 自動更新密鑰
由于理論上或?qū)嶋H操作的因素,一個證書的有效期是有限的,因此,在很多PKI環(huán)境中,一個已頒發(fā)的證書需要有過期的措施,以便換新的證書,這個過程被稱為“密鑰更新或證書更新”。
2.6 密鑰歷史檔案
由于自動更新密鑰程序,每個用戶都會形成多個“舊”證書和至少有一個“當(dāng)前”的證書。這一系列的舊證書和相應(yīng)的私鑰就組成了用戶密鑰和證書歷史檔案,簡稱密鑰歷史檔案。保存密鑰歷史,只要是面向數(shù)據(jù)機密性服務(wù),目的是在將來對加密密鑰已加密的數(shù)據(jù)進行恢復(fù)[4]。
2.7 交叉認(rèn)證
交叉認(rèn)證是PKI中信任模型的概念。它是一種把以前無關(guān)的CA連接在一起的有用機制,從而使得它們在各自主體群之間實現(xiàn)安全通信。交叉認(rèn)證的實際構(gòu)成方法,就是具體的交換協(xié)議報文。交叉認(rèn)證按照CA所在域來分有兩種形式一種是域內(nèi)交叉認(rèn)證,一種是域間交叉認(rèn)證。交叉認(rèn)證可以是單向的也可以是雙向的。
2.8 支持不可否認(rèn)性
PKI的不可否認(rèn)性是用于從技術(shù)保證實體對他們的行為的誠實。通常指的是對數(shù)據(jù)來源的不可否認(rèn)和接受后的不可否認(rèn)。
2.9 時間戳
時間戳或稱安全時間戳,它是一個可信的時間權(quán)威用一段可認(rèn)證的完整的數(shù)據(jù)表示時間戳。支持不可否認(rèn)性服務(wù)的一個關(guān)鍵因素就是在PKI中使用安全時間戳,就是說時間源是可信的,時間值必須被安全地傳送。一份文檔上的時間戳涉及到對時間和文檔內(nèi)容的雜湊值(哈希值)的數(shù)字簽名。
2.10 客戶端軟件[4]
客戶端軟件是一個全功能、可操作PKI的必要組成部分??蛻舳塑浖墓δ埽孩僭儐栕C書和相關(guān)的撤消信息;②在一定時刻為文檔請求時間戳;③作為安全通信的接收點等。
3 公鑰基礎(chǔ)設(shè)施(PKI)的理論基礎(chǔ)與計算機網(wǎng)絡(luò)安全:
3.1 PKI的理論基礎(chǔ)是基于密碼學(xué)的。
密碼學(xué) = 密碼編制學(xué) + 密碼分析學(xué)。一個密碼系統(tǒng)包含明文字母空間、密文字母空間、密鑰空間和算法[3]。密碼系統(tǒng)的兩個基本單元是算法和密鑰。算法是一些公式、法則或程序,規(guī)定明文和密文之間的變換方法;密鑰可以看成是算法中的參數(shù)。算法是穩(wěn)定的,可以把算法視為常量,反之,密鑰則是一個變量。為了密碼系統(tǒng)安全,頻繁更換密鑰是必要的。
3.2 密碼體制
密碼體制從原理上可分為兩大類,即單鑰體制(One-key System)和雙鑰體制(Tow-key System)[4]。單鑰體制的加密密鑰和解密密鑰相同。系統(tǒng)的保密性主要取決于密鑰的安全性,如何將密鑰安全可靠地分配給通信對方是非常復(fù)雜而困難的,若密碼管理處理不好就很難保證系統(tǒng)的安全保密;雙鑰體制的每個用戶都有一對選定的密鑰:一個可以公開的密鑰,另一個則是秘密的。因此雙鑰體制又稱作公鑰體制(Public Key System)。這一體制是PKI發(fā)展的理論基礎(chǔ)。
3.3 計算機網(wǎng)絡(luò)的安全隱患。
計算機網(wǎng)絡(luò)的安全主要涉及高速電子信道傳輸?shù)臄?shù)據(jù)的安全問題,它包含兩個主要內(nèi)容:保密性,即防止非法地獲悉數(shù)據(jù);完整性,即防止非法地修改數(shù)據(jù)。兩種形式的攻擊威脅計算機網(wǎng)絡(luò)通信安全。第一種是被動竊聽(passive wiretapping),通常系指非法搭線竊聽,截取通信內(nèi)容后進行密碼分析,在計算機網(wǎng)絡(luò)通信環(huán)境,這種攻擊形式還可以用來監(jiān)視網(wǎng)絡(luò)通信的信號流,并確定通信雙方的身份。第二種是主動竊聽(active wiretapping),通常系指非法修改計算機網(wǎng)絡(luò)中傳輸?shù)膱笪?,例如,插入一條非法的報文、重發(fā)原先的報文、刪除一條報文、修改一條報文,等等。如下圖所示[3]: