背景
最近公司有同事刷门禁的时候用了手环,对于我们这种见识短的农民工,B 格瞬间 MAX,据他们说公司的门禁卡是非加密卡,可以直接模拟,那么加密卡是否可以模拟呢?
产生了这样疑问的我,怀着 Geek 精神,当然要探索一番,网上关于 NFC 设备模拟加密卡的方式已经有很多了,但是关于基础知识及原理的解释很少,所以借此机会顺便梳理一番。当然,如果直接想看模拟加密门禁卡的方式,可以直接跳到后半段。
相关知识
什么是 NFC
近场通信技术(Near-field communication,NFC)由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体)、诺基亚和索尼共同于 2004 年研制开发,其基础是 RFID 及互连技术。近场通信是一种短距高频的无线电技术,在 13.56MHz 频率运行于 20 厘米距离内。其传输速度有 106 Kbit/秒、212 Kbit/秒或者 424 Kbit/秒三种。当前近场通信已通过成为 ISO/IEC IS 18092 国际标准、EMCA-340 标准与 ETSI TS 102 190 标准。NFC 采用主动和被动两种读取模式。
每一个完整的 NFC 设备可以用三种模式工作:
- 卡模拟模式(Card emulation mode)
- 读卡器模式(Reader/Writer mode)
- 点对点模式(P2P mode)
我们要使用的最核心的功能,就是卡模拟模式,一般智能设备,比如手机、手环都有这个功能。
NFC 卡片分类
ID 卡
ID 卡全称身份识别卡(Identification Card),为低频卡,工作频率为 125KHz-1000Khz(与大部分手机、智能设备工作频率不同,无法模拟),编号固定,卡号公开,不可写入数据,逐步淘汰中
IC 卡
全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card),工作频率为 13.56MHz(与大部分手机 NFC 频率一样,可模拟),可读写,容量大,可加密,在身份认证、银行、电信、公共交通等领域得到越来越多的应用
如何区分 ID 卡和 IC 卡
这边讲两个简单方法:
- 要是扣卡外观刻有数字 00 开头的 10、8、18 位数字,可判定此卡是 ID 卡
- 带 NFC 功能的安卓手机,会对 IC 卡产生感应,由此可以用来分辨 IC 卡和 ID 卡
IC 卡数据存储简介
IC 卡有从 0(大家都是从 0 开始数数的) 到 15 共 16 个扇区,每个扇区有 0 到 3 共 4 个区块,每个区块可以保存 16 字节的内容
第 0 扇区第 0 块由制造商写入,前 4 个字节为卡号(UID),第 5 个字节为 UID 的校验值,后面几位为厂商信息(大部分门禁卡只读取 UID,不会读取厂商信息,如果读取厂商信息,那模拟门禁卡就没辙了)
每个扇区第 3 块(尾块)由 A 密钥(前 6 个字节)+控制位(中间 4 个字节)+B 密钥(后 6 个字节)组成,其中控制位用于管理两个密钥的用途,及该扇区各块读写权限
扇区的其余区块,则是用来存储各式各样的数据的,比如楼栋号,单元号、楼层、有效时间等等。
IC 卡类型
由于 ID 卡是无法模拟的,而且逐步被淘汰中,因此本文不做深入探讨,下面介绍一下 IC 卡的几种类型
Mifare S50(M1)
MIFARE Classic 是恩智浦半导体开发的可用于非接触式智能卡,有 S20,S50(M1),S70 几种规格。M1 卡容量 1K 字节,每张卡片都有一个 4 字节的全球唯一序列号,0 扇区不可以修改,其他扇区可反复擦写,卡上数据保存期为 10 年,可改写 10 万次,读无限次。日常使用的电梯卡、门禁卡等智能卡发卡商所使用的都是 M1 卡,可以理解为物业发的原卡(母卡)。常见校园卡、公交卡等也是 M1 卡。M1 卡仅仅适合发卡方发新卡使用。
UID 卡
普通 IC 复制卡,可以重复擦写所有扇区。UID 可被重复修改,响应后门指令(意味着可被使用后门指令检测是否为克隆卡的机器发现),遇到带有防火墙的读卡器就会失效。平常去地摊上找老大爷配的门禁卡就是这种。
CUID 卡
UID 的升级版,可擦写防屏蔽卡,可以重复擦写所有扇区,不响应后门指令(意味着不容易被反克隆系统发现),可以绕过防火墙。
FUID 卡
不可擦写防屏蔽卡,此卡的特点 0 扇区只能写入一次,写入一次后变成 M1 卡,不能重复利用,修改后和 M1 卡完全一样,很难被屏蔽检测。
UFUID 卡
高级 IC 复制卡,可以理解为是 UID 和 FUID 的合成卡,需要封卡操作,不封卡就是 UID 卡,封卡后就变为 M1 卡。
CPU 卡
CPU 卡芯片内含有一个微处理器,配合操作系统即片上 OS,可以达到金融级别的安全等级。适用于金融、保险、交警、政府行业等多个领域。CPU 卡由 CPU 部分 7K 以及 M1 部分 1K 组成,最多激活成功教程其中 M1 部分,CPU 区域数据无法激活成功教程。实际上由于 CPU 部分和 M1 部分的数据会交互,所以基本上 CPU 卡无法激活成功教程。
模拟原理
门禁卡一般制作流程
一般的物业公司制作门禁卡,先把采购的 M1 卡的 UID 录入小区门禁中,随后将一些加密数据(比如楼栋号,单元号、楼层、有效时间等等)录入卡片,这样在对应的刷卡机上,读取卡片数据之后,便可执行对应的功能。
复制流程
现在的卡片复制技术,其实就是复制卡片的所有扇区数据,然后将模拟卡的 UID 置为加密卡的 UID,然后将其余扇区的数据,一并写入 UID,不过由于有些卡片中带有加密时间数据,所以如果你的卡片过期之后,需要重新复制一遍数据,重新模拟。
如果你想要把一张小区门禁卡搞成万能卡,那么你需要解密数据,然后对解密后的数据进行修改,(比如修改小区门号、楼栋、楼层、时间等等),再加密写入模拟卡,这就需要很高的水平,以及很多的时间和精力了,大家量力而行,如果是大佬的话忽略我。。。
由于大部分 NFC 设备是不支持模拟加密卡的,但是支持数据写入,但是我们可以使用曲线救国的方式,模拟一张非加密的 UID 卡,然后将加密数据复制之后,直接写入模拟卡,就 Ok 了!
步骤如图
需要设备
- PN532(淘宝自行搜索)
- 空白 CUID 卡
- 加密的门禁卡
- 一台 WINDOWS 电脑
- PN532 驱动
- MifareOne Tool 1.7
步骤
安装 PN532 驱动
看一下购买的 PN532 是串口驱动还是已经接好了 CH430 转接芯片,如果是 CH430 的话一般不用装驱动,其余的可能要装一下 PL2303 串口驱动,网上很多,随便找一个下就行
扫描加密门禁卡
将 PN532 用 USB 与电脑连接,打开 MiFareOne Tool,检测连接
将门禁卡与 PN532 接触,扫描卡片
点击“一键解原卡”,读取卡片 bump 数据,保存
卡的解密时间根据卡的加密数据会有时间的差异,比如我的运行了大约 288 秒,总之等待就行
制作同 UID 的普通卡
- 把空白卡放到 PN532 上,扫描卡片
- 复制加密卡的 UID
高级操作模式 => Hex 编辑器 => 打开刚才的 bump 数据 => 选择扇区 0 => 复制第 0 块的前 8 位数字(原卡的 UID)
- 将加密卡的 UID 写到空白卡内:
高级操作模式 => UID 写号 => 粘贴刚才的 8 位数字
此时,同 UID 的普通卡已经制作完成
小米手环模拟门禁卡
- 使用小米手环模拟刚制作完的普通卡
- 将手环放到 PN532 上,扫描卡片,此时可以检测到普通卡片
- 将刚才保存的原卡 bump 数据写到手环中
操作:高级操作模式 => CUID 写
注意:此时软件可能会卡,稍稍等一下就好最后就成功了,然后拿着卡去刷门禁吧!
后记
- 小米手环模拟非加密卡的时候,也很容易失败,比如我们公司的门禁卡,其他同事都模拟成功了,但我模拟的时候一直显示不能模拟加密卡,反正多试几次,就成功了。
- 据说 PN532 有时候会过热,可以用冰箱降温。。 –源自diygod.me/pn532/
参考文献
- Wikipedia. (n.d.). 近场通讯. [online]. Available at: zh.wikipedia.org/wiki/%E8%BF…
- hceng Blog. (n.d.). NFC 手机模拟加密门禁卡. [online]. Available at: hceng.cn/2019/07/12/…
- DZRAB. (n.d.). IC 卡简介. [online]. Available at: pn532.com/portal.php?…
- Yearito Blog. (n.d.). Type A 卡存储结构与通信. [online]. Available at: yearito.cn/posts/stora…
今天的文章小米手环 4 NFC 添加加密门禁卡分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19192.html