使用Mifare卡加密数据 笔记

Mifare 是最常用的射频卡,具体介绍网上太多,我就不说了.,很多城市的最早的地铁公交卡都是用这种卡,后来被破解后都换成智能卡了. 但是由于技术成熟,使用方便,成本低,现在很多小区门禁卡,停车卡,食堂饭卡,包括很多医院的就诊卡都用的这种卡.


简单介绍下,一张卡就好像一张白纸,S50有16个分区,每一个分区可以设置单独的两个密码KeyA和KeyB. 而KeyA是永远不能读的, KeyB在默认情况下是可以读到的. .(简单可以这样理解, 注意,每个扇区可以设置KeyA和KeyB独立的访问条件)

而分区1比较特殊,分区1的第一段写着卡的硬件ID,这个是出厂时就写进去了,不能更改,并且全球唯一(当然这只是约定). 淘宝上有UID白卡, 这种卡可以给分区1写入任意的硬件ID.

08年的时候,发现卡漏洞,这种卡已经很容易被破解, 网上买个读卡器 ACCR122U (一百多)就可以破解. 大概的破解原理是因为这种卡不能产生随机数.而用上位机控制随机数的产生来破解.. 但是如果是全扇区加密的卡(就是16个分区都加密) ,那么需要使用Proxmark破解,淘宝居然二三百..

推荐软件 (mifare classic tool) 这个软件使用Android也可以破解, 使用的是穷举方式. https://github.com/ikarus23/MifareClassicTool


问题: 既然这种卡已经被破解,也就是写什么别人也能看得到,但是我们还必须用这种卡,那么我们如何存储数据并且防止被破解?

设计要求: 我们是一家连锁店,,使用mifare卡作为用户标识卡... 1, 防止更改卡内数据(如卡号,信息等) 2, 防止卡被复制. 3,防止第三方制作卡(我们的系统以后可能会有加盟商,不能让加盟商自己私自买新卡用我们的系统.,需要通过我们这里制作.) 4,保证稳定,快速的读取,并且易于量产加密重置等.(需要单独写一个卡批量加密工具,用于量产.)

网上大都是Mifare的介绍或者如何破解等...不知道别人是如何设计的... 所以在这里写一下自己的思路..

卡内只保存卡号, 不保存任何金额等其他信息.要求与实体卡上印的卡号一致.

将卡号加密后,存储到指定分区M中,并且设置分区密码为固定密码 MA 和 MB.. 根据卡号(+硬件ID) 生成对应卡号的校验数据K.(或者根据算法生成). 使用固定密码 NA 作为密匙A, 读取卡硬件ID,使用加密算法 Fun(ID) 计算出16位密码NB.

将校验数据K存入分区N中,并且使用NA和NB作为分区密码..

将其他分区使用固定的密码全部填入随机的垃圾数据, 写卡完成..

读卡时,只使用密码B读取,(只给客户端下发KeyB的密码,更安全.) 使用密码MB读取分区M ,获取卡号, 读取硬件ID,计算校验分区N的密码NB.读取校验信息. (根据情况操作,可在客户端确认,如何客户端不可信,需要在服务端确认..)获取校验信息,通过服务端确认卡校验信息是否有效,或者通过服务端解密卡ID..

总结: 虽软卡硬件被破解了,写什么都看得见..当然完全可以通过软件算法来防止卡被进一步破解更改数据... 卡上写的信息越少越安全,只在卡上写卡号,不储存用户信息金额等.

当然校验信息需要和校验每张卡独有的硬件ID绑定.来防止卡被复制.. 但是网上有可写UID的白卡,就是可以在不破解算法的情况下完全复制..(我们小区的门禁卡我就复制了好几张,不然去物业办一张十块.) 这个时候只能人为的控制,比如消费或者退卡的时候,前台需要确认卡上的标识,或者确认人员信息等. (有的医院退卡需要缴费清单)

这个用了不到两个星期来设计并完成.目前已经稳定工作了两年,写了大概十几万张卡.. 中途碰到过公司采购一批小厂商生产的垃圾卡,上万张卡的KeyB坏掉了,不能读取..只能通过改程序来兼容..

写出来做个笔记, 只是不晓得别人是怎么设计的....

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式程序猿

【CAN公开课】对面的猿猿你看过来

这个周末,各位猿友过的怎么样呢?对面的猿猿你CAN过来,CAN过来,这里的内容很精彩,请不要假装不理不睬。今天我们开始来学习CAN总线,今天先来简单介绍下一些...

36060
来自专栏张宁的专栏

反爬虫和抗DDOS攻击技术实践

企鹅媒体平台媒体名片页反爬虫技术实践,分布式网页爬虫技术、利用人工智能进行人机识别、图像识别码、频率访问控制、利用无头浏览器PhantomJS、Selenium...

1.9K10
来自专栏林德熙的博客

用 sim 卡加密保护资金

很多人都有使用手机支付的习惯,很多人都会把账号绑定手机。但是大家是否想过,如果手机丢了什么办? 也许大家会说,自己的手机加了密,别人打不开。但是有没想到,实际上...

32820
来自专栏FreeBuf

安全研究 | 传真机的攻击面研究报告

大家一听到“传真机”这三个字,肯定觉得这种设备离自己非常远。但实际上,现在很多办公室里仍然存在着这种“远古”设备,而且在商业和法律通信等领域内仍处于广泛使用中。...

17540
来自专栏FreeBuf

邮件形同裸奔,PGP与S/MIME加密协议被曝严重漏洞

由9名学者组成的团队向全世界发出警告,OpenPGP和S / MIME电子邮件加密工具中的严重漏洞。该研究小组称,这个代号为EFAIL的漏洞如果被利用,将允许攻...

12550
来自专栏FreeBuf

市面上多种流行的固态硬盘产品存在硬盘加密机制绕过漏洞

近期,荷兰奈梅亨拉德堡德大学研究人员发现,市面上多种流行的固态硬盘( SSD drive)存在加密机制可绕过漏洞,无需密码即可绕过硬盘加密措施,从而获取到硬盘中...

13930
来自专栏FreeBuf

趋势OfficeScan系列产品漏洞分析

作者 Shadowkeeper OfficeScan是趋势科技开发的一套专为网路环境的桌上型电脑和行动用户端所提供的即时、全面的防毒解决方案。安全公司Silen...

26680
来自专栏FreeBuf

一个登陆框引起的血案

客户给的测试范围,或者挖众测时,很多时候都只有一个简单的登陆框,想起当初的苦逼的我,只能去测测爆破弱口令,而且还是指定用户名爆破密码这种,当真是苦不堪言;

18600
来自专栏FreeBuf

Microsoft Outlook 爆严重漏洞,可允许远程代码执行

近期,微软发布了一系列补丁,修复了自身产品中一些影响广泛以及关键的Bug,其中包括更新了微软Office套件版本,解决了其中的部分安全问题。而安全专家研究发现,...

31190
来自专栏FreeBuf

利用USB橡皮鸭在目标机器上启动Empire或Meterpreter会话

今天我将教大家如何使用Rubber Ducky在渗透中建立Empire或Meterpreter会话连接。然而对于Ducky而言,想要完成大多数现实场景中的USB...

39070

扫码关注云+社区

领取腾讯云代金券