IC卡編程和使用流程
對(duì)IC卡的讀寫(xiě)操作主要在發(fā)卡時(shí)和用戶(hù)持卡交費(fèi)及持卡消費(fèi)時(shí)時(shí)行. 發(fā)卡是卡片發(fā)行者根據(jù)用戶(hù)要求對(duì)空白卡的個(gè)人化過(guò)程. 這一過(guò)程由發(fā)卡單位的微機(jī)上運(yùn)行的發(fā)卡程序執(zhí)行,如銀行,工廠,機(jī)關(guān)等部.這一發(fā)卡程序也需IC卡開(kāi)發(fā)人員根據(jù)上述經(jīng)構(gòu)特點(diǎn)進(jìn)行開(kāi)發(fā)設(shè)計(jì).用戶(hù)持卡消費(fèi)則在商店P(guān)OS機(jī)或銀行ATM機(jī)上進(jìn)行,持卡交費(fèi)也需要在銀行或交費(fèi)處進(jìn)行.這一過(guò)程是讀出或修改卡上數(shù)據(jù)的過(guò)程,由IC卡用戶(hù)應(yīng)用程序在用戶(hù)終端上完成.此時(shí)用戶(hù)需與終端進(jìn)行交互式處理.這種用戶(hù)應(yīng)用程序也是IC卡開(kāi)發(fā)人員進(jìn)行設(shè)計(jì)的.下面,綜合上一節(jié)討論的IC卡存儲(chǔ)結(jié)構(gòu)特點(diǎn), 說(shuō)明在這兩種軟件中的操作過(guò)程.
1.IC卡個(gè)人化操作流程
如前所述,此流程嵌在IC卡發(fā)卡軟件中執(zhí)行,可完成IC卡的人人化即初始數(shù)據(jù)錄入過(guò)程.首先系統(tǒng)核對(duì)IC卡的廠商代碼和卡型,正確時(shí),在空白卡上寫(xiě)入發(fā)行商代碼,確定此卡為本系統(tǒng)有效卡.然后軟件應(yīng)提供交互式用戶(hù)界面, 讓用戶(hù)從鍵盤(pán)輸入自己的用戶(hù)密碼(SC).此密碼不應(yīng)由發(fā)行者保留和處理,而應(yīng)該通過(guò)調(diào)用密碼寫(xiě)入函數(shù)而直接寫(xiě)入卡上. 多分區(qū)中的分區(qū)密碼也可以通過(guò)給用戶(hù)提供的界面由用戶(hù)直接輸入.為了簡(jiǎn)化密碼記憶要求,也可以采用根據(jù)統(tǒng)一用戶(hù)密碼經(jīng)一定算法來(lái)分別產(chǎn)生分區(qū)密碼并寫(xiě)入卡上. 擦除密碼則是在個(gè)人化時(shí)由發(fā)行商也就是系統(tǒng)來(lái)產(chǎn)生并且入卡上的,供系統(tǒng)使用.在上述密碼寫(xiě)入后, 軟件還應(yīng)提供用戶(hù)對(duì)密碼核實(shí)和再次修改的機(jī)會(huì).在確認(rèn)無(wú)誤后,軟件發(fā)出熔斷命令,熔斷熔絲2,完成IC卡的個(gè)人化進(jìn)程.隨后系統(tǒng)可對(duì)IC卡數(shù)據(jù)區(qū)需寫(xiě)入的數(shù)據(jù)作初始寫(xiě)入.
2.IC卡用戶(hù)應(yīng)用軟件流程
如前所述,此流程嵌于各IC卡讀寫(xiě)器的用戶(hù)軟件中.每次涉及對(duì)IC卡操作時(shí)執(zhí)行此流程.一旦IC卡插入讀寫(xiě)器,用戶(hù)軟件首先應(yīng)核對(duì)廠商代碼,發(fā)行商代碼,以確認(rèn)此卡的合法性.在確定是本系統(tǒng)中的有效卡后,進(jìn)入用戶(hù)密碼核對(duì)流程, 如果是無(wú)效卡,應(yīng)報(bào)警.接著在用戶(hù)密碼核對(duì)界面中對(duì)持卡人的合法性進(jìn)行鑒別. 要求持卡人鍵入用戶(hù)密碼,與卡上密碼核對(duì),無(wú)誤后可開(kāi)始對(duì)卡讀寫(xiě). 如有分區(qū)密碼也要求用戶(hù)鍵入核實(shí).如果需對(duì)卡上已有數(shù)據(jù)進(jìn)行修改,則應(yīng)與系統(tǒng)中保留的探險(xiǎn)密碼進(jìn)行核對(duì). 正確時(shí)可先讀出卡上數(shù)據(jù)進(jìn)行修改運(yùn)算,再擦除相應(yīng)存儲(chǔ)區(qū),最后將修改后數(shù)據(jù)寫(xiě)回該存儲(chǔ)區(qū).根據(jù)以上敘述,我們知道IC卡的合法性, 持卡人合法性和系統(tǒng)的合法性要相互確認(rèn).這些確認(rèn)和對(duì)IC卡的讀寫(xiě)操作均需調(diào)用隨IC 卡讀寫(xiě)器提供的函數(shù)庫(kù)中的函數(shù)來(lái)完成.