通过SHA-256主/从身份验证系统实现更高的安全性

描述

DS28C22是一款带有IC接口的DeepCover安全认证器,采用SHA-256算法进行双向认证。其他功能,包括 3Kb 用户 EEPROM 阵列、多种存储器保护方法和高级物理安全性,相结合,可提供经济高效的终极 IP 保护、克隆预防和身份验证。本文档介绍该器件的工作原理、其特殊功能及其典型应用环境。

介绍

10多年来,SHA-1认证被用于有效保护知识产权(IP)免受假冒和非法复制。但是现在,随着计算机技术信息处理的进步,客户希望获得更高级别的安全性。

如今,新的安全身份验证器和配套的安全协处理器实现了SHA-256身份验证。这项新技术提供了先进的物理安全性,可提供无与伦比的低成本 IP 保护、克隆防护和外围认证。本文介绍基于 SHA-256 的安全系统的一般后勤工作,并讨论身份验证系统使用的双向身份验证功能。

安全的身份验证系统

实施安全认证系统需要将主机系统与传感器/外设模块连接起来。图1所示的系统由一个SHA-256安全认证器和一个SHA-256安全协处理器组成。主机通过行业标准 I 与身份验证器和协处理器通信2C总线。

<

Maxim

图1.实施 SHA-256 安全认证系统。该系统采用深盖DS2465 SHA-256安全协处理器和深盖® DS28C22安全认证器。

SHA-256 安全认证器

此系统中的 SHA-256 安全身份验证器支持 256 位的质询大小,并使用 256 位密钥。图 1 中的身份验证器是 I2具有唯一 64 位 ROM ID 的 C 从站,用作身份验证计算的基本数据元素。系统设计人员可以将 3Kb 用户 EEPROM 划分为具有开放(未受保护)访问的区域、主设备必须对自身进行身份验证才能进行写入访问的区域以及读写访问涉及数据加密的区域。加密可以与身份验证相结合,以进一步提高数据安全性。表 1 显示了可用的保护模式。

 

RP 读取保护。如果激活,则数据只能供内部使用,例如,像秘密一样。        
可湿性粉剂 写保护。如果激活,则无法更改数据。        
电磁 EPROM仿真模式。如果激活,则单个位只能从 1 更改为 0。        
美联社 身份验证保护。如果激活,对内存的写入访问权限需要主身份验证。        
欧普 加密保护。如果激活,数据在发送到主控制器的途中以及发送到安全身份验证器进行写入访问时将被加密。        
**系统默认值为未激活 RP、WP、EM、AP 和 EP 时无保护。保护是累积的。

 

SHA-256 安全协处理器

图 256 中的 SHA-1 安全协处理器使主机处理器无需执行 SHA-256 计算。更重要的是,安全协处理器嵌入了受保护的存储器,可以安全地存储主密钥。留出额外的内存来存储和保护用于计算唯一从属机密的其他数据元素。从主机的角度来看,SHA-256安全协处理器显示为256字节读/写存储器,其中某些区域(数据元素)被分配用于特殊用途。

安全物流

基于 SHA 的安全性依赖于从开放数据和密钥计算的消息身份验证代码 (MAC)。为了验证真实性,双方,即主机或协处理器和身份验证器,必须知道机密,该秘密永远不会暴露。此外,为了获得最大的安全性,每个身份验证器中的密钥必须是唯一的。这样,如果单个身份验证器的机密受到损害,整个系统的安全性不会受到影响。

乍一看,似乎不可能满足这些要求。但是,有一个简单的解决方案:从已知的“成分”中计算密钥,并将其安装到受信任/受控的制造环境中的安全身份验证器中。独特秘密的成分是主秘密;绑定数据;部分秘密;安全身份验证器的 ROM ID;和填充/格式(“其他数据”)。图 2 说明了该过程。尽管成分在某个时间点公开,例如,在受信任的制造环境中,但计算的机密永远不会公开,并且始终保持隐藏状态。

Maxim

图2.创建唯一的机密。

出于安全和存储空间原因,系统中所有安全存储器的唯一机密不能存储在安全协处理器或主机中。相反,协处理器仅将主密钥和绑定数据存储在受保护的内存部分中。部分机密是一个系统常量,可以在主机处理器的固件中编码并公开通信。读取身份验证器的 ROM ID 后,协处理器可以计算出唯一的密钥,如图 2 所示。由于身份验证器和协处理器现在共享唯一的密钥,系统已准备好运行。

质询和响应身份验证

安全身份验证器的主要目的是提供证据,证明它所附加到的对象是真实的。基于对称密钥的身份验证使用密钥和待身份验证的数据(消息)作为输入来计算 MAC。主机使用预期的密钥和相同的消息数据执行相同的计算;然后,它将 MAC 版本与从安全身份验证器接收的版本进行比较。如果两个 MAC 结果相同,则安全身份验证器是系统的一部分。

在此 SHA-256 身份验证系统中,消息是存储在安全身份验证器中的主机质询和数据元素的组合。至关重要的是,挑战必须基于随机数据。永不改变的挑战为使用记录和重放的有效静态 MAC 而不是即时计算的 MAC 重放攻击打开了大门。

安全身份验证器从质询中计算 MAC;它的秘密;内存数据;以及共同构成消息的其他数据(图 3)。如果安全身份验证器可以为任何质询生成有效的 MAC,则可以安全地假设它知道密钥,因此可以认为它是真实的。

Maxim

图3.计算质询和响应身份验证 MAC。

数据安全(经过身份验证的写入)

除了证明真实性之外,非常希望知道存储在安全身份验证器中的数据是可信的。为此,安全认证器中的部分或全部EEPROM可以受到认证保护。激活身份验证保护后,内存写入访问要求主机通过向安全身份验证器提供主机身份验证 MAC 来证明其真实性(图 4)。

Maxim

图4.经过身份验证的写入访问(主机身份验证 MAC)。

主机身份验证 MAC 是根据新的内存数据计算的;现有的内存数据;安全身份验证器的唯一密钥和 ROM ID;以及共同构成消息的其他数据。安全身份验证器以相同的方式计算 MAC。

真实主机已重新创建安全身份验证器的密钥,并且可以生成有效的写入访问 MAC。从主机接收 MAC 时,安全身份验证器会将其与自己的结果进行比较。仅当两个 MAC 匹配时,数据才会写入 EEPROM。即使 MAC 正确,也无法修改写保护的用户内存区域。

数据安全(加密读写)

DS256C28安全认证器不同于一般的SHA-22认证器,在SHA-<>认证器中,密码永远不会暴露,因此在存储器读写访问期间,DS<>C<>安全认证器甚至不会暴露其存储器数据。这种增强的保护是通过传输过程中的数据加密来实现的。在芯片内部,数据以明文形式存储,以用于身份验证目的。

写访问加密使用从主机提供的加密种子计算的一次性垫 (OTP);安全身份验证器的机密;身份验证器ROM ID的一部分;和其他数据(填充、格式和数据地址相关数据)。如图 5 所示,这些数据元素形成一条消息,该消息根据 SHA-256 算法进行处理。生成的邮件身份验证代码是 OTP。主机将新内存数据与 OTP 中的相应数据进行 XOR 运算,然后再将其发送到身份验证器。身份验证器再次执行异或,恢复原始数据,然后将其编程到用户EEPROM。主机提供加密种子,该种子应为随机数。这样,即使主机一遍又一遍地将相同的数据写入窃听我的人2C总线,加密的数据总是看起来不同。

Maxim

图5.加密的写入访问。

读取访问加密与写入访问加密最相似。尽管消息的数据元素本质上是相同的,但“其他数据”存在差异,导致读取访问 OTP 与写入访问 OTP 不同,即使其他成分相同。如图 6 所示,安全身份验证器从用户存储器中获取数据,使用 OTP 对其进行 XOR 运算,并使主机可以访问读取数据。然后,主机使用其 OTP 版本执行 XOR。如果主机可以计算安全身份验证器的密钥和用于加密的 OTP,则 XOR 步骤将成功解密数据。同样,主机提供加密种子,该种子应为随机数。现在,即使主机重复读取相同的数据给窃听的人2C总线,数据看起来总是不同的。

Maxim

图6.加密读取访问。

安全性(经过身份验证的加密写入)

加密写入不会阻止不知道安全身份验证器密钥的主机处理器写入内存。但是,实际写入内存的数据将毫无用处。诚然,人们可能会恶意磨损内存,并以这种方式损害身份验证器。为了防止这种情况发生,为加密设置的内存区域应在初始写入后进行写保护,或者保护身份验证以允许更改。然后,只有真实的主机才能修改内存数据。

经过身份验证的加密写入访问包括两个步骤。第一步,主机加密新数据,如图 5 所示,然后将其发送到安全身份验证器。在第二步中,主机计算写身份验证 MAC,如图 4 所示,然后将其发送到安全身份验证器。与未加密的经过身份验证的写入相比,MAC 现在根据现有的解密内存数据和加密的新内存数据进行计算。

秘密保护

安全认证器的密钥和安全协处理器的主密钥由硬件设计进行读取保护。如果需要,可以对机密进行写保护,从而通过将未知机密替换为已知机密来防止篡改身份验证器的数据。安装后,绑定数据(通常存储在协处理器的存储器中)应受到读取保护。只要在受信任的生产站点为应用程序设置协处理器和身份验证器,此级别的保护就有效。

深度掩护终极安全性

Maxim Integrated部署的DeepCover技术提供了最强大的经济保护,可抵御任何试图发现密钥的芯片级攻击。DeepCover技术包括大量用于主动监控芯片级篡改事件的电路、先进的芯片布线和布局技术,以及用于应对攻击者复杂功能的其他专有方法。

双向身份验证

示例系统中的安全身份验证器支持质询和响应身份验证以及经过身份验证的写入(主机身份验证)。整个用户存储器可用于质询和响应身份验证。双向身份验证适用于为安全数据存储(经过身份验证的写入)配置的内存区域。数据加密不会妨碍质询和响应身份验证。身份验证 MAC 始终根据用户 EEPROM 中的未加密数据计算。

总结

SHA-256 的机密、质询和 MAC 大小分别为 256 位,是对旧版 SHA-1 身份验证的重大改进。本文介绍了一种现代的安全身份验证系统,该系统将主机系统(带 SHA-256 安全协处理器的主控制器)与传感器/外设模块(SHA-256 安全身份验证器)相匹配。SHA-256 的安全性从未如此简单。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分