吳海軍
【摘 要】隨著信息社會(huì)的發(fā)展和電子商務(wù)的發(fā)展,信息安全越來(lái)越成為人們關(guān)注的問(wèn)題,網(wǎng)絡(luò)上數(shù)據(jù)傳輸?shù)陌踩猿蔀榱巳藗兪种匾暫完P(guān)注的事情,數(shù)據(jù)加密傳輸成為了國(guó)際上信息領(lǐng)域比較前言的課題。文中以公開(kāi)密鑰加密算法為理論基礎(chǔ),探討一下在Internet環(huán)境下的信息安全問(wèn)題和實(shí)現(xiàn)問(wèn)題。
【關(guān)鍵詞】信息安全;公開(kāi)密鑰;加密傳輸
中圖分類號(hào): TN918.6文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)10-0226-002
DOI:10.19694/j.cnki.issn2095-2457.2019.10.099
Research and Implementation of Public Key Encryption
WU Hai-jun
(College of Applied Engineering,Henan University of Science and Technology,Sanmenxia Henan 472000,China)
【Abstract】With the development of information society and e-commerce,information security has become a more and more concerned issue.The security of data transmission on the network has become a matter of great importance and concern.Data encryption and transmission has become a topic of comparative foreword in the international information field.Based on the theory of public key encryption algorithm,this paper discusses the information security and implementation in the Internet environment.
【Key words】Information security;Public key;Encrypted transmission
0 序言
雖然密碼學(xué)有著很悠久的歷史,但是復(fù)雜度比較高的密碼學(xué)還是在近代的數(shù)學(xué)理論尤其是數(shù)論出現(xiàn)以后才出現(xiàn)的,而用公開(kāi)密鑰加密的算法則出現(xiàn)的時(shí)間就更短,他是1976年Hellman等人才提出了公開(kāi)密鑰加密的算法?,F(xiàn)代密碼學(xué)里面的加密分為兩種:一種是對(duì)稱密鑰密碼體制加密,另一種是費(fèi)對(duì)稱密鑰密碼體制加密。
對(duì)稱密鑰加密,又稱私鑰加密,即信息的發(fā)送方和接收方用一個(gè)密鑰去加密和解密數(shù)據(jù)。它的最大優(yōu)勢(shì)是加/解密速度快,適合于對(duì)大數(shù)據(jù)量進(jìn)行加密,但密鑰管理困難。
對(duì)稱密鑰密碼體制又稱單密鑰密碼體制,是指加密密鑰和解密密鑰相同的密碼體制。這種密碼體制的保密性主要取決于對(duì)密鑰的保密,其加密和解密算法是公開(kāi)的。要保證對(duì)稱密鑰密碼體制的安全性,其加密算法必須足夠復(fù)雜,同時(shí)其密鑰必須保密并且有足夠大的密鑰空間,從而使得攻擊者在截取密文和知道加密算法的情況下,仍然無(wú)法還原出明文。最有影響的對(duì)稱密鑰密碼體制是1977年美國(guó)國(guó)家標(biāo)準(zhǔn)局須布的數(shù)據(jù)加密標(biāo)準(zhǔn)DES。
信息在網(wǎng)絡(luò)上傳輸?shù)臅r(shí)候,非對(duì)稱密鑰密碼算法相比較于對(duì)稱密鑰密碼算法有著無(wú)法代替的優(yōu)越性。對(duì)于進(jìn)行電子商務(wù)交易的商家來(lái)說(shuō),總是希望能夠在公開(kāi)的網(wǎng)絡(luò)上與成百上千的客戶進(jìn)行溝通和交易,如果使用對(duì)稱密鑰來(lái)進(jìn)行加密,那么商家就需要給每個(gè)客戶都分配一個(gè)密鑰,而且密碼傳輸時(shí)候必須有一個(gè)很安全的單獨(dú)通道。但是在非對(duì)稱密鑰加密算法中,則不需要這樣,商家只需要自己產(chǎn)生一對(duì)密鑰,然后公開(kāi)這個(gè)密鑰,客戶只需要用商家給的公開(kāi)的密鑰加密信息,就能安全地將信息傳輸給商家。
雖然非對(duì)稱密鑰密碼算法具有對(duì)稱密鑰算法不可替代的優(yōu)點(diǎn)[2],但是它也有很致命的弱點(diǎn),那就是速度太慢。所以在現(xiàn)實(shí)中,一般我們都是將兩種加密算法結(jié)合起來(lái)進(jìn)行的。
1 對(duì)稱密鑰密碼加密體制
對(duì)稱密鑰加密又叫專用密鑰加密或共享密鑰加密,即發(fā)送和接收數(shù)據(jù)的雙方必使用相同的密鑰對(duì)明文進(jìn)行加密和解密運(yùn)算。對(duì)稱密鑰加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。
DES是美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)局(NIST)在1977年才有的數(shù)據(jù)加密標(biāo)準(zhǔn),DES的思路就是參照二戰(zhàn)時(shí)期盟軍繳獲的德軍恩格瑪加密機(jī),當(dāng)然更為復(fù)雜和嚴(yán)謹(jǐn),文件編號(hào)為FIPS PUB46。老牌而強(qiáng)悍的加密算法,廣泛地使用使其頗具名氣。算法本身稱為DEA(數(shù)據(jù)加密算法)。DES是最常用的對(duì)稱加密算法。DES密匙長(zhǎng)度為56位,分組長(zhǎng)度為64位。為了提高加密強(qiáng)度,后來(lái)又發(fā)展出三重DES加密,即3DES。
對(duì)稱密鑰加密體制可以分為兩種模式:有中心加密模式和無(wú)中心加密模式。
1.1 有中心加密模式
有中心模式是指有一個(gè)獨(dú)立的密鑰中心,每個(gè)用戶都信任他[3]。這個(gè)中心為每個(gè)用戶分配一個(gè)密鑰,并且負(fù)責(zé)管理存儲(chǔ)所有的用戶密鑰。如果哪個(gè)用戶的密鑰泄露了,改中心就會(huì)將此密鑰標(biāo)記失效。
如果倆用戶之間要保密通信,那么需要就需要管理中心來(lái)驗(yàn)證對(duì)方密鑰是不是當(dāng)前用戶的和對(duì)方密鑰是不是已經(jīng)失效。
有中心加密模式有以下三個(gè)特點(diǎn):
a.因?yàn)槊荑€是隨機(jī)產(chǎn)生的,判斷不出是哪一個(gè)用戶的,所以密鑰管理中心就要保存密鑰與用戶的映射關(guān)系,那么有映射關(guān)系被篡改與密鑰被泄露的風(fēng)險(xiǎn)存在。
b.兩個(gè)用戶之間進(jìn)行保密通信的時(shí)候,就需要由密鑰管理中心來(lái)動(dòng)態(tài)地驗(yàn)證對(duì)方密鑰的合法性,這樣既不能進(jìn)行脫機(jī)保密通信,并且比較容易造成密碼管理中心的性能降低。
c.密鑰分配的次數(shù)和用戶的數(shù)目是一種線性關(guān)系。如果有N個(gè)用戶,那么久分配密鑰N次,并且每個(gè)用戶只能保管1個(gè)密鑰。
因?yàn)槊荑€管理中心需要安全的存儲(chǔ)所有密鑰以及它與每個(gè)用戶的對(duì)應(yīng)關(guān)系,并且需要時(shí)時(shí)在線驗(yàn)證每個(gè)密鑰的合法性,所以比較費(fèi)時(shí)費(fèi)力,因此這種模式不太適合大規(guī)模的公眾服務(wù)領(lǐng)域。
此種模式現(xiàn)如今比較成熟的應(yīng)用領(lǐng)域是磁條卡密碼應(yīng)用領(lǐng)域,事實(shí)上已經(jīng)成了銀行系統(tǒng)內(nèi)部事實(shí)上的密碼標(biāo)準(zhǔn)應(yīng)用,在國(guó)內(nèi)國(guó)外幾乎所有銀行都有廣泛應(yīng)用。為了防止存儲(chǔ)大量的用戶密鑰,并且能實(shí)現(xiàn)脫機(jī)交易,在電子錢包密碼應(yīng)用中系統(tǒng)引入了父密鑰機(jī)制,這種機(jī)制是基于用戶的一個(gè)唯一標(biāo)識(shí)也就是卡號(hào),然后由父密鑰直接產(chǎn)生一個(gè)密鑰即子密鑰,在所有客戶端以及所有設(shè)備里預(yù)先安全存入父密鑰,暫且不存入任何一個(gè)用戶的密鑰,當(dāng)用戶使用的時(shí)候,我們來(lái)驗(yàn)證密鑰和用戶是否匹配的時(shí)候,由本地存入的父密鑰和用戶卡號(hào)就可以很容易地計(jì)算出該用戶的密鑰,從而可以實(shí)現(xiàn)不聯(lián)網(wǎng)驗(yàn)證。
1.2 無(wú)中心加密模式
無(wú)中心模式則是兩個(gè)用戶通過(guò)協(xié)商得出一個(gè)共享密鑰,為了防止第三個(gè)用戶密鑰泄露影響到兩個(gè)用戶,每?jī)蓚€(gè)用戶之間的密鑰都應(yīng)該互相獨(dú)立,各不相同[4]。
為了防止密鑰泄露,當(dāng)兩個(gè)用戶之間要進(jìn)行保密通信的時(shí)候,并不是直接的用共享密碼來(lái)進(jìn)行加密和解密數(shù)據(jù),而是基于共享密鑰產(chǎn)生回話密鑰后,用會(huì)話密鑰來(lái)對(duì)數(shù)據(jù)進(jìn)行加密和解密。
無(wú)中心加密模式有以下三個(gè)特點(diǎn):
a.密鑰協(xié)商的次數(shù)是隨著用戶的數(shù)量呈現(xiàn)指數(shù)增長(zhǎng)的。
b.每個(gè)用戶都需要保存他與其他所有用戶的共享密鑰。當(dāng)有N個(gè)用戶時(shí),則每個(gè)用戶需要保管N-1個(gè)密鑰。
c.每?jī)蓚€(gè)用戶之間的密鑰協(xié)商靈活自由,不會(huì)受到其他用戶的任何影響。
正是因?yàn)閰f(xié)商次數(shù)是隨著用戶數(shù)量指數(shù)增長(zhǎng)的,并且每個(gè)用戶都要管理大量的共享密鑰,所以該模式也不適合大規(guī)模用戶使用。
2 非對(duì)稱密鑰密碼加密體制
與上述加密方式不同,非對(duì)稱密鑰加密體制主要是運(yùn)用了利用了一些數(shù)學(xué)上的理論問(wèn)題來(lái)實(shí)現(xiàn)的[5]。非對(duì)稱密鑰加密算法也稱公鑰加密算法,它是用兩對(duì)密鑰:一個(gè)專用密鑰和一個(gè)公用密鑰。公共密鑰可以發(fā)布出去,但是用戶要保障專用密鑰的安全[5]。專用密鑰與公共密鑰是有緊密聯(lián)系的,用公共密鑰加密的信息只能用專用密鑰解密,反之亦然。由于公鑰算法不需要聯(lián)機(jī)密鑰服務(wù)器,密鑰分配協(xié)議簡(jiǎn)單,所以極大簡(jiǎn)化了密鑰管理。除加密功能外,公鑰系統(tǒng)還可以提供數(shù)字簽名。
公鑰加密算法中使用最廣的是RSA。RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同開(kāi)發(fā)的,RSA是分別取自三名教授名字的首字母構(gòu)成的。RSA使用兩個(gè)密鑰,一個(gè)公共密鑰,一個(gè)專用密鑰。如用其中一個(gè)加密,則可用另一個(gè)解密,密鑰長(zhǎng)度從40到2048bit可變,加密時(shí)也把明文分成塊,塊的大小可變,但不能超過(guò)密鑰的長(zhǎng)度,RSA算法把每一塊明文轉(zhuǎn)化為與密鑰長(zhǎng)度相同的密文塊。密鑰越長(zhǎng),加密效果越好,但加密解密的開(kāi)銷也大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA的一個(gè)比較知名的應(yīng)用是SSL,在美國(guó)和加拿大SSL用128位RSA算法,由于出口限制,在其它地區(qū)(包括中國(guó))通用的則是40位版本。
公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術(shù)結(jié)合起來(lái)實(shí)現(xiàn)最佳性能。即用公共密鑰技術(shù)在通信雙方之間傳送專用密鑰,而用專用密鑰來(lái)對(duì)實(shí)際傳輸?shù)臄?shù)據(jù)加密解密。
3 小結(jié)
目前的數(shù)據(jù)加密的兩大分支:對(duì)稱密鑰加密和非對(duì)稱密鑰加密,對(duì)稱密鑰加密算法實(shí)際是傳統(tǒng)的加密方法,發(fā)展到今天己經(jīng)漸趨完備。在DES算法之后,雖然也產(chǎn)生了一些新的諸如IDEA等算法,但大都是為了彌補(bǔ)DES的密鑰長(zhǎng)度過(guò)短的的缺陷。而在加密手法上與DES大同小異,都是利用變換和替代的方法將原來(lái)的數(shù)據(jù)打亂,從而增加加密的難度。和對(duì)稱密鑰密碼體制幾千年的研究歷史比較起來(lái),非對(duì)稱密鑰密碼體制是密碼學(xué)上的一個(gè)新生事物,它是因應(yīng)軍事密碼體制之外的商業(yè)密碼機(jī)制的需求而誕生的。在實(shí)際的應(yīng)用中,對(duì)稱密鑰算法和非對(duì)稱密鑰算法必須相互結(jié)合,互相補(bǔ)充,才能完成在Internet網(wǎng)絡(luò)環(huán)境下對(duì)數(shù)據(jù)加密的要求。
【參考文獻(xiàn)】
[1]何洪磊.IPv6防火墻研究[J].計(jì)算機(jī)安全,2009.7:58-59.
[2]Bruce Schneier著,應(yīng)用密碼學(xué)[J],機(jī)械工業(yè)出版社,2001.
[3]李佳,公開(kāi)密鑰RSA算法分析與實(shí)現(xiàn)[J],科技廣場(chǎng),2012.