首页 > 代码库 > Mifare 1k卡技术细节以及工作原理

Mifare 1k卡技术细节以及工作原理

准备开工了,记录一下查到的一些基本资料,拖了好久,终于要开始了,嘿嘿嘿。

一、主要指标

  • 容量为8K 位EEPROM
  • 分为16 个扇区,每个扇区为4 块,每块16 个字节,以块为存取单位
  • 每个扇区有独立的一组密码及访问控制
  • 每张卡有唯一序列号,为32 位
  • 具有防冲突机制,支持多卡操作
  • 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
  • 数据保存期为10 年,可改写10 万次,读无限次
  • 工作温度:-20℃~50℃(温度为90%), PET 材料封装得M1 卡,温度可达100℃。
  • 工作频 :13.56MHZ
  • 通信速 :106KBPS
  • 读写距离:10cm 以内(与读写器有关)

二、存储结构

  1. M1 卡分为16 个扇区,每个扇区由4 块 (块0、块1、块2、块3)组成,(我们也将16 个扇区的64 个块按绝对地址编号为0~63,存贮结构如下图所示:
  2. 第0 扇区的块0 (即绝对地址0 块),它用于存放厂商代码,已经固化,不可更改。
  3. 每个扇区的块0、块1、块2 为数据块,可用于存贮数据。数据块可作两种应用:
    用作一般的数据保存,可以进行读、写操作。
    用作数据值,可以进行初始化值、加值、减值、读值操作。
  4. 每个扇区的块3 为控制块,包括了密码A、存取控制、密码B。具体结构如下:
  5. 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4 个字节,共32 位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:
  6. 三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置,以块0 为例:

    存取控制 (4 字节,其中字节9 为 用字节)结构如下所示:
  7. 数据块 (块0、块1、块2)的存取控制如下:
    例如:当块0 的存取控制位C10 C20 C30=1 0 0 时,表示
    验证密码A 或密码B 正确后可读;
    验证密码B 正确后可写;
    不能进行加值、减值操作。
  8. 控制块块3 的存取控制与数据块 (块0、1、2)不同,它的存取控制如下:
    例如:当块3 的存取控制位C13 C23 C33=1 0 0 时,表示:
    密码A:不可读,验证KEYA 或KEYB 正确后,可写 (更改)。
    存取控制:验证KEYA 或KEYB 正确后,可读、可写。
    密码B:验证KEYA 或KEYB 正确后,可读、可写。

Mifare 1k卡技术细节以及工作原理