莊城山
(安徽工業(yè)職業(yè)技術(shù)學(xué)院,安徽銅陵 244000)
公鑰基礎(chǔ)設(shè)施(PKI)原理淺析
莊城山
(安徽工業(yè)職業(yè)技術(shù)學(xué)院,安徽銅陵244000)
公鑰基礎(chǔ)設(shè)施PKI(Public Key Infrastructure)是一組利用非對(duì)稱(chēng)加密算法原理和技術(shù)實(shí)現(xiàn)并提供安全服務(wù)的具有通用性的技術(shù)規(guī)范和標(biāo)準(zhǔn)。文章以密碼學(xué)發(fā)展的3個(gè)階段為線索介紹了古典密碼學(xué)、現(xiàn)代密碼學(xué)和公鑰密碼學(xué)。通過(guò)形象的案例總結(jié)了公鑰密碼學(xué)的不足,介紹了當(dāng)前廣泛用于解決電子商務(wù)中安全問(wèn)題的公鑰基礎(chǔ)設(shè)施(PKI)技術(shù)。以此為基礎(chǔ)分析了PKI技術(shù)的工作原理和工作流程。
公鑰基礎(chǔ)設(shè)施(PKI);密碼學(xué);密鑰;證書(shū)
隨著計(jì)算機(jī)技術(shù),尤其是網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,人們通過(guò)網(wǎng)絡(luò)交互的信息量越來(lái)越大。網(wǎng)絡(luò)為人們之間的交流帶來(lái)巨大便利的同時(shí),也存在著巨大的安全隱患。經(jīng)過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)可能會(huì)被非法竊聽(tīng)。如何保證數(shù)據(jù)傳輸過(guò)程中的保密性、完整性和不可否認(rèn)性,是網(wǎng)絡(luò)安全技術(shù)里需要研究的重要課題。以公鑰密碼學(xué)為基礎(chǔ)的公鑰基礎(chǔ)設(shè)施(PKI)是排除這一隱患的重要手段。因公鑰基礎(chǔ)設(shè)施(PKI)工作原理較為復(fù)雜,理解通常較為困難。本文嘗試從應(yīng)用角度分析公鑰基礎(chǔ)設(shè)施(PKI)基本原理,旨在幫助初學(xué)者更加容易的了解和掌握這項(xiàng)技術(shù)。
1.古典密碼學(xué)階段
根據(jù)密碼學(xué)的發(fā)展歷程,通常將古代到1949年這一漫長(zhǎng)的時(shí)期稱(chēng)為古典密碼學(xué)階段。這一階段是密碼學(xué)的啟蒙階段,更多像一門(mén)藝術(shù)而不是科學(xué)。密碼專(zhuān)家根據(jù)信仰和智慧來(lái)設(shè)計(jì)和破解密碼,而不是后來(lái)的學(xué)者普遍采用的基于數(shù)學(xué)的推理和證明。
古典密碼學(xué)階段加密、解密的對(duì)象通常是各種字符。這個(gè)階段,數(shù)據(jù)的安全性只取決于加密算法的保密性。算法泄露,密碼也就很容易被人破解。這個(gè)階段比較有代表性的加密技術(shù)是 “替換密碼技術(shù)”和“換位密碼技術(shù)”??傮w來(lái)說(shuō)安全性較差,破解難度較低。
2.現(xiàn)代密碼學(xué)階段
1949年以shannon發(fā)表的一片文章 《保密系統(tǒng)的信息理論》(The Communication Theory of Secret Systems)為基礎(chǔ)建立了現(xiàn)代密碼學(xué)的基礎(chǔ)理論。從此密碼學(xué)真正成為一門(mén)科學(xué)。1949年到1975年這個(gè)階段被稱(chēng)為現(xiàn)代密碼學(xué)階段。
這一階段,數(shù)據(jù)的加密解密除了密碼,還需要密鑰。因加密解密使用相同密鑰,所以又稱(chēng)為對(duì)稱(chēng)加密算法。加密數(shù)據(jù)的安全性取決于密鑰的保密性,而不是加密算法本身。
DES(Data Encryption Standard)算法是一種最為典型的對(duì)稱(chēng)加密算法。是美國(guó)政府在1977年采納的數(shù)據(jù)加密標(biāo)準(zhǔn),最早由IBM公司設(shè)計(jì)并提出,后來(lái)被國(guó)際標(biāo)準(zhǔn)局采納為國(guó)際標(biāo)準(zhǔn)。
3.公鑰密碼學(xué)階段
從1976年至今的密碼學(xué)發(fā)展階段被稱(chēng)為公鑰密碼學(xué)階段。1976年,Differ和Hellman在他們發(fā)表的論文中第一次提出了公開(kāi)密鑰密碼學(xué)的概念,開(kāi)創(chuàng)了密碼學(xué)的新紀(jì)元。1977年由3位教授提出了RSA公鑰成為這個(gè)時(shí)期最為代表性的算法。
1.為什么會(huì)出現(xiàn)非對(duì)稱(chēng)密鑰加密算法
前面提到的現(xiàn)代密碼學(xué)階段的對(duì)稱(chēng)加密算法,加密解密使用同一密鑰。而如何將密鑰安全的分發(fā)給預(yù)定的通信對(duì)象存在困難。在實(shí)際應(yīng)用中很難有一種方法能夠保證密鑰正好能夠安全的分發(fā)到預(yù)定的通信對(duì)方,這正是對(duì)稱(chēng)加密算法的主要缺點(diǎn)。因此人們研發(fā)了另一種加密算法,即非對(duì)稱(chēng)加密算法。非對(duì)稱(chēng)加密算法創(chuàng)造性的將密鑰分為 “公鑰”和 “私鑰”?!八借€”需要保密,通常僅自己擁有?!肮€”無(wú)需保密,分配給通信對(duì)方。非對(duì)稱(chēng)加密算法近乎完美的解決了對(duì)稱(chēng)加密算法的缺點(diǎn)。
2.非對(duì)稱(chēng)加密算法的兩種主要應(yīng)用情境
(1)信息加密
圖1 信息加密
如圖1所示,如果Bob希望文件安全的傳遞給Alice,需要Alice有一對(duì)加密密鑰(公鑰)和解密密鑰(私鑰)。他需要先得到Alice的公鑰。利用Alice的公鑰將文件加密后得到密文再通過(guò)網(wǎng)絡(luò)傳送給Alice。Alice利用自己的私鑰對(duì)密文解密即可可到文件的原文。即使Bob之外的人得到了Alice的公鑰也不會(huì)對(duì)此過(guò)程產(chǎn)生不利影響。
(2)數(shù)字簽名
圖2 數(shù)字簽名
如圖2所示,進(jìn)行數(shù)字簽名需要Alice有一對(duì)公私密鑰,私鑰進(jìn)行簽名,公鑰用于驗(yàn)證簽名的真實(shí)性。如果Bob收到一封聲稱(chēng)來(lái)自Alice,并且已經(jīng)數(shù)字簽名的郵件。Bob要想驗(yàn)證其真實(shí)性,必須先得到Alice的公鑰。只有Alice的公鑰才能驗(yàn)證通過(guò)Alice私鑰對(duì)郵件的數(shù)字簽名。
以上兩種非對(duì)稱(chēng)加密算法的應(yīng)用情境看似十分完美,實(shí)際上也存在缺陷。無(wú)論是信息的加密,還是數(shù)字簽名的驗(yàn)證,都需要事先得到對(duì)方的公鑰(如在圖1、2中Bob需要得到Alice的公鑰)。關(guān)鍵問(wèn)題是Bob得到聲稱(chēng)來(lái)自Alice的公鑰就真的是來(lái)自Alice嗎?這就是公鑰的真實(shí)性和合法性問(wèn)題。
這正是非對(duì)稱(chēng)加密算法的缺點(diǎn)所在,即不容易簡(jiǎn)單的判斷出所得到的公鑰是否是來(lái)自預(yù)定的對(duì)象。其實(shí)這個(gè)問(wèn)題的解決不是一個(gè)單純的技術(shù)問(wèn)題。比如,你碰到一個(gè)陌生人,他自我介紹說(shuō):他叫張山。那他究竟是不是張山呢?無(wú)法直接從他的話語(yǔ)中得出正確結(jié)論,無(wú)論他做出怎么樣的保證。其實(shí)要想知道正確答案也很簡(jiǎn)單,只需要他出示一個(gè)能證明他身份的證件(如身份證)即可。只要我們能判斷證件的真?zhèn)危鸢副刈匀唤視???墒俏覀冊(cè)傧胂耄举|(zhì)上真的就是那張身份證起了作用,讓我們相信他就是張山嗎?不是的。我們真正相信的是簽發(fā)那個(gè)證件的權(quán)威機(jī)構(gòu)(公安部)。我們假設(shè)其分支機(jī)構(gòu)公安局是權(quán)威的,不會(huì)作假和出錯(cuò)的。當(dāng)這個(gè)權(quán)威給出證明說(shuō)那人確實(shí)是張山時(shí),我們肯定會(huì)相信的。
接下來(lái)我們所缺少的就是這樣一個(gè)公正的權(quán)威中心了。如果我們信任這個(gè)權(quán)威中心,我們就相信一切他給予證明的信息。在網(wǎng)絡(luò)里這個(gè)權(quán)威中心就叫CA,即證書(shū)辦法機(jī)構(gòu),又稱(chēng)數(shù)字證書(shū)認(rèn)證中心。作為電子商務(wù)交易中受信任的第三方,專(zhuān)門(mén)解決非對(duì)稱(chēng)加密算法中公鑰的合法性問(wèn)題。全世界有很多的知名證書(shū)頒發(fā)機(jī)構(gòu),如大名鼎鼎的verisign(威瑞信)。CA主要的工作就是審查用戶的申請(qǐng),核實(shí)用戶所提交的資料的真實(shí)性,頒發(fā)和管理證書(shū)。
所以在實(shí)際工作中直接使用的并不是公鑰,而是經(jīng)過(guò)CA簽署過(guò)后用戶的證書(shū)。證書(shū)的實(shí)質(zhì)和核心是公鑰。
1.什么是公鑰基礎(chǔ)設(shè)施(PKI)
公鑰基礎(chǔ)設(shè)施(PKI)是一個(gè)利用非對(duì)稱(chēng)加密算法原理和技術(shù)實(shí)現(xiàn)并提供安全服務(wù)的具有通用性的技術(shù)規(guī)范和標(biāo)準(zhǔn)。是管理非對(duì)稱(chēng)加密算法的密鑰和確認(rèn)信息,整合數(shù)字證書(shū)、公鑰加密技術(shù)和CA的系統(tǒng)。其結(jié)合了軟件、加密技術(shù)和組織需要進(jìn)行非對(duì)稱(chēng)加密算法的服務(wù)。
公鑰基礎(chǔ)設(shè)施(PKI)是一種遵循既定標(biāo)準(zhǔn)的密鑰管理平臺(tái),它通過(guò) “信息加密”和“數(shù)字簽名”等密碼服務(wù)及所必需的密鑰和證書(shū)管理體系,為實(shí)現(xiàn)網(wǎng)絡(luò)通信保密性、完整性和不可否認(rèn)性的一套完整、成熟可靠的解決方案。簡(jiǎn)單來(lái)說(shuō),PKI就是利用公鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施。PKI技術(shù)是信息安全技術(shù)的核心,也是電子商務(wù)的關(guān)鍵和基礎(chǔ)技術(shù)。
2.典型的PKI系統(tǒng)的構(gòu)成
完整的PKI系統(tǒng)必須具有權(quán)威認(rèn)證機(jī)構(gòu)(CA)、數(shù)字證書(shū)庫(kù)、密鑰備份及恢復(fù)系統(tǒng)、證書(shū)作廢系統(tǒng)、PKI應(yīng)用接口系統(tǒng)等基本構(gòu)成部分。構(gòu)建一個(gè)典型、完整的PKI系統(tǒng)也將圍繞著這五大部分來(lái)完成。
3.PKI系統(tǒng)的基本運(yùn)行模型
PKI系統(tǒng)的基本運(yùn)行模型如圖3所示
圖3 PKI系統(tǒng)運(yùn)行的基本模型
(1)CSP程序根據(jù)用戶提供的信息產(chǎn)生公,私密鑰對(duì)
(2)私鑰存儲(chǔ)在用戶的注冊(cè)表中,將公鑰和用戶信息發(fā)送給CA
(3)CA對(duì)用戶信息進(jìn)行審查后,用自己的私鑰簽署并頒發(fā)證書(shū)
(4)用戶下載CA所信任的CA的證書(shū)
(5)Alice將自己從CA申請(qǐng)的證書(shū)分配給Bob
(6)Bob使用從CA下載的證書(shū)驗(yàn)證從Alice得到的證書(shū)的真?zhèn)巍?/p>
PKI系統(tǒng)的運(yùn)行解決了公鑰合法性驗(yàn)證的問(wèn)題。首先Alice向CA申請(qǐng)證書(shū),Bob下載CA證書(shū),表示Alice和Bob都信任CA。頒發(fā)給Alice的證書(shū)是CA的私鑰簽署的,Bob又下載了CA的證書(shū)。其本質(zhì)類(lèi)似數(shù)字簽名的驗(yàn)證。所以Bob能夠容易的辨別Alice證書(shū)的合法性。
1.RSA加密算法
RSA算法是經(jīng)典的公開(kāi)密鑰加密算法,使用十分廣泛。RSA是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。當(dāng)時(shí)他們都在麻省理工學(xué)院工作,RSA就是他們?nèi)齻€(gè)姓氏開(kāi)頭字母拼在一起組成的。
2.安全套接字層(SSL)
目前電子商務(wù)行業(yè)發(fā)展勢(shì)頭迅猛,大有方興未艾之勢(shì)。電子商務(wù)關(guān)鍵信息的加密是電子商務(wù)信息安全領(lǐng)域需要考慮的重要內(nèi)容。公鑰密碼學(xué)的優(yōu)點(diǎn)是便于密碼的管理、分發(fā);缺點(diǎn)在于計(jì)算開(kāi)銷(xiāo)大、處理速度慢。在實(shí)際應(yīng)用中對(duì)稱(chēng)密鑰算法和公鑰加密算法經(jīng)常結(jié)合使用。SSL是兩者相結(jié)合的典型,所有以HTTPS開(kāi)頭的網(wǎng)頁(yè)的訪問(wèn)都是公鑰密碼學(xué)的典型應(yīng)用。
3.安全電子郵件
電子郵件是互聯(lián)網(wǎng)上的典型和普遍的應(yīng)用,但電子郵件的安全性問(wèn)題也日益凸顯。通過(guò)公鑰密碼學(xué)對(duì)郵件進(jìn)行簽名和加密,可以實(shí)現(xiàn)郵件的保密性,驗(yàn)證郵件的完整性和不可否證性,從而真正實(shí)現(xiàn)安全的電子郵件。
公鑰基礎(chǔ)設(shè)施(PKI)是以公鑰密碼學(xué)為基礎(chǔ)建立并提供服務(wù)的一套安全基礎(chǔ)設(shè)施。PKI技術(shù)是網(wǎng)絡(luò)安全技術(shù)的核心,也是電子商務(wù)的基礎(chǔ)和關(guān)鍵技術(shù)。目前,PKI技術(shù)的應(yīng)用非常廣泛,如:安全套接字層(SSL)、虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)、安全電子郵件等。對(duì)PKI技術(shù)的理解和掌握是學(xué)習(xí)網(wǎng)絡(luò)安全必備的基礎(chǔ)知識(shí),也是維護(hù)網(wǎng)絡(luò)安全所必備的知識(shí)和技能。
[1]石淑華,池瑞楠.計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)(第3版)[M].北京:人民郵電大學(xué)出版社,2012.
[2]鄧春紅.網(wǎng)絡(luò)安全原理與實(shí)務(wù)(第二版)[M].北京:北京理工大學(xué)出版社,2014.
[3]蔣亞軍.網(wǎng)絡(luò)安全技術(shù)與實(shí)踐[M].北京:人民郵電出版社,2012.
(責(zé)任編輯:方少卿)
2013年安徽省省級(jí)質(zhì)量工程項(xiàng)目“《網(wǎng)絡(luò)互聯(lián)技術(shù)》精品資源共享課程”(編號(hào):2013gxk159)。
TP309
A
1671-752X(2015)01-0060-03
2014-09-12
莊城山(1975-),男,安徽銅陵人,安徽工業(yè)職業(yè)技術(shù)學(xué)院信息系副主任,高級(jí)工程師,講師,碩士,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、復(fù)雜網(wǎng)絡(luò)。
銅陵職業(yè)技術(shù)學(xué)院學(xué)報(bào)2015年1期