PBOC/EMV之電子錢包與電子現(xiàn)金的區(qū)別
文章出處:http://m.mjagi.com 作者: 人氣: 發(fā)表時(shí)間:2012年03月11日
對于普通的用戶來說,電子錢包和電子現(xiàn)金(下面分別簡稱EP和EC)是幾乎沒有區(qū)別的, 為什么這么說呢. 因?yàn)檎驹趹?yīng)用的角度來講,EP和EC都是為了做小額支付而生的. 我們拿著一張IC卡去超市的POS機(jī)上消費(fèi),或是坐公交,只需輕輕一刷就可以了,你不必關(guān)心這張卡里面是基于EP的應(yīng)用還是基于EC的應(yīng)用.
如果你是金融電子這個(gè)行業(yè)里的人,尤其是對于開發(fā)人員, 不知道EP和EC的區(qū)別真的要補(bǔ)習(xí)一下功課了.
首先,我們從應(yīng)用的角度來看兩者的區(qū)別.
EP本身是獨(dú)立于借貸記的一種應(yīng)用,無論是應(yīng)用層的通信協(xié)議,還是相關(guān)的交易流程,與借貸記應(yīng)用都有很大的差別. 它的出現(xiàn)是為了滿足小額支付的需要, 可以說是PBOC專門為小額支付的推廣制定的一個(gè)應(yīng)用.
電子現(xiàn)金的概念出現(xiàn)在PBOC 08年修訂版新加上去的規(guī)范 <<基于借記貸記應(yīng)用的小額支付規(guī)范>>里, 從應(yīng)用的角度來分析,它所實(shí)現(xiàn)的功能跟電子錢包相差無幾,就是最基本的三個(gè)交易功能,圈存,消費(fèi),查詢余額. 那為什么人民銀行后來會(huì)增加這樣的基于借貸記的應(yīng)用呢,這個(gè)我們不得而知. 我個(gè)人的看法是,國內(nèi)目前PBOC還處于起步階段, 這種電子現(xiàn)金的應(yīng)用,可以作為PBOC的小范圍推廣應(yīng)用(主要是因?yàn)樗С中☆~度脫機(jī)消費(fèi)),對用戶來講,在一些服務(wù)行業(yè)實(shí)現(xiàn)小額支付的功能,而且因?yàn)樗旧硎腔诮栀J記的, 未來時(shí)機(jī)成熟了,可以不用換卡, 直接過渡到全國范圍內(nèi)的借貸記應(yīng)用.
站在開發(fā)者的角度,我們需要很深的剖析EP與EC的區(qū)別. 分以下幾點(diǎn):
1 交易流程上的差別, 這個(gè)差異有很多地方,EC因?yàn)槭腔诠┙栀J記,從讀取支付系統(tǒng)目錄,到終端風(fēng)險(xiǎn)管理,一直到交易結(jié)束,嚴(yán)格來說每一步都必不可少,完全遵守借貸記規(guī)范. 而EP本身是獨(dú)立于借貸記的,或者說它不同于EMV的規(guī)范。它在安全管理,風(fēng)險(xiǎn)控制方面并沒有EMV那樣嚴(yán)格, 因?yàn)楫吘故亲鲂☆~消費(fèi)的, 本身風(fēng)險(xiǎn)就不大. 也正是出于安全管理方面的差異,EP的交易流程與EC存在一些差異, 具體的差異可以參見<中國金融集成電路(IC)卡規(guī)范>
2 APDU的差異. EP雖然有一些基本的APDU跟借貸記是復(fù)用的,但因?yàn)樗旧響?yīng)用上的特殊性,它自己也定義了一套專門的APDU. 比如針對圈存, 有initialize for load(初始化圈存), credit for load(圈存)等APDU指令. 而EC是基于借貸記的, 兼容其APDU自不必說,另外還加了很少幾個(gè)電子現(xiàn)金專用的APDU,比如get data(查詢余額)等.
3 在安全管理方面, EP,EC也是有很大差別的. EC由于是基于借貸記,在安全規(guī)范方面也肯定要符合借貸記的標(biāo)準(zhǔn),自然安全方面的要求要高過EP. 比如一個(gè)基于EC的交易肯定要具備終端風(fēng)險(xiǎn)管理,終端行為分析,卡片行為分析等操作, 而EP就沒有這些要求. 下面拿聯(lián)機(jī)圈存安全認(rèn)證流程舉個(gè)例子來說明EP和EC在安全管理上的差異.
當(dāng)我們要對一張基于EP的IC卡做圈存,首先我們向卡片發(fā)初始化圈存指令, 卡片會(huì)生成一個(gè)MAC1, 這個(gè)MAC1是卡片用本身的密鑰,把一些必要的輸入數(shù)據(jù)(比如圈存金額),用3des算法生成的一個(gè)報(bào)文鑒別碼, 這個(gè)MAC1隨后被送往后臺(tái),后臺(tái)解密這個(gè)MAC1,從而驗(yàn)證卡片的合法性. 如果驗(yàn)證成功,后臺(tái)生成一個(gè)MAC2返回給終端機(jī),當(dāng)終端對IC卡發(fā)圈存指令時(shí),要把這個(gè)MAC2一起發(fā)給IC卡,卡片以同樣的原理驗(yàn)證后臺(tái)的合法性,如果驗(yàn)證成功,才更新卡上的金額, 圈存成功.
再來看看EC是怎么來做圈存的. 前面的應(yīng)用選擇,讀應(yīng)用數(shù)據(jù)成功后,終端向卡片發(fā)產(chǎn)生應(yīng)用密文指令,卡片收到該命令,內(nèi)部基于3des算法產(chǎn)生應(yīng)用密文ARQC, 這個(gè)有點(diǎn)類似于上面的MAC1. 終端聯(lián)機(jī)上送這個(gè)ARQC,后臺(tái)用這個(gè)ARQC驗(yàn)證卡片的合法性,如果驗(yàn)證成功,會(huì)產(chǎn)一個(gè)授權(quán)響應(yīng)密文ARPC, 終端用ARPC給卡片發(fā)外部認(rèn)證命令,這樣卡片就可以驗(yàn)證后臺(tái)的合法性,只有驗(yàn)證成功,終端才會(huì)向后臺(tái)申請圈存腳本, 后臺(tái)驗(yàn)證通過,發(fā)圈存腳本到終端.
從上面可以看出, 在圈存的方式上,雙方合法性驗(yàn)證上的原理本質(zhì)上是基本相同的, 不過EP的圈存指令是由終端機(jī)發(fā)起的,而EC的圈存指令則是后臺(tái)驗(yàn)證合法性通過發(fā)來的腳本, 終端僅做解析,然后轉(zhuǎn)發(fā)到IC卡.
就目前的情況來看,無論是金融機(jī)構(gòu)(比如銀行), 還是一些非金融的行業(yè)機(jī)構(gòu), 在推廣金融IC卡小額支付的應(yīng)用時(shí),都是優(yōu)先選擇EP, 因?yàn)闊o論是卡片,還是終端(POS,圈存機(jī)等),開發(fā)基于EC的應(yīng)用,復(fù)雜度都是要大過EP的. 舉個(gè)例子, 基于EC的POS終端要求具有脫機(jī)數(shù)據(jù)認(rèn)證能力,必須同時(shí)具備SDA和DDA, 而這種認(rèn)證的原理是基于非對稱的RSA加密技術(shù), 而EP的POS終端就沒有這個(gè)限制, 可以用傳統(tǒng)的復(fù)雜度小一些的des加密技術(shù).