基于ET44M210的指紋識別智能卡設(shè)計(jì)
摘要:文章介紹了智能卡技術(shù)和指紋識別技術(shù),給出了以ET44M210芯片為核心的具有指紋識別功能的智能卡系統(tǒng)的一種實(shí)驗(yàn)設(shè)計(jì)方法,并闡述了系統(tǒng)設(shè)計(jì)和軟件流程。
關(guān)鍵詞:ET44M210;智能卡系統(tǒng);指紋識別
0 引言
新一代智能卡Smart Card的內(nèi)嵌芯片CPU等于一個特殊類型的單片機(jī),內(nèi)部帶有控制器、存儲器、時(shí)運(yùn)控制邏輯和算法單元。由于CPU卡有存儲容量大、處理能力強(qiáng)、信息存儲安全等特性,在對各種卡片技術(shù)的評估過程中,智能卡脫穎而出,成為目前最佳、最具有經(jīng)濟(jì)效益的解決方案,被廣泛用于信息安全性要求特別高的場合。生物識別技術(shù)是利用人體的生物特征鑒別每個人的真實(shí)身份,主要包括虹膜、面孔、指紋、掌紋等。其中以指紋識別技術(shù)最為成熟穩(wěn)定。智能卡技術(shù)和指紋識別技術(shù)的結(jié)合使用,具有優(yōu)勢互補(bǔ)的特點(diǎn)。智能卡作為個人身份及指紋信息的存儲載體,利用指紋的唯一性達(dá)到個人身份鑒別的目的,為智能卡技術(shù)和指紋識別技術(shù)的應(yīng)用提供了更加廣泛的發(fā)展空間。
本文介紹了采用ET44M210芯片為基礎(chǔ)的一個智能銀行卡系統(tǒng)的實(shí)驗(yàn)設(shè)計(jì)方法,其中ET44M210為智能卡,PC機(jī)模擬讀卡機(jī)。考慮到預(yù)防手指模型欺騙技術(shù),采用輸入密碼加指紋雙重驗(yàn)證的方式。
1 硬件系統(tǒng)結(jié)構(gòu)
1.1 實(shí)驗(yàn)中采用的芯片簡介
1.1.1 ET44M210微處理器
ET44M210微處理器采用精簡指令集的結(jié)構(gòu)(RISC),外接6MHz的晶振,除條件轉(zhuǎn)移指令需要二個時(shí)鐘周期外,所有指令只要一個時(shí)鐘周期。在芯片內(nèi)部整合了USB、16位模數(shù)轉(zhuǎn)換、串行周邊控制界面(SPI)等功能。處理器內(nèi)部擁有16kB ROM、1.3kB RAM、42個IO口,供電電壓3.6~5V。
ET44M210芯片是一款低價(jià)格、高性能,采用CMOS工藝制造,具有RISC架構(gòu)的8位微控制器芯片。芯片采用SMA封裝,引腳數(shù)為100,由臺灣義統(tǒng)電子股份有限公司(Etoms Electronics Com)設(shè)計(jì)生產(chǎn)。ET44M210的設(shè)計(jì)充分體現(xiàn)了SoC化產(chǎn)品的特征。圖1 ET44M210的模塊結(jié)構(gòu)圖。
1.1.2 ET44M210芯片的開發(fā)工具
ET USBICE仿真軟件ET44M210芯片采用“USB接口仿真+實(shí)驗(yàn)?zāi)0?rdquo;作為硬件開發(fā)工具,如圖2所示。開發(fā)板的前半部分是仿真模板,在其上有一個ET44M210芯片,內(nèi)部固化了仿真程序。仿真模板通過板上的USB接口與PC機(jī)通信,在仿真軟件的配合下構(gòu)成一個低成本、高性能的在線仿真器ICE和寫入器。
開發(fā)板的后半部分是實(shí)驗(yàn)?zāi)0?,在其上也有一個ET44M210芯片,用戶通過實(shí)驗(yàn)?zāi)0暹M(jìn)行系統(tǒng)開發(fā)和模擬實(shí)驗(yàn)。實(shí)驗(yàn)?zāi)0迳嫌?個USB接口供用戶使用。實(shí)驗(yàn)板上還有1個48引腳的插座,可供連接I/O接口、ADC、PWM、SPI等使用。
ET44M210芯片采用ET USBICE仿真軟件作為軟件開發(fā)工具,如圖3所示。
ET USBICE仿真軟件使用USB接口與PC計(jì)算機(jī)進(jìn)行通信。軟件具有標(biāo)準(zhǔn)的通用仿真軟件界面和工程導(dǎo)向管理功能,適用于Windows98/2000/XP等多種操作系統(tǒng),可以很方便地對源程序進(jìn)行編寫、編譯、偵錯、仿真運(yùn)行、代碼生成、寫入等全過程。
1.2 指紋識別簡介
(1)指紋模塊的結(jié)構(gòu)。本系統(tǒng)的指紋采集模塊使用的是某公司的指紋模塊,它包括指紋傳感器、指紋識別芯片。若需要大于16用戶的指紋數(shù)據(jù),可以使用PC存儲器內(nèi)的指紋數(shù)據(jù)。
(2)指紋模塊的采集功能。該模塊在本系統(tǒng)中具有指紋采集的功能。將采集到的指紋存儲在模塊中后傳輸給PC并保存。
(3)指紋模塊的識別功能。該模塊在本系統(tǒng)中具有指紋判斷的功能。將采集到的指紋與先前存儲的指紋相鑒別,識別出是否是正常的用戶,并將識別結(jié)果保存。
(4)指紋采集與識別。流程如圖4所示。
2 系統(tǒng)原理及框圖
2.1 ET44M210的功能
(1)通信功能。通過USB接口與PC機(jī)連接,傳輸已經(jīng)加密的指紋信息及用戶銀行個人信息,然后由PC機(jī)將之解密,與中央數(shù)據(jù)庫比較。
(2)運(yùn)算功能。IC卡在向外傳輸命令之前都會先將其按相應(yīng)算法加密,同理,IC卡在收到PC機(jī)傳來的加密信息后,用相應(yīng)算法對信息進(jìn)行解密,具體算法請參見系統(tǒng)原理及框圖。
(3)內(nèi)部信息管理功能。由于卡內(nèi)存儲信息量很少(用戶個人信息及銀行存款信息),故信息系統(tǒng)不必做得很復(fù)雜,采用定長存儲方式,可以實(shí)現(xiàn)信息的建立、修改、刪除、維護(hù)等基本操作。另外還要實(shí)現(xiàn)信息訪問的安全控制,如對里面的信息進(jìn)行修改時(shí),要有不同的安全控制等級。
(4)命令處理功能。智能卡與PC機(jī)之間通信采用相應(yīng)的協(xié)議,為實(shí)現(xiàn)模擬的真實(shí)性,我們在此處使用現(xiàn)在通用的智能卡通信標(biāo)準(zhǔn)協(xié)議:使其支持ISO7816-4,6,8,9智能卡標(biāo)準(zhǔn)。根據(jù)PC機(jī)上傳輸?shù)牟煌钸M(jìn)行相應(yīng)的處理。
(5)擴(kuò)展功能。基本功能之外還要在其上加入液晶顯示功能及語音功能。其中液晶顯示用戶的基本信息,語音則通過單片機(jī)的AD和PWM功能實(shí)現(xiàn),通過功放發(fā)出聲音“請放入手指”及“確認(rèn)通過”、“確認(rèn)失敗”的聲音。
2.2 PC機(jī)的功能
(1)通信功能。通過USB接口與智能卡進(jìn)行通信,且產(chǎn)生隨機(jī)數(shù)通過RSA及ECC算法對數(shù)據(jù)進(jìn)行加解密;與指紋傳感器進(jìn)行通信,得到相應(yīng)的指紋數(shù)據(jù)。
(2)數(shù)據(jù)庫管理功能。模擬中央數(shù)據(jù)庫,存儲大量用戶信息,以采入的指紋數(shù)據(jù)為標(biāo)準(zhǔn)進(jìn)行查找。
(3)模糊比較功能。在進(jìn)行指紋比較過程中,所得到的數(shù)據(jù)與原始數(shù)據(jù)肯定存在一定程度的偏差,因此可設(shè)定好百分比,只要偏差在此允許范圍內(nèi)便可默認(rèn)為一致。
(4)數(shù)據(jù)讀取顯示功能。PC機(jī)通過和單片機(jī)通訊可以讀到其相應(yīng)數(shù)據(jù),在屏幕上可以顯示以下內(nèi)容:
修改用戶密碼或指紋密碼; (CHANGEPIN)
消費(fèi)/取現(xiàn);(DEBITFORPURCHASE/CASHWITHDRAW)
讀余額;(GETBALANCE)
輸入密碼; (GETPIN)
中英文選擇;(CHINESEENGLISH)
打印憑證: (PRINT)
3 軟件設(shè)計(jì)
3.1 系統(tǒng)工作流程
單片機(jī)首先復(fù)位,然后發(fā)消息等PC機(jī)回復(fù)確認(rèn)是否正確通信,PC機(jī)回復(fù)信息確認(rèn)通信正常。然后單片機(jī)發(fā)送身分確認(rèn)請求,要示PC機(jī)輸入密碼及指紋數(shù)據(jù),這些數(shù)據(jù)是經(jīng)過加密之后傳輸?shù)模瑔纹瑱C(jī)收到確認(rèn),然后根據(jù)其是否與內(nèi)部信息匹配做下一步處理,如不匹配,則報(bào)錯;如錯三次,則顯示吞卡,如匹配,則回復(fù)確認(rèn)消息,PC機(jī)系統(tǒng)從中央數(shù)據(jù)庫調(diào)相關(guān)資料。然后用戶可以根據(jù)自己的需要與PC機(jī)通信,并在液晶上顯示相關(guān)的操作過程。
PC機(jī)的鍵盤用來輸入用戶信息,且用數(shù)字鍵分別選擇用戶所需要的服務(wù),如提款、讀余額等等。同時(shí)在注冊新卡時(shí),可以輸入用戶信息。
其具體的定義為:
a…確定;(OK)
b…取消;(CANCEL)
c…取卡;(GETCARD)
d…選項(xiàng)上移;(MOVEUP)
e…選項(xiàng)下移;(MOVEDOWN)
0~9…輸入密碼及所取款額;(NUMBER)
單片機(jī)系統(tǒng)中定義指示燈:
燈1——亮為有卡插入,系統(tǒng)工作;暗為無卡;
燈2——閃5下代表提現(xiàn)金過程;
燈3——閃5下代表系統(tǒng)提示用戶取卡;
燈4——亮代表輸入密碼次數(shù)超過限度,機(jī)器吞卡:
燈5——代表打印憑條過程;
通過鍵盤的信息將轉(zhuǎn)化為協(xié)議方式,通過USB接口把相應(yīng)命令輸入到單片機(jī)。且用戶的相關(guān)信息及系統(tǒng)的修改時(shí)間將被記憶到計(jì)算機(jī)的數(shù)據(jù)庫中。圖6單片機(jī)、PC機(jī)的軟件流程。
3.2 指紋采集與識別
PC機(jī)收到單片機(jī)的通信確認(rèn)消息,回復(fù)后,進(jìn)行指紋數(shù)據(jù)采樣和密碼輸入,對其進(jìn)行加密后傳給單片機(jī)進(jìn)行相關(guān)的驗(yàn)證。一旦成功,則從中央數(shù)據(jù)庫中調(diào)所需要的數(shù)據(jù),面向用戶服務(wù)。當(dāng)出現(xiàn)用戶修改密碼情況則與卡進(jìn)行相關(guān)通信。當(dāng)操作完成后,控制打印機(jī)打印憑條,保存中央數(shù)據(jù)庫的修改。
3.3 通信協(xié)議定義
主要的通信協(xié)議根據(jù)現(xiàn)在通用的ISO7816協(xié)議定義機(jī)器和單片機(jī)之間的命令。
·命令Command:終端向IC卡發(fā)出的一條信息,該信息啟動一個操作或請求一個應(yīng)答。
·終端Terminal:為完成交易而在交易點(diǎn)安裝的設(shè)備。
·響應(yīng)Response:IC卡處理完成收到的命令報(bào)文后,返回給終端的報(bào)文。
·報(bào)文Message:由終端向卡或由卡向終端發(fā)出的,不含傳輸控制字符的字符串。
·報(bào)文鑒別代碼Message Authentication Code:對交易數(shù)據(jù)及其參數(shù)進(jìn)行運(yùn)算后產(chǎn)生的代碼,主要用于驗(yàn)證報(bào)文的完整性。
·明文Plaintext:沒有加密的信息。
·密文Ciphertext:通過密碼系統(tǒng)產(chǎn)生的不可理解的文字或信號。
·密鑰Key:控制加密或解密轉(zhuǎn)換操作的符號序列。
·加密算法Cryptograhpic Algorithm:為了隱藏或揭露信息內(nèi)容而變換數(shù)據(jù)的算法。
·對稱加密技術(shù)Symmetric Cryptographic Technique
·數(shù)據(jù)完整性Data Integrity:數(shù)據(jù)不受未經(jīng)許可的方法變更或破壞的屬性。
·非對稱加密技術(shù)Asymmetric Cryptographic Fechnique。
·響應(yīng)狀態(tài)碼:
4 結(jié)束語
本文討論了一種具有指紋識別功能的智能卡系統(tǒng)的設(shè)計(jì)方法,兼容指紋識別的智能卡讀寫器可以應(yīng)用在需要身份認(rèn)證的銀行系統(tǒng)以及其他安全性要求比較高的身份認(rèn)證管理系統(tǒng)中。該設(shè)計(jì)采用的指紋識別技術(shù)和智能卡技術(shù)的結(jié)合使用,提高了系統(tǒng)的安全防護(hù)能力,改善了系統(tǒng)整體的可靠性和安全性。