李凱漫,牛宏俠,侯濤
(1.蘭州交通大學(xué) 光電技術(shù)與智能控制教育部重點實驗室,蘭州 730070;2.蘭州交通大學(xué) 自動化與電氣工程學(xué)院)
?
多卡信息融合的二代身份證一卡通系統(tǒng)設(shè)計*
李凱漫1,牛宏俠1,侯濤2
(1.蘭州交通大學(xué) 光電技術(shù)與智能控制教育部重點實驗室,蘭州 730070;2.蘭州交通大學(xué) 自動化與電氣工程學(xué)院)
摘要:開發(fā)了基于RFID技術(shù)的二代身份證“一卡通”系統(tǒng),此系統(tǒng)通過讀取綁定了各類只讀卡信息的二代身份證序列號,結(jié)合上位機中數(shù)據(jù)庫和“一卡通”軟件的控制管理,實現(xiàn)“一卡通”功能。此系統(tǒng)不僅降低了設(shè)備成本,而且方便了人們的生活,可廣泛應(yīng)用于很多領(lǐng)域中。
關(guān)鍵詞:RFID;串口異步通信;防沖撞
引言
目前我國二代身份證(以下簡稱二代證)的換發(fā)工作已完成,這種新型身份證采用符合ISO14443 TYPEB國際標(biāo)準(zhǔn)的非接觸式IC卡技術(shù),存入了公民身份證號碼、照片等個人信息,并具有全球唯一的序列號。閱讀器讀取身份證內(nèi)部信息時,需要安裝公安部授權(quán)的安全模塊,而讀取二代證序列號,無需專用的安全模塊[1-2]。
基于上述情況,提出賦予二代證更多的附加功能,即將各類只讀卡信息融入到二代證中使其變?yōu)椤耙豢ㄍā?,這不僅可以減少成本,并且方便用戶攜帶。為此本文開發(fā)了基于RFID技術(shù)的二代證“一卡通”系統(tǒng)。二代證閱讀器是“一卡通”系統(tǒng)的關(guān)鍵設(shè)備,目前市場上已存在對于二代證內(nèi)部信息進行讀取的閱讀器,但由于此類閱讀器必須嵌入公安部授權(quán)的安全模塊,存在成本過高、監(jiān)管過嚴(yán)等問題,導(dǎo)致其無法廣泛地使用。而本文主要研究在不涉及二代證“保密性”的前提下,只對二代證序列號進行讀取,并且通過對“一卡通”系統(tǒng)后臺數(shù)據(jù)庫與應(yīng)用軟件的控制管理,使得在簡化設(shè)備的同時擴大了系統(tǒng)的應(yīng)用范圍。除此之外,該系統(tǒng)還具有高安全性、高防偽性、低成本、設(shè)備使用壽命長等特點,可以代替原有只讀卡系統(tǒng)廣泛應(yīng)用于多種領(lǐng)域。
1關(guān)鍵技術(shù)
1.1RFID技術(shù)
射頻識別(以下簡稱RFID)技術(shù)是一種非接觸式的自動識別技術(shù),它通過無線射頻方式識別特定目標(biāo),通信雙方無需建立接觸。電子標(biāo)簽和閱讀器是實現(xiàn)RFID不可缺少的兩部分,電子標(biāo)簽內(nèi)存儲識別卡號和用戶信息,當(dāng)其進入閱讀器天線所產(chǎn)生的射頻場范圍內(nèi)時,閱讀器獲取標(biāo)簽內(nèi)的信息并傳遞到后臺計算機中進行處理。
二代證“一卡通”系統(tǒng)中的閱讀器利用RFID技術(shù)讀取二代證序列號,在讀取過程中二代證無需接觸閱讀器,讀取速度快,抗干擾能力強,可在運動狀態(tài)下讀取,并且利用防沖撞機制可讀取多個二代證序列號。使用RFID技術(shù),可以有效減少二代證與閱讀器進行機械接觸而導(dǎo)致的損壞,同時極大地提高了工作效率。
1.2二代證內(nèi)部數(shù)據(jù)解析
第二代身份證是非接觸式智能IC卡,符合ISO14443 TYPEB標(biāo)準(zhǔn)[4-5],使用頻率為13.56 MHz,二代證不僅具有便捷的防偽數(shù)據(jù),而且還有較高的安全功能。其內(nèi)部存儲了多達(dá)46項居民信息,采用數(shù)字加密技術(shù),且具有未進行加密處理的全球唯一序列號。二代證加密信息存儲格式如表1所列[5]。
表1 二代證加密信息存儲格式
二代證內(nèi)信息的讀寫必須通過專用閱讀器,而對二代證進行讀寫控制的芯片則是閱讀器的核心,目前可以對二代證進行讀寫控制的芯片有NXP的MFRC531、復(fù)旦微電子的FM1722、華虹公司的SHC1507等。
加密信息的讀取需要在閱讀器內(nèi)加裝公安部授權(quán)的安全模塊,這增加了閱讀器的成本及復(fù)雜度。本設(shè)計中閱讀器只對二代證序列號進行讀取,其他用戶信息手動錄入,與序列號進行綁定后存入數(shù)據(jù)庫中,這極大地簡化了閱讀器設(shè)計的復(fù)雜度,降低了設(shè)備成本。MFRC531芯片具有高度集成的調(diào)制解調(diào)電路、多種傳輸接口等特點,因此選用MFRC531作為閱讀器的讀寫控制芯片。
1.3PC與閱讀器串口通信原理
串口通信程序的編寫有以下三種實現(xiàn)方法:第一種是調(diào)用Win32 API通信函數(shù),通過對串口進行參數(shù)設(shè)置,同時開啟串口監(jiān)測工作線程等,完成對于串口的通信與使用。第二種是利用Windows的串行通信編程Active控件MSComm,該控件使用簡單,但需要注冊;第三種是應(yīng)用.NET平臺下的SerialPort控件,此控件可以方便地實現(xiàn)所需串口通信的多種功能,被廣泛應(yīng)用于串口通信程序的設(shè)計中[3]。
本系統(tǒng)采用C#.NET作為開發(fā)平臺,故通信方式采用微軟.NET的SerialPort控件完成PC與二代證閱讀器的串口異步通信操作。
1.4二代證冒用與偽造問題
二代證使用范圍擴大的同時,其安全性也應(yīng)受到重視,除了便捷地從二代證中獲取信息外,還應(yīng)確保人證合一,防范他人冒用以及偽造[6]。利用指紋識別技術(shù)可以有效解決此類問題,當(dāng)用戶注冊時采集用戶指紋信息,連同其他用戶相關(guān)信息一并存入后臺數(shù)據(jù)庫中,當(dāng)二代證被使用時,采集當(dāng)前用戶指紋信息并與預(yù)先存入數(shù)據(jù)庫的指紋信息進行對比,從而可以有效識別用戶的身份。只有通過指紋認(rèn)證后,用戶才可完成其所需操作。此類安全驗證在保障用戶安全性的同時也增大了用戶操作及設(shè)備的復(fù)雜性,從現(xiàn)實方面考慮,此類安全驗證只需針對涉及用戶隱私或嚴(yán)重危害用戶安全的系統(tǒng),一般系統(tǒng)無需此類驗證。
2系統(tǒng)分析
傳統(tǒng)只讀卡內(nèi)只存儲了一個卡號,利用卡號實現(xiàn)身份認(rèn)證后,通過后臺數(shù)據(jù)庫進行數(shù)據(jù)的交互。本文開發(fā)的一卡通系統(tǒng)采取與傳統(tǒng)只讀卡系統(tǒng)相似的工作原理,將各類只讀卡卡號與二代證序列號進行綁定,用戶信息則存放于后臺數(shù)據(jù)庫中,利用序列號實現(xiàn)身份認(rèn)證后,所有用戶操作均在數(shù)據(jù)庫中完成,這有效解決了二代證沒有開放寫入接口、只能進行信息讀取的問題,擴大了一卡通系統(tǒng)的使用范圍。為了使二代證代替?zhèn)鹘y(tǒng)只讀卡實現(xiàn)一卡多用,需要對原有的只讀卡閱讀器進行相應(yīng)改造,并修改上位機軟件,使其增加與二代證相關(guān)的處理功能。
3系統(tǒng)硬件設(shè)計
本系統(tǒng)開發(fā)出用于讀取二代證序列號的閱讀器。此閱讀器能快速準(zhǔn)確地讀取二代證中的序列號,并通過RS232將數(shù)據(jù)傳送給上位機,上位機通過人機界面軟件和數(shù)據(jù)庫完成信息的存儲、分析及處理。
圖1 系統(tǒng)原理框圖
二代證閱讀器包括主控MCU模塊、射頻讀卡模塊、模塊間SPI通信,以及主控與上位機RS232通信。系統(tǒng)原理框圖如圖1所示。
3.1主控模塊設(shè)計
采用ATmega16作為主控芯片,其具有先進的指令集,工作于16 MHz時性能高達(dá)16 MIPS,同時其具有兩個可編程的串行USART以及可工作于主機/從機模式的SPI 串行接口。主控芯片通過引腳PD0(RXT)和PD1(TXD)與PC相連接,基于RS232標(biāo)準(zhǔn)進行串口通信;引腳PB4(SS)、PB5(MOSI)、PB6(MISO)和PB7(SCK)與射頻模塊相連,進行SPI通信[7],在SPI通信過程中,主控模塊作為SPI主機,控制傳輸?shù)耐瓿伞?/p>
3.2射頻模塊設(shè)計
MFRC531是NXP公司生產(chǎn)的一款高集成、高性能的讀寫芯片,工作頻率為13.56 MHz,可以對符合ISO/IEC14443標(biāo)準(zhǔn)的高集成智能IC卡進行讀取,有效識別距離為100 mm。為了有效減少引腳的占用情況,MFRC531與主控模塊之間采用SPI模式進行通信,MFRC531作為通信的從機,配合主機(主控模塊)完成序列號的傳輸。MFRC531功能框圖如圖2所示。
圖2 MFRC531功能框圖
4系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件設(shè)計主要包括閱讀器軟件設(shè)計、串口通信、數(shù)據(jù)庫設(shè)計和PC人機界面軟件設(shè)計4部分。閱讀器軟件主要用于實現(xiàn)二代證序列號的讀取,通過串口傳遞給后臺計算機,后臺計算機將讀取到的序列號與數(shù)據(jù)庫相連,通過人機界面軟件完成數(shù)據(jù)分析、管理、存儲等功能。
4.1閱讀器軟件設(shè)計
二代證是非接觸式智能IC卡,符合ISO14443 TYPEB 標(biāo)準(zhǔn),因此對于MFRC531芯片的初始化及序列號的讀取、防沖突過程應(yīng)遵循ISO14443 TYPEB協(xié)議。
4.1.1二代證序列號的讀取過程
射頻模塊在完成復(fù)位和初始化操作后,首先對二代證進行查詢卡操作,射頻模塊驅(qū)動天線產(chǎn)生13.56 MHz高頻磁場,并循環(huán)發(fā)送REQB命令。當(dāng)二代證與射頻模塊天線的距離小于100 mm時,二代證接收到磁場能量并產(chǎn)生感應(yīng)電壓激活內(nèi)部芯片,內(nèi)部芯片憑借感應(yīng)電壓產(chǎn)生的能量返回卡應(yīng)答給射頻模塊。射頻模塊接收到應(yīng)答信號后表明查詢卡成功,射頻模塊通過發(fā)送SELECT命令進行選卡,二代證若返回狀態(tài)碼,則表明選卡成功。讀卡操作時射頻模塊發(fā)送GUID命令[1,5]來讀取8字節(jié)的二代證序列號,并將此序列號傳送回PC。整個系統(tǒng)讀取命令序列如圖3所示。
圖3 讀取命令序列圖
4.1.2多張二代證讀取時防沖突的實現(xiàn)方法
當(dāng)有多張二代證進入閱讀器可識別范圍內(nèi)時,閱讀器開啟防沖突機制,按照一定的順序?qū)ΧC排序后逐個進行操作。在這個過程中,閱讀器通過指令集來管理與多張卡片的通信,二代證對閱讀器發(fā)出的指令集進行處理。防沖突指令集包括: ATQB,對請求命令的應(yīng)答;PCD,接近耦合設(shè)備(讀/寫卡器);PICC,接近式集成電路卡(非接觸式智能卡);REQB,請求命令;WUPB,喚醒命令。
PCD為查詢PICC將發(fā)出包含一個整數(shù)N的REQB或WUPB命令,當(dāng)N=1時,位于閱讀器有效距離內(nèi)的PICC都回答ATQB命令,PCD檢測到接收的數(shù)據(jù)有CRC錯誤,這時確認(rèn)發(fā)生了沖突。當(dāng)N>1時,PICC選擇隨機數(shù)R(1
在實際應(yīng)用過程中,同一時間內(nèi),在閱讀器的有效識別范圍內(nèi)一般只有一張二代證,所以射頻模塊默認(rèn)發(fā)送單時隙(N=1)的讀卡命令。當(dāng)檢測到有沖突發(fā)生時,改發(fā)N>1時隙的讀卡命令,考慮到閱讀器有效范圍為100 mm,選取N=3即可滿足實際需要,而后執(zhí)行防沖突循環(huán),完成選卡任務(wù)。
4.2串口通信程序設(shè)計
圖4 串口通信程序流程圖
基于C#.NET平臺,采用SerialPort控件實現(xiàn)閱讀器與后臺計算機之間的串口通信。其具體實現(xiàn)過程是在“一卡通”系統(tǒng)界面中加入SerialPort控件,首先通過Open()函數(shù)開啟串口通信,設(shè)置串口屬性(如發(fā)送接收串口、波特率、字節(jié)長度、校驗位、停止位等),然后設(shè)置DataReceived事件。當(dāng)數(shù)據(jù)輸入緩沖區(qū)時觸發(fā)該事件,將接收到的序列號進行數(shù)據(jù)庫查詢[9]。串口通信程序流程圖如圖4所示。
4.3上位機軟件設(shè)計
雖然二代證“一卡通”系統(tǒng)只能讀取二代證序列號,但利用上位機數(shù)據(jù)庫和“一卡通”軟件的控制管理,可以極大提高系統(tǒng)的應(yīng)用范圍。本系統(tǒng)以C#.NET為開發(fā)平臺,再結(jié)合SQL Server 2008建立數(shù)據(jù)連接關(guān)系,實現(xiàn)“一卡通”系統(tǒng)上位機軟件功能。
4.3.1數(shù)據(jù)庫設(shè)計
此“一卡通”系統(tǒng)在使用之前,需將二代證序列號與用戶的相關(guān)信息進行綁定,傳入后臺計算機中,并建立數(shù)據(jù)庫。在使用過程中,閱讀器將讀取到的二代證序列號通過串口送至后臺,后臺計算機利用二代證序列號查詢數(shù)據(jù)庫并調(diào)出用戶的相關(guān)信息,之后依據(jù)具體應(yīng)用對用戶信息進行操作。對于不同系統(tǒng),數(shù)據(jù)庫中數(shù)據(jù)表的建立也會有所不同,以下針對部分系統(tǒng)中的數(shù)據(jù)表進行簡要論述。
對于公交、超市等需要支付功能的系統(tǒng),應(yīng)在數(shù)據(jù)庫中添加消費信息表用于存儲用戶消費、充值信息。但由于此類支付無需密碼和簽名,因此二代證的支付功能必須設(shè)定金額上限(如1000元),只能用于小額支付。
醫(yī)院系統(tǒng)的數(shù)據(jù)庫中應(yīng)當(dāng)添加病歷表,為患者建立電子檔案,方便患者就診,并對此表設(shè)置權(quán)限,使得只有醫(yī)生才可對此表進行讀寫操作,保障患者隱私與安全。
小區(qū)門禁系統(tǒng)應(yīng)添加用戶具體住址信息表,詳細(xì)記錄下住戶的單元號門牌號。當(dāng)住戶進入單元門和使用電梯時,再次驗證信息表中的住戶信息與單元樓號及電梯號是否一致,提高小區(qū)的安全性。
4.3.2人機界面軟件設(shè)計
圖5 軟件操作框圖
此軟件包括用戶界面和數(shù)據(jù)處理兩部分,用戶界面模塊主要負(fù)責(zé)界面的管理以及用戶操作,而數(shù)據(jù)處理模塊主要完成獲取序列號、查詢數(shù)據(jù)庫等操作[3]。此軟件只能完成系統(tǒng)基本應(yīng)用功能,可針對不同應(yīng)用需求對此軟件進行修改和完善。軟件操作框圖如圖5所示。
用戶界面采用C#為開發(fā)語言,Visual Studio 2010為開發(fā)工具進行編寫,簡單易操作,同時滿足系統(tǒng)所需基本功能。界面如圖6與圖7所示。
圖6 主界面
圖7 用戶信息錄入界面
結(jié)語
本文開發(fā)的系統(tǒng)采用二代身份證作為一卡通的介質(zhì),有效節(jié)約了制卡成本,方便用戶攜帶,同時真正做到了利用二代證實現(xiàn)多種不同功能的智能管理,可以廣泛應(yīng)用于多種領(lǐng)域。
參考文獻(xiàn)
[1] 孫鵬,王宜懷.基于嵌入式以太網(wǎng)的二代身份證讀卡器設(shè)計[J].軍民兩用技術(shù)與產(chǎn)品,2008(11):42-45.
[2] 曹建,于晶晶,李存福.基于ZigBee技術(shù)的二代身份證讀卡器設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010(9):48-50.
[3] 呂新茹,王東.RFID門票與身份證門禁系統(tǒng)分析與設(shè)計[J].微計算機信息,2008(23):236-237.
[4] 劉恒學(xué),曾崇培,李果鳳,等.第二代身份證用作城市軌道交通乘車憑證的討論[J].城市軌道交通研究,2013(9):18-22.
[5] 陳龍.二代身份證讀卡模塊開發(fā)及應(yīng)用[D].蘇州:蘇州大學(xué),2007.
[6] 許暢,王曉龍,王鋮.基于指紋和人臉識別的二代證身份驗證系統(tǒng)研究[J].數(shù)字技術(shù)與應(yīng)用,2011(11):228.
[7] 田國棟,李強.基于ATmega16單片機的實時溫度采集與分析系統(tǒng)[J].電子設(shè)計工程,2012,20(7):151-153.
[8] 黎明,羅麗華,盧邦,等.基于RC531的Type B讀卡器開發(fā)[J].現(xiàn)代計算機,2004(10):90-93.
[9] 翟希述,王寶興,范淼.基于Visual C#的串口通信程序設(shè)計[J].電子科技,2011,24(2):24-26.
李凱漫(碩士研究生)、牛宏俠(副教授),研究方向為交通信息工程及控制;侯濤(副教授),主要從事智能控制與智能信息處理研究。
Second Generation ID Card System of Multi-information Fusion
Li Kaiman1,Niu Hongxia1,Hou Tao2
(1.Key Laboratory Opto-electronic Technology and Intelligent Control Ministry of Education,Lanzhou Jiaotong University,Lanzhou 730070,China;2.School of Automation and Electrical Engineering,Lanzhou Jiaotong University)
Abstract:In the paper,the second generation ID card system based on RFID technology is proposed.It reads the sequence number of the second generation ID card containing information of read-only card,combines with the control management of the software and database on the upper machine to achieve one-card function.The one-card system reduces the cost of equipment and facilitates the people's lives,it can be widely applied in many fields.
Key words:RFID;asynchronous serial communication;anticollision
收稿日期:(責(zé)任編輯:薛士然2015-12-17)
中圖分類號:TP273.5
文獻(xiàn)標(biāo)識碼:A
* 基金項目:甘肅省自然科學(xué)基金項目(1308RJZA116));甘肅省高等學(xué)??蒲许椖?2013A-051);蘭州交通大學(xué)科技支撐計劃項目(ZC2013004)。