【Hardware】ID 卡和 IC 卡

Posted by 西维蜀黍 on 2020-02-09, Last Modified on 2021-09-21

IC 卡

高频(High frequency)是指频带由3MHz到30MHz的无线电波,然而常用的RFID使用的高频频段为13.56MHz。

IC卡全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。可读写,容量大,有加密功能,数据记录可靠,使用更方便,如一卡通系统,消费系统等,目前主要有PHILIPS的Mifare系列卡(也称为 M1 Card)。

ID卡

ID卡全称身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国的HID、TI 和 MOTOROLA等各类ID卡。

ID卡属于大家常说的低频卡,一般大部分情况下作为门禁卡或者大部分大学里使用的饭卡,一般为厚一些的卡,是只读的,卡里面只保存有一串唯一的数字序号ID,可以把这串数字理解为你的身份证号,刷卡的时候,读卡器只能读到ID号,然后通过跟后台数据库进行匹配,如果是门禁卡,那么数据库里面就是存在这样的ID号,如果匹配上门就开了,匹配不上门就开不了。

如果是学校的饭卡,刷卡的时候,实际上操作的是你对应ID号相关的数据库中的数据。ID卡本身不存在任何其他数据,所以,学校使用的ID卡饭卡,只能复制卡,刷别人的钱(数据库中的钱),再没有其他办法。

如果卡上写着 HID,这张卡也可能是 IC 卡(see https://www.hidglobal.com/product-display/cards-and-credentials/iclass)。


由此可以看出,ID卡是可加密的存储卡、ID卡是只读的低频卡。

CPU卡

CPU card chip is a microprocessor, If you want to achieve more advanced features and the security level is particularly high, its function is equivalent to a microcomputer. CPU cards can be applied to many fields such as finance, insurance, traffic police, and government industries etc.

有操作系统,可存储数据,也有自己的ID号,CPU卡发一串数据给设备,设备与SAM卡进行运算,设备再发一串数据回CPU卡确认,然后进行交易或身份认证;跟M1卡的区别在于一个算法在空中,一个算法在设备里面;无论是卡商,设备商,运营商,都不知道其中的算法,所以这个系统的安全性会高很多。

区别

如何从外观上来进行区分ID卡和IC卡

圆形大多是ID卡,方形大多是IC卡(椭圆形,沿着卡片的四条边分布,距离卡边大概3-5mm左右的距离)。

常见卡类型

类型 频率 特性
Mifare S50(简称M1) 高频 最常见的卡,每张卡有独一无二的UID号,可保存修改数据,常见学生卡,饭卡,公交卡,门禁卡
Mifare UltraLight(简称M0) 高频 低成本卡,出厂固化UID,可储存修改数据,常见地铁卡,公交卡
Mifare UID(简称UID卡) 高频 M1卡的变异版本,可修改UID,国外叫做中国魔术卡,可以用来克隆M1 S50的数据
EM4XX(简称ID卡) 低频 常用固化ID卡,出厂固化ID,只能读不能写(低成本门禁卡,小区门禁卡,停车场门禁卡)
T5577(简称可修改ID卡) 低频 可用来克隆ID卡,出厂为空卡,内有三区也可储存数据,个别三区科设置密码
HID ProxⅡ(简称HID卡) 低频 美国常用的低频卡,可擦写,不与其他卡通用

高频

M1 S50卡

目前最常见的高频卡,也是我们口中俗称的IC卡。M1卡科储存的数据大小为8k,分为16个扇区,每个扇区分4个块,每个块为16个字节,以块为存取单位。每个扇区都有独立的一组密码及访问控制,每张卡有唯一的一个32位的序列号。每个扇区的0,1,2块为数据块,用来存储数据,第3块为控制块,包括了密A、存取控制、密码B。

每张卡的第0扇区的第0块用来存放厂商代码,不可更改。

扇区0	03332801198804008500b42ef0bb6aa8 块0	 	//厂商代码,不可更改
	00000000000000000000000000000000 块1	 	//数据块
	00000000000000000000000000000000 块2 		//数据块
	ffffffffffffff078069ffffffffffff 块3 		//密码A(6字节),存储控制(4字节),密码B(6字节)

扇区1	00000000000000000000000000000000 块4 		//除了第0扇区稍有不同,其他15个扇区结构完全一样
	00000000000000000000000000000000 块5
	00000000000000000000000000000000 块6
	ffffffffffffff078069ffffffffffff 块7
		        .
		        .
		        .   
扇区15	00000000000000000000000000000000 块60
	00000000000000000000000000000000 块61
	00000000000000000000000000000000 块62
	ffffffffffffff078069ffffffffffff 块63

中间4字节控制字是管理密码权限,用来设置A密码和B密码的功能。默认不修改的时候,可以用A密码读写所有数据。A密码不可读出,B密码可以用A密码读出。密码不一定可以读取,由控制字决定。

M1 UID卡

M1 UID卡是针对M1 S50卡特制的变种卡,用起来和M1 S50完全一样,只是多了一个功能,就是0扇区块的数据可以随意修改。因此UID号也可以随意修改,厂家信息也可以随意修改。UID卡修改0扇区0块数据是靠指令进入工厂模式,可以直接对全卡任何数据编辑,不需要密码即可读写卡,同时不怕写坏卡,即使写错0块,写坏扇区控制字,也可以随时修复回来,不影响后续使用。

FUID卡

FUID卡是针对UID卡做的优化。新的读卡系统,通过检测卡片对特殊指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能。FUID可以修改0块,但只可以修改一次,写错也没办法更改,也不能重复利用。修改后和M1卡完全一样,很难被屏蔽检测。

CUID卡

CUID卡是针对FUID卡做的优化。CUID卡可以重复修改0块,但是它和UID卡的区别是,UID卡是通过指令修改0块,CUID使用的是常规密码验证的方法写0块,其他扇区和标准M1卡相同。缺点是,还是有可能会被检测出来,而且如果不小心写错了UID号的校验位导致无法读卡,没办法修复只能报废。

低频

ID卡

ID卡是我们的俗称,内部芯片的全名叫做EM4100或EM41XX。每张卡出厂就有独一无二的ID号,不可改写。

T5577卡

T5577 卡是一种可以写入数据可以加密的低频卡。最特别之处是,写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡。T5577一共有8个块,每个块只能存8位数。第0块是用来设置卡片类型和调制方式的,决定了卡片是ID卡还是HID卡,如果随意修改会导致读不到卡。最后一个块,在没有加密时是数据区,加密后,其数据就变成了密码。结构如下

0x00148040  00000000000101001000000001000000 [0]
0xFF94C004  11111111100101001100000000000100 [1]
0xA5464942  10100101010001100100100101000010 [2]
0xFFFFF808  11111111111111111111100000001000 [3]
0x0001C000  00000000000000011100000000000000 [4]
0x0001C000  00000000000000011100000000000000 [5]
0x0001C000  00000000000000011100000000000000 [6]
0x0001C000  00000000000000011100000000000000 [7]

IC卡

类型

HID

  • iCLASS® Seos
  • iCLASS SE®
  • iCLASS®
  • Crescendo®
  • HID Proximity

破解

arc122u只能读取和修改高频卡(IC 卡),有点不足

Reference