用手机刷宿舍门禁

我的个人博客:zhang0peter的个人博客


需要设备:

1.具有NFC功能的手机
2.一张0扇区能够写入的M1卡:CUID卡或者FUID卡都可以,淘宝有卖。
APP:
1.MIFARE Classics Tools ,可以在谷歌商店下载,也可以在CSDN下载,下载地址MCT
2.NFC Tools ,可以在谷歌商店下载,也可以在CSDN下载,下载地址NFC Tools

原理

      很多人把NFC和RFID混为一谈,但实际上NFC可以理解为“以RFID技术为基础的一种产品”。 NFC 可以理解为 RFID 技术的一个子集,使用的是 13.56MHz 频段,而 RFID 还包括其他频段。RFID技术中所衍生的产品大概有三大类:无源RFID产品、有源RFID产品、半有源RFID产品。根据RFID Tag的工作方式,有可分为被动,主动、半主动三种。最常见的就是被动式的了。我们目前接触的多的就是无源、被动式产品,其中最为广泛常见的就是MIFARE Classic 1K卡,简称M1卡、S50卡。M1卡有从0-15共16个扇区,每个扇区配备了从0-3共4个段,每个段可以保存16字节的内容。每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的00扇区的00段,也称为厂商段,其中前4个字节是卡的UID,第5个字节是卡UID的校验位,剩下的是厂商数据。并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改。
      市面上的大部分NFC功能的门禁的原理都是读取M1卡里的独一无二的UID号来进行识别,有些门禁还会对卡内数据进行读写。
      FUID 卡是一种支持修改 UID 号的卡,但是修改一次后将被锁死变成 M1,不能再修改 UID 从而实现完美防屏蔽。CUID 卡是一种支持多次重写 UID 号并且可防屏蔽的卡,但还是有被检查出来的可能。
      我们学校(浙江某高校)的门禁系统其实只验证卡的UID,而不验证加密部分,因此只需将校园卡的UID写入到一张空白卡,即可刷门禁。

操作

1、打开NFC Tools,将校园卡放置到手机的NFC感应区,App就能读取卡片信息。你能获得这张卡的ID(4个十六进制数),例如13 FF 01 A0,记下这个数字。并且请勿泄露。
2、计算CheckSUM,将这四个十六进制数互相做XOR运算,完成后再转回十六进制,你能获得第五个十六进制数。例如上面例子的CheckSUM就是13⊕FF⊕ 01⊕A0=4D
3、打开MCT,选择读标签,勾选std.keys,将空白卡放到手机的NFC感应区,选择启动映射并读取标签。就能够读取到空白卡十六个扇区的数据。此时,除了0扇区,不用管其他扇区的数据。将0扇区数据的前5组数据替换为上面得到的你的校园卡的UID和CheckSUM,替换完成后右上角保存此数据。
4、返回上一级,选择写标签,勾选写转储和使能厂商块写入。将空白卡放在手机的NFC区域,然后选择转储,选择刚才保存的数据,点击好的,即可完整地写入数据。
5、完成,此时你的空白卡已经转变为能开门禁的一张克隆卡。由于只写入了UID,因此只能开门禁,无法完成支付等需要密钥才能完成的功能。打开手机自带的门卡模拟(华为手机和小米手机都有,其他牌子的不知道),按照步骤模拟你得到的空白卡。之后此卡便成功地进入了你的手机。

安全性

如果手中有一张门禁卡,那么可以无限复制。
对于手中没有门禁卡的人,如果想暴力破解进门禁,不妨假设每秒一次刷新,那么需要16^8秒=42亿秒,即使一个小区有上万人,也需要42万秒=116小时,安全性是没问题的。

参考资料:
RFID 破解基础详解
【墨家】RFID入门:Mifare1智能水卡破解分析

你可能感兴趣的:(无线与物联网,硬件)