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

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

3天内不再提示

加密IC固件保护方案比较

物联网芯片 来源:物联网芯片 作者:物联网芯片 2022-06-12 12:46 次阅读

固件破解和抄袭已经成为了一个庞大的产业,对于电子设备方案商和物联网硬件方案来说,核心算法和固件的固件保护与防抄板是最关键的一环。很多使用的是firmware本身的软加密来实现,但是由于密钥保护并不安全,软加密算法防护的安全性往往不可靠,软算法的密钥在通用存储中,所以最佳的方式是基于专用的加密IC(即加密芯片)来进行防抄板,固件保护设计。

用于防抄板固件保护或者物联网认证的加密IC一般会有两个功能:

1. 如果设备是脱机运行,需保护设备固件不被破解和抄袭,确保设备方案整体不被抄。

2.如设备是联网的,则除了防抄板外,也需要考虑接入物联网可执行身份认证核心功能,确保物联网设备安全。不被克隆或入侵。

加密IC固件保护方案比较

目前来说行固件保护的方案是密码算法握手和应答认证。有两种密码算法认证方案:一种基于对称加密的安全认证保护,另一种基于非对称加密认证保护。

对称密码加密固件保护流程如下:HOST向DEVICE发送一个随机数random挑战。设备通过密码算法计算一个数字签名,该签名是密钥和认证的函数,并发送回HOST。主机执行相同的密码运算并对计算结果进行比较。如果两项运算结果相同,则设备通过安全认证。为了确保结果不被暴力破解,必须使用安全属性高的函数和真随机数发生器;SHA-256等安全杂凑函数或者AES等算法可满足这些要求。这种应答方式可使得设备在不泄露对称密钥的情况下证明自己密钥的合法性。即使破解者拦截通信数据,也无法接触到认证密钥。

1. 基于对称算法加密的加密认证依赖于主机(HOST)和从DEVICE(加密芯片)之间的密钥。如下图所示(以MOD208加密芯片为例):

对称加密固件保护图1: 对称密钥体系安全(来源MODSEMI)

非对称密钥加密认证依赖于公钥和私钥。

基于非对称加密的安全认证依赖于两个密钥:私钥和公钥。只有被认证的设备知道私钥,而公钥可透露给希望对设备进行安全认证的任何一方。与上文中讨论的方法一样,主机向设备发送挑战(一段随机数)。设备根据质询和私钥计算数字签名,并将其发送给主机(如下图,以MOD8ID加密芯片为例)。但此时,主机使用公钥对数字签名进行验证。用于计算数字签名的函数拥有特定数学属性至关重要。非对称方法中最常用的函数是RSA和ECC(一般为ECDSA),目前IOT领域以ECC居多,后面将阐述为什么ECC的优势。同样,设备也在不泄露密钥情况下提交了自己知道密钥的证明,即私钥。

ECC非对称加密固件保护图2,非对称算法体系认证架构

为什么要用专用加密芯片

握手应答加密认证始终要求被认证的对象持有相同密钥。对称加密方法中,该密钥为主机和设备之间的共享密钥;对于非对称加密方法,该密钥为私钥。无论哪种情况,一旦密钥泄露,质询-应答式安全认证就会失去保障。加密IC的一项基本特性是为密钥和密码提供强保护,所以专用的加密IC有助于防范这种情况。

在加密芯片能够安全的支持基于对称或非对称的固件保护方案,如MODSEMI的MOD208支持对称加密,MOD8ID支持对称与非对称ECC加密体系。

认证芯片:芯片是可配置但固定功能的器件,为实施质询-应答安全认证提供最经济的途径,并且具有基本的加密操作。

安全加密芯片:在支持握手应答安全认证的基础上,提供全面的密码学功能,包括加密关键数据存储,身份认证等。

加密芯片中,基于SHA-256或者AES算法的产品支持基于共享密钥的安全认证,具备专用的对称加密算法引擎和密钥存储器,典型产品如MODSEMI的MOD208,这种方式的特点是高效快速,适用于一些模组类固件等对效率和资源要求比较高的应用场景,如固件保护,防抄板等。

基于ECDSA或者RSA的安全芯片使用私钥/公钥对(如下图)。除了具备专用的加密算法引擎外,这些产品拥有板载存储器。该存储器是可配置的,可用于储存经过安全认证的用户数据,比如安全配置,安全密钥,认证证书等等。可以实现具备pki认证体系的一系列功能。典型产品如MODSEMI的MOD8ID。

以MOD8ID加密芯片为例,它会提供ECC签名验签,AES加解密,密钥安全存储,单调计数器,TLS,Secureboot,证书存储,线路加密传输等各类安全接口功能。相关的安全机制与密钥保护确保了整个系统具备一个安全的信任根。基本能把从脱机到联网的设备的安全属性提高到最高等级。适用于资源较为丰富,脱机或者可联网等应用场景。如物联网安全认证,高端固件保护,生产管理等。

参考资料:MOD208用于固件保护 https://www.modsemi.com/shows/11/12.html

MOD8ID加密芯片为物联网设备提供端到端的安全性 https://www.modsemi.com/shows/11/11.html

审核编辑:汤梓红

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

    关注

    2

    文章

    100

    浏览量

    23459
  • 防抄板
    +关注

    关注

    0

    文章

    7

    浏览量

    8205
  • 固件保护
    +关注

    关注

    0

    文章

    1

    浏览量

    1625
收藏 人收藏

    评论

    相关推荐

    应用方案:实时数据加密

    应用方案:实时数据加密 利用CPLD设计加密电路方便可行,能够较好地实现加密功能。AG32系列MCU产品,在芯片内部内置了CPLD逻辑,可以有效地满足各种数据采集需求,降低了客户的BO
    发表于 01-15 08:57

    SDW18B:电池组保护解决方案IC应用指南

    电子发烧友网站提供《SDW18B:电池组保护解决方案IC应用指南.pdf》资料免费下载
    发表于 01-02 11:44 0次下载

    SDW18B电池保护解决方案IC手册

    电子发烧友网站提供《SDW18B电池保护解决方案IC手册.pdf》资料免费下载
    发表于 01-02 11:41 0次下载

    SDW18B电池组保护解决方案IC应用

    电子发烧友网站提供《SDW18B电池组保护解决方案IC应用.pdf》资料免费下载
    发表于 12-29 11:17 0次下载

    SDW18B电池保护解决方案IC规格书

    电子发烧友网站提供《SDW18B电池保护解决方案IC规格书.pdf》资料免费下载
    发表于 12-26 10:03 0次下载

    STM32加密问题:怎样预置一段Flash读保护和清除读保护的程序

    STM32加密问题:怎样预置一段Flash读保护和清除读保护的程序 在STM32加密方案中,为了对芯片进行
    的头像 发表于 10-29 17:24 1335次阅读

    语音及固件下载标准方案演示

    语音固件
    WT-深圳唯创知音电子有限公司
    发布于 :2023年10月18日 10:13:35

    基于CPUID和AES算法的STM32固件升级方案

    基于单片机的CPUID进行固件加密
    发表于 10-07 06:27

    请问K210使用内部OTP区域存放KEY的固件加密方案是怎样做的?

    现在要用K210做产品,但是没有加密的话等于白干了。请问使用内部OTP区域存放KEY的固件加密方案是怎样做的?有资料吗?
    发表于 09-15 06:57

    ISP保护固件的刻录安全

    安全,这时候就会将传输的通讯进行加密,以保护其中的固件,这相当于建立一个安全通道,来进行ISP的传输与刻录的动作。 以新唐科技的M2351微控制器为例,其内建安全ISP功能,能够安全的刻录
    发表于 08-21 08:12

    物联网安全教程:加密固件分析

    点。然而并非所有设备固件中的文件系统都可以让我们轻易获取,对于已经被加密固件,我们在解密过程中也需要具备一些分析思路。很多大佬已经写过许多固件解密思路,这里我们站在巨人的肩膀上看世界
    的头像 发表于 08-19 11:28 2584次阅读
    物联网安全教程:<b class='flag-5'>加密</b><b class='flag-5'>固件</b>分析

    Secure In-System-Programming保护固件的刻录安全

    Secure In-System-Programming保护固件的刻录安全
    的头像 发表于 08-09 15:28 299次阅读
    Secure In-System-Programming<b class='flag-5'>保护</b><b class='flag-5'>固件</b>的刻录安全

    如何为BleuIO加密狗制作自己的固件

    电子发烧友网站提供《如何为BleuIO加密狗制作自己的固件.zip》资料免费下载
    发表于 06-14 09:56 0次下载
    如何为BleuIO<b class='flag-5'>加密</b>狗制作自己的<b class='flag-5'>固件</b>

    探究加密芯片:它的定义、作用以及提供的保护措施

    加密芯片是一种具有数据加密和安全保护功能的芯片,主要用于对敏感数据进行加密保护,防范黑客攻击和信息泄漏。随着信息技术的快速发展,信息安全问
    发表于 05-19 17:26

    固件升级的设计

    在一些项目交期比较急的情况下,可以先把基本功能做出来,加入固件升级的功能,后续即使发现重大BUG,也不用返厂更新固件,只需要把加密固件发给客
    的头像 发表于 05-17 16:17 816次阅读
    <b class='flag-5'>固件</b>升级的设计