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

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

3天内不再提示

SoC的数字签名加解密过程

小杜的芯片验证日记 来源:小杜的芯片验证日记 2024-10-21 14:52 次阅读

Hi,我是小杜。工作中听到负责固件的同事经常提到固件的"验签"过程,小杜便去了解了一下"验签"。小杜经验尚浅,如果错误,还请批评指正。

SoC的数字签名验证是指在系统启动或固件更新等关键时刻,对加载的固件或软件进行数字签名的验证过程。通过验证数字签名,系统可以确保所加载的固件或软件是经过授权和信任的,从而防止恶意代码的执行和系统启动过程的篡改。

数字签名加解密过程

1. 数字签名生成开发者使用私钥对固件或软件进行签名,并生成数字签名文件。在这个过程中,使用私钥对文件进行加密,生成数字签名。

例如一个新的固件版本"firmwawre_v2.0.bin",使用SHA-256算法,最终得到数字签名"signature.bin"。‍‍‍‍

firmware_v2.0.bin -> SHA-256 Hash -> 私钥加密 -> 数字签名

2. 数字签名存储:数字签名文件通常与所签名的固件或软件一起存储在固定位置,以便SoC在需要时进行验证。

3. 公钥获取:SoC在设计和制造阶段预先存储了相应的公钥,用于数字签名的验证。公钥是由数字签名的发行者提供的,用于解密数字签名。

4. 签名验证:SoC在启动或固件更新时,加载所需的固件或软件,并获取其对应的数字签名文件。然后,使用相应的公钥对数字签名进行解密,并与加载的固件或软件进行比较。

例如用户提取固件内容"firmware_v2.0.bim"和签名"signature.bin"。

公钥解密 signature.bin -> 原始哈希值: abcdef123456...
SHA-256 Hash 计算 firmware_v2.0.bin -> 新哈希值: abcdef123456...
比较原始哈希值和新哈希值 -> 匹配

数字签名验证成功(即数字签名与加载的固件或软件匹配),则系统继续执行加载的固件或软件。

数字签名验证失败(即数字签名与加载的固件或软件不匹配),则系统采取相应的措施,如停滞或进入安全模式,防止恶意代码的执行。

没有数字签名验证的可能后果

恶意固件加载:未经验证的固件可能包含恶意代码,攻击者可以通过这些固件窃取数据、破坏系统或进行其他恶意活动。

篡改风险:固件可能在传输过程中被篡改,导致设备运行不可靠或出现安全漏洞。

版本控制问题:没有数字签名验证,难以确保设备运行的是经过认证最新固件版本,可能导致兼容性和功能性问题。

系统崩溃或故障:不正确或恶意修改的固件可能导致设备无法正常工作,甚至彻底崩溃。

安全合规性问题:许多行业有严格的安全合规性要求,未进行数字签名验证的设备可能无法满足这些要求,导致法律和监管问题

这个机制和Github上的公钥和私钥加密类似,只是具体方式和应用不同。SoC固件通过验证数字签名,可以确保所加载的固件或软件的可信性和完整性,防止系统受到未经授权的修改或恶意代码的执行。

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

    关注

    455

    文章

    50714

    浏览量

    423136
  • soc
    soc
    +关注

    关注

    38

    文章

    4161

    浏览量

    218160
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68521

原文标题:【SoC】芯片固件(firmware)安全保障 - 数字签名验证

文章出处:【微信号:小杜的芯片验证日记,微信公众号:小杜的芯片验证日记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    驱动程序数字签名工具 (制作数字签名工具)

    驱动程序数字签名工具1.3 build 1022中文绿色版(制作数字签名工具) 新一代的驱动程序数字签名工具,完全图形化,支持64位系统下的驱动必须的交叉签名。 
    发表于 10-24 13:35

    数字签名方案的同底构造攻击

    数字签名中,由于签名因子或整个签名方案设计的不合理,使得攻击者很容易通过将签名验证等式进行变形,将其转换成一个同底的等式,并通过指数的相等伪造出
    发表于 05-06 09:04

    什么是数字签名?如何去实现呢

    数字签名的简单理解@TOC数字签名的简单理解!对于数字签名,网上有很多大神解释的很详细了,我在这里解释的方法更加简单,更适用于初学者的入门理解,已经尽可能的浅显易懂,希望可以对大家有用!评论区欢迎
    发表于 01-07 07:45

    基于椭圆曲线的数字签名和代理数字签名

    提出一种改进的基于椭圆曲线的数字签名方案,对其安全性和复杂度进行了分析。该方案能够有效抵抗生日攻击,提高数字签名的安全性。给出椭圆曲线代理数字签名方案及其安全
    发表于 04-09 09:59 22次下载

    基于FPGA的ECC数字签名方案优化设计

    ECC 数字签名算法是目前的研究热点之一。本文根据ECC 数字签名算法的相关理论,使用Verilog 语言实现了其完整方案,并给予相应的优化。给出了关键部分的仿真结果。
    发表于 09-12 15:39 16次下载

    什么是数字签名

    什么是数字签名? 从根本上来说,数字签名是一种确保电子文档(电子邮件、电子表格、文本文件等)真实可靠的方法。“真实可靠”的含义是:您知道文档是谁创建的,
    发表于 08-05 11:02 5357次阅读

    数字签名,什么是数字签名

    数字签名,什么是数字签名数字签名技术出现之前,曾经出现过一种“数字签名”技术,简单地说就是在手写板上
    发表于 04-03 16:00 6320次阅读

    什么是数字签名算法(DSA)

    什么是数字签名算法(DSA) DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不
    发表于 04-03 16:01 3531次阅读

    什么是数字签名标准(DSS)

    什么是数字签名标准(DSS) DSS是Data Signature Standard的缩写。包括数字签名和验证两部分。DSS的主要参数有: 1.素数2511
    发表于 04-03 16:02 1.2w次阅读

    JAVA教程之数字签名

    JAVA教程之数字签名,很好的JAVA的资料,快来下载吧。
    发表于 04-13 10:20 7次下载

    一种新型ELGamal数字签名方案

    数字签名在现代信息安全中发挥着不可替代的作用,EIGamal数字签名是一种重要的离散对数数字签名方案,但是原始EIGamal签名方案存在不少安全和效率方面的问题。提出一种新型EIGam
    发表于 11-29 16:26 0次下载

    区块链数字签名的好处是什么

    数字签名也就是我们的公钥数字签名和电子签,类似于我们写在纸上的签名,但又有非常大的差别。最大的差别就在于它使用了公钥加密领域的技术实现,适用于鉴别数字信息。因此,我们在网络上就可以使用
    发表于 03-01 11:00 2779次阅读
    区块链<b class='flag-5'>数字签名</b>的好处是什么

    数字签名技术的应用

    数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理
    的头像 发表于 08-20 11:31 7851次阅读
    <b class='flag-5'>数字签名</b>技术的应用

    基于环签名和短签名的可净化数字签名

    在现有的能够达到完全保密性要求的可净化数字签名方案中,基于群签名的方案因为效率较低而不够实用,而基于零知识证眀的方案虽然效率较高但安全性较低。因此,文中提岀了一种基于环签名和短签名的可
    发表于 06-17 11:32 11次下载

    浅谈非对称算法与数字签名

    数字签名和数据验签,你了解有多少?
    的头像 发表于 09-03 14:53 2466次阅读