蔡筱箐 黃東洋 康雙 尚方靜 袁紅剛 肖春寶
摘?要:隨著二維碼在日常生活中的廣泛應(yīng)用,安全問題也日益突出。為了提高二維碼信息的安全性和使用的快捷性,對基于加密二維碼的防偽技術(shù)進行研究。首先討論了二維碼在應(yīng)用過程中所面臨的安全問題,然后分析數(shù)字安全技術(shù),并對不同加密算法的性能進行對比。兼顧安全性、效率和易用性,提出一種結(jié)合AES與RSA算法的加密二維碼算法,并將其應(yīng)用于進口化妝品防偽查詢系統(tǒng)。該算法不僅有效提高了系統(tǒng)的安全性,降低了關(guān)鍵信息被盜用和篡改的幾率,而且保證了二維碼生成與識別的速度。
關(guān)鍵詞:AES算法;RSA算法;二維碼;加密;安全性
1 緒論
近年來,二維碼技術(shù)快速發(fā)展,不管是移動支付還是快遞物流,甚至是軍事信息管理都用到了二維碼技術(shù)。隨著二維碼的使用越來越廣泛,以二維碼為載體的安全隱患也逐漸顯露出來。因此,二維碼安全性的研究具有至關(guān)重要的作用。將加密二維碼技術(shù)應(yīng)用于商品防偽查詢系統(tǒng),不僅可以有效提高系統(tǒng)的安全性,同時也降低了關(guān)鍵信息被盜用和篡改的幾率,從而實現(xiàn)商品信息防偽。
2 二維碼
2.1 二維碼概述
二維碼是一種按特定規(guī)則分布在二維空間的圖形,其中包含有若干信息。信息通過編碼轉(zhuǎn)換為二維碼格式,二維碼經(jīng)解碼能夠?qū)男畔⑦€原。二維碼有多種類型,QR碼是日常生活中最常用的一種。
2.2 二維碼安全問題
二維碼作為移動互聯(lián)網(wǎng)常用的信息載體,在廣泛使用的同時也帶來了巨大的安全隱患,主要表現(xiàn)在:其存儲的內(nèi)容不是直接可見的,為不安全網(wǎng)站的傳播提供了更多的可能;二維碼的安全檢測技術(shù)缺乏,很有可能成為財務(wù)欺詐的新手段;二維碼大多是開源,可能會有信息泄露風(fēng)險。
3 數(shù)字安全技術(shù)分析
隨著互聯(lián)網(wǎng)信息技術(shù)的飛速發(fā)展,信息安全成了人們?nèi)找骊P(guān)注的問題。因此,迫切需要一些技術(shù)舉措來保障信息的安全性。
3.1 加密技術(shù)
數(shù)據(jù)加密算法多種多樣,而其標(biāo)準(zhǔn)化是也是現(xiàn)代信息社會發(fā)展的必然趨勢,是國際保密通信領(lǐng)域的一個重要研究方向。加密算法可分為對稱加密算法和非對稱加密算法。對稱加密算法包括DES和AES等,非對稱加密算法的典型代表是RSA算法。
3.1.1 DES算法
DES作為一種使用分組密碼設(shè)計的對稱加密算法,其使用的兩個原則為混淆和擴散。混淆的含義是密文與密鑰的復(fù)雜關(guān)系變得最大化,以使攻擊者無法利用兩者的關(guān)系對密碼進行分析;而擴散的作用就是盡最大可能使明文的每一個字符和密鑰的每一位都能最大化地作用到生成的密文中。
算法步驟:
(1)對8字節(jié)明文進行初始置換;
(2)進行16輪相同的運算,將數(shù)據(jù)和密鑰相結(jié)合;
(3)進行初始置換的逆運算得到密文。
3.1.2 AES算法
AES即高級加密標(biāo)準(zhǔn),是為了替代DES而提出的算法。和DES算法一樣,AES同樣是使用分組密碼設(shè)計的對稱加密算法。AES算法根據(jù)密鑰長度分為AES-128、AES-192和AES-256三種,分別對應(yīng)128、192和256三種密鑰長度。其分組長度為128bit,輪數(shù)有10、12和14,每輪的密鑰長度為128bit。擴展密鑰長度為176、208和240位。本文在算法對比實驗中采用的是AES-256。
算法步驟:輸入分組為矩陣s盒,密鑰拓展為矩陣,進行9、11和13輪迭代。在每一輪迭代中執(zhí)行的迭代不變。共有4種:[1]
(1)字節(jié)代換:S盒。
(2)行位移:置換。
(3)列混淆:GF(28)。
(4)輪密鑰加:異或運算。
3.1.3 RSA算法
RSA算法的安全性到目前為止也沒有得到理論證明,這與數(shù)學(xué)上神奇的質(zhì)數(shù)不無相關(guān)。雖歷經(jīng)幾十年的攻擊,仍未被完全攻破,反而逐漸被密碼界認可。RSA同時也是首個能夠同時用于數(shù)字簽名和加密的算法,也是非對稱加密的典范。非對稱的是指它需要一對密鑰,一個用于加密,必須用與其配對的另一個秘鑰用于解密。
RSA依賴的是大數(shù)的因子分解,主要包含三個參數(shù)m(兩個大質(zhì)數(shù)p,q的積,其二進制所占的位數(shù)就是密鑰長度),e1,e2(一對具有特定關(guān)系的值)。這個特定關(guān)系可描述如下:
任取一個值給e1滿足與(p-1)(q-1)互質(zhì)。再取e2使得:
(e1*e2)mod((q-1)(p-1))=1(1)
此時稱為(m,e1)為公鑰,(m,e2)為私鑰??傻孟铝泄剑ㄔO(shè)X為明文,Y為密文)[3]:
X=Ye1modm(2)
Y=Xe2modm(3)
RSA算法的流程如下圖所示。
3.2 三種算法對比
DES算法的安全性不夠強。第一,其密鑰Key只有7個字節(jié),而在迭代過程中密鑰的產(chǎn)生是依次遞推出來的,在這種關(guān)聯(lián)下肯定會降低其安全性。第二,加密單位只有8個字節(jié)的數(shù)據(jù)傳輸量,而且這其中還要分配給用于奇偶校驗等。根據(jù)權(quán)威的加密算法安全性評估,軍事情報機構(gòu)攻破一個56位的DES加密僅需數(shù)秒鐘,可見其對抗線性密碼分析的能力差。而加密強度的提高又需增加密鑰長度,這又無疑會加大系統(tǒng)的開銷。
AES在對比DES之后,不難發(fā)現(xiàn)AES也是分組迭代密碼,但其分組和密鑰的長度設(shè)計巧妙。第一分組DATA的長度為128到256bit之間的任意32的倍數(shù)。第二Key的長度同樣為32的倍數(shù),最大為42個字節(jié),顯然遠大于DES的7個字節(jié)。因此,安全性大大提高。AES算法采用WTS策略,可對抗差分密碼分析與線性密碼分析。根據(jù)權(quán)威機構(gòu)的評測,在256bit密鑰下,窮舉法基本無法破解。更加值得一提的是算法策略和允許并行計算使其運行速度大大提升[2]。
得益于大數(shù)分解,RSA的密鑰很長,安全性及其高,現(xiàn)階段基本無法被攻破。然而,RSA進行的大數(shù)計算使其在同等數(shù)據(jù)量下運算速率比AES慢得多。為了比較三種算法的加密速率,進行了對比實驗的測試,實驗結(jié)果如下表所示。
由上表可知,AES算法在三種算法中的加密速率最快。RSA算法雖然安全性非常高,但速率要慢得多,因而不適宜加密長文。綜合考慮不同加密算法的特點,采用AES和RSA相結(jié)合的方法來對二維碼進行加密:采用AES算法來加密需要存儲在二維碼中的明文信息,采用RSA算法加密AES算法的密鑰。該方法可以提高二維碼信息的安全性并保障生成和識別二維碼的效率。
4 加密二維碼的應(yīng)用
該加密二維碼技術(shù)已應(yīng)用于進口化妝品防偽查詢系統(tǒng)中。一方面對二維碼內(nèi)產(chǎn)品信息進行加密處理,另一方面還將關(guān)聯(lián)有關(guān)商品的動態(tài)信息,具體的流程如下:當(dāng)一個產(chǎn)品生產(chǎn)出廠時,該商品將獲得唯一識別碼(生產(chǎn)序列號),對應(yīng)一個二維碼,系統(tǒng)能夠通過識別該二維碼,檢索并更新數(shù)據(jù)庫中有關(guān)商品的信息,例如生產(chǎn)日期、產(chǎn)地、檢驗員、裝配員、零售商和海關(guān)口岸等信息。當(dāng)用戶購買此產(chǎn)品時通過專用APP掃描此二維碼便可得知這一系列信息。通過與官方正品信息相比對來驗證自己購買到的是否為真品。該二維碼被設(shè)定了被識別次數(shù),若該二維碼被多次識別,系統(tǒng)將不能再保證該商品信息不是被偽造出來的。若發(fā)現(xiàn)二維碼信息與官網(wǎng)信息不符,則表明該商品是偽造產(chǎn)品。
5 結(jié)語
二維碼的安全性是一個關(guān)乎企業(yè)和用戶切身利益的關(guān)鍵問題。采用結(jié)合AES與RSA兩種算法的加密二維碼防偽技術(shù),實現(xiàn)了進口化妝品防偽查詢系統(tǒng)。該技術(shù)可以有效地減少假冒偽劣產(chǎn)品流入市場,從而保護企業(yè)和用戶的合法權(quán)利,助力于化妝品乃至其他行業(yè)的科技進步與發(fā)展。
參考文獻:
[1]王對,韓盛.基于AES加密算法的二維碼防偽系統(tǒng)[J].電腦知識與技術(shù),2019,15(11):70-72.
[2]王銳芳.基于二維碼加密的圖書防偽識別研究與設(shè)計[J].無線互聯(lián)科技,2019(15):51-54.
[3]陳靖雯,夏詩文,林勇.RSA加密二維碼在防偽溯源系統(tǒng)中的應(yīng)用[J].寧波工程學(xué)院學(xué)報,2016(4):31-36.
[4]程桂花,齊學(xué)梅,羅勇龍.AES算法中的多項式模運算及其性能分析[J].計算機技術(shù)與發(fā)展,2010,20(9):l15-118.
[5]胡亮,袁巍,于孟濤,等.單向性策略與AES密鑰生成算法的改進[J].吉林大學(xué)學(xué)報:工學(xué)版,2009,39(1):138-141.
[6]高娜娜,宋麗華.AES算法中密鑰擴展和列混合單元的可重構(gòu)設(shè)計[J].北京信息科技大學(xué)學(xué)報,2012,27(4):51-55.
[7]肖振久,胡馳,姜正濤.AES與RSA算法優(yōu)化及其混合加密體制[J].計算機應(yīng)用研究,2014,31(4):1189-1194,1198.
基金項目:該項目受河南科技大學(xué)大學(xué)生研究訓(xùn)練計劃(SRTP)項目資助(NO.2019096)