搜索
bottom↓
回复: 22

RFID防破解:如何防止从RFID读写芯片与MCU接口拦截数据?

[复制链接]

出0入0汤圆

发表于 2017-8-6 20:46:16 | 显示全部楼层 |阅读模式
本帖最后由 bitvi 于 2017-8-6 20:47 编辑

最近在研究设备的耗材加密问题,先考虑用RFID加密耗材。开始考虑M1卡,但M1卡网上破解成本太低,接着考虑CPU卡(FM1208),CPU卡目前好像还不容易被破解。
但是仔细分析完发现,MCU与读卡芯片之间的SPI通信是明文的,那么这个通信通道上的密码不也是明文的?那么用户只要分析拦截我的SPI数据是不是就可以知道我的密码,而且非常容易?
有没有大侠考虑过这方便的问题如何防止破解?
设备和耗材都卖给客户离线使用的,所以客户手上有我们的设备就有足够的时间和条件去拦截MCU与读卡芯片见的数据了?

这是网络上一篇关于拦截MCU与读卡芯片之间数据的破解文章,不知道是否可行:http://blog.sina.com.cn/s/blog_9e2e84050101fi96.html

出0入0汤圆

发表于 2017-8-6 21:20:46 | 显示全部楼层
密码显然不会暴露在SPI总线上,如果密码都出现在总线上,还谈什么加密。
一般用随机码双向验证,密码出现在MCU程序里是有可能的。

出0入0汤圆

 楼主| 发表于 2017-8-6 21:22:36 | 显示全部楼层
RC522的密码好像是明文在SPI总线上的?
随机码的双向验证是不是只在读卡芯片(比如rc522)与RFID卡片之间?

出0入54汤圆

发表于 2017-8-6 21:40:17 | 显示全部楼层
本帖最后由 lusson 于 2017-8-6 21:43 编辑

之前看的握手是用rsa获得aes的秘钥,再用aes加密传输

我发一个公钥你,你用公钥加密你的aes密码给我,然后再用aes加密来通讯

出0入0汤圆

发表于 2017-8-6 21:42:59 | 显示全部楼层
bitvi 发表于 2017-8-6 21:22
RC522的密码好像是明文在SPI总线上的?
随机码的双向验证是不是只在读卡芯片(比如rc522)与RFID卡片之间? ...

前排学习,我记得M1卡也不是明文传密码的啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入476汤圆

发表于 2017-8-6 21:51:00 | 显示全部楼层
如果采用CPU卡的话,一般会配套给一张sim卡(放在机内的CPU卡)。
实现过程是
1. MCU联系RFID卡需要密文     2。 卡返回给MCU随机密文     3.  MCU把密文传给机内SIM卡(CPU卡)   4. CPU根据密文算出应答密钥    5. mcu再把密钥传给卡     6.如果成功则卡可以继续操作 不对则重头开始

现在破掉的基本上都是mifare卡   因为算法有缺陷。现在mifare pro卡基本上破不了了。SIM卡里面的COS基本上不要想去破,就算破掉你这一辈子也就完了。
如果把SIM卡省掉 直接由MCU自己算的话 那怎能算是CPU卡呢。还是mifare的变种而已。   

出0入0汤圆

 楼主| 发表于 2017-8-6 22:29:13 | 显示全部楼层
wy2000 发表于 2017-8-6 21:51
如果采用CPU卡的话,一般会配套给一张sim卡(放在机内的CPU卡)。
实现过程是
1. MCU联系RFID卡需要密文   ...

        复旦的fm1208的标准CPU卡芯片FM1702,看了FM1702的密码是要先传输到fifo,然后在用指令传输到eeprom,然后指令再加载到密码区,或者预存在eeprom中再指令加载到密码区,然后认证过程是自动完成,认证过程利用了密码区的密码和自身的随机码进行认证,这个随机码没有提供给MCU的途径?
        是否还有其他的CPU卡之类的能提供随机码给MCU用于生成密码?
   

出0入0汤圆

 楼主| 发表于 2017-8-6 22:34:18 | 显示全部楼层
cctv02 发表于 2017-8-6 21:42
前排学习,我记得M1卡也不是明文传密码的啊。

这个上面说的是RC522和RFID卡之间的认证,但是在这个认证之前,是需要吧密码先通过SPI传送到RC522中,这个传送没有看到加密,应该是明文的

出0入0汤圆

 楼主| 发表于 2017-8-7 08:43:24 | 显示全部楼层
查了,好像国密CPU卡是需要加PSAM卡的,那标准CPU卡(比如FM1208)如何加密SPI通讯传输的密码?

出0入0汤圆

发表于 2017-8-7 08:56:15 | 显示全部楼层
bitvi 发表于 2017-8-6 22:34
这个上面说的是RC522和RFID卡之间的认证,但是在这个认证之前,是需要吧密码先通过SPI传送到RC522中,这 ...

主控通过SPI发送数据到射频芯片肯定是明文的

出0入476汤圆

发表于 2017-8-7 09:05:20 | 显示全部楼层
bitvi 发表于 2017-8-6 22:29
复旦的fm1208的标准CPU卡芯片FM1702,看了FM1702的密码是要先传输到fifo,然后在用指令传输到eeprom,然 ...

那还是操作一般性的mifare卡的流程。没走CPU卡的流程。
而且你这种破解方式是得到了一款读写设备以后的方式。通过查看总线传输的数据或者返编译程序获得操作卡的密码。等级更low。 你的得到的指示操作这张卡能操作特定区的密码。
如果有后台数据库,你这样操作一次以后只要改动过数据理论上这张卡就会被后台列入黑名单。所以破解学生食堂饭卡这类的,只要项目实施者考虑周全,你也就能搞一次。如果是所有读取设备都是联机的,一次也让你成功不了。
另外操作CPU卡必须采用外部SIM卡来认证的。

出0入0汤圆

 楼主| 发表于 2017-8-7 09:07:59 | 显示全部楼层
llj1007 发表于 2017-8-7 08:56
主控通过SPI发送数据到射频芯片肯定是明文的

如果明文,那么如果设备和卡同时卖给给用户的,用户通过拦截这个明文就很容易破解了?

出0入0汤圆

 楼主| 发表于 2017-8-7 09:20:23 | 显示全部楼层
wy2000 发表于 2017-8-7 09:05
那还是操作一般性的mifare卡的流程。没走CPU卡的流程。
而且你这种破解方式是得到了一款读写设备以后的方 ...

多谢解答,如果采用标准的CPU卡,比如FM1208(因为价格比较便宜)的,能否在MCU和读卡芯片之间实现密文传送密码?

出0入0汤圆

发表于 2017-8-7 09:20:57 | 显示全部楼层
密钥存在于psam卡里和cpu卡里,中间传输的都是随机数加密过的,最后对比的是使用相同算法得到的是不是相同结果,不在机具里面算

出0入0汤圆

发表于 2017-8-7 11:28:06 | 显示全部楼层
密钥存在于psam卡里和cpu卡里,中间传输的都是随机数加密过的,最后对比的是使用相同算法得到的是不是相同结果,不在机具里面算

出0入0汤圆

 楼主| 发表于 2017-8-7 12:48:52 | 显示全部楼层
654705188 发表于 2017-8-7 11:28
密钥存在于psam卡里和cpu卡里,中间传输的都是随机数加密过的,最后对比的是使用相同算法得到的是不是相同 ...

实现这种模式,关键在读卡芯片还是卡?FM1208的标准CPU卡能行吗?

出0入0汤圆

发表于 2017-8-17 13:43:59 | 显示全部楼层
bitvi 发表于 2017-8-7 12:48
实现这种模式,关键在读卡芯片还是卡?FM1208的标准CPU卡能行吗?

卡 你可以 弄几张CPU卡和SAM卡 然后弄个能读CPU卡和SAM卡的设备实验一下

出0入4汤圆

发表于 2017-8-17 15:13:14 来自手机 | 显示全部楼层
期待实验结果

出0入0汤圆

发表于 2017-8-17 22:12:17 来自手机 | 显示全部楼层
楼主,结果如何,也要入这个坑了。

出0入0汤圆

发表于 2017-8-18 08:07:09 来自手机 | 显示全部楼层
曾经做过M1卡,最后采用的方法是扇区里存放加密后的数据,数据加密采取两步,用A算法加密金额后生成数据a,a+滚动码+其他数据用卡的ID进行加密。刷卡设备里记录最近100个卡的消费最近消费记录和滚动码,如果发现异常就禁止使用。

出0入0汤圆

发表于 2017-8-18 21:02:53 来自手机 | 显示全部楼层
q457344370 发表于 2017-8-18 08:07
曾经做过M1卡,最后采用的方法是扇区里存放加密后的数据,数据加密采取两步,用A算法加密金额后生成数据a, ...

用m1卡,除了最后一步有点意义,其它都没太大的意义,因为都是直接物理复制,两张卡物理上是完全一样的。防不了被复制盗用。

出0入0汤圆

发表于 2017-8-18 21:28:12 | 显示全部楼层
wy2000 发表于 2017-8-6 21:51
如果采用CPU卡的话,一般会配套给一张sim卡(放在机内的CPU卡)。
实现过程是
1. MCU联系RFID卡需要密文   ...

是的,很早以前工作接触过,公交刷卡系统,分为 M1卡和CPU卡,CPU卡几乎是无法破解

出0入0汤圆

发表于 2017-8-19 21:40:19 | 显示全部楼层
liwey 发表于 2017-8-18 21:02
用m1卡,除了最后一步有点意义,其它都没太大的意义,因为都是直接物理复制,两张卡物理上是完全一样的。 ...

第一步是为了防止直接复制数据扇区的
第二部是为了防止复制0扇区的

做的这个设备一般都是在一个小区使用的,一个小区顶多也就几百个使用的,不同小区使用的是不同的密码(扇区密码和加密密码都不一样)
又是小金额,所以这样使用是没问题的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表