Mifare1 S50技术文档

来源:互联网 发布:四个月b超数据看男女 编辑:程序博客网 时间:2024/04/28 18:24

最近在做RFID的相关应用,使用到了14443A协议的Mifare1卡。下面对我收集的内容简单整理下:

 

主要包括3个部分:

1。相关参数、指标、原理

2。存储结构(这是最为关键的,使用时主要看它)

 

闲话少说,内容来了。。。呵呵

 

一、相关参数、指标、原理:

1。8KBit = 1KByte EEPROM 容量

2。16个扇区,每个扇区4块,一块16个字节

3。每张卡有唯一序号 32Bit = 4Byte

4。防冲突,13.56MHZ工作频率,传输速率106KBPS

5。读写距离10CM以内,跟读写器有关

6。卡片内部是有环绕的线圈、芯片、RF接口,当卡片接近读写器时通过RF接口传输数据。所以是无源的

7。16位CRC数据校验保证数据的完整性,数据传输以密钥保护方式(兼容双密钥),相互三轮认证

8。每个扇区不同的密钥保护,可方便实现一卡通

9。卡片工作原理:命令由读写器发出,当卡片接近读写器时进行卡呼叫,防冲突循环取得卡号,选卡激活,三轮认证(指定扇区),通过后进行读/写/加值/减值

10。数据块分为读写块及数值块(存储器操作:读/写/加值/减值/转存/恢复)两种,可根据不同需要,通过控制位进行设置,任何存储操作时进行认证。数值块一般用于电子钱包之类的应用。

11。三轮认证了解下:读写器指定要访问的区,选择密钥A/B;卡从位块读取密钥和访问控制位,然后卡向读写器发送随机数(第一轮);

读卡器利用密钥和随机数计算回应值,读卡器将回应值连同随机数发送给卡(第二轮);卡通过与自己的随机数比较,验证读写器的回应值,再计算回应值并发送(第三轮);读卡器通过比较,验证卡的回应值。在第一个随机数传送之后,卡与读卡器的通讯都是加密的

 

二、存储结构:

1。对指定块执行的操作由密钥和存取控制位在相应尾块的读写条件,第一扇区的第一块是制造商在生产时写入的数据,不可修改

2。数值块只能通过数值块格式的写操作生成

数值:有符号4字节数,数值最低字节存储在最低地址字节,负值以2的补码形式存储。出于数据完整和安全的考虑,数据存储三次两次不取反,一次取反

地址:1字节地址,当进行备份管理时,可用于保存块的地址。地址保存4次,两次取反,两次不取反,只能通过写命令更改。

3。各个扇区均有一尾块,存有密钥A、存储控制(针对每个区的四个块的读写条件);如果不需要密钥B,该块的后6个字节可用作数据字节
4。存储器组织:
 
5。存取控制位有3个Bit位组成,每个块有不同的控制位:
存取控制位以正和反得形式存在于存取控制字节中
每次的读写操作时,内部寄存器都会验证存取控制读取条件,如果发现错误,该区将被永久锁死
6。控制块(块3)
 
 
尾块和KeyA被定义为传输配置状态,因为在传输配置状态下KeyB可读,新卡必须用KeyA认证。
7。数据块的控制如下(块0、1、2):
 
在传输配置状态必须用KeyA认证
如果相应块KeyB可读,则不能用于认证(灰色行)
如果读写器用灰色行的控制位条件以KeyB认证任何扇区的任何块,卡将在认证后拒绝所有存储器访问
原创粉丝点击