耿子燁 劉思宇 北方工業(yè)大學(xué)計算機學(xué)院
基于二維碼和商用密碼算法的商品防偽技術(shù)研究
耿子燁 劉思宇 北方工業(yè)大學(xué)計算機學(xué)院
結(jié)合當下日趨成熟的二維碼技術(shù),利用商用密碼算法對商品防偽進行研究,將商品信息進行密碼技術(shù)處理,制作二維碼防偽標簽,保證商品信息的保密性、完整性、不可抵賴性,可有效驗證商品真?zhèn)巍Mㄟ^二維碼管理中心、商品出廠管理系統(tǒng)和防偽查詢App的協(xié)調(diào)作用,為消費者提供準確、快捷的查詢真?zhèn)蔚耐緩?,實現(xiàn)了低成本、便捷性與安全性的統(tǒng)一。
二維碼 商用密碼算法 商品防偽 數(shù)字簽名
隨著我國經(jīng)濟的飛速發(fā)展,商品市場日漸繁榮,在物質(zhì)商品豐富的同時,假冒偽劣商品也層出不窮。這些假冒偽劣產(chǎn)品嚴重危害消費者的合法權(quán)益,擾亂了市場秩序,商品防偽已成為人們關(guān)注的焦點問題之一。
商品防偽關(guān)鍵在于證明正規(guī)商品的唯一性,而現(xiàn)有的防偽方式,比如水印防偽、條形碼防偽,在驗證唯一性方面還不是很完善,一旦出現(xiàn)仿造的假冒偽劣產(chǎn)品,會給消費者和廠商造成損失,因此如何利用技術(shù)手段對商品進行有效防偽亟待解決。
隨著移動通信技術(shù)的發(fā)展,智能手機已經(jīng)成為大眾生活必不可少的一部分,移動互聯(lián)網(wǎng)成為重要的移動終端。在移動終端的二維碼技術(shù)趨于成熟的形勢下,利用二維碼技術(shù)結(jié)合密碼學(xué)技術(shù),基于二維碼和商用密碼算法的商品防偽技術(shù)應(yīng)運而生。
密碼技術(shù)是安全的基石,其防偽機理在于利用商用密碼學(xué)算法對商品信息進行加密后生成的二維碼,制作二維碼防偽標簽。二維碼防偽標簽既擁有二維碼的不易復(fù)制、成本低廉的優(yōu)點,又兼?zhèn)鋺?yīng)用商用密碼技術(shù)保證安全性的優(yōu)勢,確保商品信息的保密性、完整性、不可抵賴性。鑒于此,應(yīng)用二維碼技術(shù)與商用密碼技術(shù)結(jié)合的商品防偽技術(shù)擁有可靠、方便的防偽機制,同時為大眾提供了準確、快速、便捷的查詢真?zhèn)瓮緩健?/p>
2.1 二維碼發(fā)展現(xiàn)狀
二維碼是用特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的矩形方陣記錄數(shù)據(jù)符號信息的新一代條碼技術(shù),具有信息量大,糾錯能力強,識讀速度快,全方位識讀等特點。因此,二維碼可作為一個跨媒體的通道,不管是報紙、雜志、戶外、液晶媒體等載體,只要在上面有一個二維碼,就可以通過二維碼來跟人互動,獲取相關(guān)的信息。
目前二維碼的主要應(yīng)用形式:
2.1.1 二維碼付款
由于傳統(tǒng)網(wǎng)絡(luò)支付方式存在易被截獲等安全隱患,現(xiàn)今,許商家提供了掃描二維碼的支付方式,比如支付寶公司的二維碼收款業(yè)務(wù),支付寶客戶端可為所有提交“向我付款”申請的用戶生成二維碼,消費者打開支付寶App的掃碼功能,通過掃描二維碼,就能成功跳轉(zhuǎn)至支付頁面,進行付款,操作完成后,收款將成功轉(zhuǎn)至收款人賬戶。
2.1.2 電子票務(wù)
結(jié)合二維碼的電子票務(wù)逐漸發(fā)展,由火車票加入二維碼,擴展至飛機票、演唱會門票、電影票、景點門票、展會門票等。通過對消費者購買相關(guān)門票時,對消費者的相關(guān)證件信息(姓名、證件號、賬號等)進行審核,并根據(jù)這些信息為其生成二維碼,將附有二維碼的票據(jù)發(fā)放給消費者。在入場時,相關(guān)工作人員會掃描消費者持有的票據(jù)上的二維碼,對比檢查消費者的證件,確認消費者身份,使驗票過程快速便捷。有些景區(qū),由稅務(wù)部門統(tǒng)一監(jiān)制的二維碼電子門票,一票一碼,用后作廢。而且,景點當天出售的所有門票都要先激活,即只有從售票處售出的門票才能通關(guān)入園。并且激活是有時效的,也利于控制人數(shù),避免黃金周的爆棚。
2.1.3 防偽溯源
部分商家將商品的生產(chǎn)及物流信息加載到二維碼里,消費者通過手機掃描二維碼,即可方便快捷的查詢商品從生產(chǎn)到銷售的所有流程,為商品防偽溯源提供便利的途徑。
2.1.4 資訊閱讀
傳統(tǒng)獲取資訊的方式一般是通過報紙、電視以及其他媒體上的內(nèi)容,由于限于媒體介質(zhì)的特性,無法延伸閱讀,通過在某雜志一篇文章旁附加一個二維碼,讀者通過掃描該二維碼即可獲得與該篇文章相關(guān)的更多信息,比如相關(guān)視頻、音頻、圖片、熱點評論等,甚至加入一些廣告,擴展宣傳途徑。這種方式給讀者提供了更加豐富的閱讀體驗,實現(xiàn)了跨媒體閱讀。
2.2 商用密碼發(fā)展現(xiàn)狀
互聯(lián)網(wǎng)技術(shù)迅速發(fā)展,在這樣一個信息化的時代,保證信息安全成為關(guān)鍵,而保證信息安全的核心技術(shù)是密碼。從1949年,信息論創(chuàng)始人Shannon發(fā)表的《保密系統(tǒng)的通信理論》一文,為密碼學(xué)奠定堅實的理論基礎(chǔ)。此后,密碼學(xué)不斷發(fā)展,密碼技術(shù)不斷改進,密碼的已經(jīng)廣泛應(yīng)用科技、商業(yè)、社會生活等領(lǐng)域,充分保證了信息的保密性、完整性、不可否認性,在保障國家安全、社會穩(wěn)定、經(jīng)濟發(fā)展中起到重要作用。1999年10月7日,國務(wù)院正式公布和實施我國《商用密碼管理條例》,為商用密碼的規(guī)范管理提供了依據(jù)。
現(xiàn)今,量子計算理論日漸成熟,經(jīng)典密碼算法也出現(xiàn)弊端,我國正逐步推進國產(chǎn)密碼算法在各行業(yè)的應(yīng)用,從而代替國際密碼算法,保證信息的安全性,實現(xiàn)信息系統(tǒng)的自主安全可控。本文選用的國密算法中的SM2和SM3算法。其中SM2是橢圓曲線,用于將二維碼數(shù)據(jù)生成數(shù)字簽名;SM3算法是一種數(shù)字雜湊算法,用于生成摘要。下面分別介紹SM2和SM3算法:
2.2.1 SM2算法
SM2算法由國家密碼管理局于2010年12月17日發(fā)布,全稱為橢圓曲線算法。然而橢圓曲線并非橢圓,由于SM2算法使用的方程為:y2=x3+ax+b,此方程與計算橢圓周長的方程相似,所以稱為橢圓曲線算法。
SM2算法實現(xiàn)如下:
(1)選擇Ep(a,b)的元素G,使得G的階n是一個大素數(shù)
(2)G的階是指滿足nG=O的最小n值
(3)秘密選擇整數(shù)k,計算B=kG,然后公開(p,a,b,G,B),B為公鑰,保密k,k為私鑰
加密M:先把消息M變換成為E p(a,b)中一個點Pm,然后,選擇隨機數(shù)r,計算密文Cm={rG,Pm+rP),如果r使得rG或者rP為O,則要重新選擇r。
解密Cm:(Pm+rP)-k(rG)=Pm+rkG-krG=Pm
SM2算法的安全性基于一個數(shù)學(xué)難題“離散對數(shù)問題ECDLP”實現(xiàn),即考慮等式Q=KP,其中Q、P屬于Ep(a,b),K
2.2.2 SM3算法
在密碼學(xué)中,摘要函數(shù)通常被應(yīng)用于在數(shù)字簽名,消息認證,數(shù)據(jù)完整性檢測等領(lǐng)域。摘要函數(shù)需要滿足三個基本特性包括:碰撞穩(wěn)固性,原根穩(wěn)固性和第二原根穩(wěn)固性。經(jīng)研究發(fā)現(xiàn)MD5算法和SHA-1算法,由于碰撞攻擊的存在,MD5算法和SHA-1算法已經(jīng)不再是安全的算法。而在SHA-256基礎(chǔ)上改進實現(xiàn)的SM3算法的安全性相對較高,此算法適用于商用密碼應(yīng)用中的數(shù)字簽名和驗證,并且在2010年,中國國家密碼管理局將SM3密碼摘要算法確定為中國商用密碼雜湊算法標準。
SM3算法采用Merkle-Damgard結(jié)構(gòu),消息分組長度為512位,摘要值長度為256位。SM3算法的壓縮函數(shù)與SHA-256的壓縮函數(shù)具有相似的結(jié)構(gòu),但SM3算法的設(shè)計相對復(fù)雜。
2.2.3 商用密碼的應(yīng)用
(1)我國第二代身份證采用了256位的ECC加密技術(shù),利用密碼技術(shù)實現(xiàn)了防偽。
(2)稅控系統(tǒng)應(yīng)用密碼技術(shù),將收款信息等利用密碼學(xué)算法加密后打印到發(fā)票上,有效解決了漏稅、逃稅等違法行為。
(3)電子交易、數(shù)字電視、移動通信等領(lǐng)域都利用商用密碼技術(shù),保證其安全性。
圖1 系統(tǒng)總功能圖
圖2 商品注冊申請流程
圖3 防偽標簽生成流程
圖4 商品真?zhèn)尾樵兞鞒?/p>
基于二維碼和商用密碼算法的商品防偽系統(tǒng)涵蓋二維碼管理中心、商品出廠管理系統(tǒng)、手機端防偽查詢App三大模塊。二維碼管理中心作為可信任的第三方,對廠商信息進行審核,為其生成安全標識(密鑰對:公鑰和私鑰)。出廠管理系統(tǒng)為商品生成保護標識(加密密鑰),將保護標識傳送回二維碼管理中心記錄保存,然后結(jié)合商用密碼學(xué)算法對商品信息進行加密,生二維碼,制作二維碼防偽標簽,將貼有二維碼防偽標簽的商品出廠。消費者利用安裝防偽查詢App的移動終端,掃描商品二維碼標簽,將信息傳送至二維碼管理中心,利用二維碼標簽中的相關(guān)信息和商用密碼學(xué)算法驗證,將商品真?zhèn)涡畔⒎答伣o用戶,為消費者提供了準確、快捷的查詢真?zhèn)蔚耐緩?,保證了信息的保密性、完整性、不可抵賴性。
3.1 系統(tǒng)架構(gòu)
基于二維碼和商用密碼算法的商品防偽系統(tǒng)由二維碼管理中心、商品出廠管理系統(tǒng)和商品防偽查詢軟件三部分構(gòu)成,在互聯(lián)網(wǎng)的作用下,三大模塊相互協(xié)調(diào),實現(xiàn)商品真?zhèn)尾樵儭H鐖D1所示。
3.1.1 二維碼管理中心
本模塊首先對申請注冊的廠商的相關(guān)證件信息等進行審核。審核通過后幫其填寫注冊信息,登記商品編號,為其生成生成安全標識(SM2算法的密鑰對:公鑰、私鑰),將標識的一部分(私鑰)以安全的方式交給商家,另一部分(公鑰)則由中心保管。同時二維碼管理中心還要保存出廠管理系統(tǒng)傳回的商品保護標識,用于檢驗真?zhèn)?。如圖2所示。在檢驗真?zhèn)螘r二維碼管理中心負責與移動終端進行數(shù)據(jù)交互,對傳回的信息的進行檢驗,得到商品真?zhèn)涡畔?,并反饋給用戶客戶端。如圖2所示。
3.1.2 商品出廠管理系統(tǒng)
商家利用隨機數(shù)生成一組保護標識(保護密鑰),隨后對商品編號利用保護標識,并結(jié)合商用密碼學(xué)算法,生成防偽信息,生成二維碼防偽標簽,并將本標簽貼在商品上,商品即可出廠。如圖3所示。
3.1.3 防偽查詢APP
消費者用安裝防偽查詢軟件移動終端,掃描二維碼防偽標簽,由終端將信息傳送到二維碼管理中心,進行查詢,后臺經(jīng)過驗證,并將驗證結(jié)果為將結(jié)果傳送至防偽查詢App端。如圖4所示。
圖5 二維碼防偽標簽生成流程
圖6 商品真?zhèn)悟炞C流程
3.2 系統(tǒng)原理
3.2.1 二維碼特點
二維碼有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能及處理圖形旋轉(zhuǎn)變化等特點。二維碼能夠在橫向和縱向兩個方位同時表達信息,因此能在很小的面積內(nèi)表達大量的信息。它是一種高密度編碼,因此信息容量大,編碼范圍也廣。此外,二維碼容錯能力較強具有糾錯功能,譯碼可靠性也強,最重要的是,隨著智能手機的發(fā)展,通過移動端掃描二維碼給用戶帶來便利,并且制作二維碼標簽成本低,節(jié)約資源。
3.2.2 二維碼防偽標簽的生成
第一,數(shù)字簽名由兩部分組成,簽名算法和驗證算法。簽名算法是產(chǎn)生數(shù)字簽名的某種算法,而驗證算法是檢驗一個數(shù)字簽名是否有效的某種算法。它是非對稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應(yīng)用。只有信息的發(fā)送者才能產(chǎn)生別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。
數(shù)字簽名主要經(jīng)過以下幾個過程:
①信息發(fā)送者使用SM3算法對信息生成信息摘要;
②信息發(fā)送者使用自己的私鑰簽名信息摘要;
③信息發(fā)送者把信息本身和已簽名的信息摘要一起發(fā)送出去;
④信息接收者通過使用與信息發(fā)送者使用的同一個單向散列函數(shù)(哈希函數(shù))對接收的信息本身生成新的信息摘要,再使用信息發(fā)送者的公鑰對信息摘要進行驗證,以確認信息發(fā)送者的身份和信息是否被修改過。
本系統(tǒng)主要通過數(shù)字簽名技術(shù)(SM2算法)驗證注冊廠商商品真實有效性。
第二,二維碼防偽標簽的生成具體流程。二維碼管理中心為審核通過的廠商生成安全標識(即公私鑰對),將私鑰以安全的方式交給商家,公鑰則由中心保管。廠商利用隨機數(shù)產(chǎn)生保護標識(即保護密鑰),同時,將保護密鑰以安全的方式發(fā)給二維碼管理中心進行保存,用于商品真?zhèn)螜z驗。利用保護密鑰對商品編號進行加密,對加密后的信息利用哈希函數(shù)計算摘要,將摘要利用專屬的私鑰應(yīng)用SM2算法進行數(shù)字簽名,最后利用加密信息和數(shù)字簽名生成安全可靠的二維碼,制作成為二維碼防偽標簽,貼在商品上即可出廠。如圖5所示。
3.2.3 商品真?zhèn)悟炞C
消費者用安裝防偽查詢軟件,掃面商品二維碼標簽,防偽查詢App會將防偽標簽二維碼信息(包括簽名以及加密的商家信息)發(fā)送到二維碼管理中心進行查詢。監(jiān)管中心根據(jù)商家信息找到注冊時保存的公鑰,對數(shù)字簽名進行驗簽,得到摘要值(MD1),再對商家信息密文利用哈希算法計算得到摘要值(MD2),兩摘要值進行對比,若相同則商品為真,否則為假,將真?zhèn)涡畔⒎答伣o移動終端。如圖6所示。
在這樣一個“互聯(lián)網(wǎng)+”的時代,智能手機的廣泛應(yīng)用,應(yīng)用二維碼技術(shù)結(jié)合商用密碼算法制作二維碼防偽標簽,實現(xiàn)商品防偽的方案,有效 避免了傳統(tǒng)防偽方式的弱點,提供便捷的查詢真?zhèn)瓮緩?。隨著二維碼技術(shù)的不斷成熟,二維碼結(jié)合商用密碼的防偽方式不斷完善,這種新型防偽方式具有一定的發(fā)展前景。
[1]馬兆豐,馮博琴,宋擒豹,等.面向認證的傳統(tǒng)商品數(shù)字化防偽機制研究[J].計算機工程,2003,29(1):14-16
[2]移動應(yīng)用發(fā)展趨勢報告(Android版)
[3]李陳偉.基于二維碼的圖書防偽技術(shù)研究[D].南京師范大學(xué),2014
[4]王偉瑋.基于移動二維碼技術(shù)的商品防偽系統(tǒng)的研究與應(yīng)用[D].北京郵電大學(xué),2013
[5]Tarjan L, Senk I, Tegeltija S, et al. A readability analysis for QR code application in a traceability system[J]. Computers & Electronics in Agriculture, 2014, 109(109):1-11
[6]王挺,呂述望.商用密碼發(fā)展現(xiàn)狀、動態(tài)和啟示[J].中國金融電腦,2000(6):29-31
[7]蔡樂才.應(yīng)用密碼學(xué)[M].北京:跨國電力出版社,2003