一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法
【專利摘要】本發(fā)明公開了一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法,屬于智能卡領(lǐng)域。所述方法包括:卡片接收終端發(fā)送的命令,判斷命令類型,如果是取處理選項(xiàng)命令,則對該命令進(jìn)行處理,得到第二憑據(jù)并返回給終端;如果是內(nèi)部認(rèn)證命令,則對該命令進(jìn)行處理,得到第三憑據(jù)并返回給終端;如果是應(yīng)用密文命令,則先判斷該命令的類型,如果是第一條應(yīng)用密文命令,則對該命令進(jìn)行處理,得到相應(yīng)憑據(jù)并返回給終端;如果是第二條應(yīng)用密文命令,則對該命令進(jìn)行處理,得到相應(yīng)憑據(jù)并返回給終端。采用本發(fā)明的技術(shù)方法,能夠?qū)崿F(xiàn)動(dòng)態(tài)數(shù)據(jù)參與智能卡的認(rèn)證,在保證靜態(tài)數(shù)據(jù)未被篡改的基礎(chǔ)上,又能夠防止卡片被復(fù)制,提高了使用智能卡的安全性。
【專利說明】一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能卡領(lǐng)域,尤其涉及一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法。
【背景技術(shù)】
[0002]隨著智能卡的廣泛應(yīng)用,智能卡被篡改、被復(fù)制的案件時(shí)常發(fā)生,智能卡信息的安全性日益得到人們的重視。
[0003]在現(xiàn)有技術(shù)中,為保證智能卡信息安全,一般脫機(jī)操作過程中,通常采用通過卡片公鑰證書、靜態(tài)數(shù)據(jù)及其hash值來判斷卡片靜態(tài)信息是否被篡改,該方案可以防止靜態(tài)數(shù)據(jù)被惡意篡改,卻不能防止信息被盜取、卡片被復(fù)制。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中存在的不足,提供了一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法。
[0005]本發(fā)明采用的技術(shù)方法是:一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法,包括:
[0006]步驟101:卡片上電初始化;
[0007]步驟102:所述卡片等待接收終端發(fā)送的命令,判斷接收到的命令的類型;
[0008]如果是取處理選項(xiàng)命令,則解析所述取處理選項(xiàng)命令,得到第一數(shù)據(jù),更新第一卡片數(shù)據(jù),初始化第二卡片數(shù)據(jù)和第三卡片數(shù)據(jù),根據(jù)所述卡片支持的脫機(jī)認(rèn)證類型生成第二憑據(jù),將所述第二憑據(jù)返回給終端,返回步驟102 ;
[0009]如果是內(nèi)部認(rèn)證命令,則判斷是否支持動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則解析所述內(nèi)部認(rèn)證命令,得到第二數(shù)據(jù),根據(jù)所述第二數(shù)據(jù)和所述第一卡片數(shù)據(jù),得到第一組合數(shù)據(jù),使用卡片私鑰對所述第一組合數(shù)據(jù)進(jìn)行簽名,得到動(dòng)態(tài)簽名數(shù)據(jù),根據(jù)所述動(dòng)態(tài)簽名數(shù)據(jù)生成第三憑據(jù),將所述第三憑據(jù)返回給終端,返回步驟102,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0010]如果是應(yīng)用密文命令,則判斷所述應(yīng)用密文命令的類型,如果是第一條應(yīng)用密文命令,則執(zhí)行步驟103,如果是第二條應(yīng)用密文命令,則執(zhí)行步驟108 ;
[0011]步驟103:所述卡片判斷是否能夠獲取到所述第一數(shù)據(jù),如果是,則執(zhí)行步驟104,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0012]步驟104:所述卡片獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則根據(jù)所述卡片行為分析的結(jié)果,生成第一應(yīng)用密文,執(zhí)行步驟105,否則根據(jù)所述卡片行為分析的結(jié)果,生成第二應(yīng)用密文,執(zhí)行步驟105 ;
[0013]步驟105:所述卡片解析所述第一條應(yīng)用密文命令,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則執(zhí)行步驟106,否則根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二應(yīng)用密文,生成第四憑據(jù),并將所述第四憑據(jù)返回給所述終端,返回步驟102 ;
[0014]步驟106:所述卡片獲取所述第一條應(yīng)用密文命令中的第三數(shù)據(jù),根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第三數(shù)據(jù),得到第四組合數(shù)據(jù),使用卡片私鑰對所述第四組合數(shù)據(jù)進(jìn)行簽名,得到第一簽名數(shù)據(jù),根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第一簽名數(shù)據(jù)生成第五憑據(jù),將所述第五憑據(jù)返回給終端,返回步驟102 ;
[0015]步驟107:所述卡片判斷是否能夠獲取到所述第一數(shù)據(jù)和所述第三數(shù)據(jù),如果是,則執(zhí)行步驟108,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0016]步驟108:所述卡片獲取所述第二條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則根據(jù)所述卡片行為分析結(jié)果,生成第三應(yīng)用密文,執(zhí)行步驟109,否則根據(jù)所述卡片行為分析結(jié)果,生成第四應(yīng)用密文,執(zhí)行步驟109 ;
[0017]步驟109:所述卡片解析所述第二條應(yīng)用密文命令,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則執(zhí)行步驟110,否則根據(jù)所述第一卡片數(shù)據(jù)、第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四應(yīng)用密文,生成第六憑據(jù),并將所述第六憑據(jù)返回給所述終端,返回步驟102 ;
[0018]步驟110:所述卡片獲取所述第二條應(yīng)用密文命令中的第四數(shù)據(jù),根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第三應(yīng)用密文、所述第三數(shù)據(jù)和所述第四數(shù)據(jù),得到第七組合數(shù)據(jù),應(yīng)用卡片私鑰對所述第七組合數(shù)據(jù)進(jìn)行簽名,得到第二簽名數(shù)據(jù),根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二簽名數(shù)據(jù)生 成第七憑據(jù),將所述第七憑據(jù)返回給所述終端,返回步驟102。
[0019]所述步驟102還包括:當(dāng)接收到的命令為選擇應(yīng)用命令時(shí),執(zhí)行以下步驟:
[0020]步驟102-1:所述卡片解析所述選擇應(yīng)用命令,根據(jù)所述選擇應(yīng)用命令的數(shù)據(jù)域,判斷所述選擇應(yīng)用命令中的選擇方式,如果是第一選擇方式,則執(zhí)行步驟102-2,如果是第二選擇方式,則執(zhí)行步驟102-3 ;
[0021]步驟102-2:所述卡片獲取所述選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)所述第一應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將所述與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4,否則向所述終端返回所述第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0022]步驟102-3:所述卡片獲取所述選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)所述第二應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將所述與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4,否則向所述終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0023]步驟102-4:所述卡片從所述當(dāng)前應(yīng)用文件中獲取第一列表,根據(jù)所述第一列表生成第一憑據(jù),將所述第一憑據(jù)返回給所述終端,返回執(zhí)行步驟102。
[0024]所述步驟102-2具體為:
[0025]步驟102-21:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟102-22 ;
[0026]步驟102-22:所述卡片獲取所述選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)所述第一應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟102-23,否則向所述終端返回所述第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0027]步驟102-23:所述卡片判斷所述第一應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第一應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4。
[0028]所述步驟102-3具體為:
[0029]步驟102-31:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟102-32 ;
[0030]步驟102-32:所述卡片獲取所述選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)所述第二應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟102-23,否則向所述終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0031]步驟102-33:所述卡片判斷所述第二應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第二應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4。
[0032]所述步驟102中,如果是取處理選項(xiàng)命令,具體包括:
[0033]步驟al:所述卡片判斷是否能夠從所述取處理選項(xiàng)命令中解析得到第一數(shù)據(jù),如果是,則將所述第一數(shù)據(jù)保存,執(zhí)行步驟a2,否則向所述終端返回錯(cuò)誤信息,返回步驟102 ;
[0034]步驟a2:所述卡片更新所述第一卡片數(shù)據(jù),檢查所述第一卡片數(shù)據(jù)是否達(dá)到預(yù)設(shè)閾值,如果是,則執(zhí)行步驟a3,否則執(zhí)行步驟a4 ;
[0035]步驟a3:所述卡片鎖定,生成卡片鎖定的響應(yīng),返回給所述終端,返回步驟102 ;
[0036]步驟a4:所述卡片初始化所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù);
[0037]步驟a5:所述卡片獲取所述卡片內(nèi)部要讀取的文件信息,根據(jù)所述文件信息得到第一信息,根據(jù)所述第一信息和卡片支持的脫機(jī)認(rèn)證類型,生成第二憑據(jù),將所述第二憑據(jù)返回給所述終端,返回步驟102。
[0038]所述步驟102還包括:當(dāng)接收到的命令是讀記錄命令時(shí),執(zhí)行以下操作:
[0039]步驟Π:所述卡片對所述讀記錄命令進(jìn)行解析,得到所述第一信息;
[0040]步驟f2:所述卡片根據(jù)所述第一信息讀取所述卡片中的應(yīng)用數(shù)據(jù),將所述應(yīng)用數(shù)據(jù)返回給所述終端,返回步驟102。
[0041]所述步驟102中,如果是內(nèi)部認(rèn)證命令,判斷為是時(shí),還包括:所述卡片將動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位。
[0042]所述步驟102中,所述判斷所述應(yīng)用密文命令的類型,具體為:所述卡片解析所述應(yīng)用密文命令,根據(jù)所述應(yīng)用密文命令中的標(biāo)識位,判斷所述應(yīng)用密文命令的類型,如果所述應(yīng)用密文命令中的標(biāo)識位為第一預(yù)設(shè)值,則所述應(yīng)用密文命令為第一條應(yīng)用密文命令,如果所述應(yīng)用密文命令中的標(biāo)識位為第二預(yù)設(shè)值,則所述應(yīng)用密文命令為第二條應(yīng)用密文命令。
[0043]所述步驟103與所述步驟104之間,還包括:所述卡片根據(jù)所述第一條應(yīng)用密文命令的第一標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,則執(zhí)行步驟104,否則向所述終端返回拒絕操作響應(yīng),返回步驟102 ;
[0044]其中,所述判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,具體為:判斷所述第一標(biāo)識位是否為第三預(yù)設(shè)值,如果是,則靜態(tài)數(shù)據(jù)認(rèn)證成功,否則靜態(tài)數(shù)據(jù)認(rèn)證失敗,返回拒絕操作響應(yīng)。
[0045]所述步驟105中,所述判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,具體為:所述卡片判斷所述第一條應(yīng)用密文命令的第二標(biāo)識位是否為第四預(yù)設(shè)值,如果是,則需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,否則不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證。
[0046]所述步驟104中,所述獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,具體為:所述卡片根據(jù)所述第一條應(yīng)用密文命令的第三標(biāo)識位,獲知所述終端請求的應(yīng)用密文的類型,如果所述第三標(biāo)識位為第五預(yù)設(shè)值,則終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果所述第三標(biāo)識位為第六預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果所述第三標(biāo)識位為第七預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行。
[0047]所述生成第一應(yīng)用密文,具體為:
[0048]步驟bl:所述卡片獲取所述第一應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成應(yīng)用密文的數(shù)據(jù);
[0049]步驟b2:所述卡片將所述生成應(yīng)用密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟b3,否則執(zhí)行步驟b4 ;
[0050]步驟b3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5 ;
[0051]步驟b4:所述卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷填充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5 ;
[0052]步驟b5:所述卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第一應(yīng)用密文。
[0053]所述步驟106中,所述根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第三數(shù)據(jù),得到第四組合數(shù)據(jù),具體為:
[0054]步驟106-1:所述卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),得到第二組合數(shù)據(jù);
[0055]步驟106-2:所述卡片根據(jù)所述第一條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第二組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第一哈希值;
[0056]步驟106-3:所述卡片根據(jù)所述第一應(yīng)用密文、所述第一哈希值、所述第一卡片數(shù)據(jù)和所述第三數(shù)據(jù),得到第三組合數(shù)據(jù);
[0057]步驟106-4:所述卡片數(shù)據(jù)對所述第三組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第二哈希值;
[0058]步驟106-5:所述卡片根據(jù)所述第一卡片數(shù)據(jù)、第一應(yīng)用密文、第一哈希值和第二應(yīng)用密文,得到第四組合數(shù)據(jù)。
[0059]所述步驟106-1,具體為:所述卡片將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第二組合數(shù)據(jù)。
[0060]所述步驟106-3,具體為:所述卡片從所述第三數(shù)據(jù)中獲取第二預(yù)設(shè)長度的字節(jié)數(shù),將第三預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)進(jìn)行順序拼接,得到第三組合數(shù)據(jù)。
[0061]所述步驟106-5,具體為:所述卡片將第四預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)、所述第二哈希值和第五預(yù)設(shè)數(shù)據(jù)進(jìn)行順序拼接,得到第四組合數(shù)據(jù)。
[0062]所述步驟107與所述步驟108之間,還包括:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第四標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,如果所述第四標(biāo)識位為0,則靜態(tài)數(shù)據(jù)認(rèn)證成功,繼續(xù),如果所述第四標(biāo)識位為1,則靜態(tài)數(shù)據(jù)認(rèn)證失敗,向所述終端返回拒絕操作響應(yīng),返回步驟102。
[0063]所述步驟109中,判斷為是時(shí),還包括:所述卡片將復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位。
[0064]所述步驟109中,所述判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,具體為:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第五標(biāo)識位,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果所述第五標(biāo)識位為1,則需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果所述第五標(biāo)識位為0,則不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證。
[0065]所述步驟108中,所述獲取所述第二條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,具體為:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第六標(biāo)識位,獲知所述終端請求的應(yīng)用密文的類型,如果所述第五標(biāo)識位為00,則終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果所述第五標(biāo)識位為01,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果所述第五標(biāo)識位為10,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行。
[0066]所述判斷是否滿足所述終端請求的應(yīng)用密文的類型,具體為:
[0067]步驟Cl:所述卡片執(zhí)行卡片行為分析,檢測是否存在上次未完成的聯(lián)機(jī)授權(quán)操作,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟c2 ;
[0068]步驟c2:所述卡片判斷上次操作中發(fā)卡行認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟c3 ;
[0069]步驟c3:所述卡片判斷上次操作中脫機(jī)數(shù)據(jù)認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟c4 ;
[0070]步驟c4:所述卡片執(zhí)行頻度檢查,判斷操作次數(shù)是否達(dá)到限值數(shù),如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則滿足所述終端請求的應(yīng)用密文的類型。
[0071]所述生成第三應(yīng)用密文,具體為:
[0072]步驟dl:所述卡片獲取所述第二應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成密文的數(shù)據(jù);
[0073]步驟d2:所述卡片將所述生成密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟d3,否則執(zhí)行步驟d4 ;
[0074]步驟d3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5 ;
[0075]步驟d4:所述卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷補(bǔ)充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成密文的數(shù)據(jù),執(zhí)行步驟d5 ;
[0076]步驟d5:所述卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第三應(yīng)用密文。
[0077]所述步驟110中,所述根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第二應(yīng)用密文、所述第三數(shù)據(jù)和所述第四數(shù)據(jù),得到第七組合數(shù)據(jù),具體為:
[0078]步驟110-1:所述卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第五組合數(shù)據(jù);
[0079]步驟110-2:所述卡片根據(jù)所述第二條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第五組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第三哈希值;
[0080]步驟110-3:所述卡片根據(jù)所述第二應(yīng)用密文、所述第三哈希值、所述第一卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第六組合數(shù)據(jù);
[0081]步驟110-4:所述卡片對所述第六組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第四哈希值;
[0082]步驟110-5:所述卡片根據(jù)所述第三哈希值、所述第四哈希值、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文,得到第七組合數(shù)據(jù)。
[0083]所述步驟110-1,具體為:所述卡片將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第四數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第五組合數(shù)據(jù)。
[0084]所述步驟110-3,具體為:所述卡片從所述第四數(shù)據(jù)中獲取第二預(yù)設(shè)長度的字節(jié)數(shù),將第三預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、所述第三哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)進(jìn)行順序拼接,得到第六組合數(shù)據(jù)。
[0085]所述步驟110-5,具體為:所述卡片將第四預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、第三哈希值、預(yù)設(shè)填充字節(jié)和第五預(yù)設(shè)數(shù)據(jù)進(jìn)行順序拼接,得到第七組合數(shù)據(jù)。
[0086]所述通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),具體為:
[0087]步驟el:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第一指示位;
[0088]步驟e2:所述卡片根據(jù)檢測上次操作的發(fā)卡行認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第二指示位和所述第三卡片數(shù)據(jù)的第一指示位;
[0089]步驟e3:所述卡片根據(jù)檢測上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第三指示位;
[0090]步驟e4:所述卡片根據(jù)檢測上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第四指示位;
[0091]步驟e5:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第五指示位。
[0092]所述步驟102中,所述得到第一數(shù)據(jù),還包括:將所述第一數(shù)據(jù)保存;
[0093]所述步驟102中,所述得到第二數(shù)據(jù),還包括:將所述第二數(shù)據(jù)保存;
[0094]所述步驟102中,所述將所述第三憑據(jù)返回給終端后,還包括:將所述第二數(shù)據(jù)刪除;
[0095]所述步驟106中,所述獲取所述第一條應(yīng)用密文命令中的第三數(shù)據(jù),還包括:將所述第三數(shù)據(jù)保存;
[0096]所述步驟110中,所述獲取所述第二條應(yīng)用密文命令中的第四數(shù)據(jù),還包括:將所述第四數(shù)據(jù)保存;
[0097]所述步驟110中,所述將所述第七憑據(jù)返回給終端后,還包括:將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)和所述第四數(shù)據(jù)刪除。
[0098]本發(fā)明取得的有益效果是:采用本發(fā)明的技術(shù)方法,能夠?qū)崿F(xiàn)動(dòng)態(tài)數(shù)據(jù)參與智能卡的認(rèn)證,在保證靜態(tài)數(shù)據(jù)未被篡改的基礎(chǔ)上,又能夠防止卡片被復(fù)制,提高了使用智能卡的安全性。
【專利附圖】
【附圖說明】
[0099]為了更清楚的說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0100]圖1是本發(fā)明實(shí)施例1提供的一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法流程圖;
[0101]圖2是本發(fā)明實(shí)施例1中步驟119的具體細(xì)化圖;
[0102]圖3是本發(fā)明實(shí)施例1中步驟120的具體細(xì)化圖。
【具體實(shí)施方式】
[0103]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0104]實(shí)施例1
[0105]本發(fā)明實(shí)施例1提供了一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法,如圖1所示,包括:
[0106]步驟101:卡片上電初始化;
[0107]步驟102:卡片等待接收終端發(fā)送的命令,當(dāng)接收到命令時(shí),判斷接收到的命令的類型,如果是選擇應(yīng)用命令,則執(zhí)行步驟103,如果是取處理選項(xiàng)命令,則執(zhí)行步驟107,如果是讀記錄命令,則執(zhí)行步驟112,如果是內(nèi)部認(rèn)證命令,則執(zhí)行步驟114,如果是應(yīng)用密文命令,則執(zhí)行步驟118 ;
[0108]本實(shí)施例中,優(yōu)選的,當(dāng)卡片解析到命令的第二字節(jié)為0xA4時(shí),則接收到的是選擇應(yīng)用命令,執(zhí)行步驟103 ;當(dāng)卡片解析到命令的第二字節(jié)為OxAS時(shí),則接收到的是取處理選項(xiàng)命令,執(zhí)行步驟107 ;當(dāng)卡片解析到命令的第二字節(jié)為0xB2時(shí),則接收到的是讀記錄命令,執(zhí)行步驟112 ;當(dāng)卡片解析到命令的第二字節(jié)為0x88時(shí),則接收到的是內(nèi)部認(rèn)證命令,執(zhí)行步驟114 ;當(dāng)卡片解析到命令的第二字節(jié)為OxAE時(shí),則接收到的是應(yīng)用密文命令,執(zhí)行步驟118 ;
[0109]步驟103:卡片解析所述選擇應(yīng)用命令,根據(jù)所述選擇應(yīng)用命令的數(shù)據(jù)域,判斷所述選擇應(yīng)用命令中的選擇方式,如果是第一選擇方式,則執(zhí)行步驟104,如果是第二選擇方式,則執(zhí)行步驟105 ;
[0110]其中,第一選擇方式為目錄選擇方式,第二選擇方式為AID列表選擇方式;
[0111]本實(shí)施例中,卡片根據(jù)所述選擇應(yīng)用命令的數(shù)據(jù)域獲知所述選擇應(yīng)用命令的選擇方式;
[0112]步驟104:卡片獲取選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)第一應(yīng)用信息檢索卡片,判斷是否能夠檢索到與第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將與第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4,否則向終端返回第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0113]例如,接收到的選擇應(yīng)用命令為:00A404000E315041592E5359532E4444463031,獲取數(shù)據(jù)域000E315041592E5359532E4444463031,即為第一應(yīng)用信息,檢索到應(yīng)用文件為:6F15840E315041592E5359532E4444463031A503880101 ;
[0114]本實(shí)施例中,所述步驟104具體為:
[0115]步驟104-1:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟104-2 ;
[0116]步驟104-2:所述卡片獲取所述選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)所述第一應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟104-3,否則向所述終端返回所述第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0117]步驟104-3:所述卡片判斷所述第一應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第一應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟106。
[0118]步驟105:卡片獲取選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)第二應(yīng)用信息檢索卡片,判斷是否能夠檢索到與第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將與第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟106,否則向終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0119]例如,接收到的選擇應(yīng)用命令為00A4040007A0000003330101,獲取數(shù)據(jù)域0007A0000003330101,即為第二應(yīng)用信息,檢索到的應(yīng)用文件為:6F5B8407A0000003330101A550500B50424F43204372656469748701019F380F9F1A029F7A019F02065F2A029F4E145F2D087A68656E667264659F1101019F120F4341524420494D4147452030303330BF0C0A9F4D020B0ADF4D020C0A ;
[0120]本實(shí)施例中,所述步驟105具體為:
[0121]步驟105-1:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟105-2 ;
[0122]步驟105-2:所述卡片獲取所述選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)所述第二應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟105-3,否則向所述終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ;
[0123]步驟105-3:所述卡片判斷所述第二應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第二應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟106。
[0124]本實(shí)施例中,優(yōu)選的,終端先向卡片發(fā)送包含步驟104中的應(yīng)用信息的選擇應(yīng)用命令,如果卡片不支持該應(yīng)用信息,則終端再向卡片發(fā)送包含步驟105中的應(yīng)用信息的選擇應(yīng)用命令;卡片接收到終端發(fā)送的選擇應(yīng)用命令,根據(jù)數(shù)據(jù)域判斷接收到的終端請求的選擇方式是否支持;
[0125]步驟106:卡片從所述當(dāng)前應(yīng)用文件中獲取第一列表,根據(jù)所述第一列表生成第一憑據(jù),將所述第一憑據(jù)返回給所述終端,返回執(zhí)行步驟102 ;
[0126]例如,如果本實(shí)施例中,當(dāng)前應(yīng)用文件為6F15840E315041592E5359532E4444463031A503880101,則獲取與之對應(yīng)的第一列表為:9F380F9F1A029F7A019R)2065F2A029F4E14 ;卡片根據(jù)所述第一列表生成第一憑據(jù)為:6F5B8407A0000003330101A550500B50424F43204372656469748701019F380F9F1A029F7A019F02065F2A029F4E145F2D087A68656E667264659F1101019F120F4341524420494D4147452030303330BF0C0A9F4D020B0ADF4D020C0A ;
[0127]步驟107:卡片解析所述取處理選項(xiàng)命令,判斷是否能夠從所述取處理選項(xiàng)命令中解析得到第一數(shù)據(jù),如果是,則將第一數(shù)據(jù)保存在第一預(yù)設(shè)存儲區(qū)中,執(zhí)行步驟108,否則向終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0128]本實(shí)施例中,所述取處理選項(xiàng)命令為:80A8000021831R)15601000000000200015642616E6B204361726420546573742043656E7465 ;
[0129]本實(shí)施例中,卡片從所述取處理選項(xiàng)命令中解析得到的第一數(shù)據(jù)為:015601000000000200015642616E6B204361726420546573742043656E7465 ;其中,所述第一數(shù)據(jù)是終端按照第一響應(yīng)中的第一列表的格式組織得到的數(shù)據(jù);
[0130]步驟108:卡片更新第一卡片數(shù)據(jù),檢查所述第一卡片數(shù)據(jù)是否達(dá)到預(yù)設(shè)閾值,如果是,則執(zhí)行步驟109,否則執(zhí)行步驟110 ;
[0131]本實(shí)施例中,優(yōu)選的,所述預(yù)設(shè)閾值為65535,所述更新所述第一卡片數(shù)據(jù),具體為:將所述第一卡片數(shù)據(jù)加I ;
[0132]步驟109:卡片鎖定,并生成卡片鎖定的響應(yīng),返回給終端,返回執(zhí)行步驟102 ;
[0133]步驟110:卡片初始化第二卡片數(shù)據(jù)和第三卡片數(shù)據(jù);
[0134]步驟111:卡片獲取卡片內(nèi)部要讀取的文件信息,根據(jù)所述文件信息得到第一信息,根據(jù)第一信息和卡片支持的脫機(jī)認(rèn)證類型生成第二憑據(jù),并將所述第二憑據(jù)返回給終端,返回執(zhí)行步驟102;
[0135]本實(shí)施例中,所述根據(jù)所述文件信息得到第一信息,具體為:根據(jù)文件的短文件標(biāo)識符、文件記錄號、文件記錄個(gè)數(shù),以及脫機(jī)數(shù)據(jù)認(rèn)證需要的靜態(tài)簽名數(shù)據(jù)的存放位置,建
立第一信息;
[0136]本實(shí)施例中,優(yōu)選的,當(dāng)卡片支持的脫機(jī)認(rèn)證類型為7D00時(shí),表示所述卡片支持靜態(tài)數(shù)據(jù)認(rèn)證和動(dòng)態(tài)數(shù)據(jù)認(rèn)證,不支持復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,當(dāng)卡片支持的脫機(jī)認(rèn)證類型為5C00時(shí),表示所述卡片支持靜態(tài)數(shù)據(jù)認(rèn)證,不支持動(dòng)態(tài)數(shù)據(jù)認(rèn)證和復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證;
[0137]本實(shí)施例中,卡片得到的第一信息為080102001001040118010400,卡片支持的脫機(jī)認(rèn)證類型為7D00,根據(jù)第一信息和卡片支持的脫機(jī)認(rèn)證類型生成的第二憑據(jù)為:800E7D00080102001001040118010400 ;[0138]步驟112:卡片對所述讀記錄命令進(jìn)行解析,得到第一信息;
[0139]步驟113:卡片根據(jù)所述第一信息讀取卡片中的應(yīng)用數(shù)據(jù),將所述卡片中的應(yīng)用數(shù)據(jù)返回給終端,返回執(zhí)行步驟102 ;
[0140]本實(shí)施例中,卡片根據(jù)第一信息讀取到的應(yīng)用數(shù)據(jù)包括CA公鑰索引,簽名的靜態(tài)應(yīng)用數(shù)據(jù)、發(fā)卡行公鑰證書和用于卡片行為分析的數(shù)據(jù);
[0141]本實(shí)施例中,所述讀記錄命令為00B20IxxOO,其中01標(biāo)識文件記錄號,xx表示要讀取的記錄的最后一個(gè)記錄號,根據(jù)第一信息獲取所述讀記錄命令的最后一個(gè)記錄號;
[0142]本實(shí)施例中,所述卡片根據(jù)第一信息讀取卡片中的應(yīng)用數(shù)據(jù),具體為:
[0143]步驟al:卡片對第一信息進(jìn)行預(yù)設(shè)分組,得到第一信息中的文件記錄數(shù);
[0144]優(yōu)選的,對第一信息進(jìn)行預(yù)設(shè)分組具體為按照4個(gè)字節(jié)為一組進(jìn)行分組;本實(shí)施例中,對第一信息進(jìn)行預(yù)設(shè)分組后得到的三組為08010200、10010401、18010400 ;
[0145]步驟a2:卡片依次獲取每條記錄中的第一個(gè)字節(jié),取第一個(gè)字節(jié)的高五位與預(yù)設(shè)數(shù)據(jù)拼接得到所述讀記錄命令的最后一個(gè)記錄號;
[0146]優(yōu)選的,預(yù)設(shè)數(shù)據(jù)為100 ;
[0147]本實(shí)施例中,第一組為08010200,獲取第一個(gè)字節(jié)08,取高五位00001,與100拼接得到00001100,即OxOC,即終端根據(jù)第一信息組織發(fā)送的第一條讀記錄指令為00B2010C00 ;
[0148]第二組10010401,獲取第一個(gè)字節(jié)10,取高五位00010,與100拼接得到00010100,即0x14,即終端根據(jù)第一信息組織發(fā)送的第二條讀記錄指令為00B2011400 ;
[0149]第三組18010400,獲取第一個(gè)字節(jié)18,取高五位00011,與100拼接得到00011100,即OxlC,即終端根據(jù)第一信息組織發(fā)送的第三條讀記錄指令為00B2011C00 ;
[0150]步驟a3:卡片依次獲取每條記錄中的第二字節(jié)和第三字節(jié),根據(jù)第二字節(jié)和第三字節(jié)獲取需要讀取的記錄數(shù),并從卡片中讀出記錄,將讀取到的所有記錄組合得到應(yīng)用數(shù)據(jù);
[0151]本實(shí)施例中,第一組08010200,第二字節(jié)和第三字節(jié)為0102,表示從記錄號為0x08的位置讀取第一條記錄到第二條記錄;
[0152]卡片讀取的第一條記錄為:702E57136228000100001117D3012201012345123999919F1F1630313032303330343035303630373038303930413042 ;卡片讀取的第二條記錄為:70125F200F46554C4C2046554E4354494F4E414C ;
[0153]第二組10010401,第二字節(jié)和第三字節(jié)為0104,表示記錄號為0x10的位置讀取第一條記錄到第四條記錄;
[0154]卡片讀取的第一條記錄為:70165A0862280001000011175F24033012315F2503950701 ;第二條記錄為:7081849F468180875F85F08A89F4B500FA8C1A55407D88322710E3B885390D945422A73A0AB876F4C4FBC9C49C3083F38C9EFE6C7B21F6541050BF11642A28329C65D8831C80CC0D753D412112800FF2FA12ECC83B318A26EE44E313BD5D1C45C806787387DB91D259D75D350F9CD18B34C635A94EF343A2E88F8A4162D83BC900EA2CF5592820 ;第三條記錄為:70619F47030100019F482A518B0EA3ABA9343F1778545FFB49EE840BBCEA457DBAABBFD755BA0F943A08A59CFFB6066B40847675999F0702FFC08E0A000000000000000001009F0D057C70B808009F0E057C70B808009F0F0500000000005F28020156 ;第四條記錄為:708183938180817B58E992D032B7F0C0B5E0AA146F53FDD20DE1B3BFD9BFD28D0D7B5D4B69A62E1442847EC0FCED37C41A653AC8AEFF680704607E7D6EDBB683FDF8AE3CBA63FD2FB93845D9DA06F5B6CC09E807A0B69D5CF6FAFFDEC65A3E00C560947E4822FD74D0A4994493C9D5E92F83634C1EE77BC805F838A9A79E114787B65F6B74B9 ;
[0155]第三組18010400,第二字節(jié)和第三字節(jié)為0104,表示從記錄號為0x18的位置讀取第一條記錄到第四條記錄;
[0156]卡片讀取的第一條記錄為:708183908180229103A5E3120F2D2862091176AA2BD4E24D69E7EEF7B9195C91EA0088AECFF47EDFA0BEEF7C391DF3B05F7I7DCC06FFC8EEFF90BA14212B8A52AD48B33277B2E230D40B3E76DC59778926F1D8739E106CD741DE06A7423DFBA25E02F12E543D13D1B471806526024981B7D26B4BF6E5558604CCC289F59E8A802F45FB3D9E67 ;第二條記錄為:70339F49039F37049F32010392248B643D1EAF2EA784AC205303C90E745EA2EFA5CBF02CC47D47833BB7B27ECC6962385A4B8F0180 ;卡片讀取的第三條記錄為:70445F300202018C189F02069F03069F1A0295055F2A029A039F21039C019F37048D1A8A029F02069F03069F1A0295055F2A029A039F21039C019F37049F080200305F340101 ;第四條記錄為:70099F7406454343313131 ;
[0157]本實(shí)施例中,終端在接收到應(yīng)用數(shù)據(jù)后,根據(jù)應(yīng)用數(shù)據(jù)建立靜態(tài)數(shù)據(jù)列表,用于做靜態(tài)數(shù)據(jù)認(rèn)證或動(dòng)態(tài)數(shù)據(jù)認(rèn)證所使用的卡片公鑰驗(yàn)證;終端使用公鑰技術(shù)執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證,終端根據(jù)接收到的卡片支持的脫機(jī)認(rèn)證類型和終端自身支持的脫機(jī)認(rèn)證類型決定要執(zhí)行的脫機(jī)認(rèn)證類型;
[0158]如果卡片與終端均支持靜態(tài)數(shù)據(jù)認(rèn)證,終端使用公鑰技術(shù)驗(yàn)證卡片中的關(guān)鍵數(shù)據(jù)自發(fā)卡后沒有被改動(dòng),具體操作為:終端根據(jù)CA公鑰索引檢索對應(yīng)的CA公鑰,使用CA公鑰驗(yàn)證卡片中的發(fā)卡行證書,驗(yàn)證成功則取出發(fā)卡行證書中的發(fā)卡行公鑰,終端使用發(fā)卡行公鑰驗(yàn)證簽名的靜態(tài)應(yīng)用數(shù)據(jù),如果驗(yàn)證通過,則表示卡片和終端執(zhí)行靜態(tài)數(shù)據(jù)認(rèn)證成功;
[0159]步驟114:卡片判斷卡片是否支持動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果是,則執(zhí)行步驟115,否則向終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0160]具體的,卡片根據(jù)卡片支持的脫機(jī)認(rèn)證類型,判斷卡片是否支持動(dòng)態(tài)數(shù)據(jù)認(rèn)證;
[0161]步驟115:卡片解析所述內(nèi)部認(rèn)證命令,得到第二數(shù)據(jù),將第二數(shù)據(jù)保存在第二預(yù)設(shè)存儲區(qū)中;
[0162]優(yōu)選的,卡片獲取所述內(nèi)部認(rèn)證命令的后四個(gè)字節(jié),得到第二數(shù)據(jù),本實(shí)施例中,所述內(nèi)部認(rèn)證命令為:008800000411223344,得到的第二數(shù)據(jù)為11223344 ;
[0163]步驟116:卡片將動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位,根據(jù)所述第二數(shù)據(jù)和所述第一卡片數(shù)據(jù),得到第一組合數(shù)據(jù);
[0164]本實(shí)施例中,所述根據(jù)所述第二數(shù)據(jù)和所述第一卡片數(shù)據(jù),得到第一組合數(shù)據(jù),具體為:以0x05開頭,后接哈希算法標(biāo)識0x01、第一卡片數(shù)據(jù)長度0x03、第一卡片數(shù)據(jù)0x020002、預(yù)設(shè)填充字節(jié)和所述第二數(shù)據(jù)0x11223344組合得到第一組合數(shù)據(jù)050103020002BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB11223344 ;
[0165]步驟117:卡片使用卡片私鑰對所述第一組合數(shù)據(jù)進(jìn)行簽名,得到動(dòng)態(tài)簽名數(shù)據(jù),根據(jù)所述動(dòng)態(tài)簽名數(shù)據(jù)生成第三憑據(jù),將所述第三憑據(jù)返回給終端,將所述第二數(shù)據(jù)刪除,返回執(zhí)行步驟102 ;
[0166]本實(shí)施例中,終端在接收到第三憑據(jù)后,得到動(dòng)態(tài)簽名數(shù)據(jù),終端使用卡片公鑰驗(yàn)證所述動(dòng)態(tài)簽名數(shù)據(jù),如果驗(yàn)證成功,則表示卡片和終端執(zhí)行動(dòng)態(tài)數(shù)據(jù)認(rèn)證成功。
[0167]步驟118:卡片解析所述應(yīng)用密文命令,根據(jù)該命令的標(biāo)識位,判斷接收到的是應(yīng)用密文命令的類型,如果是第一條應(yīng)用密文命令,則執(zhí)行步驟119,如果是第二條應(yīng)用密文命令,則執(zhí)行步驟120 ;
[0168]本實(shí)施例中,卡片判斷應(yīng)用密文命令的類型,具體是判斷該命令的標(biāo)識位即第三字節(jié),如果第三字節(jié)為第一預(yù)設(shè)值,則為第一條應(yīng)用密文命令,如果第三字節(jié)為第二預(yù)設(shè)值,則為第二條應(yīng)用密文命令;優(yōu)選的,第一預(yù)設(shè)值為0x90,第二預(yù)設(shè)值為0x50 ;
[0169]步驟119:卡片執(zhí)行第一條應(yīng)用密文命令,生成相應(yīng)憑據(jù),將該相應(yīng)憑據(jù)返回給終端,返回執(zhí)行步驟102;
[0170]參見圖2,所述步驟119,具體為:
[0171]步驟119-1:卡片判斷是否能夠從第一預(yù)設(shè)存儲區(qū)中獲取所述第一數(shù)據(jù),如果是,則執(zhí)行步驟119-2,否則向終端返回錯(cuò)誤響應(yīng),返回步驟102 ;
[0172]步驟119-2:卡片解析所述第一條應(yīng)用密文命令,根據(jù)該命令中的第一標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,如果是,則執(zhí)行步驟119-3,否則向終端返回拒絕操作響應(yīng),返回步驟102 ;
[0173]本實(shí)施例中,所述第一條應(yīng)用密文命令為80AE9000200000000002000000000000000156000000000001560002291450340032E5DC2F ;
[0174]卡片根據(jù)該命令中的第一標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,具體為:判斷該命令的第二十個(gè)字節(jié)的第七位是否為第三預(yù)設(shè)值,如果是,則表示靜態(tài)數(shù)據(jù)認(rèn)證成功,否則表示靜態(tài)數(shù)據(jù)認(rèn)證失敗;優(yōu)選的,所述第三預(yù)設(shè)值為O ;
[0175]本實(shí)施例中,該命令的第二十個(gè)字節(jié)為00,第七位為0,標(biāo)識脫機(jī)數(shù)據(jù)認(rèn)證成功;
[0176]步驟119-3:卡片根據(jù)該命令的第三標(biāo)識位,獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新第二卡片數(shù)據(jù)和第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則執(zhí)行步驟119-4,否則執(zhí)行步驟119-5 ;
[0177]本實(shí)施例中,卡片根據(jù)該命令的第三標(biāo)識位,獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,具體為:判斷該命令的第三字節(jié)的前兩個(gè)位,如果為第五預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果是第六預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果是第七預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行;優(yōu)選的,第五預(yù)設(shè)值為00,第六預(yù)設(shè)值為01,第七預(yù)設(shè)值為10 ;
[0178]本實(shí)施例中,該命令的第三個(gè)字節(jié)為10,表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行;
[0179]本實(shí)施例中,所述判斷是否滿足所述終端請求的應(yīng)用密文的類型,具體為:
[0180]步驟bl:所述卡片執(zhí)行卡片行為分析,檢測是否存在上次未完成的聯(lián)機(jī)授權(quán)操作,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟b2 ;
[0181]步驟b2:所述卡片判斷上次操作中發(fā)卡行認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟b3 ;
[0182]步驟b3:所述卡片判斷上次操作中脫機(jī)數(shù)據(jù)認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟b4 ;
[0183]步驟b4:所述卡片執(zhí)行頻度檢查,判斷操作次數(shù)是否達(dá)到限值數(shù),如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則滿足所述終端請求的應(yīng)用密文的類型;
[0184]本實(shí)施例中,通過執(zhí)行卡片行為分析,更新第二卡片數(shù)據(jù)和第三卡片數(shù)據(jù),具體為:
[0185]步驟dl:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第一指示位;
[0186]本實(shí)施例中,如果上次聯(lián)機(jī)授權(quán)操作的結(jié)果為完成,則將第二卡片數(shù)據(jù)的第一指示位置為1,如果上次聯(lián)機(jī)授權(quán)操作的結(jié)果為未完成,則將第二卡片數(shù)據(jù)的第一指示位置為O ;
[0187]步驟d2:所述卡片根據(jù)檢測上次操作的發(fā)卡行認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第二指示位和所述第三卡片數(shù)據(jù)的第一指示位;
[0188]本實(shí)施例中,如果上次操作的發(fā)卡行認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第二指示位置為0,將第三卡片數(shù)據(jù)的第一指示位置為111 ;如果上次操作的發(fā)卡行認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第二指示位置為1,將第三卡片數(shù)據(jù)的第一指示位置為011 ;
[0189]步驟d3:所述卡片根據(jù)檢測上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第三指示位;
[0190]實(shí)施例中,如果上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第三指示位置為0,如果上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第三指示位置為I ;
[0191]步驟d4:所述卡片根據(jù)檢測上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第四指示位;
[0192]實(shí)施例中,如果上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第四指示位置為0,如果上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第四指示位置為I ;
[0193]步驟d5:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第五指示位;
[0194]實(shí)施例中,如果上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果為成功,則將第二卡片數(shù)據(jù)的第五指示位置為0,如果上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第五指示位置為I;
[0195]步驟119-4:卡片根據(jù)卡片行為分析的結(jié)果,生成第一應(yīng)用密文,執(zhí)行步驟119-6 ;
[0196]具體的,所述生成第一應(yīng)用密文,具體為:
[0197]步驟Cl:所述卡片獲取所述第一應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成應(yīng)用密文的數(shù)據(jù);[0198]具體的,卡片從第一條應(yīng)用密文命令中獲取到的終端數(shù)據(jù)為第一條應(yīng)用明文命令的前5個(gè)字節(jié);卡片將終端數(shù)據(jù)與所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)順序拼接,得到生成應(yīng)用密文的數(shù)據(jù);
[0199]步驟C2:所述卡片將所述生成應(yīng)用密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟c3,否則執(zhí)行步驟c4 ;
[0200]優(yōu)選的,預(yù)設(shè)分組為8字節(jié)一組;
[0201]步驟c3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟c5 ;
[0202]步驟c4:卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷填充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟c5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟c5 ;
[0203]步驟c5:卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第一應(yīng)用密文;
[0204]本實(shí)施例中,卡片應(yīng)用過程密鑰,對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成的第一應(yīng)用密文為:C5E89A185F6B0D1F ;
[0205]步驟119-5:卡片根據(jù)卡片行為分析的結(jié)果,生成第二應(yīng)用密文,執(zhí)行步驟119-6 ;
[0206]步驟119-6:卡片根據(jù)該命令的第二標(biāo)識位,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果是,則執(zhí)行步驟119-8,否則執(zhí)行步驟119-7 ;
[0207]具體為:判斷該命令的第三字節(jié)的第四位是否為第四預(yù)設(shè)值,如果是,則表示需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,否則表示不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證;優(yōu)選的,第四預(yù)設(shè)值為I ;
[0208]本實(shí)施例中,卡片解析該命令的第三個(gè)字節(jié)為90,即10010000,其中,第四位為1,
表示需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證。
[0209]步驟119-7:卡片根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二應(yīng)用密文,生成第四憑據(jù),并將所述第四憑據(jù)返回給所述終端,返回步驟102 ;
[0210]步驟119-8:卡片將復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位,獲取所述第一條應(yīng)用密文命令中的第三數(shù)據(jù),將第三數(shù)據(jù)保存在第三預(yù)設(shè)存儲區(qū)中;
[0211]其中,卡片從所述第一條應(yīng)用密文命令的第六字節(jié)開始,解析得到該命令的數(shù)據(jù)域即為第三數(shù)據(jù) 0000000002000000000000000156000000000001560002291450340032E5DC2F;
[0212]步驟119-9:卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),得到第二組合數(shù)據(jù);
[0213]優(yōu)選的,本實(shí)施例中,根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),得到第二組合數(shù)據(jù),具體為:將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第
二組合數(shù)據(jù);
[0214]本實(shí)施例中,卡片將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到的第二組合數(shù)據(jù)為:015601000000000200015642616E6B204361726420546573742043656E74650000000002000000000000000156000000000001560002291450340032E5DC2F9F2701809F360200029F101307010103A40002010A0100000010009FFE6421 ;
[0215]步驟119-10:卡片根據(jù)所述第一條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第二組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第一哈希值;
[0216]本實(shí)施例中,卡片對所述第二組合數(shù)據(jù)進(jìn)行哈希計(jì)算得到的第一哈希值為:947D4AD25925AD11F70B709354B4A3F1EF5888DF ;
[0217]步驟119-11:卡片獲取第四預(yù)設(shè)存儲區(qū)中的第一應(yīng)用密文,根據(jù)所述第一應(yīng)用密文、所述第一哈希值、所述第一卡片數(shù)據(jù)和所述第三數(shù)據(jù),得到第三組合數(shù)據(jù);
[0218]具體的,根據(jù)所述第一應(yīng)用密文、所述第一哈希值、所述第一卡片數(shù)據(jù)和所述第三數(shù)據(jù),得到第三組合數(shù)據(jù),具體為:卡片獲取第三數(shù)據(jù)的第二預(yù)設(shè)長度的字節(jié)數(shù),即最后四個(gè)字節(jié)0x32E5DC2F,將第三預(yù)設(shè)數(shù)據(jù)0x05、哈希算法標(biāo)識0x01、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)0x32E5DC2F進(jìn)行順序拼接,得到第三組合數(shù)據(jù):05012002000280C5E89A185F6B0D1F947D4AD25925AD11F70B709354B4A3F1EF5888DFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB32E5DC2F ;
[0219]步驟119-12:卡片對所述第三組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第二哈希值;
[0220]本實(shí)施例中,卡片對所述第三組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到的第二哈希值為C092ADC4A768605DA13AF82A5EB681472A44C7DB ;
[0221]步驟119-13:卡片根據(jù)所述第一卡片數(shù)據(jù)、第一應(yīng)用密文、第一哈希值和第二應(yīng)用密文,得到第四組合數(shù)據(jù);
[0222]本實(shí)施例中,根據(jù)所述第一卡片數(shù)據(jù)、第一應(yīng)用密文、第一哈希值和第二應(yīng)用密文,得到第四組合數(shù)據(jù),具體為:卡片將第四預(yù)設(shè)數(shù)據(jù)0x6a05、哈希算法標(biāo)識0x01、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)、所述第二哈希值和第五預(yù)設(shè)數(shù)據(jù)OxBC進(jìn)行順序拼接,得到第四組合數(shù)據(jù)為:6A05012002000280C5E89A185F6B0D1F947D4AD25925AD11F70B709354B4A3F1EF5888DFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC092ADC4A768605DA13AF82A5EB681472A44C7DBBC ;
[0223]步驟119-14:卡片使用卡片私鑰對所述第四組合數(shù)據(jù)進(jìn)行簽名,得到第一簽名數(shù)據(jù);
[0224]本實(shí)施例中,卡片使用卡片私鑰對所述第四組合數(shù)據(jù)進(jìn)行簽名,得到的第一簽名數(shù)據(jù)為:554B8OTCEC2A61E9C54A3D67E0012E879DF4402D632F89F5648IABCEB1A4B51C01116043734457240EF1C64AD5E1A32DA36B892E6F3242997DEEDB87350189F9A810DE98FBF2B4275E64DB2FB03183A71348AA1785CBA2720E7726134E9874B2D759E365FAD6BCCEFB9591037C47B68F4FBA8927F697A191C1F112F3138A0B2D ;
[0225]步驟119-15:卡片根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第一簽名數(shù)據(jù)生成第五憑據(jù),將所述第五憑據(jù)返回給終端,返回步驟102 ;
[0226]本實(shí)施例中,卡片根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第一簽名數(shù)據(jù),生成的第五憑據(jù)為:7781A39F2701809F360200029F4B8180554B8roCEC2A61E9C54A3D67E0012E879DF4402D632F89F56481ABCEB1A4B51C01116043734457240EF1C64AD5E1A32DA36B892E6F3242997DEEDB87350189F9A810DE98FBF2B4275E64DB2FB03183A71348AA1785CBA2720E7726134E9874B2D759E365FAD6BCCEFB9591037C47B68F4FBA8927F697A191C1F112F3138A0B2D9F101307010103A40002010A0100000010009FFE6421。
[0227]步驟120:卡片執(zhí)行第二條應(yīng)用密文命令,生成相應(yīng)憑據(jù),將該相應(yīng)憑據(jù)返回給終端,返回執(zhí)行步驟102;
[0228]參見圖3,所述步驟120,具體為:
[0229]步驟120-1:卡片判斷是否能夠從第一預(yù)設(shè)存儲區(qū)中獲取第一數(shù)據(jù),是否能夠從第三預(yù)設(shè)存儲區(qū)中獲取第三數(shù)據(jù),如果是,則執(zhí)行步驟120-2,否則向終端返回錯(cuò)誤信息,返回步驟102 ;
[0230]步驟120-2:卡片解析所述第二條應(yīng)用密文命令,根據(jù)該命令的第四標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,如果是,則執(zhí)行步驟120-3,否則向終端返回拒絕操作響應(yīng),返回步驟 102 ;
[0231]本實(shí)施例中,所述第二條應(yīng)用密文命令為80AE50002230300000000002000000000000000156000000000001560002291450340032E5DC2F ;
[0232]卡片根據(jù)該命令的第四標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,具體為:判斷該命令的第二十字節(jié)的第七位是否為0,如果是,則表示脫機(jī)數(shù)據(jù)認(rèn)證成功,否則表示脫機(jī)數(shù)據(jù)認(rèn)證失??;
[0233]本實(shí)施例中,該命令的第二十字節(jié)為00,第七位為0,標(biāo)識脫機(jī)數(shù)據(jù)認(rèn)證成功;
[0234]步驟120-3:卡片根據(jù)該命令的第六標(biāo)識位,獲取所述第二條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則執(zhí)行步驟120-4,否則執(zhí)行步驟120-5 ;
[0235]其中,卡片根據(jù)該命令的第六標(biāo)識位,獲知終端請求的應(yīng)用密文的類型,具體為:判斷該命令的第三字節(jié)的前兩個(gè)位,如果為00,則表示終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果是01,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果是10,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行;
[0236]本實(shí)施例中,該命令的第三個(gè)字節(jié)的前兩位為01,標(biāo)識終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行;
[0237]本實(shí)施例中,所述通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),具體為:
[0238]步驟gl:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第一指示位;
[0239]本實(shí)施例中,如果上次聯(lián)機(jī)授權(quán)操作的結(jié)果為完成,則將第二卡片數(shù)據(jù)的第一指示位置為1,如果上次聯(lián)機(jī)授權(quán)操作的結(jié)果為未完成,則將第二卡片數(shù)據(jù)的第一指示位置為O ;
[0240]步驟g2:所述卡片根據(jù)檢測上次操作的發(fā)卡行認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第二指示位和所述第三卡片數(shù)據(jù)的第一指示位;[0241]本實(shí)施例中,如果上次操作的發(fā)卡行認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第二指示位置為0,將第三卡片數(shù)據(jù)的第一指示位置為111 ;如果上次操作的發(fā)卡行認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第二指示位置為1,將第三卡片數(shù)據(jù)的第一指示位置為011 ;
[0242]步驟g3:所述卡片根據(jù)檢測上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第三指示位;
[0243]實(shí)施例中,如果上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第三指示位置為0,如果上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第三指示位置為I ;
[0244]步驟g4:所述卡片根據(jù)檢測上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第四指示位;
[0245]實(shí)施例中,如果上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為成功,則將第二卡片數(shù)據(jù)的第四指示位置為0,如果上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第四指示位置為I ;
[0246]步驟g5:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第五指示位;
[0247]實(shí)施例中,如果上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果為成功,則將第二卡片數(shù)據(jù)的第五指示位置為0,如果上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果為失敗,則將第二卡片數(shù)據(jù)的第五指示位置為I ;
[0248]步驟120-4:卡片根據(jù)所述卡片行為分析結(jié)果,生成第三應(yīng)用密文,執(zhí)行步驟120-6 ;
[0249]所述生成第三應(yīng)用密文,具體為:
[0250]步驟dl:所述卡片獲取所述第二應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成密文的數(shù)據(jù);
[0251]步驟d2:所述卡片將所述生成密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟d3,否則執(zhí)行步驟d4 ;
[0252]步驟d3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5 ;
[0253]步驟d4:所述卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷補(bǔ)充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成密文的數(shù)據(jù),執(zhí)行步驟d5 ;
[0254]步驟d5:卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第三應(yīng)用密文;
[0255]步驟120-5:卡片根據(jù)所述卡片行為分析結(jié)果,生成第四應(yīng)用密文,執(zhí)行步驟120-6 ;
[0256]步驟120-6:卡片解析所述第二條應(yīng)用密文命令,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則執(zhí)行步驟120-8,否則執(zhí)行步驟120-7 ;
[0257]本實(shí)施例中,卡片根據(jù)該命令的第五標(biāo)識位,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,具體為:判斷該命令的第三字節(jié)的第四位是否為1,如果是,則表示需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,否則表示不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證;
[0258]本實(shí)施例中,卡片解析該命令的第三個(gè)字節(jié)為50,即01010000,其中第四位為1,標(biāo)識需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證;
[0259]步驟120-7:卡片根據(jù)所述第一卡片數(shù)據(jù)、第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四應(yīng)用密文,生成第六憑據(jù),并將所述第六憑據(jù)返回給所述終端,返回步驟102 ;
[0260]步驟120-8:卡片將復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位,獲取并保存所述第二應(yīng)用密文命令中的第四數(shù)據(jù);
[0261]本實(shí)施例中,其中,卡片從所述第二條應(yīng)用密文命令的第六字節(jié)開始,解析得到該命令的數(shù)據(jù)域即為第四數(shù)據(jù) 30300000000002000000000000000156000000000001560002291450340032E5DC2F ;
[0262]步驟120-9:卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第五組合數(shù)據(jù);
[0263]本實(shí)施例中,卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第五組合數(shù)據(jù),具體為:將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第四數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第五組合數(shù)據(jù)為:015601000000000200015642616E6B204361726420546573742043656E74650000000002000000000000000156000000000001560002291450340032E5DC2F30300000000002000000000000000156000000000001560002291450340032E5DC2F9F2701409F360200029F101307010103640402010A0100000010009FFE6421 ;
[0264]步驟120-10:卡片根據(jù)所述第二條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第五組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第三哈希值;
[0265]本實(shí)施例中,卡片對所述第五組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到的第三哈希值為30ADB2EC3859891F04668CC6C28629AFD7205CCE ;
[0266]步驟120-11:卡片獲取第五預(yù)設(shè)存儲區(qū)中的第二應(yīng)用密文,根據(jù)所述第二應(yīng)用密文、所述第三哈希值、所述第一卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第六組合數(shù)據(jù);
[0267]本實(shí)施例中,根據(jù)所述第二應(yīng)用密文、所述第三哈希值、所述第一卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第六組合數(shù)據(jù),具體為:卡片從所述第四數(shù)據(jù)中獲取第二預(yù)設(shè)長度的字節(jié)數(shù),即最后四個(gè)字節(jié)0x32E5DC2F,將第三預(yù)設(shè)數(shù)據(jù)0x05、哈希算法標(biāo)識0x01、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、所述第三哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)0x32E5DC2F進(jìn)行順序拼接,得到第六組合數(shù)據(jù) 0501200200024001B3C9B06283C08030ADB2EC3859891F04668CC6C28629AFD7205CCEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB32E5DC2F ;
[0268]步驟120-12:卡片對所述第六組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第四哈希值;
[0269]本實(shí)施例中,卡片對所述第六組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到的第四哈希值為808A60BD056FC118BAF6723538B154CDDD2DEFB8 ;
[0270]步驟120-13:卡片根據(jù)所述第三哈希值、所述第四哈希值、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文,得到第七組合數(shù)據(jù);[0271]本實(shí)施例中,根據(jù)所述第三哈希值、所述第四哈希值、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文,得到第七組合數(shù)據(jù),具體為:所述卡片將第四預(yù)設(shè)數(shù)據(jù)0x6a05、哈希算法標(biāo)識0x01、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、第三哈希值、預(yù)設(shè)填充字節(jié)和第五預(yù)設(shè)數(shù)據(jù)OxBC 進(jìn)行順序拼接,得到第七組合數(shù)據(jù)為:6A0501200200024001B3C9B06283C08030ADB2EC3859891F04668CC6C28629AFD7205CCEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB808A60BD056FC118BAF6723538B154CDDD2DEFB8BC ;
[0272]步驟120-14:卡片使用卡片私鑰對所述第七組合數(shù)據(jù)進(jìn)行簽名,得到第二簽名數(shù)據(jù);
[0273]本實(shí)施例中,卡片使用卡片私鑰對所述第七組合數(shù)據(jù)進(jìn)行簽名,得到的第二簽名數(shù)據(jù)為:64410712FDDF7EE1031780D1E673006611AAB2AFDD140CD3DC6DDDAE19059DF2E5FD2935E51CC4CE8F25F204ACE1AF712E40497FD7C4FA75B4A34DC66A3BEDA20C4E1277BD493E6C36D54D2737716CF6AE970EC9FBAAEE985F903BCDFD990A2DCDEC439E9DE288A824438BAC74565A946C4A6959D492D3D5DC3751894AA6F06A ;
[0274]步驟120-15:卡片根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二簽名數(shù)據(jù)生成第五憑據(jù),將所述第五憑據(jù)返回給所述終端,將所述第一數(shù)據(jù)和所述第三數(shù)據(jù)刪除,返回步驟102 ;
[0275]本實(shí)施例中,根據(jù)所述第二應(yīng)用密文、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二簽名數(shù)據(jù),生成的第五憑據(jù)為:7781A39F2701409F360200029F4B818064410712FDDF7EE1031780D1E673006611AAB2AFDD140CD3DC6DDDAE19059DF2E5FD2935E51CC4CE8F25F204ACE1AF712E40497FD7C4FA75B4A34DC66A3BEDA20C4E1277BD493E6C36D54D2737716CF6AE970EC9FBAAEE985F903BCDFD990A2DCDEC439E9DE288A824438BAC74565A946C4A6959D492D3D5DC3751894AA6F06A9F101307010103640402010A0100000010009FFE6421。
[0276]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利待求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種智能卡生成脫機(jī)認(rèn)證憑據(jù)的方法,其特征在于,包括: 步驟101:卡片上電初始化; 步驟102:所述卡片等待接收終端發(fā)送的命令,判斷接收到的命令的類型; 如果是取處理選項(xiàng)命令,則解析所述取處理選項(xiàng)命令,得到第一數(shù)據(jù),更新第一卡片數(shù)據(jù),初始化第二卡片數(shù)據(jù)和第三卡片數(shù)據(jù),根據(jù)所述卡片支持的脫機(jī)認(rèn)證類型生成第二憑據(jù),將所述第二憑據(jù)返回給終端,返回步驟102 ; 如果是內(nèi)部認(rèn)證命令,則判斷是否支持動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則解析所述內(nèi)部認(rèn)證命令,得到第二數(shù)據(jù),根據(jù)所述第二數(shù)據(jù)和所述第一卡片數(shù)據(jù),得到第一組合數(shù)據(jù),使用卡片私鑰對所述第一組合數(shù)據(jù)進(jìn)行簽名,得到動(dòng)態(tài)簽名數(shù)據(jù),根據(jù)所述動(dòng)態(tài)簽名數(shù)據(jù)生成第三憑據(jù),將所述第三憑據(jù)返回給終端,返回步驟102,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ; 如果是應(yīng)用密文命令,則判斷所述應(yīng)用密文命令的類型,如果是第一條應(yīng)用密文命令,則執(zhí)行步驟103,如果是第二條應(yīng)用密文命令,則執(zhí)行步驟108 ; 步驟103:所述卡片判斷是否能夠獲取到所述第一數(shù)據(jù),如果是,則執(zhí)行步驟104,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ; 步驟104:所述卡片獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則根據(jù)所述卡片行為分析的結(jié)果,生成第一應(yīng)用密文,執(zhí)行步驟105,否則根據(jù)所述卡片行為分析的結(jié)果,生成第二應(yīng)用密文,執(zhí)行步驟105 ;步驟105:所述卡片解析所述第一條應(yīng)用密文命令,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則執(zhí)行步驟106,否則根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二應(yīng)用密文,生成第四憑據(jù),并將所述第四憑據(jù)返回給所述終端,返回步驟102 ; 步驟106:所述卡片獲取所述第一條應(yīng)用密文命令中的第三數(shù)據(jù),根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第三數(shù)據(jù),得到第四組合數(shù)據(jù),使用卡片私鑰對所述第四組合數(shù)據(jù)進(jìn)行簽名,得到第一簽名數(shù)據(jù),根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第一簽名數(shù)據(jù)生成第五憑據(jù),將所述第五憑據(jù)返回給終端,返回步驟102 ; 步驟107:所述卡片判斷是否能夠獲取到所述第一數(shù)據(jù)和所述第三數(shù)據(jù),如果是,則執(zhí)行步驟108,否則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ; 步驟108:所述卡片獲取所述第二條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),并判斷是否滿足所述終端請求的應(yīng)用密文的類型,如果是,則根據(jù)所述卡片行為分析結(jié)果,生成第三應(yīng)用密文,執(zhí)行步驟109,否則根據(jù)所述卡片行為分析結(jié)果,生成第四應(yīng)用密文,執(zhí)行步驟109 ; 步驟109:所述卡片解析所述第二條應(yīng)用密文命令,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,是則執(zhí)行步驟110,否則根據(jù)所述第一卡片數(shù)據(jù)、第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四應(yīng)用密文,生成第六憑據(jù),并將所述第六憑據(jù)返回給所述終端,返回步驟102 ; 步驟110:所述卡片獲取所述第二條應(yīng)用密文命令中的第四數(shù)據(jù),根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第三應(yīng)用密文、所述第三數(shù)據(jù)和所述第四數(shù)據(jù),得到第七組合數(shù)據(jù),應(yīng)用卡片私鑰對所述第七組合數(shù)據(jù)進(jìn)行簽名,得到第二簽名數(shù)據(jù),根據(jù)所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第二簽名數(shù)據(jù)生成第七憑據(jù),將所述第七憑據(jù)返回給所述終端,返回步驟102。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟102還包括:當(dāng)接收到的命令為選擇應(yīng)用命令時(shí),執(zhí)行以下步驟: 步驟102-1:所述卡片解析所述選擇應(yīng)用命令,根據(jù)所述選擇應(yīng)用命令的數(shù)據(jù)域,判斷所述選擇應(yīng)用命令中的選擇方式,如果是第一選擇方式,則執(zhí)行步驟102-2,如果是第二選擇方式,則執(zhí)行步驟102-3 ; 步驟102-2:所述卡片獲取所述選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)所述第一應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將所述與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4,否則向所述終端返回所述第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ; 步驟102-3:所述卡片獲取所述選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)所述第二應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則將所述與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4,否則向所述終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ; 步驟102-4:所述卡片從所述當(dāng)前應(yīng)用文件中獲取第一列表,根據(jù)所述第一列表生成第一憑據(jù),將所述第一憑據(jù)返回給所述終端,返回執(zhí)行步驟102。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟102-2具體為: 步驟102-21:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟102-22 ; 步驟102-22:所述卡片獲 取所述選擇應(yīng)用命令中的第一應(yīng)用信息,根據(jù)所述第一應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟102-23,否則向所述終端返回所述第一應(yīng)用信息不支持的響應(yīng),返回步驟102 ;步驟102-23:所述卡片判斷所述第一應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第一應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第一應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟102-3具體為: 步驟102-31:所述卡片獲取卡片狀態(tài),判斷所述卡片是否鎖定,如果是,則向所述終端返回卡片鎖定的響應(yīng),返回步驟102,否則執(zhí)行步驟102-32 ; 步驟102-32:所述卡片獲取所述選擇應(yīng)用命令中的第二應(yīng)用信息,根據(jù)所述第二應(yīng)用信息檢索所述卡片,判斷是否能夠檢索到與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件,如果是,則執(zhí)行步驟102-23,否則向所述終端返回所述第二應(yīng)用信息不支持的響應(yīng),返回步驟102 ;步驟102-33:所述卡片判斷所述第二應(yīng)用信息是否鎖定,如果是,則向所述終端返回所述第二應(yīng)用信息鎖定的響應(yīng),返回步驟102,否則將所述與所述第二應(yīng)用信息對應(yīng)的應(yīng)用文件作為當(dāng)前應(yīng)用文件,執(zhí)行步驟102-4。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟102中,如果是取處理選項(xiàng)命令,具體包括: 步驟al:所述卡片判斷是否能夠從所述取處理選項(xiàng)命令中解析得到第一數(shù)據(jù),如果是,則將所述第一數(shù)據(jù)保存,執(zhí)行步驟a2,否則向所述終端返回錯(cuò)誤信息,返回步驟102 ;步驟a2:所述卡片更新所述第一卡片數(shù)據(jù),檢查所述第一卡片數(shù)據(jù)是否達(dá)到預(yù)設(shè)閾值,如果是,則執(zhí)行步驟a3,否則執(zhí)行步驟a4 ; 步驟a3:所述卡片鎖定,生成卡片鎖定的響應(yīng),返回給所述終端,返回步驟102 ; 步驟a4:所述卡片初始化所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù); 步驟a5:所述卡片獲取所述卡片內(nèi)部要讀取的文件信息,根據(jù)所述文件信息得到第一信息,根據(jù)所述第一信息和卡片支持的脫機(jī)認(rèn)證類型,生成第二憑據(jù),將所述第二憑據(jù)返回給所述終端,返回步驟102。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟102還包括:當(dāng)接收到的命令是讀記錄命令時(shí),執(zhí)行以下操作: 步驟Π:所述卡片對所述讀記錄命令進(jìn)行解析,得到所述第一信息; 步驟f2:所述卡片根據(jù)所述第一信息讀取所述卡片中的應(yīng)用數(shù)據(jù),將所述應(yīng)用數(shù)據(jù)返回給所述終端,返回步驟102。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟102中,如果是內(nèi)部認(rèn)證命令,判斷為是時(shí),還包括:所述卡片將動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟102中,所述判斷所述應(yīng)用密文命令的類型,具體為:所述卡片解析所述應(yīng)用密文命令,根據(jù)所述應(yīng)用密文命令中的標(biāo)識位,判斷所述應(yīng)用密文命令的類型,如果所述應(yīng)用密文命令中的標(biāo)識位為第一預(yù)設(shè)值,則所述應(yīng)用密文命令為第一條應(yīng)用密文命令,如果所述應(yīng)用密文命令中的標(biāo)識位為第二預(yù)設(shè)值,則所述應(yīng)用密文命令為第二條應(yīng)用密文命令。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟103與所述步驟104之間,還包括:所述卡片根據(jù)所述第一條應(yīng)用密文命令的第一標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,則執(zhí)行步驟104,否則向所述終端返回拒絕操作響應(yīng),返回步驟102 ; 其中,所述判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,具體為:判斷所述第一標(biāo)識位是否為第三預(yù)設(shè)值,如果是,則靜態(tài)數(shù)據(jù)認(rèn)證成功,否則靜態(tài)數(shù)據(jù)認(rèn)證失敗,返回拒絕操作響應(yīng)。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟105中,所述判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,具體為:所述卡片判斷所述第一條應(yīng)用密文命令的第二標(biāo)識位是否為第四預(yù)設(shè)值,如果是,則需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,否則不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟104中,所述獲取所述第一條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,具體為:所述卡片根據(jù)所述第一條應(yīng)用密文命令的第三標(biāo)識位,獲知所述終端請求的應(yīng)用密文的類型,如果所述第三標(biāo)識位為第五預(yù)設(shè)值,則終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果所述第三標(biāo)識位為第六預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果所述第三標(biāo)識位為第七預(yù)設(shè)值,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成第一應(yīng)用密文,具體為: 步驟bl:所述卡片獲取所述第一應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成應(yīng)用密文的數(shù)據(jù); 步驟b2:所述卡片將所述生成應(yīng)用密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟b3,否則執(zhí)行步驟b4 ; 步驟b3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5 ; 步驟b4:所述卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷填充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成應(yīng)用密文的數(shù)據(jù),執(zhí)行步驟b5 ; 步驟b5:所述卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第一應(yīng)用密文。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟106中,所述根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第三數(shù)據(jù),得到第四組合數(shù)據(jù),具體為: 步驟106-1:所述卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),得到第二組合數(shù)據(jù); 步驟106-2:所述卡片根據(jù)所述第一條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第二組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第一哈希值; 步驟106-3:所述卡片根據(jù)所述第一應(yīng)用密文、所述第一哈希值、所述第一卡片數(shù)據(jù)和所述第三數(shù)據(jù),得到第三組合數(shù)據(jù); 步驟106-4:所述卡片數(shù)據(jù)對所述第三組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第二哈希值; 步驟106-5:所述卡片根據(jù)所述第一卡片數(shù)據(jù)、第一應(yīng)用密文、第一哈希值和第二應(yīng)用密文,得到第四組合數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述步驟106-1,具體為:所述卡片將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述`第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第二組合數(shù)據(jù)。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述步驟106-3,具體為:所述卡片從所述第三數(shù)據(jù)中獲取第二預(yù)設(shè)長度的字節(jié)數(shù),將第三預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)進(jìn)行順序拼接,得到第三組合數(shù)據(jù)。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述步驟106-5,具體為:所述卡片將第四預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第一應(yīng)用密文、所述第一哈希值、預(yù)設(shè)填充字節(jié)、所述第二哈希值和第五預(yù)設(shè)數(shù)據(jù)進(jìn)行順序拼接,得到第四組合數(shù)據(jù)。
17.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟107與所述步驟108之間,還包括:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第四標(biāo)識位,判斷靜態(tài)數(shù)據(jù)認(rèn)證是否成功,如果所述第四標(biāo)識位為0,則靜態(tài)數(shù)據(jù)認(rèn)證成功,繼續(xù),如果所述第四標(biāo)識位為1,則靜態(tài)數(shù)據(jù)認(rèn)證失敗,向所述終端返回拒絕操作響應(yīng),返回步驟102。
18.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟109中,判斷為是時(shí),還包括:所述卡片將復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位置位。
19.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟109中,所述判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,具體為:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第五標(biāo)識位,判斷是否需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果所述第五標(biāo)識位為1,則需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證,如果所述第五標(biāo)識位為0,則不需要執(zhí)行復(fù)合動(dòng)態(tài)數(shù)據(jù)認(rèn)證。
20.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟108中,所述獲取所述第二條應(yīng)用密文命令中終端請求的應(yīng)用密文的類型,具體為:所述卡片根據(jù)所述第二條應(yīng)用密文命令的第六標(biāo)識位,獲知所述終端請求的應(yīng)用密文的類型,如果所述第五標(biāo)識位為00,則終端請求的應(yīng)用密文的類型為脫機(jī)拒絕執(zhí)行,如果所述第五標(biāo)識位為01,則表示終端請求的應(yīng)用密文的類型為聯(lián)機(jī)執(zhí)行,如果所述第五標(biāo)識位為10,則表示終端請求的應(yīng)用密文的類型為脫機(jī)批準(zhǔn)執(zhí)行。
21.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷是否滿足所述終端請求的應(yīng)用密文的類型,具體為: 步驟Cl:所述卡片執(zhí)行卡片行為分析,檢測是否存在上次未完成的聯(lián)機(jī)授權(quán)操作,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟c2 ; 步驟c2:所述卡片判斷上次操作中發(fā)卡行認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則執(zhí)行步驟c3 ; 步驟c3:所述卡片判斷上次操作中脫機(jī)數(shù)據(jù)認(rèn)證是否失敗,如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102 ,否則執(zhí)行步驟c4 ; 步驟c4:所述卡片執(zhí)行頻度檢查,判斷操作次數(shù)是否達(dá)到限值數(shù),如果是,則向所述終端返回錯(cuò)誤響應(yīng),返回步驟102,否則滿足所述終端請求的應(yīng)用密文的類型。
22.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成第三應(yīng)用密文,具體為: 步驟dl:所述卡片獲取所述第二應(yīng)用密文命令中的終端數(shù)據(jù),將所述終端數(shù)據(jù)、所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行組合,得到生成密文的數(shù)據(jù); 步驟d2:所述卡片將所述生成密文的數(shù)據(jù)進(jìn)行預(yù)設(shè)分組,判斷分組后的最后一個(gè)數(shù)據(jù)塊的長度是否為第一預(yù)設(shè)長度,如果是,則執(zhí)行步驟d3,否則執(zhí)行步驟d4 ; 步驟d3:所述卡片在最后一個(gè)數(shù)據(jù)塊后添加預(yù)設(shè)數(shù)據(jù)塊,將添加后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5; 步驟d4:所述卡片在最后一個(gè)數(shù)據(jù)塊后填充一個(gè)字節(jié)的第一預(yù)設(shè)數(shù)據(jù),判斷補(bǔ)充后的數(shù)據(jù)塊長度是否為第一預(yù)設(shè)長度,如果是,則將填充后的數(shù)據(jù)作為新的生成密文的數(shù)據(jù),執(zhí)行步驟d5,否則在所述第一預(yù)設(shè)數(shù)據(jù)后再填充第二預(yù)設(shè)數(shù)據(jù),直到填充后最后一塊數(shù)據(jù)塊的長度為預(yù)設(shè)長度,得到新的生成密文的數(shù)據(jù),執(zhí)行步驟d5 ; 步驟d5:所述卡片獲取與當(dāng)前應(yīng)用文件對應(yīng)的應(yīng)用過程密鑰,根據(jù)應(yīng)用過程密鑰,采用對稱密鑰算法對所述新的生成應(yīng)用密文的數(shù)據(jù)進(jìn)行計(jì)算,生成第三應(yīng)用密文。
23.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟110中,所述根據(jù)所述第一數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)、所述第二應(yīng)用密文、所述第三數(shù)據(jù)和所述第四數(shù)據(jù),得到第七組合數(shù)據(jù),具體為: 步驟110-1:所述卡片根據(jù)所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第一卡片數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第三卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第五組合數(shù)據(jù); 步驟110-2:所述卡片根據(jù)所述第二條應(yīng)用密文命令的哈希算法標(biāo)識,獲取哈希算法,對所述第五組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第三哈希值; 步驟110-3:所述卡片根據(jù)所述第二應(yīng)用密文、所述第三哈希值、所述第一卡片數(shù)據(jù)和所述第四數(shù)據(jù),得到第六組合數(shù)據(jù); 步驟110-4:所述卡片對所述第六組合數(shù)據(jù)進(jìn)行哈希計(jì)算,得到第四哈希值;步驟110-5:所述卡片根據(jù)所述第三哈希值、所述第四哈希值、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文,得到第七組合數(shù)據(jù)。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述步驟110-1,具體為:所述卡片將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)、所述第四數(shù)據(jù)、所述第二卡片數(shù)據(jù)、所述第一卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù)進(jìn)行順序拼接,得到第五組合數(shù)據(jù)。
25.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述步驟110-3,具體為:所述卡片從所述第四數(shù)據(jù)中獲取第二預(yù)設(shè)長度的字節(jié)數(shù),將第三預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、所述第三哈希值、預(yù)設(shè)填充字節(jié)和獲取到的字節(jié)數(shù)進(jìn)行順序拼接,得到第六組合數(shù)據(jù)。
26.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述步驟110-5,具體為:所述卡片將第四預(yù)設(shè)數(shù)據(jù)、哈希算法標(biāo)識、所述第一卡片數(shù)據(jù)、所述第二應(yīng)用密文、第三哈希值、預(yù)設(shè)填充字節(jié)和第五預(yù)設(shè)數(shù)據(jù)進(jìn)行順序拼接,得到第七組合數(shù)據(jù)。
27.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過執(zhí)行卡片行為分析,更新所述第二卡片數(shù)據(jù)和所述第三卡片數(shù)據(jù),具體為: 步驟el:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第一指示位; 步驟e2:所述卡片根據(jù)檢測上次操作的發(fā)卡行認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第二指示位和所述第三卡片數(shù)據(jù)的第一指示位; 步驟e3:所述卡片根據(jù)檢測上次操作靜態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第三指示位; 步驟e4:所述卡片根據(jù)檢測上次操作動(dòng)態(tài)數(shù)據(jù)認(rèn)證的結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第四指示位; 步驟e5:所述卡片根據(jù)檢測上次聯(lián)機(jī)授權(quán)操作發(fā)卡行腳本處理結(jié)果,設(shè)置所述第二卡片數(shù)據(jù)的第五指示位。
28.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述步驟102中,所述得到第一數(shù)據(jù),還包括:將所述第一數(shù)據(jù)保存; 所述步驟102中,所述得到第二數(shù)據(jù),還包括:將所述第二數(shù)據(jù)保存; 所述步驟102中,所述將所述第三憑據(jù)返回給終端后,還包括:將所述第二數(shù)據(jù)刪除; 所述步驟106中,所述獲取所述第一條應(yīng)用密文命令中的第三數(shù)據(jù),還包括:將所述第三數(shù)據(jù)保存; 所述步驟110中,所述獲取所述第二條應(yīng)用密文命令中的第四數(shù)據(jù),還包括:將所述第四數(shù)據(jù)保存; 所述步驟110中,所述將所述第七憑據(jù)返回給終端后,還包括:將所述第一數(shù)據(jù)、所述第三數(shù)據(jù)和所述第四數(shù)據(jù)刪除。
【文檔編號】H04L9/32GK103763103SQ201310750552
【公開日】2014年4月30日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】陸舟, 于華章 申請人:飛天誠信科技股份有限公司