问题:
1) 14443协议,RFID标签的默认通信速率是 106kbps,也可以通过协商,调整为 (fc/64=13.56M/64)212、424、 848kbps。
2) 14443-3 A类卡,上电后,读写器发送REQA命令,标签应该回应 ATQT命令,如果其中的UID Size位(b8 b7)组合是“0 0”,表示标签的UID有 单字节。
3) 14443-3协议中,A类卡采用了 面向比特的防冲突方式
4) S50卡内部有 1K字节存储空间,分为 16扇区,每一个扇区又分为 4块,每块 16字节,其中Block 0~ Block 2可用于存储用户数据。
5) S50卡每个扇区有 1组密钥,“一扇一密”,是指 :切换扇区,需要再次认证一次,不切换扇区,同一个扇区只需要认证一次。
一。ISO14443-2协议简介
1.ISO14443协议组成及部分缩略语
(1)14443协议组成(下面的协议简介会详细介绍)
14443-1 物理特性
14443-2 射频功率和信号接口
14443-3 初始化和防冲突 (分为Type A、Type B两种接口)
14443-4 传输协议 (一般不使用,只有哪些银行卡刷卡等重要领域的器件才需要使用)
(2)针对前两节的名词,对应的英语缩略语
PCD:近场耦合设备(读写器)
PICC:近场卡或物体(标签)
RF:射频
ASK:振幅键控
OOK:二进制振幅键控
BPSK:二进制相移键控
2.ISO14443-1协议简介
(1)物理特性:ID-1,长86mm,宽54mm,厚0.84mm
(2)ISO14443-2功率接口
频率:13.56MHz±7kHz
工作场强度:Hmin=1.5A/m, Hmax=7.5A/m
(3)ISO14443-2信号接口
问题:如何看懂图?
我们看到的图会有很多英文,但是这个英文很可能是缩略英文,并代表一定的含义。所以我们在看图之前,可以找到他的缩略英文标(或者类似手册),边查边看。
例如上面提到的缩略语。我们在下面经常看到这些缩略语。
PCD-PICC信号接口
接口速率:fc/128=13.56M/128≈106kbps
PICC-PCD信号接口
副载波频率:848kHz
二。ISO14443-3 Type A协议简介
1.ISO14443-3部分缩略语
S:通信开始
E:通信结束
P:校验位,Type A
UID:唯一标识符
2.Type A的帧格式
注意:不需要把他记下来,只需要有印象,主要是观察创作者在对待不同的帧如何规定与处理。
1.短帧
2.标准帧
(1)字节低位在先
(2)校验位P为奇校验,仅仅在PICC到PCD 且速率为106k以上时,最后一个字节的P为偶校验
3.基于位的防冲突帧
3.Type A PICC的状态
这是读写器与标签的工作方式,如果仔细分析我们会消耗大量的时间,并没有太大的必要。主要关注的是别人画流程图的方式:各方面都需要思考,并且把应答的数据也标注出来,使用缩略语使图像变得简洁。
4.Type A 的PCD命令及PICC应答
众多周知,这些缩略语只是标识符,关键是对应的二进制数据。所以需要分配数据的使用。这也是一个开发者需要考虑的内容。
请求(REQA )和唤醒(WUPA)
请求应答(ATQA)
5.补充:Type A 的PCD命令及PICC应答
(1)UID介绍
(2)防冲突(Anticollision)流程
面向比特的防冲突方式
(3)防冲突(Anticollision)命令格式
(4)防冲突(Anticollision)命令中的NVB
(5)防冲突(Anticollision)命令举例
(6)选择(SELECT)和选择应答(SAK)
1.SELECT
2.SAK
三。Mifare S50卡的内部存储结构
Mifare S50卡是一种接触式智能卡,也被称为Mifare Classic卡。它是由NXP公司推出的一种RFID(射频识别)技术的智能卡。Mifare S50卡采用13.56MHz的高频射频技术,具有非接触式读写能力。
Mifare S50卡具有存储和处理数据的能力,可以用于实现安全访问控制、身份验证、电子钱包等功能。它采用ISO 14443A标准,具有16个扇区,每个扇区包含4个块,每个块可以存储16个字节的数据。
Mifare S50卡广泛应用于公共交通、门禁系统、学生卡、员工卡等领域。它具有较高的安全性,支持密码验证和加密传输,能够防止数据泄露和非法复制。
然而,Mifare S50卡也存在一些安全漏洞,容易受到破解和攻击。因此,在实际应用中,需要采取一些额外的安全措施来保护卡片和数据的安全。
以下主要是对Mifare S50卡的内部分析。Mifare S50卡存储结构,控制块的使用等。
1.Mifare系列介绍
NXP公司出品的系列遵循ISO14443-A标准的射频卡
2.Mifare S50卡存储结构
(1)Mifare S50卡存储结构
(2)Mifare S50卡数据块的值结构
1. 值(Value):一个带符号的4 字节值,小端模式(低地址存最低值)。
2.值按2次正常和1次取反(~表示)存储了3次。
3.地址(Addr)表示1字节的块编号,分2次正常和2次取反值存储。
4.可以执行Decrement加、Increment减、Transfer传输、Restore恢复命令。
Transfer:当我们使用卡修改数据,
(3)Mifare S50卡每个扇区的控制块(块3)
一扇一密,便于一卡多用
每个扇区有独立的控制字,每块由3位组合C1x C2x C3x控制
(4)Mifare S50卡扇区数据块(块0~2) 访问权限
例如:当块0的存取控制位C10 C20 C30=100时,验证密钥A或密钥B后可读;验证密钥B后可写;不能进行值类操作。
(5)Mifare S50卡扇区控制块(块3) 访问权限
例如:当块3的控制位——C13 C23 C33 = 0 0 1时,表示:密钥A:不可读,验证KEYA正确后,可写 ; 控制字段:验证KEYA后,可读、可写;密钥B:验证KEYA正确后,可读、可写。
四。Mifare S50卡的访问流程
1.Mifare S50卡的访问流程
Mifare S50卡三次认证流程
1.挑战值:RB, B产生的随机数;RA A产生的随机数。
2.TokenAB, A对随机数RB使用认证的密钥进行加密计算后的应答值。
3.TokenBA, B对随机数RA使用认证的密钥进行加密计算后的应答值。
4.加密算法为Mifare未公开的“crypto1”,后两步的通信数据是加密的。
2.Mifare S50卡的命令
Mifare S50卡的命令
Mifare S50卡的ACK及NAK应答
S50Authentication命令流程
Addr指块的顺序编号0~63
不切换扇区,同一个扇区只需要认证一次
Read命令流程
Write命令流程
Increment Decrement Restore 命令流程
Transfer命令流程