可信平臺模塊(TPM)概念介紹
1
RPMB(Replay Protected Memory Block)Partition 是 eMMC 中的一個具有安全特性的分區(qū)。
eMMC 在寫入數(shù)據(jù)到 RPMB 時,會校驗數(shù)據(jù)的合法性,只有指定的 Host 才能夠?qū)懭耄瑫r在讀數(shù)據(jù)時,也提供了簽名機制,保證 Host 讀取到的數(shù)據(jù)是 RPMB 內(nèi)部數(shù)據(jù),而不是攻擊者偽造的數(shù)據(jù)。
RPMB 在實際應(yīng)用中,通常用于存儲一些有防止非法篡改需求的數(shù)據(jù),例如手機上指紋支付相關(guān)的公鑰、序列號等。RPMB 可以對寫入操作進行鑒權(quán),但是讀取并不需要鑒權(quán),任何人都可以進行讀取的操作,因此存儲到 RPMB 的數(shù)據(jù)通常會進行加密后再存儲。
容量大小
2
兩個RPMB Partition 的大小是由Extended CSD register 的 BOOT_SIZE_MULT Field 決定,大小的計算公式如下:
Size = 128Kbytes x BOOT_SIZE_MULT
一般情況下,Boot Area Partition 的大小是128KB的倍數(shù),EMMC中默認為 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)時,會為每一個產(chǎn)品生產(chǎn)一個唯一的 256 bits 的 Secure Key,燒寫到 eMMC 的 OTP 區(qū)域(只能燒寫一次的區(qū)域),同時 Host 在安全區(qū)域中(例如:TEE)也會保留該 Secure Key。
在 eMMC 內(nèi)部,還有一個RPMB Write Counter。RPMB 每進行一次合法的寫入操作時,Write Counter 就會自動加一 。
通過 Secure Key 和 Write Counter 的應(yīng)用,RMPB 可以實現(xiàn)數(shù)據(jù)讀取和寫入的 Replay Protect。
RPMB 數(shù)據(jù)讀取
4
1、 Host 向 eMMC 發(fā)起讀 RPMB 的請求,同時生成一個 16 bytes 的隨機數(shù),發(fā)送給 eMMC。
2、 eMMC 將請求的數(shù)據(jù)從 RPMB 中讀出,并使用 Secure Key 通過 HMAC SHA-256 算法,計算讀取到的數(shù)據(jù)和接收到的隨機數(shù)拼接到一起后的簽名。然后,eMMC 將讀取到的數(shù)據(jù)、接收到的隨機數(shù)、計算得到的簽名一并發(fā)送給 Host。
3、 Host 接收到 RPMB 的數(shù)據(jù)、隨機數(shù)以及簽名后,首先比較隨機數(shù)是否與自己發(fā)送的一致,如果一致,再用同樣的 Secure Key 通過 HMAC SHA-256 算法對數(shù)據(jù)和隨機數(shù)組合到一起進行簽名,如果簽名與 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 拼接到一起并計算簽名,然后將數(shù)據(jù)、Write Counter 以及簽名一并發(fā)給 eMMC。
3、eMMC 接收到數(shù)據(jù)后,先對比 Write Counter 是否與當(dāng)前的值相同,如果相同那么再對數(shù)據(jù)和 Write Counter 的組合進行簽名,然后和 Host 發(fā)送過來的簽名進行比較,如果簽名相同則鑒權(quán)通過,將數(shù)據(jù)寫入到 RPMB 中。
通過上述的寫入流程,可以保證 RPMB 不會被非法篡改。
注意:UFS中RPMB也采用了和EMMC相同的原理。
-
Host
+關(guān)注
關(guān)注
0文章
32瀏覽量
34626 -
emmc
+關(guān)注
關(guān)注
7文章
216瀏覽量
52743 -
Partition
+關(guān)注
關(guān)注
0文章
4瀏覽量
7788
原文標(biāo)題:RPMB原理介紹
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論