0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

RPMB原理介紹

安芯教育科技 ? 來源:安芯教育科技 ? 2024-12-17 13:49 ? 次閱讀

可信平臺模塊(TPM)概念介紹

1

RPMB(Replay Protected Memory Block)Partition 是 eMMC 中的一個(gè)具有安全特性的分區(qū)。

eMMC 在寫入數(shù)據(jù)到 RPMB 時(shí),會校驗(yàn)數(shù)據(jù)的合法性,只有指定的 Host 才能夠?qū)懭耄瑫r(shí)在讀數(shù)據(jù)時(shí),也提供了簽名機(jī)制,保證 Host 讀取到的數(shù)據(jù)是 RPMB 內(nèi)部數(shù)據(jù),而不是攻擊者偽造的數(shù)據(jù)。

RPMB 在實(shí)際應(yīng)用中,通常用于存儲一些有防止非法篡改需求的數(shù)據(jù),例如手機(jī)上指紋支付相關(guān)的公鑰、序列號等。RPMB 可以對寫入操作進(jìn)行鑒權(quán),但是讀取并不需要鑒權(quán),任何人都可以進(jìn)行讀取的操作,因此存儲到 RPMB 的數(shù)據(jù)通常會進(jìn)行加密后再存儲。

容量大小

2

兩個(gè)RPMB Partition 的大小是由Extended CSD register 的 BOOT_SIZE_MULT Field 決定,大小的計(jì)算公式如下:

Size = 128Kbytes x BOOT_SIZE_MULT

一般情況下,Boot Area Partition 的大小是128KB的倍數(shù),EMMC中默認(rèn)為 4 MB,即 RPMB_SIZE_MULT 為 32,部分芯片廠家會提供改寫 RPMB_SIZE_MULT 的功能來改變 RPMB Partition 的容量大小。RPMB_SIZE_MULT 最大可以為 128,即 Boot Area Partition 的最大容量大小可以為 128 x 128 KB = 16384 KB = 16 MB。

Replay Protect 原理

3

使用 eMMC 的產(chǎn)品,在產(chǎn)線生產(chǎn)時(shí),會為每一個(gè)產(chǎn)品生產(chǎn)一個(gè)唯一的 256 bits 的 Secure Key,燒寫到 eMMC 的 OTP 區(qū)域(只能燒寫一次的區(qū)域),同時(shí) Host 在安全區(qū)域中(例如:TEE)也會保留該 Secure Key。

在 eMMC 內(nèi)部,還有一個(gè)RPMB Write Counter。RPMB 每進(jìn)行一次合法的寫入操作時(shí),Write Counter 就會自動加一 。

通過 Secure Key 和 Write Counter 的應(yīng)用,RMPB 可以實(shí)現(xiàn)數(shù)據(jù)讀取和寫入的 Replay Protect。

RPMB 數(shù)據(jù)讀取

4

1、 Host 向 eMMC 發(fā)起讀 RPMB 的請求,同時(shí)生成一個(gè) 16 bytes 的隨機(jī)數(shù),發(fā)送給 eMMC。

2、 eMMC 將請求的數(shù)據(jù)從 RPMB 中讀出,并使用 Secure Key 通過 HMAC SHA-256 算法,計(jì)算讀取到的數(shù)據(jù)和接收到的隨機(jī)數(shù)拼接到一起后的簽名。然后,eMMC 將讀取到的數(shù)據(jù)、接收到的隨機(jī)數(shù)、計(jì)算得到的簽名一并發(fā)送給 Host。

3、 Host 接收到 RPMB 的數(shù)據(jù)、隨機(jī)數(shù)以及簽名后,首先比較隨機(jī)數(shù)是否與自己發(fā)送的一致,如果一致,再用同樣的 Secure Key 通過 HMAC SHA-256 算法對數(shù)據(jù)和隨機(jī)數(shù)組合到一起進(jìn)行簽名,如果簽名與 eMMC 發(fā)送的簽名是一致的,那么就可以確定該數(shù)據(jù)是從 RPMB 中讀取到的正確數(shù)據(jù),而不是攻擊者偽造的數(shù)據(jù)。

通過上述的讀取流程,可以保證 Host 正確的讀取到 RPMB 的數(shù)據(jù)。

RPMB 數(shù)據(jù)寫入

5

1、Host 按照上面的讀數(shù)據(jù)流程,讀取 RPMB 的 Write Counter(通過Write Counter來識別數(shù)據(jù)的有效性)。

2、 Host 將需要寫入的數(shù)據(jù)和 Write Counter 拼接到一起并計(jì)算簽名,然后將數(shù)據(jù)、Write Counter 以及簽名一并發(fā)給 eMMC。

3、eMMC 接收到數(shù)據(jù)后,先對比 Write Counter 是否與當(dāng)前的值相同,如果相同那么再對數(shù)據(jù)和 Write Counter 的組合進(jìn)行簽名,然后和 Host 發(fā)送過來的簽名進(jìn)行比較,如果簽名相同則鑒權(quán)通過,將數(shù)據(jù)寫入到 RPMB 中。

通過上述的寫入流程,可以保證 RPMB 不會被非法篡改。

注意:UFS中RPMB也采用了和EMMC相同的原理。

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

    關(guān)注

    0

    文章

    32

    瀏覽量

    34834
  • emmc
    +關(guān)注

    關(guān)注

    7

    文章

    223

    瀏覽量

    53386
  • Partition
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    7849

原文標(biāo)題:RPMB原理介紹

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    【「AI Agent應(yīng)用與項(xiàng)目實(shí)戰(zhàn)」閱讀體驗(yàn)】書籍介紹

    結(jié)構(gòu)如下: 可以看到整體的內(nèi)容是非常豐富的,對于一本89元的書來說,除第一章是總體介紹外,包含10個(gè)應(yīng)用案例,可以說是超值了,平均一個(gè)案例還不到9塊錢,都不夠一杯奶茶,所以還有什么理由不掌握呢
    發(fā)表于 03-05 20:40

    Meshtastic APP使用介紹

    meshtastic APP使用介紹
    的頭像 發(fā)表于 03-05 09:59 ?220次閱讀
    Meshtastic APP使用<b class='flag-5'>介紹</b>

    meshtastic的應(yīng)用場景介紹

    meshtastic的應(yīng)用場景介紹
    的頭像 發(fā)表于 02-21 12:02 ?257次閱讀
    meshtastic的應(yīng)用場景<b class='flag-5'>介紹</b>

    誰能詳細(xì)介紹一下track-and-hold

    在運(yùn)放和ADC芯片的數(shù)據(jù)手冊中經(jīng)??吹絫rack-and-hold,誰能詳細(xì)介紹一下track-and-hold?
    發(fā)表于 01-20 09:10

    RK3568內(nèi)置MCU開發(fā)介紹之二

    本文重點(diǎn)介紹RK3568內(nèi)置的MCU與AP之間的通信功能,首先介紹RPMsg的框架,然后介紹MCU端RPMSG的構(gòu)建方法,最后介紹AP端的RPMSG的配置方法,并進(jìn)行MCU和AP之間通
    的頭像 發(fā)表于 12-16 09:09 ?847次閱讀
    RK3568內(nèi)置MCU開發(fā)<b class='flag-5'>介紹</b>之二

    2K0300先鋒派Openharmony開發(fā)介紹

    *附件:2K0300先鋒派Openharmony開發(fā)介紹-241114.pdf
    發(fā)表于 11-17 21:36

    GaN應(yīng)用介紹

    電子發(fā)燒友網(wǎng)站提供《GaN應(yīng)用介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 09:55 ?0次下載
    GaN應(yīng)用<b class='flag-5'>介紹</b>

    技術(shù)分享 柵極驅(qū)動器及其應(yīng)用介紹

    一、柵極驅(qū)動器介紹 1)為什么需要柵極驅(qū)動器? 2)功率器件開關(guān)過程介紹 3)三種常見驅(qū)動芯片介紹 二、隔離方案介紹 1)為什么需要隔離驅(qū)動 2)主流隔離方案
    的頭像 發(fā)表于 09-10 09:26 ?691次閱讀
    技術(shù)分享 柵極驅(qū)動器及其應(yīng)用<b class='flag-5'>介紹</b>

    shell基本介紹及常用命令之shell介紹

    是“$”,在命令提示符后邊輸入命令即可和系統(tǒng)進(jìn)行交互操作。Ubuntu默認(rèn)的Shell是Bash(Bourne Again Shell)。Linux命令有很多,功能比較強(qiáng)大,下節(jié)我們簡單介紹一些常用
    發(fā)表于 08-15 09:28

    信號的反射與端接介紹

    電子發(fā)燒友網(wǎng)站提供《信號的反射與端接介紹.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:08 ?0次下載

    內(nèi)核程序漏洞介紹

    電子發(fā)燒友網(wǎng)站提供《內(nèi)核程序漏洞介紹.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 09:38 ?0次下載

    rk3568在.config中配置了CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION =y,parameter.txt卻沒有security分區(qū)

    security partition Authentication key not yet programmed E/TC:? 0 tee_rpmb_verify_key_sync_counter:1019
    發(fā)表于 07-29 12:14

    磁環(huán)介紹與應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《磁環(huán)介紹與應(yīng)用.docx》資料免費(fèi)下載
    發(fā)表于 06-17 14:10 ?4次下載

    步進(jìn)電機(jī)的簡單介紹

    步進(jìn)電機(jī)的命名,參數(shù),轉(zhuǎn)速簡單介紹
    的頭像 發(fā)表于 04-17 21:40 ?1534次閱讀

    zedboard原理圖介紹

    電子發(fā)燒友網(wǎng)站提供《zedboard原理圖介紹.pdf》資料免費(fèi)下載
    發(fā)表于 04-07 09:10 ?11次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品