NXP Miafre 1 S50感应式IC卡相关知识

2017-10-24 15:14:24 重庆诺塔斯智能科技有限公司 361

简介


NXP Miafre 1 S50感应式IC卡是NXP旗下的一款应用非常广泛的非接触式IC卡,其主要电气特征如下:

芯片:    Philips Mifare 1 S50

存储容量:8Kbit,16个分区,每分区两组密码

工作频率:13.56 MHz

通讯速率:106KBoud

读写距离:2.5~10cm

读写时间:1~2ms

工作温度:-20℃~85℃

擦写寿命:>100,000次 

数据保存:>10年

外形尺寸:ISO标准卡 85.6x54x0.80 / 厚卡 / 异形卡

封装材料:PVC、ABS、PET、PETG、0.13mm铜线

封装工艺:超声波自动植线 / 自动碰焊

执行标准:ISO 14443,ISO 10536

典型应用:企业/校园一卡通、公交储值卡、高速公路收费、停车场、小区管理等 


Mifare S50把1K字节的容量分为16个扇区(Sector0-Sector15),每个扇区包括4个数据块(Block0-Block3,我们也将16个扇区的64个块按绝对地址编号为0~63),每个数据块包含16个字节(Byte0-Byte15),64*16=1024。

 扇区号

 块号


  块类型

总块号

 扇区0

块0

厂商代码

厂商块

0


块1


数据块

1


块2


数据块

2


块3

密码A   存取控制   密码B

控制块

3

扇区1

块0


数据块

4


块1


数据块

5


块2


数据块

6


块3

密码A   存取控制   密码B

控制块

7

 ...

... 

... 

 ...

 ...

扇区15 

 块0


数据块

60


 块1


数据块

61


 块2


数据块

62


 块3

密码A    存取控制   密码B

控制块

63


1 特征  

1.1MIFARERF 接口ISO/IEC 14443A 

无线传送数据和能量不需要电池   

工作距离最高可达100mm 

由天线的结构geometry 决定  

工作频率13.56MHz  

数据传送速度快106kbit/s   

数据高度可靠正确16 位CRC 奇偶校验位编码位计数 

 

真正的反冲突   

典型的购票处理ticketing transaction<100ms 包括备份管理 

1.2 EEPROM   

1K 字节分成16 个区每区又分成4 段每一段中有16 个字节  

用户可以定义每一个存储器段的访问条件  

数据可以保持10 年  可写100,000 次 

1.3保密性Security)   

需要通过3 轮确认ISO/IEC DIS9798-2 Mutual three pass authentication  RF 

信道的数据加密有重放攻击保护, 每个区有两套独立的密钥每应用支持带密钥层次的多应用support multi-application with key hierarchy ,每个设备有唯一的序列号   

在运输过程中访问EEPROM有传输密钥保护


2 总体描述  

根据ISO/IEC 14443A 标准Philips 开发了无线智能卡芯片Mifare MF1 IC S50 非接触式IC卡 这个芯片的通讯层 Mifareè RF 接口遵从ISO/IEC 14443A 标准的第2 部分和第3 部分保密层security layer 使用经 区域验证的CRYPTO1 流密码field-proven CRYPTO1 stream cipher, 使典型Mifare系列芯片的数据交换得到保密。  

2.1 无线传送数据和能量 

Mifare系统中MF1 IC S50 连接着几匝线圈线圈嵌入到塑料中这就形成了一张无源的无线智能卡,这种卡不需要电池当智能卡靠近读写装置Read Write Device RWD 的天线时高速RF通讯接口可以以106kBit/s 的速度传送数据 

2.2 反冲突  

智能的反冲突功能允许同一工作区域中有不止一张卡同时工作反冲突算法每次只选择一张卡确保 对被选中的卡正确执行操作而且同一区域中的其他卡不会破坏数据 

2.3 用户更方便  

系统的设计使用户更加方便由于数据传送速率很高它可以使整个买票过程在小于100ms 中完成 这样Mifareè卡用户就不需要停在RWD 前面增大了通道门的吞吐量减少了上公共汽车的时间 如果卡放在钱包中钱包中甚至有硬币也可以进行交易  

2.4 保密性  

这个卡一个特殊的要点是保密防止欺骗相互询问Mutual challenge 和响应确认数据保密和报 文确认检查防止系统受到任何干扰使购票应用更有吸引力序列号不可修改保证了每张卡都是唯一的 

2.5 多应用功能  

和处理器卡processor card 的功能相比较Mifareè系统提供了一个实时的多应用功能每区有两 个不同的密钥这样系统可以使用密钥层次 

MIFARE card 

MIFARE card reader 

2.6 发货选项  

晶片电路  

突出的晶片电路 

芯片卡模块  

3 功能描述  

3.1 方框图描述  

MFI IC S50 由1KB 的EEPROM RF 接口和数字式控制单元组成能量和数据都通过天线传送天 线由几匝线圈组成并直接连到MF1 IC S50 不需要其他外部元件详细的天线设计资料请参考Mifareè 卡IC 线圈设计指南  

RF 接口  

调制器解调器  

整流器  

时钟再生器Clock Regenerator  

上电复位  

电压调整器   

反冲突在同一区域中的卡可以被顺序选中执行操作      

确认确认过程确保只有通过每个段的两个密钥才能对这个段进行任何存储器操作    

控制和算术逻辑单元值以特殊的冗余格式special redundant format 保存而且可以增加和减少   

EEPROM 接口   

Crypto 单元Mifare经典系列经区域验证的CRYPTO1 流密码field-proven CRYPTO1 stream cipher 确保数据交换的保密性   EEPROM 有1K 字节分成16 个区每区又分成4 段每一段中有16 个字节每个区的最后 一个段叫尾部它包括两个密钥和这个区中每一个段的访问条件可编程 

collision 

Authenti- 

3.2 通讯原理  

通讯命令由RWD 初始化并由MF1 IC S50 的数字式控制单元根据相应区的有效访问条件来控制 

3.2.1 

请求标准所有  卡上电复位POR 后它可以给请求代码发送回应ATQA 根据ISO/IEC 14443A 回复RWD 的 请求命令由RWD 发出给所有在天线范围内的卡 

3.2.2 反冲突环  

反冲突环可以读出卡的序列号如果在RWD 的工作范围内有几张卡RWD 通过唯一的序列号来区别 它们而且每次选择其中一张卡也叫选择卡进行下一步操作没有被选中的卡会回到准备模式等待新的 请求命令 

3.2.3 选择卡  

RWD 使用选择卡命令选中其中一张卡进行确认和存储器相关操作卡返回Answer To Select ATS 码=08h RWD 通过ATS 可以确定被选中的卡的类型如果需要更详细的资料请参考Mifareè标准卡类 型识别过程 

3.2.4  3轮确认  

选中了一张卡之后RWD 指出了接着要访问的存储器位置然后使用相应的密钥进行3 轮确认在 成功确认后所有的存储器操作都是保密的。

Request Standard Request All 

Get Serial Number 

Select Card s

ector specific 

Block Block  

ment ment store Halt 

Transfer  

Identification and Selection 

Procedure  

3 ms without collision 

+ 1 ms for each collision 

2 ms  Memory Operations 

2.5 ms read block 

6.0 ms write block  POR  

3.2.5 存储器操作  

确认之后可以执行以下的任何操作  

读存储器段  

写存储器段   

减减存储器段的内容并将结果保存在临时的内部数据寄存器中  

增增加存储器段的内容并将结果保存在数据寄存器中  

恢复将存储器段的内容移到数据寄存器   

传送将临时内部数据寄存器的内容写到值存储器段中 

3.3 数据可靠正确性  

RWD 和卡之间的无线通讯链路使用了以下的机制确保数据可靠地传输  

每个段16 位CRC  

每个字节都有奇偶校验位  

位计数检查   

用位编码区别1 0 和没有信息 

 信道监控协议序列和位流分析 

3.4 保密性  

根据ISO 9798-2 使用3 轮确认保密级别很高 

3.4.1  3 轮确认的顺序  

a)RWD 指定要访问的区并选择密钥A 或密钥B  

b) 卡从区尾读出密钥和访问条件然后卡发送一个随机数作为询问challenge 到RWD 第 一轮    

c) RWD 用密钥和附加输入计算响应然后将响应和RWD 的随机询问一起发送到卡中第二轮 

d) 卡用自己的询问和RWD 的响应相比较确认RWD 的响应然后卡计算询问的响应并发送出去 

第三轮The card verifies the response of the RWD by comparing it with its own challenge and then it calculates the response to chanllenge and transmits it.  

e) RWD 用自己的询问和卡的响应相比较确认卡的响应the RWD verifies the response of the card by comparing it to its own challenge 

在发送第一个随机的询问之后卡和RWD 之间的通讯是保密的 

3.5 RF 接口  

RF 接口是根据无线智能卡标准ISO/IEC 14443A 设计的  

RWD 的载波区一直存在在传送时会有短暂暂停卡的能量从载波区获得  

在两个方向的数据通讯中在每个帧的开始都有只一个起始位每个字节在传送时最后都有一个奇偶 

校验位奇校验所选段最低地址的字节最低位LSB 被首先发送最大的帧长度是163 位16 个数 

据字节2CRC 字节16*9+2*9+1 个起始位 

3.6 存储器结构  

1024x8 位的EEPROM 存储器被分成16 个区每个区中有4 个段每段有16 字节 在擦除状态时读EEPROM 单元的值是逻辑0 在写状态时读EEPROM 单元的值是逻辑1  

1  

Byte Number within a Block  

0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 

: : 

: :  

3.6.1 厂商段  

厂商段是存储器第一个区的第一个数据段段0 它包含了IC 卡厂商的数据基于保密性和系统的

安全性这一段在IC 卡厂商编程之后被置为写保护 

3.6.2 数据段  

所有的区都包含3 个段每段16 字节保存数据区0 只有两个数据段和一个只读的厂商段 数据段可以被以下的访问位access bits 配置  读写段用于譬如无线访问控制   值段用于譬如电子钱包它需要额外的命令像直接控制保存值的增加和减少 在执行任何存储器操作前都要先执行确认命令 

3.6.2.1 值段  

值段可以实现电子钱包的功能有效的命令有读写增减恢复发送 

值段有一个固定的数据格式可以进行错误检测和纠正并备份管理 

值段只能在值段格式的写操作时产生   

值表示一个带符号4 字节值这个值的最低一个字节保存在最低的地址中取反的字节以标准 2 的格式保存为了保证数据的正确性和保密性值被保存了3 次两次不取反保存一次取反保存   

Adr 表示一个1 字节地址当执行强大的备份管理时用于保存存储段的地址地址字节保存了4 次取反和不取反各保存两次在执行增减恢复传送操作时地址保持不变它只能通过写命令改变  

3.6.3 区尾段3  

每个区都有一个区尾它包括   

密钥A 和B 可选读密钥时返回逻辑0   

访问这个区中4 个段的条件保存在第6 字节第9 字节访问位access bits 也可以指出数 据段的类型读写或值  

如果不需要密钥B 那么段3 的最后6 字节可以作为数据字节  

用户数据可以使用区尾的第9 字节这个字节具有和字节6 7 和8 一样的访问权 

3.7 访问存储器  

在执行任何存储器操作以前卡必须要被选中并经过确认  

编址段可能的存储器操作要根据使用的密钥和保存在相应区尾的访问条件决定 

存储器操作  

操作 描述 有效的段类型 

读 读一个存储器段读写值和区尾 

写 写一个存储器段 读写值和区尾 

增 增加段的内容并将结果保存在内部数据寄存器 

减 减段的内容并将结果保存在内部数据寄存器

值  

传送 将内部数据寄存器的内容写 到段中 

值  恢复 将段的内容读到内部数据寄 存器中 

值  

3.7.1 访问条件  

每个数据段和区尾的访问条件由3 个位来定义它们以取反和不取反的形式保存在指定区的区尾中 访问位控制了使用密钥A 和B 访问存储器的权力当知道相关的密钥和当前的访问条件时可以修改 访问条件  

注在下面的描述中访问位是以不取反的形式显示  

MF1 IC S50 的内部逻辑确保命令只在确认完毕后执行否则不会执行 

访问位 有效命令 段 描述 

C13C23C33 读写 3 区尾  

C12C22C32 读写增减传送恢复 2 数据段 

C11C21C31 读写增减传送恢复 1 数据段 

C10C20C30 读写增减传送恢复 0 数据段  

注存储器访问外部逻辑时检查访问条件的格式如果它检测到格式被破坏整个区是不可逆的分块 if it detects a format violation the whole sector is irreversible blocked. 

3.7.2 区尾的访问条件  

区尾段3 的访问位密钥和访问位的读写访问可分为从不密钥A 密钥B 或密钥A|B 密钥A 或密钥B  

在片给区尾和密钥A 传送访问条件被预定义为传送配置由于密钥B 可以在传输配置中被读出新的 卡要用密钥A 确认  

由于访问位可以被阻塞在个人化卡的时候要特别注意

访问位 访问条件 

密钥A 访问位 密钥B 

注释  C1 C2 C3 读 写 读 写 读 写  

0 0 0 从不 密钥A 密钥A 从不 密钥A 密钥A 密钥B 可以被读   0 1 0 从不 从不 密钥A 从不 密钥A 从不 密钥B 可以被读 

1 0 0 从不 密钥B 密钥A|B 从不 从不 密钥B 

1 1 0 从不 从不 密钥A|B 从不 从不 从不  

0 0 1 从不 密钥A 密钥A 密钥A 密钥A 密钥A 密钥B 可以被读 传输配置  

0 1 1 从不 密钥B 密钥A|B 密钥B 从不 密钥B 

1 0 1 从不 从不 密钥A|B 密钥B 从不 从不 

1 1 1 从不 从不 密钥A|B 从不 从不 从不  

注用灰色标明的行是密钥B 可被读的访问条件此时密钥B 可以存放数据 

3.7.3 数据段的访问条件  

数据段段0 2 的访问位读写访问可分为从不密钥A 密钥B 或密钥A|B 密钥 A 或密钥B 相关访问位的设置定义了应用以及相应的应用命令  

读写段可以进行读和写操作   

值段可以进行增减传送和恢复的值操作其中一种情况中001 只能对不可再充电的卡进行读和减操作另一种情况中110 使用密钥B 可以再充电  

厂商段无论设置任何的访问位这段都是只读 

密钥管理在传输配置中密钥A 必须用于确认1 

访问位 访问条件 应用 

C1 C2 C3 读 写 增 减传送 

恢复  

0 0 0 密钥A|B1 密钥A|B1 密钥A|B1 密钥A|B1 传送配置 

0 1 0 密钥A|B1 从不 从不 从不 读写段 

1 0 0 密钥A|B1 密钥B1 从不 从不 读写段 

1 1 0 密钥A|B1 密钥B1 密钥B1 密钥A|B1 值段 

0 0 1 密钥A|B1 从不 从不 密钥A|B1 值段 

0 1 1 密钥B1 密钥B1 从不 从不 读写段 

1 0 1 密钥B1 从不 从不 从不 读写段 

1 1 1 从不 从不 从不 从不 读写段  1 

如果密钥B 可以在相应的区尾被读出它就不能用于确认在前面所有表中的灰色行结果如果RWD 要用这些带  灰色标记的访问条件的密钥B 确认任何段卡会在确认后拒绝任何存储器访问操作.