近年來(lái),互聯(lián)網(wǎng)的高速發(fā)展,給人們的工作和生活帶來(lái)了極大的便利。然而,隨著網(wǎng)絡(luò)電子事務(wù)日益頻繁,網(wǎng)絡(luò)本身的一些固有技術(shù)缺陷也帶來(lái)了一些不可避免的安全性問(wèn)題。例如:
// 訪問(wèn)網(wǎng)站時(shí),怎么確定該網(wǎng)站可信賴,是正規(guī)網(wǎng)站?
// 軍工類網(wǎng)站或者系統(tǒng),要求訪問(wèn)用戶必須是可信的,那么如何證明法訪問(wèn)用戶是可信的?
// 郵件發(fā)送過(guò)程中,怎么確保交易雙方接收到的數(shù)據(jù)與原數(shù)據(jù)完全一致,不會(huì)存在安全問(wèn)題?
隨著互聯(lián)網(wǎng)安全的問(wèn)題日益突出,各種互聯(lián)網(wǎng)安全解決方案也愈加豐富。本文將以PKI技術(shù)為著眼點(diǎn),探討互聯(lián)網(wǎng)及其相關(guān)應(yīng)用的安全訪問(wèn)和治理之道。
PKI定義
公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,簡(jiǎn)稱:PKI)是一個(gè)包括硬件、軟件、人員、策略和規(guī)程的集合,用來(lái)實(shí)現(xiàn)基于公鑰密碼體制的密鑰和證書的產(chǎn)生、管理、存儲(chǔ)、分發(fā)和撤銷等功能。
PKI體系是計(jì)算機(jī)軟硬件、權(quán)威機(jī)構(gòu)及應(yīng)用系統(tǒng)的結(jié)合。它為實(shí)施電子商務(wù)、電子政務(wù)、辦公自動(dòng)化等提供了基本的安全服務(wù),從而使那些彼此不認(rèn)識(shí)或距離很遠(yuǎn)的用戶能通過(guò)信任鏈安全地交流。
PKI系統(tǒng)組成
完整的 PKI 系統(tǒng)由數(shù)字證書、認(rèn)證中心(CA)、證書資料庫(kù)、證書吊銷系統(tǒng)、密鑰備份及恢復(fù)系統(tǒng)等部分組件構(gòu)成。
組件說(shuō)明
數(shù)字證書
PKI中核心載體為數(shù)字證書,即由具有公信力的機(jī)構(gòu)為個(gè)人頒發(fā)的身份ID,其可看作個(gè)人在虛擬網(wǎng)絡(luò)世界的身份ID。
數(shù)字證書的分類一般為4大類:根據(jù)證書持有者分類、根據(jù)秘鑰分類、根據(jù)驗(yàn)證模式分類以及根據(jù)域名分類。
CA中心
CA 中心管理并運(yùn)營(yíng) CA 系統(tǒng),CA 系統(tǒng)負(fù)責(zé)頒發(fā)數(shù)字證書。專門負(fù)責(zé)頒發(fā)數(shù)字證書的系統(tǒng)稱為 CA 系統(tǒng),負(fù)責(zé)管理并運(yùn)營(yíng) CA 系統(tǒng)的機(jī)構(gòu)稱為 CA 中心。所有與數(shù)字證書相關(guān)的各種概念和技術(shù),統(tǒng)稱為 PKI(Public Key Infrastructure)。
PKI的意義
PKI的應(yīng)用非常廣泛,其主要包括網(wǎng)上金融、網(wǎng)上銀行、網(wǎng)上證券、電子商務(wù)、電子政務(wù)等行業(yè),其主要作用是為網(wǎng)絡(luò)中的數(shù)據(jù)交換提供完備的安全服務(wù)功能。PKI作為安全基礎(chǔ)設(shè)施,能夠提供身份認(rèn)證、數(shù)據(jù)完整性、數(shù)據(jù)保密性、數(shù)據(jù)公正性、不可抵賴性和時(shí)間戳六種安全服務(wù)。
身份認(rèn)證
由于網(wǎng)絡(luò)具有開放性和匿名性等特點(diǎn),非法用戶通過(guò)一些技術(shù)手段假冒他人身份進(jìn)行網(wǎng)上欺詐的門檻越來(lái)越低,從而對(duì)合法用戶和系統(tǒng)造成極大的危害。身份認(rèn)證的實(shí)質(zhì)就是證實(shí)被認(rèn)證對(duì)象是否真實(shí)和是否有效的過(guò)程,被認(rèn)為是當(dāng)今網(wǎng)上交易的基礎(chǔ)。在PKI體系中,認(rèn)證中心(Certification Authority,CA)為系統(tǒng)內(nèi)每個(gè)合法用戶辦一個(gè)網(wǎng)上身份認(rèn)證。
數(shù)據(jù)完整性(電子郵件)
數(shù)據(jù)的完整性就是防止非法篡改信息,如修改、復(fù)制、插入、刪除等。在交易過(guò)程中,要確保交易雙方接收到的數(shù)據(jù)與原數(shù)據(jù)完全一致,否則交易將存在安全問(wèn)題。如果依靠觀察的方式來(lái)判斷數(shù)據(jù)是否發(fā)生過(guò)改變,在大多數(shù)情況下是不現(xiàn)實(shí)的。在網(wǎng)絡(luò)安全中,一般使用散列函數(shù)的方法(Hash函數(shù),也稱密碼雜湊函數(shù))來(lái)保證通信時(shí)數(shù)據(jù)的完整性。通過(guò)Hash算法我們將任意長(zhǎng)度的數(shù)據(jù)通過(guò)變換為長(zhǎng)度固定的數(shù)字摘要(消息認(rèn)證碼,MAC),并且原始數(shù)據(jù)中任何一位的改變都將會(huì)在相同的計(jì)算條件下產(chǎn)生截然不同的數(shù)字摘要。
這一特性使得人們很容易判斷原始數(shù)據(jù)是否發(fā)生非法篡改,從而很好地保證了數(shù)據(jù)的完整性和準(zhǔn)確性。PKI系統(tǒng)主要采用的散列算法有SHA一1和MD一5。
數(shù)據(jù)保密性(服務(wù)訪問(wèn))
數(shù)據(jù)的保密性就是對(duì)需要保護(hù)的數(shù)據(jù)進(jìn)行加密,從而保證信息在傳輸和存儲(chǔ)過(guò)程中不被未授權(quán)人獲取。在PKl系統(tǒng)中,所有的保密性都是通過(guò)密碼技術(shù)實(shí)現(xiàn)的。密鑰對(duì)分為兩種,一種稱作加密密鑰對(duì),用作加解密;另一種稱作簽名密鑰對(duì),用作簽名。一般情況下,用來(lái)加解密的密鑰對(duì)并不對(duì)實(shí)際的大量數(shù)據(jù)進(jìn)行加解密,只是用于協(xié)商會(huì)話密鑰,而真正用于大量數(shù)據(jù)加解密的是會(huì)話密鑰。
在實(shí)際的數(shù)據(jù)通信中,首先發(fā)送方產(chǎn)生一個(gè)用于實(shí)際數(shù)據(jù)加密的對(duì)稱算法密鑰,此密鑰被稱為會(huì)話密鑰,用此密鑰對(duì)所需處理的數(shù)據(jù)進(jìn)行加密。然后,發(fā)送方使用接收方加密密鑰對(duì)應(yīng)的公鑰對(duì)會(huì)話密鑰進(jìn)行加密,連同經(jīng)過(guò)加密處理的數(shù)據(jù)一起傳送給接收方。接收方收到這些信息后,首先用自己加密密鑰對(duì)中的私鑰解密會(huì)話密鑰,然后用會(huì)話密鑰(對(duì)稱秘鑰)對(duì)實(shí)際數(shù)據(jù)進(jìn)行解密。
不可抵賴性(合同)
不可抵賴性保證參與雙方不能否認(rèn)自己曾經(jīng)做過(guò)的事情。在PKI系統(tǒng)中,不可抵賴性來(lái)源于數(shù)字簽名。由于用戶進(jìn)行數(shù)字簽名的時(shí)候.簽名私鑰只能被簽名者自己掌握,系統(tǒng)中的其他實(shí)體不能做出這樣的簽名,因此,在私鑰安全的假設(shè)下簽名者就不能否認(rèn)自己做出的簽名。保護(hù)簽名私鑰的安全性是不可抵賴問(wèn)題的基礎(chǔ)。
數(shù)字簽名
由于單一的、獨(dú)一無(wú)二的私鑰創(chuàng)建了簽名,所以在被簽名數(shù)據(jù)與私鑰對(duì)應(yīng)的實(shí)體之間可以建立一種聯(lián)系,這種聯(lián)系通過(guò)使用實(shí)體公鑰驗(yàn)證簽名來(lái)實(shí)現(xiàn)。如果簽名驗(yàn)證正確,并且從諸如可信實(shí)體簽名的公鑰證書中知道了用于驗(yàn)證簽名的公鑰對(duì)應(yīng)的實(shí)體,那么就可以用數(shù)字簽名來(lái)證明被數(shù)字簽名數(shù)據(jù)確實(shí)來(lái)自證書中標(biāo)識(shí)的實(shí)體。因此,PKI的數(shù)字簽名服務(wù)分為兩部分:簽名生成服務(wù)和簽名驗(yàn)證服務(wù)。
簽名生成服務(wù)要求能夠訪問(wèn)簽名者的私鑰,由于該私鑰代表了簽名者,所以是敏感信息,必須加以保護(hù)。如果被盜,別人就可以冒充簽名者用該密鑰簽名。因此,簽名服務(wù)通常是安全應(yīng)用程序中能夠安全訪問(wèn)簽名私鑰的那一部分。
相反,簽名驗(yàn)證服務(wù)要開放一些,公鑰一旦被可信簽名者簽名,通常就被認(rèn)為是公共信息。驗(yàn)證服務(wù)接收簽名數(shù)據(jù)、簽名、公鑰或公鑰證書,然后檢查簽名對(duì)所提供的數(shù)據(jù)是否有效。它返回驗(yàn)證成功與否的標(biāo)識(shí)。
小結(jié)
針對(duì)PKI派拉能提供什么?
認(rèn)證中心:數(shù)字證書的申請(qǐng)及簽發(fā)機(jī)關(guān)(CA,自己簽發(fā)自己);
證書資料庫(kù):存儲(chǔ)已簽發(fā)的數(shù)字證書和公鑰,以及相關(guān)證書目錄,用戶可由此獲得所需的其他用戶證書及公鑰;
證書歷史吊銷列表:可以提供給用戶所有有效,無(wú)效、過(guò)期等證書;
PKI應(yīng)用接口:為各種各樣的應(yīng)用提供安全、一致、 可信的方式與PKI交互,確保建立起來(lái)的網(wǎng)絡(luò)環(huán)境安全可靠;
目錄服務(wù)系統(tǒng)(LDAP):解決數(shù)字證書查詢和下載的性能問(wèn)題,避免 CA 中心成為性能瓶頸;
在線證書狀態(tài)驗(yàn)證系統(tǒng)(OCSP):方便用戶快速獲得證書狀態(tài),是否需要執(zhí)行吊銷等操作。
PKI是實(shí)現(xiàn)身份鑒別、數(shù)據(jù)保密性、完整性、不可否認(rèn)性等安全服務(wù)的重要支撐,PKI體系讓安全保護(hù)不再單一的依托于軟件,而是采取硬件形態(tài)的安全模塊,為個(gè)人重要信息提供底層的安全加固和更高規(guī)格的安全保障。