非接觸ic卡片apdu指令系統(tǒng)介紹_第1頁
非接觸ic卡片apdu指令系統(tǒng)介紹_第2頁
非接觸ic卡片apdu指令系統(tǒng)介紹_第3頁
非接觸ic卡片apdu指令系統(tǒng)介紹_第4頁
非接觸ic卡片apdu指令系統(tǒng)介紹_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

APDUAPDU根據(jù)7816-4規(guī)范,從終端發(fā)出令和卡片響應(yīng)的信息必須遵從以下4種LeLeLeLeAPDU命令由4字節(jié)令頭和命令體組成,見圖1命令頭(必備體命令體(可選體1APDU1值1不帶安全報(bào)文帶安全報(bào)文111 Le=00255APDUAPDU22APDUSW1SW2是卡片執(zhí)行命令的返回代碼,任何命令的返回信息都至少由一個(gè)SW1SW22部分組成:word1word22SW1-XXGetResponse命令(T=0)XEEPROMCLAMFP1P2Le/LcLeMACMACSW1的高半字節(jié)為‘9’,且低半字節(jié)不為‘0’時(shí),其含義依賴于相關(guān)應(yīng)用。SW1的高半字節(jié)為‘6’,且低半字節(jié)不為‘0’時(shí),其含義與應(yīng)用無關(guān)。APDUED/EP應(yīng)用和電子現(xiàn)金應(yīng)用,────READRECORD(讀記錄────GETRESPONSE(取響應(yīng)────GETCHALLENGE(產(chǎn)生隨機(jī)數(shù)────PINCHANGE/UNBLOCK(個(gè)人修改/────CARDBLOCK(卡片鎖定────GETBALANCE(讀余額────GETTRANSACTIONPROVE(取認(rèn)證────CHANGEPIN(修改個(gè)人────INITIALIZEFORLOAD(圈存初始化────CREDITFORLOAD(圈存────INITIALIZEFORPURCHASE(消費(fèi)初始化────INITIALIZEFORCASHWITHDRAW(取現(xiàn)初始化────DEBITFORPURCHASE/CASHWITHDRAW(消費(fèi)/取現(xiàn)────INITIALIZEFORUNLOAD(圈提初始化,僅用于電子────DEBITFORUNLOAD(圈提,僅用于電子────INITIALIZEFORUPDATE(修改透支限額初始化,僅用于電子────APPENDRECORD(增加記錄────INITIALIZEFORCAPPPURCHASE(復(fù)合應(yīng)用消費(fèi)初始化────DEBITFORCAPPPURCHASE(復(fù)合應(yīng)用消費(fèi)────GETPROCESSINGOPTIONS(獲取處理選項(xiàng)3APDU READBINARY(讀二進(jìn)制READRECORD(讀記錄號(hào)‘00’‘00’號(hào)GETRESPONSE(取響應(yīng)GETCHALLENGE(產(chǎn)生隨機(jī)數(shù) PINCHANGE/UNBLOCK(個(gè)人修改/CARDBLOCK(卡片鎖定GETBALANCE(讀余額GETTRANSACTIONPROVE(取認(rèn)證CHANGEPIN(修改個(gè)人INITIALIZEFORLOAD(圈存初始化CREDITFORLOAD(圈存INITIALIZEFORPURCHASE(消費(fèi)初始化INITIALIZEFORCASHWITHDRAW(化DEBITFORPURCHASE/CASHWITHDRAW(費(fèi)/取現(xiàn)INITIALIZEFORUNLOAD(圈提初始化DEBITFORUNLOAD(圈提APPENDRECORD(增加記錄‘00’費(fèi)初始化據(jù)緩存DEBITFORCAPPPURCHASE(復(fù)合應(yīng)用消費(fèi) 待待修改GETPROCESSINGOPTIONS(獲取處理選項(xiàng)通用指令是電子錢包電子電子現(xiàn)金都支持的但是針對(duì)不同的應(yīng)用,APDU數(shù)據(jù)存?。簉ead/updatebinary,read/update/appendrecord,get/put卡片安全相關(guān):verifypinchange/unblockchangepinexternalblock,getchallenge相關(guān):getbalance,gettransactionprove,initializeforload,creditforload,initializeforpurchase,initializeforcashwithdraw,debitforpurchase/cashrawiitialzeunloaddebitunloadinitializeupdateupdategenerateac,getprocessingoptions其他:getSELECT文件選擇指令一般針對(duì)文件,可以是主MF(PSEDF或ADF可以通過文件標(biāo)識(shí)FID或文件名字AID來選擇是一種顯示。FCI,F(xiàn)CI描述了文件的特性,在個(gè)人化期間建立。FCIDF/ADF成為當(dāng)前,后續(xù)的指令皆針對(duì)該應(yīng)用進(jìn)行。如果要切換,必須再次執(zhí)行選擇指令。DFEFASELECT4SELECT值表5定義了命令報(bào)文中的控制參數(shù)表5SELECT命令控制參 00000100PSE名、DFAIDPSE、DDFADFFCI6365規(guī)定了此定義了所用的標(biāo)志。不規(guī)定FCI中回送的附加標(biāo)志。6PSEFCI:6SELECTPSE的響應(yīng)報(bào)文標(biāo)值FCIMDFMFCI數(shù)MM7DDF7SELECTDDF的響應(yīng)報(bào)文標(biāo)值FCIMDFMFCI數(shù)MM8ADF8SELECTADF的響應(yīng)報(bào)文標(biāo)值FCIMDFMFCI數(shù)MO表9定義了ADF回送的‘A5’中包含的數(shù)據(jù),其中必須包含為’9F08’的應(yīng)用版本號(hào),其數(shù)值由金融標(biāo)準(zhǔn)化技術(shù)負(fù)責(zé)定義和。表9SELECTADF的應(yīng)答報(bào)文中的FCI數(shù)據(jù)模FCI數(shù)據(jù)模M應(yīng)用OOMOGETRESPONSET=0APDU不能用現(xiàn)有協(xié)議傳輸時(shí),GETRESPONSE命令提供了一種從卡片APDU(APDU的一部分)的傳輸方法。GETRESPONSE10GETRESPONSE值Le11列出正常處理情況:11GETRESPONSE ‘XX’GETIC卡可能回送的警態(tài)碼如表12所示表12GETRESPONSE警 IC1313GETRESPONSE 長度錯(cuò)誤(Le不正確P1P2際長度INSCLAIC卡可能回送的警態(tài)碼如表14所示表14SELECT警 FCIP2IC1515SELECT P1P2LcP1P2INSCLA記錄數(shù)據(jù)(讀記錄、修改記錄、增加記錄),針對(duì)記錄文件,如read/update/appendREADBINARYREADBINARY命令用于二進(jìn)制文件的內(nèi)容(或部分內(nèi)容)READBINARY16READBINARY值從文件中的第一個(gè)字節(jié)的偏移地不存在;(CLA=’04’時(shí)除外不存在;(CLA=’04’表17定義了命令報(bào)文中的控制參數(shù)表17READBINARY命令控制參 X100XXXXXMAC。MAC的計(jì)算方法和長度由應(yīng)用決定。Le256(短長度)65536(擴(kuò)展長度IC卡可能回送的警態(tài)碼如表18所示表18READBINARY警 文件長度IC1919READBINARY 長度錯(cuò)誤(Lc域?yàn)榭誔1,P2長度錯(cuò)誤(Le錯(cuò)誤;’XX’為實(shí)際長度INSCLAUPDATEBINARY命令報(bào)文使用命令A(yù)PDU中給定的數(shù)據(jù)修改EF文件中已值元(4字節(jié)CLA‘00’CLA‘04’表21定義了命令報(bào)文中的控制參數(shù) X100XXXXX報(bào)文鑒別代碼(MAC)數(shù)據(jù)元:4字節(jié)IC卡可能回送的警態(tài)碼如表22所示表22UPDATEBINARY警 IC23 長度錯(cuò)誤(Lc域?yàn)榭誔1,P2INSCLAREADRECORDREADRECORD命令用于記錄文件的內(nèi)容ICREADRECORD24READRECORD值不存在(CLA=’04’時(shí)除外不存在(CLA=’04’時(shí)除外表25定義了命令報(bào)文中的控制參數(shù)表25READRECORD命令控制參 XXXXX100MAC。MAC的計(jì)算方法和長度由應(yīng)用決定。所有執(zhí)行成功的READRECORD命令的響應(yīng)報(bào)文數(shù)據(jù)域由的記錄組成IC卡可能回送的警態(tài)碼如表26所示表26READRECORD警 IC2727READRECORD 長度錯(cuò)誤(Lc域不存在P1,P2INSCLAUPDATERECORDAPDU中給定的數(shù)據(jù)更改指定的記錄。UPDATERECORD28UPDATERECORD值‘00’或更新原有記錄的新記錄+(MAC)數(shù)據(jù)元(4字節(jié)CLA‘00’CLA‘04’表29定義了命令報(bào)文中的控制參數(shù)表29UPDATERECORD命令控制參 XXXXX000001010011100命令報(bào)文數(shù)據(jù)域由更新原有記錄的新記錄和報(bào)文鑒別代碼(MAC)數(shù)據(jù)元(4IC卡可能回送的警態(tài)碼如表30所示表30UPDATERECORD警 IC3131UPDATERECORD 長度錯(cuò)誤(Lc域?yàn)榭瘴募锌臻g不INSCLAAPPENDRECORDAPPENDRECORD3232值表33定義了命令報(bào)文中的控制參數(shù)表33APPENDRECORD命令控制參xxxxx0009000IC3434APPENDRECORD文件中空間不下面描述的是在非金融過程中在特殊設(shè)備上使用GETDATA命令到的數(shù)據(jù)和一個(gè)金融過程中,使用GETDATA命令數(shù)據(jù)。GETDATA命令表35使用GETDATA命令的靜態(tài)數(shù)金額限制數(shù)(雙貨幣金融GETDATA命令用來從當(dāng)前應(yīng)用中取得一個(gè)沒有封裝在記錄中的基本數(shù)據(jù)對(duì)象。GETDATA命令可以用來獲取基本數(shù)據(jù)對(duì)象ATC(為'9F36')、上次聯(lián)機(jī)ATC寄存器(為'9F13')或重試計(jì)數(shù)器(為'9F17')、日志格式('9F4F'GETDATA值P1要數(shù)據(jù)的P1P2所述的基本數(shù)據(jù)對(duì)象。(即包括它的和它的長度)。6A8837PUTDATA金額限制數(shù)(雙貨幣下限上限值P1要修改的數(shù)據(jù)對(duì)象的MAC48MAC。MACCLcTLVverify,pinchange/unblock,changepin,externalauthentication,internalauthentication,applicationblock,applicationunblock,cardblock,getchallenge41resetPPS/后applicationapplicationcardpinchangeexternalinternal/C。getchallenge指令取出的隨機(jī)數(shù)要用于安全相關(guān)的指令的計(jì)算過程中,所以PIN以外的安全指令執(zhí)行之前,都需要先執(zhí)行該指令。ED/EP應(yīng)用和金融借貸記應(yīng)用中,以上指令會(huì)存在細(xì)節(jié)上的差別,具體ED/EPAPPLICATIONBLOCKFCI(T=0GETRESPONSE指令取回。APPLICATIONBLOCK(SW19303’對(duì)其令的影響根據(jù)不同應(yīng)用而定。值報(bào)文鑒別代碼(MAC)數(shù)據(jù)元;根據(jù)附錄C中的規(guī)定P2=’00’:此命令執(zhí)行成功后可鎖定應(yīng)用,但該應(yīng)用可以用APPLICATIONUNBLOCK命令。命令報(bào)文數(shù)據(jù)域包括根據(jù)本文附錄C中的規(guī)定進(jìn)行編碼的報(bào)文鑒別碼(MAC)無論應(yīng)用是否已經(jīng)失效,此命令執(zhí)行成功的狀態(tài)碼是’9000’IC卡可能回送的警態(tài)碼如表43所示表43APPLICATIONBLOCK警 IC44 LcP1P2未找到數(shù)INSCLAAPPLICATIONUNBLOCK當(dāng)APPLICATIONUNBLOCKAPPLICATION值值報(bào)文鑒別代碼(MAC)數(shù)據(jù)元;根據(jù)附錄C中命令報(bào)文數(shù)據(jù)域的內(nèi)容包括根據(jù)中附錄C的規(guī)定進(jìn)行編碼的報(bào)文鑒當(dāng)應(yīng)用被臨時(shí)鎖定時(shí),此命令執(zhí)行成功的狀態(tài)碼是’9000’SW2=‘6985’IC46 LcP1,P2INSCLACARDBLOCKCARDBLOCK支持此功能”(SW1SW2=’6A81’),且不執(zhí)行任何其他操作。CARDBLOCK47CARDBLOCK值報(bào)文鑒別代碼(MAC)數(shù)據(jù)元;根據(jù)附錄C中的規(guī)定命令報(bào)文數(shù)據(jù)域包括根據(jù)附錄C中的規(guī)定進(jìn)行編碼的報(bào)文鑒別代(MAC)IC4848CARDBLOCK LcP1,P2INSCLAEXTERNALAUTHENTICATIONEXTERNALAUTHENTICATION命令要求IC卡中的應(yīng)用驗(yàn)證IC值EXTERNALAUTHENTICATION命令使用的算法參考值(P1)編碼為’00’表8-16──前8個(gè)必備型字節(jié)包含──可選的1-8個(gè)附加字節(jié)是的信息IC卡可能回送的警態(tài)碼如表50所示表50EXTERNALAUTHENTICATION警 LcP1P2INSCLAGETCHALLENGEGETCHALLENGE命令請(qǐng)求一個(gè)用于安全相關(guān)過程()的隨機(jī)GETCHALLENGE表 GETCHALLENGE命令報(bào)值‘04’或48IC5353GETCHALLENGE P1P2INSCLAVERIFYVERIFY命令用于校驗(yàn)命令數(shù)據(jù)域中的個(gè)人的正確性如PIN文件位于某一應(yīng)用下,當(dāng)此應(yīng)用被鎖定時(shí),校驗(yàn)PIN;如PIN文MFPIN命令。VERIFY54VERIFY值外部輸入的個(gè)人P2=’00’IC卡上,VERIFY命令在處理過程中應(yīng)明確知道如何去尋找個(gè)人。命令報(bào)文數(shù)據(jù)域由持卡者輸入的個(gè)人組成當(dāng)前的應(yīng)用選擇中命令數(shù)據(jù)域中外部輸入的個(gè)人與卡中存放的個(gè)人密SW1SW2=’6983’。IC卡可能回送的警態(tài)碼如表55所示表55VERIFY警 ‘CxIC5656VERIFY 認(rèn)證方法(個(gè)人)鎖P1P2未找到數(shù)INSCLAPINUNBLOCKPINUNBLOCK命令為發(fā)卡方提供了個(gè)人的功能。PINUNBLOCK命令成功完成后,卡將執(zhí)行以下功能:──重置個(gè)人嘗試計(jì)數(shù)器的值;命令中個(gè) 的傳遞采 PINUNBLOCK57PINUNBLOCK值‘84’;根據(jù)附錄C中的規(guī)定進(jìn)行編CP2=’00’時(shí),LcMAC數(shù)據(jù)元的長度。命令報(bào)文數(shù)據(jù)域中個(gè)人數(shù)據(jù)元(如果存在)和其后的MAC數(shù)據(jù)元組成。個(gè)人和MAC數(shù)據(jù)元根據(jù)附錄C中的規(guī)定進(jìn)行編碼。IC卡可能回送的警態(tài)碼如表58所示表58PINUNBLOCK警 IC5959PINUNBLOCK 使用條件不滿足(PIN未鎖定P1P2未找到數(shù)INSCLA本節(jié)只描述電子錢包相關(guān)的指令。金融的指令參見金融應(yīng)用卡片規(guī)范。應(yīng)遵循相應(yīng)的過程,在過程中會(huì)產(chǎn)生相應(yīng)的狀態(tài),若狀態(tài)不正確,后續(xù)指令就會(huì)報(bào)錯(cuò),也將失敗。ED/EP規(guī)范將過程分為兩部分一部分是預(yù)處理,另一部分則是交易由初始化指令和指令組成,這兩者之間不能插入其他指令,否則交。具體過程見第3章INITIALIZEFORLOADINITIALIZEFORLOAD命令用于初始化圈存INITIALIZEFORLOAD60INITIALIZEFORLOAD值‘02’‘01’ED‘02’6161INITIALIZEFORLOAD長度(字節(jié)14662SW1SW262INITIALIZEFORLOAD長度(字節(jié)EDEP4ED或EP聯(lián)機(jī)序2密鑰版本號(hào)1算法標(biāo)識(shí)1偽隨機(jī)數(shù)(IC卡4463IC63INITIALIZEFORLOADP1、P2INSCLACREDITFORLOADCREDITFORLOAD命令用于圈存CREDITFORLOAD64CREDITFORLOAD值6565CREDITFORLOAD長度(字節(jié)日期(主機(jī)4時(shí)間(主機(jī)34CREDITFORLOAD66SW1SW266CREDITFORLOAD長度(字節(jié)467IC67CREDITFORLOAD命令不接受(無效狀態(tài)INSCLAMACINITIALIZEFORPURCHASEINITIALIZEFORPURCHASE命令用于初始化消費(fèi)INITIALIZEFORPURCHASE68INITIALIZEFORPURCHASE值‘01’‘02’;‘01’ED,‘02’6969INITIALIZEFORPURCHASE長度(字節(jié)14670SW1SW270INITIALIZEFORPURCHASE長度(字節(jié)EDEP4ED脫機(jī)序號(hào)或EP脫機(jī)序23密鑰版本號(hào)1算法標(biāo)識(shí)1偽隨機(jī)數(shù)(IC卡471IC71INITIALIZEFORPURCHASEINSCLADEBITFORPURCHASE/CASHWITHDRAWDEBITFORPURCHASE/CASHWITHDRAW命令用于消費(fèi)/取現(xiàn) FORPURCHASE/CASHWITHDRAW72INITIALIZEFORPURCHASEINITIALIZEFORCASH后即選擇了消費(fèi)/取現(xiàn)值72DEBITFORPURCHASE/CASHWITHDRAW值7373DEBITFORPURCHASE/CASHWITHDRAW長度(字節(jié)終端序4日期(終端4時(shí)間(終端3474SW1SW274DEBITFORPURCHASE/CASHWITHDRAW長度(字節(jié)4475IC75DEBITFORPURCHASE/CASHWITHDRAW命令不接受(無效狀態(tài)INSCLAMACINITIALIZEFORCAPPPURCHASEINITIALIZEFORCAPPPURCHASE命令用于初始化復(fù)合應(yīng)用消費(fèi)INITIALIZEFORCAPPPURCHASE表 INITIALIZEFORCAPPPURCHASE命令報(bào)文格值表 INITIALIZEFORCAPPPURCHASE命令報(bào)文的數(shù)據(jù)域定長度(字節(jié)146表 INITIALIZEFORCAPPPURCHASE命令執(zhí)行成功的響應(yīng)報(bào)文數(shù)據(jù)長度(字節(jié)4電子錢包序23密鑰算法版本號(hào)1密鑰標(biāo)識(shí)1偽隨機(jī)數(shù)(IC卡4SW1SW2IC表 INITIALIZEFORCAPPPURCHASE命令可能回送的錯(cuò)誤狀UPDATECAPPDATACACHE命令用于復(fù)合應(yīng)用消費(fèi)中更新復(fù)合應(yīng)用值6-此命令報(bào)文中的控制參數(shù)P2定義見下表表81UPDATECAPPDATACACHE命令報(bào)文中的控制參數(shù)P2定00000———XXXXX———11111————————000—————XXXIC 內(nèi)存失敗(修改失敗長度錯(cuò)誤(Lc域?yàn)榭詹粷M足命令執(zhí)行的條件(文件中空間不復(fù)合應(yīng)用DEBITFORCAPPPURCHASEDEBITFORCAPPPURCHASE命令用于復(fù)合應(yīng)用消費(fèi)83DEBITFORCAPPPURCHASE值84DEBITFORCAPPPURCHASE長度(字節(jié)終端序443485DEBITFORCAPPPURCHASE長度(字節(jié)44SW1SW2IC86DEBITFORCAPPPURCHASE命令不接受(無效狀態(tài)MAC有效性檢查圖3預(yù)處理流程對(duì)電子錢包應(yīng)用來說,持卡人應(yīng)能選擇如下類型:圈存、消費(fèi)、查詢ICIC卡片產(chǎn)生過程密鑰SK卡片產(chǎn)生過程密鑰SK,并利用SK計(jì)算得到將原余額聯(lián)機(jī)序標(biāo)識(shí)、4字節(jié)偽隨機(jī)數(shù)MAC1送卡外ICSK驗(yàn)部密鑰前后8字節(jié)異序號(hào)金額類型標(biāo)識(shí)、終端機(jī)編號(hào)主機(jī)日期和時(shí)聯(lián)機(jī)序號(hào)加1InitializeFor終端接收主機(jī)日期和時(shí)間DATA域,發(fā)送圈存命令CreditForLoadIC卡TAC主機(jī)保留該卡片應(yīng)用主機(jī)按終端指定的密存主密鑰對(duì)應(yīng)用序列號(hào)分散得到圈存子密按卡片相同方法產(chǎn)生相同的過程密鑰SK,并校驗(yàn)MAC1如果MAC1校驗(yàn)正確,則主機(jī)聯(lián)機(jī)序號(hào)1SK對(duì)金額、類型標(biāo)識(shí)、終端號(hào)日期和時(shí)間進(jìn)行MACMAC2送終端,否則, ← 、、 、、 →圖4圈存流ICICPSAM卡片產(chǎn)生過程密鑰SK卡片產(chǎn)生過程密鑰SK將原余額脫機(jī)序本號(hào)、算法標(biāo)識(shí)、4字ICSK驗(yàn)MAC1的正確性。如卡片脫機(jī)序號(hào)加用SK對(duì)相應(yīng)數(shù)據(jù)計(jì)算4MAC2;用內(nèi)部密鑰左右8字節(jié)異或運(yùn)算的結(jié)果對(duì)相應(yīng)數(shù)據(jù)計(jì)算得到4將MAC2和TACInitializeFor將收到的有關(guān)數(shù)據(jù)作為MAC1DATA域,送MAC1PSAM卡。終端將終端號(hào)、日期和時(shí)MAC1作為消費(fèi)命令的DATA域,發(fā)送消費(fèi)命令DebitForPurchaseICTACMAC2PSAMPSAM卡按指定的密鑰費(fèi)主密鑰對(duì)應(yīng)用序列號(hào)分散得到消費(fèi)子密生相同的過程密鑰SK,并計(jì)算產(chǎn)生MAC1MAC1如果MAC2則終端應(yīng)記錄該筆交→← 易并發(fā)送確認(rèn)信息給終端,否則,PSAM易并發(fā)送確認(rèn)信息給終端,否則,PSAM卡當(dāng)計(jì)數(shù)器值為0PSAM圖5消費(fèi)流1E5306E530下圖為車載機(jī)1019上下車過程處理。上下車時(shí),對(duì)卡片的有效性檢查圖7車載機(jī)1019上下車流A.DF(DedicatedFile文件DF主控一個(gè)應(yīng)用程序,或組文件,或是數(shù)據(jù)對(duì)象。DF可用來做其它文DFMF(Masterfile,MFEF(ElementaryFile 8AIDA00000000386980701。透明文件(二進(jìn)制文件圖9四類基本文件的結(jié)構(gòu)文件(文件選擇通過文件名選擇(通過標(biāo)識(shí)符來選擇(DF通過路徑選擇(DF通過短的標(biāo)識(shí)符(DFDF。數(shù)據(jù)(對(duì)數(shù)據(jù)進(jìn)行操作透明結(jié)構(gòu)。數(shù)據(jù)時(shí),使用偏移Offset+長度的方式。Offset為110TLV數(shù)據(jù)時(shí),使用Tag+長度的方式。一次一個(gè)TLV結(jié)構(gòu)的數(shù)據(jù)項(xiàng)。如DGIJAVAKEY00(主控密鑰

應(yīng)用主控密鑰00 消費(fèi)子密鑰(DPK)00/01 (消費(fèi)密鑰)圈存子密鑰(DLK)00/01 TAC子密鑰(DTK)00 PIN子密鑰(DPUK)00(口令密鑰)PIN重裝子密鑰(DRPK)00(口令重裝密鑰)應(yīng)用子密鑰(DAMK)00 (密鑰)圈提子密鑰(DULK 修改透支限額子密鑰(DUK)00/01(修改透支限額密鑰PSE)

ADF

KEY文件 0015(F0寫持卡人基本文件0016 (二進(jìn)制文件讀F0寫F0)明細(xì)文件0018 (循環(huán)記錄文件讀F1寫EF)錢包文件0002 ‘F0 (電子文件使用、取余額權(quán)F11B.resetPPS口令驗(yàn)證(verify命令密鑰認(rèn)證(如外部認(rèn)證過程MF相關(guān)的認(rèn)證過程才能修改(MFDF進(jìn)行的認(rèn)證過程才能修改。它自身的類別(DFDF的文件控制信息7816-4數(shù)據(jù)加密。利用卡中的的內(nèi)部數(shù)據(jù)(如密鑰對(duì)收到的某些數(shù)據(jù)C.FCI87CLA4bit說00xx01xxMAC是使用命令的所有元素(包括命令頭)產(chǎn)生的。一條命令的完整性,包括MACMACMAC中,MAC4MACMAC8.3.4中描述的過程密鑰的產(chǎn)生過程產(chǎn)生的。MACDEAMAC過程密鑰。MAC按照如下的方式使用單重或三重DEA產(chǎn)生MAC:816進(jìn)制數(shù)字’0’作為初始變量。──(IC)2部分:應(yīng)用規(guī)范中定義(如果存在)包含明文或加密的數(shù)據(jù)。(例:如果要更8D1,D2,D3,D41-8個(gè)字節(jié)。注:1)Lc4MAC數(shù)據(jù)的長度,例如:APPLICATIONBLOCK命令需要產(chǎn)生一MACMAC的Lc4-FE0,CLA包括安全報(bào)文的表明(’X4’)。816進(jìn)制數(shù)字00000000000000’816進(jìn)制數(shù)字’80’816進(jìn)制數(shù)字’0’8344=D=344=D= =輸 +=異或運(yùn)322543212DEAMACMACDEAMAC過程AB(MAC12中所示),(根據(jù)第二步產(chǎn)生的數(shù)據(jù)塊的長度, DEA(e)KMADEA(e)I=D= =數(shù)據(jù)加密算法(加密模式)KMAMACDEA(d)=數(shù)據(jù)加密算法( 模式)KMB=MAC過程密鑰BO=輸出 +=異或運(yùn)算13DEAKeyMAC4MAC為保證命令中明文數(shù)據(jù)的性可以將數(shù)據(jù)加密所使用的數(shù)據(jù)加密技術(shù),8.3.4中描述的方式DEA密鑰開始的。──明文數(shù)據(jù)的長度,不包括填充字符──填充字符(8.3.3.3的要求8.3.3.3LDLD產(chǎn)生新的數(shù)據(jù)8D1,D2,D3,D48位。第三步:如果最后(或唯一)8816進(jìn)制數(shù)字’80’8116進(jìn)制數(shù)字’0’8第四步:每一個(gè)數(shù)據(jù)塊使用8.3.3.1中描述的數(shù)據(jù)加密DEA13所示(使用數(shù)據(jù)加密過程密鑰A進(jìn)行加密)。DDEA=(加密模式O=D=KDA=D14DEADEA14所示(使用數(shù)據(jù)加密過程密鑰AB來進(jìn)行加密)。DDDEA(e)=數(shù)據(jù)加密算法(加密模式)DNDEA(d)=數(shù)據(jù)加密算法 模式)KDA=數(shù)據(jù)加密過程密鑰O=輸 KDB=數(shù)據(jù)加密過程密鑰15DEAD1D2,等等)。并將結(jié)果數(shù)據(jù)塊插入到命令數(shù)據(jù)域中。數(shù)據(jù)計(jì)D2,D3,D48.3.3.1所描述的方法產(chǎn)生的數(shù)據(jù)加密過程密鑰進(jìn)行。如果采用單長度數(shù)據(jù)加密的DEA密鑰,數(shù)據(jù)塊如圖15所示(使用數(shù)據(jù)加密過程密鑰A進(jìn)行)。DEA=數(shù)據(jù)加密算 D=數(shù)據(jù) KDA=數(shù)據(jù)加密過程密鑰AO=輸出D16DEA如果采用雙長度數(shù)據(jù)加密的DEA密鑰,則數(shù)據(jù)塊的如圖16所示(使用數(shù)據(jù)加密過程密鑰A和B來進(jìn)行)。DDDEA(e)=數(shù)據(jù)加密算法(加密模式D=DEA(d)=數(shù)據(jù)加密算法 模式 KDA=數(shù)據(jù)加密過程密鑰O=輸 KDB=數(shù)據(jù)加密過程密鑰17DEALDMAC(A”B”)/MACDEAADEA密A來進(jìn)行所選擇的算法處理。(以后統(tǒng)稱為“KeyA”)/MACDEAABAB來進(jìn)行所選擇的算法處理。(以后統(tǒng)稱為“KeyA”和“KeyKeyBA所用數(shù)據(jù)的非作異或運(yùn)算得到過程B。非運(yùn)算是以位為單位的,把值為’1’的位轉(zhuǎn)換為’0’,將值為’0’的位轉(zhuǎn)換安全報(bào)文傳送令情ISO/IEC7816-4APDU沒有安全報(bào)文傳送要有安全報(bào)文傳送要 令情況如下CLA的第二個(gè)半字節(jié)是’4’表明支持第二種情況的安全報(bào)文傳送技術(shù)。LcMAC有安全報(bào)文傳送要求令情況如下CLA的第二個(gè)半字節(jié)是’4’表明支持第二種情況的安全報(bào)文傳送技術(shù)。LcMAC有安全報(bào)文傳送要求令情況如下CLA的第二個(gè)半字節(jié)是’4’表明支持第二種情況的安全報(bào)文傳送技術(shù)。Lc為MAC的長度。有安全報(bào)文傳送要求令情況如下CLA的第二個(gè)半字節(jié)是’4’表明支持第二種情況的安全報(bào)文傳送技術(shù)。Lc為MAC的長度。應(yīng)用舉例:寫二進(jìn)制文件(UpdateDES&MAC(線路加密保護(hù)密鑰值 條件:文件標(biāo)識(shí)符文件主體空間=8[步驟1] 取4字節(jié)隨機(jī)數(shù),計(jì)算MAC用。命令:00840000響應(yīng):C2D39967[2]命令:04D6810014687E0F83F6A98580C4015CEB8D00F38BB42BE1CA說明:687E0F83F6A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論