??? IC卡按其工作方式分為接觸式Ic卡和非接觸式IC卡兩大類。在接觸式IC卡中,按其工作原理,一般可分為存儲(chǔ)IC卡和智能卡即CPU卡兩類。存儲(chǔ)卡內(nèi)部不含CPU,只能由硬件邏輯完成密碼校驗(yàn),具有一定的安全性但其密碼容易在線路中被跟蹤破譯,一般在安全性要求不高的情況下使用。CPU卡由于內(nèi)部帶有微處理器在性能上比存儲(chǔ)卡有很大提高,主要表現(xiàn)為:??
??? (1)安全性:CPU卡采用密鑰管理機(jī)制,認(rèn)證過程通過加密算法運(yùn)算動(dòng)態(tài)進(jìn)行,在實(shí)際應(yīng)用中被破譯和攻擊的可能性很?。???
??? (2)兼容性:CPU卡信息傳輸方式遵循ISO7816—3國際標(biāo)準(zhǔn),這樣芯片升級(jí)時(shí)不需要對(duì)系統(tǒng)內(nèi)的微控制器程序進(jìn)行改動(dòng),這是存儲(chǔ)卡和邏輯加密卡所不能做到的;???
??? (3)可擴(kuò)展性:由于CPU卡采用文件方式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),并且可以對(duì)不同應(yīng)用的數(shù)據(jù)文件進(jìn)行目錄管理,這樣很容易實(shí)現(xiàn)一卡多用的方案;???
??? (4)規(guī)范性:采用CPU卡的COS操作系統(tǒng)一般都滿足金融卡規(guī)范,如SMARTCOS符合中國人民銀行PBOC金融卡規(guī)范,這樣就可以很方便地實(shí)現(xiàn)收費(fèi)管理與金融系統(tǒng)的接軌。???
??? CPU卡的這些優(yōu)勢(shì)使其在智能卡表、通信設(shè)備、交通收費(fèi)、網(wǎng)絡(luò)安全、金融設(shè)備等領(lǐng)域得到越來越廣泛的應(yīng)用。??
1?CPU卡智能水表系統(tǒng)的總體設(shè)計(jì)???
??? CPU卡智能水表系統(tǒng)由繳費(fèi)系統(tǒng)、讀卡器、CPU卡智能水表構(gòu)成。CPU卡智能水表是通過CPU充值卡在繳費(fèi)系統(tǒng)和水表間進(jìn)行數(shù)據(jù)交換。用戶將CPU卡在繳費(fèi)點(diǎn)對(duì)卡進(jìn)行充值后,再使用CPU卡對(duì)水表進(jìn)行充值。智能水表模塊對(duì)用戶的用水量進(jìn)行計(jì)費(fèi),扣除相應(yīng)金額。且液晶屏實(shí)時(shí)顯示用水量、剩余金額、閥門控制狀態(tài)等。???
??? 由于MSP430具有超低功耗、低電壓、高速度等特性,且內(nèi)部硬件資源豐富,根據(jù)智能水表模塊的功能要求和成本的控制,我們選擇了MSP430F413這款型號(hào),充分利用了內(nèi)部的硬件資源:8K的flash、16位定時(shí)器、24×4段的液晶驅(qū)動(dòng)模塊和比較器模塊。???
??? CPU卡較IC邏輯加密卡而言,增添了密鑰管理機(jī)制認(rèn)證系統(tǒng),通過加密算法(采用DES加密算法)運(yùn)算在用戶卡和ISAM卡/ESAM模塊之間動(dòng)態(tài)進(jìn)行。用戶卡與ISAM卡/ESAM模塊之間傳遞的是一種動(dòng)態(tài)的偽隨即碼。在實(shí)際應(yīng)用過程中被破譯和攻擊的可能性非常小。在性能上比Ic存儲(chǔ)卡有較好的安全性,兼容性和擴(kuò)展性,并且升級(jí)不需要對(duì)MSP430F413芯片內(nèi)的程序進(jìn)行改動(dòng),只需對(duì)上位機(jī)發(fā)卡系統(tǒng)上對(duì)CPU卡內(nèi)的數(shù)據(jù)文件進(jìn)行改動(dòng)。???
2?CPU卡總體框圖??
CPU卡總體框圖如圖1所示。??
圖1?CPU卡總體框圖?
3?重要模塊開發(fā)?
(1)控制芯片MCU:?jiǎn)纹瑱C(jī)采用MSP430F413,MSP430F413是美國TI公司最新推出的超低功耗Flash型16位RISC指令集單片機(jī),具有豐富的片內(nèi)外圍,是一款性價(jià)比極高的單片機(jī),它采用了FLASH存儲(chǔ)器,并具有以下一些特點(diǎn):?
??? a)超低功耗:MSP430F413運(yùn)行在2.2V,1MHz時(shí)鐘條件下,其工作電流根據(jù)工作模式的不同在0.1?μA~300μA之間,其工作電壓范圍為1.8V~3.6V;?
??? b)處理能力強(qiáng)大:采用RISC指令集,核心指令27條,并具有豐富的尋址方式(源操作數(shù)7種目的操作數(shù)4種)。片內(nèi)寄存器數(shù)量多,有高效的查表處理方法;??
??? c)片上外圍模塊豐富:MSP430F413具有FLL+(頻率鎖相環(huán))時(shí)鐘系統(tǒng),看門狗帶,有三個(gè)捕獲/比較寄存器的16位定時(shí)器(Timer_A),片內(nèi)比較器,96段LCD驅(qū)動(dòng)器,48個(gè)通用I/O引腳,并且端口P1和P2具有中斷能力,每一引腳都可以單獨(dú)選擇中斷觸沿、單獨(dú)允許中斷;?
??? d)開發(fā)方式簡(jiǎn)便高效:MSP430F413具有JTAG接口,可以方便的通過JTAG控制器實(shí)現(xiàn)程序的下載和調(diào)試;?
??? e)具有5種節(jié)電模式,掉電電流(RAM數(shù)據(jù)保持)最低可為0.1?μA,提供從待機(jī)模式中快速喚醒功能,喚醒時(shí)間小于6?μm。平時(shí)單片機(jī)處于低功耗模式3,流量檢測(cè),CPU卡數(shù)據(jù)操作等都以中斷方式喚醒,以節(jié)省功耗。?
(2)電源管理:采用3.6伏的電池對(duì)系統(tǒng)供電,當(dāng)電池電壓小于3伏時(shí),由于利用MSP430F413內(nèi)部的比較器,以中斷方式喚醒單片機(jī),及時(shí)關(guān)閉水表閥門并保存相應(yīng)數(shù)據(jù),提示用戶更換電池。對(duì)LCD顯示,CPU卡接口電路等的供電在需要操作時(shí)才打開,以減小不必要的電流損失。?
(3)流量檢測(cè):將用水量轉(zhuǎn)換為脈沖信號(hào),采用兩個(gè)脈沖傳感器對(duì)脈沖信號(hào)進(jìn)行接收,防止抖動(dòng)產(chǎn)生的多計(jì)數(shù)現(xiàn)象。通過一定的程序設(shè)置,判斷兩個(gè)傳感器是否正常工作,若不正常,則認(rèn)為是外界強(qiáng)磁干擾,關(guān)閉閥門。?
(4)閥門控制電路:特殊情況下控制水表閥門的開關(guān),我們選用飽和壓降為0.2V的三極管8550和8050的對(duì)管構(gòu)成電機(jī)驅(qū)動(dòng)電路,既可以保證電機(jī)的驅(qū)動(dòng)電流又可在故障時(shí)限制最大電流<500mA。?
(5)LCD顯示:液晶顯示采用筆段型TN液晶屏,顯示用水量,剩余金額,水表閥門狀態(tài)等信息。驅(qū)動(dòng)采用MSP430F413內(nèi)置液晶驅(qū)動(dòng)模塊進(jìn)行驅(qū)動(dòng)。?
(6)CPU卡及其接口:CPU卡是用戶和水表進(jìn)行雙向信息交流的中介,它的尺寸和接口設(shè)計(jì)完全符合ISO-7816的標(biāo)準(zhǔn)。我們采用的是深圳明華公司的CPU卡,它有多種存儲(chǔ)容量可供選擇,擦寫次數(shù)大于50萬次,數(shù)據(jù)保存期大于10年,卡內(nèi)采用SMARTCOS操作系統(tǒng),該系統(tǒng)符合《中國金融集成Ic卡規(guī)范》,其數(shù)據(jù)文件支持種類多,且支持DES、3DES等加密算法;支持線路加密,線路保密功能;防止通信數(shù)據(jù)被非法竊取或篡改。符合ISO一7816—3的標(biāo)準(zhǔn)T=0通訊協(xié)議。?
(7)ESAM加密認(rèn)證模塊:ESAM模塊也是一種智能CPU卡,ESAM模塊是把智能卡芯片封裝成標(biāo)準(zhǔn)DIP8普通集成電路模塊的形狀。該模塊固定安裝在卡表內(nèi)部,存儲(chǔ)卡表運(yùn)行過程中的所有重要參數(shù),并密藏發(fā)卡時(shí)生成的用戶卡權(quán)限認(rèn)證主工作密碼,是水表較核心的部件,卡表和用戶卡進(jìn)行相互認(rèn)證和信息交換實(shí)際上是水表內(nèi)ESAM模塊和用戶卡進(jìn)行相互認(rèn)證及信息交換,水表內(nèi)MSP430F413和CPU卡接口對(duì)于加密認(rèn)證來說只是起傳輸數(shù)據(jù)作用。?
(8)DP—R123讀寫器:我們可購買明華公司的DP—R123讀寫器,并用普通空白卡生成ISM卡,在對(duì)用戶卡進(jìn)行沖值時(shí)進(jìn)行沖值認(rèn)證主工作密碼。無ISAM卡不能進(jìn)行正常沖值。?
(9)上位機(jī)Sybase管理系統(tǒng)的開發(fā)包括以下工作:?
??? a)設(shè)計(jì)并建造應(yīng)用系統(tǒng)中心數(shù)據(jù)庫,庫中保存系統(tǒng)公用數(shù)據(jù)和各持卡人專用數(shù)據(jù);?
??? b)開發(fā)CPU卡初始化軟件,包括對(duì)卡上存儲(chǔ)空間的初始規(guī)劃分區(qū),建立各級(jí)目錄,規(guī)定各目錄下的文件格式,加密方式,各級(jí)讀、寫密碼等;?
??? c)開發(fā)和編制各收費(fèi)工作站的應(yīng)用軟件,提供用戶使用CPU卡存取系統(tǒng)數(shù)據(jù)的應(yīng)用界面;?
??? d)開發(fā)系統(tǒng)維護(hù)和CPU卡發(fā)行與掛失軟件,用于處理系統(tǒng)修改、備份、擴(kuò)充及卡的發(fā)行與掛失。?
(10)Sybase管理系統(tǒng)具體分以下模塊:?
??? a)用戶管理模塊:此模塊包括用戶開戶發(fā)卡、補(bǔ)卡、換表、過戶、銷戶以及用戶信息的查詢及修改等;?
??? b)售水業(yè)務(wù)管理模塊:此模塊包括購水交易、買水統(tǒng)計(jì)查詢每日結(jié)帳等功能。售水時(shí),系統(tǒng)首先通過密鑰管理體系檢查該卡是否為合法卡,并與數(shù)據(jù)庫內(nèi)信息核對(duì),當(dāng)檢查通過后,將用戶的購水量(或購水金額)寫入卡中,更新數(shù)據(jù)庫,并將用戶卡帶回的水表信息一同寫人數(shù)據(jù)庫中。此模塊要求可以對(duì)單個(gè)用戶的一定時(shí)間的購水及用水狀況進(jìn)行記錄和統(tǒng)計(jì),通過輸入姓名和水表號(hào)等用戶個(gè)人信息可以查詢?cè)撚脩舻馁徦⒂盟闆r及水表運(yùn)行狀況;??
??? c)操作員信息管理模塊:該模塊包括增加操作員功能、操作員授權(quán)功能、口令修改功能。系統(tǒng)記錄操作員的每次登錄及操作,操作員分級(jí)別進(jìn)行操作,不同的操作員有不同的口令和安全級(jí)別,并且只能接觸和崗位相關(guān)的數(shù)據(jù);?
??? d)各工具卡制作模塊:此模塊包括制作用戶使用的用戶卡、應(yīng)急購水卡以及工作人員用于認(rèn)證的ISAM卡、生產(chǎn)數(shù)據(jù)設(shè)置卡,修改密鑰卡、回收轉(zhuǎn)移卡等;?
??? e)系統(tǒng)維護(hù)模塊:包括密鑰更新、水價(jià)維護(hù)、水表參數(shù)維護(hù)、數(shù)據(jù)庫備份及恢復(fù)功能;?
??? f)報(bào)表打印模塊:每次操作員進(jìn)行開戶、售水、補(bǔ)卡等操作時(shí),系統(tǒng)將自動(dòng)打印出交易明細(xì),另外,操作員也可以自行進(jìn)行單一或綜合統(tǒng)計(jì)查詢后,打印出查詢后的生成報(bào)表。?
4?結(jié)束語?
??? 由于MSP430的低功耗、低電壓、高速度等特性很適合用于采用工業(yè)電池(3.6V)供電的工作場(chǎng)合,用MSP430單片機(jī)來開發(fā)CPU卡的程序,在IC卡水電氣三表的應(yīng)用上具有廣闊前景。本文所介紹方案設(shè)計(jì)已通過實(shí)際的開發(fā)和運(yùn)行,達(dá)到預(yù)期效果。?
參考文獻(xiàn)?
1?嚴(yán)東東.智能卡技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998.3?
2?王愛英,Ic卡技術(shù)全書[M].北京:清華大學(xué)出版社,2000?
3?張大年,廖志勇.Delphi數(shù)據(jù)庫應(yīng)用開發(fā)技術(shù)與實(shí)例[M].北京:清華大學(xué)出版社,2002