王中王铁算盘四肖中特

賭俠生肖詩

家電維修論壇

下載方法|用單線程|避免多扣帖子規範|求助必讀|發帖建議積分策略|勳章介紹|新人必讀獲取金幣|推廣論壇|出售帖子基本禮節|致會員信|版規總則
禁涉政治|反對低俗|舉報專帖征集相片|留下足跡|推薦精華上傳附件|製作分卷|使用網盤禁發qq群|惡意灌水|純表情帖加入團隊|監督機製|安全上網

eMMC RPMB分區介紹

2018-7-23 19:39| 發布者: admin| 查看: 2777| 評論: 0

EMMC標準中,將內部的 Flash Memory 劃分為 4 類區域,最多可以支持 8 個硬件分區,如下圖所示:

一般情況下,Boot Area Partitions 和 RPMB Partition 的容量大小通常都為 4MB,部分芯片廠家也會提供配置的機會。General Purpose Partitions (GPP) 則在出廠時默認不被支持,即不存在這些分區,需要用戶主動使能,並配置其所要使用的 GPP 的容量大小,GPP 的數量可以為 1 - 4 個,各個 GPP 的容量大小可以不一樣。User Data Area (UDA) 的容量大小則為總容量大小減去其他分區所占用的容量。更多各個分區的細節將在後續小節中描述。

RPMB Partition
RPMB(Replay Protected Memory Block)Partition 是 eMMC 中的一個具有安全特性的分區。
eMMC 在寫入數據到 RPMB 時,會校驗數據的合法性,隻有指定的 Host 才能夠寫入,同時在讀數據時,也提供了簽名機製,保證 Host 讀取到的數據是 RPMB 內部數據,而不是攻擊者偽造的數據。

RPMB 在實際應用中,通常用於存儲一些有防止非法篡改需求的數據,例如手機上指紋支付相關的公鑰、序列號等。RPMB 可以對寫入操作進行鑒權,但是讀取並不需要鑒權,任何人都可以進行讀取的操作,因此存儲到 RPMB 的數據通常會進行加密後再存儲。

容量大小
兩個 RPMB Partition 的大小是由 Extended CSD register 的 BOOT_SIZE_MULT Field 決定,大小的計算公式如下:
Size = 128Kbytes x BOOT_SIZE_MULT
一般情況下,Boot Area Partition 的大小為 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 原理
使用 eMMC 的產品,在產線生產時,會為每一個產品生產一個唯一的 256 bits 的 Secure Key,燒寫到 eMMC 的 OTP 區域(隻能燒寫一次的區域),同時 Host 在安全區域中(例如:TEE)也會保留該 Secure Key。
在 eMMC 內部,還有一個RPMB Write Counter。RPMB 每進行一次合法的寫入操作時,Write Counter 就會自動加一 。
通過 Secure Key 和 Write Counter 的應用,RMPB 可以實現數據讀取和寫入的 Replay Protect。

RPMB 數據讀取
RPMB 數據讀取的流程如下:


1、Host 向 eMMC 發起讀 RPMB 的請求,同時生成一個 16 bytes 的隨機數,發送給 eMMC。
2、eMMC 將請求的數據從 RPMB 中讀出,並使用 Secure Key 通過 HMAC SHA-256 算法,計算讀取到的數據和接收到的隨機數拚接到一起後的簽名。然後,eMMC 將讀取到的數據、接收到的隨機數、計算得到的簽名一並發送給 Host。
3、Host 接收到 RPMB 的數據、隨機數以及簽名後,首先比較隨機數是否與自己發送的一致,如果一致,再用同樣的 Secure Key 通過 HMAC SHA-256 算法對數據和隨機數組合到一起進行簽名,如果簽名與 eMMC 發送的簽名是一致的,那麽就可以確定該數據是從 RPMB 中讀取到的正確數據,而不是攻擊者偽造的數據。
通過上述的讀取流程,可以保證 Host 正確的讀取到 RPMB 的數據。

RPMB 數據寫入
RPMB 數據寫入的流程如下:

1、Host 按照上麵的讀數據流程,讀取 RPMB 的 Write Counter。
2、Host 將需要寫入的數據和 Write Counter 拚接到一起並計算簽名,然後將數據、Write Counter 以及簽名一並發給 eMMC。
3、eMMC 接收到數據後,先對比 Write Counter 是否與當前的值相同,如果相同那麽再對數據和 Write Counter 的組合進行簽名,然後和 Host 發送過來的簽名進行比較,如果簽名相同則鑒權通過,將數據寫入到 RPMB 中。
通過上述的寫入流程,可以保證 RPMB 不會被非法篡改。

最新評論

手機版|APP|家電維修技術論壇 ( 鄂ICP備09003585號-1 )

GMT+8, 2019-2-22 22:01 , Processed in 0.084769 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

CopyRight © 家電維修論壇
電子郵箱:admin@homejdwx.com | 聯係 QQ:3081868839 | 官方網址:www.homejdwx.com

王中王鐵算盤四肖中特. All Rights Reserved


服務條款 | 隱私聲明

Wuhan Qiji Technology Co., Ltd.武漢奇跡科技有限公司版權所有


鄂ICP備09003585號-1鄂公網安備42010602000420號

返回頂部