pki電子商務(wù)信息安全性研究

時間:2022-10-27 03:55:00

導(dǎo)語:pki電子商務(wù)信息安全性研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

pki電子商務(wù)信息安全性研究

[摘要]針對電子商務(wù)中信息的機密性和完整性要求,文章提出了一種基于pki機制的公鑰加密解決方法文章首先介紹了PKI的定義和功能,接著介紹了公鑰密碼系統(tǒng)的加密算法,然后重點闡述了確保信息機密性和完整性的應(yīng)用模型,從而為電子商務(wù)的信息安全提供了理論基礎(chǔ)

[關(guān)鍵詞]電子商務(wù);PKI;公鑰密碼系統(tǒng)

前言

電子商務(wù)(E-Commerce)是在Internet開放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器服務(wù)器的應(yīng)用方式,實現(xiàn)消費者的網(wǎng)上購物商戶之間的網(wǎng)上交易和在線電子支付的商業(yè)運營模式最近幾年,電子商務(wù)以其便利快捷的特點迅速發(fā)展起來,但是安全問題一直是阻礙其發(fā)展的關(guān)鍵因素雖然PKI的研究和應(yīng)用為互聯(lián)網(wǎng)絡(luò)安全提供了必要的基礎(chǔ)設(shè)施,但是電子商務(wù)信息的機密性和完整性仍然是迫切需要解決的問題,本文針對這一問題展開了深入研究并提出了解決方法

1PKI的定義和功能

PKI——公鑰基礎(chǔ)設(shè)施,是構(gòu)建網(wǎng)絡(luò)應(yīng)用的安全保障,專為開放型大型互聯(lián)網(wǎng)的應(yīng)用環(huán)境而設(shè)計PKI是對公鑰所表示的信任關(guān)系進行管理的一種機制,它為Internet用戶和應(yīng)用程序提供公鑰加密和數(shù)字簽名服務(wù),目的是為了管理密鑰和證書,保證網(wǎng)上數(shù)字信息傳輸?shù)臋C密性真實性完整性和不可否認性,以使用戶能夠可靠地使用非對稱密鑰加密技術(shù)來增強自己的安全水平PKI的功能主要包括:公鑰加密證書證書確認證書撤銷

2公鑰密碼系統(tǒng)

由于PKI廣泛應(yīng)用于電子商務(wù),故文章重點放在討論RSA公鑰密碼系統(tǒng)上RSA的安全性是基于數(shù)論和計算復(fù)雜性理論中的下述論斷:求兩個大素數(shù)的乘積在計算上是容易的,但若分解兩個大素數(shù)的積而求出它的因子則在計算上是困難的,它屬于NPI類

2.1RSA系統(tǒng)

RSA使用的一個密鑰對是由兩個大素數(shù)經(jīng)過運算產(chǎn)生的結(jié)果:其中一個是公鑰,為眾多實體所知;另外一個是私鑰,為了確保其保密性和完整性,必須嚴格控制并只有其所有者才能使用RSA加密算法的最基本特征就是用密鑰對中的一個密鑰加密的消息只能用另外一個解密,這也就體現(xiàn)了RSA系統(tǒng)的非對稱性RSA具有加密和數(shù)字簽名功能RSA產(chǎn)生公鑰/私鑰對加解密的過程如下:

2.1.1產(chǎn)生一個公鑰/私鑰對

(1)選取兩個大素數(shù)p和q,為了獲得最大程度的安全性,兩個數(shù)的長度最好相同兩個素數(shù)p和q必須保密

(2)計算p與q的乘積:n=p*q

(3)再由p和q計算另一個數(shù)z=(p-1)*(q-1)

(4)隨機選取加密密鑰e,使e和z互素

(5)用歐幾里得擴展算法計算解密密鑰d,以滿足e*d=1mod(z)

(6)由此而得到的兩組數(shù)(n,e)和(n,d)分別被稱為公鑰和私鑰

2.1.2加密/解密過程

RSA的加密方法是一個實體用另外一個實體的公鑰完成加密過程,這就允許多個實體發(fā)送一個實體加密過的消息而不用事先交換秘密鑰或者私鑰,并且由于加密是用公鑰執(zhí)行的,所以解密只能用其對應(yīng)的私鑰來完成,因此只有目標接受者才能解密并讀取原始消息

在實際操作中,RSA采用一種分組加密算法,加密消息m時,首先將它分成比n小的數(shù)據(jù)分組(采用二進制數(shù),選取小于n的2的最大次冪),加密后的密文c,將由相同長度的分組ci組成加密公式簡化為:

ci=mie(modn)

即對于明文m,用公鑰(n,e)加密可得到密文c:

c=memodn,其中m={mi|i=0,1,2,…},c=(ci|i=0,1,2,…)

解密消息時,取每一個加密后的分組ci并計算:mi=cid(modn),便能恢復(fù)出明文即對于密文c,用接收者的私鑰(n,d)解密可得到明文m:

m=cdmodnm={mi|i=0,1,2,…},c=(ci|i=0,1,2,…)

2.1.3數(shù)字簽名

RSA的數(shù)字簽名是加密的相反方式,即由一個實體用它的私鑰將明文加密而生成的這種加密允許一個實體向多個實體發(fā)送消息,并且事先不需交換秘密鑰或加密私鑰,接收者用發(fā)送者的公鑰就可以解密

RSA的數(shù)字簽名過程如下:

s=mdmodn,其中m是消息,s是數(shù)字簽名的結(jié)果,d和n是消息發(fā)送者的私鑰

消息的解密過程如下:

m=semodn,其中e和n是發(fā)送者的公鑰

2.1.4散列(Hash)函數(shù)

MD5與SHA1都屬于Hash函數(shù)標準算法中兩大重要算法,就是把一個任意長度的信息經(jīng)過復(fù)雜的運算變成一個固定長度的數(shù)值或者信息串,主要用于證明原文的完整性和準確性,是為電子文件加密的重要工具一般來說,對于給出的一個文件要算它的Hash碼很容易,但要從Hash碼找出相應(yīng)的文件算法卻很難Hash函數(shù)最根本的特點是這種變換具有單向性,一旦數(shù)據(jù)被轉(zhuǎn)換,就無法再以確定的方法獲得其原始值,從而無法控制變換得到的結(jié)果,達到防止信息被篡改的目的由于Hash函數(shù)的這種不可逆特性,使其非常適合被用來確定原文的完整性,從而被廣泛用于數(shù)字簽名

2.2對稱密碼系統(tǒng)

對稱密碼系統(tǒng)的基本特點是解密算法就是加密算法的逆運算,加秘密鑰就是解秘密鑰它通常用來加密帶有大量數(shù)據(jù)的報文和問卷通信的信息,因為這兩種通信可實現(xiàn)高速加密算法在對稱密碼系統(tǒng)中發(fā)送者和接收者之間的密鑰必須安全傳送,而雙方實體通信所用的秘密鑰也必須妥善保管

3應(yīng)用模型

利用公鑰加密系統(tǒng)可以解決電子商務(wù)中信息的機密性和完整性的要求,下面是具體的應(yīng)用模型在本例中,Alice與Bob兩個實體共享同一個信任點,即它們使用同一CA簽發(fā)的數(shù)字證書因此,它們無需評價信任鏈去決定是否信任其他CA

3.1準備工作

(1)Alice與Bob各自生成一個公鑰/私鑰對;

(2)Alice與Bob向RA(機構(gòu))提供各自的公鑰名稱和描述信息;

(3)RA審核它們的身份并向CA提交證書申請;

(4)CA格式化Alice和Bob的公鑰及其他信息,為Alice和Bob分別生成公鑰證書,然后用自己的私鑰對證書進行數(shù)字簽名;

(5)上述過程的結(jié)果是,Alice與Bob分別擁有各自的一個公鑰/私鑰對和公鑰證書;

(6)Alice與Bob各自生成一個對稱秘密鑰

現(xiàn)在,Alice和Bob擁有各自的一個公鑰/私鑰對,由共同信任的第三方頒發(fā)的數(shù)字證書以及一個對稱密鑰

3.2處理過程

假設(shè)現(xiàn)在Alice欲發(fā)送消息給Bob,并且要求確保數(shù)據(jù)的完整性,即消息內(nèi)容不能發(fā)生變動;同時Alice和Bob都希望確保信息的機密性,即不容許除雙方之外的其他實體能夠查看該消息完成這樣要求的處理過程如下:其中步驟1~5說明Alice加密消息過程;步驟6~10說明Bob解密消息的過程

(1)Alice按照雙方約定的規(guī)則格式化消息,然后用Hash函數(shù)取得該消息的散列值,該值將被用來測試消息的合法性和完整性

(2)Alice用私鑰對消息和散列值進行簽名(加密)這一簽名確保了消息的完整性,因為Bob認為只有Alice能夠生成該簽名,這是由于只有Alice能夠使用自己的私鑰為該消息簽名值得注意的是:現(xiàn)在任何有權(quán)訪問Alice公鑰的實體都能解密該被簽名的消息,所以我們僅僅是保證了消息的完整性,而沒有確保其機密性

(3)由于Alice和Bob之間想保持消息的機密性,所以Alice用它的對稱秘密鑰加密被簽名的消息和散列值這一對稱秘密鑰只有Alice和Bob共享而不被其他實體所用注意,在本例中,我們使用了一個對稱秘密鑰,這是因為對于加密較長消息諸如訂購信息來說,利用對稱加密比公鑰加密更為有效

(4)Alice必須向Bob提供它用來給消息加密的對稱秘密鑰,以使得Bob能夠用其解密被Alice加密過的消息Alice用Bob的公鑰將自己的對稱秘密鑰簽名(加密),這里我們假設(shè)Alice事先已經(jīng)獲得Bob的公鑰,這樣就形成了一個數(shù)字信箋,并且只有Bob才能將其打開(解密),因為只有Bob能夠訪問用來打開該數(shù)字信箋的私鑰注意,一個公鑰/私鑰對中,用其中一個密鑰加密的信息只有用另外一個密鑰才能解密這就為Alice向Bob傳輸對稱秘密鑰提供了機密性

(5)Alice發(fā)送給Bob的信息包括它用對稱秘密鑰加密的原始消息和散列值,以及用Bob公鑰加密的包含Alice的對稱秘密鑰的數(shù)字信箋圖1描述了Alice使用數(shù)字簽名向Bob發(fā)送消息(步驟1~5)

(6)Bob用它的私鑰打開(解密)來自于Alice的數(shù)字信箋完成這一過程將使Bob獲得Alice以前用來加密消息和散列值的對稱秘密鑰

(7)Bob現(xiàn)在可以打開(解密)用Alice的對稱秘密鑰加密的消息和散列值解密后Bob得到了用Alice的私鑰簽名的消息和散列值

(8)Bob用Alice的公鑰解密簽名的消息和散列值注意,一個公鑰/私鑰對中,用其中一個密鑰加密的信息只有用另外一個密鑰才能解密

(9)為了證實消息沒有經(jīng)過任何改動,Bob將原始消息采用與Alice最初使用的完全一致的Hash函數(shù)進行轉(zhuǎn)化

(10)最后,Bob將得出的散列值與它從所收消息中解密出來的散列值對比,若二者相同,則證明了消息的完整性圖2描述了Bob解密和對比散列值的過程(步驟6~10)

3.3實現(xiàn)方法

采用Java語言實現(xiàn)系統(tǒng),Java語言本身提供了一些基本的安全方面的函數(shù),我們可以在此基礎(chǔ)上實現(xiàn)更為復(fù)雜和有效的應(yīng)用系統(tǒng)系統(tǒng)中主要的類實現(xiàn)如下:

(1)DataEncryption類該類主要實現(xiàn)明文向密文的轉(zhuǎn)換,依據(jù)RSA算法的規(guī)則實現(xiàn)非對稱加密,其中密鑰長度為128位每次可加密數(shù)據(jù)的最大長度為512字節(jié),因此對于較長數(shù)據(jù)的加密需要劃分適當大小的數(shù)據(jù)塊

(2)DataHash類該類完成對所要加密消息產(chǎn)生對應(yīng)的散列值,對于不同的消息,散列值是不相同的可以借助Java中提供的Hash函數(shù)來實現(xiàn)

(3)DataDecryption類該類主要實現(xiàn)密文向明文的轉(zhuǎn)換,依據(jù)依據(jù)RSA算法的規(guī)則,利用加密方的公鑰對密文進行解密,并將解密后的明文按序排好

4結(jié)束語

文章以PKI理論為基礎(chǔ),利用公鑰密碼系統(tǒng)確保了電子商務(wù)過程中所傳輸消息的完整性,使用對稱加密系統(tǒng)實現(xiàn)對較長消息的加密,并保證了消息的機密性文章的理論研究和實現(xiàn)方法,對于保障電子商務(wù)活動中消息的完整性和機密性具有重要的指導(dǎo)意義

主要參考文獻

[1]周學(xué)廣,劉藝.信息安全學(xué)[M].北京:機械工業(yè)出版社,2004.

[2]J.Cha,J.H.Cheon.AnIdentiry-basedSignaturefromGapDitfie-HeilmanGroups[C]//.PublicKeyCryptography-PKC1003,LNCS2567,Spinger-Verlag,2003.

[3]M.Abdalla,L.Reyzin.ANewForward——SecureDigitalSignatureScheme[C].//InAdvancesinCryptology,Proc.OfAstacrypt2000,LNCS,Springer-Verlag,2000.