浅谈门禁卡
由于稚辉军的门禁卡,初略的了解一下门禁卡的分类以及内部结构。以此记录学习内容,已故后期回顾。如有不谨慎的地方,还望指点!

门禁卡的分类
IC卡 SAK08 Mifare CLassic 1k (市面上普遍常见的卡)
ID卡 一串身份ID
CPU卡 SAK20 (常见于金融、高端会员、高端加油卡等)
模拟卡 SAK28 JOCP31/41
由于市面上普遍使用IC卡 SAK08 Mifare CLassic 1k ,因此我们主要对此进行讨论~
门禁卡的区分方法
-
通过手机NFC标签功能查看卡的类型
MCT->工具->标签(显示卡的信息)
-
使用PN532 PM3 变色龙等上位机查看卡的类型
-
通过观察卡内线圈形状来判断(准确率不高)
一般来说方形线圈的为IC卡,圆形的为CPU卡,方形加圆形一般来说是双频卡
IC卡介绍
市面上IC卡种类偏多,内部错综复杂,在此主要介绍M1卡~
M1卡数据结构
M1卡的容量是 1KB 注意是KB 进而解释了 看到数据是8Kb (1Byte=1bit)也可以理解为有 8192个二进制 也就是 0 or 1
当然数据不可能是一串长长的二进制。虽然只有1KB大小 却也组成一个储存单元
M1卡 分为 16个扇区 编号 0~15扇区
1个扇区又分为4个块(M1卡的最小存储单元)
每一块有16字节 (16bit)
通常我们使用一个块 or 两个块来储存数据,通常来说数据会进行加密,这里不进行深入探讨~
如图所见:每个扇区的第四块:FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF
记录着数据
那么这些数据是些什么那?
当当当! 魔法!!!
其实是M1卡的加密的密钥。左边的第一个密钥FF FF FF FF FF FF FF
是密钥A 那右边的密钥当然是
密钥BFF FF FF FF FF FF FF
,那问题又来了中间的07 80 69
这个是什么那?
其实是两个密钥之间的控制字段~
细心的同学肯定发现了第0扇区的第一个块的数据(绝对0块)是什么?
BA E7 DA 14 93 08 04 00 62 63 64 65 66 67 68 69
这些看不懂的东西其实是每个厂商的代码唯一的序列号(一般来说储存着厂商信息,也可以理解身份),并且已经固化,不可更改!
在一些拥有NFC的手机可以使用NFC进行模拟(通过NFC标签功能)但是手机厂商因为绝对0块的原因无法进行模拟!
M1卡是典型的高频卡,工作频率为13.56MHz,一般调频(FM)收音机接收的广播频率在87MHz到108MHz之间。猜想:如果高频卡工作频率达到80MHz以上时在读卡或写卡时产生的频率应该能对该频段收音机产生电磁干扰。
通信速率:106KBPS,也就是说可以在10毫秒的时间内完成读写内容。
工作半径:100mm。大约在100mm以内的距离,可以使用读卡器对m1卡进行操作(一般写距离要小于读距离)。
下面将讲述模拟门禁卡的大略思路
门禁卡的模拟
主要是思路是通过把门禁卡破译,然后一张空白卡作为中间介子,把破译后的1KB.dump文件写入空白卡,从而绕过绝对0块~ 本片文章仅供学习,因此不主要介绍破译过程

空白卡的介绍
- UID卡:普通复制卡,可以重复擦写所有扇区,遇到防火墙全失效
- CUID 卡:升级复制卡,屏蔽UID复制卡的系统可用CUID 代替UID,可以重复擦写所有扇区
- FUID卡:高级复制卡,CUID复制没用的情况下使用,0扇区只能写入一次,写入一次变成M1卡,写过之后可以重复擦写0扇区外的其他扇区
- UFUID卡:高级复制卡,理解为是UID和FUID的合成卡,需要封卡操作,封卡之后变M1卡,不封卡就是UID卡
模拟工具:PN532、PM3、变色龙等
文章部分借鉴,侵删