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