張開生+王吉
摘要:該文以嵌入式系統(tǒng)芯片為主控制器,實(shí)現(xiàn)讀卡器數(shù)據(jù)讀寫與算法的優(yōu)化升級(jí)。重點(diǎn)介紹MF-RC500射頻卡讀寫系統(tǒng)的硬件與軟件的整體設(shè)計(jì)。硬件上,研究分析了系統(tǒng)硬件的工作原理、設(shè)計(jì)方法,通過計(jì)算確定硬件最佳阻抗大小,繪制讀卡器電氣接線圖;軟件上,完成了主控程序的優(yōu)化升級(jí)設(shè)計(jì),利用cast5算法,對數(shù)據(jù)進(jìn)行加密。本文介紹的射頻卡讀寫系統(tǒng),擁有容錯(cuò)處理、鍵盤操作中斷相關(guān)函數(shù)、上位機(jī)軟件。利用不同模式間的相互轉(zhuǎn)化使系統(tǒng)功耗降低,程序運(yùn)行速度得到優(yōu)化。實(shí)驗(yàn)證明,本文設(shè)計(jì)的系統(tǒng)穩(wěn)定可行,有較強(qiáng)可移植性??蛇m用于考勤系統(tǒng)、自動(dòng)售水系統(tǒng)、公交車收費(fèi)系統(tǒng)等。
關(guān)鍵詞:微控制器;讀寫器;射頻卡;MF-RC500;加密
隨著人們生活水平的不斷提高與RFID技術(shù)的日趨成熟,RFID技術(shù)越來越多的的被應(yīng)用于人們的日常生活中。例如人們通常使用的公交卡、銀行卡、電話卡和門禁卡等。雖然給人們的生活提供了方便,但是一些不法分子利用非法手段盜取人們的信息來牟取暴利,給人們的生命財(cái)產(chǎn)帶來極大的安全隱患,所以射頻卡的安全性一直是社會(huì)關(guān)注的熱點(diǎn)。現(xiàn)在市場上常用的安全措施加密過于簡單,這種加密方式十分容易被不法分子破解,進(jìn)而偽造假的數(shù)據(jù),給用戶造成無法估計(jì)的損失。
本文利用cast5算法,對數(shù)據(jù)進(jìn)行加密。明顯提高讀卡器的信息安全性,并對數(shù)據(jù)讀寫與算法的優(yōu)化升級(jí)。本文還對MF-RC500射頻卡讀寫系統(tǒng)的硬件與軟件的整體設(shè)計(jì)。確定硬件最佳阻抗大小,繪制讀卡器電氣接線圖;完成了主控程序的優(yōu)化升級(jí)設(shè)計(jì),本文介紹的射頻卡讀寫系統(tǒng),擁有容錯(cuò)處理、鍵盤操作中斷相關(guān)函數(shù)、上位機(jī)軟件。利用不同模式間的相互轉(zhuǎn)化使系統(tǒng)功耗降低,程序運(yùn)行速度得到優(yōu)化。
1系統(tǒng)總體設(shè)計(jì)
RFID的信息安全防御系統(tǒng)主要組成如圖1所示。
主控芯片使用有較強(qiáng)數(shù)據(jù)處理能力的嵌入式芯片smart210,主控芯片與讀卡器進(jìn)行數(shù)據(jù)交互實(shí)現(xiàn)接受發(fā)送控制命令、信息數(shù)據(jù)流的處理接收;對數(shù)據(jù)庫進(jìn)行操作,實(shí)現(xiàn)相關(guān)數(shù)據(jù)的儲(chǔ)存、讀取。
根據(jù)系統(tǒng)需求進(jìn)行選擇的數(shù)據(jù)庫系統(tǒng)存儲(chǔ)所有標(biāo)簽的信息。標(biāo)簽發(fā)送其相關(guān)信息給讀寫器并與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,數(shù)據(jù)庫為系統(tǒng)提供了足夠大小的數(shù)據(jù)儲(chǔ)存空間,并具有強(qiáng)數(shù)據(jù)處理能力。
RFID標(biāo)簽儲(chǔ)存著RFID系統(tǒng)的相關(guān)信息,RFID標(biāo)簽通過耦合線圈的收放電,使RFID標(biāo)簽可以通過無線電與讀寫器進(jìn)行通信。
RFID標(biāo)簽讀寫器是用于讀寫RFID標(biāo)簽的設(shè)備。
2硬件設(shè)計(jì)
射頻識(shí)別技術(shù)(RFID,Radio Frequency Identification)是一種通過空間耦合無線電識(shí)別特定頻率電磁波的非接觸式的自動(dòng)識(shí)別技術(shù)。標(biāo)簽處于讀卡器可讀寫的磁場范圍,讀卡器通過耦合,無線電對RFID卡進(jìn)行充電,為RFID卡提供電力支持,RFID卡再通過無線電與RFID讀寫器進(jìn)行數(shù)據(jù)交互。在識(shí)別過程中無需建立光學(xué)或機(jī)械連接。
基于MF-RC500的讀寫器設(shè)計(jì)分為:MF-RC500設(shè)計(jì)、天線以設(shè)計(jì)及外圍連接電路設(shè)計(jì)。
2.1MF-RC500芯片介紹
基于ISO/IEC 14443A標(biāo)準(zhǔn)的非接觸式通信的MF-RC500射頻卡讀寫芯片具有成本低、集成度高和良好的抗干擾能力,適合各種類型的物流管理、識(shí)別認(rèn)證、錢款支付等場合、實(shí)用性強(qiáng)。Mifare卡基于13.56MHz非接觸通信模式與讀卡器進(jìn)行數(shù)據(jù)交互,MF-RC500模塊驅(qū)動(dòng)13.56MHz天線,與Mifare卡進(jìn)行通信,通信最大距離為10cm。
2.2天線設(shè)計(jì)
天線發(fā)射能量產(chǎn)生的電磁場區(qū)域一般就是射頻卡讀寫器的可識(shí)別范圍。因此要控制設(shè)計(jì)讀寫器的可識(shí)別讀寫范圍,就需要對天線的相關(guān)參數(shù)的大小進(jìn)行設(shè)計(jì)計(jì)算。為實(shí)現(xiàn)節(jié)約成本和減小體積,天線采用直接在PCB板制成的微帶天線。MF-RC500的工作頻率f是13.56MHz,所以采用適用于短波段通信的環(huán)形天線。在半徑R,匝數(shù)N,通過線圈的電流強(qiáng)度為,以天線幾何中心為中心,則距離中心x處的磁場強(qiáng)度可表示為(1)式:
由于PCB板制作要求及電路常用電壓電流的局限,所以設(shè)計(jì)的電流強(qiáng)度I的大小一般不變,PCB板制作的外形及大小的限制下,線圈匝數(shù)N也不便更改,一般為3。則由公式可得天線半徑是影響天線磁場強(qiáng)度主要因素。且半徑過大,天線中心的磁場強(qiáng)度會(huì)很小,但過于小的半徑,工作范圍會(huì)不足以支持讀寫器正常工作。經(jīng)綜合計(jì)算,直徑在15cm左右的圓形天線最為合適。為便于布板且矩形天線與圓形天線有類似的性質(zhì),所以采用矩形天線。則天線選擇匝數(shù)為3,邊長10cm的矩形天線。
2.3天線的匹配電路設(shè)計(jì)
在無線電系統(tǒng)中,連接發(fā)射電路與天線的同軸電纜一般阻抗為50Q。匹配電路可以使天線復(fù)阻抗轉(zhuǎn)換為適合阻抗50Ω。天線等效為1個(gè)電感L與電阻R的串聯(lián),再與電容c并聯(lián),如圖2所示:
天線設(shè)計(jì)重要參數(shù)品質(zhì)因子Q與電流強(qiáng)度成正比關(guān)系。高品質(zhì)因子Q能大大改善讀寫器傳輸功率,但品質(zhì)因子Q過高會(huì)削弱天線傳輸帶寬,使數(shù)據(jù)傳輸?shù)恼_性受到影響。MFRC500的讀寫器工作的波特率為109.5kHz/sec,數(shù)據(jù)傳輸使用Miller碼脈寬T=3pus。脈寬為T脈沖,頻域圖如圖3所示:
2.4系統(tǒng)整體電路圖設(shè)計(jì)
微控制器選用嵌入式芯片smart210,一般工作電壓在+5V,所以通過DC電源轉(zhuǎn)換器將+220V電壓降為+5V。采用IIC總線使主控芯片與讀寫器通訊。主控芯片同串口與報(bào)警器、顯示器進(jìn)行數(shù)據(jù)交互。數(shù)據(jù)庫與主控芯片通過網(wǎng)絡(luò)讀寫相關(guān)數(shù)據(jù)信息。系統(tǒng)整體電路圖如圖6所示。
3軟件設(shè)計(jì)
3.1主控程序設(shè)計(jì)
為提高可移植性,便于在不同系統(tǒng)中應(yīng)用,本系統(tǒng)擁有容錯(cuò)處理,鍵盤操作中斷相關(guān)函數(shù),上位機(jī)軟件。利用不同模式間的相互轉(zhuǎn)化使系統(tǒng)功耗降低,程序運(yùn)行速度得到優(yōu)化。使其適用場合更為廣泛。主控程序流程圖如圖7所示:
主控程序包括,防沖突機(jī)制,沖突隊(duì)列等待機(jī)制,三次相互驗(yàn)證,偽卡報(bào)警,睡眠模式與讀寫模式轉(zhuǎn)化,數(shù)據(jù)讀寫,數(shù)據(jù)庫數(shù)據(jù)互聯(lián),按鍵操作模式轉(zhuǎn)化與數(shù)據(jù)的更改,與上位機(jī)互傳數(shù)據(jù)程序。
RFID標(biāo)簽進(jìn)入RFID讀寫器范圍,讀卡器自動(dòng)從睡眠模式轉(zhuǎn)化為讀寫模式,執(zhí)行防沖突機(jī)制,若卡片多于一張,選擇其中一張,其他卡片加入等待隊(duì)列。對所選擇的卡片進(jìn)行身份認(rèn)證,若為假卡報(bào)警,若為真卡進(jìn)行相應(yīng)的讀寫操作,及數(shù)據(jù)庫互聯(lián)數(shù)據(jù)交互。
3.2讀寫卡加密操作程序設(shè)計(jì)
系統(tǒng)程序采用靈活性及較高的可移植性C語言編寫,使用keil C編譯環(huán)境。
本文加入的CAST5加密算法,是一些對稱Feistel網(wǎng)絡(luò)密鑰塊密碼,具有64位塊大小,密鑰大小在40到128位之間。當(dāng)密鑰大小超過80位時(shí),使用全部16個(gè)回合。組件包括基于彎曲功能的大型8x32位S盒,按鍵依賴旋轉(zhuǎn),模塊加法和減法以及XOR操作。有三種交替類型的圓函數(shù),但它們的結(jié)構(gòu)相似,僅在各點(diǎn)的精確運(yùn)算(加法,減法或異或)的選擇上有所不同。
一般通過微分密碼分析、線性密碼分析、密碼相關(guān)分析很難解析CAST5加密的數(shù)據(jù),不存在軟弱或者半軟弱的密鑰,且符合SAC、BIC等標(biāo)準(zhǔn)。因此對于整個(gè)RFID系統(tǒng)而言,滿足密碼強(qiáng)壯、且所需空間小的需求。
4系統(tǒng)測試分析
對系統(tǒng)進(jìn)行在線測試。通過主控計(jì)算機(jī)進(jìn)行系統(tǒng)監(jiān)控,在主控計(jì)算機(jī)上,設(shè)置有不同的數(shù)據(jù)讀寫選項(xiàng),用于對讀卡器的效果檢測,上位機(jī)測試界面如圖8所示。根據(jù)實(shí)際情況在上位機(jī)上設(shè)定讀卡器所讀信息量,寫入相應(yīng)信息,只需在對應(yīng)的輸入框中填寫相應(yīng)的信息并點(diǎn)擊確定按鈕。
5小結(jié)
基于RFID技術(shù)的射頻卡讀寫系統(tǒng)基于MFRC500進(jìn)行開發(fā)。在添加容錯(cuò)處理,加入操作中斷函數(shù)和上位機(jī)控制驅(qū)動(dòng)的基礎(chǔ)上,實(shí)現(xiàn)了CAST5加密算法對信息數(shù)據(jù)進(jìn)行加密,經(jīng)過檢測,本系統(tǒng)設(shè)計(jì)穩(wěn)定可行,有較強(qiáng)可移植性,可適用于考勤系統(tǒng)、自動(dòng)售水系統(tǒng)、公交車收費(fèi)系統(tǒng)等,有推廣價(jià)值。