0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡

阗笑 来源:魏道志 作者:魏道志 2023-10-16 16:05 次阅读

Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听。数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥。现代加密技术的一大特点是加密算法公开,如果加密密钥和解密密钥相同,则称为对称加密,密钥不能公开;如果加密和解密密钥不同,则可以公开其中一个密钥(公钥),另一个不公开(私钥)。加密破解的实质就是如何获得不公开的密钥。
Mifare1中使用了一种称为“crypto1”的加密算法。遗憾的是,这是一种不公开的私有算法。就本人目前所知,这种算法先在卡片与读写器之间进行三次相互认证,认证成功才能进行对卡片的读、写、加值、减值等后续操作,这些操作使用“crypto1”加密流。三次认证的原理与步骤我们是清楚的,但具体采用了什么算法却不得而知,可以确定的是,认证过程中使用了4字节卡序列号、6字节密码和1字节数据块号。
不公开的好处是卡片市场的排他性,而且过去的事实已经证明,NXP的这种做法在市场上取得了巨大的成功。不公开算法的潜在危害也同样显而易见,这种没有经过黑客们攻击考验的加密算法,它的市场应用是如此的大,一旦算法被破解,所有使用这种卡片的应用都将受到威胁。
不幸的是,自2007年以来,Mifare Classic芯片逐步被破解。国外已经有高手,即使在不需要使用合法读卡器的情况下,一种新的攻击能够在300次查询内获得任意扇区的密钥;如果使用合法读卡器,另外一种攻击获得密钥仅需要40毫秒。而且网上已经有“crypto1”的原理图及相关破解源代码。
面对M1卡片这些现实的风险,作为用户应该怎么办呢?其实也大可不必惊慌。任何一种安全算法都不会是100%安全的,任何一种算法都有一种叫做“穷举”的方法可以破解它。一方面“crypto1”虽然被破解,但通常需要一定的破解硬件设备,并要求破解者有一定的专业水平;另一方面对于多数小金额应用的卡片来说,破解的风险与收益也是破解者必须考虑的因素;更重要的是,我们不能一棵树上吊死,可以采取其他的方法协助“crypto1”算法用于防破解,比如一卡一密、对M1卡进行升级、将M1卡联网使用等。
Mifare1的应用如此广泛,而当初设计时它的序列号只有4个字节,为了保证卡序列号的全球唯一性,所有的卡号都占满了也就能生产40多亿张,这样的容量很难满足日益增长的对Mifare1的庞大需求,于是市场上开始出现7字节序列号的M1卡。用户在使用这些7字节M1卡片时会经常会遇到一种现象,就是各个厂家生产的7字节M1卡片有时差异巨大,读写器无法兼容。
出现这种情况主要有两个原因。一是经典M1卡片只有4字节卡序列号,只需要一个层次(cascade)的防冲突循环就可以选中卡片;而7字节序列号的M1卡片需要两个层次的防冲突循环才能选中卡片。但是有些卡片并不需要第二层的防冲突循环,如果进行了第二层的防冲突循环反而会出错。
另一个问题出在卡认证阶段。前面说了,卡认证需要4字节卡序列号、6字节密码和1字节数据块号参加。但是新卡片有7字节卡序列号,到底让哪4个字节参加认证呢?目前主要有3种情况,一是使用88H和卡号的前3个字节(也就是第一层防冲突得到的卡序列号数据)参加认证,第二种情况是使用卡号前4个字节参加认证,最后一种情况是使用卡号的后4个字节(也就是第二层防冲突得到的卡序列号数据)参加认证。
所以对于读写器的开发者来说如果你的读写器不能读取7字节卡序列号的M1卡片,可以从是否需要第二层防冲突选择和到底哪4个字节的序列号参加认证两个方面考虑。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFID
    +关注

    关注

    383

    文章

    5784

    浏览量

    234673
  • 射频识别
    +关注

    关注

    8

    文章

    552

    浏览量

    38698
收藏 人收藏

    评论

    相关推荐

    射频识别技术漫谈(27)——CPU卡概述

    射频识别技术漫谈(27)——CPU卡概述
    的头像 发表于 10-24 16:15 1009次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(27)——CPU卡概述

    射频识别技术漫谈(18)——Mifare Desfire

    射频识别技术漫谈(18)——Mifare Desfire
    的头像 发表于 10-16 16:34 887次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(18)——<b class='flag-5'>Mifare</b> Desfire

    射频识别技术漫谈(16)——Mifare UltraLight

    射频识别技术漫谈(16)——Mifare UltraLight
    的头像 发表于 10-16 16:13 1411次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(16)——<b class='flag-5'>Mifare</b> UltraLight

    射频识别技术漫谈(14)——Mifare S50与S70的存取控制

    射频识别技术漫谈(14)——Mifare S50与S70的存取控制
    的头像 发表于 10-13 11:12 662次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(14)——<b class='flag-5'>Mifare</b> S50与S70的存取控制

    射频识别技术漫谈(13)——Mifare S50与Mifare S70

    射频识别技术漫谈(13)——Mifare S50与Mifare S70
    的头像 发表于 10-11 16:33 1775次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(13)——<b class='flag-5'>Mifare</b> S50与<b class='flag-5'>Mifare</b> S70

    射频识别技术漫谈(11)——Mifare系列卡的共性

    射频识别技术漫谈(11)——Mifare系列卡的共性
    的头像 发表于 10-11 15:38 839次阅读

    射频识别技术漫谈(9)——动物标签HDX

    射频识别技术漫谈
    的头像 发表于 10-10 18:00 1093次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(9)——动物标签HDX

    射频识别技术漫谈(8)——动物标签

    射频识别技术漫谈
    的头像 发表于 10-10 17:53 707次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(8)——动物标签

    射频识别技术漫谈(7)——ID卡

    射频识别技术漫谈
    的头像 发表于 10-09 15:35 1022次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(7)——ID卡

    射频识别技术漫谈(6)——通讯协议概述

    射频识别技术漫谈
    的头像 发表于 10-09 15:12 538次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(6)——通讯协议概述

    射频识别技术漫谈(5)——防冲突

    射频识别技术漫谈
    的头像 发表于 10-09 11:40 606次阅读

    射频识别技术漫谈(4)——数据编码

    射频识别技术漫谈
    的头像 发表于 10-09 11:19 1181次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(4)——数据编码

    射频识别技术漫谈(3)——能量、调制

    射频识别技术漫谈
    的头像 发表于 10-09 10:54 503次阅读

    射频识别技术漫谈(2)——国际标准

    射频识别技术漫谈
    的头像 发表于 10-09 10:53 669次阅读

    射频识别技术漫谈(1)——概念、分类

    射频识别技术漫谈(1)——概念、分类
    的头像 发表于 10-09 10:51 589次阅读