摘 要:該文介紹了電子商務(wù)中的信息加密技術(shù)和認(rèn)證技術(shù),具體分析了PGP加密技術(shù)。它將多種加密算法結(jié)合在一起,構(gòu)成一個(gè)混合加密算法。通過對GnuPG的實(shí)踐使用,使人們了解并解決如何建立密鑰、發(fā)布密鑰以及選擇密鑰信任度等問題。
關(guān)鍵詞:密鑰;PGP;加密技術(shù)
一、PGP加密技術(shù)分析
PGP是目前最流行的一種加密軟件,它是一個(gè)基于RSA公鑰加密體系的郵件加密軟件。我們可以用它對郵件保密以防止非授權(quán)者閱讀,它還能對用戶的郵件加上數(shù)字簽名,從而使收信人可以確信發(fā)信人的身份。它讓用戶可以安全地和從未見過的人們通信,事先并不需要任何保密措施的來傳遞密鑰,因?yàn)樗捎昧朔菍ΨQ的“公鑰”和“私鑰”加密體系。
采用“公鑰”和“私鑰”加密體系最大的安全性問題就是公開的\"公鑰\"可能被人篡改,影響文件的解密,雖然PGP也采用這一加密體系,并且所有“公鑰”和“私鑰”都可以由用戶自己產(chǎn)生,不需要專門的認(rèn)證機(jī)構(gòu),但它卻有一個(gè)比較完善的密鑰管理體制,所以它的另一半優(yōu)點(diǎn)就體現(xiàn)在PGP獨(dú)特的密鑰管理體制上。
二﹑PGP的加密機(jī)制
在現(xiàn)代社會里,電子郵件和網(wǎng)絡(luò)上的文件傳輸已經(jīng)成為生活的一部分。郵件的安全問題也就突出了,大家都知道在互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)是不加密的。如果用戶不保護(hù)自己的信息,第三者就會輕易獲得用戶的隱私。還有一個(gè)問題就是信息認(rèn)證,如何讓收信人確信郵件沒有被第三者篡改,就需要使用數(shù)字簽名技術(shù)。
RSA公鑰體系的特點(diǎn)使它非常適合用來滿足上述兩個(gè)要求:保密性和公證性。RSA算法是基于大數(shù)不可能被質(zhì)因數(shù)分解假設(shè)的公鑰體系。簡單地說就是找兩個(gè)很大的質(zhì)數(shù)。一個(gè)對外公開,一個(gè)不告訴任何人。公開的一個(gè)稱為“公鑰”,另一個(gè)叫“私鑰”。這兩個(gè)密鑰是互補(bǔ)的,也就是說用公鑰加密的密文只可以用私鑰解密,反過來也一樣。
RSA算法簡介:
(1)隨機(jī)取兩個(gè)獨(dú)立大素?cái)?shù)p與q(保密);
(2)計(jì)算:n=p*q (公開n)Φ(n)=(p-1)*(q-1)(保密);
(3)隨機(jī)選取一整數(shù)e,1≤e≤Ф(n),滿足gcd(e,Ф(n))=1(公開e);
(4)計(jì)算d,滿足d*e≡1(modФ(n))(保密d)
利用RSA加密第一步需要將明文數(shù)字化,并對長度小于㏒2n的數(shù)字作為明文塊M;
加密算法C≡E(M)≡M的e次冪(mod n)
解冪算法M≡D(C)≡C的d次冪(mod n)
以上RSA系統(tǒng)記為RSA(n,e),其中P
假設(shè)甲要寄信給乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到后就可以用自己的私鑰解密出甲的原文。由于別人不知道乙的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面,由于每個(gè)人都知道乙的公鑰,他們都可以給乙發(fā)信,那么乙怎么確信來信是不是甲的,這就是數(shù)字簽名的必要性,用數(shù)字簽名來確認(rèn)發(fā)信的身份。
PGP給郵件加密和簽名的過程是這樣的:首先甲用自己的私鑰將上述的128位值加密,附加在郵件后,再用乙的公鑰將整個(gè)郵件加密(要注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉后簽上自己的簽名,從而篡改了簽名)。這樣這份密文被乙收到以后,乙用自己的私鑰將郵件解密,得到甲的原文和簽名,乙的PGP也從原文計(jì)算出一個(gè)128位的特征值來和用甲的公鑰解密簽名所得到的數(shù)進(jìn)行比較,如果符合就說明這份郵件確實(shí)是甲寄來的。這樣兩個(gè)安全性要求都得到了滿足。
PGP還可以只簽名而不加密,這適用于公開發(fā)表聲明時(shí),聲明人為了證實(shí)自己的身份,可以用自己的私簽名,這樣就可以讓收件人能確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明。這一點(diǎn)在商業(yè)領(lǐng)域有很大的應(yīng)用前途,它可以防止發(fā)信人抵賴和信件被途中篡改。
三﹑PGP的密鑰管理
一個(gè)成熟的加密體系必然要有一個(gè)成熟的密鑰管理機(jī)制配套。公鑰體制的提出就是為了解決傳統(tǒng)加密體系的密鑰分配過程保密的缺點(diǎn)。對PGP來說公鑰本來就要公開,就沒有防監(jiān)聽的問題。但公鑰的發(fā)布中仍然存在安全性問題,例如公鑰被篡改,這可能是公鑰密碼體系中最大漏洞。用戶必須確信用戶的公鑰屬于需要收信的那個(gè)人。
PGP發(fā)展了一種公鑰介紹機(jī)制來解決這個(gè)問題,其思路是這樣的:如果用戶A和用戶B有一個(gè)共同的朋友D,而D知道他手中的B的公鑰是正確的。這樣D就成為用戶A和B之間的公證人,用戶B為了防止別人篡改自己的公鑰,就把經(jīng)過D簽名的自己的公鑰上載到BBS上讓用戶去拿,用戶A想要取得用戶B的公鑰就必需先獲取D的公鑰來解密BBS或網(wǎng)上經(jīng)過D簽名的B的公鑰,這樣就等于加了雙重保險(xiǎn),一般沒有可能去篡改它而不被用戶發(fā)現(xiàn),即使是BBS的管理員。這就是從公共渠道傳遞公鑰的安全手段。
也許還有人會問:如何安全地得到D或其他簽名朋友的公鑰呢。確實(shí)有可能用戶A拿到的D或其他簽名的朋友的公鑰也是假的,但這就求這個(gè)用戶C必須對你們?nèi)松踔梁芏嗳硕己苁煜ぃ@樣的可能性不大,而且必需經(jīng)過長時(shí)間的策劃。當(dāng)然,PGP對這種可能也提出了預(yù)防的建議,那就是由一個(gè)大家普遍信任的機(jī)構(gòu)擔(dān)當(dāng)這個(gè)角色,他被稱為認(rèn)證權(quán)威機(jī)構(gòu),每個(gè)由他簽過字的公鑰都被認(rèn)為真的,這樣大家只要有他的公鑰就行了,認(rèn)證這個(gè)人的公鑰是方便的,因他廣泛提供這個(gè)服務(wù),假冒他的公鑰是極困難的,因?yàn)樗墓€流傳廣泛。這樣的“權(quán)威機(jī)構(gòu)”適合由非個(gè)人控制組織或政府機(jī)構(gòu)充當(dāng),現(xiàn)在已經(jīng)有等級認(rèn)證制度的機(jī)構(gòu)存在,如廣東省電子商務(wù)電子認(rèn)證中心就是一個(gè)權(quán)威的認(rèn)證機(jī)構(gòu)。
四﹑結(jié)束語
電子商務(wù)是利用計(jì)算機(jī)網(wǎng)絡(luò)的信息交換來實(shí)現(xiàn)電子交易,發(fā)展電子商務(wù)的核心和關(guān)鍵問題是交易的安全性。由于大量的經(jīng)濟(jì)信息在網(wǎng)上傳送,大量的資金在網(wǎng)上劃撥流動,這就要求網(wǎng)上信息具有高度的可靠性和絕對的保密性。因此,為了確保網(wǎng)上信息的可靠性和保密性,必須采用信息安全技術(shù)來完成身份認(rèn)證、信息加密傳輸,及保障信息的完整性。