楊嘉雄

摘? 要: 加密技術在電子商務中的應用極為廣泛,是電子商務安全的重要組成部分,對其深入研究具有重要意義。文章對常用的加密技術,如對稱加密、非對稱加密和Hash加密的基本原理、主要特點、算法的優化等以及研究現狀進行綜述,旨在進一步提高電子商務的安全性。
關鍵詞: 對稱加密算法; 非對稱加密算法; Hash加密算法; 電子商務
中圖分類號:TP309.7? ? ? ? ? 文獻標識碼: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 引言
數據加密技術用來保障網絡交易過程中信息的安全性,從而使跨平臺、跨地域的電子商務安全、協調、便捷、高效地發展。在電子商務具體交易過程中,仍然存在對信息的竊聽、篡改、假冒和惡意破壞等問題[1]。針對這些問題,電子商務交易與認證過程需要保證其所傳遞信息的完整性、保密性、不可抵賴性以及交易者身份的真實性。
常見應用于電子商務的加密技術包括對稱加密、非對稱加密和Hash加密三種[2]。此外,三者混合加密以及基于深度學習的加密算法,在加密研究領域也占有一席之地。下面對相關研究進行綜述簡評。
1 對稱加密
對稱加密技術是一種采用單個密鑰的加密方法。一個密鑰或可以相互推導的一對密鑰,同時用作信息的加密和解密,因此對稱加密又稱為單密鑰加密。
1.1 DES
數據加密標準(Data Encryption Standard,DES)是1977年由IBM公司研究并公開發布的,它的誕生一定程度上為了滿足當時商業保密需求。DES的數據分組長度和密文分組長度均為64位;使用的密鑰為64位,其中8位為校驗位。采用數據補位的方式,數據以八個字節為一組進行加密,解密過程和加密過程類似,但生成密鑰的順序相反[3]。由于使用的密文分組長度只有64bit,因此邏輯運算速度快,算法也相對容易。
隨著計算機硬件的不斷發展以及破解算法的研究,DES因秘鑰過短不足以防御暴力攻擊,于1998年被破解。之后針對DES密鑰長度較短的問題,提出進行三次DES加密運算的3DES算法,但是當3DES所加密的數據過長時反而導致3DES保密性降低。針對此問題有學者又進行了基于DES/3DES的S盒重構和多重DES優化[4]。劉海峰等[5]還提出基于DES分組與哈希函數的改進方案,改進子密鑰使用順序,進而,增加密鑰強度。
上述改進措施主要集中在增強加密算法復雜度上,所付出的代價是巨大的。此外,由于DES技術需要密鑰數量大,并且還存在密鑰存儲安全性的問題,因此電子商務單獨應用DES作為加密技術的SET交易協議和SSL協議已不常見,更多的是與其他加密算法配合使用,文獻[6]提出了一種DES與RSA結合加密的方法,用DES加密明文數據,用RSA加密DES密鑰,各取所長提高加密效率和安全性。
1.2 AES
高級加密標準(Advanced Encryption Standard,AES) 于 2001 年底公開發布[3],很快代替 DES 標準成為對稱加密技術的主要方式。AES又稱為Rijndael算法,其特點在于多“輪”加密,通過多次反復的行列異或變化得到最終的密文。每一輪加密都涉及到字節替代、列混淆、輪密鑰加和行移位四種操作。此外分組過程又劃分為OFB、CFB,ECB、CBC四種加密模式。電子商務交易過程中的AES加密主要采用的是CBC模式,其適合較長報文,且不易受主動攻擊。
AES算法常見的有對加密過程S盒的改進[7];文獻[8]引入偽隨機數算法,一次一密的加密提高了AES的安全性。盡管AES在速度和安全性上較DES有了明顯改進,然而在差分錯誤攻擊上表現不佳,需約20條左右的錯誤密文就能成功破解AES加密算法[9]。并且,由于其沒有實質上解決密鑰安全性以及數字簽名認證問題,因此對稱加密算法不適合電子商務交易一對多的信息傳輸場景。據此,文獻[10]利用在電子商務環境下常見的數字信封技術,并基于FPGA實現和RSA技術結合的混合加密,較大程度上提高了混合算法的安全性和效率。
2 非對稱加密
非對稱密碼算法使用一對密鑰(公鑰和私鑰)對信息進行加密和解密。非對稱性體現在:若使用公鑰對數據進行加密,則只能通過接收端所持的私鑰才能進行解密;而如果用私鑰加密,則只能使用對應的公鑰解密。由于非對稱加密公鑰和私鑰分開,密鑰不需要頻繁傳遞,也就降低了密鑰數量,便于密鑰管理。
2.1 RSA算法
RSA是于1977年由Ron Rivest、Adi Shamir和Leonard Adleman三位學者共同提出的。由于世界上還沒有可靠的攻擊RSA算法的方式,是目前使用最廣泛的非對稱加密算法。RSA算法原理本質上是對兩個大素數進行因式分解,當素數足夠長時(一般取1024位模長),幾乎無法在可計算時間內求解,因此RSA的可靠性很高[11]。此外,RSA還支持數字簽名技術,可以滿足電子商務交易環境中對用戶身份認證的需求。
然而,當素數越來越長、模數越來越大時,加密和解密的時間也隨之增大,RSA算法的效率成為其在電子商務領域正常應用的巨大阻礙。周金治等[12]、王海濤等[13]、百君芬[14]根據算法的自身結構,結合素數產生與參數選擇對RSA算法進行優化。也有學者[15,16]直接從大整數的分解角度出發,對算法效率和安全性進行優化。
就RSA算法與電子商務數字簽名方面,王煜等[17]將明文編碼為整數分組,每組再使用私鑰加密以提高運行速度。文獻[18]討論了使用RSA的多重數字簽名方法,同時引入秘鑰中心為用戶產生秘鑰從而降低證書管理的復雜度,能夠更好地適應電子商務環境。
2.2 ECC算法
橢圓曲線算法(Elliptic Curve Cryptography,ECC)于1985 年被VictorMiller和NealKoblitz提出。它對數據加密的安全程度是基于橢圓曲線離散對數問題求解的困難程度[11]。這是一個NP 完全問題,因此很難從加密函數的角度對算法進行破解。ECC特點在于在相同加密強度情況下,其密鑰長度要比RSA小很多,因此所需存儲空間較小。詳見下表:
ECC算法存在的問題主要集中在計算效率較低和計算方法較復雜,但由于其適用范圍廣,安全性更高,成為近年電子商務數據加密領域研究重點。張平等[19]對ECC算法安全性做進一步提高,把改進ECC應用于向前安全的數字簽名技術中,提出一種前向安全的橢圓曲線數字簽名方案。李雨等[20]比較各數字簽名算法優劣,設計選用具有密鑰位數短、安全性高、帶寬要求低的ECC數字簽名算法方案。
此外,將ECC算法和其他算法結合進行混合加密成為近年主流。文獻[21]提出了基于Logistic混沌方程和ECC的混合加密算法,利用混沌映射技術增強ECC的安全性能。劉艷等[22]將ECC結合同態加密的方法,與RSA算法混合加密并應用于云端加密。
3 散列函數加密
將明文轉化成不可讀的密文是對信息的混沌效果。散列函數又稱哈希(Hash)函數,其輸入域無窮大而輸出域有限,是一種單向唯一函數,因此極難通過哈希函數的結果回推其輸入數據或使散列發生碰撞。基于以上特點,哈希函數用于信息摘要,由于輸出熵較大,因此可以看做具有類似加密的效果。散列加密常用于單向數據加密的環境中。
3.1 MD5
信息-摘要算法(Message-DigestsAlgorithm)以變長的信息作為輸入,將其壓縮成一個128為的輸出[23],在電子商務的數字簽名機制中應用廣泛。MD算法于90年代初開發,今已發展到第五代。MD5在MD4的基礎上增強復雜度,將明文補位后按照512位分塊,每一塊又劃分為16個32位子組,經過4個非線性函數的循環處理后形成4個32位級聯得到的128位輸出,作為輸入信息的摘要[24]。由于輸入長度大于輸出長度,因此存在不同的輸入產生相同輸出的可能,故MD散列算法存在碰撞。MD5算法已被王小云教授使用差分攻擊的方法得到碰撞。
MD5的算法改進主要集中在對原始消息的填充過程。文獻[25]提出了對MD5明文消息進行相乘溢出的預處理改進,比之前的非線性函數更為復雜;在步函數計算增加填充值并采用冪運算,提高發現差分路徑的難度。文獻[26]將原本512位的消息塊擴充至1024位,且每輪結果值的長度相應翻倍,利用雪崩效應測試后證明較好的避免碰撞的出現。此外,文獻[27]通過引入一個64位的對稱秘鑰對hash算法的每一輪都進行加密,以較小的時間代價大大提高函數被暴力破解的風險。
3.2 SHA家族
安全散列算法(Secure Hash Algorithm,SHA)包含多個散列算法,自1993 年FIPS發布SHA-0至今,歷經SHA-1、SHA-2(包SHA-256、SHA-512等)、 SHA-3等多次篩選[28]、優化和更新。其中SHA-1和 SHA-256在電子商務的數字摘要環節應用最為廣泛。
SHA-1算法以512比特為一組,不足則填補1,所經輪次均與MD5相同,但相較MD5修改了具體的分組處理函數和字節序列部分,最終輸出160比特的信息摘要作為算法結果。遺憾的是,SHA-1與2005年被王小云教授發現碰撞,利用SHA-1簽名的SSL證書已于2017年不被微軟、谷歌等公司旗下的瀏覽器所支持[28]。SHA-256算法輸出的摘要長度為256比特,因此可能組合更多,碰撞概率較小,比前一版本更加安全,如今被廣泛應用在SSL中。
常見的提升SHA算法安全性的方式包括擴大分組長度、變換邏輯函數和改進壓縮函數等[29]。除了針對算法本身進行改進,對SHA家族的FPGA實現也有大量研究[30,31],旨在提高摘要生成速度和吞吐量,更加適應物聯網及時應答環境[32]。此外,近年也有學者研究使用GPU實現SHA-1算法的并行計算[33]并可大幅提升計算速度。
4 總結與展望
本文介紹了對稱加密、非對稱加密和散列函數加密三種加密技術,分析在電子商務領域中的適用性。
對稱算法具有加密速度快的巨大優勢,但要求信源信宿雙方都持有密鑰,涉及密鑰存儲安全,安全性能低,不適合單獨地在電子商務交易環境中承擔信息加密任務。非對稱加密算法具有安全性能高、支持電子簽名的特點,但實現效率較低,算法復雜。對稱加密技術的改進近年集中在S盒優化和分組多輪計算兩個方面增加密文安全性。非對稱加密技術則集中在分組并行計算、改進參數選擇、優化算法步驟三個方面。此外,兩種加密技術的混合算法綜合雙方優勢,兼顧了效率、存儲空間和安全性,在電子商務與網絡通信協議場景下有更大的發展空間。
散列函數具有良好的信息混沌性能,用于驗證信息的完整性。由于其具有計算效率高,算法簡單易于硬件實現的特點,被廣泛的應用在電子商務的各個環節。近年主要以降低碰撞概率,增強算法安全性和FPGA實現以提升并發率與吞吐量研究為主。
長遠來看,在密鑰形式沒有質變的情況下,混合加密技術將不斷汲取傳統加密算法優點并更好地結合其他網絡安全技術,成為未來電子商務技術的重要組成部分;散列算法將穩步升級并面向大數據和海量任務,繼續對電子商務安全起到不可替代的保障作用。
參考文獻(References):
[1] 唐雨薇.電子商務中計算機網絡安全技術的應用分析[J].技術與市場,2020.27(2):135-136
[2] 吳曉東.密碼技術在電子商務安全中的應用[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加密技術的新探討與改進[J].網絡空間安全,2016.7(8):30-32
[5] 劉海峰,朱婧,曹慧.改進DES子密鑰使用順序的算法研究[J].西南大學學報(自然科學版),2017.39(6):135-140
[6] 吳明航.DES和RSA混合加密算法的研究[D].哈爾濱工業大學,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] 劉海峰,陶建萍.基于改進AES的一次一密加密算法的實現[J].科學技術與工程,2019.19(13):146-150
[9] 孫維東,俞軍,沈磊.對稱加密算法AES和DES的差分錯誤分析[J].復旦學報(自然科學版),2013.52(3):297-302
[10] 柴紹杰,張彩珍.AES加密算法的改進及FPGA實現[J].蘭州交通大學學報,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] 周金治,高磊.基于多素數和參數替換的改進RSA算法研究[J].計算機應用研究,2019.36(2):495-498
[13] 王海濤,劉朋輝.一種基于RSA的改進安全算法[J].測控技術,2019.38(10):104-107,112
[14] 白君芬.公鑰RSA算法的改進研究與實現[J].工業儀表與自動化裝置,2019.1:101-103
[15] 劉新星,鄒瀟湘,譚建龍.大數因子分解算法綜述[J].計算機應用研究,2014.11:3201-3207
[16] 李翊誰,穆雨桐,遲利華,劉杰,孫揚,包為民,龔春葉.數域篩法研究綜述[J].計算機應用,2018.38(S1):104-107
[17] 王煜,朱明,夏演.非對稱加密算法在身份認證中的應用研究[J].計算機技術與發展,2020.30(1):94-98
[18] 張鍵紅,肖晗,王繼林.高效的基于身份RSA多重數字簽名[J].小型微型計算機系統,2018.39(9):1978-1981
[19] 張平,栗亞敏.前向安全的橢圓曲線數字簽名方案[J].計算機工程與應用,2020.56(1):115-120
[20] 李雨,張俊.基于ECC算法在數字簽名中的分析與研究[J].無線互聯科技,2019.16(12):110-111
[21] 王尚勇,吳笑峰,胡仕剛等.一種基于Logistic混沌方程和ECC的混合加密算法[J].現代信息科技,2018.2(2):103-104,107
[22] 劉艷,郎顯赫,裴少婧.基于ECC與同態加密的加密算法[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].計算機科學,2008.7:295-297
[25] 任杰麟.MD5加密算法的安全性分析與改進[J].農業圖書情報學刊,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] 林雅榕,侯整風.對哈希算法SHA-1的分析和改進[J].計算機技術與發展,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,Fettach 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] 紀兆軒,楊秩,孫瑜等.大數據環境下SHA1的GPU高速實現[J].信息網絡安全,2020.230(2):79-86