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