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