【正文】
用的 CMAC發(fā)卡行、卡商KMCMAC 用來(lái)創(chuàng)建一個(gè)對(duì)話密鑰,利用該對(duì)話密鑰可在 ECB 模式下加密 DES 密鑰或靈活的加密其它機(jī)密數(shù)據(jù)發(fā)卡行、卡商KMU 只有發(fā)卡行知道的 DES 主密鑰,用于分散密鑰來(lái)產(chǎn)生KENC,KDEK,KMAC 用于片發(fā)行后的再次個(gè)人化發(fā)卡行KEK/TK 密鑰交換密鑰/傳輸密鑰—由數(shù)據(jù)準(zhǔn)備系統(tǒng)和個(gè)人化設(shè)備共享(Key Exchange Key Transport Key)發(fā)卡行、卡商、個(gè)人化廠商主要使用和涉及到的證書(shū)及公私鑰對(duì)如下表:表格 2 非對(duì)稱密鑰列表類型 功能 說(shuō)明根 CA 公鑰 由銀聯(lián)金融 IC 卡借貸記認(rèn)證中心下發(fā)的 CA 公鑰,以 PBOC 標(biāo)準(zhǔn)的公鑰證書(shū)文件形式下發(fā)。發(fā)卡行用于驗(yàn)證發(fā)卡證書(shū)有效性。發(fā)卡行公鑰 由發(fā)卡行產(chǎn)生,并經(jīng)過(guò) CA 中心簽發(fā)后形成發(fā)卡行公鑰證書(shū)。用于發(fā)卡時(shí)裝載到 IC 卡中。發(fā)卡行私鑰 由發(fā)卡行產(chǎn)生,并通過(guò)加密機(jī)密鑰加密后存儲(chǔ)在主機(jī)數(shù)據(jù)庫(kù)中。用于簽發(fā) IC 卡靜態(tài)數(shù)據(jù)簽名及 IC 卡公鑰證書(shū)。IC 卡公鑰 采用 DDA 認(rèn)證方式的卡片需要此密鑰,由發(fā)卡行私鑰簽發(fā)形成 IC 卡公鑰證書(shū)存儲(chǔ)在 IC 卡。 32 / 42IC 卡私鑰 采用 DDA 認(rèn)證方式的卡片需要此密鑰,用于 IC 卡與終端進(jìn)行DDA 認(rèn)證時(shí)。 密鑰分布及操作流程 C A 下 下下 下C A 下 下C A 下 下下 下1 . M D KS ( \ E N C \ M A C )2 . K M C3 . K M U4 . K E K / T K5 . 下 下 下 下 下6 . 下 下 下 下 下 下 下 下7 . I C 下 下 下 下 下8 . I C 下 下 下發(fā) 卡 行個(gè) 人 化廠 商C A 認(rèn) 證中 心1 . U D KS ( \ E N C \ M A C )2 . K M U3 . K E K / T K4 . 下 下 下 下 下5 . I C 下 下 下 下 下6 . I C 下 下 下I C 卡1 . U D KS ( \ E N C \ M A C )2 . KE N C/ KM A C/ KD E K3 . I C 下 下 下4 . I C 下 下 下 下 下5 . 下 下 下 下 下 下 下2 3145I S SI S SP O SI S SI C CI C CI C C密鑰分布如上圖所示。密鑰操作及傳遞流向設(shè)計(jì)為:1. CA 認(rèn)證中心產(chǎn)生并存儲(chǔ)認(rèn)證中心公私鑰對(duì);2. 流向①:將認(rèn)證中心公鑰證書(shū)下發(fā)到受理 POS 機(jī)中;3. 發(fā)卡行產(chǎn)生并存儲(chǔ)發(fā)卡行公私鑰對(duì)、MDK s(MDK\MDKENC\MDKMAC)、KMU;4. 發(fā)卡行導(dǎo)入 IC 卡的 KMC 主密鑰、與個(gè)人化廠商約定的 KEK/TK;5. 流向②:提交發(fā)卡行公鑰及證書(shū)申請(qǐng)信息;6. 流向③:認(rèn)證中心簽發(fā)并下發(fā)發(fā)卡行公鑰證書(shū)給發(fā)卡行;7. 密鑰管理中心系統(tǒng)產(chǎn)生 IC 卡公私鑰對(duì),并使用發(fā)卡行私鑰對(duì) IC 卡公鑰進(jìn)行簽名,形成 IC 卡公鑰證書(shū);同時(shí)將 MDKs按照 IC 卡的 PAN 號(hào)分散出卡片子密鑰 UDKs(UDK\UDK MAC\UDKENC) 。8. 流向④:發(fā)卡行傳遞卡片個(gè)人化所需的所有密鑰。包括:IC 卡私鑰、IC 卡公鑰證書(shū)、發(fā)卡行公鑰證書(shū)、UDK s、KMU;流向⑤:個(gè)人化系統(tǒng)將 IC 卡私鑰、IC 卡公鑰證書(shū)、發(fā)卡行公鑰證書(shū)、 33 / 42UDKs(UDK\UDK MAC\UDKENC)寫(xiě)入 IC 卡芯片中;同時(shí)個(gè)人化系統(tǒng)替換原有的 IC 卡主密鑰 KMC 為 KMU 分散后的密鑰 KENC、K MAC、K DEK。 私密數(shù)據(jù)安全性設(shè)計(jì)發(fā)卡方的私密數(shù)據(jù)主要包括:? 個(gè)人 PIN? 發(fā)卡行主密鑰 MDK、KMU、發(fā)卡行私鑰這些私密數(shù)據(jù)的安全性設(shè)計(jì)主要包括兩個(gè)方面:1. 產(chǎn)生和存儲(chǔ)? 個(gè)人 PIN 按照規(guī)范使用加密機(jī) PIN 加密密鑰加密后存儲(chǔ)數(shù)據(jù)庫(kù)中;? 發(fā)卡行主密鑰及發(fā)卡行私鑰使用加密機(jī)的本地主密鑰(LMK)加密后存儲(chǔ)在數(shù)據(jù)庫(kù)中;2. 傳遞和使用? 個(gè)人 PIN 數(shù)據(jù)通過(guò) TK 加密;? 發(fā)卡行主密鑰及私鑰只存在發(fā)卡行密鑰管理中心,不下發(fā)到數(shù)據(jù)準(zhǔn)備和個(gè)人化系統(tǒng);? 私密數(shù)據(jù)使用時(shí),通過(guò)加密機(jī)進(jìn)行轉(zhuǎn)加密及簽名等運(yùn)算。所有的密鑰密文只會(huì)在密碼機(jī)中進(jìn)行解密,保證數(shù)據(jù)的安全。3. 發(fā)卡環(huán)節(jié)進(jìn)行 IC 卡預(yù)個(gè)人化及個(gè)人化操作時(shí),需要寫(xiě)入私密數(shù)據(jù)包括UDKs、K ENC、K MAC、K DEK、IC 卡私鑰、個(gè)人 PIN。這些數(shù)據(jù)的寫(xiě)入均使用 IC 卡主密鑰 KMC 進(jìn)行加密后寫(xiě)入 IC 卡芯片,IC 卡芯片內(nèi)部解密后存儲(chǔ)。這個(gè)發(fā)卡過(guò)程中,私密數(shù)據(jù)不出現(xiàn)明文,保證數(shù)據(jù)的安全。 卡片安全設(shè)計(jì)安全性是 IC 卡軟件系統(tǒng)的生命線。IC 卡系統(tǒng)涉及銀行、商戶、持卡用戶多個(gè)不同的層面,涉及圈存、消費(fèi)、結(jié)算、查詢等大量的交易處理,對(duì)系統(tǒng)的安全可靠性要求非常高。我們的 IC 卡系統(tǒng)從卡片本身、實(shí)際應(yīng)用、讀寫(xiě)設(shè)備、網(wǎng)絡(luò)傳輸過(guò)程、發(fā)卡 34 / 42行、IC 卡中心等各個(gè)環(huán)節(jié)進(jìn)行了嚴(yán)格的安全防范措施,保證整個(gè)系統(tǒng)運(yùn)行高效、安全、可靠。 卡安全策略根據(jù) 規(guī)范,本方案采用雙界面復(fù)合 CPU 卡作為 IC 卡,CPU 卡的安全性已經(jīng)得到業(yè)內(nèi)的廣泛認(rèn)可,再加上對(duì)卡片安全的設(shè)計(jì)要求,完全可以保證應(yīng)用過(guò)程中的安全。 新卡數(shù)據(jù)防篡改卡片在終端進(jìn)行脫機(jī)或聯(lián)機(jī)交易過(guò)程中,終端對(duì)卡片的靜態(tài)認(rèn)證數(shù)據(jù)進(jìn)行獲取,由終端進(jìn)行 SDA 認(rèn)證??梢杂行Х乐箍ㄆ瑑?nèi)部由發(fā)卡行寫(xiě)入的靜態(tài)數(shù)據(jù)被篡改。具體過(guò)程概括描述如下:步驟 1:檢索 CA 公鑰終端使用卡片中的 PKI 和 RID 確定使用哪一個(gè) CA 公鑰。步驟 2:恢復(fù)發(fā)卡行公鑰終端使用 CA 公鑰驗(yàn)證卡片中的發(fā)卡行證書(shū)并恢復(fù)證書(shū)中的發(fā)卡行公鑰。步驟 3:驗(yàn)證簽名的靜態(tài)應(yīng)用數(shù)據(jù)a)恢復(fù)哈希結(jié)果。b)計(jì)算哈希。c)比較哈希結(jié)果。如果所有的 SDA 步驟都成功,SDA 通過(guò)。 卡片防偽造策略終端對(duì)卡片除了基本的靜態(tài)認(rèn)證(SDA 認(rèn)證)以外,又采用了更高一級(jí)別的安全認(rèn)證模式,即動(dòng)態(tài)數(shù)據(jù)認(rèn)證(DDA 認(rèn)證),終端使用公鑰技術(shù)驗(yàn)證卡片中關(guān)鍵數(shù)據(jù)自發(fā)卡后沒(méi)有被改動(dòng),同時(shí)驗(yàn)證卡片是否是偽卡。PBOC 支持兩種 DDA 形式:標(biāo)準(zhǔn) DDA 和 CDA。在這兩種方式里,終端驗(yàn)證卡片中的靜態(tài)數(shù)據(jù)沒(méi)有修改,同時(shí)驗(yàn)證一個(gè)卡片生成的動(dòng)態(tài)密文。在標(biāo)準(zhǔn) DDA 中,卡片在執(zhí)行卡片行為分析 35 / 42之前,響應(yīng)內(nèi)部認(rèn)證命令時(shí)使用卡片、終端和交易的動(dòng)態(tài)數(shù)據(jù)生成動(dòng)態(tài)簽名。在 CDA 中,卡片在響應(yīng)生成應(yīng)用密文命令時(shí)生成動(dòng)態(tài)簽名,簽名中包括應(yīng)用密文、密文信息數(shù)據(jù),以及和標(biāo)準(zhǔn) DDA 一樣的終端、卡片和交易的動(dòng)態(tài)數(shù)據(jù)。標(biāo)準(zhǔn) DDA 具體過(guò)程概括描述如下:步驟 1:檢索 CA 公鑰終端使用卡片中的 PKI 和 RID 確定使用哪一個(gè) CA 公鑰。步驟 2:恢復(fù)發(fā)卡行公鑰終端使用 CA 公鑰驗(yàn)證卡片中的發(fā)卡行證書(shū)并恢復(fù)證書(shū)中的發(fā)卡行公鑰。步驟 3:恢復(fù) IC 卡公鑰終端使用發(fā)卡行公鑰驗(yàn)證卡片中的 IC 卡公鑰證書(shū)并恢復(fù)證書(shū)中的 IC 卡公鑰和靜態(tài)數(shù)據(jù)哈希結(jié)果。IC 卡公鑰證書(shū)確保 IC 卡公鑰的合法性。終端用卡片中的實(shí)際數(shù)據(jù)元重新計(jì)算哈希值檢查是否和恢復(fù)的哈希值匹配。步驟 4:生成動(dòng)態(tài)簽名(僅用于標(biāo)準(zhǔn) DDA)終端發(fā)送內(nèi)部認(rèn)證命令請(qǐng)求一個(gè)動(dòng)態(tài)簽名。命令中包括了 DDOL 中指定的數(shù)據(jù)。收到內(nèi)部認(rèn)證命令后,卡片執(zhí)行以下操作:1)設(shè)置 CVR 中脫機(jī)動(dòng)態(tài)數(shù)據(jù)認(rèn)證執(zhí)行位為“1” 。2)連接內(nèi)部認(rèn)證命令中的終端數(shù)據(jù)和在 IC 卡動(dòng)態(tài)數(shù)據(jù)中指定的卡片數(shù)據(jù)。3)用上一步連接的數(shù)據(jù)做哈希。4)將哈希包括在簽名的動(dòng)態(tài)應(yīng)用數(shù)據(jù)中。5)使用 IC 卡私鑰給簽名的動(dòng)態(tài)應(yīng)用數(shù)據(jù)做簽名。6)在內(nèi)部認(rèn)證命令的響應(yīng)信息中返回簽名的動(dòng)態(tài)應(yīng)用數(shù)據(jù)。步驟 5:終端執(zhí)行下列步驟驗(yàn)證動(dòng)態(tài)簽名:1)使用 IC 卡公鑰解密動(dòng)態(tài)簽名恢復(fù)數(shù)據(jù)元哈希值。2)使用動(dòng)態(tài)數(shù)據(jù)元重新計(jì)算哈希。3)比較兩個(gè)哈希是否匹配。如果所有上述步驟成功,標(biāo)準(zhǔn) DDA 通過(guò)。 36 / 42 卡片防破譯策略卡片在進(jìn)行個(gè)人化階段時(shí),每張卡片都存儲(chǔ)了由密鑰管理中心生成的唯一的 IC 卡私鑰,在進(jìn)行認(rèn)證時(shí)候,通過(guò)此私鑰對(duì)數(shù)據(jù)進(jìn)行加密生成密文數(shù)據(jù)。只有通過(guò) IC 卡公鑰才能對(duì)卡片密文數(shù)據(jù)進(jìn)行解密。而 IC 卡公鑰又被存儲(chǔ)在由發(fā)卡行私鑰加密的密鑰證書(shū)當(dāng)中,只有通過(guò)發(fā)卡行公鑰才能進(jìn)行解密操作。發(fā)卡行的公鑰又被存放在由 CA 中心的私鑰加密的密鑰證書(shū)當(dāng)中,CA 的公鑰由終端通過(guò)密鑰管理中心獲得。所以不但公鑰很難人為獲取,私鑰在生成以后存儲(chǔ)在加密機(jī)當(dāng)中和卡片當(dāng)中,通過(guò)任何手段都不能取得?;谝陨细鱾€(gè)環(huán)節(jié)的連續(xù)性,從而保證卡片的安全性。破譯幾乎是不可能的。 業(yè)務(wù)流程設(shè)計(jì) 37 / 42 發(fā)卡及卡片個(gè)人化流程 發(fā)卡流程 密鑰管理中心系統(tǒng) 個(gè)人化系統(tǒng) 數(shù)據(jù)準(zhǔn)備系統(tǒng) 業(yè)務(wù)系統(tǒng) 1 . 柜面系統(tǒng)錄入申請(qǐng)用戶信息存儲(chǔ)數(shù)據(jù)庫(kù)3 . 發(fā)卡數(shù)據(jù)文件5 . 文件轉(zhuǎn)換6 . 發(fā)卡數(shù)據(jù)解析7 . 數(shù)據(jù)準(zhǔn)備8 . 制卡文件9 . 制卡文件解析1 0 . 執(zhí)行個(gè)人化操作1 1 . 發(fā)卡完成2 . 日終批處理查詢所有用戶申請(qǐng)循環(huán)4 . 文件解析產(chǎn)生 I C 卡公私鑰 、 公鑰證書(shū) 、 I C 卡子密鑰發(fā)卡數(shù)據(jù)文件 ( 含密鑰 、 證書(shū)等數(shù)據(jù)項(xiàng) )流程描述:1. 銀行柜面系統(tǒng)受理用戶發(fā)卡申請(qǐng),錄入用戶信息至數(shù)據(jù)庫(kù)中;2. 發(fā)卡行業(yè)務(wù)系統(tǒng)日終進(jìn)行批處理,統(tǒng)計(jì)當(dāng)天所有的用戶卡申請(qǐng)記錄,產(chǎn)生發(fā)卡數(shù)據(jù)文件;3. 發(fā)卡行發(fā)卡數(shù)據(jù)文件包括發(fā)卡行需要提供的信息,參見(jiàn)業(yè)務(wù)系統(tǒng)與密鑰管理中心系統(tǒng)接口數(shù)據(jù)。4. 發(fā)卡行發(fā)卡數(shù)據(jù)文件通過(guò)手工方式傳遞給密鑰管理中心系統(tǒng)。5. 密鑰管理中心系統(tǒng)解析文件并進(jìn)行 IC 卡證書(shū)、靜態(tài)簽名數(shù)據(jù)、IC 卡子密鑰數(shù)據(jù)的生成;6. 密鑰管理中心系統(tǒng)整理所有 IC 卡發(fā)卡數(shù)據(jù),形成下發(fā)給數(shù)據(jù)準(zhǔn)備系統(tǒng) 38 / 42的 IC 卡發(fā)卡數(shù)據(jù)文件,參見(jiàn)密鑰管理中心系統(tǒng)與數(shù)據(jù)準(zhǔn)備系統(tǒng)接口數(shù)據(jù)。7. 數(shù)據(jù)準(zhǔn)備系統(tǒng)進(jìn)行文件數(shù)據(jù)轉(zhuǎn)換、分析、插入數(shù)據(jù)庫(kù)中;8. 通過(guò)數(shù)據(jù)準(zhǔn)備系統(tǒng)選擇發(fā)卡應(yīng)用模板、卡片模板、發(fā)卡行公私鑰對(duì)等信息,并分析卡數(shù)據(jù)是否齊全、有效;9. 數(shù)據(jù)準(zhǔn)備系統(tǒng)進(jìn)行數(shù)據(jù)準(zhǔn)備操作。根據(jù)模板整理發(fā)卡數(shù)據(jù)、調(diào)用加密機(jī)接口進(jìn)行密鑰、PIN 的轉(zhuǎn)加密等,形成制卡文件。10. 個(gè)人化系統(tǒng)解析制卡文件,獲取發(fā)卡數(shù)據(jù);11. 個(gè)人化系統(tǒng)進(jìn)行發(fā)卡設(shè)置,包括卡面設(shè)計(jì)、凸字等,執(zhí)行發(fā)卡流程,主要包括以下幾步:a) 調(diào)用加密機(jī)密鑰計(jì)算接口,建立卡片安全通道,獲取卡片權(quán)限;b) 進(jìn)行卡片預(yù)個(gè)人化操作,創(chuàng)建卡片目錄及文件結(jié)構(gòu),將卡片主密鑰、PIN、卡片公私鑰等數(shù)據(jù)寫(xiě)入;c) 根據(jù)發(fā)卡數(shù)據(jù),調(diào)用 StoreData 指令將所有卡片數(shù)據(jù)寫(xiě)入 IC 卡應(yīng)用中。d) 進(jìn)行卡片的印刷、凸字打印等操作。 39 / 42 圈存本方案中網(wǎng)點(diǎn)柜面支持本行 IC 卡圈存(包括現(xiàn)金圈存、本行借記卡轉(zhuǎn)帳圈存) ,不支持向他行 IC 卡圈存。1. 持卡人在銀行柜面(以下簡(jiǎn)稱機(jī)具)選擇卡片充值操作;2. IC 卡信息讀取;3. 機(jī)具提示輸入圈存金額; 4. 機(jī)具提示柜員/用戶對(duì)主帳戶進(jìn)行刷卡及輸入密碼;5. 機(jī)具要求卡片產(chǎn)生授權(quán)請(qǐng)求密文(ARQC)并發(fā)送至主機(jī)系統(tǒng);6. IC 卡業(yè)務(wù)子系統(tǒng)收到卡片圈存交易 ARQC 后,執(zhí)行:? 檢查來(lái)自電子現(xiàn)金卡請(qǐng)求的合法性;? 通過(guò)加密機(jī)檢查包含于請(qǐng)求中的 ARQC 密文和芯片卡數(shù)據(jù); 40 / 42? 發(fā)送報(bào)文至后臺(tái)主機(jī),檢查聯(lián)機(jī) PIN;7. 上述檢查均通過(guò),則后臺(tái)帳務(wù)系統(tǒng)將圈存金額從持卡人主賬戶劃入電子現(xiàn)金賬戶;8. IC 卡業(yè)務(wù)系統(tǒng)產(chǎn)生卡片腳本命令,用于更新芯片電子現(xiàn)金余額;9. 機(jī)具接受發(fā)卡行響應(yīng)后,傳遞腳本給卡片,以調(diào)整其電子現(xiàn)金余額;10. 機(jī)具讀取卡中新的電子現(xiàn)金余額值并向持卡人顯示后,整個(gè)圈存過(guò)程完成。 脫機(jī)消費(fèi)1. 持卡人將電子現(xiàn)金卡插入 POS 終端;2. 終端選擇卡小額支付應(yīng)用;3. 終端檢查卡是否真實(shí),通過(guò)終端的根 CA 公鑰驗(yàn)證卡片簽名或者卡片證書(shū)是否有效;4. 終端將交易相關(guān)的數(shù)據(jù),以及其它同交易相關(guān)的環(huán)境數(shù)據(jù)傳送至卡,卡則將其自己的交易相關(guān)數(shù)據(jù)提供給終端。5. 卡使用電子現(xiàn)金余額,以及交易額,來(lái)判斷交易是否可脫機(jī)授權(quán);6. 脫機(jī)批準(zhǔn),卡從其電子現(xiàn)金余額中減去本次交易額,并生成一交易證書(shū)(TC)密文;7. 日終終端將當(dāng)天所有脫機(jī)交易證書(shū)密文及相關(guān)的交易數(shù)據(jù)發(fā)送給收單機(jī)構(gòu),收單機(jī)構(gòu)將此包含在它向發(fā)卡行提供的清算提交當(dāng)中。 日終清算收單行以與對(duì)待普通借記貸記交易相同的方式處理電子現(xiàn)金交易。已被脫機(jī)批準(zhǔn)的交易需按常規(guī)方式提交清算。然而,由于是芯片產(chǎn)品,發(fā)卡行可能收到關(guān)于交易的一些額外信息(比如交易證書(shū)) 。 41 / 42終 端 POSCUPS發(fā) 卡 方聯(lián) 機(jī) 交 易二 次 清 算 平 臺(tái) 聯(lián) 機(jī) 交 易聯(lián) 機(jī) 交 易圈 存 /圈 提 文 件脫 機(jī) 消 費(fèi) 文 件 匯 總 文 件 路 由 、 一 級(jí) 清 算 、 分 發(fā)全 流 水商 戶 商 戶 清 算小額支付賬戶清算流程如下