利用SHA-256主/从安全认证系统实现增强安全性
时间:08-22
来源:互联网
点击:
作者: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正确,也不能更改受写保护的用户存储区域。
最近十年,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正确,也不能更改受写保护的用户存储区域。
- IC故障诊断及失效分析:发现事实避免臆测(09-11)
- Pmod规范,或Arduino伪标准(08-27)
- 物联网的SoC验证(01-18)
- 工程设计是为傻瓜准备的(我就是活生生的例子)(05-17)
- Maxim Integrated推出高速、18位数据采集系统(DAS)参考设计(12-05)
- 基于MAX3420的USB控制器接口设计(07-24)