智能卡安全機制比較系列(四) PayFlex
文章出處:http://psychicreadingswithdeb.com 作者:佚名 人氣: 發(fā)表時(shí)間:2012年02月26日
PayFlex是斯倫貝謝公司(經(jīng)過(guò)若干整合現在是金雅拓的一部分)在上世紀90年代推出的一款電子錢(qián)包支付COS,從功能上看可以說(shuō)PayFlex是EMV96以及PBOC電子錢(qián)包規范的雛形。
PayFlex同時(shí)具備用戶(hù)卡和SAM卡功能,支持電子錢(qián)包用戶(hù)卡的消費、圈存等交易。
從文件結構上看,僅支持定長(cháng)記錄文件和循環(huán)記錄文件兩種格式。PIN和密鑰都是存儲在定長(cháng)記錄文件中,PIN也就是所謂的持卡人驗證CHV,密鑰分為驗證密鑰和計算密鑰,CHV文件中只有一個(gè)記錄來(lái)存儲PIN,而密鑰文件中最多可以存儲16條密鑰;交易記錄和錢(qián)包文件是用循環(huán)記錄文件來(lái)存儲的。
從安全機制上看,也是采用訪(fǎng)問(wèn)控制條件加上當前安全狀態(tài)的模式。但是相對比較簡(jiǎn)單,總共有5種訪(fǎng)問(wèn)控制狀態(tài):自由訪(fǎng)問(wèn)、PIN、密鑰驗證、PIN+密鑰驗證、拒絕訪(fǎng)問(wèn)。
數值 | AC | 含義 |
0 | ALW | 自由訪(fǎng)問(wèn) |
1 | CHV | 驗證PIN |
2 | AUT | 驗證密鑰 |
3 | CHV+AUT | 驗證PIN+驗證密鑰 |
4 | RFU | |
5 | RFU | |
6 | RFU | |
7 | RFU | |
8 | RFU | |
9 | RFU | |
10 | RFU | |
11 | RFU | |
12 | RFU | |
13 | RFU | |
14 | RFU | |
15 | NEV | 拒絕訪(fǎng)問(wèn) |
每個(gè)文件在創(chuàng )建的時(shí)候都有2個(gè)字節AC1和AC2用來(lái)指示不同APDU命令的訪(fǎng)問(wèn)控制權限,同時(shí)也有另外2個(gè)字節KN1和KN2來(lái)指出實(shí)現需要的訪(fǎng)問(wèn)控制權限將會(huì )使用的密鑰。
訪(fǎng)問(wèn)權限的獲得可以通過(guò)明文的方式驗證PIN或者密鑰,也可以通過(guò)密文的方式來(lái)驗證。這里所謂的密文方式,實(shí)際上就是我們常說(shuō)的外部認證,也就是先取8字節的隨機數,然后再通過(guò)密鑰加密,把加密后的數據按照某種規則截取6個(gè)字節,送到卡片中去比對。
因為PayFlex本身也具有SAM卡的功能,所以也可以用PayFlex卡計算分散密鑰。此外PayFlex還支持內部認證,可以讓主機或者終端來(lái)驗證卡片的合法性。
電子錢(qián)包的交易流程和現在常用PBOC電子錢(qián)包交易非常類(lèi)似,也是通過(guò)兩個(gè)步驟,經(jīng)由SAM卡來(lái)完成的,交易完成之后也生成類(lèi)似于MAC和TAC的證書(shū)數據,用來(lái)驗證交易的完整性。
和目前PBOC電子錢(qián)包不同的是PayFlex卡的密鑰長(cháng)度都是8字節,而不是16字節。
當時(shí)這款產(chǎn)品是基于TI的一款TMS373C012,只有4K的程序ROM,128字節的RAM和1K字節的EEPROM。在這樣有限的資源里,開(kāi)發(fā)出如此功能的產(chǎn)品,的確稱(chēng)得上是地位領(lǐng)先了。其中實(shí)現了20來(lái)個(gè)APDU,包括讀/寫(xiě)/更新記錄文件、外部認證、內部認證、驗證/更改/解鎖PIN(或密鑰)、選擇文件、創(chuàng )建文件、消費、圈存、分散密鑰、取隨機數、補丁程序的下載和激活等。
后來(lái),在96年P(guān)BOC電子錢(qián)包規范發(fā)布之后,斯倫貝謝迅速推出了一款符合PBOC規范的QianFlex產(chǎn)品。