耿子燁 劉思宇 北方工業大學計算機學院
基于二維碼和商用密碼算法的商品防偽技術研究
耿子燁 劉思宇 北方工業大學計算機學院
結合當下日趨成熟的二維碼技術,利用商用密碼算法對商品防偽進行研究,將商品信息進行密碼技術處理,制作二維碼防偽標簽,保證商品信息的保密性、完整性、不可抵賴性,可有效驗證商品真偽。通過二維碼管理中心、商品出廠管理系統和防偽查詢App的協調作用,為消費者提供準確、快捷的查詢真偽的途徑,實現了低成本、便捷性與安全性的統一。
二維碼 商用密碼算法 商品防偽 數字簽名
隨著我國經濟的飛速發展,商品市場日漸繁榮,在物質商品豐富的同時,假冒偽劣商品也層出不窮。這些假冒偽劣產品嚴重危害消費者的合法權益,擾亂了市場秩序,商品防偽已成為人們關注的焦點問題之一。
商品防偽關鍵在于證明正規商品的唯一性,而現有的防偽方式,比如水印防偽、條形碼防偽,在驗證唯一性方面還不是很完善,一旦出現仿造的假冒偽劣產品,會給消費者和廠商造成損失,因此如何利用技術手段對商品進行有效防偽亟待解決。
隨著移動通信技術的發展,智能手機已經成為大眾生活必不可少的一部分,移動互聯網成為重要的移動終端。在移動終端的二維碼技術趨于成熟的形勢下,利用二維碼技術結合密碼學技術,基于二維碼和商用密碼算法的商品防偽技術應運而生。
密碼技術是安全的基石,其防偽機理在于利用商用密碼學算法對商品信息進行加密后生成的二維碼,制作二維碼防偽標簽。二維碼防偽標簽既擁有二維碼的不易復制、成本低廉的優點,又兼備應用商用密碼技術保證安全性的優勢,確保商品信息的保密性、完整性、不可抵賴性。鑒于此,應用二維碼技術與商用密碼技術結合的商品防偽技術擁有可靠、方便的防偽機制,同時為大眾提供了準確、快速、便捷的查詢真偽途徑。
2.1 二維碼發展現狀
二維碼是用特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的矩形方陣記錄數據符號信息的新一代條碼技術,具有信息量大,糾錯能力強,識讀速度快,全方位識讀等特點。因此,二維碼可作為一個跨媒體的通道,不管是報紙、雜志、戶外、液晶媒體等載體,只要在上面有一個二維碼,就可以通過二維碼來跟人互動,獲取相關的信息。
目前二維碼的主要應用形式:
2.1.1 二維碼付款
由于傳統網絡支付方式存在易被截獲等安全隱患,現今,許商家提供了掃描二維碼的支付方式,比如支付寶公司的二維碼收款業務,支付寶客戶端可為所有提交“向我付款”申請的用戶生成二維碼,消費者打開支付寶App的掃碼功能,通過掃描二維碼,就能成功跳轉至支付頁面,進行付款,操作完成后,收款將成功轉至收款人賬戶。
2.1.2 電子票務
結合二維碼的電子票務逐漸發展,由火車票加入二維碼,擴展至飛機票、演唱會門票、電影票、景點門票、展會門票等。通過對消費者購買相關門票時,對消費者的相關證件信息(姓名、證件號、賬號等)進行審核,并根據這些信息為其生成二維碼,將附有二維碼的票據發放給消費者。在入場時,相關工作人員會掃描消費者持有的票據上的二維碼,對比檢查消費者的證件,確認消費者身份,使驗票過程快速便捷。有些景區,由稅務部門統一監制的二維碼電子門票,一票一碼,用后作廢。而且,景點當天出售的所有門票都要先激活,即只有從售票處售出的門票才能通關入園。并且激活是有時效的,也利于控制人數,避免黃金周的爆棚。
2.1.3 防偽溯源
部分商家將商品的生產及物流信息加載到二維碼里,消費者通過手機掃描二維碼,即可方便快捷的查詢商品從生產到銷售的所有流程,為商品防偽溯源提供便利的途徑。
2.1.4 資訊閱讀
傳統獲取資訊的方式一般是通過報紙、電視以及其他媒體上的內容,由于限于媒體介質的特性,無法延伸閱讀,通過在某雜志一篇文章旁附加一個二維碼,讀者通過掃描該二維碼即可獲得與該篇文章相關的更多信息,比如相關視頻、音頻、圖片、熱點評論等,甚至加入一些廣告,擴展宣傳途徑。這種方式給讀者提供了更加豐富的閱讀體驗,實現了跨媒體閱讀。
2.2 商用密碼發展現狀
互聯網技術迅速發展,在這樣一個信息化的時代,保證信息安全成為關鍵,而保證信息安全的核心技術是密碼。從1949年,信息論創始人Shannon發表的《保密系統的通信理論》一文,為密碼學奠定堅實的理論基礎。此后,密碼學不斷發展,密碼技術不斷改進,密碼的已經廣泛應用科技、商業、社會生活等領域,充分保證了信息的保密性、完整性、不可否認性,在保障國家安全、社會穩定、經濟發展中起到重要作用。1999年10月7日,國務院正式公布和實施我國《商用密碼管理條例》,為商用密碼的規范管理提供了依據。
現今,量子計算理論日漸成熟,經典密碼算法也出現弊端,我國正逐步推進國產密碼算法在各行業的應用,從而代替國際密碼算法,保證信息的安全性,實現信息系統的自主安全可控。本文選用的國密算法中的SM2和SM3算法。其中SM2是橢圓曲線,用于將二維碼數據生成數字簽名;SM3算法是一種數字雜湊算法,用于生成摘要。下面分別介紹SM2和SM3算法:
2.2.1 SM2算法
SM2算法由國家密碼管理局于2010年12月17日發布,全稱為橢圓曲線算法。然而橢圓曲線并非橢圓,由于SM2算法使用的方程為:y2=x3+ax+b,此方程與計算橢圓周長的方程相似,所以稱為橢圓曲線算法。
SM2算法實現如下:
(1)選擇Ep(a,b)的元素G,使得G的階n是一個大素數
(2)G的階是指滿足nG=O的最小n值
(3)秘密選擇整數k,計算B=kG,然后公開(p,a,b,G,B),B為公鑰,保密k,k為私鑰
加密M:先把消息M變換成為E p(a,b)中一個點Pm,然后,選擇隨機數r,計算密文Cm={rG,Pm+rP),如果r使得rG或者rP為O,則要重新選擇r。
解密Cm:(Pm+rP)-k(rG)=Pm+rkG-krG=Pm
SM2算法的安全性基于一個數學難題“離散對數問題ECDLP”實現,即考慮等式Q=KP,其中Q、P屬于Ep(a,b),K
2.2.2 SM3算法
在密碼學中,摘要函數通常被應用于在數字簽名,消息認證,數據完整性檢測等領域。摘要函數需要滿足三個基本特性包括:碰撞穩固性,原根穩固性和第二原根穩固性。經研究發現MD5算法和SHA-1算法,由于碰撞攻擊的存在,MD5算法和SHA-1算法已經不再是安全的算法。而在SHA-256基礎上改進實現的SM3算法的安全性相對較高,此算法適用于商用密碼應用中的數字簽名和驗證,并且在2010年,中國國家密碼管理局將SM3密碼摘要算法確定為中國商用密碼雜湊算法標準。
SM3算法采用Merkle-Damgard結構,消息分組長度為512位,摘要值長度為256位。SM3算法的壓縮函數與SHA-256的壓縮函數具有相似的結構,但SM3算法的設計相對復雜。
2.2.3 商用密碼的應用
(1)我國第二代身份證采用了256位的ECC加密技術,利用密碼技術實現了防偽。
(2)稅控系統應用密碼技術,將收款信息等利用密碼學算法加密后打印到發票上,有效解決了漏稅、逃稅等違法行為。
(3)電子交易、數字電視、移動通信等領域都利用商用密碼技術,保證其安全性。

圖1 系統總功能圖

圖2 商品注冊申請流程

圖3 防偽標簽生成流程

圖4 商品真偽查詢流程
基于二維碼和商用密碼算法的商品防偽系統涵蓋二維碼管理中心、商品出廠管理系統、手機端防偽查詢App三大模塊。二維碼管理中心作為可信任的第三方,對廠商信息進行審核,為其生成安全標識(密鑰對:公鑰和私鑰)。出廠管理系統為商品生成保護標識(加密密鑰),將保護標識傳送回二維碼管理中心記錄保存,然后結合商用密碼學算法對商品信息進行加密,生二維碼,制作二維碼防偽標簽,將貼有二維碼防偽標簽的商品出廠。消費者利用安裝防偽查詢App的移動終端,掃描商品二維碼標簽,將信息傳送至二維碼管理中心,利用二維碼標簽中的相關信息和商用密碼學算法驗證,將商品真偽信息反饋給用戶,為消費者提供了準確、快捷的查詢真偽的途徑,保證了信息的保密性、完整性、不可抵賴性。
3.1 系統架構
基于二維碼和商用密碼算法的商品防偽系統由二維碼管理中心、商品出廠管理系統和商品防偽查詢軟件三部分構成,在互聯網的作用下,三大模塊相互協調,實現商品真偽查詢。如圖1所示。
3.1.1 二維碼管理中心
本模塊首先對申請注冊的廠商的相關證件信息等進行審核。審核通過后幫其填寫注冊信息,登記商品編號,為其生成生成安全標識(SM2算法的密鑰對:公鑰、私鑰),將標識的一部分(私鑰)以安全的方式交給商家,另一部分(公鑰)則由中心保管。同時二維碼管理中心還要保存出廠管理系統傳回的商品保護標識,用于檢驗真偽。如圖2所示。在檢驗真偽時二維碼管理中心負責與移動終端進行數據交互,對傳回的信息的進行檢驗,得到商品真偽信息,并反饋給用戶客戶端。如圖2所示。
3.1.2 商品出廠管理系統
商家利用隨機數生成一組保護標識(保護密鑰),隨后對商品編號利用保護標識,并結合商用密碼學算法,生成防偽信息,生成二維碼防偽標簽,并將本標簽貼在商品上,商品即可出廠。如圖3所示。
3.1.3 防偽查詢APP
消費者用安裝防偽查詢軟件移動終端,掃描二維碼防偽標簽,由終端將信息傳送到二維碼管理中心,進行查詢,后臺經過驗證,并將驗證結果為將結果傳送至防偽查詢App端。如圖4所示。

圖5 二維碼防偽標簽生成流程

圖6 商品真偽驗證流程
3.2 系統原理
3.2.1 二維碼特點
二維碼有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能及處理圖形旋轉變化等特點。二維碼能夠在橫向和縱向兩個方位同時表達信息,因此能在很小的面積內表達大量的信息。它是一種高密度編碼,因此信息容量大,編碼范圍也廣。此外,二維碼容錯能力較強具有糾錯功能,譯碼可靠性也強,最重要的是,隨著智能手機的發展,通過移動端掃描二維碼給用戶帶來便利,并且制作二維碼標簽成本低,節約資源。
3.2.2 二維碼防偽標簽的生成
第一,數字簽名由兩部分組成,簽名算法和驗證算法。簽名算法是產生數字簽名的某種算法,而驗證算法是檢驗一個數字簽名是否有效的某種算法。它是非對稱密鑰加密技術與數字摘要技術的應用。只有信息的發送者才能產生別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。
數字簽名主要經過以下幾個過程:
①信息發送者使用SM3算法對信息生成信息摘要;
②信息發送者使用自己的私鑰簽名信息摘要;
③信息發送者把信息本身和已簽名的信息摘要一起發送出去;
④信息接收者通過使用與信息發送者使用的同一個單向散列函數(哈希函數)對接收的信息本身生成新的信息摘要,再使用信息發送者的公鑰對信息摘要進行驗證,以確認信息發送者的身份和信息是否被修改過。
本系統主要通過數字簽名技術(SM2算法)驗證注冊廠商商品真實有效性。
第二,二維碼防偽標簽的生成具體流程。二維碼管理中心為審核通過的廠商生成安全標識(即公私鑰對),將私鑰以安全的方式交給商家,公鑰則由中心保管。廠商利用隨機數產生保護標識(即保護密鑰),同時,將保護密鑰以安全的方式發給二維碼管理中心進行保存,用于商品真偽檢驗。利用保護密鑰對商品編號進行加密,對加密后的信息利用哈希函數計算摘要,將摘要利用專屬的私鑰應用SM2算法進行數字簽名,最后利用加密信息和數字簽名生成安全可靠的二維碼,制作成為二維碼防偽標簽,貼在商品上即可出廠。如圖5所示。
3.2.3 商品真偽驗證
消費者用安裝防偽查詢軟件,掃面商品二維碼標簽,防偽查詢App會將防偽標簽二維碼信息(包括簽名以及加密的商家信息)發送到二維碼管理中心進行查詢。監管中心根據商家信息找到注冊時保存的公鑰,對數字簽名進行驗簽,得到摘要值(MD1),再對商家信息密文利用哈希算法計算得到摘要值(MD2),兩摘要值進行對比,若相同則商品為真,否則為假,將真偽信息反饋給移動終端。如圖6所示。
在這樣一個“互聯網+”的時代,智能手機的廣泛應用,應用二維碼技術結合商用密碼算法制作二維碼防偽標簽,實現商品防偽的方案,有效 避免了傳統防偽方式的弱點,提供便捷的查詢真偽途徑。隨著二維碼技術的不斷成熟,二維碼結合商用密碼的防偽方式不斷完善,這種新型防偽方式具有一定的發展前景。
[1]馬兆豐,馮博琴,宋擒豹,等.面向認證的傳統商品數字化防偽機制研究[J].計算機工程,2003,29(1):14-16
[2]移動應用發展趨勢報告(Android版)
[3]李陳偉.基于二維碼的圖書防偽技術研究[D].南京師范大學,2014
[4]王偉瑋.基于移動二維碼技術的商品防偽系統的研究與應用[D].北京郵電大學,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]王挺,呂述望.商用密碼發展現狀、動態和啟示[J].中國金融電腦,2000(6):29-31
[7]蔡樂才.應用密碼學[M].北京:跨國電力出版社,2003