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