在线工博会

利用SHA-256主/从安全认证系统实现增强安全性
Maxim Integrated Bernhard Linke
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
最近十年,SHA-1安全认证一直作为防伪及防止非法窃取知识产权(IP)的有力武器。但是现在,随着计算机技术信息处理的进步,用户亟待获取更高级别的安全方案。
基于这一需求,我们推出了一组新的SHA-256安全认证器和配套的安全协处理器。这项新技术提供高级物理安全,实现无与伦比的低成本IP保护、防克隆及外设安全认证技术。本文介绍基于SHA-256安全认证的工作原理,概要介绍安全认证系统采用的双向认证功能。
安全认证系统
实现安全认证系统要求利用传感器/外设模块连接主机系统。图1所示的系统由SHA-256安全认证器和SHA-256安全协处理器组成。主机通过行业标准I2C总线与认证器和协处理器通信。

(图片)

图1:SHA-256安全认证系统的实施方案。该系统包括DeepCover DS2465 SHA-256安全协处理器和DeepCover DS28C22安全认证器。

SHA-256安全认证器
该系统的SHA-256安全认证器支持256位质询,采用256位密钥。图1所示安全认证器为I2C从机,具有唯一的64位ROM ID,作为安全认证计算的基本数据单元。系统设计者可将3Kb用户EEPROM划分为开放(无保护)访问的区域、主控制器必须具备授权的写访问区域、涉及数据加密的读/写区域。可结合安全认证进行加密,进一步提高数据安全性。表1所示为可用的保护模式。

表1:安全认证保护选项**

(图片)

SHA-256安全协处理器
图1所示的SHA-256安全协处理器使主处理器无需参与SHA-256计算。更重要的是,安全协处理器内置保护存储器,可安全储存主密钥。保留附加存储器,以储存、保护用于计算唯一从密钥的其它数据单元。从主机侧看,SHA-256安全协处理器为256字节读/写存储器,特定区域(数据单元)分配给特殊目的。
安全逻辑
基于SHA的安全性取决于由公开数据及密钥计算得到的信息验证码(MAC)。为确保安全验证,两侧(即主机或协处理器和安全认证器)必须知道“永不泄露”的密钥。此外,为实现最大程度的安全性,每个安全认证器中的密钥必须唯一。按照这种方式,一旦某个安全认证器的密钥受到威胁,整个系统的安全性不受影响。
咋一看,似乎没有办法达到这些目标。但我们采用了一个简单的解决途径,即利用一些“数据源”计算密钥,然后在受信任/受控制的生产环境下将其安装到安全认证器内部。用于计算唯一安全认证密钥的数据源包括:主密钥、绑定数据、分密钥、安全认证器的ROM ID,以及填充符/格式化符号(“其它数据”),过程如图2所示。尽管数据源在某个时间点是公开的,例如在受信任的生产环境,但计算得到的密钥永远不会暴露,始终是隐蔽的。

(图片)

图2:产生唯一的密钥

出于安全性和存储空间的考虑,系统中所有安全存储器的唯一密钥不能储存在安全协处理器或主机中;协处理器仅在受保护的存储器部分储存主密钥和绑定数据。分密钥是系统常数,可在主处理器的固件中编码并公开交换。读取安全认证器的ROM ID后,协处理器即可计算唯一密钥,如图2所示。然后安全认证器和协处理器共用唯一的密钥,系统即可进行工作。
质询-应答安全认证
安全认证的主要目的是验证所连接的对象真实有效。基于对称密钥的认证方法将密钥和被验证数据(即“信息”)作为输入以计算MAC。主机利用预先制定的密钥和相同信息数据执行相同的计算,然后将计算得到的MAC与从安全认证器接收到的MAC进行比较。如果两个MAC完全相同,则说明安全认证器是系统的一部分。
在这种SHA-256安全认证系统中,信息是主机质询和安全认证器中储存的数据单元组合。质询基于随机数据,这一点至关重要,如果质询从不变化,就为重放攻击大开方便之门,即攻击者记录并回放有效的静态MAC,而非即时计算MAC。
安全认证器利用质询、密钥、存储器数据及附加数据计算一个MAC(图3)。如果安全认证器能够计算任何质询码的有效MAC,则可以认为其已知密钥并被视为可靠。

(图片)

图3:计算质询-应答安全认证MAC

安全认证写操作
除有效性验证以外,多数系统还需要确保安全认证器中储存的数据可信。出于这一考虑,可对安全认证器中的部分或全部EEPROM进行“安全保护”。如果激活安全保护,在执行存储器写操作时,要求主机向安全认证器提供主机安全认证MAC,证明自身的有效性(图4)。

(图片)

图4:写保护操作(主机安全认证MAC)

主机安全认证MAC是利用新的存储器数据、已有存储器数据、安全认证器的唯一密钥以及ROM ID、附加数据计算得到的。安全认证器按照相同方式计算一个MAC。
合法主机重建安全认证器的密钥,能够生成有效的写保护MAC。接收到来自主机的MAC时,安全认证器将其与自身的计算结果进行比较。只有两个MAC相匹配时,才允许将数据写入EEPROM。即使MAC正确,也不能更改受写保护的用户存储区域。
加密读、写操作
DS28C22安全认证器不仅具备普通的SHA-256安全认证功能,始终不会暴露密钥,甚至可以配置成在存储器读/写操作期间也不暴露其存储数据。这种增强保护方案是通过在传输期间对数据进行加密实现的。在芯片内部,以确定方式储存数据,以满足安全认证的需要。
写操作加密采用一次性密码本(OTP,根据主机提供的加密种子计算得到)、安全认证器的密钥、安全认证器的部分ROM ID以及其它数据(填充符、格式化符号以及数据地址相关的数据)。如图5所示,这些数据单元组成一条消息,根据SHA-256算法对其进行处理,得到的信息验证代码为OTP。主机将新存储器数据与OTP中对应的数据进行XOR运算,然后发送至安全认证器。安全认证器再次执行XOR运算,重建EEPROM中编程的原始数据。主机提供加密种子,种子应为随机数。按照这种方式,即使主机重复写相同的数据,对于I?C总线上的窃听者,加密后的数据每次都不同。

(图片)

图5:加密写操作

读操作加密类似于写操作加密。尽管消息的数据单元实质上是相同的,但“其它数据”存在差异,使得读操作OTP不同于写操作OTP,即使其它数据源完全相同。如图6所示,安全认证器读取用户存储器中的数据,将其与OTP进行XOR运算,使主机能够对其进行读操作。然后主机利用其自身的OTP执行XOR运算。如果主机能够计算得到用于加密的安全认证器密钥和OTP,XOR运算步骤将成功解密数据。同样,主机提供加密种子,种子应为随机数。现在,即使主机重复读取相同的数据,对于I?C总线上的窃听者,数据每次都不同。

(图片)

图6:加密读操作

加密认证写操作
加密写操作不能防止不知道安全认证器密钥的主处理器对存储器进行写操作,尽管实际写入存储器的数据无用。当然,破坏者可恶意耗尽存储器,以此损害安全认证器。为防止发生以上现象,设置为加密的存储器区域应在初始写操作后采取写保护或安全认证保护,只有合法主机可更改存储器数据。
安全认证器的密钥和协处理器的主密钥通过硬件设计进行读保护。如果需要,密钥可采取写保护,防止利用已知密钥代替未知密钥来篡改安全认证器的存储数据。绑定数据一般储存在协处理器的存储器内,应在安装之后进行读保护。只要在受信任的生产环境下针对应用设置协处理器和安全认证器,这种级别的保护就非常有效。
加密认证写操作包括两步:第一步中,主机按图5所示对新数据进行加密,然后将其送至安全认证器;第二步中,主机按图4所示计算写操作安全认证MAC,然后将其送至安全认证器。相对于没有加密的安全认证写操作,现在是根据已有加密存储器数据和加密后的新数据计算得到MAC。
密钥保护
安全认证器的密钥和安全协处理器的主密钥通过硬件设计进行读保护。如果需要,密钥可采取写保护,防止利用已知密钥代替未知密钥来篡改安全认证器的数据。绑定数据一般储存在协处理器的存储器内,应在安装之后进行读保护。只要在受信任的生产环境下针对应用设置协处理器和安全认证器,这种级别的保护就非常有效。
DeepCover终极安全
Maxim Integrated的DeepCover技术提供强大、经济的保护方案,可防止试图侦测密钥的芯片级攻击。DeepCover技术包括多种监测芯片级篡改事件的有源电路,采用先进的芯片级布线、布局技术,以及专利技术,有效抵御各种攻击性操作。
双向安全认证
上述系统的密匙认证支持质询-应答安全认证和写保护操作(主机安全认证)。整个用户存储器可用于质询-应答安全认证,双向安全认证适用于储存安全数据(安全认证写操作)的存储器区域。数据加密不妨碍质询-应答安全认证。始终利用用户EEPROM中的未加密数据计算安全认证MAC。
总结
SHA-256的密钥、质询和MAC均为256位,相对于原来的SHA-1安全认证方案有了显著改进。本文介绍了最新的安全认证系统,该系统对主机系统(具有SHA-256协处理器的主控制)与传感器/外设模块(SHA-256安全认证器)的匹配性进行验证。SHA-256安全认证的实施方案比以往任何时候都简单!
参考资料
1. 关于相互认证的一般介绍,请参见Maxim Integrated应用笔记3675《利用安全认证保护您的研发成果》:www.maximintegrated.com/AN3675。
2. Maxim Integrated数据资料DS28C22。
3. Maxim Integrated数据资料DS28C22。
DeepCover是Maxim Integrated Products, Inc.的注册商标。 8/1/2014


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站