IC、ID、M1、CPU卡

本博文转自:

http://blog.sina.com.cn/s/blog_9ed067ad0100xj3n.html   潘春伟的博客

http://www.cnblogs.com/k1two2/p/5415397.html   K1two2

博文目录:

ICIDM1CPU卡之间的区别

射频识别技术漫谈——ID

射频识别技术漫谈——CPU卡概述

非接触式M1

 

 

业内还有一些不成文的习惯叫法。一般的卡片操作通常都是主从式,即读卡器作为主动方发送命令,卡片收到命令后作出反应,这种卡片我们称之为IC卡。有一类比较简单的卡,卡内只存储了一个识别号,通常只要进入射频场获得能量后就不停的主动发送这个识别号,这类卡习惯称ID卡。当然这些叫法只是习惯,事实上IC是集成电路的意思,以上卡片都应叫IC卡,不过习惯的力量往往是很大的,时间长了,大家也就接受这种称呼了。

IC卡包括了ID卡,M1卡、CPU卡;ID卡指的是低频率的卡,读取的频率是不一样的
M1卡通常指的是恩智浦的S50芯片卡; CPU卡比ID卡和M1卡容量多、具有自动运算功能、还有安全性强的卡。


IC、IDM1、CPU卡之间的区别


1、ID卡
  全称为身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号.卡号在封卡前写入后不可再更改,绝对确保卡号的唯一性和安全性.ID卡在弱电系统中一般作为门禁或停车场系统的使用者身份识别,因ID卡无密钥安全认证机制,且不能写卡,现在行业内的基本共识是ID卡不适合做成一卡通,也不合适做消费系统。

2、  IC卡又称集成电路卡。
  它是在大小和普通信用卡相同的塑料卡片上嵌置一个或多个集成电路构成的。集成电路芯片可以是存储器或向处理器。带有存储器的IC卡又称为记忆卡或存储卡,带有微处理器的IC卡又称为智能卡或智慧卡。记忆卡可以存储大量信息;智能卡则不仅具有记忆能力,而且还具有处理信息的功能。IC卡可以十分方便地存汽车费、电话费、地铁乘车费、食堂就餐费、公路付费以及购物旅游、贸易服务等。

3、 M1卡
  是指菲利浦下属子公司恩智浦出品的芯片缩写,目前都有国产芯片与其兼容,属于非接触式IC卡。M1卡,优点是可读可写的多功能卡,缺点是:价格稍贵,感应距离短,适合非定额消费系统、停车场系统、门禁考勤系统等。

4、CPU卡
CPU卡芯片通俗地讲就是指芯片内含有一个微处理器,它的功能相当于一台微型计算机。人们经常使用的集成电路卡(IC卡)上的金属片就是CPU卡芯片。CPU卡可适用于金融、保险、交警、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证。CPU卡从外型上来说和普通IC卡,射频卡并无差异,但是性能上有巨大提升,安全性和普通IC卡比,提高很多,通常CPU卡内含有随机数发生器,硬件DES,3DES加密算法等,配合操作系统即片上OS,也称COS,可以达到金融级别的安全等级。

 

射频识别技术漫谈——ID卡

    ID(Identification)是识别的意思,ID卡就是识别卡。ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡。

    射频ID卡一般都工作在TTF模式,进入射频场得电后不停地发送自己的识别号。最初识别卡是用来识别人的,用5个字节40位二进制数表示,可以识别大约一万亿人,估计是因为考虑到一万亿太多了,一般ID卡使用时只使用低位的4个字节,而把最高位的一个字节作为厂家标识或版本号使用。这样4字节32位二进制数可以识别43亿人,在当时全世界每人一个识别号也足够了。当然后来又发展到卡号可以随便复制,这是后话。

    为了检查数据传输中是否发生了错误,射频识别卡对每个字节都增加了两个校验位,其中高半字节一个,低半字节一个,这样每个字节增加到10位二进制数,5个字节共有50位。为了校验数据的整体性错误,射频ID卡还增加了一个4位的纵向冗余检验,这样整个ID卡数据增加到54位。当进入射频场时,如果卡片直接回送这5个字节,那么读写器很难确定起始位和结束位,所以射频识别卡又增加了9个二进制“1”在前面作起始位,增加了一个二进制“0”在后面作结束位,这样ID卡就有了64位数据,正好8个字节。其排列如下图所示:


    例如卡号为2100A5EAD9的卡片,其编码格式为

    1   1   1   1   1   1   1   1   1           9个“1”的起始位,也叫头部

                    0   0   1   0   1           “2”

                    0   0   0   1   1           “1”

                    0   0   0   0   0           “0”

                    0   0   0   0   0           “0”

                    1   0   1   0   0           “A”

                    0   1   0   1   0           “5”

                    1   1   1   0   1           “E”

                    1   0   1   0   0           “A”

                    1   1   0   1   1           “D”

                    1   0   0   1   0           “9”

                    1   1   0   0   0           列偶校验和结束位“0”  

    射频ID卡的数据编码一般使用曼侧斯特码或两项码,传送数据的速率用传送一位二进制数据使用几个单位载波表示。常用的有64载波,32载波,16载波,在125KHz的频率下,一个载波的时间是8微秒,因此相应的位宽为512微秒,256微秒,128微秒。对应的数据传输速率为2K(1953)、4K(3906)、8K(7813)。我们平常使用的大多是2K曼侧斯特编码的ID卡。下图是使用HTRC110芯片读卡时,卡号为2100A5EAD9的卡片从数据输出脚DOUT输出的实测波形。


    软件解码时可以使用查询或中断检测跳变,配合定时器确定脉宽,根据跳变沿的方向确定数据。

    为了和128位的动物识别标签相区别,业内一般称这种64位的ID卡格式为“ID64格式”。

 

 

 

射频识别技术漫谈——CPU卡概述

    智能卡按安全级别可以分为三类:存储器卡、逻辑加密卡和CPU卡,其中CPU卡是安全级别最高的。从“CPU”这个名字可以看出,CPU卡最大的特点就是卡片里面有一个"CPU",有了CPU我们就可以对卡片编程写入软件(COS,卡片操作系统),实现复杂的安全加密算法,所以CPU卡的安全性是最高的。与之形成对比的是,存储器卡和逻辑加密卡中没有"CPU",尽管在我们看来像MIFARE1卡看起来似乎也很智能,但M1卡里存在的仅仅是一个专用集成电路(ASIC),而不是CPU。

    说到非接触式CPU卡,就不得不提接触式CPU卡,因为就CPU卡的灵魂——COS来说,二者遵循的协议基本是一样的,都是ISO7816-4,不同之处在于二者进入COS的方式和途径,在此以复旦微电的非接触式CPU卡FM1208M01为例,与接触式CPU卡进入COS的过程对比如下图所示。



    CPU卡在进入ISO7816-4协议之前所做的都是一些为卡片和读写器对话进行的准备工作。接触式CPU卡的序列比较简单,卡片插在卡座上,读写器给卡片一个复位(Reset)信号,卡片回送一个应答ATR(Answer To Reset),ATR由5部分组成:

    (1)初始字符TS:指定字符传送规则,如果是3B则高电平表示1,低电平表示0,先传送字符最低有效位;如果是3F

                   则高电平表示0,低电平表示1,先传送字符最高有效位。

    (2)格式字符T0:指定存在哪些接口字符以及历史字符的个数。

    (3)接口字符  :指定协议参数和协议类型

    (4)历史字符  :说明诸如制造商、芯片型号等一般信息

    (5)校验字符  :保证ATR数据的完整性,使用的是异或校验

    非接触式CPU卡得到ATS(Answer To Select)相对步骤多一些,不过这也是迫不得已,这是由卡片本身的“非接触”特性决定的。不像接触式卡片那样一卡一座,非接触式卡片由于“无源”和“免接触”,读写器的射频场中可能同时存在多张卡片,为了从多张卡片中选中一张进行操作,读写器要启动防冲突和卡选择的过程。由于不能保证射频场中的卡片都是CPU卡,所以读写器选中一张卡片后还要向卡片发送RATS命令,CPU卡会回送一个ATS响应,此ATS与接触式CPU卡的ATR也大同小异,同样由5部分组成:

    (1)长度字符TL:指出ATS的长度,不包括后面的校验字节。

    (2)格式字符T0:指定存在哪些接口字符以及卡片能接收的帧的最大长度。

    (3)接口字符  :指定协议参数和协议类型

    (4)历史字符  :说明诸如制造商、芯片型号、序列号等一般信息

    (5)校验字符  :保证ATS数据的完整性

非接触式M1卡

 

主要指标

容量为8K位EEPROM

分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位

每个扇区有独立的一组密码及访问控制

每张卡有唯一序列号,为32位

具有防冲突机制,支持多卡操作

无电源,自带天线,内含加密控制逻辑和通讯逻辑电路

数据保存期为10年,可改写10万次,读无限次

工作温度:-20℃~50℃(湿度为90%)

工作频率:13.56MHZ

通信速率:106 KBPS

读写距离:10 cm以内(与读写器有关)

 

存储结构

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

 

 

 

 

  

 

 

块0

     

数据块

0

扇区0  

块1

 

数据块

1

 

块2

 

数据块

2

 

块3

密码A   存取控制   密码B

控制块

3

  

块0

 

数据块

4

扇区1

块1

 

数据块

5

 

块2

 

数据块

6

 

块3

密码A   存取控制   密码B

控制块

7

 

 

 

            ∶

      ∶

      ∶

 

 

 

  

  0

 

数据块

60

扇区15  

  1

 

数据块

61

 

  2

 

数据块

62

 

  3

密码A    存取控制   密码B

控制块

63

 

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

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

   数据块可作两种应用:

用作一般的数据保存,可以进行读、写操作。

用作数据值,可以进行初始化值、加值、减值、读值操作。

每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结构如下:

    

 

            密码A(6字节)  存取控制(4字节) 密码B(6字节)  

 

每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:

    

          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)

  

         访 问 条 件 (对数据块 0、1、2)

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 表示密码A或密码B,Never表示任何条件下不能实现)

 

  例如:当块0的存取控制位C10 C20 C30=1 0 0时,验证密码A或密码B正确后可读;

        验证密码B正确后可写;不能进行加值、减值操作。

 

    7、控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下:

 

 

 

 

密码A

存取控制

密码B

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时,表示:

           密码A:不可读,验证KEYA或KEYB正确后,可写(更改)。

         存取控制:验证KEYA或KEYB正确后,可读、可写。

           密码B:验证KEYA或KEYB正确后,可读、可写。

 

工作原理

卡片的电气部分只由一个天线和ASIC组成。

天线:卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中。

ASIC:卡片的ASIC由一个高速(106KB波特率)的RF接口,一个控制单元和一个

      8K位EEPROM组成。

工作原理:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与讯写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值