射頻 IC 卡 POS 機(jī)軟件設(shè)計
文章出處:http://www.luckydriving.com 作者:郭明超,饒增仁 人氣: 發(fā)表時間:2011年10月07日
1 引言
射頻IC卡,是一種非接觸式IC卡,它成功地將射頻識別技術(shù)和IC卡技術(shù)結(jié)合起來,解決了無源(IC卡中無電源)和免接觸這一難題,在卡片靠近讀寫器表面時,讀卡器即可完成對卡片數(shù)據(jù)的讀寫操作,射頻IC卡是電子器件領(lǐng)域的一大突破。
我國于1993年開始建立“金卡工程”,射頻IC卡技術(shù)隨之得到迅速發(fā)展和應(yīng)用。2004 年公安部門開始采用射頻IC卡換發(fā)第二代居民身份證,到2008年5 月份,全國累計已制發(fā)證件7. 75 億張。建設(shè)事業(yè)IC卡已廣泛應(yīng)用到城市公共交通、市政公用、數(shù)字社區(qū)以及燃?xì)?、自來水、供暖、路橋收費、停車場管理、公園景點等眾多領(lǐng)域,其中上海、廣州、杭州、大連等20多個城市實現(xiàn)了多領(lǐng)域應(yīng)用。北京市“交通一卡通”IC卡應(yīng)用始于2000年,截至2008年5月已累計發(fā)卡2050萬張。廣州發(fā)行“羊城通”850萬張。金融行業(yè)和全球銀行卡組織聯(lián)手推行銀行IC卡,即向EMV遷移。人民銀行牽頭進(jìn)一步完善我國金融IC卡標(biāo)準(zhǔn),積極探索銀行IC卡實現(xiàn)小額支付。
由此,作為射頻IC卡電子交易系統(tǒng)使用的POS機(jī)也得到迅速發(fā)展,但各IC卡機(jī)具廠家使用的軟件標(biāo)準(zhǔn)不統(tǒng)一,如何在POS機(jī)硬件標(biāo)準(zhǔn)統(tǒng)一的前提下,提供通用功能和標(biāo)準(zhǔn)接口的射頻卡POS機(jī)軟件系統(tǒng),以便POS產(chǎn)品通用,方便用戶,是我們要解決的問題之一。同時,隨著CPU射頻IC卡價格的降低,高安全性的CPU射頻IC卡將得到大量推廣,同時逐漸取代邏輯加密射頻IC卡,如何實現(xiàn)邏輯加密射頻IC卡系統(tǒng)向CPU卡系統(tǒng)平穩(wěn)過渡,又是一個技術(shù)上需要迫切解決的問題?;诖?我們提出了射頻IC卡POS機(jī)軟件升級設(shè)計的一些技術(shù)方案。
2 射頻IC卡POS 機(jī)軟件設(shè)計
2. 1 射頻IC卡POS 機(jī)軟件設(shè)計
2. 1. 1 POS機(jī)數(shù)據(jù)存儲信息
(1) POS參數(shù): POS機(jī)終端號、MAC號、軟件版本號、營業(yè)員號。
(2)交易流水信息表:物理卡號、卡片帳號、交易流水號、交易前金額、交易額、交易后金額、交易日期、卡片交易序號。
(3)帳戶黑白名表:卡片帳戶狀態(tài)表示,對掛失卡片做掛失標(biāo)志,對已解除掛失的卡片解除掛失標(biāo)志。
(4)設(shè)置卡片余額限額
設(shè)置個人帳戶的最大余額,設(shè)置單筆交易、日交易限額費,從而最大限度保護(hù)卡片帳戶人的利益,又作為系統(tǒng)異常交易漏洞的堵塞,如機(jī)具、卡片、通訊等異常帶來的不可預(yù)測的帳務(wù)問題。POS機(jī)對卡片余額、日交易限額進(jìn)行驗證。
2. 1. 2 信息安全管理
(1) POS機(jī)密鑰管理:要確保POS機(jī)合法使用,即只有使用該系統(tǒng)用戶的密鑰才能使用該POS機(jī),否則,系統(tǒng)拒絕接收該POS機(jī)的一切業(yè)務(wù)。為此,POS機(jī)需要專用SAM卡加密芯片,實現(xiàn)加密信息不出芯片,防止對數(shù)據(jù)加密前后的對比統(tǒng)計分析。
(2) POS機(jī)交易流水的合法性保存、傳輸、接收。在POS機(jī)內(nèi)保存的交易流水,要確保交易流水是可信的,不能偽造。POS機(jī)對交易流水進(jìn)行MAC校驗,確保存儲的交易流水?dāng)?shù)據(jù)是POS機(jī)正常生成的。
2. 1. 3 數(shù)據(jù)通訊管理
(1)將POS機(jī)采集的數(shù)據(jù)上傳到計算機(jī),對重復(fù)、超時未應(yīng)答報文,都要做相應(yīng)處理,防止交易流水丟失和重傳。
①POS機(jī)設(shè)置交易序列號
為記錄電子交易記錄的先后順序,除POS機(jī)增加時鐘記錄交易時間外,在卡片中要設(shè)計卡片交易序列號, POS機(jī)設(shè)計要記錄該筆交易的卡片序列號,準(zhǔn)確反映卡片交易順序。同時,每臺POS機(jī)內(nèi)記錄所有交易的流水序列。
②POS機(jī)交易上傳記錄
POS機(jī)內(nèi)存儲的交易記錄采用隊列形式存儲,確保按交易順序上傳記錄,同時POS機(jī)具有查看未上傳電子交易記錄筆數(shù)、未上傳金額的功能。在系統(tǒng)交易監(jiān)控計算機(jī)上有聯(lián)機(jī)日志和最近交易流水信息,以準(zhǔn)確判斷數(shù)據(jù)回收情況。
(2)通訊接口采用8583報文,通訊采用面向連接的TCP / IP協(xié)議、使用CRC校驗數(shù)據(jù)。
(3)物理通訊線路的通訊測試對POS機(jī)物理通訊傳輸狀況進(jìn)行模擬測試,便 于維護(hù)檢修。
2. 1. 4 報文信息的分類管理
POS機(jī)報文可分成交易流水、帳戶黑白名單、軟件版本更新、密鑰更新、模擬測試等幾類,針對不同的報文類別,執(zhí)行不同的交互處理。如,對POS機(jī)軟件的在線下載功能,通過軟件下載報文類別,結(jié)合POS機(jī)安全管理權(quán)限,可以實現(xiàn)軟件的在線升級服務(wù)。
2. 2 射頻IC卡系統(tǒng)帳務(wù)管理設(shè)計
一卡通系統(tǒng)卡片和系統(tǒng)上各有一套帳務(wù),必然會存在兩套帳務(wù)不一致問題,設(shè)計采用以系統(tǒng)帳戶余額為準(zhǔn),卡片上余額只作為防止系統(tǒng)賬戶余額透支使用,卡片余額都小于等于系統(tǒng)帳戶余額,為此,需要采用下列技術(shù)保證系統(tǒng)帳務(wù)公平合理。
2. 2. 1 營業(yè)交易采用先寫卡后寫POS機(jī)方式
在進(jìn)行電子交易時,先寫卡片數(shù)據(jù),后寫POS機(jī)數(shù)據(jù)。由于存在寫卡時間差,可能會造成卡片數(shù)據(jù)已寫上、POS機(jī)數(shù)據(jù)沒寫上,但卡片已移出卡片感應(yīng)區(qū)的情況。系統(tǒng)設(shè)計按照卡片余額減少時始終先進(jìn)行寫卡操作,消費交易不成功按沒有交易結(jié)算處理。POS機(jī)交易沒成功,系統(tǒng)按沒有發(fā)生交易處理,即按商戶沒有收到交易款項處理,這種情況下會出現(xiàn)卡片余額小于系統(tǒng)個人帳戶余額情況。同時,對于寫卡不成功情況,在POS機(jī)上有未成功標(biāo)識。
(1)帳戶充值采用先寫數(shù)據(jù)庫后寫卡片方式在給帳戶增款時,先寫數(shù)據(jù)庫,數(shù)據(jù)庫操作成功,再寫POS機(jī),最后寫卡,即使寫卡不成功,出現(xiàn)單邊帳,可以通過沖正業(yè)務(wù)完成,不會造成卡片余額大于系統(tǒng)帳戶余額。
(2)設(shè)置交易流水回收周期
設(shè)置交易流水回收周期的目的,是確保在一定日期內(nèi)所有POS機(jī)的交易數(shù)據(jù)都及時上傳至電子交易系統(tǒng)?;厥罩芷趦?nèi)商戶必須保證POS與數(shù)據(jù)庫聯(lián)機(jī)通訊,并保證POS提交完畢所有交易流水。持卡人卡片丟失要及時掛失,在申請掛失之時到回收周期結(jié)束,持卡人發(fā)生的消費額由持卡人承擔(dān),回收周期之后,商戶未及時上傳交易流水,造成的損失由商戶承擔(dān)。
(3)保證商戶營業(yè)數(shù)據(jù)及時上傳
系統(tǒng)要具備POS機(jī)未上傳營業(yè)數(shù)據(jù)檢查功能。如果POS數(shù)據(jù)一直不上傳,商戶要聯(lián)系一卡通系統(tǒng)維護(hù)人員,檢查通訊線路,確保通訊暢通,確保黑名單及時下載到POS機(jī),避免給自己造成損失。
(4)換卡操作需要申請,在數(shù)據(jù)回收周期過后才能修卡和換卡
由于存在著卡片丟失或卡片寫壞情況,需要把系統(tǒng)內(nèi)該卡片賬戶余額轉(zhuǎn)到新卡片上或?qū)ㄆ囝~進(jìn)行修復(fù),必須要等到回收周期內(nèi)數(shù)據(jù)都上傳后再進(jìn)行修卡和換卡操作,否則該持卡人換卡或修卡前產(chǎn)生的電子交易流水無法記賬,給商戶帶來損失。為此,可以給修卡人或換卡人發(fā)行應(yīng)急卡,應(yīng)急卡不記名,不掛失,不修卡,不退款。
2. 3 CPU卡PO S 機(jī)和邏輯加密射頻卡PO S 機(jī)兼容技術(shù)
2. 3. 1 CPU 卡POS機(jī)內(nèi)PSAM卡的文件結(jié)構(gòu)
CPU卡POS機(jī)內(nèi)PSAM卡的文件結(jié)構(gòu)在符合
建設(shè)事業(yè)集成電路( IC)卡產(chǎn)品檢測行業(yè)標(biāo)準(zhǔn)前提下,這些文件建立后能兼容目前通用一卡通系統(tǒng)的密鑰結(jié)構(gòu),采用密鑰卡下裝,原來存儲在SAM卡中的營業(yè)號( SAM卡號)和黑名單最大號存儲到EF16(0016) (終端信息文件)中。交易終端的PSAM卡文件結(jié)構(gòu),如圖1所示。
2. 3. 2 POS機(jī)自動識別邏輯加密卡和CPU卡功能為了能夠兼容CPU卡和Mifare1卡,必須增加針對CPU卡操作的代碼,并且在卡片進(jìn)入POS機(jī)的刷卡感應(yīng)區(qū)時,能自動識別是CPU 卡還是Mifare1卡。針對不同的卡片,調(diào)用不同的程序,達(dá)到兼容的目的。
3 結(jié)束語
基于上述設(shè)計思想建立的邏輯加密射頻IC卡(MIFARE ONE IC S50) POS機(jī)與電子交易系統(tǒng),已在全國上百個單位運行使用,使用情況良好。該設(shè)計同樣適用于M IFARE ONE IC S70射頻卡及其兼容卡電子交易系統(tǒng)。射頻IC邏輯加密IC卡電子交易系統(tǒng)與只讀ID卡電子交易系統(tǒng)相比,最大優(yōu)點是POS機(jī)可以脫機(jī)工作,卡片不會透支,適用面廣。但在存款、帳戶補(bǔ)貼、卡片掛失功能上,不如射頻ID卡電子交易系統(tǒng)方便。以上介紹的射頻CPU IC卡POS機(jī)的應(yīng)用推廣,將完成對現(xiàn)有射頻邏輯加密IC卡系統(tǒng)的平穩(wěn)升級過渡。
(文/蘭州大學(xué)信息科學(xué)與工程學(xué)院,郭明超,饒增仁)