專利名稱:實(shí)現(xiàn)脫機(jī)記錄操作的方法、記錄裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子支付應(yīng)用技術(shù)領(lǐng)域,特別涉及到實(shí)現(xiàn)脫機(jī)記錄操作的方法以及進(jìn)行脫機(jī)記錄操作所使用的記錄裝置和系統(tǒng)。
背景技術(shù):
在很多消費(fèi)領(lǐng)域,積分獎(jiǎng)勵(lì)是廣泛采用的促銷方式之一。目前,發(fā)放給用戶使用的積分憑證主要有記錄積分值的記錄裝置,例如積分IC卡,及積分禮券兩種類型。
在使用積分IC卡作為積分憑證時(shí),發(fā)卡方需要為用戶發(fā)放一張IC卡,并在所述IC卡上記錄唯一的卡號(hào)信息。除此之外,發(fā)卡方還需要在自身的服務(wù)器中為每張IC卡建立一個(gè)對(duì)應(yīng)的賬戶,用于記錄每張IC卡對(duì)應(yīng)的積分信息,例如積分的總數(shù)等等。在用戶通過連接到所述服務(wù)器的終端進(jìn)行積分操作時(shí),例如進(jìn)行加積分操作或減積分操作時(shí),終端首先根據(jù)IC卡上的卡號(hào)信息,從服務(wù)器讀取所述卡號(hào)對(duì)應(yīng)的賬戶記錄的積分信息,并對(duì)讀取的積分信息進(jìn)行處理,例如對(duì)所記錄的總積分增加或減少一定數(shù)額的積分等等;在處理完畢后,終端會(huì)將處理結(jié)果顯示給用戶,同時(shí)更新服務(wù)器中該IC卡所對(duì)應(yīng)賬戶記錄的積分信息。
從上述操作過程可以看出,終端需要與服務(wù)器實(shí)時(shí)聯(lián)網(wǎng)才能實(shí)現(xiàn)所述加積分或減積分等操作。在終端分布比較集中的情況下,這種實(shí)時(shí)聯(lián)網(wǎng)是很容易實(shí)現(xiàn)的。然而,隨著經(jīng)營(yíng)規(guī)模的發(fā)展,終端分布得非常分散的情況已變得非常普遍,例如需要在某個(gè)城市內(nèi)或全國(guó)范圍內(nèi)實(shí)現(xiàn)連鎖經(jīng)營(yíng)時(shí),終端就需要廣泛地分布于某個(gè)城市內(nèi)的各個(gè)地區(qū)或各個(gè)城市,這樣,在終端與服務(wù)器之間實(shí)現(xiàn)實(shí)時(shí)聯(lián)網(wǎng)將會(huì)造成非常高的運(yùn)營(yíng)成本。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)脫機(jī)記錄操作的方法,可以在脫機(jī)的終端上對(duì)記錄裝置上記錄的記錄值進(jìn)行操作,極大地降低了運(yùn)營(yíng)的成本。
本發(fā)明還提供了在脫機(jī)記錄操作中所使用的記錄裝置,使用這種記錄裝置可以在脫機(jī)的終端上對(duì)自身所記錄的記錄值進(jìn)行操作,從而可以極大地降低運(yùn)營(yíng)成本。
除此之外,本發(fā)明還提供了一種實(shí)現(xiàn)脫機(jī)記錄操作的系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明所述實(shí)現(xiàn)脫機(jī)記錄操作的方法,包括A、設(shè)置用于存儲(chǔ)脫機(jī)操作記錄的操作記錄表,所述脫機(jī)操作記錄包括操作序號(hào)、操作類型以及記錄值;B、在接收到記錄操作指令后,為本次記錄操作生成唯一的操作序號(hào),并根據(jù)所接收的記錄操作指令,在所述操作記錄表中增加一條脫機(jī)操作記錄,在其中記錄所生成的操作序號(hào)以及根據(jù)所接收記錄操作指令獲得的操作類型以及記錄值。
其中,步驟B所述的記錄操作指令為攜帶加記錄值的加記錄操作指令;所述脫機(jī)操作記錄為加記錄,其中,記錄的操作類型為加記錄操作,記錄值為所述加記錄值。
所述加記錄操作指令進(jìn)一步攜帶本次加記錄操作的時(shí)間;步驟B進(jìn)一步包括在所述加記錄中記錄所述加記錄操作的時(shí)間。
所述加記錄操作指令進(jìn)一步攜帶進(jìn)行本次加記錄操作的終端所使用加記錄認(rèn)證安全模塊的標(biāo)識(shí)以及該加記錄認(rèn)證安全模塊的操作序號(hào);步驟B進(jìn)一步包括在所述加記錄中記錄所述加記錄認(rèn)證安全模塊的標(biāo)識(shí)以及該加記錄認(rèn)證安全模塊的操作序號(hào)。
其中,步驟B所述記錄操作指令為減記錄操作指令,其中攜帶減記錄值總數(shù)、消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值;所述脫機(jī)操作記錄為減記錄,其中,記錄的操作類型為減記錄操作,記錄值包括所述減記錄值總數(shù)、消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值。
所述方法在步驟B之后進(jìn)一步包括根據(jù)新增加的減記錄,將所述操作記錄表中從所述消分頭操作序號(hào)所標(biāo)識(shí)的操作記錄到所述消分尾操作序號(hào)所標(biāo)識(shí)的操作記錄之前的操作記錄均標(biāo)記為無效。
在步驟B之前進(jìn)一步包括進(jìn)行減記錄操作的終端讀取記錄裝置上的操作記錄表,并根據(jù)所述操作記錄表中存儲(chǔ)的操作記錄以及本次減記錄操作的減記錄值總數(shù)計(jì)算得到本次減記錄操作的消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值。
所述計(jì)算包括在所述操作記錄表中找到上一條減記錄,將該記錄的消分尾操作序號(hào)作為本次減記錄的消分頭操作序號(hào);如果不存在上一條減記錄,則將第一個(gè)加記錄的操作序號(hào)作為本次減記錄操作的消分頭操作序號(hào);根據(jù)本次減記錄操作的減記錄值總數(shù)找到本次減記錄操作的消分尾操作記錄,得到當(dāng)前減記錄的消分尾操作序號(hào),并計(jì)算出當(dāng)前減記錄的消分尾操作剩余記錄值,使得消分頭操作序號(hào)一直到消分尾操作序號(hào)中各條有效加記錄的記錄值總數(shù)為所述減記錄值總值與消分尾記錄中的消分尾操作剩余記錄值的和。
所述方法在步驟B接收到減記錄操作指令后進(jìn)一步包括C1、檢查自身操作記錄表中是否存在所述消分頭操作序號(hào)以及消分尾操作序號(hào)所對(duì)應(yīng)的操作記錄,如果存在,則繼續(xù)執(zhí)行步驟C2,否則,向終端返回未找到記錄的錯(cuò)誤信息,然后結(jié)束;C2、檢查自身操作記錄表中所述消分頭操作序號(hào)和消分尾操作序號(hào)之間的有效加記錄中的記錄值總數(shù)是否大于或等于所述減記錄值總數(shù)與消分尾操作序號(hào)剩余記錄值之和,如果是,則繼續(xù)執(zhí)行步驟B,否則,向終端返回額度不足的錯(cuò)誤信息,然后結(jié)束。
上述判斷所述加記錄是否有效的方法為a、根據(jù)所述加記錄的操作時(shí)間以及所述加記錄的有效期判斷該加記錄是否在有效期內(nèi),如果在有效期內(nèi),則執(zhí)行步驟b,否則,所述加記錄為無效的加記錄;b、判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的標(biāo)識(shí)是否為自身所保存的無效加記錄值認(rèn)證安全模塊黑名單中的加記錄值認(rèn)證安全模塊,如果是,則執(zhí)行步驟c,否則,所述加記錄為有效的加記錄;c、判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的操作序號(hào)是否大于所述黑名單中記錄的該加記錄值認(rèn)證安全模塊最后一次有效的操作序號(hào),如果大于,則所述加記錄為無效的加記錄;否則,所述加記錄為有效的加記錄。
所述方法進(jìn)一步包括D、在接收到讀取操作記錄表指令后,提取所述操作記錄表所保存的操作記錄,并將提取的操作記錄表返回發(fā)送讀取記錄表指令的終端。
所述方法進(jìn)一步包括E、在接收到攜帶有將被無效的操作記錄的操作序號(hào)的記錄無效指令后,在自身的操作記錄表中查找與所述無效記錄值指令中所攜帶的操作序號(hào)匹配的記錄,并將記錄標(biāo)記為無效。
步驟C進(jìn)一步包括根據(jù)自身生成的與本次操作對(duì)應(yīng)的過程密鑰生成一報(bào)文驗(yàn)證碼和/或操作簽名,并與所述處理結(jié)果一起返回所述終端。若用于保存所述操作記錄表的記錄裝置被突然從進(jìn)行記錄操作的終端拔出,所述方法在所述記錄裝置被重新插入,并經(jīng)終端驗(yàn)證所插入的記錄裝置與之前拔出的記錄裝置為同一記錄裝置后進(jìn)一步包括接收來自所述終端的取操作認(rèn)證指令,并將最新生成的報(bào)文驗(yàn)證碼和/或操作簽名返回給所述終端,完成本次記錄操作。
根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種實(shí)現(xiàn)脫機(jī)記錄操作的記錄裝置,包括指令解析模塊,用于接收來自終端的指令,并對(duì)所接收的指令進(jìn)行解析,得到相應(yīng)的記錄操作指令及參數(shù),發(fā)送到所述記錄操作模塊;還用于根據(jù)來自記錄操作模塊的記錄操作處理結(jié)果生成響應(yīng)信息,并反饋給所述終端;記錄操作模塊,用于根據(jù)來自終端的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理,并將處理結(jié)果返回所述終端。
本發(fā)明所述記錄裝置進(jìn)一步包括連接在所述記錄操作模塊及指令解析模塊之間的安全和狀態(tài)管理模塊,用于接收來自指令解析模塊的記錄操作指令及參數(shù),判斷所接收的指令是否滿足預(yù)先設(shè)定的安全和狀態(tài)條件,如果滿足,則將所接收的記錄操作指令及參數(shù)發(fā)送到記錄操作模塊;否則,返回錯(cuò)誤信息給指令解析模塊,結(jié)束本次記錄操作。
上述記錄裝置由集成電路卡實(shí)現(xiàn)。
根據(jù)本發(fā)明的又一方面,本發(fā)明還提供了一種實(shí)現(xiàn)脫機(jī)記錄操作的系統(tǒng),包括終端,用于生成記錄操作指令并發(fā)送到記錄裝置;以及記錄裝置,用于接收來自終端的記錄操作指令,并根據(jù)所接收的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理。
本發(fā)明所述的系統(tǒng)進(jìn)一步包括連接到所述終端的服務(wù)器,用于監(jiān)控所述終端的工作狀態(tài),維護(hù)一張用于記錄無效終端的黑名單,并定時(shí)將所述黑名單下發(fā)給有效的終端。
由此可以看出,通過在所述記錄裝置上設(shè)置記錄每次記錄操作明細(xì)的操作記錄表,本發(fā)明所提供的實(shí)現(xiàn)脫機(jī)記錄操作的方法、記錄裝置以及系統(tǒng)可以根據(jù)記錄裝置中所記錄的歷史的操作記錄實(shí)現(xiàn)對(duì)記錄值的操作,從而完全解決現(xiàn)有無法通過脫機(jī)終端對(duì)進(jìn)行記錄值進(jìn)行操作的問題,并極大地降低了運(yùn)營(yíng)成本。
此外,通過定期向終端下發(fā)記錄有無效加記錄認(rèn)證安全模塊的黑名單的方式實(shí)現(xiàn)對(duì)無效終端的管理,可以避免由于使用無效的終端對(duì)記錄裝置進(jìn)行任意非法加記錄操作對(duì)發(fā)卡方所造成的經(jīng)濟(jì)損失,從而保證了記錄操作的安全性,并充分保障了發(fā)卡方的利益。
圖1為本發(fā)明所述記錄裝置的內(nèi)部結(jié)構(gòu)示意圖;圖2為本發(fā)明優(yōu)選實(shí)施例1所述的加記錄操作流程圖;圖3為本發(fā)明優(yōu)選實(shí)施例2所述的減記錄操作流程圖;圖4為本發(fā)明優(yōu)選實(shí)施例3所述的記錄無效操作流程圖。
具體實(shí)施例方式
為使發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
本發(fā)明的核心思想在于,發(fā)卡方在發(fā)放給用戶的記錄裝置上設(shè)置記錄加、減記錄操作明細(xì)的操作記錄表,并且在用戶使用記錄裝置進(jìn)行加、減記錄等操作時(shí),記錄裝置將在所述操作記錄表中記錄本次操作的操作明細(xì),例如,在加記錄操作成功后,記錄裝置將在自身的操作記錄表中生成一條加記錄,用于記錄本次加記錄操作所增加的記錄值等等信息;而在減記錄操作成功后,在自身的操作記錄表中生成一條減記錄,用于記錄本次減記錄操作的所減少的記錄值等等信息。這樣,每次進(jìn)行減記錄操作時(shí),進(jìn)行減記錄的終端就可以根據(jù)記錄裝置上存放的歷史操作記錄計(jì)算得到該用戶實(shí)際的總記錄值,并進(jìn)行相應(yīng)的減記錄操作。
本發(fā)明所述的記錄裝置在積分應(yīng)用領(lǐng)域中就可以表示為用于記錄積分的積分卡,而記錄值就可以表示為可以進(jìn)行積分消費(fèi)的積分值。
在上述這種方法中,由于記錄裝置自身攜帶了自身歷史上每次操作的操作明細(xì),因而對(duì)記錄值進(jìn)行操作的終端無需連接到服務(wù)器的數(shù)據(jù)庫(kù),就可以獲得該記錄裝置的實(shí)際總記錄值,因而可以方便地實(shí)現(xiàn)加、減記錄操作,從而極大地降低運(yùn)營(yíng)成本。
基于上述核心思想,本發(fā)明提供了一種記錄裝置,這種記錄裝置的內(nèi)部結(jié)構(gòu)如圖1所示,主要包括指令解析模塊101、安全和狀態(tài)管理模塊102以及記錄操作模塊103。
其中,指令解析模塊101一方面用于對(duì)來自終端的指令進(jìn)行解析,得到各種操作的相關(guān)指令以及相應(yīng)的參數(shù),例如加記錄指令或減記錄指令以及相應(yīng)的加記錄值或減記錄值參數(shù)等等;另一方面,用于根據(jù)來自記錄操作模塊103的記錄操作結(jié)果或來自安全和狀態(tài)管理模塊102的錯(cuò)誤信息生成所接收指令的響應(yīng)信息反饋給所述終端;安全和狀態(tài)管理模塊102用于對(duì)經(jīng)過指令解析模塊101解析得到的記錄操作指令及相應(yīng)參數(shù)進(jìn)行判斷,判斷所接收的指令是否滿足預(yù)先設(shè)定的相應(yīng)的安全和狀態(tài)條件,從而判斷終端的合法性,如果滿足相應(yīng)的條件,則將相應(yīng)的記錄操作指令及相關(guān)參數(shù)發(fā)送到記錄操作模塊103;否則,返回相應(yīng)地錯(cuò)誤信息給指令解析模塊101;記錄操作模塊103用于根據(jù)所接收的記錄操作指令以及相應(yīng)參數(shù)對(duì)自身的操作記錄表進(jìn)行處理,并返回相應(yīng)地處理結(jié)果給所述指令解析模塊101。
在這里,所述的對(duì)自身的操作記錄表進(jìn)行處理對(duì)應(yīng)于所接收記錄操作指令,例如,若接收到的記錄操作指令是加記錄或減記錄指令,則所述處理為根據(jù)所接收的相應(yīng)參數(shù)生成一條操作記錄,并保存在自身的操作記錄表中;若接收到的記錄操作指令是讀操作記錄指令,則所述處理為將自身保存的操作記錄表返回指令解析模塊101;若所接收的記錄操作指令是記錄無效指令,則所述處理為根據(jù)相應(yīng)的參數(shù)將操作記錄表中的某一記錄標(biāo)記為無效。
在上述記錄裝置的三個(gè)組成模塊中,安全和狀態(tài)管理模塊102是可選的,指令解析模塊101在解析得到記錄操作指令以及相應(yīng)的參數(shù)后,可以直接將所述記錄操作指令以及相應(yīng)參數(shù)發(fā)送到記錄操作模塊103,而不對(duì)終端的合法性進(jìn)行檢查,也可以實(shí)現(xiàn)脫機(jī)記錄操作的目的。
如前所述,在進(jìn)行加、減記錄操作的時(shí)候,記錄裝置均要根據(jù)本次操作的明細(xì)生成操作記錄,包括加記錄以及減記錄,并保存在自身的操作記錄表中。
其中,所述加記錄應(yīng)當(dāng)至少包括操作類型、記錄值以及操作序號(hào)等數(shù)據(jù)項(xiàng),其中,操作類型用于標(biāo)識(shí)本次操作是加記錄操作;記錄值用于記錄在本次加記錄操作中增加的記錄值的數(shù)值;操作序號(hào)用于記錄本次加記錄操作的序號(hào)。對(duì)應(yīng)于一個(gè)記錄裝置,每次加記錄或減記錄操作都具有唯一的操作序號(hào)。
在通常情況下,為了促進(jìn)記錄值的使用,發(fā)卡方還會(huì)為每次操作獲得的記錄值設(shè)置一個(gè)使用有效期,用戶僅可以在記錄值的有效期內(nèi)使用所述記錄值。這時(shí),在本發(fā)明所述的方法中,還需要在每個(gè)加記錄中記載本次加記錄操作的操作時(shí)間。這樣,在用戶進(jìn)行記錄值消費(fèi)的時(shí)候,終端就可以根據(jù)各條加記錄的操作時(shí)間,從而判斷各條加記錄所記錄的記錄值是否仍在有效期內(nèi),并將超過有效期的加記錄標(biāo)記為無效的加記錄,從而避免用戶使用已過期記錄值,充分地保障了發(fā)卡方的利益。
另外,由于本發(fā)明所述方法可以在脫機(jī)的終端上實(shí)現(xiàn)對(duì)記錄值的操作,因此,為了避免非法使用者使用無效的(例如,盜取的)終端對(duì)記錄裝置進(jìn)行隨意的加記錄操作,本發(fā)明所述的方法還需要能夠?qū)o效的終端進(jìn)行管理。
為了對(duì)無效的終端進(jìn)行管理,發(fā)卡方需要建立一個(gè)服務(wù)器對(duì)所有終端進(jìn)行管理,當(dāng)服務(wù)器發(fā)現(xiàn)某個(gè)終端中用于進(jìn)行加記錄安全管理的加記錄認(rèn)證安全模塊失效時(shí),例如被盜用時(shí),服務(wù)器將在自身管理的一張黑名單中記錄該加記錄認(rèn)證安全模塊的標(biāo)識(shí)(ID)以及該加記錄認(rèn)證安全模塊最后一次有效加記錄操作的操作序號(hào),并且,服務(wù)器還會(huì)定時(shí)將所述黑名單下發(fā)到各個(gè)終端。這樣一來,每個(gè)終端都將保存一張記錄無效加記錄認(rèn)證安全模塊的黑名單,該黑名單記錄著每個(gè)無效的加記錄認(rèn)證安全模塊的ID及其最后一次有效加記錄操作的操作序號(hào)。除此之外,為了判斷一條加記錄是否為由無效的終端進(jìn)行的,還需要在所述操作記錄表的每條加記錄中增加加記錄認(rèn)證安全模塊的ID以及該加記錄認(rèn)證安全模塊的操作序號(hào)兩個(gè)數(shù)據(jù)項(xiàng)。如此得到的加記錄中所包含的數(shù)據(jù)項(xiàng)以及每個(gè)數(shù)據(jù)項(xiàng)的具體含義將如表1所示
表1通過使用上述加記錄,在用戶對(duì)記錄值進(jìn)行操作的時(shí)候,用于減記錄值的終端在讀取記錄裝置中記錄的所有加記錄后,就可以判斷出各個(gè)加記錄是否為無效的加記錄。具體判斷方法包括首先,根據(jù)所述加記錄的操作時(shí)間判斷所述加記錄中的記錄值是否已經(jīng)超過有效期,如果已經(jīng)超過有效期,則該加記錄為無效的加記錄;否則,進(jìn)一步判斷該加記錄中的加記錄認(rèn)證安全模塊ID是否在自身所保存黑名單中,如果是,再判斷該加記錄中的加記錄認(rèn)證安全模塊的操作序號(hào)是否大于黑名單中所記錄的該加記錄認(rèn)證安全模塊最后一次有效加記錄操作的操作序號(hào),如果大于,則該加記錄為無效的加記錄;在其他情況下,該加記錄均為有效的加記錄。這樣,在本發(fā)明所述的方法中,終端在進(jìn)行減記錄操作時(shí),就可以不計(jì)算無效加記錄的記錄值,僅計(jì)算有效加記錄所記錄的記錄值,從而避免使用無效加記錄認(rèn)證安全模塊對(duì)記錄裝置進(jìn)行非法加記錄操作的情況出現(xiàn)。
在上述技術(shù)方案中,終端無需與所述服務(wù)器進(jìn)行實(shí)時(shí)聯(lián)網(wǎng),僅需要定期連接到服務(wù)器上以更新所述黑名單,這種定期的數(shù)據(jù)更新比較容易實(shí)現(xiàn),并且不會(huì)對(duì)運(yùn)營(yíng)成本帶來較大的提高。
所述減記錄應(yīng)當(dāng)至少包括操作類型、記錄值、消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值等數(shù)據(jù)項(xiàng)。其中,操作類型用于標(biāo)識(shí)當(dāng)前所記錄的操作是減記錄操作;記錄值用于記錄在本次減記錄操作中扣除的記錄值的數(shù)值;消分頭操作序號(hào)用于表示本次減記錄操作是從哪一個(gè)加記錄開始扣除記錄值的;消分尾操作序號(hào)用于表示本次減記錄操作扣除到哪一個(gè)加記錄;而消分尾操作剩余記錄值則用于表示在扣除本次消費(fèi)的記錄值后,由消分尾操作序號(hào)標(biāo)識(shí)的加記錄剩余的記錄值。所述減記錄中所包含的數(shù)據(jù)項(xiàng)以及每個(gè)數(shù)據(jù)項(xiàng)的具體含義如表2所示
表2在減記錄的操作過程中,首先終端從記錄裝置最早有效的頭記錄開始,將各條記錄中的記錄值匯總,計(jì)算出該記錄裝置實(shí)際記錄值的總值,并判斷所計(jì)算的總值是否大于用戶所要消費(fèi)的記錄值,如果小于,則提示用戶記錄值不足,無法繼續(xù)本次減記錄操作;否則,找到上一條減記錄,將其中記錄的消分尾操作序號(hào)作為本次減記錄操作記錄的消分頭操作序號(hào);如果不存在上一條減記錄,則將第一個(gè)有效的加記錄的操作序號(hào)作為本次減記錄操作的消分頭操作序號(hào);然后根據(jù)本次消費(fèi)的記錄值找到本次減記錄操作的消分尾操作記錄,得到當(dāng)前減記錄的消分尾操作序號(hào),并計(jì)算得到當(dāng)前減記錄的消分尾操作剩余記錄值;在此之后,還需要將所述消分頭操作序號(hào)一直到消分尾操作序號(hào)之前的各條加記錄標(biāo)注為無效記錄。其中,消分頭操作序號(hào)一直到消分尾操作序號(hào)中各條加記錄的記錄值總數(shù)為本次消費(fèi)的記錄值與消分尾記錄中的消分尾操作剩余記錄值的和。剩余的記錄值可以在下次扣減的時(shí)候視情況繼續(xù)有效。為了更加有效地利用記錄裝置的存儲(chǔ)空間,在本次減記錄操作過程中被標(biāo)識(shí)為無效的加記錄,可以被再用來存儲(chǔ)后續(xù)生成的操作記錄。
為了實(shí)現(xiàn)脫機(jī)的記錄操作,本發(fā)明還提供了應(yīng)用上述記錄裝置進(jìn)行脫機(jī)記錄操作的系統(tǒng),主要包括終端及記錄裝置。其中,所述終端主要用于生成記錄操作指令并發(fā)送到所述記錄裝置;所述記錄裝置主要用于接收來自終端的記錄操作指令,并根據(jù)所接收的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理。
如上所述,為了避免非法使用者使用無效的終端對(duì)記錄裝置進(jìn)行隨意的加記錄操作,本發(fā)明所述的系統(tǒng)還應(yīng)當(dāng)包括對(duì)無效的終端進(jìn)行管理的服務(wù)器。所述服務(wù)器用于定時(shí)檢查各個(gè)終端中用于進(jìn)行加記錄安全管理的加記錄認(rèn)證安全模塊的狀態(tài),維護(hù)一張用于記錄無效加記錄認(rèn)證安全模塊的黑名單,服務(wù)器還會(huì)定時(shí)將所述黑名單下發(fā)到各個(gè)終端。所述黑名單中記錄著無效加記錄認(rèn)證安全模塊的標(biāo)識(shí)(ID)以及該加記錄認(rèn)證安全模塊最后一次有效加記錄操作的操作序號(hào)。
在本發(fā)明所述的系統(tǒng)中,所述服務(wù)器無需實(shí)時(shí)連接到所有的終端,僅在預(yù)先約定的時(shí)刻將自身維護(hù)的黑名單下發(fā)到各個(gè)終端即可。這種非實(shí)時(shí)的聯(lián)網(wǎng)是很容易實(shí)現(xiàn)的,而且也不會(huì)對(duì)系統(tǒng)的運(yùn)營(yíng)成本造成很大的影響。
下面通過本發(fā)明的優(yōu)選實(shí)施例以集成電路(IC)卡作為所述記錄裝置為例詳細(xì)說明利用IC卡中的操作記錄表進(jìn)行各種記錄操作的方法。
實(shí)施例1,加記錄操作。
加記錄操作允許持卡人在IC卡中增加記錄值。所述加記錄操作必須使用位于加記錄值終端內(nèi)部的加記錄認(rèn)證安全模塊對(duì)進(jìn)行加記錄值的IC卡進(jìn)行檢驗(yàn),并在驗(yàn)證通過后,才能進(jìn)行加記錄操作。具體過程如圖2所示,包括以下步驟步驟201終端向IC卡發(fā)送加記錄初始化(INITIALIZE FORROYALTY CREDIT)指令啟動(dòng)加記錄操作。
所述INITIALIZE FOR ROYALTY CREDIT指令用于初始化加記錄操作,其指令報(bào)文所包含的各個(gè)域見表3。所述INITIALIZE FORROYALTY CREDIT指令報(bào)文的數(shù)據(jù)域見表4。該INITIALIZE FORROYALTY CREDIT指令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)域見表5。該INITIALIZE FOR ROYALTY CREDIT指令執(zhí)行成功的響應(yīng)報(bào)文的狀態(tài)碼是“9000”。如果執(zhí)行不成功,則僅需要在其響應(yīng)報(bào)文中回送SW1和SW2。表6描述了IC卡可能回送的錯(cuò)誤狀態(tài)。
表3其中,CLA表示當(dāng)前指令所屬的指令集;INS表示當(dāng)前指令的指令碼;P1和P2分別表示指令碼結(jié)束的參考值;Lc表示當(dāng)前指令后續(xù)字段的長(zhǎng)度;Le表示響應(yīng)消息的長(zhǎng)度。這些字段的定義以及取值符合IC卡國(guó)際規(guī)范ISO 7816的規(guī)定。
表4
表5
表6步驟202所述IC卡在收到INITIALIZE FOR ROYALTY CREDIT指令后,處理該指令,得到第一報(bào)文驗(yàn)證碼MAC1,并將所述第一報(bào)文驗(yàn)證碼MAC1通過INITIALIZE FOR ROYALTY CREDIT指令的響應(yīng)報(bào)文發(fā)送給所述終端。
本步驟所述處理具體包括
步驟2021檢查所述IC卡的操作記錄表中是否能寫入新的記錄,如果不能,則向所述終端返回指令不接受的狀態(tài)碼“6901”,且不返回其他數(shù)據(jù),然后結(jié)束;否則,執(zhí)行步驟2022。
步驟2022檢查自身是否支持所述INITIALIZE FOR ROYALTYCREDIT指令中包含的密鑰索引,如果不支持,則返回不支持密鑰索引的狀態(tài)碼“9403”,且不返回其他數(shù)據(jù),然后結(jié)束;否則,執(zhí)行步驟2023。
步驟2023所述IC卡產(chǎn)生一個(gè)偽隨機(jī)數(shù)ICC、一個(gè)過程密鑰SESDK以及所述第一報(bào)文驗(yàn)證碼MAC1,供所述終端中的加記錄認(rèn)證安全模塊來驗(yàn)證該IC卡的合法性。
其中,所述過程密鑰SESCK將被用于加密IC卡的加記錄操作,它按照算式SESCK=3DES(3DES(DCK,DATA1),DATA2)產(chǎn)生,其中,DCK是存放在IC卡內(nèi)部的加記錄密鑰,DATA1數(shù)據(jù)包括偽隨機(jī)數(shù)ICC、加記錄操作序號(hào)和8000,DATA2數(shù)據(jù)包括加記錄認(rèn)證安全模塊的ID;3DES是指3倍長(zhǎng)的DES運(yùn)算。
在本步驟中,所述IC卡將過程密鑰SESCK依次作用于以下數(shù)據(jù)計(jì)算得到所述第一報(bào)文驗(yàn)證碼MAC1——加記錄操作序號(hào);——加記錄操作類型標(biāo)識(shí)。
步驟203在收到INITIALIZE FOR ROYALTY CREDIT指令的響應(yīng)報(bào)文后,所述終端將發(fā)送加記錄許可請(qǐng)求報(bào)文到加記錄認(rèn)證模塊,并在所述加記錄許可請(qǐng)求報(bào)文中攜帶第一報(bào)文驗(yàn)證碼MAC1。
在該步驟中,如果IC卡返回的INITIALIZE FOR ROYALTYCREDIT指令的響應(yīng)報(bào)文中攜帶的狀態(tài)碼不是“9000”,則說明IC卡返回了錯(cuò)誤狀態(tài),此時(shí),終端將終止操作。
步驟204所述加記錄認(rèn)證安全模塊在接收到所述加記錄許可請(qǐng)求報(bào)文后,驗(yàn)證其中攜帶的第一報(bào)文驗(yàn)證碼MAC1是否有效。
在該步驟中,所述加記錄認(rèn)證安全模塊將通過與IC卡相同的方法生成相同的過程密鑰SESCK,并將所產(chǎn)生的過程密鑰SESCK依次作用于加記錄操作序號(hào)以及加記錄操作類型標(biāo)識(shí),生成一個(gè)報(bào)文驗(yàn)證碼,并比較自身生成的報(bào)文驗(yàn)證碼與所述第一報(bào)文驗(yàn)證碼MAC1是否一致,如果一致,則所接收的第一報(bào)文驗(yàn)證碼MAC1是有效的,然后,繼續(xù)執(zhí)行步驟205;否則,向終端返回錯(cuò)誤信息,在這種情況下,終端將采取相應(yīng)的措施進(jìn)行處理。
在該步驟中,如果出現(xiàn)使加記錄操作不能被接受的條件,則加記錄認(rèn)證安全模塊會(huì)通知終端,終端也會(huì)采取相應(yīng)的措施進(jìn)行處理。
步驟205所述加記錄認(rèn)證安全模塊處理所接收的加記錄許可請(qǐng)求,計(jì)算得到一個(gè)第二報(bào)文驗(yàn)證碼MAC2,并發(fā)送加記錄接受報(bào)文給終端,其中,攜帶加記錄認(rèn)證安全模塊的ID、操作序號(hào)以及所述第二報(bào)文驗(yàn)證碼MAC2。
本步驟所述處理具體為在確認(rèn)能夠進(jìn)行加記錄操作后,加記錄認(rèn)證安全模塊產(chǎn)生所述第二報(bào)文驗(yàn)證碼MAC2,供IC卡對(duì)加記錄認(rèn)證安全模塊合法性進(jìn)行檢查。
在本步驟中,所述加記錄認(rèn)證安全模塊將過程密鑰SESCK依次作用于以下數(shù)據(jù)計(jì)算得到所述第二報(bào)文驗(yàn)證碼MAC2——加記錄值的數(shù)值;——加記錄操作類型標(biāo)識(shí);——加記錄認(rèn)證安全模塊的操作序號(hào);——操作日期(終端);——操作時(shí)間(終端)。
步驟206所述終端在收到所述加記錄操作接受報(bào)文后,發(fā)送加記錄(ROYALTY CREDIT FOR LOAD)指令給所述IC卡,令其進(jìn)行加記錄操作。
所述ROYALTY CREDIT FOR LOAD指令用于加記錄,其指令報(bào)文見表7。所述ROYALTY CREDIT FOR LOAD指令報(bào)文的數(shù)據(jù)域見表8。ROYALTY CREDIT FOR LOAD指令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)域見表9。此指令執(zhí)行成功的狀態(tài)碼是‘9000’。如果指令執(zhí)行不成功,則只在響應(yīng)報(bào)文中回送SW1和SW2。表10描述了IC卡可能回送的錯(cuò)誤狀態(tài)。
表7
表8
表9
表10
步驟207在收到所述ROYALTY CREDIT FOR LOAD指令后,所述IC卡首先要驗(yàn)證所述第二報(bào)文驗(yàn)證碼MAC2的有效性,如果所述第二報(bào)文驗(yàn)證碼MAC2是有效的,則繼續(xù)執(zhí)行步驟208;否則,向所述終端返回報(bào)文驗(yàn)證碼無效的錯(cuò)誤狀態(tài),例如“9302”。
本步驟所述驗(yàn)證第二報(bào)文驗(yàn)證碼MAC2有效性的方法為所述IC卡將自身在步驟202產(chǎn)生的過程密鑰SESCK依次作用于加記錄值的數(shù)值、加記錄操作類型標(biāo)識(shí)、加記錄認(rèn)證安全模塊的操作序號(hào)、操作日期、操作時(shí)間,產(chǎn)生一個(gè)報(bào)文驗(yàn)證碼,并比較自身產(chǎn)生的報(bào)文驗(yàn)證碼與所接收的第二報(bào)文驗(yàn)證碼MAC2是否一致,如果一致,則所接收的第二報(bào)文驗(yàn)證碼MAC2有效;否則,所接收的第二報(bào)文驗(yàn)證碼MAC2無效。
步驟208所述IC卡在所述操作記錄表中添加一條加記錄,該加記錄所包含的數(shù)據(jù)項(xiàng)如表1所示。
在該步驟中,所述IC卡還可以通過覆蓋最舊的無效記錄的方式以節(jié)約所述操作記錄表所占用的空間。
除此之外,所述IC卡還可以應(yīng)用操作認(rèn)證密鑰DTK生成一個(gè)操作簽名TAC。該操作簽名TAC將通過加記錄指令的響應(yīng)報(bào)文發(fā)送到所述終端,并寫入終端的操作明細(xì),以便隨后傳給服務(wù)器進(jìn)行操作驗(yàn)證。下面是用來生成操作簽名TAC的各個(gè)要素——加記錄值的數(shù)值;——加記錄操作序號(hào)(增加前);——加記錄操作類型標(biāo)識(shí);——加記錄認(rèn)證安全模塊ID;——加記錄認(rèn)證安全模塊操作序號(hào);——操作日期(終端);——操作時(shí)間(終端)。
實(shí)施例2,減記錄操作。
所述減記錄操作允許持卡人使用IC卡上的記錄值進(jìn)行記錄值兌換。此操作可以脫機(jī)進(jìn)行。減記錄操作要求提交個(gè)人密碼(PIN)從而對(duì)用戶的合法性進(jìn)行檢查,具體過程如圖3所示,在所述終端確認(rèn)用戶提交的PIN準(zhǔn)確無誤后,將執(zhí)行以下步驟步驟301終端讀取IC卡中存儲(chǔ)的操作記錄表,并根據(jù)減記錄操作的減記錄值總數(shù)計(jì)算得到本次減記錄操作的消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值,使得消分頭操作序號(hào)一直到消分尾操作序號(hào)中各條加記錄的記錄值總數(shù)為本次消費(fèi)的記錄值與消分尾記錄中的消分尾操作剩余記錄值的和。
步驟302終端向IC卡發(fā)送減記錄初始化(INITIALIZE FORROYALTY DEBIT)指令啟動(dòng)減記錄操作。
所述INITIALIZE FOR ROYALTY DEBIT指令用于初始化減記錄操作。該指令必須在PIN校驗(yàn)成功才能執(zhí)行。INITIALIZE FOR ROYALTYDEBIT指令報(bào)文見表11。該指令報(bào)文的數(shù)據(jù)域見表12。此指令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)域見表13,執(zhí)行成功的狀態(tài)碼是“9000”。如果指令執(zhí)行不成功,則僅需在響應(yīng)報(bào)文中回送SW1和SW2。表14描述了IC卡可能回送的錯(cuò)誤狀態(tài)。
表11
表12
表13
表14步驟303在所述IC卡收到INITIALIZE FOR ROYALTY DEBIT指令后,處理所接收的INITIALIZE FOR ROYALTY DEBIT指令,并通過INITIALIZE FOR ROYALTY DEBIT指令的響應(yīng)報(bào)文將處理結(jié)果發(fā)送到所述終端。
本步驟所述處理具體包括以下步驟步驟3031檢查操作記錄表中消分頭操作序號(hào)和消分尾操作序號(hào)所對(duì)應(yīng)的記錄是否存在,如果不存在,返回未找到記錄的狀態(tài)碼“6A83”,且不返回其他數(shù)據(jù),然后結(jié)束;否則,執(zhí)行步驟3032。
步驟3032檢查操作記錄表中消分頭操作序號(hào)和消分尾操作序號(hào)之間的有效記錄中的記錄值總數(shù)是否大于或等于減記錄值總數(shù)與消分尾操作剩余記錄值之和,如果不是,則返回額度不足的狀態(tài)碼“9401”,且不返回其他數(shù)據(jù),然后結(jié)束;否則,執(zhí)行步驟3033。
步驟3033檢查自身是否支持指令中包含的密鑰索引,如果不支持,則返回不支持密鑰索引的狀態(tài)碼“9403”,且不返回其他數(shù)據(jù),然后結(jié)束;否則,產(chǎn)生一個(gè)偽隨機(jī)數(shù)ICC以及一個(gè)過程密鑰SESDK。
其中,所述過程密鑰SESDK將被用于減記錄操作,通過下式SESDK=3EDS(DDK,DATA)產(chǎn)生,其中,DDK是存放在IC卡中的減記錄密鑰,DATA數(shù)據(jù)包括偽隨機(jī)數(shù)ICC、減記錄操作序號(hào)、終端操作序號(hào)ERC的最右兩個(gè)字節(jié),3DES是指3倍長(zhǎng)的DES運(yùn)算。
步驟304所述終端在接收到所述INITIALIZE FOR ROYALTYDEBIT指令的響應(yīng)報(bào)文后,發(fā)送減記錄(DEBIT FOR ROYALTY)指令到所述IC卡,并在所述DEBIT FOR ROYALTY指令中攜帶自身計(jì)算產(chǎn)生的第一報(bào)文驗(yàn)證碼MAC1。
在本步驟中,所述終端首先采用與所述IC卡相同的方法生成過程密鑰,并將所生成的過程密鑰依次作用于以下數(shù)據(jù)計(jì)算得到第一報(bào)文驗(yàn)證碼MAC1——減記錄值的總數(shù);——減記錄起始操作序號(hào);
——減記錄結(jié)束操作序號(hào);——結(jié)束操作序號(hào)記錄剩余記錄值;——減記錄操作類型標(biāo)識(shí);——終端機(jī)編號(hào);——操作日期(終端);——操作時(shí)間(終端)。
所述DEBIT FOR ROYALTY指令用于減記錄值,其指令報(bào)文見表15;指令報(bào)文的數(shù)據(jù)域見表16;此指令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)域見表17,執(zhí)行成功的狀態(tài)碼是“9000”。如果指令執(zhí)行不成功,則只在響應(yīng)報(bào)文中回送SW1和SW2。表18描述了IC卡可能回送的錯(cuò)誤狀態(tài)。
表15
表16
表17
表18步驟305所述IC卡首先驗(yàn)證所述第一報(bào)文驗(yàn)證碼MAC1的有效性,并在驗(yàn)證成功后進(jìn)行減記錄操作處理。
具體而言,在所述IC卡在驗(yàn)證所述第一報(bào)文驗(yàn)證碼MAC1之后,所述IC卡首先將自身產(chǎn)生的過程密鑰SESDK依次作用于減記錄值的總數(shù)、減記錄起始操作序號(hào)、減記錄結(jié)束操作序號(hào)、結(jié)束操作序號(hào)記錄剩余記錄值、減記錄操作類型標(biāo)識(shí)、終端機(jī)編號(hào)、操作日期、操作時(shí)間,生成一個(gè)報(bào)文驗(yàn)證碼,并判斷自身產(chǎn)生的報(bào)文驗(yàn)證碼與所接收的第一報(bào)文驗(yàn)證碼MAC1是否一致,如果一致,則所接收的第一報(bào)文驗(yàn)證碼MAC1有效,然后進(jìn)行減記錄操作處理;否則,向所述終端返回報(bào)文驗(yàn)證碼無效的狀態(tài)碼“9302”。
所述減記錄操作處理具體包括所述IC卡在所述操作記錄表中將減記錄值起始操作序號(hào)起到減記錄結(jié)束操作序號(hào)之前的記錄標(biāo)記為無效,并增加一條新的減記錄,所述減記錄所包含的數(shù)據(jù)項(xiàng)如表2所示。需要說明的是,所述IC卡必須成功地完成上面所有步驟或一個(gè)也不完成。
同時(shí),所述IC卡產(chǎn)生一個(gè)第二報(bào)文驗(yàn)證碼MAC2供終端中的銷售點(diǎn)終端安全存取模塊(PSAM,Purchase Secure Access Module)對(duì)IC卡進(jìn)行合法性檢查。MAC2包含在從IC卡通過終端傳送到PSAM的DEBITFOR ROYALTY指令響應(yīng)報(bào)文中。作為計(jì)算MAC2的輸入,減記錄密鑰DDK作用于這些數(shù)據(jù)進(jìn)行MAC2計(jì)算——減記錄值的總數(shù);——減記錄起始操作序號(hào);——減記錄結(jié)束操作序號(hào);——結(jié)束操作序號(hào)記錄剩余記錄值。
除此之外,IC卡的應(yīng)用操作認(rèn)證密鑰DTK還將產(chǎn)生一個(gè)操作簽名TAC。所述操作簽名TAC將通過DEBIT FOR ROYALTY指令的響應(yīng)報(bào)文發(fā)送到所述終端,并將被寫入終端的操作明細(xì),以便后來傳給主機(jī)進(jìn)行操作驗(yàn)證。下面是用來生成所述操作簽名TAC的要素——減記錄的總數(shù);——減記錄起始操作序號(hào);——減記錄結(jié)束操作序號(hào);——結(jié)束操作序號(hào)記錄剩余記錄值;——操作類型標(biāo)識(shí);——終端機(jī)編號(hào);——終端操作序號(hào);——操作日期;——操作時(shí)間。
步驟306所述終端在接收到DEBIT FOR ROYALTY指令的響應(yīng)報(bào)文之后,提交PSAM驗(yàn)證其中所攜帶的第二報(bào)文驗(yàn)證碼MAC2的有效性,如果有效,則說明IC合法的IC卡,否則,IC為非法IC卡。
在終端確定所述IC卡為非法IC卡后將采取必要的措施對(duì)非法的IC卡進(jìn)行處理。
實(shí)施例3,記錄無效操作。
所述記錄無效操作允許終端將IC卡操作記錄表中被確定是無效的記錄打上標(biāo)記。本操作必須在擁有加記錄認(rèn)證安全模塊黑名單的終端上進(jìn)行,其中,所述加記錄認(rèn)證安全模塊記錄著無效的加記錄認(rèn)證安全模塊的ID及其最后一次有效操作的操作序號(hào)。持卡人必須提交PIN來完成記錄無效操作。如圖4所示,所述記錄無效操作在終端確認(rèn)用戶所輸入的PIN準(zhǔn)確無誤后,執(zhí)行如下步驟步驟401終端向IC卡發(fā)送記錄無效(ROYALTY DATA INVALID)指令啟動(dòng)記錄無效操作。
所述ROYALTY DATA INVALID指令用于將操作記錄表中的記錄標(biāo)記成無效,標(biāo)記成無效后的記錄不能恢復(fù)成有效記錄,而且記錄中的記錄值不再進(jìn)入記錄值總數(shù)計(jì)算。該指令必須在PIN校驗(yàn)成功才能執(zhí)行。所述ROYALTY DATA INVALID指令報(bào)文見表19。該指令報(bào)文的數(shù)據(jù)域見表20。此指令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)域不存在,執(zhí)行成功的狀態(tài)碼是“9000”。如果指令執(zhí)行不成功,則只在響應(yīng)報(bào)文中回送SW 1和SW2。表21描述了IC卡可能回送的錯(cuò)誤狀態(tài)。
表19
表20
表21步驟402在所述IC卡收到ROYALTY DATA INVA LID指令后,處理ROYALTY DATA INVALID指令,包括查找與所述ROYALTYDATA INVALID指令中所攜帶的操作序號(hào)匹配的記錄,將記錄標(biāo)記為無效,然后將處理結(jié)果返回給終端。
除了可以實(shí)現(xiàn)上述應(yīng)用之外,在對(duì)IC卡進(jìn)行加、減記錄值的過程中,還應(yīng)當(dāng)允許用戶讀取IC卡中的操作記錄表。通常情況下,讀取IC卡中的操作記錄表可使用循環(huán)記錄文件的讀取方式進(jìn)行,并且必須提交PIN才能進(jìn)行。
另外,在上述實(shí)施例中,所述IC卡必須能夠在操作處理中的任何情況下,甚至是在更新電可擦除只讀存儲(chǔ)器(EEPROM)過程中掉電的情況下,保持?jǐn)?shù)據(jù)的完整性。這就需要在每次更新數(shù)據(jù)前對(duì)數(shù)據(jù)進(jìn)行備份,并且在重新加電后自動(dòng)地觸發(fā)恢復(fù)機(jī)制。
在本發(fā)明的優(yōu)選實(shí)施例中,在終端發(fā)給IC卡一個(gè)指令以實(shí)現(xiàn)加記錄或者減記錄操作時(shí),IC卡總會(huì)回送一個(gè)報(bào)文驗(yàn)證碼MAC或/和操作簽名TAC,以證明更新已經(jīng)發(fā)生。
IC卡必須在更新記錄前計(jì)算報(bào)文驗(yàn)證碼MAC或/和操作簽名TAC,一旦記錄更新成功,必須保證所述終端可以通過取操作認(rèn)證(GETTRANSCTION PROVE)指令獲得此報(bào)文驗(yàn)證碼MAC或/和操作簽名TAC。
如果在指令已執(zhí)行結(jié)束,而終端還未收到響應(yīng)之前,IC卡突然拔出,終端將會(huì)處于不知IC卡是否更新的不定狀態(tài)。這種情況下,終端應(yīng)負(fù)責(zé)用GET TRANSACTION PROVE指令進(jìn)行恢復(fù)。
如果IC卡正在處理時(shí)被突然拔出,終端應(yīng)提醒持卡人重新插入IC卡。之后終端將檢查發(fā)卡方標(biāo)識(shí)和應(yīng)用序列號(hào)以確認(rèn)插入的IC卡和前面拔出的IC卡是否同一張卡。如果是同一張卡,終端發(fā)出GETTRANSACTION PROVE指令。假如報(bào)文驗(yàn)證碼MAC或/和操作簽名TAC返回,終端即完成操作處理;如果MAC或/和TAC無法回送,則說明IC卡中的記錄沒有被修改。操作可以用適當(dāng)?shù)某跏蓟噶钪匦麻_始。
另外需要說明的是,在執(zhí)行上述操作過程中,IC卡總是處于某種狀態(tài)之一,在一種狀態(tài)下,只有某些指令能執(zhí)行。IC卡具有的狀態(tài)有空閑狀態(tài)、加記錄狀態(tài)、減記錄狀態(tài)。
當(dāng)操作選擇完成后,IC卡將首先進(jìn)入空閑狀態(tài)。當(dāng)IC卡從終端收到一條指令后,它必須檢查當(dāng)前狀態(tài)是否允許。指令成功完成以后,IC卡根據(jù)表22所示進(jìn)入另一個(gè)狀態(tài)或仍保持在同一個(gè)狀態(tài)。如果指令沒有成功執(zhí)行,IC卡進(jìn)入空閑狀態(tài)。
表22說明了指令成功執(zhí)行后的狀態(tài)變化。第一行描述了指令發(fā)出時(shí)IC卡的當(dāng)前狀態(tài),第一列描述了發(fā)出的指令,而整張表給出了指令執(zhí)行成功后的狀態(tài)。
陰影部分指出指令在IC卡處于相應(yīng)狀態(tài)時(shí)是無效的,在這種情況下,IC卡不執(zhí)行指令,并回應(yīng)終端指令不接受狀態(tài)碼“6901”。由于指令不能成功執(zhí)行,結(jié)果狀態(tài)是空閑。
表22另外需要說明的是,上述優(yōu)選實(shí)施例雖然均是以IC卡為例進(jìn)行說明的,本發(fā)明所述的記錄裝置并不限于IC卡,還可以是其它具有存儲(chǔ)功能的智能卡,另外,本發(fā)明所述記錄操作方法也可以應(yīng)用到除IC卡之外的其它具有存儲(chǔ)功能的各種智能卡片中。
權(quán)利要求
1.一種實(shí)現(xiàn)脫機(jī)記錄操作的方法,其特征在于,所述方法包括A、設(shè)置用于存儲(chǔ)脫機(jī)操作記錄的操作記錄表,所述脫機(jī)操作記錄包括操作序號(hào)、操作類型以及記錄值;B、在接收到記錄操作指令后,為本次記錄操作生成唯一的操作序號(hào),并根據(jù)所接收的記錄操作指令,在所述操作記錄表中增加一條脫機(jī)操作記錄,在其中記錄所生成的操作序號(hào)以及根據(jù)所接收記錄操作指令獲得的操作類型以及記錄值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B所述的記錄操作指令為攜帶加記錄值的加記錄操作指令;所述脫機(jī)操作記錄為加記錄,其中,記錄的操作類型為加記錄操作,記錄值為所述加記錄值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述加記錄操作指令進(jìn)一步攜帶本次加記錄操作的時(shí)間;步驟B進(jìn)一步包括在所述加記錄中記錄所述加記錄操作的時(shí)間。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述加記錄操作指令進(jìn)一步攜帶進(jìn)行本次加記錄操作的終端所使用加記錄認(rèn)證安全模塊的標(biāo)識(shí)以及該加記錄認(rèn)證安全模塊的操作序號(hào);步驟B進(jìn)一步包括在所述加記錄中記錄所述加記錄認(rèn)證安全模塊的標(biāo)識(shí)以及該加記錄認(rèn)證安全模塊的操作序號(hào)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法在步驟B接收到加記錄操作指令后進(jìn)一步包括檢查自身保存的操作記錄表中是否可以寫入新的記錄,如果可以,則繼續(xù)執(zhí)行步驟B;否則,向所述終端返回指令不接受的錯(cuò)誤信息,然后結(jié)束。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法在步驟B接收到加記錄操作指令后進(jìn)一步包括B1、檢查自身是否支持所接收記錄操作指令中攜帶的密鑰索引,如果支持,則繼續(xù)執(zhí)行步驟B2,否則,向所述終端返回不支持密鑰索引的錯(cuò)誤信息,然后結(jié)束;B2、檢驗(yàn)所接收記錄操作指令中所攜帶的報(bào)文驗(yàn)證碼是否有效,如果有效,則繼續(xù)執(zhí)行步驟B,否則,向所述終端返回校報(bào)文驗(yàn)碼無效的錯(cuò)誤信息,然后結(jié)束。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述檢驗(yàn)報(bào)文驗(yàn)證碼是否有效的方法為根據(jù)自身生成的與本次加記錄操作對(duì)應(yīng)的過程密鑰,使用與終端相同的方法生成另一個(gè)報(bào)文驗(yàn)證碼,判斷自身生成的報(bào)文驗(yàn)證碼與所接收的報(bào)文驗(yàn)證碼是否一致,如果一致,則所接收的報(bào)文驗(yàn)證碼有效,否則,所接收的報(bào)文驗(yàn)證碼無效。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B所述記錄操作指令為減記錄操作指令,其中攜帶減記錄值總數(shù)、消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值;所述脫機(jī)操作記錄為減記錄,其中,記錄的操作類型為減記錄操作,記錄值包括所述減記錄值總數(shù)、消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法在步驟B之后進(jìn)一步包括根據(jù)新增加的減記錄,將所述操作記錄表中從所述消分頭操作序號(hào)所標(biāo)識(shí)的操作記錄到所述消分尾操作序號(hào)所標(biāo)識(shí)的操作記錄之前的操作記錄均標(biāo)記為無效。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在步驟B之前進(jìn)一步包括進(jìn)行減記錄操作的終端讀取記錄裝置上的操作記錄表,并根據(jù)所述操作記錄表中存儲(chǔ)的操作記錄以及本次減記錄操作的減記錄值總數(shù)計(jì)算得到本次減記錄操作的消分頭操作序號(hào)、消分尾操作序號(hào)以及消分尾操作剩余記錄值。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述計(jì)算包括在所述操作記錄表中找到上一條減記錄,將該記錄的消分尾操作序號(hào)作為本次減記錄的消分頭操作序號(hào);如果不存在上一條減記錄,則將第一個(gè)加記錄的操作序號(hào)作為本次減記錄操作的消分頭操作序號(hào);根據(jù)本次減記錄操作的減記錄值總數(shù)找到本次減記錄操作的消分尾操作記錄,得到當(dāng)前減記錄的消分尾操作序號(hào),并計(jì)算出當(dāng)前減記錄的消分尾操作剩余記錄值,使得消分頭操作序號(hào)一直到消分尾操作序號(hào)中各條有效加記錄的記錄值總數(shù)為所述減記錄值總值與消分尾記錄中的消分尾操作剩余記錄值的和。
12.根據(jù)權(quán)利要求8至11任一項(xiàng)所述的方法,其特征在于,所述方法在步驟B接收到減記錄操作指令后進(jìn)一步包括C1、檢查自身操作記錄表中是否存在所述消分頭操作序號(hào)以及消分尾操作序號(hào)所對(duì)應(yīng)的操作記錄,如果存在,則繼續(xù)執(zhí)行步驟C2,否則,向終端返回未找到記錄的錯(cuò)誤信息,然后結(jié)束;C2、檢查自身操作記錄表中所述消分頭操作序號(hào)和消分尾操作序號(hào)之間的有效加記錄中的記錄值總數(shù)是否大于或等于所述減記錄值總數(shù)與消分尾操作序號(hào)剩余記錄值之和,如果是,則繼續(xù)執(zhí)行步驟B,否則,向終端返回額度不足的錯(cuò)誤信息,然后結(jié)束。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,判斷所述加記錄是否有效的方法為根據(jù)所述加記錄的操作時(shí)間以及所述加記錄的有效期判斷該加記錄是否在有效期內(nèi),如果在有效期內(nèi),則所述加記錄為有效的加記錄,否則,所述加記錄為無效的加記錄。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于,判斷所述加記錄是否有效的方法為判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的標(biāo)識(shí)是否為自身所保存的無效加記錄值認(rèn)證安全模塊黑名單中的加記錄值認(rèn)證安全模塊,如果是,則進(jìn)一步判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的操作序號(hào)是否大于所述黑名單中記錄的該加記錄值認(rèn)證安全模塊最后一次有效的操作序號(hào),如果大于,則所述加記錄為無效的加記錄;在其它情況下,所述加記錄均為有效的加記錄。
15.根據(jù)權(quán)利要求12所述的方法,其特征在于,判斷所述加記錄是否有效的方法為a、根據(jù)所述加記錄的操作時(shí)間以及所述加記錄的有效期判斷該加記錄是否在有效期內(nèi),如果在有效期內(nèi),則執(zhí)行步驟b,否則,所述加記錄為無效的加記錄;b、判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的標(biāo)識(shí)是否為自身所保存的無效加記錄值認(rèn)證安全模塊黑名單中的加記錄值認(rèn)證安全模塊,如果是,則執(zhí)行步驟c,否則,所述加記錄為有效的加記錄;c、判斷所述加記錄所記載的加記錄值認(rèn)證安全模塊的操作序號(hào)是否大于所述黑名單中記錄的該加記錄值認(rèn)證安全模塊最后一次有效的操作序號(hào),如果大于,則所述加記錄為無效的加記錄;否則,所述加記錄為有效的加記錄。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述方法在步驟B接收到記錄操作指令后進(jìn)一步包括D1、檢查自身是否支持所接收記錄操作指令中攜帶的密鑰索引,如果支持,則繼續(xù)執(zhí)行步驟D2,否則,向所述終端返回不支持密鑰索引的錯(cuò)誤信息,然后結(jié)束;D2、檢驗(yàn)所接收記錄操作指令中所攜帶的報(bào)文驗(yàn)證碼是否有效,如果有效,則繼續(xù)執(zhí)行步驟B,否則,向所述終端返回校報(bào)文驗(yàn)碼無效的錯(cuò)誤信息,然后結(jié)束。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述檢驗(yàn)報(bào)文驗(yàn)證碼是否有效的方法為根據(jù)自身生成的與本次減記錄操作對(duì)應(yīng)的過程密鑰,使用與終端相同的方法生成另一個(gè)報(bào)文驗(yàn)證碼,判斷自身生成的報(bào)文驗(yàn)證碼與所接收的報(bào)文驗(yàn)證碼是否一致,如果一致,則所接收的報(bào)文驗(yàn)證碼有效,否則,所接收的報(bào)文驗(yàn)證碼無效。
18.根據(jù)權(quán)利要求2或8所述的方法,其特征在于,進(jìn)一步包括D、在接收到讀取操作記錄表指令后,提取所述操作記錄表所保存的操作記錄,并將提取的操作記錄表返回發(fā)送讀取記錄表指令的終端。
19.根據(jù)權(quán)利要求2、8或18所述的方法,其特征在于,進(jìn)一步包括E、在接收到攜帶有將被無效的操作記錄的操作序號(hào)的記錄無效指令后,在自身的操作記錄表中查找與所述無效記錄值指令中所攜帶的操作序號(hào)匹配的記錄,并將記錄標(biāo)記為無效。
20.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C進(jìn)一步包括根據(jù)自身生成的與本次操作對(duì)應(yīng)的過程密鑰生成一報(bào)文驗(yàn)證碼和/或操作簽名,并與所述處理結(jié)果一起返回所述終端。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,若用于保存所述操作記錄表的記錄裝置被突然從進(jìn)行記錄操作的終端拔出,所述方法在所述記錄裝置被重新插入,并經(jīng)終端驗(yàn)證所插入的記錄裝置與之前拔出的記錄裝置為同一記錄裝置后進(jìn)一步包括接收來自所述終端的取操作認(rèn)證指令,并將最新生成的報(bào)文驗(yàn)證碼和/或操作簽名返回給所述終端,完成本次記錄操作。
22.一種實(shí)現(xiàn)脫機(jī)記錄操作的記錄裝置,其特征在于,包括指令解析模塊,用于接收來自終端的指令,并對(duì)所接收的指令進(jìn)行解析,得到相應(yīng)的記錄操作指令及參數(shù),發(fā)送到所述記錄操作模塊;還用于根據(jù)來自記錄操作模塊的記錄操作處理結(jié)果生成響應(yīng)信息,并反饋給所述終端;記錄操作模塊,用于根據(jù)來自終端的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理,并將處理結(jié)果返回所述終端。
23.根據(jù)權(quán)利要求22所述的記錄裝置,其特征在于,進(jìn)一步包括連接在所述記錄操作模塊及指令解析模塊之間的安全和狀態(tài)管理模塊,用于接收來自指令解析模塊的記錄操作指令及參數(shù),判斷所接收的指令是否滿足預(yù)先設(shè)定的安全和狀態(tài)條件,如果滿足,則將所接收的記錄操作指令及參數(shù)發(fā)送到記錄操作模塊;否則,返回錯(cuò)誤信息給指令解析模塊,結(jié)束本次記錄操作。
24.根據(jù)權(quán)利要求22或23任一項(xiàng)所述的記錄裝置,其特征在于,所述記錄裝置由集成電路卡實(shí)現(xiàn)。
25.一種實(shí)現(xiàn)脫機(jī)記錄操作的系統(tǒng),其特征在于,包括終端,用于生成記錄操作指令并發(fā)送到記錄裝置;以及記錄裝置,用于接收來自終端的記錄操作指令,并根據(jù)所接收的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理。
26.根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于,所述記錄裝置包括指令解析模塊,用于接收來自終端的指令,并對(duì)所接收的指令進(jìn)行解析,得到相應(yīng)的記錄操作指令及參數(shù),發(fā)送到所述記錄操作模塊;還用于根據(jù)來自記錄操作模塊的記錄操作處理結(jié)果生成響應(yīng)信息,并反饋給所述終端;記錄操作模塊,用于根據(jù)來自終端的記錄操作指令對(duì)自身設(shè)置的操作記錄表中的操作記錄進(jìn)行相應(yīng)處理,并將處理結(jié)果返回所述終端。
27.根據(jù)權(quán)利要求26所述的系統(tǒng),其特征在于,所述記錄裝置進(jìn)一步包括連接在所述記錄操作模塊及指令解析模塊之間的安全和狀態(tài)管理模塊,用于接收來自指令解析模塊的記錄操作指令及參數(shù),判斷所接收的指令是否滿足預(yù)先設(shè)定的安全和狀態(tài)條件,如果滿足,則將所接收的記錄操作指令及參數(shù)發(fā)送到記錄操作模塊;否則,返回錯(cuò)誤信息給指令解析模塊,結(jié)束本次記錄操作。
28.根據(jù)權(quán)利要求25至27任一項(xiàng)所述的系統(tǒng),其特征在于,進(jìn)一步包括連接到所述終端的服務(wù)器,用于監(jiān)控所述終端的工作狀態(tài),維護(hù)一張用于記錄無效終端的黑名單,并定時(shí)將所述黑名單下發(fā)給有效的終端。
全文摘要
本發(fā)明公開了實(shí)現(xiàn)脫機(jī)記錄操作的方法、記錄裝置及系統(tǒng),可以根據(jù)記錄裝置上用于存儲(chǔ)每次記錄操作明細(xì)的操作記錄表中的操作記錄,獲得該記錄裝置實(shí)際的記錄值情況,從而實(shí)現(xiàn)脫機(jī)的記錄操作。應(yīng)用本發(fā)明所述脫機(jī)記錄操作方法、記錄裝置及系統(tǒng),可以完全解決現(xiàn)有無法通過脫機(jī)終端進(jìn)行記錄操作的問題,并極大地降低運(yùn)營(yíng)成本。
文檔編號(hào)G06Q30/00GK1831860SQ20061005686
公開日2006年9月13日 申請(qǐng)日期2006年3月9日 優(yōu)先權(quán)日2006年3月9日
發(fā)明者李東聲 申請(qǐng)人:李東聲