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

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

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

新技能GET!把你的程序密文存儲(chǔ)在芯片內(nèi)!

UtFs_Zlgmcu7890 ? 來源:楊湘祁 ? 作者:電子發(fā)燒友 ? 2019-03-08 14:27 ? 次閱讀

一般來說,存儲(chǔ)在MCU的程序二進(jìn)制代碼是非經(jīng)加密的,如果讀出來經(jīng)反匯編,是可以閱讀的。如果有一個(gè)MCU能將片內(nèi)存儲(chǔ)的二進(jìn)制程序代碼或數(shù)據(jù)以密文存儲(chǔ),邊解密邊運(yùn)行,外部不可見,您是不是很驚喜?

PRINCE是什么?

PRINCE看做是Flash控制器上面的加密引擎,一旦使能,PRINCE就會(huì)過濾Flash讀寫路徑的數(shù)據(jù),并進(jìn)行實(shí)時(shí)加解密。

LPC55S69內(nèi)部含有640KB Flash空間,PRINCE將其分成3個(gè)部分,分別是256KB、256KB、128KB。每個(gè)部分加密用的鑰匙是單獨(dú)提供,這可以保證即使一個(gè)部分的鑰匙被破解了,其他部分依舊安全。

在每個(gè)部分里面,PRINCE 又繼續(xù)細(xì)分成更小的空間,每個(gè)空間僅僅8KB大小。這樣可以讓客戶使用起來更靈活,可以讓第n個(gè)8KB空間加密,而第n+1個(gè)8KB空間不加密,靈活控制加密區(qū)域。

PRINCE的加密算法和秘鑰

PRINCE既然是一個(gè)數(shù)據(jù)加密引擎,那么它就有加密算法和秘鑰。

PRINCE采用一種對(duì)稱加密算法,加密塊是64位,秘鑰是128位。采用CTR模式,需要初始化向量和秘鑰。

與另一個(gè)對(duì)稱加密AES加密對(duì)比,PRINCE最大的優(yōu)勢(shì)是延時(shí)極小,不需要額外的RAM空間。不用將數(shù)據(jù)搬到RAM中加密或者解密完再搬回來。這將給用戶帶來很大的方便性。

值得關(guān)注的是,PRINCE的秘鑰是通過片內(nèi)的PUF模塊來產(chǎn)生的。秘鑰直接通過硬件總線傳輸,軟件無法訪問。掉電之后秘鑰自動(dòng)消失,使用時(shí)再操作PUF產(chǎn)生。這種方式下,攻擊者很難找到秘鑰,更難解密Flash中的密文,從而讓數(shù)據(jù)更加安全。

PRINCE啟動(dòng)的四個(gè)步驟

啟用PRINCE功能大致有四個(gè)步驟:

設(shè)置PRINCE加解密的大區(qū)域和子區(qū)域;

初始化PUF,讓PUF產(chǎn)生秘鑰和初始化向量給到PRINCE;

使能PRINCE;

編程或者讀寫Flash。

PRINCE對(duì)程序區(qū)加密的示例。將一個(gè)NXP Logo的圖片數(shù)據(jù)放入程序區(qū),在顯示屏上顯示數(shù)據(jù)和圖片如下:

加密之后的數(shù)據(jù)和圖片,就是一堆亂碼了,如下所示:

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

    關(guān)注

    456

    文章

    51062

    瀏覽量

    425806
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3794

    瀏覽量

    81254

原文標(biāo)題:新技能!把你的程序密文存儲(chǔ)在芯片內(nèi)!

文章出處:【微信號(hào):Zlgmcu7890,微信公眾號(hào):周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    選購真空共晶爐也有門道,快來get新技能!

    電子封裝領(lǐng)域,真空共晶爐作為一種重要的焊接設(shè)備,其性能直接影響到焊接質(zhì)量和生產(chǎn)效率。然而,面對(duì)市場(chǎng)上琳瑯滿目的真空共晶爐產(chǎn)品,如何做出明智的選擇成為了許多企業(yè)面臨的難題。本文將從真空度、漏率、加熱板材質(zhì)及冷卻方式等關(guān)鍵要素出發(fā),為您詳細(xì)闡述真空共晶爐的選擇指南。
    的頭像 發(fā)表于 01-09 11:25 ?97次閱讀
    選購真空共晶爐也有門道,快來<b class='flag-5'>get</b><b class='flag-5'>新技能</b>!

    將電腦硬盤變成云存儲(chǔ),怎么做到多余電腦硬盤變成云存儲(chǔ)

    要將電腦的額外硬盤配置為云存儲(chǔ),可以利用多種方法來實(shí)現(xiàn)本地?cái)?shù)據(jù)的云端同步、訪問和共享。這種做法可以將本地硬盤變成云存儲(chǔ)的一部分,方便
    的頭像 發(fā)表于 01-06 13:09 ?135次閱讀
    將電腦硬盤變成云<b class='flag-5'>存儲(chǔ)</b>,怎么做到<b class='flag-5'>把</b>多余電腦硬盤變成云<b class='flag-5'>存儲(chǔ)</b>

    電腦作為云存儲(chǔ),如何電腦作為云存儲(chǔ)?

    。今天小編要為大家講解如何電腦作為云存儲(chǔ)。 ? ?將電腦作為云存儲(chǔ)服務(wù)器是一個(gè)相對(duì)復(fù)雜的過程,但通過正確的步驟和注意事項(xiàng),可以輕松實(shí)現(xiàn)這一目標(biāo)。以下是詳細(xì)的步驟和建議: ? ?選擇
    的頭像 發(fā)表于 12-24 13:36 ?172次閱讀
    <b class='flag-5'>把</b>電腦作為云<b class='flag-5'>存儲(chǔ)</b>,如何<b class='flag-5'>把</b>電腦作為云<b class='flag-5'>存儲(chǔ)</b>?

    rsync 的免傳輸(同步)文件

    要實(shí)現(xiàn) rsync 的免傳輸(同步)文件,需要設(shè)置 SSH 免登錄。這樣,rsync 就可以不需要輸入密碼的情況下通過 SSH 連接到遠(yuǎn)程服務(wù)器并傳輸文件。以下是設(shè)置 SSH
    的頭像 發(fā)表于 12-23 16:26 ?241次閱讀

    淺談加密芯片的一種破解方法和對(duì)應(yīng)加密方案改進(jìn)設(shè)計(jì)

    目前市面上很多防抄板加密方案都是基于加密芯片的安全存儲(chǔ)文通訊來實(shí)現(xiàn)對(duì)主MCU方案的保護(hù)。比如主MCU用到的一些參數(shù)、配置信息等存儲(chǔ)
    發(fā)表于 12-20 15:31

    淺談加密芯片的一種破解方法和加密方案改進(jìn)設(shè)計(jì)

    目前市面上很多防抄板加密方案都是基于加密芯片的安全存儲(chǔ)文通訊來實(shí)現(xiàn)對(duì)主MCU方案的保護(hù)。比如主MCU用到的一些參數(shù)、配置信息等存儲(chǔ)
    發(fā)表于 12-20 15:10

    劃片機(jī)存儲(chǔ)芯片切割中的應(yīng)用優(yōu)勢(shì)

    劃片機(jī)存儲(chǔ)芯片切割領(lǐng)域扮演著至關(guān)重要的角色,它利用先進(jìn)的切割技術(shù),確保存儲(chǔ)芯片在切割過程中保持高精度和高穩(wěn)定性,以滿足日益增長的電子產(chǎn)品需求。以下是關(guān)于劃片機(jī)
    的頭像 發(fā)表于 12-11 16:46 ?286次閱讀
    劃片機(jī)<b class='flag-5'>在</b><b class='flag-5'>存儲(chǔ)芯片</b>切割中的應(yīng)用優(yōu)勢(shì)

    鴻蒙數(shù)據(jù)防泄漏 DLP Data Loss Prevention Kit簡(jiǎn)介

    對(duì)機(jī)密文件進(jìn)行權(quán)限配置,允許擁有只讀、編輯、擁有者權(quán)限,隨后機(jī)密文件會(huì)通過文存儲(chǔ),支持DLP機(jī)制的設(shè)備上可以通過端云協(xié)調(diào)進(jìn)行認(rèn)證授權(quán),獲取對(duì)數(shù)據(jù)的訪問和修改的能力。
    的頭像 發(fā)表于 07-03 20:33 ?545次閱讀
    鴻蒙數(shù)據(jù)防泄漏 DLP Data Loss Prevention Kit簡(jiǎn)介

    定時(shí)器內(nèi)使用浮點(diǎn)運(yùn)算的PID控制算法,程序就會(huì)重啟,為什么?

    定時(shí)器內(nèi)使用浮點(diǎn)運(yùn)算的PID控制算法,程序就會(huì)重啟,浮點(diǎn)數(shù)換為整形數(shù)據(jù)就不會(huì)。
    發(fā)表于 06-05 07:24

    內(nèi)計(jì)算芯片的基石-存儲(chǔ)介質(zhì)匯總

    作為新的計(jì)算架構(gòu),存內(nèi)計(jì)算(Computing In Memory,CIM)被認(rèn)為是具有潛力的革命性技術(shù)。重點(diǎn)是將存儲(chǔ)與計(jì)算融合,有效克服馮·諾依曼架構(gòu)瓶頸,并結(jié)合后摩爾時(shí)代先進(jìn)封裝、新型存儲(chǔ)器件等
    的頭像 發(fā)表于 05-16 15:41 ?2032次閱讀
    存<b class='flag-5'>內(nèi)</b>計(jì)算<b class='flag-5'>芯片</b>的基石-<b class='flag-5'>存儲(chǔ)</b>介質(zhì)匯總

    內(nèi)計(jì)算芯片研究進(jìn)展及應(yīng)用

    NOR Flash存內(nèi)計(jì)算芯片當(dāng)中,向量-矩陣乘法運(yùn)算基于電流/電壓的跨導(dǎo)與基爾霍夫定律進(jìn)行物理實(shí)現(xiàn),如圖7(a)所示。因此,其核心是設(shè)計(jì)NOR Flash單元陣列以滿足大規(guī)模高能效向量-矩陣乘法
    的頭像 發(fā)表于 05-16 15:30 ?1392次閱讀
    存<b class='flag-5'>內(nèi)</b>計(jì)算<b class='flag-5'>芯片</b>研究進(jìn)展及應(yīng)用

    使用STM32F407芯片時(shí)堆棧分配到了CCM存儲(chǔ)區(qū)后出現(xiàn)不能Debug了,為什么?

    最近在使用STM32F407芯片時(shí) 堆棧分配到了CCM存儲(chǔ)區(qū)后出現(xiàn)不能Debug了,全速運(yùn)行沒有問題,單步運(yùn)行看的時(shí)候每次只要從函數(shù)返回的時(shí)候就會(huì)進(jìn)入HardFault_Handler。如果
    發(fā)表于 05-11 09:03

    存儲(chǔ)芯片是什么樣存儲(chǔ)信息的

    存儲(chǔ)信息時(shí),對(duì)于動(dòng)態(tài)存儲(chǔ)器,行地址首先將RAS鎖存于芯片中,然后列地址將CAS鎖存于芯片中,當(dāng)WE有效時(shí),寫入數(shù)據(jù)則被
    的頭像 發(fā)表于 03-29 15:32 ?3521次閱讀
    <b class='flag-5'>存儲(chǔ)芯片</b>是什么樣<b class='flag-5'>存儲(chǔ)</b>信息的

    CysecureTools如何直接訪問外部存儲(chǔ)設(shè)備內(nèi)的密鑰呢?

    顯然不符合安全標(biāo)準(zhǔn)。 那么,如標(biāo)題所示,CysecureTools應(yīng)該如何直接訪問外部存儲(chǔ)設(shè)備內(nèi)的密鑰呢?\"
    發(fā)表于 01-31 08:08

    汽車嵌入式軟件的技能要求

    如果希望開始汽車嵌入式軟件領(lǐng)域的職業(yè)生涯,必須掌握符合行業(yè)需求的全面技能。下面是一個(gè)路線圖,列出了需要學(xué)習(xí)的關(guān)鍵技術(shù)和技能。
    的頭像 發(fā)表于 01-23 11:09 ?1833次閱讀
    汽車嵌入式軟件的<b class='flag-5'>技能</b>要求