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