欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法與流程

文檔序號:12366385閱讀:698來源:國知局
一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法與流程

本發(fā)明涉及金融支付領(lǐng)域,具體涉及一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法。



背景技術(shù):

在金融交易中,最為關(guān)鍵是發(fā)卡行腳本,它是發(fā)卡行向終端發(fā)送的命令或者命令序列,目的是向IC卡片連續(xù)輸入命令。但是,數(shù)據(jù)在傳輸過程中可能存在被監(jiān)聽、被截獲或則篡改的風險,給IC卡片持卡人或發(fā)卡行造成財產(chǎn)損失。



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

本發(fā)明所要解決的技術(shù)問題是改進現(xiàn)有發(fā)卡行腳本指令傳輸方案,加強卡片和發(fā)卡行之間的認證和數(shù)據(jù)傳輸?shù)陌踩缘膯栴}。

為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是提供一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法,包括以下步驟:

使用卡片衍生MAC的過程密鑰對發(fā)卡行腳本指令的待加密數(shù)據(jù)進行加密運算,獲得該發(fā)卡行腳本指令的MAC;

對于第一條發(fā)卡行腳本指令的MAC,待加密數(shù)據(jù)的組織順序依次為:APDU指令頭5字節(jié)、上次應(yīng)用交易計數(shù)器、8字節(jié)授權(quán)請求密文和命令數(shù)據(jù)域數(shù)據(jù);

對于不是第一條發(fā)卡行腳本指令的MAC,待加密數(shù)據(jù)的組織順序依次為:APDU指令頭5字節(jié)、上次應(yīng)用交易計數(shù)器、上一條發(fā)卡行腳本指令的MAC和命令數(shù)據(jù)域數(shù)據(jù)。

在上述方法中,所述發(fā)卡行腳本指令的MAC為8字節(jié)全MAC或4字節(jié)MAC。

在上述方法中,所述APDU指令頭5字節(jié)包括CLA、INS、P1、P2和LC。

在上述方法中,使用過程密鑰對發(fā)卡行腳本指令的待加密數(shù)據(jù)進行加密運算采用3DES-CBC算法。

在上述方法中,針對當前的應(yīng)用交易計數(shù)器,組織第一條發(fā)卡行腳本指令報文時,該腳本指令的MAC初始向量H0為8個字節(jié)的全零。

在上述方法中,當發(fā)卡行腳本指令的MAC為4字節(jié)的MAC時,從對待加密數(shù)據(jù)進行加密運算的計算結(jié)果左側(cè)依次取4字節(jié)長度作為MAC,并置CLA的后半字節(jié)為4。

在上述方法中,當上一條發(fā)卡行腳本指令的MAC長度是4字節(jié)時,在MAC后填充4字節(jié)00,組成8字節(jié)MAC用于組織待加密數(shù)據(jù)。

本發(fā)明計算第一條發(fā)卡行腳本指令的MAC使用的是8字節(jié)授權(quán)請求密文,并在之后計算下一條發(fā)卡行腳本指令的MAC時,使用上一條發(fā)卡行腳本指令的8字節(jié)MAC,使同一應(yīng)用交易計數(shù)器時發(fā)卡行腳本指令的MAC構(gòu)成鏈式結(jié)構(gòu),這種鏈式結(jié)構(gòu)讓發(fā)卡行腳本指令序列按順序執(zhí)行,能夠有效防止發(fā)卡行腳本指令在數(shù)據(jù)傳輸過程中被遺漏、截獲或篡改;由于在金融借記、貸記規(guī)范中外部認證步驟是可選的,且修改卡片數(shù)據(jù)又必須具備一定的安全性,而本發(fā)明成功校驗MAC通過的前提是上一條腳本指令的成功執(zhí)行,即跟發(fā)卡行一樣擁有正確的計算數(shù)據(jù),這樣就有效的保證了卡片和發(fā)卡行之間的可靠認證。

附圖說明

圖1為本發(fā)明中發(fā)卡行腳本指令的傳輸系統(tǒng)結(jié)構(gòu)示意圖;

圖2為本發(fā)明中待加密數(shù)據(jù)的組織結(jié)構(gòu)示意圖;

圖3為采用本發(fā)明提供的一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法進行發(fā)卡行腳本指令傳輸?shù)牧鞒虉D。

具體實施方式

下面結(jié)合說明書附圖和具體實施例對本發(fā)明做出詳細的說明。

本發(fā)明通過將各條發(fā)卡行腳本指令MAC形成鏈式,有效地保證了卡片3和發(fā)卡行1之間數(shù)據(jù)傳輸?shù)陌踩?。在金融交易中,發(fā)卡行腳本指令的傳輸系統(tǒng)如圖1所示,包括發(fā)卡行1、終端2和卡片3;

發(fā)卡行1用于對卡片3進行個人化數(shù)據(jù)和聯(lián)機處理,且通過向終端2發(fā)送發(fā)卡行腳本指令修改卡片3上的數(shù)據(jù);

在金融交易(即借記、貸記交易,是由于持卡者和商戶之間的商品或服務(wù)交換行為而在持卡者、發(fā)卡機構(gòu)、商戶和收單行之間產(chǎn)生的信息交換、資金清算和結(jié)算行為,交易類型包括聯(lián)機、脫機和拒絕交易)中,終端2用于接收發(fā)卡行腳本指令、向卡片3發(fā)送APDU(應(yīng)用協(xié)議數(shù)據(jù)單元)指令、接收卡片3處理APDU指令后的響應(yīng)信息、執(zhí)行脫機認證或者向發(fā)卡行1轉(zhuǎn)發(fā)卡片3的響應(yīng)信息;

卡片3用于執(zhí)行處執(zhí)行終端2發(fā)送過來的APDU指令和存儲發(fā)卡行1分配的個人化數(shù)據(jù)。

其中,

個人化數(shù)據(jù)是指發(fā)卡行1按規(guī)定格式為每張卡片3組織的特定數(shù)據(jù);

聯(lián)機處理是指如果卡片3和終端2決定交易,需要一個聯(lián)機授權(quán),終端2傳送一個聯(lián)機授權(quán)報文給發(fā)卡行1,這個報文包括授權(quán)請求密文、生成授權(quán)請求密文的數(shù)據(jù)和脫機處理結(jié)果指示器;

發(fā)卡行腳本指令是發(fā)卡行1向終端2發(fā)送的APDU命令或APDU命令序列,以修改卡片3上存儲的允許發(fā)卡行1修改的數(shù)據(jù);

脫機認證包含靜態(tài)數(shù)據(jù)認證(SDA)和動態(tài)數(shù)據(jù)認證(DDA),靜態(tài)數(shù)據(jù)認證(SDA)驗證卡片中的重要數(shù)據(jù)在發(fā)卡后是否被篡改,終端2使用卡片3中的發(fā)卡行公鑰驗證卡片3中的靜態(tài)(不變)數(shù)據(jù);動態(tài)數(shù)據(jù)認證(DDA)驗證卡片3中的重要數(shù)據(jù)在發(fā)卡后是否被篡改,同時驗證卡片3是否是偽卡,而動態(tài)數(shù)據(jù)認證有標準動態(tài)數(shù)據(jù)認證(DDA)和復(fù)合動態(tài)數(shù)據(jù)認證(DDA/AC-CDA)兩種,終端2要求卡片3提供由IC私鑰簽名動態(tài)交易數(shù)據(jù)生成的動態(tài)簽名,動態(tài)交易數(shù)據(jù)是由終端2和卡片3為當前交易產(chǎn)生的唯一數(shù)據(jù),終端2用從卡片3數(shù)據(jù)中獲取的IC卡公鑰來驗證動態(tài)簽名。

本發(fā)明提供的一種發(fā)卡行腳本指令鏈式MAC的實現(xiàn)方法為:

使用卡片衍生MAC的過程密鑰(MAC UDK)對發(fā)卡行腳本指令的待加密數(shù)據(jù)進行加密運算(按3DES-CBC算法對待加密數(shù)據(jù)進行運算),獲得該發(fā)卡行腳本指令的MAC(8字節(jié)或4字節(jié)),加在APDU指令的末尾處,得到發(fā)卡行腳本指令,MAC UDK由卡片上專為計算MAC準備的密鑰衍生得到。

發(fā)卡行使用授權(quán)請求密文(ARQC)計算第一條發(fā)卡行腳本指令的MAC。

如圖2所示,對于第一條發(fā)卡行腳本指令的MAC,待加密數(shù)據(jù)的組織順序依次為:APDU頭5字節(jié)(包括CLA、INS、P1、P2和LC)、上次應(yīng)用交易計數(shù)器、8字節(jié)授權(quán)請求密文和命令數(shù)據(jù)域數(shù)據(jù);當發(fā)卡行腳本指令的MAC為4字節(jié)的MAC時,則從對待加密數(shù)據(jù)進行加密運算的計算結(jié)果左側(cè)依次取得4字節(jié)長度的數(shù)據(jù)作為MAC,然后,置CLA的后半字節(jié)為4。

針對上次應(yīng)用交易計數(shù)器,組織第一條發(fā)卡行腳本指令報文時,該腳本指令的MAC初始向量H0為8個字節(jié)的全零。

使用上一條發(fā)卡行腳本指令的MAC,計算不是第一條發(fā)卡行腳本指令的MAC時,待加密數(shù)據(jù)的組織順序與第一條發(fā)卡行腳本指令的基本相同,只用將8字節(jié)授權(quán)請求密文替換成上一條發(fā)卡行腳本指令的MAC,即待加密數(shù)據(jù)的組織順序依次為:APDU指令頭5字節(jié)、上次應(yīng)用交易計數(shù)器、上一條發(fā)卡行腳本指令的8字節(jié)MAC和命令數(shù)據(jù)域數(shù)據(jù)。

當上一條發(fā)卡行腳本指令的MAC長度是4字節(jié)時,在MAC后填充4字節(jié)00,組成8字節(jié)MAC用于組織待加密數(shù)據(jù)。

如圖3所示,利用本發(fā)明進行發(fā)卡行腳本指令傳輸具體包括以下步驟:

步驟S1、在借記、貸記交易中,當卡片3和終端2決定進行聯(lián)機交易,需要一個聯(lián)機授權(quán)(終端2具有聯(lián)機能力),則終端2傳送一個聯(lián)機請求(即聯(lián)機授權(quán)報文)給發(fā)卡行1;

所述借記、貸記交易,本文檔中未描述部分遵循中國金融集成電路(IC)卡規(guī)范JR/T 0025中借記貸記應(yīng)用相關(guān)標準。

步驟S2、發(fā)卡行1收到聯(lián)機請求后,發(fā)送外部認證指令給卡片3;

步驟S3、卡片3處理外部認證指令,如果通過,則進入步驟S4;否則,交易結(jié)束;

步驟S4、卡片3進行交易結(jié)束最終檢查,并生成最終應(yīng)用密文;

步驟S5、發(fā)卡行1接收應(yīng)用密文確定交易結(jié)果,并使用授權(quán)請求密文計算第一條發(fā)卡行腳本指令的MAC,發(fā)送該指令給卡片3;

步驟S6、卡片3收到發(fā)卡行腳本指令報文并驗證MAC通過后,執(zhí)行該發(fā)卡行腳本指令;

步驟S7、判斷是否還有下一條發(fā)卡行腳本指令,如果有,進入步驟S8;否則,交易結(jié)束;

步驟S8、發(fā)卡行1使用上一條發(fā)卡行腳本指令的8字節(jié)全MAC,計算下一條發(fā)卡行腳本指令的MAC,并發(fā)送該指令給卡片3;

步驟S9、卡片3收到發(fā)卡行腳本指令報文并驗證MAC,通過后,執(zhí)行該發(fā)卡行腳本指令,然后執(zhí)行步驟S7。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邢台市| 栾川县| 图们市| 苏州市| 尉氏县| 抚顺市| 揭阳市| 合江县| 辽宁省| 西峡县| 三原县| 芷江| 公安县| 宣汉县| 临洮县| 宁阳县| 蒙山县| 微山县| 普兰店市| 大埔区| 钦州市| 桐庐县| 安平县| 天峻县| 虞城县| 自治县| 邳州市| 临潭县| 雷波县| 儋州市| 彭泽县| 庄浪县| 灵武市| 鲁山县| 额济纳旗| 缙云县| 陆丰市| 蓬安县| 元谋县| 台南市| 三原县|