改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

Internet的日益流行給信息共享帶來極大的方便,尤其是寬帶技術(shù)的普及,更加推動了基于Internet的信息共享服務(wù),數(shù)據(jù)、文字、聲音、圖片、音像制品、圖書期刊、軟件產(chǎn)品、金融期貨等一切可以數(shù)字化的東西似乎都可從Internet上獲得。而在一些應(yīng)用條件下,例如電子商務(wù)中,在網(wǎng)絡(luò)上傳送這種“軟”產(chǎn)品可以極大地方便商品的交易,并降低交易成本,這種傳送就稱為“網(wǎng)上物流傳送”。網(wǎng)上物流傳送的實現(xiàn)是建立音像制品和軟件電子商務(wù)的重要保障,也是本文的應(yīng)用背景。

但是,極大的方便同時伴隨著極大的不安全,網(wǎng)上物流傳送會帶來一系列涉及法律上的可行性問題,例如:

·如何驗證物流傳送雙方的合法身份;

·如何保證物流接收方在收到商品后“不會抵賴”;

·如何保證發(fā)送方對其發(fā)出的商品“不可抵賴”;

·如何保證商品在傳送過程中不被修改;

·如何保證網(wǎng)上傳送的商品不被第蘭者截取和 盜版,等。

很明顯,這些問題可以通過一套加密體制得到解決,而這套加密體制必須達(dá)到以下要求:

·必須對每個用戶區(qū)分控制;

·必須提供‘‘不可抵賴性”服務(wù);

·必須提供完整性服務(wù);

·必須不受任何系統(tǒng)和設(shè)備約束,而且是跨平臺的;

·必須可以適應(yīng)非常大數(shù)據(jù)量的加密,不會嚴(yán)重影響傳送速度;

·更重要的是必須易于實現(xiàn)、成本低廉,不會增加商業(yè)運作的成本。

這些要求使得網(wǎng)上物流加密最好采用某種應(yīng)用層加密技術(shù)方案,并采用相對比較簡單的加解密算法,以保證在傳送非常大數(shù)據(jù)量時的加密速度,將安全控制手段集中在密鑰交換體制方面,在運算速度和處理成本方面與破譯者競爭,從而保證這個加密方案的“計算安全”。

另外,網(wǎng)上物流加密系統(tǒng)還應(yīng)該具有以下特點:

·高速性

網(wǎng)上物流的主要傳送內(nèi)容是軟件、音像制品、專利技術(shù)等等,都具有一個共同特點,就是數(shù)據(jù)量非常龐大。一個軟件產(chǎn)品一股都有幾十到幾百兆的數(shù)據(jù),其他內(nèi)容也基本都有上百兆的數(shù)據(jù)量,這就要求加解密過程必須是快速的,否則用戶無法忍受長時間的等待。

·保密性

網(wǎng)上物流傳送的內(nèi)容都非常容易復(fù)制,一旦泄密,就很容易被他人盜版、盜用,從而使整個交易過程失去意義,給用戶帶來巨大的經(jīng)濟(jì)損失,所以保密性要求非常突出。

·開放性

整個交易過程都是在網(wǎng)上發(fā)生的,信息流、物流和資金流都必須依靠Internet公開進(jìn)行,所以密鑰交換的過程也必須在網(wǎng)上實現(xiàn)。

·整體性

網(wǎng)上物流傳送的內(nèi)容只有一個完整的整體才有價值,僅截取到其中某些片段的價值就相對低得多。

·兩兩性

網(wǎng)上物流傳送會發(fā)生在任意兩個用戶之間,而他們之間的傳送對任何其他用戶都必須是保密的,否則同樣存在失密同題。這是一個完全的個體對個體的網(wǎng)狀加密系統(tǒng),而不是會員制體系,或者一對多加密體系。

·經(jīng)濟(jì)性

網(wǎng)上物流傳送加密是為“軟”產(chǎn)品電子商務(wù)服務(wù)的,其必須考慮加密的成本,否則不但不能降低交易成本,反而增加成本,會使整個電子商務(wù)系統(tǒng)失去意義。

·確認(rèn)性 網(wǎng)上物流加密不僅需要保證信息傳 送過程中的保密性問題,還必須提供身份確認(rèn)和“不可抵賴”功能,這是因為物流傳送的雙方往往是電子商務(wù)。交易的雙方,物流加密必須保證商品從真實的賣方流 向真實的買方,同時為雙方提供確實的證據(jù),證明這一物流過程已經(jīng)完成。不能保證這些功能,就不能保證交易雙方對網(wǎng)上合同的有效履行,從而導(dǎo)致交易失敗。

一、網(wǎng)上物流加密的基本方案

一般常規(guī)的加密技術(shù)方案基本框架如圖1示。

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

圖中明文為需要傳輸?shù)脑夹畔?,密文為實際傳輸?shù)幕旌闲畔ⅰ<用芘c解密算法是根據(jù)密鑰,將明文和密文相互轉(zhuǎn)換的數(shù)學(xué)方法講鏘鑰為發(fā)送方和接受方共享的數(shù)字信息,作為加密和解密算法的輸入和重要依據(jù)。在密鑰的控制下,加密和解密算法應(yīng)當(dāng)可以完成以下交替轉(zhuǎn)換。

密文=加密(明文)

明文=解密(密文)

一套加密技術(shù)的加密能力,即所謂“強壯度”,主要以破譯其密文所需要的時間和金錢來衡量,一般情況下,會認(rèn)為當(dāng)攻擊者采用當(dāng)前最先進(jìn)計算技術(shù),逐一嘗試所有可能密鑰,即所謂的“蠻力破澤”,當(dāng)嘗試到所有可能密鑰的一半時,就可以破譯密文,這時所有花費的時間和金錢的總和就是該加密技術(shù)方案的“強壯度”。當(dāng)一套加密技術(shù)方案能夠符合以下兩個條件之一時,就稱其為“計算安全”。

·破譯密文的成本超過加密信息本身的價值;

·破譯密文所需時間超過加密信息的有效期;

網(wǎng)上物流加密系統(tǒng)的基本方案包括以下內(nèi)容:

(1)在應(yīng)用層用加密系統(tǒng)軟件完成加密、解密運算;

(2)采用Diffie-Helhnan密鑰交換體制進(jìn)行密鑰管理;

(3)采用數(shù)字證書技術(shù)改進(jìn)Diffie-HeLlman體制中身份驗證的問題;

(4)采用簡單的異或移位算法加密;

(5)在加密前進(jìn)行編碼壓縮和“切片”等預(yù)處理運算;

(6)在傳送過程中依靠Diffie-Hellman體制動態(tài)更新密鑰。

系統(tǒng)加密解密傳送的基本結(jié)構(gòu)如圖2示。

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

網(wǎng)上物流加密系統(tǒng)是一個應(yīng)用層加密軟件,當(dāng)需要將一個明文安全地從A發(fā)送到B時,就開始啟動加密系統(tǒng)。

首先,系統(tǒng)對準(zhǔn)備發(fā)送的文件進(jìn)行預(yù)處理,它包括壓縮編碼和“切片”兩個步驟。

壓縮編碼的主要目的是消除文件中連續(xù)出現(xiàn)的0或l,以防止攻擊者可以通過對密文的比較分析,從而找到密碼的規(guī)律。有多種方法可以消除連續(xù)出現(xiàn)的O和1,壓縮編碼是最為簡便和常用的方法,相比偽隨機序列處理的方法,可以簡化編程工作,當(dāng)然,壓縮編碼另一個重要的好處是可以減少傳送的數(shù)據(jù)量。我們選擇WinZIP壓縮編碼標(biāo)準(zhǔn)。

“切片”的目的是根據(jù)密鑰的長度,將大的軟件按一定長度“切n成小的數(shù)據(jù)段,以便于加密計算。數(shù)據(jù)段的長度由密鑰的長度決定,我們選擇1024位。

我們采用改進(jìn)的Diffie-Hellman體制進(jìn)行密鑰交換,在Intemet上直接傳送公鑰,并各自計算產(chǎn)生密鑰,密鑰管理部分的結(jié)構(gòu)圖如圖3示。

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

由圖3可知,密鑰管理的基本過程如下:

首先,選取一個很大的素數(shù)p,并找它的一個原根 ao根據(jù)“原根”定義則a mod p,a2mod p,...,ap-lmod p 各不相同,就是小于p的p-l個自然數(shù)。整個應(yīng)用 層加密系統(tǒng)就以p和a這兩個參數(shù)作為基本參數(shù),以 此建立密鑰交換體制的基礎(chǔ)結(jié)構(gòu)。

然后,任何兩個準(zhǔn)備采用加密傳送信息的用戶,設(shè)為A和B,利用應(yīng)用程序各自隨機產(chǎn)生一個小于p的整數(shù)XA和XB,作為各自的私鑰。并按Y=ax mod P的公式自動計算出另外兩個相關(guān)整數(shù)YA和YB,作為公 鑰通過公用的網(wǎng)絡(luò)傳送給對方O。

在傳送過程中,我們借助數(shù)字證書技術(shù)。我們要求進(jìn)行交易的雙方都必須登記取得數(shù)字證書,并交換公鑰證書的副本。在進(jìn)行公鑰交換時,先用發(fā)送方的私鑰加一次密,再用接收方的公鑰副本再加一次密,然后發(fā)送出去o接收方接收到數(shù)據(jù)后,先用自己的私鑰解一次密,再用發(fā)送方的公鑰副本解一次密,驗證發(fā)送方的身份是否符合,如果身份不符則YA和YB傳送失敗,否則就完成YA和YB的傳送過程,進(jìn)入下一步。

最后,A、B雙方再各自結(jié)合各自的私鑰,通過公式KA=(YB) XArrrod p和KB;(yA)XBrrrod p各自計算出KA和KB。由于可以證明KA =KB =K,所以加密傳送的雙方A和B就擁有了一個完全相同的密鑰,可以采用對稱算法進(jìn)行加密和解密。

這個應(yīng)用層加密系統(tǒng)的核心內(nèi)容就是采用改進(jìn)的Diffie - Hellman體制完成密鑰的網(wǎng)上交換,從而使整個加密系統(tǒng)可以完全依靠公開的Internet,進(jìn)行加密的、安全的網(wǎng)上物流傳送。

二、網(wǎng)上物流加密的數(shù)學(xué)可行性

1、驗證是否可以得到要求的密鑰

先取一個很大的素數(shù)p,以及p的原根acp和a都是固定的,可以公開,并滿足:

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

各不相同。

在已知p和a的基礎(chǔ)上,由需要保密傳送信息的A、B雙方各自產(chǎn)生一個隨機整數(shù),XA<p,XB<p,并將其用做私鑰。

隨后,分別計算得到兩個公開的數(shù)值:

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

并將其作為公鑰發(fā)送給對方。

對方接受公鑰后,再與各啟的私鑰一起分別進(jìn)行以下計算:

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

得到兩個證明:

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

由此可見,當(dāng)已知p、a,只需要進(jìn)行簡單的乘法運算和模運算,就可以從XA和YB計算出KA,從XB和YA計算出KB,而且KA和KB相等,K就可以用作對稱加密傳送的密鑰。

如果只知道p、a、YA和Y就很難求出K,因為這涉及到一個離散對數(shù)的運算求解問題,當(dāng)素數(shù)p足夠大時,這個運算等于無解D因此。對密鑰的破澤工作就只能采用“蠻力破譯”方式,網(wǎng)上物流加密的數(shù)學(xué)基礎(chǔ)就是建立在離散對數(shù)求解難度上的。

補充:

模運算定理

改進(jìn)的Diffie - Hellman體制應(yīng)用于網(wǎng)上物流加密

2、論證用數(shù)宇證書改進(jìn)Diffie - Hellman算法的效果

Diffie - Hellman密鑰交換體制有一個固有的弱點,就是難以進(jìn)行身份驗證,也無法避免插入重放攻擊。破譯者可以偽裝成加密傳送雙方中的一方,向另一方傳送自己的公鑰,然后再反向做同樣工作?,F(xiàn)在加密傳送的雙方都以為已經(jīng)完成Diffie - Hellman的密鑰交換,開始采用保密密鑰加密傳送信息,但事實上是,破譯者插在通信雙方之阿接力傳送,故可以輕易地截取所有的信息c.這是Diffie - HeLlrnan密鑰交換體制最大的弱點。

而數(shù)字證書是建立在RSA加密算法基礎(chǔ)上的,每個數(shù)字證書都包含一一對密鑰,一個保存在本地不公開的私鑰,和一個可以公開發(fā)布的公鑰,任何人都可以在網(wǎng)上獲得公鑰的副本。用公鑰副本加密的文件只能用私鑰解密,用私鑰加密的文件只能用公鑰副本解密。

根據(jù)上述的加密流程,發(fā)送方傳送的文件先經(jīng)過自己的私鑰加密,又用接收方的公鑰加密,所以只有其認(rèn)定的接收方才能破解第一層加密,然后接收方又必須使用其認(rèn)定的發(fā)送方的公鑰副本才能完全解密,得到真實的數(shù)據(jù)。

這樣,偽裝者無法獲得傳送雙方的數(shù)字證書私鑰,就既無法破譯截獲的密文.,也無法通過身份驗汪的過程,其偽造的文件無法用公鑰證書還原,DifFie - Hellman密鑰交換的過程也就無法完成。而如果是真實的交易雙方,就可以輕易地完成密鑰交換過程??梢园l(fā)現(xiàn),軟件的加密和解密運算程序完全相同,大大降低了網(wǎng)上物流加密軟件的復(fù)雜度。

對整個用數(shù)字證書改進(jìn)過的Diffie - Hellman加密體系進(jìn)行攻擊,只能采用“蠻力攻擊”的辦法,嘗試所有可能的密鑰。這時,我們還可以利用物流的整體性特點,進(jìn)一步加強保密性。

在網(wǎng)上物流加密軟件中有一個可定義的計量功能,每次啟動加密傳送前都會生成新的密鑰,而當(dāng)一次傳送的數(shù)據(jù)“切片”達(dá)到限定的數(shù)量時,軟件會自動重新進(jìn)行一次密鑰交換,產(chǎn)生新的密鑰,并使用新的密鑰加密隨后傳送的數(shù)據(jù)。數(shù)量限定的數(shù)值可事先設(shè)定。

這樣,即便攻擊者通過“蠻力攻擊”找到了一個密鑰,他也難以判斷破譯內(nèi)容的真實性,而如果要獲得完整的產(chǎn)品,就需要用同樣方法反復(fù)破譯大量的密鑰,每一次破譯的價值都不大,也無法被下一次破譯所利用,這樣大大增加了破譯的時間和成本,從而提高了整個加密體系的“計算安全”。

網(wǎng)上物流加密系統(tǒng)可以實現(xiàn)真正的“動態(tài)”加密。

三、與其他加密體系的比較

加密技術(shù)的可用性和先進(jìn)性與其運用的具體環(huán)境有很大關(guān)系,網(wǎng)上物流加密系統(tǒng)是專門為網(wǎng)上物流傳送開發(fā)的,因此有其特定的應(yīng)用環(huán)境,我們必須根據(jù)應(yīng)用環(huán)境的特點,與其他加密體系進(jìn)行比較。

1、與目前最為著名的RSA加密體系進(jìn)行比較

根據(jù)RSA算法的優(yōu)缺點,一般設(shè)計采用RSA算法傳送少量的、關(guān)鍵的數(shù)據(jù),而當(dāng)傳送大數(shù)據(jù)置信息時就必須采用其他加密算法。網(wǎng)上物流傳送的高速性特點使我們無法選擇復(fù)雜的加密算法,尤其是RSA,否則會大大降低數(shù)據(jù)的傳送速度,使網(wǎng)上物流變得非常遲緩。

其他一些建立在RSA基礎(chǔ)上的加密體系,如數(shù)字簽名技術(shù)和數(shù)字證書體系等都有類似的優(yōu)缺點,單獨使用會降低數(shù)據(jù)傳送的速度。

2、與傳統(tǒng)的對稱加密體系的比較

由于傳統(tǒng)加密的密鑰保密特性,所以如何將保密密鑰從產(chǎn)生的一方傳送到另一方就是一個困難,一般只能采用手工傳送,或者必須通過非常麻煩的“握手”方式,否則就有失密的危險。在一些“端到端”的信息傳送模式中,例如B2B電子商務(wù),這種密鑰分發(fā)交換方式就顯得太過麻煩,也無法解決動態(tài)密鑰更新的技術(shù)問題,在廣域的分布式應(yīng)用中,這種問題就更加突出。

網(wǎng)上物流傳送的開放性特點使我們無法選擇傳統(tǒng)的對稱加密體系,既然密鑰交換必須在網(wǎng)上進(jìn)行,就必須采用公鑰加密體系,而Diffie - HeLlman密鑰交換體制可以非常好地解決密鑰交換的問題,同時也絲毫不會影響在算法上選擇對稱加密算法。

3、與其他非應(yīng)用層加密系統(tǒng)的比較

應(yīng)用層加密方案具有以下顯著特點:

·完全以用戶背景運行,用戶特征更加容易明確;

·用戶對希望保護(hù)的數(shù)據(jù)具有完整的訪問權(quán),對類似“不可抵賴”的服務(wù)更容易實現(xiàn);

·應(yīng)用軟件可以任意擴(kuò)展,不會受制于操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議和通信設(shè)備;

·對傳輸數(shù)據(jù)的特點有更深入的了解,可以采用更合理的具體方案;

·通用的信息量更少,使破譯者只能依靠已知密文和加密算法進(jìn)行破譯,加密方案更加“強壯”。

網(wǎng)上物流加密的兩兩性和確認(rèn)性特點使我們必須考慮應(yīng)用層加密體系,目前常用的一些鏈路層加密、網(wǎng)絡(luò)層加密和操作系統(tǒng)加密都存在,一些難以克服的適用性問題。

最理想的選擇是在電子商務(wù)系統(tǒng)的平臺上,另行建設(shè)一套專用的應(yīng)用層軟件加密系統(tǒng),在進(jìn)行電子商務(wù)交易和物流傳送的同時,實現(xiàn)加密解密工作。

小知識之網(wǎng)上物流

網(wǎng)上物流,就是基于互聯(lián)網(wǎng)技術(shù),旨在創(chuàng)造性的推動物流行業(yè)發(fā)展的新商業(yè)模式;和網(wǎng)上貿(mào)易一樣,網(wǎng)上物流不是概念,不是陽春白雪,而是需要真正通過互聯(lián)網(wǎng)對傳統(tǒng)物流方式進(jìn)行改變,幫助數(shù)以百萬、千萬計的需要物流和提供物流的企業(yè)和個人創(chuàng)造出更大的財富,在這個日益變平的世界上,網(wǎng)上物流給我們帶來的是更多層面的價值。