王對 韓盛
摘要:由于企業(yè)對產(chǎn)品防偽需求不斷提高,該文提出了基于AES加密算法的二維碼防偽系統(tǒng),通過對產(chǎn)品序列號AES加密生成二維碼,使其唯一標識該產(chǎn)品,并通過該二維碼不斷更新產(chǎn)品動態(tài)信息,依靠加密二維碼和產(chǎn)品的動態(tài)信息對其進行防偽識別,加強了二維碼不可偽造性,降低了產(chǎn)品被造假的風(fēng)險。該系統(tǒng)運用于防偽領(lǐng)域,打擊盜版,減少企業(yè)損失。該系統(tǒng)特點:加密算法較為安全,防偽模式效果較好。
關(guān)鍵詞:二維碼防偽;AES加密算法
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)11-0064-03
Abstract: Because of the increasing demand for anti-counterfeiting products, this paper proposes a QR code anti-counterfeiting system based on AES encryption algorithm. By encrypting the serial number AES, the two-dimensional code is generated to uniquely identify the product. Through the QR code, the dynamic information of the product is constantly updated, and the anti-counterfeiting identification is carried out by encrypting the QR code and the dynamic information of the product. Forger ability reduces the risk of forgery. The system is applied in the field of anti-counterfeiting, combating piracy and reducing enterprise losses. The characteristics of the system are: the encryption algorithm is more secure and the anti-counterfeiting mode is better.
Key words: QR code anti-counterfeiting; AES encryption algorithm
在當(dāng)代產(chǎn)品中,防偽技術(shù)越來越得到重視,但是多數(shù)使用的還是傳統(tǒng)防偽技術(shù),如激光防偽,磁性防偽,溫變防偽,熒光防偽,摻雜特殊成分等,這些防偽人體感官不是特別敏銳,會造成真和假防偽標記無法區(qū)分,且傳統(tǒng)印刷技術(shù)容易被破譯從而被盜版商家使用,如今數(shù)字化防偽已經(jīng)成為防偽的新力量,依靠二維碼防偽,信息明確,且直接,消費者可以直接通過企業(yè)設(shè)計的專用二維碼查詢APP查詢出產(chǎn)品的動態(tài)信息,如出廠地點,銷售渠道等等輔助唯一標識商品的信息,這樣可讓二維碼防偽效果達到最佳。
二維碼防偽的優(yōu)勢:
(1)造價低。二維印刷為黑白,無其他印刷技術(shù)要求,成本低廉;
(2)不可篡改。二維碼防偽,一旦人為篡改,就會造成無法通過APP識別,所以篡改只會造成APP識別為假,依舊達到預(yù)期防偽效果;
(3)不可被仿制,該二維碼加密技術(shù),添加了動態(tài)信息,實時追蹤產(chǎn)品動態(tài)信息,極大地增強了防偽性能,即使被仿造,根據(jù)產(chǎn)品的動態(tài)信息也可識別出真?zhèn)危?/p>
(4)二維碼保存時間長,通過糾錯算法,使得二維碼污損較低的情況下,依舊能夠識別二維碼相關(guān)信息,獲取該產(chǎn)品真?zhèn)涡浴?/p>
1 AES算法加密
1.1 AES的參數(shù)
· 密鑰長度:128位,192位,256位
· 分組長度:128
·輪數(shù) 10,12,14 輪
·每輪的密鑰長度:128位
·擴展密鑰長度:176位,208位,240位
不同參數(shù)都是代表著不同的AES不同的加密參數(shù),本文介紹密鑰長度為128,輪數(shù)十輪,每輪密鑰長度為44位的加密模式。
1.2 AES結(jié)構(gòu)
輸入分組為矩陣S描述,密鑰拓展為矩陣,進行9/11/13輪迭代,每一輪迭代,都有固定的操作,總共有四種操作:
⑴字節(jié)代換:S盒
⑵行位移:置換
⑶列混淆:GF(2^8)
⑷輪密鑰加:XOR
矩陣state轉(zhuǎn)換為分組,且以上步驟均可逆,解密時按照上述步驟進行逆操作就可以得到原文。
具體操作流程如圖1所示。
1.2.1 AES加密字節(jié)代換
輸入的分組是以矩陣形式,對矩陣內(nèi)所有元素進行字節(jié)代換,即映射查表,首先介紹S盒,S盒是由16*16字節(jié)的矩陣,包含8Bit值的256種可能變換,字節(jié)的低四位作為列值,字節(jié)的高四位作為行值,生成坐標后,輸出即為S盒對應(yīng)坐標的元素–例:(95)被映射為S盒中 第9行第5列的值(2A),S盒結(jié)構(gòu)如圖2所示。
1.2.2 AES加密行移位變換
行移位變換,即:矩陣的第一行不變,第二行所有元素循環(huán)左移一個字節(jié),第三行所有元素循環(huán)左移兩個字節(jié),第四行所有元素循環(huán)左移三個字節(jié),如果要進行逆操作那就將左移改成右移,具體行移位變換如圖3所示。
1.2.3 AES加密列混淆變換
列混淆變化,是對每列進行單獨操作,每一列乘左乘一個矩陣得到新的矩陣列,如圖4所示。
正向列混合可用基于state矩陣乘法表示,乘積矩陣中每個元素均滿足矩陣乘法定義,即都是由一個矩陣的行和一個矩陣的列乘積得到;乘法和加法都是定義在GF(2^8)上的。
1.2.4 AES加密輪密鑰加密
每一輪輸入矩陣的一列(4個字節(jié))和一輪密鑰的一列(1個字)進行異或,由于要進行10輪輪密鑰加密,所以密鑰要擴展9次,密鑰擴展總共有44字節(jié),根據(jù)異或原理,進行解密操作時,步驟依舊是與該輪密鑰進行異或,就可以得到初始輸入矩陣,所操作如圖5所示。
密鑰擴展描述,初始密鑰輸入值為4個字,共擴展9次,一次擴展四個字,最后共有44個字,密鑰擴展算法 – 偽代碼描述:
· 輸入密鑰直接復(fù)制到擴展密鑰數(shù)組的前四個字
· 在擴展密鑰數(shù)組中,w[i]的值依賴于w[i-1]和w[i-4]
· 對于數(shù)組w中,下標為4的倍數(shù),即w[i](i%4==0),進行更復(fù)雜的處理,處理函數(shù)用g表示:
·函數(shù)g操作為:
-字循環(huán):四個字節(jié)循環(huán)左移一個字節(jié)。[b0, b1, b2, b3]變換成[b1, b2, b3 ,b0]
-字節(jié)代換:用S盒對每個字節(jié)進行代換
-與輪常量Rcon[j]相異或
– 輪常量是一個字,這個字最右邊三個字節(jié)總為0。 每輪的輪常量均不同,其定義為Rcon[j] =(RC[j],0,0,0),其中:
· RC[1]=1
· RC[j]=2R· C[j-1],乘法定義在域GF(28)上:
總體操作流程和函數(shù)g如圖6所示。
2 防偽模式
除了對二維碼內(nèi)信息AES加密外,還將關(guān)聯(lián)動態(tài)信息,具體防偽流程如下:當(dāng)一個產(chǎn)品出產(chǎn)時,為其標識唯一二維碼,通過識別二維碼,更新數(shù)據(jù)庫中的信息,如何時何地出產(chǎn),安檢員編碼,物流信息,銷售渠道,銷售時間地點等信息,若一個用戶想要購買產(chǎn)品時,通過專用APP成功識別二維碼后得到關(guān)聯(lián)數(shù)據(jù)庫中的信息,如發(fā)現(xiàn)這款商品和自己所購買的渠道以及信息都相同,那就可以認定為真品,如果發(fā)現(xiàn)該產(chǎn)品的信息和所購買的途徑不相符,有兩種原因,一種是該防偽二維碼被仿造在假冒商品上,第二種是該商品是正品,但是沒有進行二維碼及時更新信息,第二種情況可歸納為員工沒有及時按照規(guī)定進行更新產(chǎn)品動態(tài)信息,不是出于偽造的目的,所以綜上所述,該方案可以較好地處理防偽問題,如下圖7所示為產(chǎn)品二維碼防偽流程。
3 結(jié)束語
二維碼安全問題不容小覷,若發(fā)現(xiàn)二維碼的高危漏洞,將會對企業(yè)造成巨大損失,本文提出的基于AES加密算法的二維碼防偽體系,可以有效避免假冒產(chǎn)品仿造二維碼,保護了正版企業(yè)的權(quán)利,有助于版權(quán)規(guī)范的不斷進步發(fā)展,除此之外,運用大數(shù)據(jù)技術(shù),可以很好地跟蹤產(chǎn)品銷售和售后等信息,生成大量數(shù)據(jù),給企業(yè)決策和產(chǎn)品維護等方面提供方便和參考,本系統(tǒng)還在進一步開發(fā)當(dāng)中,一些功能算法和防偽加密流程還在不斷改進之中,最后感謝我的指導(dǎo)老師,學(xué)校以及對本文直接或間接提供幫助的人。
參考文獻:
[1] 薛蓬,王達婭.二維條碼在商品防偽上的應(yīng)用[J].科技信息,2009( 33) :427.
[2] 李燕.二維條形碼技術(shù)在防偽標簽中的應(yīng)用[J].通訊世界:下半月,2016( 9) :289290.
[3] 李娜.基于輕量級數(shù)字簽名的藥品防偽追溯系統(tǒng)的設(shè)計[D].北京:北京工業(yè)大學(xué),2013.
[4] 謝仁康.非對稱加密二維碼防偽系統(tǒng)的設(shè)計[D].成都:電子科技大學(xué),2013.
[5] William Stallings.王張宜,等,譯.密碼編碼學(xué)與網(wǎng)絡(luò)安全——原理與實踐(第五版)[M]. 北京:電子工業(yè)出版社,2012.
[6] Daemen J, Rijmen V. AES proposal: Rijndael[J]. 1998.
[7] Advanced Encryption Standard, https://en.wikipedia.org/wiki/Advanced_Encryption_Standard, 2017年3月獲取.
[8] Joan Daemen and Vincent Rijmen, The Design of Rijndael, AES - The Advanced Encryption Standard, Springer-Verlag 2002:238.
[9] SSE, SSE2, AVX, AVX512等, https://software.intel.com/sites/landingpage/IntrinsicsGuide/, 2017年6月獲取.
【通聯(lián)編輯:代影】