起因
由于学校宿舍楼下使用了刷脸测温的门禁系统,导致现在进入宿舍楼不需要使用之前的NFC卡片了。但是寝室门还是需要使用刷卡的。为了少带一张门禁卡出门,也为了减少丢卡、找卡地烦恼,所以决定对宿舍门禁添加指纹识别。
解决思路
本来想着使用步进电机直接模拟人手控制门把手,不过碍于步进电机难以在门上固定,电机力矩不够大,并且机械结构难以固定的问题,决定放弃使用电机直接控制门把手。
这里通过逆向门锁内部的协议,在不增加外部动力的情况下完成门锁的打开与关闭。
动手做
在拆开门锁之后,对门锁进行简单的分析:。
前期准备使用MCU模拟RFID输出信号,但是用示波器采集波形之后发现太复杂,由于太复杂也很难找到其中的变化,很难用MCU模拟,并且尝试多张卡片之后发现,每张RFID的输出信号都是不一样的,最后被逼无奈之后更换方案。
选择使用读取EEPROM的数据进行数据分析。
通过查阅datesheet发现它是一颗64Kbit(8Kbyte)的EEPROM,使用IIC通信协议。
分析
不同卡片都可以开门,但是RFID输出信号不同,那么肯定经过板载的NXP MCU进行处理了数据,板载的NXP MCU又每次与EEPROM进行交互,那么有可能密钥就隐藏在这颗EEPROM中.如果我们修改EEPROM中的数据或者模拟与MCU进行交互就可以实现我伪造的卡片也可以开门了。
想起之前购买的简易逻辑分析仪.对MCU和EEPROM进行嗅探得到下面的数据。
通过分析数据之后发现MCU与EEPROM 地址为0x50的地方交互特别频繁,并且经过大量的测试之后发现成功刷卡之后读取到的都是一个定值。
来源:freebuf.com 2020-09-19 22:12:33 by: LEdge1
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册