楊嘉雄
摘? 要: 加密技術(shù)在電子商務(wù)中的應(yīng)用極為廣泛,是電子商務(wù)安全的重要組成部分,對其深入研究具有重要意義。文章對常用的加密技術(shù),如對稱加密、非對稱加密和Hash加密的基本原理、主要特點(diǎn)、算法的優(yōu)化等以及研究現(xiàn)狀進(jìn)行綜述,旨在進(jìn)一步提高電子商務(wù)的安全性。
關(guān)鍵詞: 對稱加密算法; 非對稱加密算法; Hash加密算法; 電子商務(wù)
中圖分類號:TP309.7? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2021)04-38-04
Abstract: Encryption technology is widely used in e-commerce, and it is an important part of e-commerce security. This paper reviews the basic principles, main features, algorithm optimization and research status of common encryption technologies, such as symmetric encryption, asymmetric encryption and Hash encryption, in order to further improve the security of e-commerce.
Key words: symmetric encryption; asymmetric encryption; Hash encryption; e-commerce
0 引言
數(shù)據(jù)加密技術(shù)用來保障網(wǎng)絡(luò)交易過程中信息的安全性,從而使跨平臺、跨地域的電子商務(wù)安全、協(xié)調(diào)、便捷、高效地發(fā)展。在電子商務(wù)具體交易過程中,仍然存在對信息的竊聽、篡改、假冒和惡意破壞等問題[1]。針對這些問題,電子商務(wù)交易與認(rèn)證過程需要保證其所傳遞信息的完整性、保密性、不可抵賴性以及交易者身份的真實(shí)性。
常見應(yīng)用于電子商務(wù)的加密技術(shù)包括對稱加密、非對稱加密和Hash加密三種[2]。此外,三者混合加密以及基于深度學(xué)習(xí)的加密算法,在加密研究領(lǐng)域也占有一席之地。下面對相關(guān)研究進(jìn)行綜述簡評。
1 對稱加密
對稱加密技術(shù)是一種采用單個(gè)密鑰的加密方法。一個(gè)密鑰或可以相互推導(dǎo)的一對密鑰,同時(shí)用作信息的加密和解密,因此對稱加密又稱為單密鑰加密。
1.1 DES
數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是1977年由IBM公司研究并公開發(fā)布的,它的誕生一定程度上為了滿足當(dāng)時(shí)商業(yè)保密需求。DES的數(shù)據(jù)分組長度和密文分組長度均為64位;使用的密鑰為64位,其中8位為校驗(yàn)位。采用數(shù)據(jù)補(bǔ)位的方式,數(shù)據(jù)以八個(gè)字節(jié)為一組進(jìn)行加密,解密過程和加密過程類似,但生成密鑰的順序相反[3]。由于使用的密文分組長度只有64bit,因此邏輯運(yùn)算速度快,算法也相對容易。
隨著計(jì)算機(jī)硬件的不斷發(fā)展以及破解算法的研究,DES因秘鑰過短不足以防御暴力攻擊,于1998年被破解。之后針對DES密鑰長度較短的問題,提出進(jìn)行三次DES加密運(yùn)算的3DES算法,但是當(dāng)3DES所加密的數(shù)據(jù)過長時(shí)反而導(dǎo)致3DES保密性降低。針對此問題有學(xué)者又進(jìn)行了基于DES/3DES的S盒重構(gòu)和多重DES優(yōu)化[4]。劉海峰等[5]還提出基于DES分組與哈希函數(shù)的改進(jìn)方案,改進(jìn)子密鑰使用順序,進(jìn)而,增加密鑰強(qiáng)度。
上述改進(jìn)措施主要集中在增強(qiáng)加密算法復(fù)雜度上,所付出的代價(jià)是巨大的。此外,由于DES技術(shù)需要密鑰數(shù)量大,并且還存在密鑰存儲安全性的問題,因此電子商務(wù)單獨(dú)應(yīng)用DES作為加密技術(shù)的SET交易協(xié)議和SSL協(xié)議已不常見,更多的是與其他加密算法配合使用,文獻(xiàn)[6]提出了一種DES與RSA結(jié)合加密的方法,用DES加密明文數(shù)據(jù),用RSA加密DES密鑰,各取所長提高加密效率和安全性。
1.2 AES
高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES) 于 2001 年底公開發(fā)布[3],很快代替 DES 標(biāo)準(zhǔn)成為對稱加密技術(shù)的主要方式。AES又稱為Rijndael算法,其特點(diǎn)在于多“輪”加密,通過多次反復(fù)的行列異或變化得到最終的密文。每一輪加密都涉及到字節(jié)替代、列混淆、輪密鑰加和行移位四種操作。此外分組過程又劃分為OFB、CFB,ECB、CBC四種加密模式。電子商務(wù)交易過程中的AES加密主要采用的是CBC模式,其適合較長報(bào)文,且不易受主動攻擊。
AES算法常見的有對加密過程S盒的改進(jìn)[7];文獻(xiàn)[8]引入偽隨機(jī)數(shù)算法,一次一密的加密提高了AES的安全性。盡管AES在速度和安全性上較DES有了明顯改進(jìn),然而在差分錯誤攻擊上表現(xiàn)不佳,需約20條左右的錯誤密文就能成功破解AES加密算法[9]。并且,由于其沒有實(shí)質(zhì)上解決密鑰安全性以及數(shù)字簽名認(rèn)證問題,因此對稱加密算法不適合電子商務(wù)交易一對多的信息傳輸場景。據(jù)此,文獻(xiàn)[10]利用在電子商務(wù)環(huán)境下常見的數(shù)字信封技術(shù),并基于FPGA實(shí)現(xiàn)和RSA技術(shù)結(jié)合的混合加密,較大程度上提高了混合算法的安全性和效率。
2 非對稱加密
非對稱密碼算法使用一對密鑰(公鑰和私鑰)對信息進(jìn)行加密和解密。非對稱性體現(xiàn)在:若使用公鑰對數(shù)據(jù)進(jìn)行加密,則只能通過接收端所持的私鑰才能進(jìn)行解密;而如果用私鑰加密,則只能使用對應(yīng)的公鑰解密。由于非對稱加密公鑰和私鑰分開,密鑰不需要頻繁傳遞,也就降低了密鑰數(shù)量,便于密鑰管理。
2.1 RSA算法
RSA是于1977年由Ron Rivest、Adi Shamir和Leonard Adleman三位學(xué)者共同提出的。由于世界上還沒有可靠的攻擊RSA算法的方式,是目前使用最廣泛的非對稱加密算法。RSA算法原理本質(zhì)上是對兩個(gè)大素?cái)?shù)進(jìn)行因式分解,當(dāng)素?cái)?shù)足夠長時(shí)(一般取1024位模長),幾乎無法在可計(jì)算時(shí)間內(nèi)求解,因此RSA的可靠性很高[11]。此外,RSA還支持?jǐn)?shù)字簽名技術(shù),可以滿足電子商務(wù)交易環(huán)境中對用戶身份認(rèn)證的需求。
然而,當(dāng)素?cái)?shù)越來越長、模數(shù)越來越大時(shí),加密和解密的時(shí)間也隨之增大,RSA算法的效率成為其在電子商務(wù)領(lǐng)域正常應(yīng)用的巨大阻礙。周金治等[12]、王海濤等[13]、百君芬[14]根據(jù)算法的自身結(jié)構(gòu),結(jié)合素?cái)?shù)產(chǎn)生與參數(shù)選擇對RSA算法進(jìn)行優(yōu)化。也有學(xué)者[15,16]直接從大整數(shù)的分解角度出發(fā),對算法效率和安全性進(jìn)行優(yōu)化。
就RSA算法與電子商務(wù)數(shù)字簽名方面,王煜等[17]將明文編碼為整數(shù)分組,每組再使用私鑰加密以提高運(yùn)行速度。文獻(xiàn)[18]討論了使用RSA的多重?cái)?shù)字簽名方法,同時(shí)引入秘鑰中心為用戶產(chǎn)生秘鑰從而降低證書管理的復(fù)雜度,能夠更好地適應(yīng)電子商務(wù)環(huán)境。
2.2 ECC算法
橢圓曲線算法(Elliptic Curve Cryptography,ECC)于1985 年被VictorMiller和NealKoblitz提出。它對數(shù)據(jù)加密的安全程度是基于橢圓曲線離散對數(shù)問題求解的困難程度[11]。這是一個(gè)NP 完全問題,因此很難從加密函數(shù)的角度對算法進(jìn)行破解。ECC特點(diǎn)在于在相同加密強(qiáng)度情況下,其密鑰長度要比RSA小很多,因此所需存儲空間較小。詳見下表:
ECC算法存在的問題主要集中在計(jì)算效率較低和計(jì)算方法較復(fù)雜,但由于其適用范圍廣,安全性更高,成為近年電子商務(wù)數(shù)據(jù)加密領(lǐng)域研究重點(diǎn)。張平等[19]對ECC算法安全性做進(jìn)一步提高,把改進(jìn)ECC應(yīng)用于向前安全的數(shù)字簽名技術(shù)中,提出一種前向安全的橢圓曲線數(shù)字簽名方案。李雨等[20]比較各數(shù)字簽名算法優(yōu)劣,設(shè)計(jì)選用具有密鑰位數(shù)短、安全性高、帶寬要求低的ECC數(shù)字簽名算法方案。
此外,將ECC算法和其他算法結(jié)合進(jìn)行混合加密成為近年主流。文獻(xiàn)[21]提出了基于Logistic混沌方程和ECC的混合加密算法,利用混沌映射技術(shù)增強(qiáng)ECC的安全性能。劉艷等[22]將ECC結(jié)合同態(tài)加密的方法,與RSA算法混合加密并應(yīng)用于云端加密。
3 散列函數(shù)加密
將明文轉(zhuǎn)化成不可讀的密文是對信息的混沌效果。散列函數(shù)又稱哈希(Hash)函數(shù),其輸入域無窮大而輸出域有限,是一種單向唯一函數(shù),因此極難通過哈希函數(shù)的結(jié)果回推其輸入數(shù)據(jù)或使散列發(fā)生碰撞?;谝陨咸攸c(diǎn),哈希函數(shù)用于信息摘要,由于輸出熵較大,因此可以看做具有類似加密的效果。散列加密常用于單向數(shù)據(jù)加密的環(huán)境中。
3.1 MD5
信息-摘要算法(Message-DigestsAlgorithm)以變長的信息作為輸入,將其壓縮成一個(gè)128為的輸出[23],在電子商務(wù)的數(shù)字簽名機(jī)制中應(yīng)用廣泛。MD算法于90年代初開發(fā),今已發(fā)展到第五代。MD5在MD4的基礎(chǔ)上增強(qiáng)復(fù)雜度,將明文補(bǔ)位后按照512位分塊,每一塊又劃分為16個(gè)32位子組,經(jīng)過4個(gè)非線性函數(shù)的循環(huán)處理后形成4個(gè)32位級聯(lián)得到的128位輸出,作為輸入信息的摘要[24]。由于輸入長度大于輸出長度,因此存在不同的輸入產(chǎn)生相同輸出的可能,故MD散列算法存在碰撞。MD5算法已被王小云教授使用差分攻擊的方法得到碰撞。
MD5的算法改進(jìn)主要集中在對原始消息的填充過程。文獻(xiàn)[25]提出了對MD5明文消息進(jìn)行相乘溢出的預(yù)處理改進(jìn),比之前的非線性函數(shù)更為復(fù)雜;在步函數(shù)計(jì)算增加填充值并采用冪運(yùn)算,提高發(fā)現(xiàn)差分路徑的難度。文獻(xiàn)[26]將原本512位的消息塊擴(kuò)充至1024位,且每輪結(jié)果值的長度相應(yīng)翻倍,利用雪崩效應(yīng)測試后證明較好的避免碰撞的出現(xiàn)。此外,文獻(xiàn)[27]通過引入一個(gè)64位的對稱秘鑰對hash算法的每一輪都進(jìn)行加密,以較小的時(shí)間代價(jià)大大提高函數(shù)被暴力破解的風(fēng)險(xiǎn)。
3.2 SHA家族
安全散列算法(Secure Hash Algorithm,SHA)包含多個(gè)散列算法,自1993 年FIPS發(fā)布SHA-0至今,歷經(jīng)SHA-1、SHA-2(包SHA-256、SHA-512等)、 SHA-3等多次篩選[28]、優(yōu)化和更新。其中SHA-1和 SHA-256在電子商務(wù)的數(shù)字摘要環(huán)節(jié)應(yīng)用最為廣泛。
SHA-1算法以512比特為一組,不足則填補(bǔ)1,所經(jīng)輪次均與MD5相同,但相較MD5修改了具體的分組處理函數(shù)和字節(jié)序列部分,最終輸出160比特的信息摘要作為算法結(jié)果。遺憾的是,SHA-1與2005年被王小云教授發(fā)現(xiàn)碰撞,利用SHA-1簽名的SSL證書已于2017年不被微軟、谷歌等公司旗下的瀏覽器所支持[28]。SHA-256算法輸出的摘要長度為256比特,因此可能組合更多,碰撞概率較小,比前一版本更加安全,如今被廣泛應(yīng)用在SSL中。
常見的提升SHA算法安全性的方式包括擴(kuò)大分組長度、變換邏輯函數(shù)和改進(jìn)壓縮函數(shù)等[29]。除了針對算法本身進(jìn)行改進(jìn),對SHA家族的FPGA實(shí)現(xiàn)也有大量研究[30,31],旨在提高摘要生成速度和吞吐量,更加適應(yīng)物聯(lián)網(wǎng)及時(shí)應(yīng)答環(huán)境[32]。此外,近年也有學(xué)者研究使用GPU實(shí)現(xiàn)SHA-1算法的并行計(jì)算[33]并可大幅提升計(jì)算速度。
4 總結(jié)與展望
本文介紹了對稱加密、非對稱加密和散列函數(shù)加密三種加密技術(shù),分析在電子商務(wù)領(lǐng)域中的適用性。
對稱算法具有加密速度快的巨大優(yōu)勢,但要求信源信宿雙方都持有密鑰,涉及密鑰存儲安全,安全性能低,不適合單獨(dú)地在電子商務(wù)交易環(huán)境中承擔(dān)信息加密任務(wù)。非對稱加密算法具有安全性能高、支持電子簽名的特點(diǎn),但實(shí)現(xiàn)效率較低,算法復(fù)雜。對稱加密技術(shù)的改進(jìn)近年集中在S盒優(yōu)化和分組多輪計(jì)算兩個(gè)方面增加密文安全性。非對稱加密技術(shù)則集中在分組并行計(jì)算、改進(jìn)參數(shù)選擇、優(yōu)化算法步驟三個(gè)方面。此外,兩種加密技術(shù)的混合算法綜合雙方優(yōu)勢,兼顧了效率、存儲空間和安全性,在電子商務(wù)與網(wǎng)絡(luò)通信協(xié)議場景下有更大的發(fā)展空間。
散列函數(shù)具有良好的信息混沌性能,用于驗(yàn)證信息的完整性。由于其具有計(jì)算效率高,算法簡單易于硬件實(shí)現(xiàn)的特點(diǎn),被廣泛的應(yīng)用在電子商務(wù)的各個(gè)環(huán)節(jié)。近年主要以降低碰撞概率,增強(qiáng)算法安全性和FPGA實(shí)現(xiàn)以提升并發(fā)率與吞吐量研究為主。
長遠(yuǎn)來看,在密鑰形式?jīng)]有質(zhì)變的情況下,混合加密技術(shù)將不斷汲取傳統(tǒng)加密算法優(yōu)點(diǎn)并更好地結(jié)合其他網(wǎng)絡(luò)安全技術(shù),成為未來電子商務(wù)技術(shù)的重要組成部分;散列算法將穩(wěn)步升級并面向大數(shù)據(jù)和海量任務(wù),繼續(xù)對電子商務(wù)安全起到不可替代的保障作用。
參考文獻(xiàn)(References):
[1] 唐雨薇.電子商務(wù)中計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)的應(yīng)用分析[J].技術(shù)與市場,2020.27(2):135-136
[2] 吳曉東.密碼技術(shù)在電子商務(wù)安全中的應(yīng)用[J].信息與電腦,2017.2:224-225
[3] Alanazi H, Zaidan B B, Zaidan A A, et al. New comparative study between DES, 3DES and AES within nine factors[J].arXiv preprint arXiv:1003.4085,2010.
[4] 王煜.3DES加密技術(shù)的新探討與改進(jìn)[J].網(wǎng)絡(luò)空間安全,2016.7(8):30-32
[5] 劉海峰,朱婧,曹慧.改進(jìn)DES子密鑰使用順序的算法研究[J].西南大學(xué)學(xué)報(bào)(自然科學(xué)版),2017.39(6):135-140
[6] 吳明航.DES和RSA混合加密算法的研究[D].哈爾濱工業(yè)大學(xué),2013.
[7] Rahnama B, Elci A, Eweoya I. Fine tuning the advanced encryption standard (AES)[C]//Proceedings of the Fifth International Conference on Security of Information and Networks,2012:205-209
[8] 劉海峰,陶建萍.基于改進(jìn)AES的一次一密加密算法的實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2019.19(13):146-150
[9] 孫維東,俞軍,沈磊.對稱加密算法AES和DES的差分錯誤分析[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版),2013.52(3):297-302
[10] 柴紹杰,張彩珍.AES加密算法的改進(jìn)及FPGA實(shí)現(xiàn)[J].蘭州交通大學(xué)學(xué)報(bào),2020.3:47-53
[11] BhanotR, Hans R. A Review and Comparative Analysis of Various Encryption Algorithms[J].International Journal of Security & Its Applications,2015.9(4):289-306
[12] 周金治,高磊.基于多素?cái)?shù)和參數(shù)替換的改進(jìn)RSA算法研究[J].計(jì)算機(jī)應(yīng)用研究,2019.36(2):495-498
[13] 王海濤,劉朋輝.一種基于RSA的改進(jìn)安全算法[J].測控技術(shù),2019.38(10):104-107,112
[14] 白君芬.公鑰RSA算法的改進(jìn)研究與實(shí)現(xiàn)[J].工業(yè)儀表與自動化裝置,2019.1:101-103
[15] 劉新星,鄒瀟湘,譚建龍.大數(shù)因子分解算法綜述[J].計(jì)算機(jī)應(yīng)用研究,2014.11:3201-3207
[16] 李翊誰,穆雨桐,遲利華,劉杰,孫揚(yáng),包為民,龔春葉.數(shù)域篩法研究綜述[J].計(jì)算機(jī)應(yīng)用,2018.38(S1):104-107
[17] 王煜,朱明,夏演.非對稱加密算法在身份認(rèn)證中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2020.30(1):94-98
[18] 張鍵紅,肖晗,王繼林.高效的基于身份RSA多重?cái)?shù)字簽名[J].小型微型計(jì)算機(jī)系統(tǒng),2018.39(9):1978-1981
[19] 張平,栗亞敏.前向安全的橢圓曲線數(shù)字簽名方案[J].計(jì)算機(jī)工程與應(yīng)用,2020.56(1):115-120
[20] 李雨,張俊.基于ECC算法在數(shù)字簽名中的分析與研究[J].無線互聯(lián)科技,2019.16(12):110-111
[21] 王尚勇,吳笑峰,胡仕剛等.一種基于Logistic混沌方程和ECC的混合加密算法[J].現(xiàn)代信息科技,2018.2(2):103-104,107
[22] 劉艷,郎顯赫,裴少婧.基于ECC與同態(tài)加密的加密算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2020,41(05):1243-1247.
[23] Rivest R L. The MD4 Message-Digest Algorithm[J].Crypto,1991.537(1):303-311
[24] 張裔智,趙毅,湯小斌.MD5算法研究[J].計(jì)算機(jī)科學(xué),2008.7:295-297
[25] 任杰麟.MD5加密算法的安全性分析與改進(jìn)[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2017.29(7):39-42
[26] Jake M. Libed,Ariel M. Sison,Rujie P. Medina. Improved MD5 through the extension of 1024 Message Input Block[P]. Machine Learning and Machine Intelligence,2018.
[27] Shakya A,Karna N. Enhancing MD5 hash algorithm using symmetric key encryption[C]//the 3rd International Conference,2019.
[28] Stevens M,Bursztein E, Karpman P, et al. The First Collision for Full SHA-1[J],2017.
[29] 林雅榕,侯整風(fēng).對哈希算法SHA-1的分析和改進(jìn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006.16(3):124-126
[30] Mestiri H, Kahri F, Bouallegue B, et al. Efficient FPGA Hardware Implementation of Secure Hash Function SHA-2[J]. international journal of computer network & information security,2014.
[31] El MoumniS,F(xiàn)ettach M, Tragha A. High throughput implementation of SHA3 hash algorithm on field programmable gate array (FPGA)[J]. Microelectronics journal, 2019, 93(Nov.):104615.1-104615.8
[32] Martino R,Cilardo A. Designing a SHA-256 Processor for Blockchain-based IoTApplications[J].Internet of Things,2020.11:100254
[33] 紀(jì)兆軒,楊秩,孫瑜等.大數(shù)據(jù)環(huán)境下SHA1的GPU高速實(shí)現(xiàn)[J].信息網(wǎng)絡(luò)安全,2020.230(2):79-86