施建華
(鹽城工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 鹽城 224005)
?
科技與應(yīng)用
電商環(huán)境中安全密鑰交換算法的應(yīng)用研究
施建華
(鹽城工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 鹽城 224005)
分析目前網(wǎng)絡(luò)安全通信中采用的各種密鑰交換的算法原理,接著對(duì)各種算法的優(yōu)缺點(diǎn)進(jìn)行對(duì)比分析,最后指出CA與Diffie-Hellman相結(jié)合的混合密鑰交換算法更適合在電子商務(wù)中使用,能更好地保證電子商務(wù)活動(dòng)中密鑰的安全交換,確保電子商務(wù)活動(dòng)的安全。
CA;Diffie-Hellman;非對(duì)稱(chēng)加密;混合密鑰交換算法
1問(wèn)題的提出
在電子商務(wù)發(fā)展的如火如荼的今天,網(wǎng)絡(luò)在線交易的便捷給生活帶來(lái)了極大的方便。人們?cè)絹?lái)越多地在線訂車(chē)票、在線訂賓館、在線購(gòu)物,等等。因此,很多敏感的個(gè)人信息以及個(gè)人銀行賬戶信息都將在網(wǎng)絡(luò)傳輸,雖然有各種安全措施,但是也經(jīng)常發(fā)生信息泄露,另外,有一些人利用他們所掌握的網(wǎng)絡(luò)技術(shù)在Internet上非法竊取、篡改、破壞用戶的數(shù)據(jù),給個(gè)人、單位和社會(huì)造成巨大的損失[1]。
為確保數(shù)據(jù)的傳輸、存儲(chǔ)安全,通常都會(huì)對(duì)傳輸?shù)臄?shù)據(jù)加密后存儲(chǔ)或傳輸,接收方收到數(shù)據(jù)后解密密文,還原明文。通常采用的加密算法主要有對(duì)稱(chēng)密鑰加密算法以及非對(duì)稱(chēng)密鑰加密算法。在安全的數(shù)據(jù)通信中,通信的雙方必須分別具有加密的密鑰以及解密的密鑰。一旦通信的密鑰被泄漏或破解,由其加密的信息就會(huì)被泄漏。因此,如何安全地交換或協(xié)商通信密鑰就成為至關(guān)重要的問(wèn)題,從而如何保證密鑰的安全,特別是安全的密碼交換就成為電子商務(wù)中安全信息交換的核心問(wèn)題。本文將分析目前安全秘鑰交換算法,然后試圖提出安全密鑰交換算法在電子商務(wù)中的應(yīng)用。
2安全密鑰交換算法
要實(shí)現(xiàn)安全的密鑰交換,通常采用的方法有:通過(guò)其他非計(jì)算機(jī)網(wǎng)絡(luò)的方式交換密碼;公鑰證書(shū);Diffie-Hellman算法等。
2.1通過(guò)其他非計(jì)算機(jī)網(wǎng)絡(luò)的方式交換
在實(shí)際的密鑰交換過(guò)程中,可以通過(guò)電話協(xié)商、短信等非網(wǎng)絡(luò)的方式來(lái)進(jìn)行密鑰的交換。這種方式適合臨時(shí)的少量的簡(jiǎn)單的密碼交換,對(duì)于大量的復(fù)雜的密碼交換實(shí)現(xiàn)起來(lái)比較困難,一般不采用此種方法。
2.2公鑰證書(shū)
通過(guò)CA發(fā)放的證書(shū)完成密鑰的交換,實(shí)際上是利用非對(duì)稱(chēng)的加密算法完成數(shù)據(jù)加密密鑰的安全交換,然后再利用數(shù)據(jù)加密密鑰完成數(shù)據(jù)的安全交換[2]。
在利用CA交換密鑰的一方通過(guò)獲取對(duì)方的公鑰證書(shū),獲取對(duì)方的公鑰Kpub,然后用對(duì)方的公鑰Kpub對(duì)將要用以數(shù)據(jù)加密的密鑰Kdata加密得到密文PKdata,同時(shí)也對(duì)該密文進(jìn)行數(shù)字簽名得到PKdataD,然后將PKdataD傳輸給對(duì)方。接收方收到信息后,首先用發(fā)送方的公鑰驗(yàn)證發(fā)送方的身份,然后用自己的私鑰解密PKdata,獲取被加密的密鑰Kdata,并用此密鑰加密需要安全交換的數(shù)據(jù)或解密接收到的密文,實(shí)現(xiàn)數(shù)據(jù)的安全傳輸。即使中間人獲取到PKdata,由于其沒(méi)有解密的私鑰,是沒(méi)有辦法解密獲取將用以數(shù)據(jù)加密解密的密鑰Kdata的。
采用此種方法進(jìn)行密鑰交換需要建立完整的公鑰基礎(chǔ)結(jié)構(gòu),實(shí)現(xiàn)起來(lái)相對(duì)比較復(fù)雜,在小型網(wǎng)絡(luò)中通常不采用該方法。
2.3Diffie-Hellman算法
Diffie-Hellman算法是一種著名的密鑰協(xié)商算法,這種算法可以使得信息交換的雙方通過(guò)公開(kāi)的非安全的網(wǎng)絡(luò)協(xié)商生成安全的共享密鑰[3]。這個(gè)算法的安全性是基于解決有限域中離散對(duì)數(shù)的困難性而提出的,這種算法及其變形都得到了廣泛的應(yīng)用。其核心技術(shù)是Diffie-Hellman交換技術(shù),根據(jù)模運(yùn)算的理論有3.3.1式成立:
gabmodp=damodp=cbmodp (3.1.1)
其中:d=gbmodp,c=gamodp
D-H算法具體的密鑰形成過(guò)程如下:
(1)A、B分別產(chǎn)生大的素?cái)?shù)g,p發(fā)送給對(duì)方;
(2)A、B利用g,p的值獨(dú)立形成私有的Diffie-Hellman密鑰a、b(不交換);
(3)A將c=gamodp的計(jì)算結(jié)果通過(guò)網(wǎng)絡(luò)傳送給B,B將d=gbmodp的計(jì)算結(jié)果傳送給A;
(4)最后A計(jì)算damodp,B計(jì)算cbmodp。根據(jù)3.3.1式它們相等,其值就是最后形成的共同的密鑰。
中間人可能獲取所有交換的信息g、p、d、c。由于不知道a、b就無(wú)法計(jì)算最后的值,也就無(wú)法計(jì)算密鑰。按理論知道g、p、d、c要計(jì)算a、b是屬于NP-完全問(wèn)題,計(jì)算出來(lái)幾乎是不可能的。
這種算法存在的主要問(wèn)題是算法本身沒(méi)有進(jìn)行通信雙方的身份認(rèn)證,在A、B交換信息時(shí)容易被中間人截獲,并冒充A與B建立會(huì)話,冒充B與A建立會(huì)話,這樣導(dǎo)致A、B交換的數(shù)據(jù)都被中間人截獲,泄露機(jī)密信息。為了防止中間人攻擊,就需要一種機(jī)制來(lái)驗(yàn)證A、B雙方的身份。
Diffie-Hellman算法的重要特點(diǎn)在于方便靈活,多應(yīng)用于不適合公開(kāi)密鑰算法的場(chǎng)合,特別是在一個(gè)小型系統(tǒng)中,如果為數(shù)不多的用戶建立一個(gè)CA并且維護(hù)整個(gè)證書(shū)系統(tǒng)是得不償失的。
3安全密鑰交換算法在電子商務(wù)中的應(yīng)用
由于公鑰基礎(chǔ)設(shè)施現(xiàn)在比較普遍地應(yīng)用于電子商務(wù),在電子商務(wù)活動(dòng)中密鑰的交換可以采用CA與Diffie-Hellman算法相結(jié)合的方式來(lái)完成。通過(guò)CA發(fā)放的證書(shū)來(lái)實(shí)現(xiàn)用戶身份的認(rèn)證,在此基礎(chǔ)上采用Diffie-Hellman算法進(jìn)行安全的密鑰交換。其具體實(shí)現(xiàn)就是將Diffie-Hellman交換的信息全部進(jìn)行公鑰加密以及數(shù)字簽名,這樣就保證了Diffie-Hellman密鑰交換算法不受到中間人的攻擊,保證密鑰交換的安全,具體過(guò)程如下:
A、B分別向證書(shū)服務(wù)器申請(qǐng)用于加密及數(shù)字簽名的證書(shū)。
證書(shū)服務(wù)器驗(yàn)證用戶身份,簽署發(fā)放用戶證書(shū)。
A產(chǎn)生大的素?cái)?shù)g,用B的公鑰證書(shū)中的公鑰加密,用A的私鑰進(jìn)行數(shù)字簽名,還可結(jié)合相應(yīng)的Hash算法保證數(shù)據(jù)的完整性,最后發(fā)送給對(duì)方。
B產(chǎn)生大的素?cái)?shù)p,用A的公鑰證書(shū)中的公鑰加密,用B的私鑰進(jìn)行數(shù)字簽名,還可結(jié)合相應(yīng)的Hash算法保證數(shù)據(jù)的完整性,最后發(fā)送給對(duì)方。
A、B接收到對(duì)方的數(shù)據(jù)后,用對(duì)方的公鑰驗(yàn)證簽名,確認(rèn)對(duì)方的身份,用私鑰解密被加密的信息g或p。
A、B利用g、p的值獨(dú)立形成私有的Diffie-Hellman密鑰a、b(不交換)。
A將c=gamodp的計(jì)算結(jié)果用B的公鑰證書(shū)中的公鑰加密,用A的私鑰進(jìn)行數(shù)字簽名,還可結(jié)合相應(yīng)的Hash算法保證數(shù)據(jù)的完整性,最后通過(guò)網(wǎng)絡(luò)傳送給B。
B將d=gbmodp的計(jì)算結(jié)果用A的公鑰證書(shū)中的公鑰加密,用B的私鑰進(jìn)行數(shù)字簽名,還可結(jié)合相應(yīng)的Hash算法保證數(shù)據(jù)的完整性,最后通過(guò)網(wǎng)絡(luò)傳送給A。
A、B接收到對(duì)方的數(shù)據(jù)后,用對(duì)方的公鑰驗(yàn)證簽名,確認(rèn)對(duì)方的身份,用私鑰解密被加密的信息d或c。
最后A計(jì)算damodp,B計(jì)算cbmodp。根據(jù)3.3.1式它們相等,其值就是最后形成的共同的密鑰。
該CA與Diffie-Hellman結(jié)合的密鑰交換算法進(jìn)一步增強(qiáng)了密鑰交換算法的安全性,使得破解的難度更高,同時(shí)有效地驗(yàn)證了通信雙方的身份,避免了中間人攻擊的發(fā)生。
目前,電子商務(wù)實(shí)際運(yùn)用中常常是兩者結(jié)合使用,用對(duì)稱(chēng)加密算法加密信息,用非對(duì)稱(chēng)加密算法加密要傳送的密鑰。同時(shí)也與Hash算法相結(jié)合實(shí)現(xiàn)數(shù)字簽名以及數(shù)字時(shí)間戳。
4結(jié)束語(yǔ)
CA與Diffie-Hellman相結(jié)合的密鑰交換算法,在技術(shù)上增強(qiáng)了密鑰交換的安全性,一定程度上保障了電子商務(wù)活動(dòng)的安全進(jìn)行。另外,要完全確實(shí)地保障電子商務(wù)活動(dòng)還需要完善的法律法規(guī)以及人們安全知識(shí)與安全意識(shí)的進(jìn)一步加強(qiáng)。
[1]李?lèi)偅R彪.網(wǎng)絡(luò)安全技術(shù)在電子商務(wù)中的應(yīng)用[J].無(wú)線互聯(lián)科技,2016.
[2]鄧強(qiáng),楊世平.基于公鑰密碼體制的RFID 三方相互認(rèn)證協(xié)議的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2015(12).
[3]蘇彬庭,許力.基于Diffie-Hellman的無(wú)線Mesh網(wǎng)絡(luò)快速認(rèn)證機(jī)制[J].山東大學(xué)學(xué)報(bào)(理學(xué)版),2016,9.
(責(zé)任編輯:孫強(qiáng))
The Security ofKey Exchange Algorithm and Its Application Study in E-Commerce
SHI Jianhua
(Yancheng Institute of Industry Technology, Yancheng, Jiangsu 224005, China)
This paper analyzes the key exchange algorithm theory used in the current security communications network, then compares the advantages and disadvantages of various algorithms, and finally concludes that mixed key exchange algorithm which combines CA and Diffie-Hellman is more suitable for e-commerce. It guaranteed the safety of key exchange activities in e-commerce,and ensured the security of e-commerce activities.
CA; Diffie-Hellman; asymmetric encryption; Mixed Key Exchange Algorithm
2016-10-30
施建華(1979- ),男,江蘇東臺(tái)人,經(jīng)貿(mào)管理學(xué)院講師,碩士,研究方向?yàn)槠髽I(yè)信息化與電子商務(wù)、網(wǎng)絡(luò)安全。
TP393
A
1671-4385(2016)06-0103-03