PBOC2.0規范借貸記應用使用的密鑰
文章出處:http://www.nyfzw.net 作者: 人氣: 發表時間:2012年05月06日
1 3DES主密鑰
用途:聯機交易報文的保護使用雙倍密鑰長度的3DES分組密碼算法和密鑰
發卡行主密鑰 —— 需要安裝在卡片個人化系統、交易及授權系統
卡片主密鑰—— 在卡片個人化時由發卡行主密鑰分散導出寫入卡片,發卡行不需要存儲。(發卡行生成和使用若干發卡行3DES主密鑰并利用卡片PAN和PAN序列號導出卡片的若干唯一3DES主密鑰。)
過程密鑰——卡片交易過程中使用的3DES密鑰,僅當需要使用時由卡片中的IC卡主密鑰分散導出
發卡行主密鑰包括:
1) 發卡行應用密報主密鑰IMKAC:AC用于在卡片和發卡行交易授權系統間對交易報文進行鑒別。一個應用密報AC,如ARQC、ARPC、AAC或TC,是一個采用過程密鑰計算的報文鑒別碼MAC。該過程密鑰由相應的IC卡主密鑰MKAC分散導出,而這個IC卡主密鑰MKAC由發卡行IMKAC導出并在個人化時寫入卡片。
2) 發卡行安全報文主密鑰IMKSMC和IMKSMI:發卡行安全報文SM用于發卡后的特定交易過程中卡片和交易授權系統間的報文傳輸安全(如卡片鎖定、應用鎖定或解鎖、卡片數據更新、PIN變更或PIN解鎖)。在上述過程中應對報文加密和報文完整性保護使用不同的密鑰。安全報文的加密使用安全報文加密過程密鑰SKSMC,該過程密鑰是由卡片安全報文加密主密鑰MKSMC導出的。安全報文的MAC計算使用安全報文MAC過程密鑰SKSMI,該過程密鑰是由卡片安全報文完整性主密鑰MKSMI導出的。而發卡行安全報文主密鑰IMKSMC和IMKSMI分別用于導出MKSMC和MKSMI。
2 SDA使用的密鑰
SDA需要發卡行在卡片個人化時使用發卡行RSA公私鑰對的私鑰對特定靜態數據進行簽名并將簽名數據寫入卡片。
首先,發卡行生成發卡行RSA公私鑰對,然后發卡行的公鑰由IC卡根CA簽發發卡行公鑰證書,發卡行的私鑰用于簽署靜態數據。在卡片個人化時,發卡行將發卡行公鑰證書及簽名的卡片靜態數據寫入卡片。發卡行證書和簽名的靜態數據的格式見PBOC2.0安全規范和金融IC卡借記/貸記應用根CA公鑰認證規范。
終端在驗證卡片SDA過程中執行下列步驟:
1.從卡片讀取發卡行公鑰證書。
2.使用存儲在終端的IC卡根CA公鑰驗證該發卡行證書。
3.從該發卡行證書解析出發卡行公鑰。
4.讀取卡片靜態簽名數據并用發卡行公鑰驗證該靜態數據的簽名。
見金融IC卡借記/貸記應用根CA公鑰認證規范。
3 卡片動態數據認證(DDA)使用的密鑰
DDA需要卡片擁有自己的RSA公私鑰對,其公鑰由發卡行按照PBOC2.0的安全規范簽發卡片公鑰證書。
卡片私鑰存儲在卡片中,并在卡片執行DDA過程中簽署一動態簽名數據由終端驗證。卡片的公鑰由終端在驗證卡片DDA時使用。IC卡的RSA公私鑰對對每張IC卡都是唯一的。該卡片公私鑰對由發卡行在卡片個人化過程中生成,然后發卡行將該卡片私鑰寫入卡片,并對該卡片公鑰進行簽名生成卡片公鑰證書然后將卡片公鑰證書寫入卡片。
在終端驗證卡片DDA過程中,首先利用終端內存儲的IC卡根CA公鑰驗證從卡片讀取的發卡行公鑰證書,然后從發卡行證書中解析出發卡行公鑰并用該發卡行公鑰驗證從卡片中讀取的IC卡公鑰證書,然后從IC卡公鑰證書中解析出卡片公鑰,用該卡片公鑰驗證卡片發來的DDA簽名數據的簽名。
復合動態數據認證CDA是DDA的擴展。CDA不僅使用卡片私鑰對動態交易數據簽名,也對應用密碼報文簽名。這樣可以抵御針對交易數據的攻擊。
4 其它密鑰
除了上述用于卡片交易過程的密鑰外,發卡行還需要擁有在卡片個人化過程中用于個人化數據安全傳輸的密鑰,見本標準第10.9節。對于多應用IC卡,除了上述密鑰外可能還需要針對其它應用的密鑰。
轉載原文鏈接:http://blog.csdn.net/watertap/article/details/7054199