DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1336|回复: 0
打印 上一主题 下一主题

[待整理] SHA-256主/从安全认证系统工作原理

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 23:28:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
最近十年,SHA-1安全认证一直作为防伪及防止非法窃取知识产权的有效武器。随着计算机技术的进步,用户亟待获取更高级别的安全方案。
       
        基于这一需求,Maxim Integrated推出了一组新的SHA-256安全认证器和配套的安全协处理器。该系列产品提供高级物理安全,可实现无与伦比的低成本IP保护、防克隆及外设安全认证技术。本文介绍了基于SHA-256安全认证的工作原理,以及安全认证系统采用的双向认证功能。
       
        安全认证系统
       
        实现安全认证系统需要用传感器/外设模块连接主机系统,图1所示的系统由1-Wire SHA-256安全认证器和具有1-Wire主机功能的SHA-256协处理器组成。主机和外设之间的工作通过1-Wire接口单个引脚实现,降低互联的复杂度,简化设计,并降低成本。
         
       
         
        SHA-256安全认证
       
        该系统的SHA-256安全认证支持256位质询,采用256位密钥。图1所示安全认证器为1-Wire从机,具有唯一的64位ROMID,作为安全认证计算的基本数据单元。系统设计者可将认证器的EEPROM分为可公开访问(无保护)的区域和主机必须对自身进行安全认证才能访问的区域。表1所示为可用的保护模式及保护措施组合。
         
       
         
        内置1-Wire主机的SHA-256协处理器
       
        图1中的SHA-256协处理器为I2C从机,由主机处理器控制。从主机的I2C端口看,SHA-256协处理器为256字节读/写存储器,特定区域(数据源)分配给特殊目的。
       
        安全逻辑
       
        基于SHA的安全性依赖于由公开数据及密钥计算得到的信息验证码(MAC )。为确保安全验证,两侧(即主机或协处理器和1-Wire安全认证器)必须知道“永不泄露”的密钥。此外,为实现最大程度的安全性,每个1-Wire安全认证器中的密钥必须唯一。按照这种方式,一旦某个安全认证器的密钥受到威胁,整个系统的安全性不受影响。
       
        乍一看,似乎没有办法达到这些目标。但我们采用了一个简单的解决途径,即利用一些“数据源”计算密钥,然后在受信任/受控制的生产环境下将其安装到器件内部。用于计算安全认证密钥的数据源包括:主密钥、绑定数据、分密钥、安全认证器的ROM ID,以及填充符/格式化符号(“其它数据”),过程如图2所示。尽管数据源在某个时间点是公开的,例如在受信任的生产环境,但计算得到的密钥永远不会暴露,始终是隐蔽的。
       
         
        出于安全性和存储空间的考虑,系统中所有安全认证器的唯一密钥不能储存在协处理器或主机中;协处理器仅在受保护的存储器部分储存主密钥和绑定数据。分密钥是系统常数,可在主处理器的固件中编码并公开交换。读取安全认证器的ROMID后,协处理器即可计算安全认证器的唯一密钥,如图2所示。然后安全认证器和协处理器共用唯一的安全认证密钥,系统即可进行工作。
       
        质询-应答安全认证
       
        安全认证的主要目的是验证所连接的对象真实有效。基于对称密钥的认证方法将密钥和被验证数据(即“信息”)作为输入以计算MAC.主机利用预先制定的密钥和相同信息数据执行相同的计算,然后将计算得到的MAC与从安全认证器接收到的MAC进行比较。如果两个MAC完全相同,则说明安全认证器是系统的一部分。
       
        在这种SHA-256安全认证系统中,信息是主机质询和安全认证器中储存的数据单元组合。质询基于随机数据,这一点至关重要,如果质询从不变化,就为资源窃取打开了方便之门,即攻击者记录并恢复有效的静态MAC,而非即时计算MAC.
       
        安全认证器利用质询、密钥、存储器数据及附加数据计算一个MAC (图3)。如果安全认证器能够计算任何质询码的有效MAC,则可以认为其已知密钥并被视为可靠。
         
        数据保护(安全认证写操作)
       
        除有效性验证以外,多数系统还需要确保安全认证器中储存的数据可信。出于这一考虑,可对安全认证器中的部分或全部EEPROM进行“安全保护”。如果激活安全保护,在执行存储器写操作时,要求主机向安全认证器提供主机安全认证MAC,证明自身的有效性。
       
        主机安全认证MAC是利用新的存储器数据、已有存储器数据、安全认证器的唯一密钥以及ROM ID、附加数据计算得到的。安全认证器使用自身的密钥按照相同方式计算一个MAC.
       
        合法主机重建安全认证器的密钥,能够生成有效的写保护MAC.接收到来自主机的MAC时,安全认证器将其与自身的计算结果进行比较。只有两个MAC相匹配时,才允许将数据写入EEPROM.即使MAC正确,也不能更改受写保护的用户存储区域(图4)。
       
         
        密钥保护
       
        安全认证器的密钥和协处理器的主密钥通过硬件设计进行读保护。如果需要,密钥可采取写保护,防止利用已知密钥代替未知密钥来篡改安全认证器的存储数据。绑定数据一般储存在协处理器的存储器内,应在安装之后进行读保护。只要在受信任的生产环境下针对应用设置协处理器和安全认证器,这种级别的保护就非常有效。
       
        DeepCover
       
        DeepCover技术提供强大、经济的保护方案,可防止试图侦测密钥的芯片级攻击。DeepCover技术包括多种监测芯片级篡改事件的有源电路,采用先进的芯片级布线、布局技术,以及专利技术,有效抵御各种攻击性操作。
       
        双向安全认证
       
        上述系统的密钥认证支持质询-应答安全认证和写保护操作(主机安全认证)。整个用户存储器可用于质询-应答安全认证,双向安全认证适用于储存安全数据(安全认证写操作)的存储器区域。
       
        总结
       
        SHA-256的密钥、质询和MAC均为256位,相对于原来的SHA-1安全认证方案有了显著改进。本文介绍了最新的安全认证系统,该系统对主机系统(具有1-Wire主机的SHA-256协处理器)与传感器/外设模块(1-Wire SHA-256安全认证器)的匹配性进行验证。协处理器内部的1-Wire主机代替主机执行实时1-Wire通信。提供三种存储器配置的DeepCover 1-WireSHA-256安全认证器,采用3.3V和1.8V供电,也可选择采用3.3V和1.8V供电的协处理器/主机,支持三种安全认证器件。SHA-256安全认证的实施方案比以往任何时候都简单。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 15:57 , 耗时 0.096190 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表