PayFlex是斯伦贝谢公司(经过若干整合现在是金雅拓的一部分)在上世纪90年代推出的一款电子钱包支付COS,从功能上看可以说PayFlex是EMV96以及PBOC电子钱包规范的雏形。

PayFlex同时具备用户卡和SAM卡功能,支持电子钱包用户卡的消费、圈存等交易。

从文件结构上看,仅支持定长记录文件和循环记录文件两种格式。PIN和密钥都是存储在定长记录文件中,PIN也就是所谓的持卡人验证CHV,密钥分为验证密钥和计算密钥,CHV文件中只有一个记录来存储PIN,而密钥文件中最多可以存储16条密钥;交易记录和钱包文件是用循环记录文件来存储的。

从安全机制上看,也是采用访问控制条件加上当前安全状态的模式。但是相对比较简单,总共有5种访问控制状态:自由访问、PIN、密钥验证、PIN+密钥验证、拒绝访问。

数值

AC

含义

0

ALW

自由访问

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

拒绝访问

每个文件在创建的时候都有2个字节AC1和AC2用来指示不同APDU命令的访问控制权限,同时也有另外2个字节KN1和KN2来指出实现需要的访问控制权限将会使用的密钥。

访问权限的获得可以通过明文的方式验证PIN或者密钥,也可以通过密文的方式来验证。这里所谓的密文方式,实际上就是我们常说的外部认证,也就是先取8字节的随机数,然后再通过密钥加密,把加密后的数据按照某种规则截取6个字节,送到卡片中去比对。

因为PayFlex本身也具有SAM卡的功能,所以也可以用PayFlex卡计算分散密钥。此外PayFlex还支持内部认证,可以让主机或者终端来验证卡片的合法性。

电子钱包的交易流程和现在常用PBOC电子钱包交易非常类似,也是通过两个步骤,经由SAM卡来完成的,交易完成之后也生成类似于MAC和TAC的证书数据,用来验证交易的完整性。

和目前PBOC电子钱包不同的是PayFlex卡的密钥长度都是8字节,而不是16字节。

当时这款产品是基于TI的一款TMS373C012,只有4K的程序ROM,128字节的RAM和1K字节的EEPROM。在这样有限的资源里,开发出如此功能的产品,的确称得上是地位领先了。其中实现了20来个APDU,包括读/写/更新记录文件、外部认证、内部认证、验证/更改/解锁PIN(或密钥)、选择文件、创建文件、消费、圈存、分散密钥、取随机数、补丁程序的下载和激活等。

后来,在96年PBOC电子钱包规范发布之后,斯伦贝谢迅速推出了一款符合PBOC规范的QianFlex产品。

智能卡安全机制比较系列(四) PayFlex的更多相关文章

  1. 智能卡安全机制比较系列(一)CardOS

    自从智能卡开始进入人们的日常生活之后,大家对于智能卡的安全性普遍看好,但是不同公司的智能卡在安全机制的实现方面也存在很多的差异.对于智能卡应用开发和智能卡COS设计人员来说,如果能够更多地了解不同公司 ...

  2. 智能卡安全机制比较系列(二)DS SmartCard

    DS Smart Card是飞利浦公司自己开发的一款CPU卡产品,在早期芯片厂商开发自己的COS并进行推广很普遍,现在像英飞凌(前西门子半导体)以及恩智普(前飞利浦半导体)几乎很少推广自己的COS,大 ...

  3. 智能卡安全机制比较系列(六) TimeCOS

    TimeCOS是握奇公司推出的智能卡操作系统,也可以说是国内早期自己开发的为数不多的几款COS之一.当然随着后来国内公司对于CPU卡开发的投入,其他公司的COS产品也纷纷推出. 其实从握奇的TimeC ...

  4. 智能卡安全机制比较系列(五) StarCOS

    StarCOS是捷德公司的推出的智能卡COS,和前面说过的几种COS不同的是,国内的用户对于StartCOS可以说非常熟悉,而且因为握奇.明华.天喻等公司的安全机制都基本上是脱胎于StarCOS,所以 ...

  5. 智能卡安全机制比较系列(三) MPCOS

    MPCOS是金普斯早期推出的一款多应用支付芯片卡操作系统,支持ISO7816以及PCOS的数据格式和命令.MPCOS具有两级目录文件结构,即MF下可以有一级DF,每个DF下最多可创建63个EF. MP ...

  6. sed修炼系列(四):sed中的疑难杂症

    本文目录:1 sed中使用变量和变量替换的问题2 反向引用失效问题3 "-i"选项的文件保存问题4 贪婪匹配问题5 sed命令"a"和"N" ...

  7. 分布式系列四: HTTP及HTTPS协议

    分布式系列四: HTTP及HTTPS协议 非常全面的一篇HTTP的文章: 关于HTTP协议,一篇就够了 还有一个帮助理解HTTPS的文章: 也许,这样理解HTTPS更容易 本文的一些描述摘自这篇文章 ...

  8. Mina 系列(四)之KeepAliveFilter -- 心跳检测

    Mina 系列(四)之KeepAliveFilter -- 心跳检测 摘要: 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实 ...

  9. struts2官方 中文教程 系列四:Action

    先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列四:Action  即 http://www.cnblogs.com/linghaoxinpian/p/6905521.html 下载 ...

随机推荐

  1. 【转】你应该知道的 10 个 VirtualBox 技巧与高级特性

    原文网址:http://www.oschina.net/translate/10-virtualbox-tricks-and-advanced-features-you-should-know-abo ...

  2. bzoj2741【FOTILE模拟赛】L

    http://www.lydsy.com/JudgeOnline/problem.php?id=2741 分块或可持久化trie 可以先看看这个:高斯消元解XOR方程组 分块做法: 我们先求出前i个数 ...

  3. Android添加标题进度条

    requestWindowFeaure(Window.FEATURE_PROGRESS); setProgressBarVisibility(true); 这两步必须在setContentView() ...

  4. Remote Desktop Connection Manager 多个远程管理

    http://www.microsoft.com/en-us/download/details.aspx?id=21101 Remote Desktop Connection Manager 多个远程 ...

  5. VS2008编程软件过期的问题,过期弹出须要升级窗体的解决的方法

    找到安装文件,再点autorun.exe安装文件,然后反复安装过程就会弹出须要填写系列号的地方,天上以下第一个系列号就可以. Visual Studio 2008 Professional Editi ...

  6. TCP/IP具体解释--三次握手和四次握手 Dos攻击

    TCP连接的状态图 TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 贴一个telnet建立连接,断开连接的使用wireshark捕获的packet截图. 1.建立连接协议(三次握手) (1) ...

  7. 新版ADT出现appcompat_v7的问题

    问题 更新ADT至22.6.0版本号之后,创建新的安装项目,会出现appcompat_v7的内容.而且是创建一个新的内容就会出现. 事实上appcompat_v7是Google自己的一个兼容包.一个支 ...

  8. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  9. Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习

    http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好 ...

  10. Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱

    1. JDK1.5以后,简化了定义方式. (1)Integer  x = new  Integer(4):可以直接写成如下:         Integer  x = 4 ://自动装箱,通过valu ...