Mifare1标准IC卡读卡模块读写原理
Mifare 1卡的主要指标如下: 容量为1K bit的EEPROM;分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;每个扇区有独立的一组密码及访问控制;每张卡有唯一序列号,为32位;具有防冲撞机制,支持多卡操作;无电源,自带天线,内含加密控制逻辑和通讯逻辑电路。对于充电卡,非接触IC卡无疑是最好的选择。
通讯原理
通讯命令由读写装置(Read Write Device,RWD)初始化,并由MF1 IC S50 的数字式控制单元根据相应区的有效访问条件来控制。
1、请求 标准/所有
卡上电复位(POR)后,它可以给请求代码发送回应(ATQA,根据ISO/IEC 14443A)回复 RWD的请求命令(由RWD发出,给所有在天线范围内的卡)。
2、反冲突环
反冲突环可以读出卡的序列号 如果在 RWD的工作范围内有几张卡RWD通过唯一的序列号来区别它们而且每次选择其中一张卡(也叫选择卡)进行下一步操作,没有被选中的卡会回到准备模式等待新的请求命令。
3、选择卡
RWD 使用选择卡命令选中其中一张卡进行确认和存储器相关操作。卡返回Answer To Select(ATS)码(=08h),RWD通过 ATS 可以确定被选中的卡的类型。
4、三轮确认
选中了一张卡之后 RWD 指出了接着要访问的存储器位置,然后使用相应的密钥进行3轮确认。在成功确认后所有的存储器操作都是保密的。
三轮确认的顺序
1 RWD指定要访问的区并选择密钥A或密钥B;
2 卡从区尾读出密钥和访问条件,然后卡发送一个随机数(作为询问(challenge))到RWD;【第一轮】
3 RWD用密钥和附加输入计算响应。然后,将响应和RWD的随机询问一起发送到卡中;【第二轮】
4 卡用自己的询问和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.)
5 RWD用自己的询问和卡的响应相比较确认卡的响应。(the RWD verifies the response of the card by comparing it to its own challenge)。
在发送第一个随机的询问之后卡和RWD之间的通讯是保密的。
莲花IC卡读卡器标准协议下读卡步骤
1、 请求和感应区内一张卡片连接
2、 卡片防冲突
3、 选定感应区内一张卡片
4、 使用预先设置到读头内的密钥校验指定扇区密钥
5、 读出指定块的数据