- 相關(guān)推薦
基于PKI的電子商務(wù)信息安全性研究
[摘 要]針對(duì)電子商務(wù)中信息的機(jī)密性和完整性要求,文章提出了一種基于PKI機(jī)制的公鑰加密解決方法文章首先先容了PKI的定義和功能,接著先容了公鑰密碼系統(tǒng)的加密算法,然后重點(diǎn)闡述了確保信息機(jī)密性和完整性的應(yīng)用模型,從而為電子商務(wù)的信息安全提供了理論基礎(chǔ)[關(guān)鍵詞]電子商務(wù);PKI;公鑰密碼系統(tǒng)
前 言
電子商務(wù)(E-Commerce)是在Internet開(kāi)放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器服務(wù)器的應(yīng)用方式,實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物商戶之間的網(wǎng)上交易和在線電子支付的貿(mào)易運(yùn)營(yíng)模式最近幾年,電子商務(wù)以其便利快捷的特點(diǎn)迅速發(fā)展起來(lái),但是安全題目一直是阻礙其發(fā)展的關(guān)鍵因素固然PKI的研究和應(yīng)用為互聯(lián)網(wǎng)絡(luò)安全提供了必要的基礎(chǔ)設(shè)施,但是電子商務(wù)信息的機(jī)密性和完整性仍然是迫切需要解決的題目,本文針對(duì)這一題目展開(kāi)了深進(jìn)研究并提出了解決方法
1 PKI的定義和功能
PKI——公鑰基礎(chǔ)設(shè)施,是構(gòu)建網(wǎng)絡(luò)應(yīng)用的安全保障,專為開(kāi)放型大型互聯(lián)網(wǎng)的應(yīng)用環(huán)境而設(shè)計(jì)PKI是對(duì)公鑰所表示的信任關(guān)系進(jìn)行治理的一種機(jī)制,它為Internet用戶和應(yīng)用程序提供公鑰加密和數(shù)字簽名服務(wù),目的是為了治理密鑰和證書,保證網(wǎng)上數(shù)字信息傳輸?shù)臋C(jī)密性真實(shí)性完整性和不可否認(rèn)性,以使用戶能夠可靠地使用非對(duì)稱密鑰加密技術(shù)來(lái)增強(qiáng)自己的安全水平PKI的功能主要包括:公鑰加密證書發(fā)布證書確認(rèn)證書撤銷
2 公鑰密碼系統(tǒng)
由于PKI廣泛應(yīng)用于電子商務(wù),故文章重點(diǎn)放在討論RSA公鑰密碼系統(tǒng)上RSA的安全性是基于數(shù)論和計(jì)算復(fù)雜性理論中的下述論斷:求兩個(gè)大素?cái)?shù)的乘積在計(jì)算上是輕易的,但若分解兩個(gè)大素?cái)?shù)的積而求出它的因子則在計(jì)算上是困難的,它屬于NPI類
2. 1RSA系統(tǒng)
RSA使用的一個(gè)密鑰對(duì)是由兩個(gè)大素?cái)?shù)經(jīng)過(guò)運(yùn)算產(chǎn)生的結(jié)果:其中一個(gè)是公鑰,為眾多實(shí)體所知;另外一個(gè)是私鑰,為了確保其保密性和完整性,必須嚴(yán)格控制并只有其所有者才能使用RSA加密算法的最基本特征就是用密鑰對(duì)中的一個(gè)密鑰加密的消息只能用另外一個(gè)解密,這也就體現(xiàn)了RSA系統(tǒng)的非對(duì)稱性RSA具有加密和數(shù)字簽名功能RSA產(chǎn)生公鑰/私鑰對(duì)加解密的過(guò)程如下:
2. 1. 1產(chǎn)生一個(gè)公鑰/私鑰對(duì)
(1)選取兩個(gè)大素?cái)?shù)p和q,為了獲得最大程度的安全性,兩個(gè)數(shù)的長(zhǎng)度最好相同兩個(gè)素?cái)?shù)p和q必須保密
(2)計(jì)算p與q的乘積:n =p*q
(3)再由p和q計(jì)算另一個(gè)數(shù)z = (p-1)*(q-1)
(4)隨機(jī)選取加密密鑰e,使e和z互素
(5)用歐幾里得擴(kuò)展算法計(jì)算解密密鑰d,以滿足e*d = 1mod(z)
(6)由此而得到的兩組數(shù)(n,e)和(n,d)分別被稱為公鑰和私鑰
2. 1. 2加密/解密過(guò)程
RSA的加密方法是一個(gè)實(shí)體用另外一個(gè)實(shí)體的公鑰完成加密過(guò)程,這就答應(yīng)多個(gè)實(shí)體發(fā)送一個(gè)實(shí)體加密過(guò)的消息而不用事先交換秘密鑰或者私鑰,并且由于加密是用公鑰執(zhí)行的,所以解密只能用其對(duì)應(yīng)的私鑰來(lái)完成,因此只有目標(biāo)接受者才能解密并讀取原始消息
在實(shí)際操縱中,RSA采用一種分組加密算法,加密消息m時(shí),首先將它分成比n小的數(shù)據(jù)分組(采用二進(jìn)制數(shù),選取小于n的2的最大次冪),加密后的密文c,將由相同長(zhǎng)度的分組ci組成加密公式簡(jiǎn)化為:
ci =mie(modn)
即對(duì)于明文m,用公鑰(n,e)加密可得到密文c:
c = memod n ,其中m = {mi|i=0,1,2,…},c= (ci|i=0,1,2,…)
解密消息時(shí),取每一個(gè)加密后的分組ci并計(jì)算:mi=ci d(mod n),便能恢復(fù)出明文即對(duì)于密文c,用接收者的私鑰(n,d)解密可得到明文m:
m = cd mod nm = {mi|i=0,1,2,…},c= (ci|i=0,1,2,…)
2. 1. 3數(shù)字簽名
RSA的數(shù)字簽名是加密的相反方式,即由一個(gè)實(shí)體用它的私鑰將明文加密而天生的這種加密答應(yīng)一個(gè)實(shí)體向多個(gè)實(shí)體發(fā)送消息,并且事先不需交換秘密鑰或加密私鑰,接收者用發(fā)送者的公鑰就可以解密
RSA的數(shù)字簽名過(guò)程如下:
s = md mod n , 其中m是消息,s是數(shù)字簽名的結(jié)果,d和n是消息發(fā)送者的私鑰
消息的解密過(guò)程如下:
m = se mod n , 其中e和n是發(fā)送者的公鑰
2. 1. 4散列(Hash)函數(shù)
MD5與SHA1都屬于Hash函數(shù)標(biāo)準(zhǔn)算法中兩大重要算法,就是把一個(gè)任意長(zhǎng)度的信息經(jīng)過(guò)復(fù)雜的運(yùn)算變成一個(gè)固定長(zhǎng)度的數(shù)值或者信息串,主要用于證實(shí)原文的完整性和正確性,是為電子文件加密的重要工具一般來(lái)說(shuō),對(duì)于給出的一個(gè)文件要算它的Hash碼很輕易,但要從Hash碼找出相應(yīng)的文件算法卻很難Hash函數(shù)最根本的特點(diǎn)是這種變換具有單向性,一旦數(shù)據(jù)被轉(zhuǎn)換,就無(wú)法再以確定的方法獲得其原始值,從而無(wú)法控制變換得到的結(jié)果,達(dá)到防止信息被篡改的目的由于Hash函數(shù)的這種不可逆特性,使其非常適合被用來(lái)確定原文的完整性,從而被廣泛用于數(shù)字簽名
2. 2對(duì)稱密碼系統(tǒng)
對(duì)稱密碼系統(tǒng)的基本特點(diǎn)是解密算法就是加密算法的逆運(yùn)算,加秘密鑰就是解秘密鑰它通常用來(lái)加密帶有大量數(shù)據(jù)的報(bào)文和問(wèn)卷通訊的信息,由于這兩種通訊可實(shí)現(xiàn)高速加密算法在對(duì)稱密碼系統(tǒng)中發(fā)送者和接收者之間的密鑰必須安全傳送,而雙方實(shí)體通訊所用的秘密鑰也必須妥善保管
3 應(yīng)用模型
利用公鑰加密系統(tǒng)可以解決電子商務(wù)中信息的機(jī)密性和完整性的要求,下面是具體的應(yīng)用模型在本例中,Alice與Bob兩個(gè)實(shí)體共享同一個(gè)信任點(diǎn),即它們使用同一CA簽發(fā)的數(shù)字證書因此,它們無(wú)需評(píng)價(jià)信任鏈往決定是否信任其他CA
3. 1預(yù)備工作
(1)Alice與Bob各自天生一個(gè)公鑰/私鑰對(duì);
(2)Alice與Bob向RA(代理機(jī)構(gòu))提供各自的公鑰名稱和描述信息;
(3)RA審核它們的身份并向CA提交證書申請(qǐng);
(4)CA格式化Alice和Bob的公鑰及其他信息,為Alice和Bob分別天生公鑰證書,然后用自己的私鑰對(duì)證書進(jìn)行數(shù)字簽名;
(5)上述過(guò)程的結(jié)果是,Alice與Bob分別擁有各自的一個(gè)公鑰/私鑰對(duì)和公鑰證書;
(6)Alice與Bob各自天生一個(gè)對(duì)稱秘密鑰
現(xiàn)在,Alice和Bob擁有各自的一個(gè)公鑰/私鑰對(duì),由共同信任的第三方頒發(fā)的數(shù)字證書以及一個(gè)對(duì)稱密鑰
3. 2處理過(guò)程
假設(shè)現(xiàn)在Alice欲發(fā)送消息給Bob,并且要求確保數(shù)據(jù)的完整性,即消息內(nèi)容不能發(fā)生變動(dòng);同時(shí)Alice和Bob都希看確保信息的機(jī)密性,即不容許除雙方之外的其他實(shí)體能夠查看該消息完成這樣要求的處理過(guò)程如下:其中步驟1~5說(shuō)明Alice加密消息過(guò)程;步驟6~10說(shuō)明Bob解密消息的過(guò)程 (1)Alice按照雙方約定的規(guī)則格式化消息,然后用Hash函數(shù)取得該消息的散列值,該值將被用來(lái)測(cè)試消息的正當(dāng)性和完整性
(2)Alice用私鑰對(duì)消息和散列值進(jìn)行簽名(加密)這一簽名確保了消息的完整性,由于Bob以為只有Alice能夠天生該簽名,這是由于只有Alice能夠使用自己的私鑰為該消息簽名值得留意的是:現(xiàn)在任何有權(quán)訪問(wèn)Alice公鑰的實(shí)體都能解密該被簽名的消息,所以我們僅僅是保證了消息的完整性,而沒(méi)有確保其機(jī)密性
(3)由于Alice和Bob之間想保持消息的機(jī)密性,所以Alice用它的對(duì)稱秘密鑰加密被簽名的消息和散列值這一對(duì)稱秘密鑰只有Alice和Bob共享而不被其他實(shí)體所用留意,在本例中,我們使用了一個(gè)對(duì)稱秘密鑰,這是由于對(duì)于加密較長(zhǎng)消息諸如訂購(gòu)信息來(lái)說(shuō),利用對(duì)稱加密比公鑰加密更為有效
(4)Alice必須向Bob提供它用來(lái)給消息加密的對(duì)稱秘密鑰,以使得Bob能夠用其解密被Alice加密過(guò)的消息Alice用Bob的公鑰將自己的對(duì)稱秘密鑰簽名(加密),這里我們假設(shè)Alice事先已經(jīng)獲得Bob的公鑰,這樣就形成了一個(gè)數(shù)字信箋,并且只有Bob才能將其打開(kāi)(解密),由于只有Bob能夠訪問(wèn)用來(lái)打開(kāi)該數(shù)字信箋的私鑰留意,一個(gè)公鑰/私鑰對(duì)中,用其中一個(gè)密鑰加密的信息只有用另外一個(gè)密鑰才能解密這就為Alice向Bob傳輸對(duì)稱秘密鑰提供了機(jī)密性
(5)Alice發(fā)送給Bob的信息包括它用對(duì)稱秘密鑰加密的原始消息和散列值,以及用Bob公鑰加密的包含Alice的對(duì)稱秘密鑰的數(shù)字信箋圖1描述了Alice使用數(shù)字簽名向Bob發(fā)送消息(步驟1~5)
(6)Bob用它的私鑰打開(kāi)(解密)來(lái)自于Alice的數(shù)字信箋完成這一過(guò)程將使Bob獲得Alice以前用來(lái)加密消息和散列值的對(duì)稱秘密鑰
(7)Bob現(xiàn)在可以打開(kāi)(解密)用Alice的對(duì)稱秘密鑰加密的消息和散列值解密后Bob得到了用Alice的私鑰簽名的消息和散列值
(8)Bob用Alice的公鑰解密簽名的消息和散列值留意,一個(gè)公鑰/私鑰對(duì)中,用其中一個(gè)密鑰加密的信息只有用另外一個(gè)密鑰才能解密
(9)為了證實(shí)消息沒(méi)有經(jīng)過(guò)任何改動(dòng),Bob將原始消息采用與Alice最初使用的完全一致的Hash函數(shù)進(jìn)行轉(zhuǎn)化
(10)最后,Bob將得出的散列值與它從所收消息中解密出來(lái)的散列值對(duì)比,若二者相同,則證實(shí)了消息的完整性圖2描述了Bob解密和對(duì)比散列值的過(guò)程(步驟6~10)
3. 3實(shí)現(xiàn)方法
采用Java語(yǔ)言實(shí)現(xiàn)系統(tǒng),Java語(yǔ)言本身提供了一些基本的安全方面的函數(shù),我們可以在此基礎(chǔ)上實(shí)現(xiàn)更為復(fù)雜和有效的應(yīng)用系統(tǒng)系統(tǒng)中主要的類實(shí)現(xiàn)如下:
(1)Data Encryption類該類主要實(shí)現(xiàn)明文向密文的轉(zhuǎn)換,依據(jù)RSA算法的規(guī)則實(shí)現(xiàn)非對(duì)稱加密,其中密鑰長(zhǎng)度為128位每次可加密數(shù)據(jù)的最大長(zhǎng)度為512字節(jié),因此對(duì)于較長(zhǎng)數(shù)據(jù)的加密需要?jiǎng)澐诌m當(dāng)大小的數(shù)據(jù)塊
(2)Data Hash類該類完成對(duì)所要加密消息產(chǎn)生對(duì)應(yīng)的散列值,對(duì)于不同的消息,散列值是不相同的可以借助Java中提供的Hash函數(shù)來(lái)實(shí)現(xiàn)
(3)Data Decryption類該類主要實(shí)現(xiàn)密文向明文的轉(zhuǎn)換,依據(jù)依據(jù)RSA算法的規(guī)則,利用加密方的公鑰對(duì)密文進(jìn)行解密,并將解密后的明文按序排好
4 結(jié)束語(yǔ)
文章以PKI理論為基礎(chǔ),利用公鑰密碼系統(tǒng)確保了電子商務(wù)過(guò)程中所傳輸消息的完整性,使用對(duì)稱加密系統(tǒng)實(shí)現(xiàn)對(duì)較長(zhǎng)消息的加密,并保證了消息的機(jī)密性文章的理論研究和實(shí)現(xiàn)方法,對(duì)于保障電子商務(wù)活動(dòng)中消息的完整性和機(jī)密性具有重要的指導(dǎo)意義
主要參考文獻(xiàn)
[1] 周學(xué)廣,劉藝. 信息安全學(xué)[M]. 北京:機(jī)械產(chǎn)業(yè)出版社,2004.
[2] J. Cha,J. H. Cheon.An Identiry-based Signature from Gap Ditfie-Heilman Groups[C]//. Public Key Cryptography-PKC 1003, LNCS 2567, Spinger-Verlag, 2003.
[3] M. Abdalla, L. Reyzin. A New Forward——Secure Digital Signature Scheme[C]. //In Advances in Cryptology, Proc. Of Astacrypt 2000, LNCS, Springer-Verlag, 2000.
【基于PKI的電子商務(wù)信息安全性研究】相關(guān)文章:
PKI技術(shù)及其在電子商務(wù)中的應(yīng)用研究03-21
基于CORBA的電子商務(wù)系統(tǒng)的安全性-03-18
基于電子商務(wù)的物流模式研究12-07
電子商務(wù)中的網(wǎng)上支付安全性研究02-28
基于愛(ài)好的電子商務(wù)數(shù)據(jù)挖掘技術(shù)的研究12-08
基于Internet的電子商務(wù)安全治理策略研究03-21
基于門限ECC的電子商務(wù)安全機(jī)制研究03-21
TCP/IP安全性研究03-08