IC卡技術(shù)已經(jīng)廣泛應(yīng)用于金融、保險(xiǎn)、社會(huì)保障、身份識(shí)別等領(lǐng)域。她以她存儲(chǔ)容量大,安全性能好,攜帶方便等特點(diǎn),得到廣大行業(yè)的普遍認(rèn)同。
一 IC卡應(yīng)用從技術(shù)角度來講分三個(gè)層次:硬件層、技術(shù)層和應(yīng)用層。
1 硬件層分兩個(gè)方面:
1) IC卡芯片及卡的制作。IC卡芯片目前主要有國外愛爾梅特、西門子等幾家公司生產(chǎn)。IC卡片的制作是把IC芯片封裝成為一張張各式各樣的卡片,這樣的公司國內(nèi)很多。
2) 另一方面為IC卡讀寫器.IC卡讀寫器糞通用與專用兩種:通用讀寫器為一臺(tái)單獨(dú)的裝置,可以用來讀取不同型號(hào)的IC卡。專用讀寫器通常嵌入專用儀器中,例如:IC卡電話機(jī),IC卡電表等,一般只能讀取某種特定IC卡。對(duì)于上述行業(yè)中,IC卡讀寫器一般采用通用讀寫器,生產(chǎn)這種IC卡讀寫器公司,國內(nèi)已經(jīng)有一些,比如深圳的明華粵漢公司。但傳統(tǒng)的通用讀寫器一般是把一張IC卡插入讀寫器中,IC卡上的密碼和對(duì)于數(shù)據(jù)讀取都由讀寫器以外的應(yīng)用程序來完成,這樣在一定程度上用戶的信息就暴露給了應(yīng)用程序的開發(fā)與維護(hù)人員。未了解決用戶信息的安全過分依賴于應(yīng)用程序的問題,現(xiàn)在已經(jīng)研制出一種雙卡座IC卡讀寫器,這種讀寫在原來讀寫器基礎(chǔ)上增加了一個(gè)SAM卡座,用來插智能存儲(chǔ)卡(CPU卡),SAM卡上帶有加密解密程序,SAM能對(duì)用戶的密鑰進(jìn)行加密與解密存取,核對(duì)卡上密碼,加密解密存取卡中數(shù)據(jù)。這樣在一定程度上隔離了IC卡的安全系統(tǒng)與應(yīng)用程序系統(tǒng)之間的關(guān)系,保證了IC卡的用戶獨(dú)立性。
2 接口層
應(yīng)用系統(tǒng)要通過IC卡讀寫起來讀寫IC卡中的數(shù)據(jù),這就需要IC卡讀寫器向應(yīng)用系統(tǒng)提供一個(gè)讀寫接口,現(xiàn)在IC卡讀寫器的接口一般有普通串口,USB接口,以及無線接口,因此IC卡讀寫器的開發(fā)人員就的為應(yīng)用系統(tǒng)開發(fā)人員提供一套接口程序,目前在WINDOWS平臺(tái)上普遍采用提供一組動(dòng)態(tài)連接庫(dll)給應(yīng)用系統(tǒng)開發(fā)人員。應(yīng)用系統(tǒng)開發(fā)人員就調(diào)用動(dòng)態(tài)連接庫中函數(shù)來完成對(duì)IC卡的操作。采用普通串口讀寫器動(dòng)態(tài)庫主要完成是串口通訊的功能。
IC_DLL動(dòng)態(tài)庫大體設(shè)計(jì)思路如下:
IC_DLL動(dòng)態(tài)庫主要用來與IC卡讀寫器之間進(jìn)行通訊,可以通過串口或并口,具體通訊方式是:IC_DLL動(dòng)態(tài)庫向串口或并口發(fā)送與讀寫器協(xié)調(diào)一致的通訊信號(hào),而讀寫器則從串口接收這些通訊信號(hào),然后根據(jù)這些通訊信號(hào)來對(duì)IC卡進(jìn)行具體操作,真正直接操作IC卡是讀寫器,而IC_DLL動(dòng)態(tài)庫是利用串口或并口來操作讀寫器的函數(shù)庫。
IC_DLL動(dòng)態(tài)庫大體設(shè)計(jì)方法如下:
(1)與串口的底層接口:
利用WINDOWS對(duì)硬件設(shè)備的抽象:在WINDOWS 環(huán)境下,WINDOWS對(duì)硬件設(shè)備的管理采用設(shè)備文件方式。在IC_DLL動(dòng)態(tài)庫中建立一個(gè)與串口或并口相關(guān)聯(lián)的通訊設(shè)備文件gFile,通過讀寫設(shè)備文件來實(shí)現(xiàn)對(duì)串口或并口數(shù)據(jù)的接收與發(fā)送。
另外,利用WINDOWS的底層通訊結(jié)構(gòu)COMMTIMEOUTS,DCB,COMSTAT來對(duì)通訊設(shè)備的屬性進(jìn)行訪問與設(shè)置。
(2)IC_DLL動(dòng)態(tài)庫內(nèi)部函數(shù)的處理機(jī)制
利用c語言豐富而強(qiáng)大的對(duì)內(nèi)存管理和對(duì)字節(jié)的處理功能,另外還利用c語言豐富的數(shù)據(jù)類型,很方便的實(shí)現(xiàn)對(duì)IC卡上的存儲(chǔ)地址的計(jì)算和數(shù)據(jù)的移位操作;利用移位操作和位操作可以實(shí)現(xiàn)數(shù)據(jù)在二進(jìn)制位上的加密和校驗(yàn),IC_DLL動(dòng)態(tài)庫內(nèi)部對(duì)發(fā)送到串口或并口上的數(shù)據(jù)都在二進(jìn)位上進(jìn)行了加密,以防在串口或并口上竊取數(shù)據(jù)。
(3)IC_DLL動(dòng)態(tài)庫與高層接口
IC_DLL動(dòng)態(tài)庫采用傳遞參數(shù)和調(diào)用函數(shù)返回值來與高層通訊,并對(duì)高層傳遞過來的參數(shù)有一個(gè)合法性檢查,對(duì)底層返回錯(cuò)誤有錯(cuò)誤處理機(jī)制和錯(cuò)誤提示信息,對(duì)與高層使用者來說,底層與本層的處理和錯(cuò)誤是透明的,高層使用者只須通過調(diào)用函數(shù)的返回值來判定此次操作成功與否。
3 應(yīng)用層
各種行業(yè)的應(yīng)用系統(tǒng)中是如何利用IC卡來存儲(chǔ)與操作用戶向關(guān)數(shù)據(jù)?這就要事先對(duì)IC卡上的存儲(chǔ)空間根據(jù)用戶數(shù)據(jù)進(jìn)行規(guī)劃,下面舉一個(gè)在醫(yī)療保險(xiǎn)系統(tǒng)中對(duì)1604卡的使用與規(guī)劃情況:
二、IC卡的應(yīng)用實(shí)例:加密存儲(chǔ)卡1604卡在醫(yī)保信息系統(tǒng)中的應(yīng)用
1 1604卡的特點(diǎn):
— 邏輯加密存儲(chǔ)芯片
— 屬于單存儲(chǔ)器多邏輯分區(qū)結(jié)構(gòu)。主存儲(chǔ)器劃分了特定的標(biāo)志數(shù)據(jù)區(qū)和控制數(shù)據(jù)區(qū)之外,還將應(yīng)用數(shù)據(jù)區(qū)分成四個(gè)完全隔離的子區(qū),并在每個(gè)子區(qū)中配備了各自的讀、寫控制標(biāo)志和寫入/擦除密碼以及密碼輸入錯(cuò)誤計(jì)數(shù)器等邏輯控制。
— 芯片為串行傳輸方式,并滿足ISO7816-3同步傳送協(xié)議。采用低功耗的CMOS工藝制造,每字節(jié)的讀取時(shí)間為2us,寫周期為5ms。
— 內(nèi)部設(shè)計(jì)有電壓提升電路,保證使用單+5V電源電壓能夠完成對(duì)芯片的讀寫和擦除等各類編程操作。
芯片的存儲(chǔ)單元具有至少10000次的擦除/改寫循環(huán)次數(shù),數(shù)據(jù)保存期為10年。
2 芯片的存儲(chǔ)分區(qū)及其定義[1]:
3 IC卡的密碼系統(tǒng)
1) 使用SC作為用戶密碼
2) 應(yīng)用SCn、EZn為應(yīng)用系統(tǒng)的密碼控制,同時(shí)也可用來作為卡片防偽控制
3) 設(shè)置Pn=0、Rn=0,這樣使得,要讀數(shù)據(jù)必須在本應(yīng)用系統(tǒng)才可讀數(shù),要進(jìn)行修改數(shù)據(jù)操作必須還要核對(duì)EZn才可。
4) 各個(gè)應(yīng)用系統(tǒng)分別有自己的兩個(gè)密碼(SCn、EZn),使得應(yīng)用系統(tǒng)之間數(shù)據(jù)具有安全性。
注意:由于所有卡片的SCn、EZn都完全相同,那么系統(tǒng)對(duì)于這兩個(gè)密碼的保護(hù)就相當(dāng)重要,它稱為系統(tǒng)安全性的唯一保證,可以采取其它密碼保護(hù)措施。
4 IC卡的個(gè)人化操作
1)個(gè)人化流程,如圖1所示。
2)密碼控制
用戶密碼只有一個(gè),但不同的應(yīng)用系統(tǒng)分別對(duì)這個(gè)用戶密碼使用DES算法將會(huì)產(chǎn)生不同的結(jié)果,這樣可以保證不同的應(yīng)用系統(tǒng),不可對(duì)其它應(yīng)用系統(tǒng)的數(shù)據(jù)進(jìn)行修改。但這帶來的一個(gè)問題是,用戶修改密碼必須在總發(fā)行機(jī)構(gòu),必須同時(shí)對(duì)所有應(yīng)用系統(tǒng)使用DES算法重新計(jì)算一次。
個(gè)人化之前:
(1)只有總密碼,總密碼可讀,四個(gè)分區(qū)密碼無效(即核對(duì)無效),但可以設(shè)置密碼
(2)制造商代碼區(qū)不能修改,其它所有區(qū)域均可讀寫擦,只由總密碼控制
個(gè)人化之后:
(1)總密碼不可讀,四個(gè)分區(qū)密碼有效,所有密碼均不可讀
(2)發(fā)行區(qū)、個(gè)人代碼區(qū)不可修改,但可讀
(3)一區(qū)密碼有錯(cuò)誤計(jì)數(shù)器,其它分區(qū)密碼沒有錯(cuò)誤計(jì)數(shù)器。
(4)錯(cuò)誤計(jì)數(shù)達(dá)到8次,則IC卡鎖死。
4)用戶數(shù)據(jù)存儲(chǔ)規(guī)劃:
用戶數(shù)分四個(gè)部分:
a.版本信息:應(yīng)用一區(qū)的前兩個(gè)字節(jié)。
b.用戶基本信息: 應(yīng)用一區(qū)的前512各字節(jié)。
c.用戶就診結(jié)算數(shù)據(jù): 應(yīng)用一區(qū)的剩下字節(jié)。
d.用戶身份識(shí)別數(shù)據(jù):應(yīng)用二區(qū)
5)IC卡的使用方法:如圖2所示
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
452文章
49998瀏覽量
419686 -
封裝
+關(guān)注
關(guān)注
126文章
7652瀏覽量
142465 -
讀寫器
+關(guān)注
關(guān)注
3文章
648瀏覽量
38785
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論