亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法及個(gè)人化設(shè)備與流程

文檔序號:12309304閱讀:385來源:國知局
一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法及個(gè)人化設(shè)備與流程

本發(fā)明涉及智能卡領(lǐng)域,尤其涉及一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法及個(gè)人化設(shè)備。



背景技術(shù):

隨著電子技術(shù)的發(fā)展,智能卡憑借其存儲信息量大和安全性高的優(yōu)勢,廣泛應(yīng)用于金融、交通、通訊、商業(yè)、教育、醫(yī)療、社保和旅游娛樂等多個(gè)行業(yè)領(lǐng)域。

目前,智能卡中靜態(tài)數(shù)據(jù)被惡意篡改,信息被盜取,卡片被復(fù)制的事情時(shí)有發(fā)生,人們使用是智能卡的安全問題得不到保障,嚴(yán)重影響了智能卡用戶的財(cái)產(chǎn)安全,為解決以上問題需進(jìn)行靜態(tài)數(shù)據(jù)認(rèn)證或者動態(tài)數(shù)據(jù)認(rèn)證,但是現(xiàn)有技術(shù)中靜態(tài)數(shù)據(jù)認(rèn)證或者動態(tài)數(shù)據(jù)認(rèn)證過程中需要的脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化過程比較繁瑣,且個(gè)人化過程中需要人為參與,容易出現(xiàn)人為錯(cuò)誤,造成個(gè)人化數(shù)據(jù)不準(zhǔn)確,并且個(gè)人化過程效率低下。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中存在的不足,提供了一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法及個(gè)人化設(shè)備。

本發(fā)明提供一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法,包括:

步驟s1、個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取所述當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù),根據(jù)預(yù)設(shè)格式組織包含靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);

步驟s2、個(gè)人化設(shè)備生成隨機(jī)數(shù),使用發(fā)卡行私鑰對隨機(jī)數(shù)和待簽名數(shù)據(jù)進(jìn)行簽名得到數(shù)字簽名;根據(jù)數(shù)字簽名以及待簽名數(shù)據(jù)中除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù);

步驟s3、個(gè)人化設(shè)備根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)組合為數(shù)據(jù)分組;根據(jù)數(shù)據(jù)分組創(chuàng)建個(gè)人化指令,并將個(gè)人化指令寫入個(gè)人化文件;

當(dāng)個(gè)人化文件完成時(shí),個(gè)人化方法還包括:個(gè)人化設(shè)備選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給所述當(dāng)前操作的卡片。

本發(fā)明提供一種脫機(jī)認(rèn)證數(shù)據(jù)的的個(gè)人化設(shè)備,包括:

獲取模塊,用于確定當(dāng)前操作的卡片,并獲取所述當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù);

待簽名數(shù)據(jù)組織模塊,用于根據(jù)預(yù)設(shè)格式組織包含獲取模塊獲取到的靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);

隨機(jī)數(shù)生成模塊,用于生成隨機(jī)數(shù);

簽名模塊,用于使用發(fā)卡行私鑰對待簽名數(shù)據(jù)組織模塊組織的待簽名數(shù)據(jù)和隨機(jī)數(shù)生成模塊生成的隨機(jī)數(shù)進(jìn)行簽名得到數(shù)字簽名;

簽名數(shù)據(jù)生成模塊,用于根據(jù)簽名模塊生成的數(shù)字簽名以及待簽名數(shù)據(jù)中除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù);

數(shù)據(jù)分組組合模塊,用于根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)生成模塊生成的簽名數(shù)據(jù)組合為數(shù)據(jù)分組;

創(chuàng)建個(gè)人化指令模塊,用于根據(jù)數(shù)據(jù)分組組合模塊組合的數(shù)據(jù)分組創(chuàng)建個(gè)人化指令;

寫入模塊,用于將創(chuàng)建個(gè)人化指令模塊創(chuàng)建的個(gè)人化指令寫入個(gè)人化文件;

發(fā)送模塊,用于當(dāng)個(gè)人化文件完成時(shí)選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給當(dāng)前操作的卡片。

本發(fā)明取得的有益效果是:采用本發(fā)明的技術(shù)方法,獲取與卡片一一對應(yīng)的靜態(tài)數(shù)據(jù),并自動根據(jù)靜態(tài)數(shù)據(jù)進(jìn)行簽名,并根據(jù)簽名結(jié)果自動生成個(gè)人化指令,并將個(gè)人化指令寫入個(gè)人化文件,使得智能卡個(gè)人化過程效率提高且更加準(zhǔn)確。

附圖說明

圖1為本發(fā)明實(shí)施例2提供的一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法的流程圖;

圖2為本發(fā)明實(shí)施例3提供的一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法的流程圖;

圖3為本發(fā)明實(shí)施例4提供的一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化設(shè)備的模塊圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例1

本實(shí)施例提供了一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法,包括:

步驟s1、個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù),根據(jù)預(yù)設(shè)格式組織包含靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);

靜態(tài)數(shù)據(jù)具體包括:應(yīng)用主賬戶、應(yīng)用生效日期、應(yīng)用失效日期和應(yīng)用版本號。

步驟s2、個(gè)人化設(shè)備生成隨機(jī)數(shù),使用發(fā)卡行私鑰對隨機(jī)數(shù)和待簽名數(shù)據(jù)進(jìn)行簽名得到數(shù)字簽名;根據(jù)數(shù)字簽名以及待簽名數(shù)據(jù)中除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù);

步驟s1具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù),將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和靜態(tài)數(shù)據(jù)順序拼接生成待簽名數(shù)據(jù);

相應(yīng)的,根據(jù)數(shù)字簽名以及待簽名數(shù)據(jù)除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù)具體為:將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和數(shù)字簽名順序拼接生成簽名數(shù)據(jù),簽名數(shù)據(jù)即為靜態(tài)簽名數(shù)據(jù)。

或者,步驟s1具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù),將ic卡公鑰數(shù)據(jù)與靜態(tài)數(shù)據(jù)順序拼接生成待簽名數(shù)據(jù);

相應(yīng)的,根據(jù)數(shù)字簽名以及待簽名數(shù)據(jù)除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù)具體為:將ic卡公鑰數(shù)據(jù)和數(shù)字簽名順序拼接生成簽名數(shù)據(jù),簽名數(shù)據(jù)即為ic卡公鑰證書。

具體的,使用發(fā)卡行私鑰對隨機(jī)數(shù)和待簽名數(shù)據(jù)進(jìn)行簽名得到數(shù)字簽名具體為:使用發(fā)卡行私鑰對隨機(jī)數(shù)和待簽名數(shù)據(jù)通過sm2算法進(jìn)行簽名得到數(shù)字簽名。

更進(jìn)一步的,使用發(fā)卡行私鑰對隨機(jī)數(shù)和待簽名數(shù)據(jù)進(jìn)行簽名得到數(shù)字簽名具體包括:

步驟a-1、個(gè)人化設(shè)備將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰順序拼接得到第一數(shù)據(jù);將第一數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第一雜湊值;

步驟a-2、個(gè)人化設(shè)備將待簽名數(shù)據(jù)和第一雜湊值順序拼接得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第二雜湊值;

步驟a-3、個(gè)人化設(shè)備用隨機(jī)數(shù)發(fā)生器生成第一隨機(jī)數(shù);根據(jù)第一隨機(jī)數(shù)計(jì)算橢圓曲線點(diǎn);

步驟a-4、個(gè)人化設(shè)備計(jì)算橢圓曲線點(diǎn)的橫坐標(biāo)和第二雜湊值之和,將計(jì)算得到的結(jié)果與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第三數(shù)據(jù);

步驟a-5、個(gè)人化設(shè)備判斷第三數(shù)據(jù)與第一預(yù)設(shè)值是否相等,是則返回步驟a-3,否則執(zhí)行步驟a-6;

步驟a-6,個(gè)人化設(shè)備判斷第三數(shù)據(jù)與第一隨機(jī)數(shù)之和是否等于橢圓曲線上基點(diǎn)的階,是則返回步驟a-3,否則執(zhí)行步驟a-7;

步驟a-7、個(gè)人化設(shè)備計(jì)算1與發(fā)卡行私鑰之和的模逆得到第四數(shù)據(jù),計(jì)算第三數(shù)據(jù)與發(fā)卡行私鑰之積得到第五數(shù)據(jù),計(jì)算第一隨機(jī)數(shù)與第五數(shù)據(jù)之差得到第六數(shù)據(jù),將第六數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第七數(shù)據(jù),計(jì)算第四數(shù)據(jù)和第七數(shù)據(jù)之積得到第八數(shù)據(jù);

步驟a-8、個(gè)人化設(shè)備判斷第八數(shù)據(jù)是否等于第二預(yù)設(shè)值,是則返回步驟a-3,否則執(zhí)行步驟a-9;

步驟a-9、個(gè)人化設(shè)備將第三數(shù)據(jù)與第八數(shù)據(jù)順序拼接得到數(shù)字簽名。

步驟s3、個(gè)人化設(shè)備根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)組合為數(shù)據(jù)分組;根據(jù)數(shù)據(jù)分組創(chuàng)建個(gè)人化指令,并將個(gè)人化指令寫入個(gè)人化文件;

個(gè)人化設(shè)備根據(jù)預(yù)設(shè)的數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)組合為數(shù)據(jù)分組具體為:個(gè)人化設(shè)備計(jì)算簽名數(shù)據(jù)長度,將預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符、簽名數(shù)據(jù)長度和簽名數(shù)據(jù)順序拼接生成數(shù)據(jù)分組。

根據(jù)數(shù)據(jù)分組創(chuàng)建個(gè)人化指令具體為:根據(jù)數(shù)據(jù)分組組織apdu指令;數(shù)據(jù)分組為apdu指令的命令數(shù)據(jù)域。

當(dāng)個(gè)人化文件完成時(shí),個(gè)人化方法還包括:個(gè)人化設(shè)備選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給當(dāng)前操作的卡片。

優(yōu)選的,步驟s1之后,s2之前還包括:

步驟b1、個(gè)人化設(shè)備檢查簽名數(shù)據(jù)是否滿足預(yù)設(shè)條件,是則執(zhí)行步驟b2,否則簽名數(shù)據(jù)生成失敗;

步驟b1具體為:個(gè)人化設(shè)備判斷簽名數(shù)據(jù)的格式是否正確,是則判定簽名數(shù)據(jù)滿足預(yù)設(shè)條件,否則判定簽名數(shù)據(jù)不滿足預(yù)設(shè)條件。

步驟b2、個(gè)人化設(shè)備使用發(fā)卡行公鑰對簽名數(shù)據(jù)中的數(shù)字簽名進(jìn)行驗(yàn)證,判斷驗(yàn)證是否通過,是則執(zhí)行步驟s3,否則簽名數(shù)據(jù)生成失敗。

步驟b2具體為:個(gè)人化設(shè)備使用發(fā)卡行公鑰對簽名數(shù)據(jù)中的數(shù)字簽名通過sm2算法進(jìn)行驗(yàn)證,判斷驗(yàn)證是否通過,是則執(zhí)行步驟s3,否則簽名數(shù)據(jù)生成失敗。

更進(jìn)一步的,步驟b2具體包括:

步驟c1、個(gè)人化設(shè)備將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰順序拼接生成第九數(shù)據(jù);將第九數(shù)據(jù)進(jìn)行sm3運(yùn)算生成第三雜湊值;

步驟c2、個(gè)人化設(shè)備將第三雜湊值和待簽名數(shù)據(jù)順序拼接生成第十?dāng)?shù)據(jù);將第十?dāng)?shù)據(jù)進(jìn)行sm3運(yùn)算生成第四雜湊值;

步驟c3、個(gè)人化設(shè)備從靜態(tài)數(shù)字簽名中獲取第三數(shù)據(jù)和第八數(shù)據(jù),計(jì)算第三數(shù)據(jù)與第八數(shù)據(jù)之和得到第十一數(shù)據(jù),將第十一數(shù)據(jù)和橢圓曲線上的基點(diǎn)的階進(jìn)行模運(yùn)算得到第十二數(shù)據(jù);

步驟c4、個(gè)人化設(shè)備根據(jù)第八數(shù)據(jù)、第十二數(shù)據(jù)、橢圓曲線的基點(diǎn)以及發(fā)卡行公鑰計(jì)算橢圓曲線點(diǎn);

步驟c5、個(gè)人化設(shè)備計(jì)算第四雜湊值與橢圓曲線點(diǎn)的橫坐標(biāo)之和得到第十三數(shù)據(jù),將第十三數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第十四數(shù)據(jù);

步驟c6、個(gè)人化設(shè)備判斷第十四數(shù)據(jù)與第三數(shù)據(jù)是否相等,是則執(zhí)行步驟s3,否則驗(yàn)簽失敗,結(jié)束。

優(yōu)選的,步驟s1中獲取靜態(tài)數(shù)據(jù)之后,根據(jù)預(yù)設(shè)格式組織包含靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù)之前,還包括:

步驟d1、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)中是否包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表,是則執(zhí)行步驟d2,否則執(zhí)行根據(jù)預(yù)設(shè)格式組織包含靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);

步驟d2、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表中是否只包含應(yīng)用交互特征的標(biāo)簽,是則執(zhí)行根據(jù)預(yù)設(shè)格式組織包含靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù),否則靜態(tài)簽名數(shù)據(jù)生成失敗。

實(shí)施例2

本實(shí)施例提供一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法,具體為脫機(jī)認(rèn)證數(shù)據(jù)中的靜態(tài)簽名數(shù)據(jù)的個(gè)人化方法,如圖1所示,具體包括:

步驟101、個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取所述當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù);

具體的,靜態(tài)數(shù)據(jù)包括應(yīng)用主賬號、應(yīng)用生效日期、應(yīng)用失效日期和應(yīng)用版本號等智能卡靜態(tài)數(shù)據(jù);

本實(shí)施例中,需認(rèn)證的靜態(tài)數(shù)據(jù)具體為:

0x5a0862280001000011175f24033012315f25039507019f08020030,其中第一個(gè)字節(jié)至第十個(gè)字節(jié)為應(yīng)用主賬號;第十一字節(jié)至第十六字節(jié)為應(yīng)用生效日期;第十七字節(jié)至第二十二字節(jié)為應(yīng)用失效日期;第二十三字節(jié)至第二十七字節(jié)為應(yīng)用版本號。

步驟101具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取與當(dāng)前操作的卡片相關(guān)聯(lián)的靜態(tài)數(shù)據(jù);

更進(jìn)一步的,個(gè)人化設(shè)備讀取當(dāng)前操作的卡片表面預(yù)先印刷的卡片信息,例如卡號,并從靜態(tài)數(shù)據(jù)文件中獲取與所述卡片信息相關(guān)聯(lián)的靜態(tài)數(shù)據(jù)。

更為詳細(xì)的,從靜態(tài)數(shù)據(jù)文件中獲取與所述卡片信息相關(guān)聯(lián)的靜態(tài)數(shù)據(jù)具體為:從靜態(tài)數(shù)據(jù)文件中獲取應(yīng)用主賬號與卡片信息一致的靜態(tài)數(shù)據(jù)。

或者步驟101具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并從靜態(tài)數(shù)據(jù)文件中獲取一條靜態(tài)數(shù)據(jù)。;

步驟102、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)中是否包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表,是則執(zhí)行步驟103,否則執(zhí)行步驟104;

本實(shí)施例中靜態(tài)數(shù)據(jù)為tlv格式,即靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表是由標(biāo)簽、數(shù)據(jù)長度以及數(shù)據(jù)組成的。

具體的,判斷靜態(tài)數(shù)據(jù)中是否包含靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的標(biāo)簽,即判斷需認(rèn)證的靜態(tài)數(shù)據(jù)中是否包含0x4a;是則判定靜態(tài)數(shù)據(jù)中包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表;否則判定靜態(tài)數(shù)據(jù)中不包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表;

步驟103、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表中是否只包含應(yīng)用交互特征的標(biāo)簽,是則執(zhí)行步驟104,否則靜態(tài)簽名數(shù)據(jù)生成失敗,結(jié)束;

步驟103具體包括:

步驟103-1、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)長度是否為1是則執(zhí)行步驟103-2;否則靜態(tài)簽名數(shù)據(jù)生成失敗,結(jié)束;

步驟103-2、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)是否為應(yīng)用交互特征的標(biāo)簽,是則執(zhí)行步驟104;否則靜態(tài)簽名數(shù)據(jù)生成失敗。

具體的,個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)是否為0x82,是則執(zhí)行步驟104;否則靜態(tài)簽名數(shù)據(jù)生成失敗。

步驟104、個(gè)人化設(shè)備根據(jù)簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和靜態(tài)數(shù)據(jù)生成待簽名數(shù)據(jù);

具體的,簽名數(shù)據(jù)格式為預(yù)設(shè)字節(jié)0x13,數(shù)據(jù)驗(yàn)證代碼為發(fā)卡行分配的代碼,本實(shí)施例中具體為0xdac5;將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和需認(rèn)證的靜態(tài)數(shù)據(jù)順序拼接生成待簽名數(shù)據(jù),0x13dac55a0862280001000011175f24033012315f25039507019f08020030。

步驟105、個(gè)人化設(shè)備生成隨機(jī)數(shù),并使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)進(jìn)行簽名得到靜態(tài)數(shù)字簽名;

步驟105具體為:個(gè)人化設(shè)備生成隨機(jī)數(shù),并使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)通過sm2算法進(jìn)行簽名得到靜態(tài)簽名數(shù)據(jù);

更進(jìn)一步的,步驟105中,使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)進(jìn)行簽名得到靜態(tài)數(shù)字簽名,具體包括:

步驟105-1、個(gè)人化設(shè)備將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰順序拼接得到第一數(shù)據(jù);將第一數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第一雜湊值;

本實(shí)施例中,第一數(shù)據(jù)具體為:

0x008031323334353637383132333435363738ffffffffffffffffffffffffffffffffffffff00000000fffffffffffffffc28e9fa9e9d9f5e344d5a9e4bcf6509a7f39789f515ab8f92ddbcbd414d940e9332c4ae2c1f1981195f9904466a39c9948fe30bbff2660be1715a4589334c74c7bc3736a2f4f6779c59bdcee36b692153d0a9877cc62a474002df32e52139f0a0c3ac12b81b9d175936b5bf72bb8fe3a2266bc013b2e94f5837f16aa1c01aa7323b75626ab64d02aed20cc6f440841f10ee6873bcbea3f41d6869d0feadd71154;其中前十八個(gè)字節(jié)為固定數(shù)據(jù),其后的一百二十八字節(jié)為預(yù)設(shè)的橢圓曲線參數(shù),其后的六十四個(gè)字節(jié)為發(fā)卡行公鑰。

sm3運(yùn)算具體為將輸入的數(shù)據(jù)映射為一個(gè)32字節(jié)的哈希值;本實(shí)施例中根據(jù)第一數(shù)據(jù)進(jìn)行sm3運(yùn)算生成的第一哈希值為:

228c5edbd4150cd02785f763c074ddcd2e21294465341cfe48530b589ba0fc85。

步驟105-2、個(gè)人化設(shè)備將待簽名數(shù)據(jù)和第一雜湊值順序拼接得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第二雜湊值;

具體的,將第一雜湊值和待簽名數(shù)據(jù)串聯(lián)得到的第二數(shù)據(jù)具體為:

0x228c5edbd4150cd02785f763c074ddcd2e21294465341cfe48530b589ba0fc855a0862280001000011175f24033012315f25039507019f08020030;

本實(shí)施例中生成的第二哈希值具體為:

0xb178b75cae400122778070132278ee73d511846076424a4041e8e427759ff7b6。

步驟105-3、個(gè)人化設(shè)備用隨機(jī)數(shù)發(fā)生器生成第一隨機(jī)數(shù);根據(jù)第一隨機(jī)數(shù)計(jì)算橢圓曲線點(diǎn);

具體的隨機(jī)數(shù)生成器生成的第一隨機(jī)數(shù)記作k,計(jì)算橢圓曲線上的基點(diǎn)的k倍點(diǎn),計(jì)算得到的橢圓曲線上的基點(diǎn)的k倍點(diǎn)記為橢圓曲線點(diǎn)。

步驟105-4、個(gè)人化設(shè)備計(jì)算橢圓曲線點(diǎn)的橫坐標(biāo)和第二雜湊值之和,將計(jì)算得到的結(jié)果與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第三數(shù)據(jù);

步驟105-5、個(gè)人化設(shè)備判斷第三數(shù)據(jù)是與第一預(yù)設(shè)值是否相等,是則返回步驟105-3,否則執(zhí)行步驟105-6;

步驟105-6,個(gè)人化設(shè)備判斷第三數(shù)據(jù)與第一隨機(jī)數(shù)之和是否等于橢圓曲線上基點(diǎn)的階,是則返回步驟105-3,否則執(zhí)行步驟105-7;

步驟105-7、個(gè)人化設(shè)備計(jì)算1與發(fā)卡行私鑰之和的模逆得到第四數(shù)據(jù),計(jì)算第三數(shù)據(jù)與發(fā)卡行私鑰之積得到第五數(shù)據(jù),計(jì)算第一隨機(jī)數(shù)與第五數(shù)據(jù)之差得到第六數(shù)據(jù),將第六數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第七數(shù)據(jù),計(jì)算第五數(shù)據(jù)和第七數(shù)據(jù)之積得到第八數(shù)據(jù);

步驟105-8、個(gè)人化設(shè)備判斷第八數(shù)據(jù)是否等于第二預(yù)設(shè)值,是則返回步驟105-3,否則執(zhí)行步驟105-9;

步驟105-9、個(gè)人化設(shè)備將第三數(shù)據(jù)與第八數(shù)據(jù)順序拼接得到靜態(tài)數(shù)字簽名;

步驟106、個(gè)人化設(shè)備根據(jù)簽名數(shù)據(jù)格式、數(shù)字驗(yàn)證代碼和靜態(tài)數(shù)字簽名生成靜態(tài)簽名數(shù)據(jù);

具體的,簽名數(shù)據(jù)格式為預(yù)設(shè)字節(jié)0x13,數(shù)據(jù)驗(yàn)證代碼為發(fā)卡行分配的代碼,本實(shí)施例中具體為0xdac5;將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和靜態(tài)數(shù)字簽名順序拼接生成靜態(tài)簽名數(shù)據(jù)。

靜態(tài)簽名數(shù)據(jù)具體為:

0x13dac59babd0781722ac9d1aa73e3eed30a5b91fa1ba3ce6e51b492fff4fdf810c607af738d73b359659ba8f755e0bf38b9f1289e0fc2b84f518a60c852fb01290e61a

步驟107、個(gè)人化設(shè)備檢查靜態(tài)簽名數(shù)據(jù)格式是否正確,是則執(zhí)行步驟108,否則靜態(tài)數(shù)據(jù)認(rèn)證失敗,結(jié)束;

具體的,步驟107具體為:個(gè)人化設(shè)備判斷靜態(tài)簽名數(shù)據(jù)中的簽名數(shù)據(jù)格式的值是否為ox13,是則繼續(xù)檢查,否則判斷靜態(tài)簽名數(shù)據(jù)中的數(shù)據(jù)驗(yàn)證代碼的值是否為發(fā)卡行分配的代碼即oxdac5,是則靜態(tài)簽名數(shù)據(jù)格式正確,否則靜態(tài)簽名數(shù)據(jù)格式不正確;

步驟108、個(gè)人化設(shè)備使用發(fā)卡行公鑰對靜態(tài)簽名數(shù)據(jù)中的靜態(tài)數(shù)字簽名進(jìn)行驗(yàn)證,判斷驗(yàn)證是否通過,是則執(zhí)行步驟109,否則靜態(tài)簽名數(shù)據(jù)生成失敗,結(jié)束。

步驟108具體為,個(gè)人化設(shè)備使用發(fā)卡行公鑰對靜態(tài)簽名數(shù)據(jù)中的靜態(tài)簽名數(shù)據(jù)通過sm2算法進(jìn)行驗(yàn)簽,判斷驗(yàn)證是否通過,若驗(yàn)證通過則執(zhí)行步驟109,否則靜態(tài)簽名數(shù)據(jù)生成失敗,結(jié)束。

進(jìn)一步的,步驟108中使用發(fā)卡行公鑰對靜態(tài)簽名數(shù)據(jù)中的靜態(tài)數(shù)字簽名進(jìn)行驗(yàn)證,具體包括:

步驟108-1、個(gè)人化設(shè)備將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰串聯(lián)生成第九數(shù)據(jù);將第九數(shù)據(jù)進(jìn)行sm3運(yùn)算生成第三雜湊值;

本實(shí)施例中第九數(shù)據(jù)具體為

0x008031323334353637383132333435363738fffffffeffffffffffffffffffffffffffffffff00000000fffffffffffffffc28e9fa9e9d9f5e344d5a9e4bcf6509a7f39789f515ab8f92ddbcbd414d940e9332c4ae2c1f1981195f9904466a39c9948fe30bbff2660be1715a4589334c74c7bc3736a2f4f6779c59bdcee36b692153d0a9877cc62a474002df32e52139f0a0c3ac12b81b9d175936b5bf72bb8fe3a2266bc013b2e94f5837f16aa1c01aa7323b75626ab64d02aed20cc6f440841f10ee6873bcbea3f41d6869d0feadd71154。

本實(shí)施例中第三雜湊值具體為:

0x228c5edbd4150cd02785f763c074ddcd2e21294465341cfe48530b589ba0fc85。

步驟108-2、個(gè)人化設(shè)備將第三雜湊值和待簽名數(shù)據(jù)串聯(lián)生成第十?dāng)?shù)據(jù);將第十?dāng)?shù)據(jù)進(jìn)行sm3運(yùn)算生成第四雜湊值;

本實(shí)施例中第十?dāng)?shù)據(jù)具體為:

0x228c5edbd4150cd02785f763c074ddcd2e21294465341cfe48530b589ba0fc8513dac55a0862280001000011175f24033012315f25039507019f08020030。本實(shí)施例中第四哈希值具體為:

0xb178b75cae400122778070132278ee73d511846076424a4041e8e427759ff7b6。

步驟108-3、個(gè)人化設(shè)備從靜態(tài)數(shù)字簽名中獲取第三數(shù)據(jù)和第八數(shù)據(jù),計(jì)算第三數(shù)據(jù)與第八數(shù)據(jù)之和得到第十一數(shù)據(jù),將第十一數(shù)據(jù)和橢圓曲線上的基點(diǎn)的階進(jìn)行模運(yùn)算得到第十二數(shù)據(jù);

步驟108-4、個(gè)人化設(shè)備根據(jù)第八數(shù)據(jù)、第十二數(shù)據(jù)、橢圓曲線的基點(diǎn)以及發(fā)卡行公鑰計(jì)算橢圓曲線點(diǎn);

具體的,將第八數(shù)據(jù)記為s,計(jì)算橢圓曲線上基點(diǎn)的s倍點(diǎn),將第十二數(shù)據(jù)記為t,計(jì)算發(fā)卡行公鑰的t倍點(diǎn),將s倍點(diǎn)與t倍點(diǎn)相加得到橢圓曲線點(diǎn)。

步驟108-5、個(gè)人化設(shè)備計(jì)算第四雜湊值與橢圓曲線點(diǎn)的橫坐標(biāo)之和得到第十三數(shù)據(jù),將第十三數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第十四數(shù)據(jù);

步驟108-6、個(gè)人化設(shè)備判斷第十四數(shù)據(jù)與第三數(shù)據(jù)是否相等,是則執(zhí)行步驟109,否則驗(yàn)簽失敗,結(jié)束。

步驟109、個(gè)人化設(shè)備根據(jù)預(yù)設(shè)的數(shù)據(jù)分組標(biāo)識符和靜態(tài)簽名數(shù)據(jù)生成數(shù)據(jù)分組;

具體的,個(gè)人化設(shè)備計(jì)算靜態(tài)簽名數(shù)據(jù)長度,將數(shù)據(jù)分組標(biāo)識符、靜態(tài)數(shù)據(jù)長度和靜態(tài)數(shù)據(jù)順序拼接得到數(shù)據(jù)分組;

步驟110、個(gè)人化設(shè)備根據(jù)數(shù)據(jù)分組創(chuàng)建個(gè)人化指令,并將創(chuàng)建的個(gè)人化指令寫入個(gè)人化文件;

具體的,個(gè)人化指令的數(shù)據(jù)格式為cla+ins+p1+p2+lc+dgi+length+data;

其中,cla為命令報(bào)文的類別字節(jié)、ins為命令報(bào)文的指令字節(jié)、p1和p2為引用控制參數(shù)和塊編號、lc為數(shù)據(jù)dgi+length+data的長度、dgi為數(shù)據(jù)分組標(biāo)識符;length為靜態(tài)簽名數(shù)據(jù)長度;data為靜態(tài)簽名數(shù)據(jù);

本實(shí)施例中個(gè)人化指令具體為0x80e20004

a02054770459313dac59babd0781722ac9d1aa73e3eed30a5b91fa1ba3ce6e51b492fff4fdf810c607af738d73b359659ba8f755e0bf38b9f1289e0fc2b84f518a60c852fb01290e61a;其中ox80為cla,e2為ins即存儲數(shù)據(jù)命令的指令字節(jié),00為p1,05為p2,4a為lc,其后的數(shù)據(jù)為data,包括靜態(tài)簽名數(shù)據(jù)的標(biāo)簽ox93和靜態(tài)簽名數(shù)據(jù)。

當(dāng)個(gè)人化文件完成時(shí),個(gè)人化方法還包括:個(gè)人化設(shè)備選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給當(dāng)前操作的卡片。

個(gè)人化設(shè)備等待接收智能卡返回的響應(yīng)數(shù)據(jù),若響應(yīng)數(shù)據(jù)中包括0x9000則表明靜態(tài)簽名數(shù)據(jù)成功寫入智能卡,否則靜態(tài)簽名數(shù)據(jù)寫入失敗。

當(dāng)卡片的卡面沒有預(yù)先印刷卡片信息時(shí),則該方法還包括:個(gè)人化設(shè)備從靜態(tài)數(shù)據(jù)中獲取應(yīng)用主賬號印刷到卡面。

實(shí)施例3

本實(shí)施例提供一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化方法,具體為脫機(jī)認(rèn)證中的ic卡公鑰證書的個(gè)人化方法;如圖2所示,具體包括:

步驟201、個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取所述當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù);

具體的,靜態(tài)數(shù)據(jù)包括應(yīng)用主賬號、應(yīng)用生效日期、應(yīng)用失效日期和應(yīng)用版本號等智能卡靜態(tài)數(shù)據(jù);

本實(shí)施例中,需認(rèn)證的靜態(tài)數(shù)據(jù)具體為:

0x5a0862280001000011175f24033012315f25039507019f08020030,其中第一個(gè)字節(jié)至第十個(gè)字節(jié)為應(yīng)用主賬號;第十一字節(jié)至第十六字節(jié)為應(yīng)用生效日期;第十七字節(jié)至第二十二字節(jié)為應(yīng)用失效日期;第二十三字節(jié)至第二十七字節(jié)為應(yīng)用版本號。

步驟201具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并獲取與當(dāng)前操作的卡片相關(guān)聯(lián)的靜態(tài)數(shù)據(jù);

更進(jìn)一步的,個(gè)人化設(shè)備讀取當(dāng)前操作的卡片表面預(yù)先印刷的卡片信息,例如卡號,并從靜態(tài)數(shù)據(jù)文件中獲取與所述卡片信息相關(guān)聯(lián)的靜態(tài)信息。

更為詳細(xì)的,從靜態(tài)數(shù)據(jù)文件中獲取與所述卡片信息相關(guān)聯(lián)的靜態(tài)數(shù)據(jù)具體為:從靜態(tài)數(shù)據(jù)文件中獲取應(yīng)用主賬號與卡片信息一致的靜態(tài)數(shù)據(jù)。

或者步驟201具體為:個(gè)人化設(shè)備確定當(dāng)前操作的卡片,并從靜態(tài)數(shù)據(jù)文件中獲取一條靜態(tài)數(shù)據(jù)。;

步驟202、個(gè)人化設(shè)備判斷靜態(tài)數(shù)據(jù)是否包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表,是則執(zhí)行步驟203,否則執(zhí)行步驟204;

本實(shí)施例中靜態(tài)數(shù)據(jù)為tlv格式,即靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表是由標(biāo)簽、數(shù)據(jù)長度以及數(shù)據(jù)組成的。

具體的,判斷靜態(tài)數(shù)據(jù)是否包含靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的標(biāo)簽,即判斷靜態(tài)數(shù)據(jù)中是否包含0x4a;是則判定靜態(tài)數(shù)據(jù)中包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表;否則判定靜態(tài)數(shù)據(jù)中不包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表;

步驟203、判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表中是否只包含應(yīng)用交互特征的標(biāo)簽,是則執(zhí)行步驟204,否則ic卡公鑰證書生成失敗;

步驟203具體包括:

步驟203-1、判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)長度是否為1是則執(zhí)行步驟203-2;否則ic卡公鑰證書生成失??;

步驟203-2、判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)是否為應(yīng)用交互特征的標(biāo)簽即判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表的數(shù)據(jù)是否為0x82,是則執(zhí)行步驟204;否則ic卡公鑰證書生成失敗。

步驟204、根據(jù)ic卡公鑰數(shù)據(jù)和靜態(tài)數(shù)據(jù)生成待簽名數(shù)據(jù)。

具體的,將個(gè)人化數(shù)據(jù)中的證書格式、應(yīng)用主賬號、證書失效日期、證書序列號、ic卡公鑰簽名算法標(biāo)識、ic卡公鑰加密算法標(biāo)識、ic卡公鑰參數(shù)標(biāo)識、ic卡公鑰長度和ic卡公鑰順序拼接作為ic卡公鑰數(shù)據(jù),將ic卡公鑰數(shù)據(jù)以及靜態(tài)數(shù)據(jù)順序拼接得到待簽名數(shù)據(jù)。

本實(shí)施例中獲取到的待簽名數(shù)據(jù)具體為0x146228000100001117ffff123000000104001140

c3ac12b81b9d175936b5bf72bb8fe3a2266bc013b2e94f5837f16aa1c01aa7323b75626ab64d02aed20cc6f440841f10ee6873bcbea3f41d6869d0feadd71154

5a0862280001000011175f24033012315f25039507019f08020030

其中待簽名數(shù)據(jù)的第一個(gè)字節(jié)0x14為證書格式,第二個(gè)字節(jié)至第十一字節(jié)0x6228000100001117ffff為應(yīng)用主賬號;第十二個(gè)字節(jié)至第十三字節(jié)ox1230為證書失效日期,第十四字節(jié)至第十六字節(jié)0x000001為證書序列號;第十七字節(jié)0x04為ic卡公鑰簽名算法標(biāo)識;第十八字節(jié)0x00為ic卡公鑰加密算法標(biāo)識;第十九字節(jié)0x11為ic卡公鑰參數(shù)標(biāo)識,用于標(biāo)識橢圓曲線;第二十字節(jié)0x40為ic卡公鑰長度;第二十一字節(jié)至第六十字節(jié)為ic卡公鑰,其后的二十七個(gè)字節(jié)為靜態(tài)數(shù)據(jù);

步驟205、個(gè)人化設(shè)備生成隨機(jī)數(shù),并使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)進(jìn)行簽名得到ic卡數(shù)字簽名;

步驟205具體為:個(gè)人化設(shè)備生成隨機(jī)數(shù),并使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)通過sm2算法進(jìn)行簽名得到ic卡數(shù)字簽名;

本實(shí)施例中得到的ic卡數(shù)字簽名具體為0xaf3a6e51ac91005cdd6136497793091d8a52ea3ad49d8c215fb25a9e3b9e110511d0089a7450147553147bf4144e435cc55de8c8c0d0bfe34115de19804333a5

具體的,步驟205中使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)進(jìn)行簽名得到ic卡數(shù)字簽名與實(shí)施例1中提到的使用發(fā)卡行私鑰對待簽名數(shù)據(jù)和隨機(jī)數(shù)進(jìn)行簽名得到靜態(tài)數(shù)字簽名的過程類似在此不再贅述;

步驟206、個(gè)人化設(shè)備根據(jù)ic卡公鑰數(shù)據(jù)和ic卡數(shù)字簽名生成ic卡公鑰證書。

具體的,將個(gè)人化數(shù)據(jù)中的證書格式、應(yīng)用主賬號、證書失效日期、證書序列號、ic卡公鑰簽名算法標(biāo)識、ic卡公鑰加密算法標(biāo)識、ic卡公鑰參數(shù)標(biāo)識、ic卡公鑰長度和ic卡公鑰順序拼接作為ic卡公鑰數(shù)據(jù),將ic卡公鑰數(shù)據(jù)與ic卡數(shù)字簽名順序拼接得到ic卡公鑰證書。

本實(shí)施例中生成ic卡公鑰證書具體為:

0x6228000100001117ffff123000000104001140

c3ac12b81b9d175936b5bf72bb8fe3a2266bc013b2e94f5837f16aa1c01aa7323b75626ab64d02aed20cc6f440841f10ee6873bcbea3f41d6869d0feadd71154

dd956d186252ee711398b339270cb1839daf4a15b7f907e0ad334470cb83f0e3,0xfd395978a5a0ffd2a2055a986522368e6f3a6be34e0c416eb69fa7a08c89dff2,其中前60字節(jié)為ic卡公鑰數(shù)據(jù);其后的64字節(jié)為步驟210中得到的ic卡數(shù)字簽名。

步驟207、個(gè)人化設(shè)備判斷ic卡公鑰證書中的證書格式的值是否為預(yù)設(shè)值,是則執(zhí)行步驟208、否則ic卡公鑰證書生成失??;

預(yù)設(shè)值具體為ox14;

步驟208、個(gè)人化設(shè)備根據(jù)ic卡公鑰證書中的證書失效日期,判斷證書是否過期,是則執(zhí)行步驟209,否則ic卡公鑰證書生成失??;

步驟209、個(gè)人化設(shè)備判斷ic卡公鑰證書中的ic卡公鑰簽名算法是否為sm2算法,是則執(zhí)行步驟210、否則ic卡公鑰證書生成失??;

具體的,個(gè)人化設(shè)備判斷ic卡公鑰數(shù)據(jù)中的ic卡公鑰簽名算法的值是否為0x04,是則判定ic卡公鑰簽名算法為sm2算法,否則判定ic卡公鑰簽名算法不是sm2算法。

步驟210、個(gè)人化設(shè)備使用發(fā)卡行公鑰對ic卡公鑰證書中的ic卡數(shù)字簽名進(jìn)行驗(yàn)證;判斷驗(yàn)證是否通過,是則執(zhí)行步驟211,否則ic卡公鑰證書生成失??;

步驟210具體為:個(gè)人化設(shè)備使用發(fā)卡行公鑰對ic卡公鑰證書中的ic卡數(shù)字簽名通過sm2算法進(jìn)行驗(yàn)證,判斷驗(yàn)證是否通過,若驗(yàn)證通過則執(zhí)行步驟211,否則ic卡公鑰證書生成失??;

具體的,步驟210中使用發(fā)卡行私鑰對ic卡公鑰證書中的ic卡數(shù)字簽名通過sm2算法進(jìn)行驗(yàn)證與步驟108中使用發(fā)卡行公鑰對靜態(tài)簽名數(shù)據(jù)中的靜態(tài)數(shù)字簽名進(jìn)行驗(yàn)證的過程類似在此不再贅述;

步驟211、個(gè)人化設(shè)備根據(jù)預(yù)設(shè)的數(shù)據(jù)分組標(biāo)識符和ic卡公鑰證書生成數(shù)據(jù)分組;

具體的,個(gè)人化設(shè)備計(jì)算ic卡公鑰證書長度,將數(shù)據(jù)分組標(biāo)識符、ic卡公鑰證書長度和靜態(tài)數(shù)據(jù)順序拼接得到數(shù)據(jù)分組;

步驟212、個(gè)人化設(shè)備根據(jù)數(shù)據(jù)分組創(chuàng)建個(gè)人化指令;并將創(chuàng)建的個(gè)人化指令寫入個(gè)人化文件;

具體的,個(gè)人化指令的數(shù)據(jù)格式為cla+ins+p1+p2+lc+dgi+length+data;

具體的,向智能卡發(fā)送寫入ic卡公鑰證書,并等待接收智能卡返回的響應(yīng)數(shù)據(jù),若響應(yīng)數(shù)據(jù)中包括0x9000則表明ic卡公鑰證書成功寫入智能卡,否則ic卡公鑰證書寫入失敗。

當(dāng)個(gè)人化文件完成時(shí),個(gè)人化方法還包括:個(gè)人化設(shè)備選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給卡片。

個(gè)人化設(shè)備等待接收智能卡返回的響應(yīng)數(shù)據(jù),若響應(yīng)數(shù)據(jù)中包括0x9000則表明靜態(tài)簽名數(shù)據(jù)成功寫入智能卡,否則靜態(tài)簽名數(shù)據(jù)寫入失敗。

當(dāng)卡片的卡面沒有預(yù)先印刷卡片信息時(shí),則該方法還包括:個(gè)人化設(shè)備從靜態(tài)數(shù)據(jù)中獲取應(yīng)用主賬號印刷到卡面。

實(shí)施例4

本實(shí)施例提供一種脫機(jī)認(rèn)證數(shù)據(jù)的個(gè)人化設(shè)備,參見圖3,包括:

獲取模塊11,用于確定當(dāng)前操作的卡片,并獲取所述當(dāng)前操作的卡片的靜態(tài)數(shù)據(jù);

獲取模塊11獲取到的靜態(tài)數(shù)據(jù)中具體包括:應(yīng)用主賬戶、應(yīng)用生效日期、應(yīng)用失效日期和應(yīng)用版本號。

待簽名數(shù)據(jù)組織模塊12,用于根據(jù)預(yù)設(shè)格式組織包含獲取模塊11獲取到的靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);

隨機(jī)數(shù)生成模塊13,用于生成隨機(jī)數(shù);

簽名模塊14,用于使用發(fā)卡行私鑰對待簽名數(shù)據(jù)組織模塊12組織的待簽名數(shù)據(jù)和隨機(jī)數(shù)生成模塊13生成的隨機(jī)數(shù)進(jìn)行簽名得到數(shù)字簽名;

具體的,簽名模塊14,用于使用發(fā)卡行私鑰對隨機(jī)數(shù)生成模塊13生成的隨機(jī)數(shù)和待簽名數(shù)據(jù)組織模塊12組織的待簽名數(shù)據(jù)通過sm2算法進(jìn)行簽名得到數(shù)字簽名。

更進(jìn)一步的,簽名模塊14具體包括:

拼接子模塊,用于將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰順序拼接得到第一數(shù)據(jù);還用于將待簽名數(shù)據(jù)和sm3子運(yùn)算模塊得到的第一雜湊值順序拼接得到第二數(shù)據(jù);

相應(yīng)的,sm3運(yùn)算子模塊,用于將拼接子模塊得到的第一數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第一雜湊值;還用于將拼接模塊得到的第二數(shù)據(jù)進(jìn)行sm3密碼雜湊算法得到第二雜湊值;

計(jì)算橢圓曲線點(diǎn)模塊,用于根據(jù)隨機(jī)數(shù)生成模塊13生成的第一隨機(jī)數(shù)計(jì)算橢圓曲線點(diǎn);

模運(yùn)算模塊,用于計(jì)算計(jì)算橢圓曲線點(diǎn)模塊得到的橢圓曲線點(diǎn)的橫坐標(biāo)和sm3運(yùn)算子模塊得到的第二雜湊值之和,將計(jì)算得到的結(jié)果與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第三數(shù)據(jù);還用于計(jì)算第三數(shù)據(jù)與發(fā)卡行私鑰之積得到第五數(shù)據(jù),計(jì)算第一隨機(jī)數(shù)與第五數(shù)據(jù)之差得到第六數(shù)據(jù),將第六數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第七數(shù)據(jù);

第一判斷子模塊,用于判斷模運(yùn)算模塊得到的第三數(shù)據(jù)與第一預(yù)設(shè)值是否相等;

第二判斷子模塊,用于當(dāng)?shù)谝慌袛嘧幽K判定第三數(shù)據(jù)與第一預(yù)設(shè)值不相等時(shí)判斷模運(yùn)算模塊得到的第三數(shù)據(jù)與隨機(jī)數(shù)生成模塊13生成的第一隨機(jī)數(shù)之和是否等于橢圓曲線上基點(diǎn)的階;

模逆運(yùn)算子模塊,用于第二判斷模塊判定模運(yùn)算模塊得到的第三數(shù)據(jù)與隨機(jī)數(shù)生成模塊13生成的第一隨機(jī)數(shù)之和等于橢圓曲線上基點(diǎn)的階時(shí),計(jì)算1與發(fā)卡行私鑰之和的模逆得到第四數(shù)據(jù);

第三判斷模塊,用于計(jì)算模逆運(yùn)算子模塊得到的第四數(shù)據(jù)與模運(yùn)算模塊得到的第七數(shù)據(jù)之積得到第八數(shù)據(jù),判斷第八數(shù)據(jù)是否等于第二預(yù)設(shè)值;

數(shù)字簽名子模塊,用于當(dāng)?shù)谌袛嗄K判定第八數(shù)據(jù)不等于第二預(yù)設(shè)值時(shí)將模運(yùn)算模塊得到的第三數(shù)據(jù)與第八數(shù)據(jù)順序拼接得到數(shù)字簽名;

隨機(jī)數(shù)生成模塊13,具體用于生成隨機(jī)數(shù)作為第一隨機(jī)數(shù);還用于當(dāng)?shù)谝慌袛嘧幽K判定第三數(shù)據(jù)與第一預(yù)設(shè)值相等時(shí)生成隨機(jī)數(shù),更新第一隨機(jī)數(shù),觸發(fā)計(jì)算橢圓曲線點(diǎn)模塊;還用于當(dāng)?shù)谌袛嗄K判定第八數(shù)據(jù)與第二預(yù)設(shè)值相等時(shí)生成隨機(jī)數(shù),更新第一隨機(jī)數(shù),觸發(fā)計(jì)算橢圓曲線點(diǎn)模塊。

簽名數(shù)據(jù)生成模塊15,用于根據(jù)簽名模塊14生成的數(shù)字簽名以及待簽名數(shù)據(jù)中除去靜態(tài)數(shù)據(jù)的其余數(shù)據(jù)生成簽名數(shù)據(jù);

數(shù)據(jù)分組組合模塊16,用于根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)生成模塊15生成的簽名數(shù)據(jù)組合為數(shù)據(jù)分組;

具體的,數(shù)據(jù)分組組合模塊16,用于計(jì)算簽名數(shù)據(jù)長度,將預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符、簽名數(shù)據(jù)長度和簽名數(shù)據(jù)生成模塊15生成的簽名數(shù)據(jù)順序拼接生成數(shù)據(jù)分組。

創(chuàng)建個(gè)人化指令模塊17,用于根據(jù)數(shù)據(jù)分組組合模塊16組合的數(shù)據(jù)分組創(chuàng)建個(gè)人化指令;

具體的,創(chuàng)建個(gè)人化指令模塊17,用于根據(jù)數(shù)據(jù)分組組合模塊16組合的數(shù)據(jù)分組織apdu指令;數(shù)據(jù)分組為apdu指令的命令數(shù)據(jù)域。

寫入模塊18,用于將創(chuàng)建個(gè)人化指令模塊17創(chuàng)建的個(gè)人化指令寫入個(gè)人化文件;

發(fā)送模塊19,用于當(dāng)個(gè)人化文件完成時(shí)選擇卡片的主安全域,打開安全通道,并將個(gè)人化文件中的個(gè)人化指令發(fā)送給當(dāng)前操作的卡片。

具體的,待簽名數(shù)據(jù)組織模塊12,用于將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和獲取模塊11獲取到的靜態(tài)數(shù)據(jù)順序拼接生成待簽名數(shù)據(jù);

相應(yīng)的,簽名數(shù)據(jù)生成模塊15,具體用于將簽名數(shù)據(jù)格式、數(shù)據(jù)驗(yàn)證代碼和簽名模塊14得到的數(shù)字簽名順序拼接生成簽名數(shù)據(jù),簽名數(shù)據(jù)即為靜態(tài)簽名數(shù)據(jù)。

具體的,待簽名數(shù)據(jù)組織模塊12,用于將ic卡公鑰數(shù)據(jù)與獲取模塊11獲取到的靜態(tài)數(shù)據(jù)順序拼接得到待簽名數(shù)據(jù);

相應(yīng)的,簽名數(shù)據(jù)生成模塊15,具體用于將ic卡公鑰數(shù)據(jù)和簽名模塊14得到的數(shù)字簽名順序拼接生成簽名數(shù)據(jù),簽名數(shù)據(jù)即為ic卡公鑰證書。

優(yōu)選的,個(gè)人化設(shè)備還包括:

第一判斷模塊,用于判斷簽名數(shù)據(jù)組織模塊組織的簽名數(shù)據(jù)是否滿足預(yù)設(shè)條件;

具體的,第一判斷模塊,用于判斷簽名數(shù)據(jù)組織模塊組織的簽名數(shù)據(jù)的格式是否正確。

驗(yàn)簽?zāi)K,用于若第一判斷模塊判定簽名數(shù)據(jù)滿足預(yù)設(shè)條件時(shí)使用發(fā)卡行公鑰對簽名數(shù)據(jù)中的數(shù)字簽名進(jìn)行驗(yàn)證,并判斷驗(yàn)證是否成功;

具體的,驗(yàn)簽?zāi)K,用于若第一判斷模塊判定簽名數(shù)據(jù)滿足預(yù)設(shè)條件時(shí)使用發(fā)卡行公鑰對簽名數(shù)據(jù)中的數(shù)字簽名通過sm2算法進(jìn)行驗(yàn)證,并判斷驗(yàn)證是否成功。

相應(yīng)的,數(shù)據(jù)分組組合模塊16,具體用于當(dāng)驗(yàn)證成功模塊判定驗(yàn)證成功時(shí)根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)組合為數(shù)據(jù)分組。

更進(jìn)一步的,驗(yàn)簽?zāi)K,具體包括:

拼接子模塊,用于將用戶可辨別標(biāo)識比特長度、用戶可辨別標(biāo)識、橢圓曲線參數(shù)和發(fā)卡行公鑰順序拼接生成第九數(shù)據(jù);還用于將sm3子運(yùn)算模塊的第三雜湊值和待簽名數(shù)據(jù)生成模塊15生成的待簽名數(shù)據(jù)順序拼接生成第十?dāng)?shù)據(jù);

sm3運(yùn)算子模塊,用于將拼接模塊生成的第九數(shù)據(jù)進(jìn)行sm3運(yùn)算生成第三雜湊值;還用于將拼接子模塊生成的第十?dāng)?shù)據(jù)進(jìn)行sm3運(yùn)算生成第四雜湊值;

模運(yùn)算模塊,用于從簽名數(shù)據(jù)生成模塊15生成的簽名數(shù)據(jù)中獲取第三數(shù)據(jù)和第八數(shù)據(jù),計(jì)算第三數(shù)據(jù)與第八數(shù)據(jù)之和得到第十一數(shù)據(jù),將第十一數(shù)據(jù)和橢圓曲線上的基點(diǎn)的階進(jìn)行模運(yùn)算得到第十二數(shù)據(jù);還用于計(jì)算sm3運(yùn)算子模塊得到的第四雜湊值與計(jì)算橢圓曲線模塊得到的橢圓曲線點(diǎn)的橫坐標(biāo)之和得到第十三數(shù)據(jù),將第十三數(shù)據(jù)與橢圓曲線上基點(diǎn)的階進(jìn)行模運(yùn)算得到第十四數(shù)據(jù);

計(jì)算橢圓曲線模塊,用于根據(jù)第八數(shù)據(jù)、模運(yùn)算模塊得到的第十二數(shù)據(jù)、橢圓曲線的基點(diǎn)以及發(fā)卡行公鑰計(jì)算橢圓曲線點(diǎn);

判斷子模塊,用于判斷模運(yùn)算模塊得到的第十四數(shù)據(jù)與第三數(shù)據(jù)是否相等;

數(shù)據(jù)分組組合模塊16,用于當(dāng)判斷子模塊判定第十四數(shù)據(jù)與第三數(shù)據(jù)相等時(shí),根據(jù)預(yù)設(shè)數(shù)據(jù)分組標(biāo)識符和簽名數(shù)據(jù)生成模塊15生成的簽名數(shù)據(jù)組合為數(shù)據(jù)分組。

優(yōu)選的,個(gè)人化設(shè)備,還包括:第一判斷模塊,用于判斷獲取模塊11獲取到的靜態(tài)數(shù)據(jù)中是否包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表;

第二判斷模塊,用于當(dāng)?shù)谝慌袛嗄K判定靜態(tài)數(shù)據(jù)中包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表時(shí)判斷靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表中是否只包含應(yīng)用交互特征的標(biāo)簽;

相應(yīng)的,待簽名數(shù)據(jù)組織模塊12,用于當(dāng)?shù)谝慌袛嗄K判定靜態(tài)數(shù)據(jù)中不包括靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表時(shí),根據(jù)預(yù)設(shè)格式組織包含獲取模塊11獲取到的靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù);還用于當(dāng)?shù)诙袛嗄K判定靜態(tài)數(shù)據(jù)認(rèn)證標(biāo)簽列表中只包含應(yīng)用交互特征的標(biāo)簽時(shí),根據(jù)預(yù)設(shè)格式組織包含獲取模塊11獲取到的靜態(tài)數(shù)據(jù)的待簽名數(shù)據(jù)。

以上所述的實(shí)施例只是本發(fā)明較優(yōu)選的具體實(shí)施方式,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1