0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SoC的數(shù)字簽名加解密過程

小杜的芯片驗(yàn)證日記 ? 來源:小杜的芯片驗(yàn)證日記 ? 2024-10-21 14:52 ? 次閱讀

Hi,我是小杜。工作中聽到負(fù)責(zé)固件的同事經(jīng)常提到固件的"驗(yàn)簽"過程,小杜便去了解了一下"驗(yàn)簽"。小杜經(jīng)驗(yàn)尚淺,如果錯(cuò)誤,還請批評指正。

SoC的數(shù)字簽名驗(yàn)證是指在系統(tǒng)啟動(dòng)或固件更新等關(guān)鍵時(shí)刻,對加載的固件或軟件進(jìn)行數(shù)字簽名的驗(yàn)證過程。通過驗(yàn)證數(shù)字簽名,系統(tǒng)可以確保所加載的固件或軟件是經(jīng)過授權(quán)和信任的,從而防止惡意代碼的執(zhí)行和系統(tǒng)啟動(dòng)過程的篡改。

數(shù)字簽名加解密過程

1. 數(shù)字簽名生成開發(fā)者使用私鑰對固件或軟件進(jìn)行簽名,并生成數(shù)字簽名文件。在這個(gè)過程中,使用私鑰對文件進(jìn)行加密,生成數(shù)字簽名。

例如一個(gè)新的固件版本"firmwawre_v2.0.bin",使用SHA-256算法,最終得到數(shù)字簽名"signature.bin"。????

firmware_v2.0.bin -> SHA-256 Hash -> 私鑰加密 -> 數(shù)字簽名

2. 數(shù)字簽名存儲:數(shù)字簽名文件通常與所簽名的固件或軟件一起存儲在固定位置,以便SoC在需要時(shí)進(jìn)行驗(yàn)證。

3. 公鑰獲取:SoC在設(shè)計(jì)和制造階段預(yù)先存儲了相應(yīng)的公鑰,用于數(shù)字簽名的驗(yàn)證。公鑰是由數(shù)字簽名的發(fā)行者提供的,用于解密數(shù)字簽名。

4. 簽名驗(yàn)證:SoC在啟動(dòng)或固件更新時(shí),加載所需的固件或軟件,并獲取其對應(yīng)的數(shù)字簽名文件。然后,使用相應(yīng)的公鑰對數(shù)字簽名進(jìn)行解密,并與加載的固件或軟件進(jìn)行比較。

例如用戶提取固件內(nèi)容"firmware_v2.0.bim"和簽名"signature.bin"。

公鑰解密 signature.bin -> 原始哈希值: abcdef123456...
SHA-256 Hash 計(jì)算 firmware_v2.0.bin -> 新哈希值: abcdef123456...
比較原始哈希值和新哈希值 -> 匹配

數(shù)字簽名驗(yàn)證成功(即數(shù)字簽名與加載的固件或軟件匹配),則系統(tǒng)繼續(xù)執(zhí)行加載的固件或軟件。

數(shù)字簽名驗(yàn)證失?。磾?shù)字簽名與加載的固件或軟件不匹配),則系統(tǒng)采取相應(yīng)的措施,如停滯或進(jìn)入安全模式,防止惡意代碼的執(zhí)行。

沒有數(shù)字簽名驗(yàn)證的可能后果

惡意固件加載:未經(jīng)驗(yàn)證的固件可能包含惡意代碼,攻擊者可以通過這些固件竊取數(shù)據(jù)、破壞系統(tǒng)或進(jìn)行其他惡意活動(dòng)。

篡改風(fēng)險(xiǎn):固件可能在傳輸過程中被篡改,導(dǎo)致設(shè)備運(yùn)行不可靠或出現(xiàn)安全漏洞。

版本控制問題:沒有數(shù)字簽名驗(yàn)證,難以確保設(shè)備運(yùn)行的是經(jīng)過認(rèn)證最新固件版本,可能導(dǎo)致兼容性和功能性問題。

系統(tǒng)崩潰或故障:不正確或惡意修改的固件可能導(dǎo)致設(shè)備無法正常工作,甚至徹底崩潰。

安全合規(guī)性問題:許多行業(yè)有嚴(yán)格的安全合規(guī)性要求,未進(jìn)行數(shù)字簽名驗(yàn)證的設(shè)備可能無法滿足這些要求,導(dǎo)致法律和監(jiān)管問題

這個(gè)機(jī)制和Github上的公鑰和私鑰加密類似,只是具體方式和應(yīng)用不同。SoC固件通過驗(yàn)證數(shù)字簽名,可以確保所加載的固件或軟件的可信性和完整性,防止系統(tǒng)受到未經(jīng)授權(quán)的修改或惡意代碼的執(zhí)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50179

    瀏覽量

    420639
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4087

    瀏覽量

    217738
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4719

    瀏覽量

    68209

原文標(biāo)題:【SoC】芯片固件(firmware)安全保障 - 數(shù)字簽名驗(yàn)證

文章出處:【微信號:小杜的芯片驗(yàn)證日記,微信公眾號:小杜的芯片驗(yàn)證日記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    驅(qū)動(dòng)程序數(shù)字簽名工具 (制作數(shù)字簽名工具)

    驅(qū)動(dòng)程序數(shù)字簽名工具1.3 build 1022中文綠色版(制作數(shù)字簽名工具) 新一代的驅(qū)動(dòng)程序數(shù)字簽名工具,完全圖形化,支持64位系統(tǒng)下的驅(qū)動(dòng)必須的交叉簽名。 
    發(fā)表于 10-24 13:35

    數(shù)字簽名方案的同底構(gòu)造攻擊

    數(shù)字簽名中,由于簽名因子或整個(gè)簽名方案設(shè)計(jì)的不合理,使得攻擊者很容易通過將簽名驗(yàn)證等式進(jìn)行變形,將其轉(zhuǎn)換成一個(gè)同底的等式,并通過指數(shù)的相等偽造出
    發(fā)表于 05-06 09:04

    什么是數(shù)字簽名?如何去實(shí)現(xiàn)呢

    數(shù)字簽名的簡單理解@TOC數(shù)字簽名的簡單理解!對于數(shù)字簽名,網(wǎng)上有很多大神解釋的很詳細(xì)了,我在這里解釋的方法更加簡單,更適用于初學(xué)者的入門理解,已經(jīng)盡可能的淺顯易懂,希望可以對大家有用!評論區(qū)歡迎
    發(fā)表于 01-07 07:45

    基于橢圓曲線的數(shù)字簽名和代理數(shù)字簽名

    提出一種改進(jìn)的基于橢圓曲線的數(shù)字簽名方案,對其安全性和復(fù)雜度進(jìn)行了分析。該方案能夠有效抵抗生日攻擊,提高數(shù)字簽名的安全性。給出橢圓曲線代理數(shù)字簽名方案及其安全
    發(fā)表于 04-09 09:59 ?22次下載

    基于FPGA的ECC數(shù)字簽名方案優(yōu)化設(shè)計(jì)

    ECC 數(shù)字簽名算法是目前的研究熱點(diǎn)之一。本文根據(jù)ECC 數(shù)字簽名算法的相關(guān)理論,使用Verilog 語言實(shí)現(xiàn)了其完整方案,并給予相應(yīng)的優(yōu)化。給出了關(guān)鍵部分的仿真結(jié)果。
    發(fā)表于 09-12 15:39 ?16次下載

    什么是數(shù)字簽名

    什么是數(shù)字簽名? 從根本上來說,數(shù)字簽名是一種確保電子文檔(電子郵件、電子表格、文本文件等)真實(shí)可靠的方法?!罢鎸?shí)可靠”的含義是:您知道文檔是誰創(chuàng)建的,
    發(fā)表于 08-05 11:02 ?5343次閱讀

    數(shù)字簽名,什么是數(shù)字簽名

    數(shù)字簽名,什么是數(shù)字簽名數(shù)字簽名技術(shù)出現(xiàn)之前,曾經(jīng)出現(xiàn)過一種“數(shù)字簽名”技術(shù),簡單地說就是在手寫板上
    發(fā)表于 04-03 16:00 ?6314次閱讀

    什么是數(shù)字簽名算法(DSA)

    什么是數(shù)字簽名算法(DSA) DSA(Digital Signature Algorithm,數(shù)字簽名算法,用作數(shù)字簽名標(biāo)準(zhǔn)的一部分),它是另一種公開密鑰算法,它不
    發(fā)表于 04-03 16:01 ?3506次閱讀

    什么是數(shù)字簽名標(biāo)準(zhǔn)(DSS)

    什么是數(shù)字簽名標(biāo)準(zhǔn)(DSS) DSS是Data Signature Standard的縮寫。包括數(shù)字簽名和驗(yàn)證兩部分。DSS的主要參數(shù)有: 1.素?cái)?shù)2511
    發(fā)表于 04-03 16:02 ?1.1w次閱讀

    JAVA教程之數(shù)字簽名

    JAVA教程之數(shù)字簽名,很好的JAVA的資料,快來下載吧。
    發(fā)表于 04-13 10:20 ?7次下載

    一種新型ELGamal數(shù)字簽名方案

    數(shù)字簽名在現(xiàn)代信息安全中發(fā)揮著不可替代的作用,EIGamal數(shù)字簽名是一種重要的離散對數(shù)數(shù)字簽名方案,但是原始EIGamal簽名方案存在不少安全和效率方面的問題。提出一種新型EIGam
    發(fā)表于 11-29 16:26 ?0次下載

    區(qū)塊鏈數(shù)字簽名的好處是什么

    數(shù)字簽名也就是我們的公鑰數(shù)字簽名和電子簽,類似于我們寫在紙上的簽名,但又有非常大的差別。最大的差別就在于它使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),適用于鑒別數(shù)字信息。因此,我們在網(wǎng)絡(luò)上就可以使用
    發(fā)表于 03-01 11:00 ?2660次閱讀
    區(qū)塊鏈<b class='flag-5'>數(shù)字簽名</b>的好處是什么

    數(shù)字簽名技術(shù)的應(yīng)用

    數(shù)字簽名(又稱公鑰數(shù)字簽名)是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。它是一種類似寫在紙上的普通的物理
    的頭像 發(fā)表于 08-20 11:31 ?7708次閱讀
    <b class='flag-5'>數(shù)字簽名</b>技術(shù)的應(yīng)用

    基于環(huán)簽名和短簽名的可凈化數(shù)字簽名

    在現(xiàn)有的能夠達(dá)到完全保密性要求的可凈化數(shù)字簽名方案中,基于群簽名的方案因?yàn)樾瘦^低而不夠?qū)嵱?,而基于零知識證眀的方案雖然效率較高但安全性較低。因此,文中提岀了一種基于環(huán)簽名和短簽名的可
    發(fā)表于 06-17 11:32 ?11次下載

    淺談非對稱算法與數(shù)字簽名

    數(shù)字簽名和數(shù)據(jù)驗(yàn)簽,你了解有多少?
    的頭像 發(fā)表于 09-03 14:53 ?2397次閱讀