防偽新思路
——基于二維碼的新型防偽系統(tǒng)設計與實現(xiàn)
梁超董青/文
隨著二維碼的快速發(fā)展,其應用范圍已滲透到人們生活的各個角落。在傳統(tǒng)的產(chǎn)品防偽應用的行業(yè)中,二維碼也提供了一種新的實現(xiàn)途徑。通過對二維碼在防偽行業(yè)的應用案例分析發(fā)現(xiàn),現(xiàn)有的二維碼防偽技術主要是通過對寫入的防偽信息加密和圖像覆蓋等技術來實現(xiàn),一旦數(shù)據(jù)庫和加密技術被破解,所有的防偽標簽將容易被復制,很難被發(fā)現(xiàn)。
防偽二維碼軟件設計與實現(xiàn)
新型防偽二維碼軟件實現(xiàn)防偽碼的生成、加密、3D驗證碼圖像的生成、二維碼圖像的生成、美化,驗證碼圖像與二維碼圖像合成處理等功能,如圖1。
圖1 新型二維碼防偽系統(tǒng)主要實現(xiàn)原理
防偽碼的設計
本系統(tǒng)中防偽碼為20位的字符串數(shù)據(jù),防偽碼所用到的字符的集合為{ '0', '1','2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K', 'M', 'N', 'O', 'P', 'Q', 'R', 'S','T', 'U', 'V', 'W', 'X', 'Y', 'Z'},在本文中該集合定義為“S”。其中前4位為企業(yè)代碼,中間的10位為隨機碼,由計算機隨機產(chǎn)生10位集合S中的字符,后6位為流水號。防偽碼產(chǎn)生后通過加密算法產(chǎn)生密文,作為二維碼內(nèi)容,明文將寫入防偽數(shù)據(jù)庫中。
驗證碼的設計與圖像處理
本系統(tǒng)中驗證碼共計4位,所用到的字符的集合為{ '0', '1', '2', '3','4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G','H', 'I', 'J', 'K', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U','V', 'W', 'X', 'Y', 'Z', '@', '!', '#','$', '%', '^', '&', '*'},在本文中該集合定義為“P”,驗證碼將通過隨機算法從集合P中選出4位,與防偽碼一并寫入防偽數(shù)據(jù)庫中,并通過3D處理技術將文字合成3D圖像,再利用圖像處理技術將二維碼和驗證碼合成,如圖2。
圖2 驗證碼的圖像處理
二維碼圖像的處理與檢測
因二維碼有一定的容錯性,所以生成圖像的過程中可以通過對圖像數(shù)據(jù)的操作完成圖像美化功能。處理后的二維碼圖像與原來的圖像發(fā)生了變化,比如前景色和背景色的改變,或者在二維碼中間添加了logo標志、驗證碼等,這些都可能會影響二維碼的正常識別,為此,系統(tǒng)中加入了實時的二維碼檢測功能,以便及時檢測所得到的二維碼圖像是否能被正常識別,如圖3。
圖3 防偽軟件檢測二維碼
驗證碼圖像與二維碼圖像的合成處理
圖像數(shù)據(jù)在內(nèi)存中可抽象成二維數(shù)組,可以讀寫,因此這里的驗證碼與二維碼圖像的合成技術,是將經(jīng)過縮放處理的兩張二維數(shù)組,通過一定的規(guī)范(驗證碼圖像應放置在二維碼圖像中間位置、驗證碼圖像面積不應超過一定比例的二維碼圖像面積)合成一張二維數(shù)組。驗證碼圖像數(shù)據(jù)將覆蓋原來二維碼圖像中心部分的數(shù)據(jù)。為了保持驗證碼在二維碼中的清晰度與可識讀性,操作者需要經(jīng)常調(diào)節(jié)兩個圖像的大小比例,并通過檢測程序判定可識讀性,最終找到兩張圖像合理的大小比例,為后期的快速批量生成,提供最優(yōu)的數(shù)值。
防偽信息內(nèi)容處理
防偽信息內(nèi)容處理主要是對20位的明文數(shù)據(jù)進行加密處理(本系統(tǒng)中使用了DES加密技術),并將密文作為二維碼內(nèi)容。用戶查詢時,向服務器發(fā)送密文,服務器根據(jù)密鑰和密文解出明文,然后通過防偽碼的明文查詢防偽數(shù)據(jù)庫,獲得驗證碼內(nèi)容,并返回給查詢用戶,供用戶與標簽中的3D驗證碼比較,判斷真?zhèn)巍?/p>
數(shù)據(jù)庫設計
系統(tǒng)設計中,此部分數(shù)據(jù)庫設計有兩種方案,一種是將產(chǎn)品信息以及防偽信息一并寫入數(shù)據(jù)庫,另一種是將產(chǎn)品信息放置在二維碼中,防偽信息放置在數(shù)據(jù)庫中。兩種方式各有優(yōu)缺點。第一種方法優(yōu)點是二維碼中所要攜帶的信息量比較少,便于二維碼圖像的識別,可展示更多產(chǎn)品特性;缺點是過分依賴于服務器,產(chǎn)生的網(wǎng)絡流量較大。第二種方案恰好與之相反。在使用的時候可根據(jù)情況選擇其中一種方案。
防偽查詢業(yè)務處理平臺設計與實現(xiàn)
防偽查詢業(yè)務處理平臺主要是利用HTTP協(xié)議,接收查詢密文后,對被加密的防偽碼密文進行解密和數(shù)據(jù)庫查詢操作,并通過HTTP協(xié)議向客戶終端返回產(chǎn)品的防偽碼以及驗證碼等信息內(nèi)容。
防偽查詢終端
查詢支持HTTP服務協(xié)議,因此該系統(tǒng)支持多種查詢終端,如微信、我查查等多種客戶終端,如圖4。
圖4 微信/我查查等終端查詢結果
本系統(tǒng)主要結合了加密解密技術、二維碼生成識讀技術、3D圖像處理技術、網(wǎng)絡技術等多種現(xiàn)代技術,并引入了3D驗證碼方法,為防偽行業(yè)提供一種新的防偽手段。該防偽系統(tǒng)通過提高技術難度來增加仿造難度,其使用成本較低,適合于各類行業(yè)使用。
(作者單位:安徽省標準化研究院)《中國自動識別技術》2014第2期