与Flipper Zero一起深入RFID协议188金宝搏亚洲体育app下载

与Flipper Zero一起深入RFID协议188金宝搏亚洲体育app下载

RFID是一种非接触式无线标签技术。它很常见,你可以在很多地方看到它:对讲机,银行卡,公共交通通行证,办公室通行证,它们被用来跟踪家畜,收取通行费,等等。两种主要的RFID标签类型是高频和低频。

  • 低频标签(125千赫)-工作在一个较高的范围。尽管它们既不安全又不发声,但仍被用于原始的门禁系统:建筑对讲机、办公室、体育设施、博物馆。
  • 高频标签(13.56 MHz) -与低频频段相比,有效范围更低,但协议更复杂。它们支持加密、身份验证和加密。这些标签通常用于非接触式银行卡,支付公共交通费用,以及高安全性的访问控制系统。

在这里,我们将比较这两种类型的标签,看看主要的协议,并学习使用Flipper Zero与它们一起工作——我们将读取、模拟、保存和克隆它们。188金宝搏亚洲体育app下载你将看到你将如何能够保存你的办公室,运动,家庭无论你有什么射频识别钥匙,我们将看一下Flipper可以从银行卡读取什么。

RFID标签的工作原理

当射频识别芯片从阅读器的射频场接收到能量时,它就会打开

大多数RFID标签是无源标签,没有内部电源。芯片内部完全关闭,直到标签暴露在读取器的电磁场中。一旦进入接收范围,标签的天线就开始从读取器的电磁场中吸收能量,芯片就会接收能量。然后芯片打开并开始与阅读器通信。值得一提的是,标签的天线被调到特定的频率,所以标签只有在合适的电磁场中才能激活。

RFID标签类型

在外面的RFID标签可以是非常不同的:卡片或厚或薄,钥匙,手镯,硬币,戒指,甚至贴纸。仅从视觉上判断,几乎不可能区分标签操作的频率或协议。

在外部的RFID标签可以是非常不同的

通常情况下,制造商使用类似的塑料盒,不同类型的射频识别fob工作在不同的频率。两个在视觉上完全相似的标签在内部可能完全不同。当您试图区分所拥有的标签类型时,这是值得考虑的。在本文中,我们将研究访问控制系统中使用的两种最流行的RFID标签。188金宝搏亚洲体育app下载Flipper Zero支持这两种频率。

在其他频率上有多种RFID协议。例如,UHF使用840-960 MHz范围。它们被用来跟踪仓库中的资产,支付公路通行费,在野生动物迁徙期间跟踪它们,等等。这些标签可能有一个电池,工作距离从几米到几公里。但它们非常罕见,除非你专门去寻找它们,否则你可能不会遇到它们。出于本文的目的,我们将完全省略它们。

125 kHz和13.56 MHz -哪个是哪个?

要了解RFID标签的工作范围,最简单的方法就是看天线。低频标签(125 kHz)的天线由一根非常细的电线制成,比一根头发还细。但是这样的天线有很多匝数,因此,这样的天线看起来像一块坚固的金属。高频卡(13.56 MHz)较厚的匝数要少得多,它们之间有明显的间隙。

有足够的背光,你可以猜测卡的工作频率

你可以通过射频识别卡照射一些光来看到里面的天线。如果天线只有几个大转弯,它很可能是高频天线。如果天线看起来像一块坚固的金属,在转弯之间没有间隙,它是一个低频天线。

低频天线的匝线很细,而高频天线的匝线较粗

低频标签通常用于不需要高安全性的系统:大楼门禁、对讲机钥匙、健身房会员卡等。由于它们的范围更广,在付费停车时使用它们很方便:司机不需要把卡靠近读卡器,因为它是从远处触发的。同时,低频标签是非常原始的,它们有一个低的数据传输速率。因此,不可能实现复杂的双向数据传输,比如保持平衡和加密。低频标签只传输短ID,不进行任何身份验证。

高频标签用于更复杂的读取器-标签交互,当您需要加密、大的双向数据传输、身份验证等。
它通常出现在银行卡、公共交通工具和其他安全通行证中。

125 kHz和13.56 MHz RFID标签比较

低频125 kHz标签

  • 远程-较低的频率转换为较高的范围。有一些EM-Marin和HID阅读器,可以在一米远的距离内工作。这些通常用于停车场。
  • 原始的协议-由于数据传输速率低,这些标签只能传输自己的短ID。在大多数情况下,数据没有经过身份验证,也没有受到任何保护。只要卡在读卡器的范围内,它就会开始传输它的ID。
  • 低的安全-由于协议的原语性,这些卡片很容易被复制,甚至可以从别人的口袋中读取。

高频13.56 MHz标签

  • 较低的范围-高频卡片是特别设计的,因此它们必须放置在靠近读卡器的地方。这也有助于保护卡免于未经授权的交互。我们成功实现的最大读取范围是15厘米,这是定制的高量程读取器。188金宝搏欢迎你
  • 先进的协议-数据传输速度高达424 KBPS,允许复杂的协议与成熟的双向数据传输。这反过来又允许加密、数据传输等。
  • 高安全-高频非接触卡绝不逊于智能卡。有些卡支持加密学强算法,如AES,并实现非对称加密。

RFID在Fli188金宝搏亚洲体育app下载pper Zero

RFID天线如何在Flipper Zero工作188金宝搏亚洲体育app下载

Flipper支持高频和低频标签。为了支持这两种频率,我们开发了一个位于设备底部的双频RFID天线。

高频协议(NFC)采用独立的NFC控制器(ST25R3916)。它负责与硬件与卡片交互相关的所有事情:读取和模拟。低频125 kHz协议通过自定义模拟前端编程实现,该前端与MCU合作,也允许读、写和仿真。

[视频]零鳍内的RFID天线188金宝搏亚洲体育app下载

PCB的顶部被铁磁层屏蔽,铁磁层隔离了其他电子元件的干扰,并通过反射高频场扩大了工作范围。

在组装过程中,天线被粘在Flipper的后面板上。它连接到PCB与弹簧针。这大大简化了组装,因为不使用电缆,也不需要UFL连接器。

低频125 kHz协议

低频标签存储一个短ID,只有几个字节长。标签的ID与存储在控制器或对讲机数据库中的ID进行比较。然而,一旦卡上电,它就会把身份证发送给任何询问的人。通常情况下,身份证是铭刻在卡片上的,所以你可以拍张照片,然后手动输入Flipper。

流行的125 kHz协议:

  • EM-Marin——EM4100 EM4102。独联体最流行的协议。由于其简单和稳定,可以从一米左右读188金宝搏欢迎你取。
  • 藏Prox二世- HID Global引入的低频协议。这种礼仪在西方国家比较流行。它更复杂,而且这个协议的卡片和读取器相对昂贵。
  • Indala-非常古老的低频协议,由摩托罗拉推出,后来被HID收购。与前两个相比,你在野外遇到它的可能性更小,因为它已经不再被使用了。

在现实中,有更多的低频协议。但是它们都在物理层上使用相同的调制,并且可能以某种方式被认为是上面列出的那些调制的变体。在写入时,Flipper可以读取、保存、模拟和写入所有这三个协议。可能还有其他的,在Flipper的固件中不支持,但由于125 kHz子系统是通过编程实现的,我们可以在未来添加它们。

EM-Marin

[视频]Flipper读取EM-Marin标签

EM-Marin是CIS中最常见的格式。它很简单,没有复制保护。EM-Marin卡内通常有EM4100芯片,但也有其他芯片。例如,与EM4100不同,EM4305可以被重写。

要读取低频卡,请进入Flipper菜单125khz RFID - >读取并将标签贴在设备的背面。Flipper将尝试确定协议,如果成功,将显示它旁边的身份证。由于Flipper一次尝试了所有的协议这需要一些时间。例如,您将需要几秒钟来读取Indala卡。

卡上和脚蹼上都有唯一的EM-Marin身份

EM4100的唯一代码有5个字节长。有时你可以在卡片上找到它。唯一的代码可以写成十进制或十六进制。Flipper以十六进制显示代码,然而,EM-Marin卡通常只在上面写3个较低的字节,而不是完整的5字节数。如果无法从卡中读取它们,则可以强制读取其他2个字节。

【视频】模拟125khz射频识别打开电动门锁

为了模拟RFID标签,我们需要进入菜单125khz RFID - >保存,选择所需的标签,然后按下模仿

一些对讲机试图通过在读取之前发送写命令来防止密钥复制。如果写成功,则认为该标签是假的。当Flipper模拟RFID时,阅读器无法将其与原来的RFID区分开来,因此不会出现这样的问题。

藏Prox

[视频]Flipper读取HID26标签

HID全球-是世界上最大的RFID设备制造商。他们有几个高频和低频射频识别协议。最流行的低频HID协议是26位的H10301(也称为HID26或HID PROX II),唯一码长3字节(24位),另外2位用于奇偶校验(确保数据的完整性)。

一些HID26卡片上写有数字——它们是销售订单号和卡片的ID。仅凭这个信息你无法计算出整个3个字节,卡片上只有2个字节以十进制格式打印出来。这是卡的ID。

HID26在卡片上的数据结构和读取时使用Flipper

Flipper只能在HID家族的HID26协议下工作。在未来,我们计划扩展这个列表。HID26是最流行的,因为它与大多数数字访问控制系统兼容。

[视频]模拟低频卡并打开旋转门

Indala

Indala是摩托罗拉开发的射频识别协议,后来被HID收购。这是一个非常古老的协议,在现代的访问控制系统中是找不到的。尽管它很罕见,但有时你会在野外发现它。在撰写本文时,Flipper与Indala I40134合作。

[视频]Flipper正在读取Indala卡

与HID26相同,使用Indala I40134的卡片有一个3字节长的唯一代码。不幸的是,Indala的数据结构是专有的,每个希望支持这个协议的人都被迫选择他们想要的字节顺序,以及他们如何在硬件层面上解释信号。

所有这些协议都非常简单,卡的ID可以在没有原始卡的情况下手动输入。你的卡的ID是文本格式的,任何拥有Flipper的人都可以手动输入。

手动输入卡的ID

[视频]在没有Indala卡本身的情况下输入其ID

要添加卡的ID,请到菜单中选择125khz RFID - >手动添加,然后输入协议并输入ID。添加的卡片将被保存到sd卡中,然后可以被模拟或写入空白。

给空白卡片写信

有特殊的空白卡,支持上述三种协议中的任何一种(EM-Marin, HID Prox, Indala)。T5577是最流行的空白卡片类型。要在空白卡片上写ID,请到菜单125khz RFID - >保存,然后选择你想要的键并按下

【视频】向T5577空白卡片写入

高频13.56 MHz协议

13.56 MHz高频标签是一组标准和协议。他们通常被称为NFC,但这并不总是正确的。物理和逻辑级别使用的基本协议集是ISO 14443。高级协议以及替代标准(如ISO 19092)都是基于它的。

ISO 14443 -一个似乎是最常见的实现。几乎所有的公共交通和办公室通行证都使用它,银行卡也使用它。

NFC的架构简化

简单地说,NFC的架构是这样工作的:传输协议由制造卡的公司选择,并基于低级ISO 14443实现。例如,恩智浦发明了自己的高级传输协议Mifare。但在较低层次,Mifare卡是基于ISO 14443-A标准。

Flipper可以与低级ISO 14443协议、Mifare超轻数据传输协议和用于银行卡的EMV进行交互。我们正在增加对Mifare Classic和NFC NDEF的支持。对构成NFC的协议和标准的全面了解值得我们在后面单独写一篇文章。

ISO 14443-A标准的普通UID

[视频]读取未知类型高频标签的UID

所有基于ISO 14443-A标准的高频卡都有一个唯一的芯片ID。它充当了卡的序列号,就像网卡的MAC地址一样。通常,UID长度为4或7字节,但很少能达到10字节。uid不是秘密,而且很容易读取,有时甚至打印在卡片上。

有许多访问控制系统依赖UID进行身份验证和授予访问权限。有时,即使RFID标签支持加密,这种情况也会发生。这样的误用使它们在安全方面降到哑巴的125千赫卡的水平。虚拟银行卡(如Apple Pay)使用动态UID,这样手机用户就不会用支付应用程序开门。

【视频】每次读取Apple Pay, iPhone都会生成一个新的UID

由于UID是一个低级属性,您可能会发现自己处于这样一种情况:已经读取了UID,但仍然不知道高级数据传输协议。对于使用UID进行授权的原语读取器,可以使用Flipper读取、模拟和手动输入UID。

读取UID VS读取内部数据

NFC读菜单分为低电平读和高电平读两部分

在Flipper中,读取13.56 MHz标签可以分为两部分:

  • 低层次的阅读—只读取UID、SAK和ATQA。Flipper试图根据从卡中读取的数据猜测高级协议。你不能百分百确定,因为这只是基于某些因素的假设。
  • 高级阅读-使用特定的高级协议从卡的内存中读取数据。这包括读取Mifare Ultralight上的数据,读取Mifare Classic上的扇区,或者读取PayPass/Apple Pay上的卡的属性。

读取数据时使用特定的高级协议NFC - >运行特殊操作并选择您想要读取的标签类型。

尝试猜测标签的类型并读取UIDNFC ->读卡.到目前为止,Flipper只能检测Mifare Ultralight和EMV银行卡。

非接触式读卡器超轻

[视频]读取Mifare超轻的数据

Mifare是一个具有几个高级协议的非接触式智能卡家族。其中最简单的是Mifare Ultralight。在其基本版本中,它只有64字节的嵌入式闪存,没有加密保护。Flipper可以读取和模拟Mifare超轻卡。这种标签通常被用作出入办公室、住宅和公共交通的通行证。例如,莫斯科的公共交通车票使用Mifare超轻。

EMV银行卡(PayPass, payWave, Apple Pay,谷歌Pay)

【视频】读取银行卡数据

EMV (Europay, Mastercard, and Visa)是银行卡的国际标准。银行卡现在是功能齐全的智能卡,具有复杂的数据交换协议,并支持非对称加密。除了简单地读取UID外,您还可以从银行卡提取更多数据。可以获得完整的卡号(卡前面的16位数字)、有效日期,在某些情况下,甚至所有者的名字以及最近交易的清单。

由于EMV标准可能以不同方式实施,因此可提取的数据可能因卡而异。你不能这样读CVV(卡片背面的3位数字)。

银行卡受到保护,不受重放攻击,所以用Flipper复制它,然后试图模仿它来支付某些东西是行不通的。

token化苹果支付卡VS实体银行卡

比较虚拟银行卡和实体银行卡的安全性

与塑料银行卡相比,你手机里的虚拟卡提供的信息更少,对离线支付更安全。

Apple Pay和谷歌Pay有几个优势:

  • 他们不允许使用捕获的数据进行在线支付-普通卡可用于非在场卡交易(CNP),有时可在网上或电话支付。拦截的虚拟卡数据不能以这种方式使用。在Apple Pay注册一张卡后,所有的支付都要经过虚拟代币,所有的操作都是加密签名的。读取Apple Pay数据会得到一个PAN和虚拟代币的到期日期,而不是原始物理卡。因此,如果有人试图使用从虚拟卡截获的数据进行在线支付,这种支付将被拒绝,没有一个具体的签名。
  • 他们不会透露信用卡持有者的姓名-一些非接触式卡可以转移持卡人的姓名和最近的交易数据。而虚拟卡片却不能做到这一点。
Flipper中的银行卡支持仅用于高级协议演示目的。我们不打算进一步扩展此功能。非接触式银行卡的安全性足够好,不必担心像Flipper这样的设备会被用来攻击银行卡。

请继续关注

我们的社交媒体订阅者可以先得到所有的Flipper Zero新闻!188金宝搏亚洲体育app下载加入并获得偷看,内部,和更多。

Baidu