初识RFID
一、马拉松芯片计时系统
如今,绝大多数马拉松比赛使用的计时芯片技术是:RFID(RadioFrequency Identification)技术,又称无线射频识别。其工作原理是这样的:射频识别(RFID)是一种无线通信技术,可以通过无线电讯号识别特定目标并读写相关数据。在马拉松比赛中,号码布芯片或者绑在鞋带上的芯片录入跑者的个人信息,当跑者携带号码布芯片通过计时地毯时,计时系统便会识别跑者的信息和记录通过的时间。
芯片计时系统根据工作原理的不同可以分为两个大类:主动式系统和被动式系统。
主动式系统,是计时芯片上带有电池。当靠近读取设备时,计时芯片受到电磁感应主动发出唯一码。读取设备读取到之后记录下时间和对应的唯一码,就这样记录下选手通过的时间。
被动式系统,是计时芯片上没有电池。当靠近读取设备时,通过电磁感应产生电源发出唯一码,供读取设备读取。因为被动式的成本低廉,因此在马拉松这样的场景中得到了普遍应用。
另外根据赛事计时需求的不同,还可以分为低频计时芯片、高频计时芯片、超高频计时芯片。像平时的马拉松比赛,用得最多的是超高频计时芯片,贴在号码布背面。对于一些高速运动项目,如自行车赛、铁人三项等,会用到低频计时芯片,系在鞋带上。
那这三种芯片有什么区别呢?主要体现在读取距离上!
低频计时芯片(使用频段134 kHz)受温度,湿度,人体和金属等干扰很小,但要求计时芯片和计时毯之间的距离很近(读取距离20-30厘米)。所以一般系在鞋带上。
高频计时芯片(使用频段13.56 MHz)读取距离相对大一些(50-100厘米),而且通过算法保证大量计时芯片同时读取时不会受到相互的干扰,但是会受到人体和金属的干扰。目前经常和低频芯片一起做成双频计时芯片。
超高频计时芯片(Gen2标准使用频段860 to 960 MHz)读取距离很大(可以达到2-5米),一般放在号码布上面。但是它很容易受到人体的干扰,所以会在芯片背面贴一层泡沫膜,保证和人体的隔离。
如何灵活运用芯片计时系统,还需要找到专门负责赛事计时服务的服务商(爱计时拥有丰富的计时执行经验),进行进一步了解。同时要多多关注芯片生产商,像老牌的MYLAPS B.v.、ChronoTracksystem lnc、Active Network IPICO等。好的芯片生产商能更好地确保计时的准确率,减少漏读、误读的情况。
二、nfc与rfid的联系与区别
NFC(Near Field Communication)是一种短距离的高效率无线通信技术,它起源于RFID(Radio Frequency Identification),但在某些方面有所区别。以下是NFC与RFID的主要联系和区别:
- 起源:NFC是从RFID技术演变而来的,可以看作是其一种特殊形式或子集。NFC技术在设计上是针对近距离和高效率数据交换的需求,而RFID主要用于远距离识别和跟踪物体上的标签。
nfc属于RFID吗? 是的,NFC(Near Field Communication)属于RFID(Radio Frequency Identification)技术的一种变体。NFC技术是一种基于RFID技术的短距离通信技术,通过无线电波在两个设备之间传输信息。 NFC技术可以在两个设备非常接近的情况下工作,通常的操作距离不大于4厘米,相比其他RFID技术的工作距离更小。 和传统的RFID技术一样,NFC技术也采用了无线射频电磁波进行数据传输,不过NFC技术的通信速率比传统RFID技术更高,支持双向通信和数据加密。 此外,NFC技术还能够从接收设备获取电力,不需要电池或电源,可以极大地降低成本和维护成本。 所以,NFC技术可以被认为是RFID技术的一种变体,是一种更加高效、安全并且便捷的RFID应用技术。
- 集成程度:NFC将非接触读卡器、非接触卡和点对点功能整合进一块单芯片,而rfid必须有阅读器和标签组成。NFC手机内置NFC芯片,组成RFID模块的一部分,可以当作RFID无源标签使用进行支付费用;也可以当作RFID读写器,用作数据交换与采集,还可以进行NFC手机之间的数据通信。
- 通信特点:RFID只能实现信息的读取以及判定,而NFC技术则强调的是信息交互。
- 工作原理:两者都利用无线电波来实现数据的传输,这包括电磁波形式的能量传递,使得标签或读卡器可以通过接收这些电磁波来获取所需的信息。234
- 工作频率:NFC技术通常工作在13.56MHz的固定频率上,而RFID则可能使用不同的频率范围,包括低频(12kHz)、高频(13.56MHz),具体频率取决于应用需求和应用环境。34
-
通信距离:NFC技术因其较小的操作距离而得名“近场通信”,通常在几厘米范围内有效,而RFID技术的通信距离可以从几厘米到数米甚至更远,具体取决于所使用的电磁波频率和标签的类型。
-
应用领域:尽管NFC和RFID都可以应用于身份验证和物品识别等领域,但它们各自有不同的侧重点和应用场景。NFC技术通常用于近程支付、门禁系统、公交/地铁卡等日常生活场景,而RFID技术则常用于库存管理和物流追踪等工业领域。2
- 安全性:NFC技术支持加密和双向认证,提供更高的安全性,而RFID技术在安全性方面的表现相对较弱,需要额外的安全措施来确保数据的安全。
NFC能复制射频卡吗
NFC(Near Field Communication)是一种近场通讯技术,它与射频卡(Radio-Frequency Identification,RFID)在工作原理上有一些相似之处。NFC技术可以读写一种被称为NFC标签或NFC芯片的设备,它们使用高频电磁场来传输数据。 虽然NFC芯片和RFID芯片的工作原理类似,但是两者的标准、协议和加密机制都不同。
在理论上,NFC设备可以复制某些射频卡的数据,但这需要满足多种条件,如访问权限、加密方式、标准等。因此,一般情况下,NFC设备不能复制,但不排除有一些特殊情况下可行。 不管使用哪种通讯技术,复制任何一种射频卡都是不合法的,并可能会违反有关法律法规。
复制卡片会导致信息泄露、财产损失等风险,并对个人和企业造成直接的损失。因此,我们应该遵守法律的规定,并且在使用射频卡的过程中增强安全意识,加强卡片使用的管理和保护。
三、NFC与蓝牙的区别
NFC和蓝牙(Bluetooth)都是短程通信技术,而且都被集成到移动电话。但NFC不需要复杂的设置程序。NFC也可以简化蓝牙连接。
NFC略胜蓝牙的地方在于设置程序较短,但无法达到低功率蓝牙(Bluetooth Low Energy)的速度。在两台NFC设备相互连接的设备识别过程中,使用NFC来替代人工设置会使创建连接的速度大大加快:少于十分之一秒。NFC的最大数据传输量 424 kbit/s 远小于 Bluetooth V2.1 (2.1 Mbit/s)。
虽然NFC在传输速度与距离比不上蓝牙 (小于 20 cm),但相应可以减少不必要的干扰。这让NFC特别适用于设备密集而传输变得困难的时候。相对于蓝牙,NFC兼容于现有的被动 RFID (13.56 MHzISO/IEC 18000-3) 设施。NFC的能量需求更低,与蓝牙 V4.0低能协议类似。当NFC在一台无电源供电的设备(比如一台关机的手机,非接触式智能信用卡,或是智能海报)上工作时,NFC的能量消耗会要低于低能蓝牙 V4.0。对于移动电话或是移动消费性电子产品来说,NFC的使用比较方便。NFC的短距离通信特性正是其优点,由于耗电量低、一次只和一台机器链接,拥有较高的保密性与安全性,NFC有利于信用卡交易时避免被盗用。NFC的目标并非是取代蓝牙等其他无线技术,而是在不同的场合、不同的领域起到相互补充的作用。
具体对比如下表:
NFC | 蓝牙 | 红外 | |
网络类型 | 点对点 | 单点对多点 | 点对点 |
使用距离 | ≤0.1m | ≤10m | ≤1m |
速度 | 106, 212, 424 kbps 规划速率可达868 kbps 721 kbps 115kbps |
2.1 Mbps | ~1.0 Mbps |
建立时间 | < 0.1s | 6s | 0.5s |
安全性 | 具备,硬件实现 | 具备,软件实现 | 不具备,使用IRFM 时除外 |
通信模式 | 主动-主动/被动 | 主动-主动 | 主动-主动 |
成本 | 低 | 中 | 低 |
四、RFID破解原理
4-1 最简单的ID卡的破解
常见破解办法
ID卡复制,ID卡除了复制也没有其他研究的了,毕竟太简单了。
基本原理介绍
ID卡属于大家常说的低频卡,一般大部分情况下作为门禁卡或者大部分大学里使用的饭卡,一般为厚一些的卡,是只读的,卡里面只保存有一串唯一的数字序号ID,可以把这串数字理解为你的身份证号,刷卡的时候,读卡器只能读到ID号,然后通过跟后台数据库进行匹配,如果是门禁卡,那么数据库里面就是存在这样的ID号,如果匹配上门就开了,匹配不上门就开不了。
如果是学校的饭卡,刷卡的时候,实际上操作的是你对应ID号相关的数据库中的数据。ID卡本身不存在任何其他数据,所以,学校使用的ID卡饭卡,只能复制卡,刷别人的钱(数据库中的钱),再没有其他办法。
破解方法
通过ID卡读卡器,读取卡内的ID号,然后把这串ID号写入到ID卡空卡中即可,各类工具特别多,需要一个ID卡读卡器。最简单的淘宝有卖的工具,两节7号电池,按读卡按钮读要复制的卡的ID,然后再按写卡按钮,把读到的ID号写入到空白卡中,即完成了卡复制工作,优点就是方便,缺点就是我们看不到整个过程,对我们安全研究来说作用不大。
4-2 射频IC卡破解
写在前面的技术铺垫
射频IC卡种类繁多,标准也繁多,这些不在介绍范围内,但是以下攻击介绍的原理类似,下面不特别说明就是指的M1 S50卡,这也是目前广泛使用的,并且大家做测试时最常见的IC卡。
常见的破解方法
跟ID卡一样,复制IC卡的UID号码写入到新的空白IC卡中。
破解IC卡的密码,从而改写IC卡中的数据。
破解IC卡的密码之后,把所有数据导出再写入到一个新的空白IC卡中,也就是 IC卡全卡复制(NFC手机及PM3等设备也支持把自己模拟成一个IC卡,实际上也属于卡复制一类)
IC 卡 (S50) 分为16个扇区(0-15),每个扇区又分为4个区域块(0-63), 每个扇区都有独立的一对密码keyA和keyB(先记着独立两个字,后面要思考问题)负责控制对每个扇区数据的读写操作,keyA和keyB分布在每个扇区的第四块中,第0扇区的第一个数据块,存储着IC卡的UID号(想成身份证号),其他扇区可以存储其他的数据,如钱等数据。
一般IC卡的UID是唯一的也是写死的不能更改,其他块的数据是可以更改的,所以也就有了普通IC空白卡以及UID可写空白卡(可以认为是不遵守规范的商家制作的)
- 读卡器把IC卡当成ID卡一样只识别UID正确即可,不管IC卡内其他数据,这时候,只需要把卡的UID读出来,并使用一个UID可写的空白卡,把UID写入即可。
- 读卡器首先识别UID是否正确,然后再识别其他扇区的数据,通过keyA或者keyB对数据进行读写操作。这样首先UID得正确,其次,keyA或者keyB得正确(后面为了说的方便,我们就不说keyA或者keyB,直接说IC卡密码)。这样如果知道了IC卡密码,我们也不需要复制新卡,那么就可以更改IC卡中的数据,比如更改饭卡中的钱数。如果我们想复制一张一模一样的卡,那么就把原卡的所有扇区的数据全面导出来,再写入新的UID可写卡中即可。
- 读卡器不识别UID,只管对扇区的密码进行验证,如果验证成功则允许对卡内数据操作等。(如某“XX快捷酒店”的门卡,就不管UID,只要扇区密码正确即可),那我们可以通过扇区密码更改门卡中的数据,如房号,住宿的时间等,也可以通过一个普通的IC卡(uid不能更改)复制一张门卡(跟原卡UID不同),也可以通过一个UID可写的卡,复制一张跟原卡完全相同的卡(跟原卡UID也相同)
基本上也就是以上几种环境,改写UID、通过扇区密码改写扇区数据、通过把原卡数据导出重新导入到新的IC卡中复制一张卡。
IC卡的UID是不通过密码控制的,可以直接通过读卡器获得,后面讲IC卡的通信过程会说明。那么我们做IC卡破解时,主要的问题就是破解IC卡每个扇区的控制密码,如果密码破解了,那要怎么操作都随便了。
4-3 IC卡密码破解的几种方法
使用默认的密码攻击、暴力穷举破解等等。
ffffffffffff
000000000000
a0a1a2a3a4a5
b0b1b2b3b4b5
aabbccddeeff
4d3a99c351dd
1a982c7e459a
d3f7d3f7d3f7
714c5c886e97
587ee5f9350f
a0478cc39091
533cb6c723f6
8fd0a4f256e9
FFzzzzzzzzzz
A0zzzzzzzzzz
常用破解工具说明
mfoc mfocgui 以及目前网络上,淘宝上充斥的各类破解工具都是基于nested authentication攻击原理,就是内置了一些默认密码,首先使用默认密码对每个扇区进行测试,如果某个扇区存在默认密码,然后就是用nested authentication攻击获得其他扇区的密码。
PM3的darkside攻击,Mfcuk等为darkside攻击工具,一个扇区密码都不知道的情况下破解用的,由于破解算法的原理本身就不是100%成功的,所以如果长时间破解不出来,就停了重新换个nt,重新选个时间破解,跟运气也有些关系。
不要别人几个小时,甚至几十分钟就破解成功了,你几天都没有破解出来,还一直傻傻的等,不如暂停换个nt,过一会再试。
Libnfc工具,目前用的比较多的是radiowar的nfcgui,radiowar网站上也说了,就是给nfc-list nfc-mfsetuid nfc-mfclassic 这三个工具写了个gui界面,你也可以使用命令行模式,或者你也可以自己写个gui界面调用这三个程序即可,这些都是操作卡或者读卡数据的工具,国内不同的IC卡读卡器都附带有一些读写卡程序,我用的一个比这个要方便的多。
4-4 题外话
不要信任RFID(或从不应该信任)
在万能的中国,你几乎可以找到你需要的一切一切,只要有哩可图就会有存在的价值,所以RFID领域也是如此,曾经所谓的UID唯一性就是因为中国人而失去的,Chinese Magic Card中国人制造而享誉全球的产品,使得MIFARE CLASSIC的UID固化不可修改的神话成为了历史。实际上当越来越多的卡存在兼容模式的情况下,RFID其天然的安全防线就失去了原有意义,利用T55X7复制EM4X系列的ID号、利用MIFARE PLUS卡模拟MIFARE CLASSIC的安全隐患等等。
五、M1卡扇区数据分析
5-1 M1卡介绍
这次我们主要介绍的是非接触式IC卡。M1卡就是非接触式IC卡中应用最广泛的卡。M1卡就是Mifare非接触式感应卡,M1卡数据保存期为10年,可改写10万次,读无限次。无电源,自带天线,工作频率为13.56MHZ.M1卡内含加密控制逻辑和通讯逻辑电路。M1卡主要有两种,一种是S50和一种是S70。主要应用:门禁、考勤、会议签到、身份识别、物流、工业自动化、各种会员卡、如售饭、地铁、公交代币卡、俱乐部等电子消费、电子门票、动物识别、目标跟踪、洗衣管理、各种一卡通等等。
5-2 M1卡存储空间
M1卡分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位。每个扇区的块0、块1、块2为数据块,可用于存储数据。而每个扇区的块3为控制块,包括密码keyA,存取控制,密码keyB。存取控制的作用是控制对应扇区记录的读写权限与keyA和keyB的关系。由于每个扇区都有独立的key和存取控制,因此M1卡可以做到一卡多用互不干扰。
每一张M1卡的0扇区0块都称作绝对地址块,这一串是在卡片出厂时厂商赋予的,代表着这张卡独立的身份识别信息。绝对地址块的内容已被固化,无法更改。
5-3 M1卡控制位计算
以下为控制位的结构,前6位为密钥A,中间4位存取控制,后6位密钥B。4位控制位中前3位是真实的控制位,第4位是备用控制位,一般用不上,因此我们可以只分析前3位。
将取反的数再次取反以获得原来的控制位:
存取控制中每个块都的三个控制位定义如下,同时填入上表数据:
块0,块1,块2控制位均是000,存取控制权限可对应以下表:
块3控制位001,存取控制对应如下表:
可见块0,块1,块2通过密钥A或者密钥B认证后可读,可写,可进行加值和减值操作。块3密钥A不可读,但可通过认证密钥A或B修改。验证密钥A或者密钥B后,可读可改写存取控制。验证密钥A或者密钥B后,可读可改写B密码。
综上,存取控制FF078069极不安全,我们可以自定义存取控制进行修改,只要利用上述步骤将想要的控制位列出逆向推回去即可。
5-4 M1卡认证原理
这里介绍M1卡的认证原理即三轮认证。三轮认证是保障M1卡安全的重要手段,整个过程采用Crypto-1算法加密。以下是三轮认证的过程。
1. 读写器指定要访问的区,向卡发送身份验证请求,并选择密钥A或B。 2. 卡从位块读取密钥和存取控制条件。然后,卡向读写器发送明文4字节随机数Nt。(第一轮) 3. 读写器利用密钥和随机数Nt计算生成一个新随机数Nr,并将两个随机数一起加密为8个字节的数据发送给卡片。(第二轮)。 4. 卡解密得到Nt与Nr,验证Nt,若通过再一次加密Nr并发送给读卡器(第三轮)。 5. 读写器解密得到Nr,验证通过。
三轮认证在其原理上是可靠的,但是外国研究人员发现了该算法伪随机数生成的漏洞,使得加解密所用到的伪随机数可被正确预测,从而逆向计算出了三轮认证中的扇区密钥。该漏洞的利用在后面会讲到。
六、 各种卡的区别
5-1 M1卡与Ntag卡的区别
应该这么说,Ntag才是符合NFC规约的Tag(标签), 它的最基本存储信息形式是NDEF格式。
Mifare卡有很多,你不特别指明的话,我就认为是最常见的Mifare Classic One(俗称M1卡)是一种卡片实体,它有三次认证,之后才可以向内存里写数据。
M1卡不符合NFC对Ntag的规约,它实际上算不上NFC标签,这个你用支持NFC的手机,去读M1卡,就知道了。
如果一个读卡器,是M1卡读卡器程序,要想能改成能读nfc标签,那么这个需要改动的地方多吗?
希望可以回答一下,我可以继续提高悬赏,如果您这边也不清楚的话,也麻烦回复一下,我就不等了,直接采纳
追答
作为主机端(Reader/Writer)硬件不需要任何改动,软件的话当然必须要改,至少三次认证的操作你可以省了(NFC标准的4种Tag不需要认证,三次认证是NXP的加密专利)。
你改之前首先要确定你要读的NFC Tag是属于哪种,然后再针对性的去修改你的读头代码。
5-2 ISO 14443-TypeA与TypeB卡的区别
关于两种类型的卡片的分类
:
.
├── TypeA卡
│ ├── MifareOne(市面上的卡大部分都是M1卡,广泛应用于公交、地铁、门禁等诸多领域)
│ │ ├── S50 (容量:1K)
│ │ ├── S70 (容量:4K)
│ │ └── ...
│ ├── NTAG
│ │ ├── NTAG213(容量:180Bytes 可读写:144Bytes)
│ │ ├── NTAG215(容量:540Bytes 可读写:504Bytes)
│ │ ├── NTAG216(容量:924Bytes 可读写:888Bytes)
│ │ └── ...
│ ├── UID卡(M1模拟卡,可以随意修改UID)
│ └── ...
└── TypeB卡
└── CPU卡(如居民二代身份证、部分银行卡等)
5-3 IC卡的SAK值区别各种IC卡
SAK是什么呢?SAK是IC卡数据0扇区0块的第6字节,代表着芯片类型,不同SAK对应不同的芯片类型:
电脑端下载Proxmark3、ACR122、PCR532、MIFAREONE TOOL在GUI内点读卡类型
SAK值 | 芯片类型 | 重复擦写 | 功能特性 | 用户群体 |
---|---|---|---|---|
08 | M1卡(又叫S50卡、1K卡) | 0扇区不可写 | 天生可过防火墙 | 物业发卡授权 |
08 | UID卡 | 全扇区可读写 | 响应magic指令,遇防火墙失效 | 个人读写设备复制 |
08 | CUID卡 | 全扇区可读写 | 不响座magic指令,遇高級防火墙失效 | 个人读写设备复制 |
08 | FUID卡 | 0扇区写入自动固化 | 自动固化后变成M1卡,可过防火墙 | 个人读写设备复制 |
08 | UFUID卡 | 0扇区写入需手动锁定固化 | 手动固化后变成M1卡,可过防火墙 | 个人读写设备复制 |
18 | M4卡(又叫S70卡、4K卡) | / | 内存是4K,平时很少碰到 | 物业发卡授权 |
20 | CPU卡 | / | 安全系最高,密码错误最大16次,超过后就锁死卡片,除非知道其cos系统指令,知道卡密码,否则将无解。 | 银行卡、身份证等等 |
28 | MF1卡,又叫CPU模拟M1卡 | / | CPU卡加M1卡的复合体 | / |
GTU卡 | 可反复擦写 | 可以自动复位数据,用于滚动码防复制 | ||
GDMIC卡 | 可反复擦写 | 和GTC功能一致,生产厂商不同 |
参考文献:
1. RFID马拉松芯片计时系统:https://baijiahao.baidu.com/s?id=1737041965492321755&wfr=spider&for=pc
2. nfc近距离通讯技术原理 nfc,rfid,蓝牙的区别:https://www.elecfans.com/tongxin/rf/202308302229988.html
2. <常见RFID卡片介绍、破解思路 及 Proxmark3简介>:https://blog.51cto.com/xiaoyaoyou10/5856746
4. RFID 破解部分:《RFID破解三两事》 原文链接:https://blog.51cto.com/u_16081772/6214079
5. M1卡扇区数据分析: 《RFID实战应用之常见射频卡扇区数据分析及破解》https://cloud.tencent.com/developer/article/1618002
6. https://blog.csdn.net/fangye945a/article/details/124385651
7. 《RFID第一期——各种IC卡ID卡详解》https://blog.csdn.net/ladeng07/article/details/128872807
8. 《由门禁卡来谈谈IC/ID复制卡的原理和知识》https://zhuanlan.zhihu.com/p/654587508?utm_id=0