吳海軍
【摘 要】隨著信息社會的發展和電子商務的發展,信息安全越來越成為人們關注的問題,網絡上數據傳輸的安全性成為了人們十分重視和關注的事情,數據加密傳輸成為了國際上信息領域比較前言的課題。文中以公開密鑰加密算法為理論基礎,探討一下在Internet環境下的信息安全問題和實現問題。
【關鍵詞】信息安全;公開密鑰;加密傳輸
中圖分類號: TN918.6文獻標識碼: A文章編號: 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 序言
雖然密碼學有著很悠久的歷史,但是復雜度比較高的密碼學還是在近代的數學理論尤其是數論出現以后才出現的,而用公開密鑰加密的算法則出現的時間就更短,他是1976年Hellman等人才提出了公開密鑰加密的算法。現代密碼學里面的加密分為兩種:一種是對稱密鑰密碼體制加密,另一種是費對稱密鑰密碼體制加密。
對稱密鑰加密,又稱私鑰加密,即信息的發送方和接收方用一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快,適合于對大數據量進行加密,但密鑰管理困難。
對稱密鑰密碼體制又稱單密鑰密碼體制,是指加密密鑰和解密密鑰相同的密碼體制。這種密碼體制的保密性主要取決于對密鑰的保密,其加密和解密算法是公開的。要保證對稱密鑰密碼體制的安全性,其加密算法必須足夠復雜,同時其密鑰必須保密并且有足夠大的密鑰空間,從而使得攻擊者在截取密文和知道加密算法的情況下,仍然無法還原出明文。最有影響的對稱密鑰密碼體制是1977年美國國家標準局須布的數據加密標準DES。
信息在網絡上傳輸的時候,非對稱密鑰密碼算法相比較于對稱密鑰密碼算法有著無法代替的優越性。對于進行電子商務交易的商家來說,總是希望能夠在公開的網絡上與成百上千的客戶進行溝通和交易,如果使用對稱密鑰來進行加密,那么商家就需要給每個客戶都分配一個密鑰,而且密碼傳輸時候必須有一個很安全的單獨通道。但是在非對稱密鑰加密算法中,則不需要這樣,商家只需要自己產生一對密鑰,然后公開這個密鑰,客戶只需要用商家給的公開的密鑰加密信息,就能安全地將信息傳輸給商家。
雖然非對稱密鑰密碼算法具有對稱密鑰算法不可替代的優點[2],但是它也有很致命的弱點,那就是速度太慢。所以在現實中,一般我們都是將兩種加密算法結合起來進行的。
1 對稱密鑰密碼加密體制
對稱密鑰加密又叫專用密鑰加密或共享密鑰加密,即發送和接收數據的雙方必使用相同的密鑰對明文進行加密和解密運算。對稱密鑰加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。
DES是美國國家標準和技術局(NIST)在1977年才有的數據加密標準,DES的思路就是參照二戰時期盟軍繳獲的德軍恩格瑪加密機,當然更為復雜和嚴謹,文件編號為FIPS PUB46。老牌而強悍的加密算法,廣泛地使用使其頗具名氣。算法本身稱為DEA(數據加密算法)。DES是最常用的對稱加密算法。DES密匙長度為56位,分組長度為64位。為了提高加密強度,后來又發展出三重DES加密,即3DES。
對稱密鑰加密體制可以分為兩種模式:有中心加密模式和無中心加密模式。
1.1 有中心加密模式
有中心模式是指有一個獨立的密鑰中心,每個用戶都信任他[3]。這個中心為每個用戶分配一個密鑰,并且負責管理存儲所有的用戶密鑰。如果哪個用戶的密鑰泄露了,改中心就會將此密鑰標記失效。
如果倆用戶之間要保密通信,那么需要就需要管理中心來驗證對方密鑰是不是當前用戶的和對方密鑰是不是已經失效。
有中心加密模式有以下三個特點:
a.因為密鑰是隨機產生的,判斷不出是哪一個用戶的,所以密鑰管理中心就要保存密鑰與用戶的映射關系,那么有映射關系被篡改與密鑰被泄露的風險存在。
b.兩個用戶之間進行保密通信的時候,就需要由密鑰管理中心來動態地驗證對方密鑰的合法性,這樣既不能進行脫機保密通信,并且比較容易造成密碼管理中心的性能降低。
c.密鑰分配的次數和用戶的數目是一種線性關系。如果有N個用戶,那么久分配密鑰N次,并且每個用戶只能保管1個密鑰。
因為密鑰管理中心需要安全的存儲所有密鑰以及它與每個用戶的對應關系,并且需要時時在線驗證每個密鑰的合法性,所以比較費時費力,因此這種模式不太適合大規模的公眾服務領域。
此種模式現如今比較成熟的應用領域是磁條卡密碼應用領域,事實上已經成了銀行系統內部事實上的密碼標準應用,在國內國外幾乎所有銀行都有廣泛應用。為了防止存儲大量的用戶密鑰,并且能實現脫機交易,在電子錢包密碼應用中系統引入了父密鑰機制,這種機制是基于用戶的一個唯一標識也就是卡號,然后由父密鑰直接產生一個密鑰即子密鑰,在所有客戶端以及所有設備里預先安全存入父密鑰,暫且不存入任何一個用戶的密鑰,當用戶使用的時候,我們來驗證密鑰和用戶是否匹配的時候,由本地存入的父密鑰和用戶卡號就可以很容易地計算出該用戶的密鑰,從而可以實現不聯網驗證。
1.2 無中心加密模式
無中心模式則是兩個用戶通過協商得出一個共享密鑰,為了防止第三個用戶密鑰泄露影響到兩個用戶,每兩個用戶之間的密鑰都應該互相獨立,各不相同[4]。
為了防止密鑰泄露,當兩個用戶之間要進行保密通信的時候,并不是直接的用共享密碼來進行加密和解密數據,而是基于共享密鑰產生回話密鑰后,用會話密鑰來對數據進行加密和解密。
無中心加密模式有以下三個特點:
a.密鑰協商的次數是隨著用戶的數量呈現指數增長的。
b.每個用戶都需要保存他與其他所有用戶的共享密鑰。當有N個用戶時,則每個用戶需要保管N-1個密鑰。
c.每兩個用戶之間的密鑰協商靈活自由,不會受到其他用戶的任何影響。
正是因為協商次數是隨著用戶數量指數增長的,并且每個用戶都要管理大量的共享密鑰,所以該模式也不適合大規模用戶使用。
2 非對稱密鑰密碼加密體制
與上述加密方式不同,非對稱密鑰加密體制主要是運用了利用了一些數學上的理論問題來實現的[5]。非對稱密鑰加密算法也稱公鑰加密算法,它是用兩對密鑰:一個專用密鑰和一個公用密鑰。公共密鑰可以發布出去,但是用戶要保障專用密鑰的安全[5]。專用密鑰與公共密鑰是有緊密聯系的,用公共密鑰加密的信息只能用專用密鑰解密,反之亦然。由于公鑰算法不需要聯機密鑰服務器,密鑰分配協議簡單,所以極大簡化了密鑰管理。除加密功能外,公鑰系統還可以提供數字簽名。
公鑰加密算法中使用最廣的是RSA。RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同開發的,RSA是分別取自三名教授名字的首字母構成的。RSA使用兩個密鑰,一個公共密鑰,一個專用密鑰。如用其中一個加密,則可用另一個解密,密鑰長度從40到2048bit可變,加密時也把明文分成塊,塊的大小可變,但不能超過密鑰的長度,RSA算法把每一塊明文轉化為與密鑰長度相同的密文塊。密鑰越長,加密效果越好,但加密解密的開銷也大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA的一個比較知名的應用是SSL,在美國和加拿大SSL用128位RSA算法,由于出口限制,在其它地區(包括中國)通用的則是40位版本。
公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實際傳輸的數據加密解密。
3 小結
目前的數據加密的兩大分支:對稱密鑰加密和非對稱密鑰加密,對稱密鑰加密算法實際是傳統的加密方法,發展到今天己經漸趨完備。在DES算法之后,雖然也產生了一些新的諸如IDEA等算法,但大都是為了彌補DES的密鑰長度過短的的缺陷。而在加密手法上與DES大同小異,都是利用變換和替代的方法將原來的數據打亂,從而增加加密的難度。和對稱密鑰密碼體制幾千年的研究歷史比較起來,非對稱密鑰密碼體制是密碼學上的一個新生事物,它是因應軍事密碼體制之外的商業密碼機制的需求而誕生的。在實際的應用中,對稱密鑰算法和非對稱密鑰算法必須相互結合,互相補充,才能完成在Internet網絡環境下對數據加密的要求。
【參考文獻】
[1]何洪磊.IPv6防火墻研究[J].計算機安全,2009.7:58-59.
[2]Bruce Schneier著,應用密碼學[J],機械工業出版社,2001.
[3]李佳,公開密鑰RSA算法分析與實現[J],科技廣場,2012.