ISO7816协议深度解析-简单易懂协议详解(二)-- PPS

链接:ISO7816协议深度解析-简单易懂协议详解(一)

7.操作模式
复位应答后,卡是下面两种操作模式之一:
• TA2存在时的专用模式;
• TA2不存在时的协商模式。

7.1 专用模式
在专用模式中,紧随复位应答之后,由TA(2)指示的协议使用。
• TA(2)中b5=0时,使用Fi和Di, 复位应答后,Fi,Di立即生效。
• TA(2)中b5=1时,使用缺省值(Fd,Dd)。

7.2 协商模式
在协商模式中,只要IFD发送给ICC的第一字节允许在PPS请求与协议命令之间有明显差别,则“缺省选择”是可能的。
• 在复位应答后无PPS请求,则“首选协议”将使用Fd和Dd(缺省值)。
• 当协议由ICC和/或参数F、D的其它值(F范围为Fd到Fi,D的范围为Dd到Di)提供时,IFD 应发送一个带Fd和Dd的PPS请求,以便从协商模式转到专用模式,成功完成 PPS 交换后,协商协议应使用Fn和Dn(PPS1定义)。
如果复位应答仅提供一个协议(T=0到14)和Fd、Dd,则该协议应使用Fd和Dd且紧随复位应答之后。相应的,这样的卡不必支持 PPS。
既不支持PPS又不支持首选协议的 IFD 可采用复位ICC以从协商模式转到IFD支持的专用模式,或者可以拒绝卡。
如果T=0或T=1带有值Fi和Di且 Fi、Di不等于Fd、Dd,则IFD可以选择带有Fd 、Dd 的缺省协议,或发送带Fd和Dd的PPS请求以协调Fn、Dn。

8. 协商模式下的PPS协议
Protocol and Parameters Selection,直译为协议和参数选择,是读写器与卡片协商通信协议和传输参数的一个过程。其有两种操作模式:TA(2)存在时的专用模式和TA(2)不存在时的协商模式。
1.专用模式:当TA(2)的bit5=0时使用Fi和Di,若bit5=1时,使用默认值。
2.协商模式:只要IFD发生给ICC的第一个字节允许在PPS请求与协议命令之间有明显差别,则“缺省选择”是可能的。
在复位应答后无PPS请求,则“首选协议”将使用Fd和Dd。
当协议由ICC和/或参数F,D的其他值(F的范围为Fd到Fi,D的范围为Dd到Di)提供时,IFD应发送一个带Fd和Dd的PPS请求,以便从协商模式转到专用模式。成功完成PPS交换后,协商协议应使用Fd和Dd。
只有 IFD 被允许开始 PPS 交换
• IFD 应发送一个PPS请求给ICC;
• 如果ICC收到一个错误PPS请求,则它不作任何响应;
• 如果ICC收到一个正确PPS请求,则应返回一个PPS响应否则将超过初始等待时间;
• 如果超过初始等待时间,则IFD或者复位或者拒绝 IC卡;
• 如果IFD收到错误PPS响应,则IFD或者复位或者拒绝 IC卡;
• 如果PPS交换失败,则IFD或者复位或者拒绝IC卡。

8.1 PPS请求的结构和内容
PPS 请求和响应分别包括一个初始字节 PPSS 后随格式字节 PPS0 三个可选参数字节 PPS1,PPS2和PPS3以及一个检测字节 PCK。
PPS 识别 PPS 请求或响应并等于 FF。
PPS0 通过位 b5 b6 b7 分别指明可选字节 PPS1、PPS2、PPS3的存在。位b4~b1传输参数T的值以提出协议。位b8留作未来使用并设定为0。
PPS1允许IFD对卡提出F和D的值。
在这里插入图片描述

8.2 成功的PPS交换
当PPS响应为下列情况之一时,该PPS交换也是成功的。
(1)PPSS响应 = PPSS请求;
(2)PPS0的响应:
• 应回送B1到B4
• 回送B5或将他置为0(如果B5=1,则PPS1响应=PPS1请求。若B5=0,则无PPS1,则使用Fd和Dd)。
• 回送B6或将他置为0(如果B6=1,则PPS2响应=PPS2请求。若B6=0,则PPS2请求和相应都不存在)。
• 回送B7或将他置为0(如果B7=1,则PPS3响应=PPS3请求。若B7=0,则PPS3请求和相应都不存在)。
PPS交换的其他情况都应被解释为不成功。

PPS响应的数据细节同PPS请求的细节一样,但设置上需要遵从以下规则:
响应PPS0的bit 1~4同请求PPS的bit 1~4一样。
响应PPS0的bit 5~7同请求PPS的bit 5~7一样,或置0。
响应PPS0的bit8同样为保留位。
实际上,绝大部分时候,响应PPS同请求PPS是一样的。

8.3 PPS协商示例
如果PPS响应准确反应PPS请求,则PPS交换是成功的。也就是说读卡器给卡发什么,卡就给读卡器返回什么,当然前提是读卡器发送的PPS是正确的。如下图所示,蓝色字符是读卡器发送给卡的,”FF 11 11 FF”,其中第一个 ’FF’ 为PPSS;第一个 ’11’ 为PPS0,高4位的1说明PPS1存在,低4位的1说明T=1;第二个 ’11’ 为PPS1,指定了Fi=1,Di=1,通过查表可知这是372分频;最后一个 ‘FF’ 是前面三个值的异或值。之后卡发送同样的数据(白色字符)作为回复,说明PPS协商成功,这是最普通的情况,也是经常使用的情况,也可能发生其他情况。
在这里插入图片描述
使用金思特电子的Kingst LA5016 usb 逻辑分析仪检测IOS7816数据通讯。以下几图是一个完整的PPS数据包分析截图。从图中可以看到,协议的PPS请求中,通过解析PPS0可以检查出只有PPS1存在,而且PPS应答与PPS请求相同,这也是在标准允许的范围内 。

协议解析参数设置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考资料:ISO7816-1234.pdf
下一章链接:ISO7816协议深度解析-简单易懂协议详解(三)

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值