??? 摘? 要: 傳統(tǒng)射頻識(shí)別(RFID)防偽系統(tǒng)僅利用標(biāo)簽編碼的唯一性完成,存在著非法讀寫器惡意讀取和假數(shù)據(jù)欺騙的安全隱患。針對(duì)上述缺點(diǎn),介紹了一種新的基于RFID技術(shù)的防偽讀寫器的設(shè)計(jì)與實(shí)現(xiàn),探討了利用RFID和GSM通信,對(duì)讀寫器和商品編碼進(jìn)行雙重認(rèn)證的防偽驗(yàn)證機(jī)制。建立了商品防偽模型,并進(jìn)行了實(shí)際測(cè)試。結(jié)果表明,系統(tǒng)能夠安全、高效地運(yùn)行。?
??? 關(guān)鍵詞: 防偽; RFID讀寫器; GSM; ISO/IEC 15693
?
??? 長(zhǎng)期以來(lái),防偽技術(shù)一直是人們關(guān)注的問(wèn)題。我國(guó)的防偽技術(shù)經(jīng)過(guò)十幾年的發(fā)展,已經(jīng)達(dá)到了百億元的市場(chǎng)規(guī)模。目前,防偽領(lǐng)域逐漸興起電子防偽的潮流,其中,RFID作為新興的防偽技術(shù)已經(jīng)引起了廣泛關(guān)注。?
??? 射頻識(shí)別RFID(Radio Frequency Identification)是一種非接觸無(wú)線識(shí)別技術(shù)。目前,RFID防偽應(yīng)用基本上是基于唯一的ID號(hào)來(lái)完成。RFID標(biāo)簽芯片內(nèi)有用于產(chǎn)品標(biāo)識(shí)的全球唯一編碼以及產(chǎn)品驗(yàn)證信息,該信息被專用讀寫器所讀取,讀取到的信息被發(fā)送到后臺(tái)數(shù)據(jù)庫(kù),后臺(tái)數(shù)據(jù)庫(kù)通過(guò)查詢驗(yàn)證將結(jié)果返回到顯示設(shè)備,標(biāo)簽采用可損壞式標(biāo)簽,一旦損壞,信息就無(wú)法被讀取,這樣能夠保證數(shù)據(jù)內(nèi)容不被竊取,通過(guò)以上措施達(dá)到防偽目的[1-2]。?
1 系統(tǒng)特點(diǎn)和功能?
??? 傳統(tǒng)的RFID防偽應(yīng)用模式只考慮利用標(biāo)簽的唯一編碼來(lái)實(shí)現(xiàn)防偽驗(yàn)證,由于無(wú)線信道的開(kāi)放性,系統(tǒng)難以防止來(lái)自非法讀寫器的標(biāo)簽數(shù)據(jù)惡意讀取和假數(shù)據(jù)欺騙。針對(duì)以上缺點(diǎn),本文設(shè)計(jì)一種基于RFID和GSM短消息通信的防偽系統(tǒng)。?
??? 該系統(tǒng)由手持式讀寫器前端系統(tǒng)和后臺(tái)防偽數(shù)據(jù)庫(kù)兩部分組成。手持式讀寫器系統(tǒng)位于零售商處,后臺(tái)防偽數(shù)據(jù)庫(kù)由生產(chǎn)企業(yè)管理,前后端系統(tǒng)之間利用GSM短消息實(shí)現(xiàn)數(shù)據(jù)交互。防偽讀寫器以SIM(Subscriber Identity Model)卡號(hào)作為本身的ID號(hào),SIM卡是一塊大規(guī)模集成電路,上面存儲(chǔ)了客戶的信息、加密的密鑰等內(nèi)容,完全防止了被復(fù)制和盜用的可能,能夠有效防止非法讀寫器的標(biāo)簽惡意讀取和信息欺騙。?
??? 本文重點(diǎn)介紹手持式RFID防偽專用讀寫器的設(shè)計(jì)和實(shí)現(xiàn)。該讀寫器工作頻段為13.56 MHz,符合ISO/IEC 15693協(xié)議,能夠通過(guò)GSM通信收發(fā)短消息與企業(yè)防偽服務(wù)器交互,對(duì)產(chǎn)品進(jìn)行驗(yàn)證。下面詳細(xì)介紹RFID防偽讀寫器的硬件設(shè)計(jì)和軟件流程以及防偽讀寫器的防偽機(jī)制。?
2 硬件設(shè)計(jì)?
??? RFID防偽采用專用防偽讀寫器對(duì)標(biāo)簽內(nèi)數(shù)據(jù)進(jìn)行讀取,現(xiàn)場(chǎng)驗(yàn)證設(shè)備包括標(biāo)簽和防偽讀寫器兩部分。本文只介紹防偽讀寫器的硬件設(shè)計(jì)與實(shí)現(xiàn),對(duì)標(biāo)簽部分不作介紹,只要符合ISO/IEC 15693協(xié)議的標(biāo)簽均可讀取。?
??? 系統(tǒng)采用ATMEL公司的AT89C51RD2作為主控芯片,采用專用讀寫器芯片對(duì)標(biāo)簽進(jìn)行讀寫,標(biāo)簽中的數(shù)據(jù)驗(yàn)證通過(guò)后由液晶屏顯示,同時(shí)標(biāo)簽中的防偽數(shù)據(jù)通過(guò)GSM/GPRS模塊發(fā)送到后臺(tái)防偽服務(wù)器,防偽服務(wù)器接收數(shù)據(jù),并對(duì)防偽讀寫器(SIM卡號(hào))和商品信息進(jìn)行雙重驗(yàn)證,并將結(jié)果返回防偽讀寫器,完成驗(yàn)證。硬件框圖如圖1所示。?
?
?
2.1射頻電路設(shè)計(jì)?
??? 讀寫模塊選用韓國(guó)3Logic公司的TRH031M芯片。該芯片具有高達(dá)64 B的內(nèi)部數(shù)據(jù)FIFO,通過(guò)內(nèi)部硬件電路完成CRC校驗(yàn)。系統(tǒng)與主控制器采用3.3 V CMOS接口,采用數(shù)據(jù)總線為8位的Intel讀寫模式,并選用地址數(shù)據(jù)總線共享模式。同時(shí)有中斷請(qǐng)求線(IRQ)與主控制器相連。?
??? ISO/IEC 15693協(xié)議規(guī)定,識(shí)別卡到讀寫器的通信使用副載波進(jìn)行振幅鍵控或者頻移鍵控。當(dāng)使用振幅鍵控時(shí),副載波的頻率fs為424 kHz(fc/32);當(dāng)使用頻移鍵控時(shí),2個(gè)副載波頻率fs分別為424 kHz(fc/32)、484 kHz(fc/28)。調(diào)制后的信號(hào)頻譜將在載波頻率兩邊產(chǎn)生2條邊帶譜線,其頻率分別為fH=fc+fs、fL=fc-fs,因此必須保證天線能良好接收此邊帶信號(hào)。天線帶寬應(yīng)大于fH-fL=2fs=848 kHz或968 kHz。以了保證天線能良好接收信號(hào),天線帶寬應(yīng)大于968 kHz。以此綜合考慮能量供應(yīng)和通信距離,建立所需要磁場(chǎng)。采用的天線大小約為8 cm×10 cm,并按照要求,采用LC低通濾波器,將天線阻抗匹配為500 Ω[3]。?
2.2 GSM/GPRS通信?
??? GSM通信選用Wavecom公司的Q2403A模塊,Q2403A為雙頻E-GSM/GPRS 900/1800模塊,在3.6 V工作電壓下EGSM通信功耗為2 W,具有2個(gè)對(duì)外接口:天線接口和通用接口,用于數(shù)字通信、鍵盤和音頻等。?
2.2.1 SIM卡電路?
??? SIM卡符合GB/T 16649標(biāo)準(zhǔn)和ISO/IEC 7816協(xié)議所規(guī)定的SIM卡的物理特性、觸點(diǎn)規(guī)范、傳輸協(xié)議和數(shù)據(jù)編碼規(guī)則等。?
??? 為了實(shí)現(xiàn)對(duì)SIM卡的靜電保護(hù),需要在除SIM卡電源腳外的管腳加入保護(hù)二極管,并且要求保護(hù)二極管的寄生電容不超過(guò)10 pF。在此選用集成保護(hù)二極管芯片DALC208作為保護(hù)芯片。DALC208片內(nèi)集成8只兩兩串聯(lián)的二極管,寄生電容小于5 pF,可實(shí)現(xiàn)對(duì)4個(gè)管腳的保護(hù)[4]。?
2.2.2 LED指示電路?
??? Q2403A模塊提供LED指示功能。LED狀態(tài)與模塊的工作狀態(tài)對(duì)應(yīng)關(guān)系如表1所示。通過(guò)LED指示燈,用戶可以直觀了解Q2403A的工作狀態(tài)。?
?
?
2.3主控模塊?
??? 系統(tǒng)選用單片機(jī)AT89C51RD2作為主控制器,具有4個(gè)8位數(shù)據(jù)輸入輸出端口,時(shí)鐘頻率最高可達(dá)60 MHz,1 792 B的片內(nèi)XRAM,雙數(shù)據(jù)指針,具有電源管理功能,另外還有UART接口、鍵盤接口、看門狗電路;內(nèi)部程序存儲(chǔ)器達(dá)64 KB,可在線編程; 工作電壓為2.7 V~5.5 V。?
??? 主控芯片可與TRH031接口、Q2403A接口、鍵盤接口、液晶接口、鍵盤接口、蜂鳴器接口。?
2.3.1電源管理?
??? 本系統(tǒng)選用鋰電池作為主要供電電源,也可以通過(guò)外部開(kāi)關(guān)電源輸入供電。選用TI公司的BQ24032來(lái)管理電池的充放電。電池充電期間,系統(tǒng)仍能正常工作。?
??? 主控制器電源電壓可以在2.7 V~5.5 V之間選擇,LED與蜂鳴器可以工作在3.0 V~5.0 V之間。為保證在GSM/GPRS數(shù)據(jù)傳送期間,主控制器、LED和蜂鳴器能得到穩(wěn)定的電源電壓,選用MAXIM的MAX1595(3.3 V)作為主控制器電壓調(diào)節(jié)器。?
??? 讀寫器TRH031M模塊工作電壓在2.6 V~3.5 V之間選擇。但是讀寫器模塊內(nèi)部有模擬電路,對(duì)電源的噪聲要求較高,因此選用低噪聲的低壓差穩(wěn)壓器MAX1818(3.3 V)作為讀寫器模塊的電壓調(diào)節(jié)器。THR031M的數(shù)字電源(DVDD)、模擬電源(AVDD)和射頻發(fā)送電源(TVDD)輸入端應(yīng)分別加入濾波網(wǎng)絡(luò)。濾波電路采用L型網(wǎng)絡(luò),濾波電感為高頻繞線電感。?
??? 液晶工作電壓為5 V,選用電荷泵MAX1595(5.0V)為L(zhǎng)CD提供5 V電源。?
2.3.2 鍵盤和顯示設(shè)計(jì)?
??? AT89C51RD2提供方便的鍵盤管理功能。單片機(jī)內(nèi)部有專門的寄存器進(jìn)行鍵盤管理。設(shè)計(jì)中選用低電平為敏感信號(hào),采用5個(gè)I/O口管理鍵盤,最多可以管理32個(gè)按鍵。選用圖形點(diǎn)陣液晶12864作為顯示設(shè)備。?
3 軟件設(shè)計(jì)?
3.1軟件總體流程?
??? 防偽讀寫器工作上電復(fù)位后首先進(jìn)行系統(tǒng)初始化:對(duì)液晶模塊和TRH031M的初始配置,檢測(cè)SIM卡是否已插入,GSM網(wǎng)絡(luò)是否可用,電池電量檢測(cè),防死機(jī)工作等。?
??? 初始化結(jié)束后進(jìn)入等待防偽標(biāo)簽檢測(cè)界面,用戶輸入確定后進(jìn)行標(biāo)簽檢測(cè),TRH031模塊中斷告知主控制器檢測(cè)結(jié)果,主控制器進(jìn)行防碰撞處理并選定標(biāo)簽。讀取到商品ID號(hào)后,消費(fèi)者可以選擇輸入自己的手機(jī)號(hào)或者不輸入,當(dāng)輸入手機(jī)號(hào)后,防偽讀寫器將消費(fèi)者手機(jī)號(hào)和讀取到的商品ID同時(shí)發(fā)送到后臺(tái)服務(wù)器進(jìn)行防偽驗(yàn)證,后臺(tái)服務(wù)器會(huì)將驗(yàn)證結(jié)果同時(shí)發(fā)送到消費(fèi)者手機(jī)和防偽讀寫器中。如果消費(fèi)者沒(méi)有輸入手機(jī)號(hào),則防偽讀寫器將只發(fā)送商品ID給后臺(tái)服務(wù)器,后臺(tái)服務(wù)器也只將結(jié)果發(fā)送給防偽讀寫器顯示。其總體流程如圖2所示。
?
?
3.2 讀寫程序設(shè)計(jì)?
??? 讀寫器(VCD)與識(shí)別卡(VICC)之間指令和數(shù)據(jù)的通信,是一種基于“VCD先說(shuō)”的機(jī)制。即除非接收到并正確地解碼一個(gè)VCD發(fā)送過(guò)來(lái)的指令,否則VICC將不會(huì)有動(dòng)作。VCD發(fā)送請(qǐng)求格式及VICC響應(yīng)格式分別如表2、表3所示。?
?
?
?
?? TRH031M封裝了符合ISO/IEC 15693協(xié)議的物理層和數(shù)據(jù)鏈路層,只需在傳輸層以上編寫程序。在發(fā)送指令時(shí),只需將指令代碼寫入FIFO寄存器,然后啟動(dòng)發(fā)送命令即可。?
??? ISO/IEC 15693協(xié)議中描述的防沖突在VCD端采用輪詢的機(jī)制,在VICC端采用比較應(yīng)答的機(jī)制。讀寫器(VCD)采用請(qǐng)求目錄指令(Inventory Command)查詢當(dāng)前磁場(chǎng)范圍內(nèi)VICC的唯一標(biāo)識(shí)符(UID)來(lái)解決沖突問(wèn)題,其參數(shù)包括:標(biāo)志、命令、可選的應(yīng)用標(biāo)識(shí)符、掩碼長(zhǎng)度(MASK LENGTH)、掩碼值(MASK VALUE)。?
??? 識(shí)別卡的UID低4位沖突的概率為1/16=62‰,低8位沖突的概率為1/256=3.9‰。?
??? 實(shí)際ISO/IEC 15693協(xié)議中提供的防沖突算法具有更先進(jìn)的機(jī)制。命令序列中的標(biāo)志字節(jié)(Flags)中的第5位為應(yīng)用標(biāo)識(shí)符標(biāo)志(AFI_flag),當(dāng)此標(biāo)志置1時(shí),命令序列中要包含AFI域,識(shí)別卡比較收到的AFI域與自己的應(yīng)用標(biāo)識(shí)符AFI是否匹配,如果不匹配,則識(shí)別卡不響應(yīng)。?
??? 命令序列中的標(biāo)志字節(jié)(Flags)中第6位為時(shí)隙數(shù)目標(biāo)志位(Nb_slots_flag),當(dāng)Nb_slots_flag=0時(shí),請(qǐng)求目錄指令采用16時(shí)隙的方式,這就是在輪詢機(jī)制的基礎(chǔ)上加入了時(shí)隙ALOHL防沖突算法。時(shí)隙數(shù)附加在MASK VALUE前同時(shí)進(jìn)行比較,將使沖突發(fā)生的概率更小,讀寫時(shí)間更短[5]。?
3.3 GSM/GPRS通信程序設(shè)計(jì)?
??? 防偽讀寫器中用到的GSM通信主要為短消息的發(fā)送和接收。防偽讀寫器將用戶手機(jī)號(hào)(可選)和商品ID號(hào)利用短消息的方式發(fā)送到后臺(tái)驗(yàn)證服務(wù)器,后臺(tái)驗(yàn)證后將驗(yàn)證結(jié)果以短消息的方式發(fā)送到用戶手機(jī)和防偽讀寫器。?
??? 短消息收發(fā)有關(guān)的規(guī)范主要包括GSM 03.38、GSM 03.40和GSM 07.05。前二者著重描述SMS的技術(shù)實(shí)現(xiàn)(含編碼方式),后者則規(guī)定了SMS的DTE-DCE接口標(biāo)準(zhǔn)(AT命令集)。一共有3種方式來(lái)發(fā)送和接收SMS信息:Block Mode、Text Mode和PDU Mode。Block Mode目前已很少使用。Text Mode是純文本方式,可使用不同的字符集,從技術(shù)上說(shuō)也可用于發(fā)送中文短消息,但國(guó)內(nèi)手機(jī)基本上不支持,主要用于歐美地區(qū)。PDU Mode被所有手機(jī)支持,可以使用任何字符集,這也是手機(jī)默認(rèn)的編碼方式。因?yàn)樾枰l(fā)送和接收中文,因此本設(shè)計(jì)采用PDU模式收發(fā)短信。?
??? 主控制器與Q2403A采用串行異步通信接口,可以設(shè)置波特率,本設(shè)計(jì)采用9 600 b/s的波特率。主控制器采用AT指令對(duì)Q2403A進(jìn)行控制。?
??? PDU相當(dāng)于一個(gè)數(shù)據(jù)包,它由構(gòu)成短消息(SMS)的信息組成。包含有源/目的地址、有效時(shí)間、數(shù)據(jù)格式、協(xié)議類型和正文,正文的長(zhǎng)度可達(dá)140 B,它們都以十六進(jìn)制表示,即只包含由0~9、A~F這些數(shù)字和字母。PDU格式分別如表4、表5所示。?
?
?
?
??? 消費(fèi)者選擇輸入手機(jī)號(hào)時(shí),防偽讀寫器在用戶信息(UD)中將同時(shí)發(fā)送商品ID號(hào)和消費(fèi)者手機(jī)號(hào),如果沒(méi)有輸入,則只發(fā)送商品ID號(hào)。?
??? 本文給出了基于RFID和GSM通信的防偽讀寫器的設(shè)計(jì)與實(shí)現(xiàn),以酒類防偽和家電類防偽為模型,對(duì)系統(tǒng)進(jìn)行了實(shí)際測(cè)試,運(yùn)行良好,能夠?qū)崟r(shí)準(zhǔn)確地反饋驗(yàn)證結(jié)果給消費(fèi)者,操作簡(jiǎn)單,顯示直觀。該系統(tǒng)能夠滿足大部分貴重商品的防偽需求,特別是通過(guò)后臺(tái)服務(wù)器驗(yàn)證的防偽機(jī)制,具有技術(shù)難度高難以仿造的特點(diǎn)。該防偽機(jī)制為電子防偽提供了新的途徑,具有廣闊的應(yīng)用前景。?
參考文獻(xiàn)?
[1] 譚民,劉禹,曾雋芳,等.RFID技術(shù)系統(tǒng)工程及應(yīng)用指南[M].北京:機(jī)械工業(yè)出版社,2007.?
[2] 李龍, 楊莉.射頻IC卡在酒瓶防偽裝置中的應(yīng)用[J]. 自動(dòng)化技術(shù)與應(yīng)用,2007,26(8):113-114.?
[3] 3Logics.TRH031M 13.56MHz multi-protocol reader IC?datasheet[Z]. 2005.?
[4] Wavecom. WISMO quik Q2400 series Q2403A product?specification[G]. 2002.?
[5] ISO/IEC 15693[S]. Identification cards-contactless integrated circuit(s) cards-vicinity cards. ISO/IEC, 2000.