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

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

3天内不再提示

通过质询和响应身份验证实现安全访问控制

星星科技指导员 来源:ADI 作者:Bob Scannell 2023-01-29 15:58 次阅读

本应用笔记从信息技术(IT)这一新角度探讨了物理访问控制的关键。它比较了各种类型的关键技术(机械、磁性、接触、RFID),并评估了这些密钥的优势和劣势。具有质询和响应身份验证的密钥克服了传统静态数据密钥的局限性。讨论了挑战和响应概念;提供并比较合适的键。本文档最后解释了为什么质询和响应身份验证比依赖静态数据的概念更安全。

几千年来,人们一直使用锁和钥匙来控制对他们的住所和宝藏的访问。随着技术的变化,锁也随之变化。今天,机械锁仍然统治着世界。但是,仔细观察您的车钥匙或员工徽章很可能会发现,电子产品已经进入了访问控制领域。

本应用笔记回顾了门禁控制的关键:机械、磁性、接触式、RFID。它描述了质询和响应身份验证(质询、机密和消息身份验证代码或 MAC)以及 SHA-1 算法的重要作用。最后,本文解释了为什么质询和响应身份验证更安全。

作为信息技术 (IT) 设备的密钥

从严格的逻辑角度来看,任何密钥都像ROM(只读存储器)一样存储信息。锁“读取”他们键的数据,如果它符合锁的标准,则提供访问权限。机械钥匙的物理尺寸和最小尺寸细节(即增量)限制了可用的代码空间。对于给定的键样式,可以制造数百或数千个键而不会重复;确切的数字取决于样式。磁条钥匙卡存储带有微小铁基磁性颗粒的信息。磁条可以写入多个并行磁道,每个磁道超过 500 位。基于接触的电子令牌密钥(例如,iButton®设备、芯片卡)将信息存储在硅芯片中。可用位数可低至64 (DS1990A)或几乎不受限制。非接触式按键从只有 26 位的型号开始(参见韦根公共格式,PDF),几乎没有上限。磁条钥匙卡在酒店房间访问中很受欢迎。电子令牌密钥,有接触和没有接触,在员工徽章中很受欢迎。

现状及其问题

锁的实际打开,无论是机械的还是电子的,完全基于满足锁内置标准的静态数据的存在。对于电子锁,这些数据可以是一个简单的识别号,数百或数千个存储位(例如,磁条或存储芯片卡),或两者的组合。钥匙携带的信息越少,给定的锁可以记住的钥匙就越多。

机械钥匙有多种样式和尺寸可供选择。 锁的“所有者”无法防止未经授权的钥匙复制。此外,便宜的工具可以在没有正确钥匙的情况下打开锁。 此外,由于代码空间有限,因此无法保证钥匙的唯一性。随着时间的流逝,钥匙的精细结构会磨损,使打开锁变得越来越困难。

虽然代码空间不是磁条钥匙卡的问题,但它们很容易被复制²或擦除。它们会因磨损而变质。

基于 ROM 的电子钥匙需要仿真(重放)和复制。对于联系人密钥²和RFID密钥²也是如此 除了基于韦根格式和衍生产品(26位或36位)的应用外,电子密钥具有足够的代码空间来保证每个密钥的唯一代码。

下一级安全:质询和响应身份验证

传统的电子锁依赖于钥匙需要产生的静态数据来获得访问权限。这个不变的标准使得克隆密钥很容易成功。如果密钥可以从锁接收不可预测的数据查询并使用依赖于接收的数据的数据模式进行响应,则可以实现更高的安全性。该过程涉及公开可读的数据和只有钥匙和锁知道的隐藏数据。

锁发送到钥匙的不可预测数据的技术术语是随机挑战。隐藏的数据称为机密,响应通常称为消息身份验证代码或 MAC。该消息由质询、可公开读取的数据、机密和常量(填充)组成。为了验证密钥的真实性,锁使用相同的质询、从密钥读取的数据、密钥和常量来计算 MAC。如果锁计算的 MAC 与密钥响应中的 MAC 匹配,则锁知道密钥是真实的。如图 1 所示,此过程的技术术语是质询和响应身份验证。如果除了真实性之外,钥匙中的可公开可读数据也符合锁的标准,则锁允许访问。

poYBAGPWJzuAOkWlAAAqUu-T5I4717.gif?imgver=1


图1.质询和响应身份验证数据流。

在密码学中,从消息生成固定长度 MAC 的算法称为单向哈希函数。“单向”表示从固定长度的MAC输出中得出通常较大的消息是极其困难的。相反,使用加密时,加密邮件的大小与原始邮件成正比。

经过全面审查和国际认证的单向哈希算法是SHA-1,它由美国国家标准与技术研究院(NIST)开发。SHA-1已发展成为国际标准ISO/IEC 10118-3:2004。该算法背后的数学原理可通过NIST网站公开获得。SHA-1算法的显著特点是:

不可逆性确定与 MAC 对应的输入在计算上是不可行的。

抗碰撞性找到多个生成给定 MAC 的输入消息是不切实际的。

高雪崩效果输入的任何变化都会使 MAC 结果发生重大变化。

出于这些原因,以及国际上对该算法的审查,Maxim选择了SHA-1进行质询和响应认证。

质询和响应身份验证密钥

电子钥匙锁,有接触和无接触,已经由全球多家公司开发并大量部署。它们的主要组件是具有内置固件(即软件程序)和存储器的微控制器,该存储器存储锁接受的钥匙标准(例如,标识号或文本字符串)。根据设计,锁具有使用质询键和响应键的所有资源。所有锁需要的是固件升级。

DS1961S挑战和响应i按钮与SHA-1引擎于2002年推出。2010年推出一款非接触式器件,符合ISO 15693标准的安全存储器遥控卡。尽管它们的通信接口和外形尺寸非常不同,但这两种设备有很多共同点。表 1 显示了详细信息。它们都支持使用 64 位密钥的 SHA-1 身份验证,并具有 1024 位用户可编程 EEPROM。可以加载或计算密钥(此步骤不需要身份验证)和写保护。写入存储器需要身份验证,即只有在设备中存储的密钥已知时才能写入。作为较新的开发产品,MAX66140使用5字节质询,而DS1961S则使用3字节质询。MAX66140还具有存储器写入周期计数器,使篡改检测变得容易,并将器件的应用从访问控制扩展到闭环货币系统。

表 1.DS1961S与MAX66140的比较

特征 DS1961S MAX66140*
外形尺寸 我按钮,F3 和 F5 尺寸 塑料钥匙扣
通信接口 基于接触的1-Wire®协议 无线,13.56MHz ISO15693 和 ISO18000-3 模式 1
数据速率 标准速度:高达 15.3kbps;过载速度:高达 125kbps 慢速:1.6kbps下降,6.6kbps上升;快速:上下 26kbps
身份证# 64位1线ROM ID 64 位 UID,符合 ISO 标准
身份验证方法 160 位 SHA-1 MAC 160 位 SHA-1 MAC
机密大小 64 位(读保护) 64 位(读保护)
密钥生成 加载、计算;通过单独的寄存器写访问提供可选的写保护 加载、计算、可选自动写保护
用户内存 1024 位组织为四页,每页 32 字节;8字节块中的写入访问权限;用户可编程写保护,仅针对第 0 页或同时针对所有四个页面;用户可编程 EPROM 仿真模式仅适用于第 1 页 1024 位组织为 16 个 8 字节块;四个块形成一个 32 字节的页面;8字节块中的写入访问权限;单个块写入周期计数器;用户为每个单独的块提供可编程的写保护;用户可编程的EPROM仿真模式,适用于每个单独的页面;用户可编程第 3 页读保护
写入身份验证 MAC 涉及 ID#、页面 #、页面数据、新数据、机密、常量 涉及 ID#、页 #、页数据、新数据、机密、写入周期计数器、常量
读取身份验证 MAC 涉及 ID#、页 #、页数据、3 字节质询、机密、常量 涉及 ID#、页面 #、页面数据、5 字节质询、机密、常量

*与ISO/IEC 14443 B型接口的等效密钥

MAX66040

正在准备中。

为什么质询和响应身份验证更安全

要建立和维护质询和响应认证系统,需要一个密钥程序员(即电子设备),并且根据系统概念,需要一个主密钥。关键程序员必须了解特定于供应商的数据约定和生成机密的算法。如果系统支持此功能,则主密钥将用于更新存储在锁中的已知密钥 ID# 列表。与任何安全系统一样,必须严格控制对这些工具的物理访问,以防止未经授权的使用。

创建新密钥或密钥复制

使用密钥编程器,授权锁匠在空白密钥中安装有效密钥,然后使用有效数据对内存进行编程。(如果重复:数据是从另一个键复制的。新密钥现已准备就绪,可供使用。根据锁固件,可能需要指示使用主密钥的锁将新密钥的 ID# 添加到已知密钥列表中。黑客可以将任意密钥加载到空白密钥中,然后使用有效数据对可公开读取的内存进行编程。但是,此密钥无法通过质询和响应身份验证,因为它的密钥在系统中无效。

更改有效密钥的访问权限

授权锁匠使用钥匙编程器更新钥匙内存中的数据以进行更改。在不知道密钥的秘密或无法访问合适设备的情况下,黑客无法生成写入密钥内存所需的写入身份验证 MAC。

使密钥停止服务

使用钥匙编程器,授权的锁匠将钥匙的内存内容更改为“出厂默认”或任何其他容易识别为无效的模式。密钥的秘密可以保持原样。如果锁维护已知密钥的列表,则建议同时从锁中删除无效密钥的 ID#。该密钥可以重新编程以供以后使用。黑客的选择是使用蛮力删除密钥。

击败密钥仿真

请考虑此方案。有了窃听和录音设备,黑客会反复向锁出示有效的钥匙。接下来,黑客分析记录的数据,以查看锁发送的挑战以及密钥生成的读取身份验证MAC。如果固件设计正确,质询是随机的,因此无法记录质询和响应的所有组合。这迫使黑客放弃。

设计不佳的锁固件使用持续的挑战或从一小部分模式中随机选择挑战 - 这正是黑客正在寻找的弱点。在这种情况下,黑客可以使用有效密钥的 ID# 和内存数据、锁发送的质询以及相应的读取身份验证 MAC 对密钥模拟器进行编程。如果锁维护已知密钥的列表,最简单的对策是从锁的列表中删除该密钥。但是,不使用此类列表的系统并非毫无防御能力。要检测密钥模拟器,可以让锁将随机数据写入密钥中原本未使用的内存部分。模拟器将接受写入访问权限,因为它无法检查写入访问 MAC 的有效性。接下来,锁将读回刚刚写入的数据以及该页面的读取身份验证 MAC。由于它没有为此活动做好准备,因此模拟器被揭开,因为它无法生成有效的 MAC。

击败泄露的秘密

可以加载或计算用作质询和响应身份验证密钥的 64 位数据。人们可以做的最糟糕的操作是将相同的秘密放入系统的所有密钥中。一旦此机密泄露或通过反复试验发现,系统安全性就会被破坏。因此,质询和响应身份验证的密钥可以从初始(即当前或加载的)密钥、部分密钥、来自其中一个内存页的数据以及特定于设备(即已知)的常量中计算密钥。这样,秘密永远不会暴露。还可以通过使用密钥的 64 位 ID# 作为部分机密,使机密特定于设备。如果单个密钥的秘密被泄露,它将危及该特定密钥,但不会危及整个系统。

结论

在已经安装了电子锁或电子门禁的地方,通过质询和响应身份验证可以显着提高安全性。质询键和响应键可通过接触式接口或无线遥控钥匙提供。质询和响应密钥中的数据受到保护,防止未经授权的更改。内存写入周期计数器可能会暴露篡改。克隆的质询和响应密钥未通过身份验证测试,即使公开可读的内存数据有效也是如此。将现有安装升级为质询和响应密钥可以像发出新密钥并在锁或读卡器中安装新固件一样简单。

审核编辑:郭婷

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

    关注

    383

    文章

    5784

    浏览量

    234651
  • 存储器
    +关注

    关注

    38

    文章

    7148

    浏览量

    161986
  • ROM
    ROM
    +关注

    关注

    4

    文章

    524

    浏览量

    84812
收藏 人收藏

    评论

    相关推荐

    HTTPServer可以支持基本的HTTP身份验证吗?

    HTTPServer可以支持基本的HTTP身份验证吗?我知道代码中没有任何示例,但想知道是否有人对此进行编码支持?它看起来不像代码401包含在支持的响应代码中。我想密码保护一些配置网页,而
    发表于 10-30 10:23

    无线身份验证的门禁控制系统设计方案

    的网络,可提供身份验证传输框架,实现安全产品和服务的交付。它是一种用于创建、交付和管理安全身份验证的综合性框架。简单来说,该基础架构是一个中央安全
    发表于 11-05 11:11

    facexx人脸识别身份验证迎来新技术革新

    人员的身份验证需求。比如现在很多智能办公室都已经有门禁考勤系统,还有签到系统,人脸识别闸机等等,这些设备其实就是在AI身份验证的基础上面产生的硬件设备,他们通过终端的数据分析能够实现
    发表于 12-19 15:06

    Vivado和SDK身份验证错误

    尝试运行SDK或Vivado的安装程序时,出现“身份验证错误:发生了未知异常。请验证您的用户ID和密码,然后重试”我可以登录该站点,另一位同事可以登录该站点。我们可以下载安装程序,但是当我们尝试安装
    发表于 01-02 14:55

    PN5180无法使用mifare classic进行身份验证怎么解决?

    ....ok 2. Anticollision CL1.....ok 3. 选择......ok 4. 验证....错误当我发送身份验证命令时,我得到 0x02(等待卡响应超时(卡不存在)。)但是卡存在,我
    发表于 03-23 08:46

    什么是身份验证和授权

    什么是身份验证和授权 根据RFC2828(Internet Security Glossary,May2000),验证是“校验被或向某系统实体声明的身份的过程”。此处的关键字
    发表于 04-03 16:03 5677次阅读

    什么是询问握手身份验证协议

    什么是询问握手身份验证协议 CHAP(询问握手身份验证协议)是用于远程登录的身份验证协议,通过三次握手周期性的校验对端的身份,在初始链
    发表于 04-03 16:06 2587次阅读

    什么是密码身份验证协议

    什么是密码身份验证协议 PAP是一种身份验证协议,是一种最不安全身份证协议,是一种当客户端不支持其它身份认证协议时才被用来
    发表于 04-03 16:07 1512次阅读

    为设计选择正确的安全身份验证方法

      当然,有不同级别的有效身份验证。以打印机墨盒为例。为了验证它的真实性,墨盒可以发送一个密码。但是这种方法的缺点是中间人可以在密码被传输时捕获并重新使用它。质询-响应身份验证,其中墨
    的头像 发表于 05-24 10:11 1042次阅读
    为设计选择正确的<b class='flag-5'>安全身份验证</b>方法

    PCB身份验证

    电子发烧友网站提供《PCB身份验证器.zip》资料免费下载
    发表于 07-22 10:09 2次下载
    PCB<b class='flag-5'>身份验证</b>器

    CIA保护跨连接设备的嵌入式数据

      ITTIA DB 提供的其他设备安全维度是盐渍质询响应身份验证机制或 SCRAM。SCRAM是一种基于密码的相互身份验证协议,旨在使窃听攻击(即中间人)变得困难。
    的头像 发表于 10-19 10:11 352次阅读

    通过质询响应身份验证安全访问控制

    发表于 11-18 08:27 0次下载
    <b class='flag-5'>通过</b><b class='flag-5'>质询</b>和<b class='flag-5'>响应身份验证</b>的<b class='flag-5'>安全</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>

    安全哈希算法的基础知识,如何使用算法进行身份验证

    本应用笔记介绍了安全哈希算法(SHA)的基础知识,并讨论了该算法的变体。然后简要介绍了如何使用算法进行身份验证,包括哈希消息身份验证代码 (HMAC) 的概念。最后,本文介绍了一些Maxim
    的头像 发表于 12-21 15:37 1857次阅读
    <b class='flag-5'>安全</b>哈希算法的基础知识,如何使用算法进行<b class='flag-5'>身份验证</b>

    使用DeepCover安全身份验证器保护您的FPGA系统

    本应用笔记介绍了设计人员如何保护其 Xilinx FPGA 实现、保护 IP 并防止附加外设伪造。设计人员可以使用本应用笔记中描述的参考设计之一来实现这种安全性。这些设计在FPGA和DeepCover
    的头像 发表于 02-20 11:07 662次阅读
    使用DeepCover<b class='flag-5'>安全身份验证</b>器保护您的FPGA系统

    通过质询响应身份验证实现安全访问控制

    本应用笔记从信息技术(IT)这一新角度探讨了物理访问控制的关键。它比较了各种类型的关键技术(机械、磁性、接触、RFID),并评估了这些密钥的优势和劣势。具有质询响应身份验证的密钥克服
    的头像 发表于 03-08 15:22 455次阅读
    <b class='flag-5'>通过</b><b class='flag-5'>质询</b>和<b class='flag-5'>响应身份验证实现</b><b class='flag-5'>安全</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>