IC卡的編程和使用_第1頁
IC卡的編程和使用_第2頁
IC卡的編程和使用_第3頁
IC卡的編程和使用_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C 卡與其它卡片的區(qū)別主要是 :IC 卡能在卡上存儲器中安全可靠地存儲大量有用信息, 并且可以對數(shù)據(jù)提供多級安全保密措施 .因此 ,為設(shè)計一個好的 IC 卡應(yīng)用系統(tǒng) ,必須了解 IC 卡的 數(shù)據(jù)結(jié)構(gòu)特點 .掌握 IC 卡的編程和讀寫方法 .從使用角度來看 ,不管是普通存儲卡 ,邏輯加密卡 ,或智能 CPU 卡,卡上必定有 :用于與其它 應(yīng)用系統(tǒng)相區(qū)別的發(fā)行商代碼 , 用于與本系統(tǒng)中其他用戶相區(qū)別的個人代碼,用于控制對卡上數(shù)據(jù)修改的擦除密碼 ,以及用于存放數(shù)據(jù)的存儲區(qū) .由于 IC 卡平時不與電源相接 ,要保證卡 上存儲的數(shù)據(jù)不會丟失 ,只能使用只讀存儲器即ROM 型存儲器 .因此卡上數(shù)據(jù)可以長

2、期保存一般數(shù)據(jù)可存放 100年.又由于 IC 卡上數(shù)據(jù)在使用中要經(jīng)常修改 ,故一般應(yīng)該使用電可擦除可 編程只讀存儲器,即EEPROM. 般IC卡數(shù)據(jù)改寫次數(shù)大于 100000次.目前的各種 IC 卡應(yīng)用系統(tǒng)中使用的 IC 卡主要是邏輯加密型卡 . 這種卡帶有多級密碼保 護(hù),比普通存儲卡安全性能強(qiáng)得多 ;同時又比智能 CPU 卡結(jié)構(gòu)簡單 ,不需要復(fù)雜的密碼計算過 程,而且結(jié)構(gòu)簡單 ,編程使用方便 .本講中以美國 ATMEL 公司的邏輯加密卡 AT88SC1604 為例, 來說明對 IC 卡應(yīng)用系統(tǒng)中的 IC 卡發(fā)行軟件和用戶應(yīng)用軟件的編程方法,以及 IC 卡寫入過程.一.邏輯存儲卡的數(shù)據(jù)結(jié)構(gòu)和編

3、程特性AT88SC1604 卡具有一個公用區(qū)和四個應(yīng)用數(shù)據(jù)區(qū) .其數(shù)據(jù)結(jié)構(gòu)如附表所示 .公用區(qū)內(nèi)有 廠商代碼 ,發(fā)行商代碼 ,總密碼 ,密碼計數(shù)器等等 .我們可以規(guī)劃和利用這些數(shù)據(jù)區(qū)對全卡基本 特性進(jìn)行控制 .應(yīng)用區(qū)共四個 ,第個分區(qū)有自己的分區(qū)密碼 , 擦除密碼 ,密碼計數(shù)器和讀寫控制 位,用于對本區(qū)內(nèi)數(shù)據(jù)的寫入,讀出和修改進(jìn)行控制 .應(yīng)用區(qū)其余部分是存儲數(shù)據(jù)的存儲單元.1604卡的第一分區(qū)存儲容量為 9K 位,其它三個分區(qū)數(shù)據(jù)存儲容量為2K 位.連同公用區(qū)總存儲量為 16K 位 .廠商代碼又叫制造商代碼 ,是由 IC 卡制造商在卡出廠時寫入 .一般對某一發(fā)行商提供的 一批卡提供同一代碼 ,

4、以便與其它廠商的卡相區(qū)別. 寫入時將相應(yīng)保護(hù)熔絲 1 熔斷 ,此時 IC 卡開發(fā)者可以讀出廠商代碼 ,判斷其生產(chǎn)廠商 ,但不能修改它 .發(fā)行商代碼:用于IC卡個人化,發(fā)卡時由系統(tǒng)軟件寫入,用來表明此卡屬于哪一應(yīng)用系統(tǒng) 例如:工商行發(fā)行的金融IC卡寫入的發(fā)行商代碼,表明了所屬的金融系統(tǒng)此卡使用時,ATM機(jī) 會自動核實這一代碼 .如果不正確 ,說明這不是本系統(tǒng)的卡 ,不能使用 .發(fā)行商代碼受熔絲 2 控 制,熔斷前 ,此密碼可修改 ,熔斷熔絲后 .此密碼可讀出 , 可核實 ,但不能修改 .IC 卡上的熔絲是 IC 卡個人化標(biāo)記 .除控制發(fā)行商代碼外 ,也控制整個卡上數(shù)據(jù)的讀寫 .熔 絲熔斷前 ,卡

5、上數(shù)據(jù)讀寫受總密碼 SC 和讀寫控制位控制 , 各分區(qū)密碼不起作用 ,此時可用 IC 卡讀寫器對卡進(jìn)行初始數(shù)據(jù)的規(guī)劃和寫入.熔絲熔斷后 , 卡發(fā)給用戶個人 ,此時各分區(qū)數(shù)據(jù)操作不但受總密碼 SC 控制 ,而且受各分區(qū)密碼和擦除密碼和控制.總密碼SC一般用作用戶密碼,應(yīng)通過IC卡發(fā)行軟件中提供的用戶環(huán)境,由用戶自己設(shè)置并且寫到卡上 .此密碼一旦寫入 ,不可讀出也不保留在系統(tǒng)中 ,只能核對 .用戶在以后使用 IC 卡 時,可能通過由應(yīng)用程序提供的密碼核對功能界面 ,由用戶本人鍵入加以核對 .密碼輸入正確 , 說明是合法用戶 ,可以對卡上數(shù)據(jù)進(jìn)行讀寫 .密碼輸入錯誤時 ,密碼計數(shù)器 SCAC 減 1

6、.此外,在熔絲熔斷之前 ,總密碼還控制各分區(qū)密碼的讀寫密碼計數(shù)器 SCAC 用于統(tǒng)計用戶密碼核對次數(shù) .輸入正確密碼時 ,計數(shù)器清零 ( 即 8 位全 置-1-).每輸錯一次 ,計數(shù)器一位變?yōu)?-0-,若八次輸入錯誤 ,計數(shù)器各位全變?yōu)?-0-時 ,則此卡已作 廢.擦除密碼控制對存儲器中已寫數(shù)據(jù)的擦除.由于 EEPROM 在寫入數(shù)據(jù)時只能寫入到空白區(qū) (即各位為 -1-), 對已寫有數(shù)據(jù)的存儲區(qū)只能先探險,后寫入 .每次要擦除一行信息 .擦除密碼在卡發(fā)行時寫入 ,由應(yīng)用系統(tǒng)控制 ,只能核實 ,不能讀出以防止非法破壞卡上已有的數(shù)據(jù).各分區(qū)有自己的分區(qū)密碼 ,以便實現(xiàn)一卡多用 .分區(qū)密碼和分區(qū)擦除

7、密碼控制本區(qū)數(shù)據(jù)的 讀,寫 ,擦操作 .例如用一個 1604 卡兼工作證 ,醫(yī)療證 ,工資卡和就餐卡 .在不同場合使用此卡時 讀寫器分別核實各分區(qū)密碼 ,僅操作本區(qū)數(shù)據(jù) ,而不影響其它分區(qū) .存儲分區(qū) 位地址 位數(shù) 字節(jié)地址 字節(jié)數(shù)FZ 廠方代碼區(qū) 015 16 01 2IZ 發(fā)行商代碼 1679 64 29 8SC 總密碼 8095 16 1011 2SCAC 總密碼錯誤計數(shù)器 96103 8 12 1CPZ 代碼保護(hù)區(qū) 104167 64 1320 8SC1 一區(qū)密碼 168183 16 2122 2 S1AC 一區(qū)密碼錯誤計數(shù)器 184191 8 23 1 EZ1 一區(qū)擦除密碼 1922

8、07 16 2425 2 E1AC 一區(qū)擦除密碼錯誤計數(shù)器 208215 8 26 1 AZ1 應(yīng)用區(qū)一 2169775 9650 271221 1195 SC2 二區(qū)密碼 97769791 16 1222 1223 2 EZ2 二區(qū)擦除密碼 97929807 16 12241225 2 E2AC 二區(qū)擦除密碼錯誤計數(shù)器 98089815 8 1226 1 AZ2 應(yīng)用區(qū)二 9816 11863 2048 12271482 256 SC3 三區(qū)密碼 11864 11879 16 14831484 2 EZ3 三區(qū)擦除密碼 1188011895 16 14851486 2 E3AC 三區(qū)擦除密碼

9、錯誤計數(shù)器 1189611903 8 1487 1 AZ3 應(yīng)用區(qū)三 1190413951 2048 1488 1743 256 SC4 四區(qū)密碼 1395213967 16 1744 1745 2 EZ4 四區(qū)擦除密碼 1396813983 16 17461747 2 E4AC 四區(qū)擦除密碼錯誤計數(shù)器 13984 13991 8 1748 1 AZ4 應(yīng)用區(qū)四 1399216039 2048 1749 2004 256 測試區(qū) 1604016055 16 2005 2006 2 合計 16056 2007.IC 卡編程和使用流程. 發(fā)卡是卡片發(fā)行對 IC 卡的讀寫操作主要在發(fā)卡時和用戶持卡交

10、費(fèi)及持卡消費(fèi)時時行者根據(jù)用戶要求對空白卡的個人化過程 . 這一過程由發(fā)卡單位的微機(jī)上運(yùn)行的發(fā)卡程序執(zhí) 行,如銀行 ,工廠 ,機(jī)關(guān)等部 .這一發(fā)卡程序也需 IC 卡開發(fā)人員根據(jù)上述經(jīng)構(gòu)特點進(jìn)行開發(fā)設(shè)計 . 用戶持卡消費(fèi)則在商店 POS 機(jī)或銀行 ATM 機(jī)上進(jìn)行 ,持卡交費(fèi)也需要在銀行或交費(fèi)處進(jìn)行.這一過程是讀出或修改卡上數(shù)據(jù)的過程,由 IC 卡用戶應(yīng)用程序在用戶終端上完成.此時用戶需與終端進(jìn)行交互式處理 .這種用戶應(yīng)用程序也是IC 卡開發(fā)人員進(jìn)行設(shè)計的 .下面 ,綜合上一節(jié)討論的 IC 卡存儲結(jié)構(gòu)特點 , 說明在這兩種軟件中的操作過程 .1.IC 卡個人化操作流程如前所述 ,此流程嵌在 IC

11、卡發(fā)卡軟件中執(zhí)行 ,可完成 IC 卡的人人化即初始數(shù)據(jù)錄入過程 . 首先系統(tǒng)核對 IC 卡的廠商代碼和卡型 ,正確時 ,在空白卡上寫入發(fā)行商代碼,確定此卡為本系統(tǒng)有效卡然后軟件應(yīng)提供交互式用戶界面 ,讓用戶從鍵盤輸入自己的用戶密碼(SC)此密碼不應(yīng)由發(fā)行者保留和處理 ,而應(yīng)該通過調(diào)用密碼寫入函數(shù)而直接寫入卡上 . 多分區(qū)中的分區(qū) 密碼也可以通過給用戶提供的界面由用戶直接輸入 .為了簡化密碼記憶要求 ,也可以采用根據(jù) 統(tǒng)一用戶密碼經(jīng)一定算法來分別產(chǎn)生分區(qū)密碼并寫入卡上. 擦除密碼則是在個人化時由發(fā)行商也就是系統(tǒng)來產(chǎn)生并且入卡上的 ,供系統(tǒng)使用 .在上述密碼寫入后 , 軟件還應(yīng)提供用戶對 密碼核實

12、和再次修改的機(jī)會 .在確認(rèn)無誤后 ,軟件發(fā)出熔斷命令 ,熔斷熔絲 2,完成 IC 卡的個人 化進(jìn)程 .隨后系統(tǒng)可對 IC 卡數(shù)據(jù)區(qū)需寫入的數(shù)據(jù)作初始寫入 .2.IC 卡用戶應(yīng)用軟件流程如前所述 ,此流程嵌于各 IC 卡讀寫終端的用戶軟件中.每次涉及對 IC 卡操作時執(zhí)行此流程.一旦 IC 卡插入讀寫器 ,用戶軟件首先應(yīng)核對廠商代碼 ,發(fā)行商代碼 ,以確認(rèn)此卡的合法性 . 在確定是本系統(tǒng)中的有效卡后 ,進(jìn)入用戶密碼核對流程 , 如果是無效卡 ,應(yīng)報警 .接著在用戶密 碼核對界面中對持卡人的合法性進(jìn)行鑒別 . 要求持卡人鍵入用戶密碼 ,與卡上密碼核對 ,無誤 后可開始對卡讀寫 . 如有分區(qū)密碼也要

13、求用戶鍵入核實.如果需對卡上已有數(shù)據(jù)進(jìn)行修改,則應(yīng)與系統(tǒng)中保留的探險密碼進(jìn)行核對 . 正確時可先讀出卡上數(shù)據(jù)進(jìn)行修改運(yùn)算,再擦除相應(yīng)存儲區(qū) ,最后將修改后數(shù)據(jù)寫回該存儲區(qū).根據(jù)以上敘述 ,我們知道 IC 卡的合法性 , 持卡人合法性和系統(tǒng)的合法性要相互確認(rèn) .這些確認(rèn)和對 IC 卡的讀寫操作均需調(diào)用隨 IC 卡讀寫器提 供的函數(shù)庫中的函數(shù)來完成 .三.IC卡應(yīng)用程序編程中使用的函數(shù)如上所述 :開發(fā) IC 卡應(yīng)用系統(tǒng)的要點就是在一個數(shù)據(jù)庫管理軟件中,合理地嵌入和調(diào)用IC 卡操作函數(shù) ,來完成諸如合法性驗證和 IC 卡讀出,擦除和寫入等操作 .為此,我們需要了解由 讀寫器驅(qū)動程序包中提供的 IC

14、止操作函數(shù)庫 .這些函數(shù)可分為兩大類 :在 WINDOWS 應(yīng)用環(huán) 境中,提供了一組動態(tài)鏈接庫函數(shù) (.DLL 文件)供各種程序調(diào)用 . 在 DOS 環(huán)境中, 則針對不同 語言提供了各自的函數(shù)庫 . 這時限于篇幅僅舉 FOXPROFOR DOS 中使用的部分函數(shù)加以說 明.詳細(xì)資料可查看相應(yīng)手冊 .在FOXPRO程序執(zhí)行前,執(zhí)行命令:.SET LIBRARY TO MWIC.LIB 貝U FOXPRO會自動登 錄-MWIC.LIB-中的IC卡函數(shù),以后可以像使用FOXPRO內(nèi)部函數(shù)一樣在程序使用中使用其 中的接口函數(shù) .而在編譯用戶程序為 .EXE 文件時 ,又要將 -MWIC.LIB- 鏈入即可執(zhí)行 .MWIC.LIB 中的接口函數(shù)可分兩類 通用函數(shù) :用于各種卡型的基本操作 .1.MW-INITCOM() 初始化串行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論