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