隨著假冒偽劣商品的日益猖獗,使用安全可靠的防偽技術(shù)手段來(lái)進(jìn)行商品防偽顯得極為重要。筆者設(shè)計(jì)了一款基于RFID的防偽讀寫(xiě)器,能夠?qū)崟r(shí)識(shí)別各種RFID防偽標(biāo)簽信息。
此外,為了便于用戶操作讀寫(xiě)器設(shè)計(jì)了人機(jī)交互部件,并將讀寫(xiě)設(shè)備設(shè)計(jì)成一個(gè)HID設(shè)備,避免了安裝驅(qū)動(dòng)帶來(lái)的麻煩。能夠通過(guò)在線USB方式以及無(wú)線WIFI方式對(duì)商品真?zhèn)芜M(jìn)行判斷,是連接防偽商品與服務(wù)器的橋梁。產(chǎn)品在防偽驗(yàn)證時(shí)結(jié)合了讀寫(xiě)器、RFID電子標(biāo)簽、客戶端以及服務(wù)器等多方面的共同作用進(jìn)行實(shí)時(shí)防偽識(shí)別,保證了防偽系統(tǒng)的安全可靠性;谠诜纻蜗到y(tǒng)中的特殊應(yīng)用,讀寫(xiě)器的設(shè)計(jì)也十分小巧靈活,安全性高,在進(jìn)行商品防偽鑒定時(shí)操作簡(jiǎn)單,使用方便。
1 系統(tǒng)總體概述
本系統(tǒng)設(shè)計(jì)的是一款基于RFlD的防偽系統(tǒng)讀寫(xiě)器,主要用于商品真假的鑒定,從而較好的保護(hù)知識(shí)產(chǎn)權(quán)和消費(fèi)者的合法權(quán)益。此系統(tǒng)主要包括:MCU核心控制組成模塊、液晶顯示模塊、鍵盤(pán)控制模塊、13.56 MHz標(biāo)準(zhǔn)電子標(biāo)簽?zāi)K、無(wú)線傳輸Wifi模塊、有線傳輸U(kuò)SB模塊等,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
2 各模塊的介紹
2.1 MCU控制部分
MCU芯片選用的是ZTEIC國(guó)民技術(shù)公司生產(chǎn)的芯片Z8D168。它采用了ZTEIC自行開(kāi)發(fā)的Zi8051-SC8位安全MCU核,與工業(yè)標(biāo)準(zhǔn)8051指令集完全兼容的單周期高性能8位安全微控制器,內(nèi)部集成了各種公鑰算法引擎,可以支持大數(shù)模乘、模冪等運(yùn)算處理,可支持幾種加解密算法。對(duì)AES算法的運(yùn)算速度可以到2.4 Mbps,且提供有專用的存儲(chǔ)空間用于存儲(chǔ)運(yùn)算的中間數(shù)據(jù)及最后結(jié)果,因此本系統(tǒng)采用AES解密的方式對(duì)標(biāo)簽中的數(shù)據(jù)進(jìn)行解密能極大減少運(yùn)算量,且保證解密數(shù)據(jù)的準(zhǔn)確性。此外還包含有一些安全特性如防止DPA/SPA攻擊、存儲(chǔ)區(qū)域加密、總線加擾、安全優(yōu)化布線、每一顆芯片具有唯一序列號(hào)。芯片的供電電壓為2.7~5.5 V,一般選擇較常用的供電電壓3.3 V和5 V。因此選用此款MCU芯片能增加系統(tǒng)的防偽力度。整個(gè)電路的設(shè)計(jì)圍繞Z8D168展開(kāi),以此MCU為核心通過(guò)增加外圍電路實(shí)現(xiàn)對(duì)防偽電子標(biāo)簽的訪問(wèn)等。
2.2 人機(jī)交互部分
讀寫(xiě)器設(shè)置有鍵盤(pán)控制和液晶顯示部分方便用戶操作,均采用串行的方式以節(jié)約引腳。液晶控制部分采用HT1621LCD驅(qū)動(dòng)芯片控制段式液晶顯示6位密碼數(shù)字,鍵盤(pán)控制部分采用HD7279A芯片連接16鍵的鍵盤(pán)矩陣。其中HT1621是128點(diǎn)內(nèi)存映象和多功能的LCD驅(qū)動(dòng)器,通過(guò)軟件配置特性使它適用于多種LCD應(yīng)用場(chǎng)合,包括LCD模塊和顯示子系統(tǒng)。用于連接主控制器和HT1621的管腳只有4或5條可以減少M(fèi)CU引腳占用率,此外HT1621還有一個(gè)節(jié)電命令用于降低系統(tǒng)功耗。HD7279A是一片具有串行接口可同時(shí)驅(qū)動(dòng)8位共陰極數(shù)碼管的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可以連接多達(dá)64鍵的矩陣鍵盤(pán),其芯片內(nèi)部含有譯碼器,可以直接接受BCD碼或16進(jìn)制碼,并同時(shí)具有2種譯碼方式,64鍵鍵盤(pán)控制器內(nèi)含抖動(dòng)電路能精確讀取鍵值。
2.3 13.56 MHz電子標(biāo)簽
此系統(tǒng)采用13.56 MHz的RFID電子標(biāo)簽卡來(lái)完成操作。讀寫(xiě)芯片F(xiàn)M1702選用的是復(fù)旦微電子股份有限公司設(shè)計(jì)的基于ISO14443標(biāo)準(zhǔn)的非接觸式專用讀卡機(jī)芯片。FM1702SL使用的認(rèn)證算法為三重認(rèn)證,是基于密鑰長(zhǎng)度為48比特的私有加密數(shù)據(jù)流。當(dāng)一張電子標(biāo)簽卡按照ISO144 43A協(xié)議被選中后,用戶可以按照標(biāo)準(zhǔn)協(xié)議繼續(xù)操作。在卡認(rèn)證過(guò)程中,加密算法被初始化,在成功認(rèn)證之后與卡的通訊處于加密狀態(tài)。FM1 702支持13.56 MHz頻率下的typeA非接觸通信協(xié)議和多種加密算法,芯片內(nèi)部有高集成度的模擬電路,只需少量的外圍電路連接即可以使用,操作距離可以達(dá)到10 cm。支持SPI接口模式,內(nèi)部包含512byte的EEPROM和64byteFIFO,具有TTL和CMOS 2種電壓工作模式。
2.4 無(wú)線發(fā)送部分
無(wú)線數(shù)據(jù)收發(fā)部分采用的是海凌科有限公司推出的全新的第三代嵌入式UART-Wifi模塊產(chǎn)品HLK-WIFI-M03,內(nèi)置IEEE802.11無(wú)線網(wǎng)絡(luò)協(xié)議棧以及TCP/IP協(xié)議棧,可以實(shí)現(xiàn)串口數(shù)據(jù)到無(wú)線網(wǎng)絡(luò)之間的傳輸,能將MCU串口中的數(shù)據(jù)以Wifi無(wú)線網(wǎng)絡(luò)形式發(fā)送出去。全面支持串口透明數(shù)據(jù)傳輸、DHCP協(xié)議動(dòng)態(tài)IP地址分配和DNS域名解析功能,最高可達(dá)11 kB/s的發(fā)送速率。支持串口的波特率范圍1 200~115 200 bps,可使用的頻率范圍為2.412~2.484 GHz,通過(guò)連接符合IEEE802.11g/802.11b標(biāo)準(zhǔn)的2.4 G天線可以滿足頻率要求。
2.5 數(shù)據(jù)通信部分USB實(shí)現(xiàn)
此系統(tǒng)采用的是USB通信連接,芯片自帶有USB通信接口,但設(shè)備作為HID(Human Interface DevICe)設(shè)備來(lái)與主機(jī)通信。HID設(shè)備的一個(gè)好處是操作系統(tǒng)自帶了HID類的驅(qū)動(dòng),編寫(xiě)程序時(shí)只需通過(guò)函數(shù)調(diào)用即可完成通信?梢源蟠鬁p少初次使用讀寫(xiě)器時(shí)安裝設(shè)備驅(qū)動(dòng)帶來(lái)的不便。
3 各模塊功能的實(shí)現(xiàn)方法
此讀寫(xiě)器在使用時(shí)有兩方面的功能,可以通過(guò)USB方式以及無(wú)線wifi方式傳輸數(shù)據(jù)。讀寫(xiě)器與PC機(jī)通過(guò)在線判斷時(shí)采用的是USB的連接形式,此時(shí)的讀寫(xiě)器作為一個(gè)HID設(shè)備。將讀寫(xiě)器與主機(jī)通過(guò)USB口直接相連,讀寫(xiě)器將解密后的數(shù)據(jù)通過(guò)USB傳給主機(jī)判斷,主機(jī)將收到的數(shù)據(jù)與數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)比對(duì),即可核實(shí)產(chǎn)品的真?zhèn)涡畔ⅰT赑C機(jī)出現(xiàn)故障的情況下或是數(shù)據(jù)庫(kù)沒(méi)有更新時(shí),可能會(huì)識(shí)別成判斷有誤,此種情況下可以通過(guò)無(wú)線方式將數(shù)據(jù)信息通過(guò)Wifi以無(wú)線形式傳輸給服務(wù)器由服務(wù)器判斷并返回判斷結(jié)果給讀寫(xiě)器。利用讀寫(xiě)器的這些功能可以保證及時(shí)對(duì)每個(gè)商品進(jìn)行正常的真?zhèn)螜z驗(yàn),可以時(shí)刻保護(hù)消費(fèi)者的合法權(quán)益。
4 軟件實(shí)現(xiàn)方法
目前使用的防偽系統(tǒng)設(shè)計(jì)主要是先讀取RFID電子標(biāo)簽中的數(shù)據(jù)并傳輸給讀寫(xiě)器,讀寫(xiě)器對(duì)讀取的數(shù)據(jù)進(jìn)行解密處理,將解密數(shù)據(jù)與服務(wù)器端數(shù)據(jù)庫(kù)中的信息比對(duì),判斷商品的真?zhèn)。具體設(shè)計(jì)流程如圖2所示。其中讀寫(xiě)器設(shè)計(jì)部分包括電子標(biāo)簽的讀取、USB及wifi通信部分、數(shù)據(jù)解密處理部分和讀寫(xiě)器與PC機(jī)相互通信部分的設(shè)計(jì)。
4.1 電子標(biāo)簽的控制
MCU對(duì)13.56 MHz RFID標(biāo)簽的操作需要多條指令的聯(lián)合操作完成,其中必須對(duì)FM1702SL的內(nèi)部寄存器進(jìn)行設(shè)置。主要包括復(fù)位初始化FM1702SL、讀寫(xiě)器向標(biāo)簽發(fā)出請(qǐng)求、選擇標(biāo)簽、三次相互驗(yàn)證、讀寫(xiě)操作6個(gè)操作步驟。如圖3所示。
4.2 USB HID通信的設(shè)計(jì)
USB HID的實(shí)現(xiàn)需要靠硬件與PC機(jī)端的軟件共同作用。HID設(shè)備只通過(guò)控制和中斷管道與主機(jī)通信,控制管道主要完成接收與響應(yīng)USB主機(jī)的控制請(qǐng)求;中斷管道主要用于主機(jī)接收USB設(shè)備的異步傳輸數(shù)據(jù)和主機(jī)將實(shí)時(shí)性的數(shù)據(jù)發(fā)送給USB HID設(shè)備。HID設(shè)備的描述符除了與USB標(biāo)準(zhǔn)描述符相同的5個(gè)描述符:設(shè)備描述符、配置描述符、端點(diǎn)描述符、字符串描述符、接口描述符外,還有3個(gè)HID設(shè)備類特定描述符:HID描述符、報(bào)告描述符、實(shí)體描述符,如圖4所示。其中HID描述符主要描述HID規(guī)范的版本號(hào)、通信所使用的額外描述符、報(bào)表描述符的長(zhǎng)度等;在定義接口描述符時(shí),要將HID類別設(shè)為0x03,主機(jī)就會(huì)請(qǐng)求繼續(xù)得到HID描述符以及報(bào)告描述符信息。主機(jī)首先發(fā)送SETUP封包給設(shè)備以讀取默認(rèn)地址0的設(shè)備描述符,讀寫(xiě)器接收到SETUP中斷后判斷數(shù)據(jù)信息并將相應(yīng)的描述符信息發(fā)送給主機(jī),主機(jī)再根據(jù)HID描述符的信息請(qǐng)求其相關(guān)的描述符。
4.3 加解密算法的設(shè)計(jì)
讀寫(xiě)器利用安全加解密MCU芯片通過(guò)編程設(shè)計(jì)高級(jí)對(duì)稱加密算法AES來(lái)實(shí)現(xiàn)對(duì)讀取到的數(shù)據(jù)加密或解密。AES算法標(biāo)準(zhǔn)已經(jīng)嵌入在MCU中,在利用AES算法時(shí)通過(guò)函數(shù)接口實(shí)現(xiàn)對(duì)算法的訪問(wèn)。在解密運(yùn)算時(shí),讀寫(xiě)器生產(chǎn)商首先通過(guò)數(shù)字簽名從CA認(rèn)證中心獲取解密密鑰,當(dāng)讀寫(xiě)器讀到RFID標(biāo)簽數(shù)據(jù)后開(kāi)啟AES數(shù)據(jù)解密功能進(jìn)行解密運(yùn)算。將解密運(yùn)算結(jié)果從內(nèi)存中取出通過(guò)USB傳輸給PC機(jī)供后續(xù)防偽判斷處理。
4.4 讀寫(xiě)器與PC機(jī)的通信
讀寫(xiě)器通過(guò)接收PC機(jī)的指令識(shí)別出指令是否有效并執(zhí)行相應(yīng)操作,在USB模式下如果識(shí)別為傳送標(biāo)簽信息指令,則將解密好的數(shù)據(jù)信息通過(guò)USB傳遞給PC機(jī)接收,PC機(jī)將數(shù)據(jù)保存,并提取出電子標(biāo)簽中所包含的標(biāo)簽UID信息和商品的ID信息,與服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行比對(duì),經(jīng)查找后能在數(shù)據(jù)庫(kù)中找到相同的信息則視該商品為正品,否則為偽造商品。在無(wú)線傳輸模式下,讀寫(xiě)器采用的是串口形式將處理的數(shù)據(jù)傳遞給尤線收發(fā)模塊,由此模塊將數(shù)據(jù)信息以無(wú)線Wifi形式傳遞給服務(wù)器接收,只要將服務(wù)器端正確的地址、用戶信息等寫(xiě)入Wifi模塊,就可以建立客戶端與服務(wù)器之間的無(wú)通信。
5 結(jié)束語(yǔ)
文中介紹了基于RFID的防偽系統(tǒng)讀寫(xiě)器的設(shè)計(jì),包括硬件電路的設(shè)計(jì)與軟件的實(shí)現(xiàn)。該讀寫(xiě)器可以有效防止防偽標(biāo)記的二次利川和復(fù)制,能實(shí)時(shí)檢測(cè)商品的屬性判斷商品是否為偽劣品,可以達(dá)到真正的防偽效果,為消費(fèi)者和商品零售商防偽識(shí)別帶來(lái)了便利。