我是靠谱客的博主 漂亮豌豆,最近开发中收集的这篇文章主要介绍一文读懂:什么是RFID,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在物联网领域,我们经常听到 RFID 这个词,接下来讲解一下,什么是 RFID ?

————————

个人技术公众号:解决方案工程师

欢迎同领域的朋友关注、相互交流。

————————

RFID 全称为 Radio Frequency Identification,中文称“射频识别”技术。

现实中,我们经常用到这一技术的应用,比如门禁卡、考勤卡等。

关于 RFID,比较正式的定义是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

我们看看它的原理图,如下图所示,RFID 由服务器、阅读器、标签三部分组成,其中阅读器与服务器之间由有线信道连接,通信过程通常认为是安全的,而阅读器与标签之间由无线信道连接,存在很大的安全隐患。 

我们再来详细了解一下服务器、阅读器、标签各自的功能是什么。

标签:标签通常是由线圈、存储器、天线、控制系统组成的集成电路,可以存储用于传输和识别的信息,这些信息通过自身或者外力的作用发射出去。但是标签的计算能力和存储空间都非常有限。 

阅读器:阅读器可以与标签进行数据传输。此外,阅读器具备奇偶校验、信号状态控制和纠错功能。阅读器通过接收来自标签的信息来决定数据信息的发送。如果标签发送的信息被阅读器接收和正确解码,阅读器可以通过解码得到的信息决定是否重传所发送的信号。

服务器:服务器用于处理阅读器传来的数据信息。阅读器和服务器之间的通信信道是由传统加密算法保证安全,而阅读器和标签间的通信信道因为标签较弱的计算能力要求协议的基本操作不能够太复杂,同时又要保证通信的安全。 

为提高安全性能,RFID 系统需要满足以下安全性要求: 

可用性:指系统中使用和传递的消息没有被破坏、损毁等,是可以供系统认证和通信使用,能够满足合法用户的正常需要。系统应具备抵御攻击者恶意破坏信息可用性的行为,确保标签和阅读器能够正常通信。 

完整性:指系统在认证、通信的各个环节,所使用的数据信息皆是完整有效的,杜绝虚假数据、篡改、假冒、误传等恶意行为。系统应保证通信信道的安全,防止非法攻击者对传递的数据进行篡改等行为,确保系统通信信息的完整性。 

机密性:指系统在认证、通信过程中,保证数据信息的机密性,即不被非法用户获得相关信息。破坏系统机密性的行为包括:侦听、拷贝、泄露等,如果被非法攻击者获取到机密信息,将极大可能威胁到合法用户的权益。 

认证性:指在使用认证协议的系统中,RFID 系统的各个组成部分都按照认证协议的流程完成了各自的认证过程,确认彼此的身份和合法性。非法攻击者一般通过伪装标签、阅读器和中间人,破坏系统的认证性。 

RFID 系统除了需要满足以上的四大安全特性,还需要满足隐私性要求,即匿名性和不可链接性。

匿名性:指在满足以上安全特性的前提下,还需要确保标签真实身份的安全性,即不被第三方,甚至是阅读器知道标签的真实 ID,要求标签输出的信息具有随机性。目的是防止攻击者对具体标签进行定位,追踪标签的信息。 

不可链接性:指攻击者不能根据标签和阅读器间传递的信息定位某个标签。同匿名性一样,需要标签和阅读器发出的信息具有随机性。 

接下来,我们了解一下,经典的 RFID 认证协议有哪些。

RFID 系统认证一般使用“询问-响应”的模式,即阅读器向标签发起询问,标签予以响应,进而实现信息的交换。


经典的 Hash-Lock 协议和随机化 Hash-Lock 协议就是这种模式。

在 Hash-Lock 协议中,标签计算???????????????????????? = ????(????????????)代替标签真实 id 响应阅读器。认证过程如下图 所示。

阅读器收到????????????????????????后发给服务器,服务器查找与????????????????????????相符的信息并返回,标签根据返回的信息计算????????????????????????,并与????(????????????′)比较,相等则解锁。由于标签 id 没有加密直接传送给阅读器,极易受到窃听和跟踪,不满足 RFID 安全性和隐私需求。 

后来,人们提出随机化 Hash-Lock 协议。在该协议中,标签收到阅读器发送的请求后,生成随机数????,并计算????(????????????||????),将(????, ????(????????????||????))发给阅读器,阅读器向服务器请求查询满足????(????????????′||????) = ????(????????????||????)的信息,若查询成功,则将对应的????????′发给标签,标签比较????????=?????????′,若相等则解锁。认证流程如下图所示。 

通过上述讲解,我们应该能够明白了,RFID 是一种无线通信技术,拥有轻便的物理载体,是可自动识别人或物的非接触式技术。能够适应复杂的环境,多目标识别,具有低成本高速度的优点。

接下来,我们讲解一下对RFID 的攻击类型及防御措施有哪些。

RFID 系统通常采用标签、阅读器、服务器构成的三方结构,但由于标签的存储能力和计算能力都非常匮乏,只能使用一些计算量小、运算简单的算法,因此很难抵御各种不法攻击。 

目前对 RFID 的攻击主要分为被动攻击、主动攻击和中间人攻击。

被动攻击主要是通过监听、窃取等一系列用户不易察觉的方式进行信息的收集和整理,因为被动攻击不涉及任何数据的修改,所以对其检测是十分困难的,但可以通过加密等手段抵御该攻击行为。

主动攻击指攻击者通过伪装成阅读器,生成假的数据流,采用资源使用、欺骗、伪装等攻击方法以获取信息,主动攻击易于通过检测被发现。

中间人攻击不仅可以窃听标签、阅读器的通信还可以对信息进行篡改再发送给对方,但因为阅读器和标签之间通常是近距离通信,中间人攻击的实现较为困难。 

RFID 系统一般要求具有身份认证和隐私保护的安全性需求。广播标识符是实现身份认证相对简单的操作,然而没有经过加密的广播标识符会使身份失去隐私性,攻击者可以轻易地根据其标识符对标签进行跟踪。因此为了解决这个问题,可以考虑使用加密算法对标识符进行加密。

————————

个人技术公众号:解决方案工程师

欢迎同领域的朋友关注、相互交流。

————————

最后

以上就是漂亮豌豆为你收集整理的一文读懂:什么是RFID的全部内容,希望文章能够帮你解决一文读懂:什么是RFID所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部