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