• M1 卡技术规范


    射频卡简单来讲就是卡的一种工作方式,通过感应的方式来工作,也能够把全部的感应卡都统称为射频卡。

    IC卡的范围比較广。芯片外露的接触式IC卡、芯片内置的感应式IC卡和双界面IC卡都可统称为IC卡。IC卡芯片有分为可加密的逻辑加密卡及仅仅具有存储空间的存储卡。

    ID卡全称为身份识别卡,是一种不可写入的感应卡,ID卡出厂的时候芯片内码号就已经固话不可更改,每次使用不过读取ID卡的卡号和相关信息进行关联。

    ID卡与磁卡一样,都只使用了“卡的号码”而已。卡内除了卡号外,无不论什么保密功能,其“卡号”是公开、裸露的。所以说ID卡就是“感应式磁卡”。

    非接触IC卡。又叫 射频卡。感应卡。感应式IC卡。

        当中。我们把仅仅读卡(仅仅能通过读卡器读出卡号(ID号),并且卡号是固化的(不能改动),不能往卡的分区再写数据。这样的非接触卡,我们简称ID卡。EM(芯片厂家)的ID卡拥有ID卡绝对的占有率,性价比最好,所以又叫EM卡,或者EM ID卡。

    可读写的非接触IC卡。市面上绝大部分产品选用的是 Philips 的 Mifare One 芯片(有人简称M1),所以,我们叫他 Mifare one卡,或者 Mifare 卡。或者叫 M1卡。

    Mifare One 卡。当中ISO1443 TYPE A 格式应用最为普及,广泛用于 门禁 考勤 消费 等一卡通场合。

    TYPE B格式用于身份证 地铁公交卡等一些场合。M1卡是ISO14443 TPYEA类卡,没有CPU,安全性也不高。

    CPU卡,是ISO1443 TPYE B,有CPU,安全性高.

     射频卡也就是我们所说的射频识别即RFID技术。又称无线射频识别。是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

    经常使用的有低频(125k~134.2K)、高频(13.56Mhz)、超高频,微波等技术。

     

    一、 主要指标

    l 分为16(S50)个扇区。每一个扇区为4块。每块16个字节,以块为存取单位

    l 每一个扇区有独立的一组password及訪问控制

    l 每张卡有唯一序列号。为32

    二、 存储结构

    1、 M1卡分为16个扇区。每一个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构例如以下图所看到的:

      

    0

         

    数据块

    0

    扇区0  

    1

    数据块

    1

    2

    数据块

    2

    3

    passwordA   存取控制   passwordB

    控制块

    3

      

    0

    数据块

    4

    扇区1

    1

    数据块

    5

    2

    数据块

    6

    3

    passwordA   存取控制   passwordB

    控制块

    7

                ∶

          ∶

          ∶

      

      0

    数据块

    60

    扇区15  

      1

    数据块

    61

      2

    数据块

    62

      3

    passwordA    存取控制   passwordB

    控制块

    63

    2、 第0扇区的块0(即绝对地址0块)。它用于存放厂商代码。已经固化。不可更改。

    3、 每一个扇区的块0、块1、块2数据块。可用于存贮数据。

       数据块可作两种应用:

    ★ 用作一般的数据保存,能够进行读、写操作。

    ★ 用作数据值,能够进行初始化值、加值、减值、读值操作。

    4、 每一个扇区的块3控制块,包含了passwordA、存取控制、passwordB。详细结构例如以下:

        

                passwordA6字节)  存取控制(4字节) passwordB6字节)  

    5、 每一个扇区的password和存取控制都是独立的,能够依据实际须要设定各自的password及存取控制。存取控制为4个字节。共32位。扇区中的每一个块(包含数据块和控制块)的存取条件是由password和存取控制共同决定的。在存取控制中每一个块都有对应的三个控制位,定义例如以下:

        

              块0:   C10   C20   C30

              块1:   C11   C21   C31

              块2:   C12   C22   C32

              块3:   C13   C23   C33

      三个控制位以正和反两种形式存在于存取控制字节中。决定了该块的訪问权限(如  

      进行减值操作必须验证KEY A。进行加值操作必须验证KEY B,等等)。三个控制

      位在存取控制字节中的位置。以块0为例:

       对块0的控制:

               bit  7    6     5       4     3      2      1      0

    字节6

    C20_b

    C10_b

    字节7

    C10

    C30_b

    字节8

    C30

    C20

    字节9

                    ( 注: C10_b表示C10取反 )

          存取控制(4字节,当中字节9为备用字节)结构例如以下所看到的:

              bit  7    6      5       4     3      2      1      0

    字节6

    C23_b

    C22_b

    C21_b

    C20_b

    C13_b

    C12_b

    C11_b

    C10_b

    字节7

    C13

    C12

    C11

    C10

    C33_b

    C32_b

    C31_b

    C30_b

    字节8

    C33

    C32

    C31

    C30

    C23

    C22

    C21

    C20

    字节9

                         ( 注: _b表示取反 )

        6数据块(块0、块1、块2)的存取控制例如以下:

     

      控制位(X=0..2)

      

             訪 问 条 件 (对数据块 012

    C1X

    C2X

    C3X

     Read

     Write 

    Increment

    Decrement, transfer,

    Restore

    0

    0

    0

    KeyA|B

    KeyA|B

    KeyA|B

    KeyA|B

    0

    1

    0

    KeyA|B

    Never

    Never

    Never

    1

    0

    0

    KeyA|B

    KeyB

    Never

    Never

    1

    1

    0

    KeyA|B

    KeyB

    KeyB

    KeyA|B

    0

    0

    1

    KeyA|B

    Never

    Never

    KeyA|B

    0

    1

    1

    KeyB

    KeyB

    Never

    Never

    1

    0

    1

    KeyB

    Never

    Never

    Never

    1

    1

    1

    Never

    Never

    Never

    Never

         (KeyA|B 表示passwordA或passwordBNever表示不论什么条件下不能实现)

      比如:当块0的存取控制位C10 C20 C30=1 0 0时,验证passwordA或passwordB正确后可读;

            验证passwordB正确后可写。不能进行加值、减值操作。

        7控制块3的存取控制与数据块(块012)不同。它的存取控制例如以下:

    passwordA

    存取控制

    passwordB

    C13

    C23

    C33

    Read

    Write 

    Read

    Write

    Read

    Write

    0

    0

    0

    Never

    KeyA|B

    KeyA|B

    Never

    KeyA|B

    KeyA|B

    0

    1

    0

    Never

    Never

    KeyA|B

    Never

    KeyA|B

    Never

    1

    0

    0

    Never

    KeyB

    KeyA|B

    Never

    Never

    KeyB

    1

    1

    0

    Never

    Never

    KeyA|B

    Never

    Never

    Never

    0

    0

    1

    Never

    KeyA|B

    KeyA|B

    KeyA|B

    KeyA|B

    KeyA|B

    0

    1

    1

    Never

    KeyB

    KeyA|B

    KeyB

    Never

    KeyB

    1

    0

    1

    Never

    Never

    KeyA|B

    KeyB

    Never

    Never

    1

    1

    1

    Never

    Never

    KeyA|B

    Never

    Never

    Never

       比如:当块3的存取控制位C13 C23 C33=1 0 0时。表示:

               passwordA:不可读,验证KEYAKEYB正确后,可写(更改)。

             存取控制:验证KEYAKEYB正确后。可读、可写。

               passwordB:验证KEYAKEYB正确后,可读、可写。

  • 相关阅读:
    c getline
    vim tips
    viksoe.dk UI: Become windowless
    用ls如何实现文件按时间排序查看,谢谢! AIX ChinaUnix.net
    垂直切分大小 : vertical res 30
    commandlinefu.com
    cmake 学习笔记(二) 1+1=2 博客频道 CSDN.NET
    implement split with c++
    分享:spdylay 0.3.8 发布,SDPY 的 C 语言实现
    培乐园《搜索相关性1》—在线播放—优酷网,视频高清在线观看
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7399621.html
Copyright © 2020-2023  润新知