0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RPMB原理介绍

安芯教育科技 来源:安芯教育科技 2024-12-17 13:49 次阅读

可信平台模块(TPM)概念介绍

1

RPMB(Replay Protected Memory Block)Partition 是 eMMC 中的一个具有安全特性的分区。

eMMC 在写入数据到 RPMB 时,会校验数据的合法性,只有指定的 Host 才能够写入,同时在读数据时,也提供了签名机制,保证 Host 读取到的数据是 RPMB 内部数据,而不是攻击者伪造的数据。

RPMB 在实际应用中,通常用于存储一些有防止非法篡改需求的数据,例如手机上指纹支付相关的公钥、序列号等。RPMB 可以对写入操作进行鉴权,但是读取并不需要鉴权,任何人都可以进行读取的操作,因此存储到 RPMB 的数据通常会进行加密后再存储。

容量大小

2

两个RPMB Partition 的大小是由Extended CSD register 的 BOOT_SIZE_MULT Field 决定,大小的计算公式如下:

Size = 128Kbytes x BOOT_SIZE_MULT

一般情况下,Boot Area Partition 的大小是128KB的倍数,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 的产品,在产线生产时,会为每一个产品生产一个唯一的 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 数据读取

4

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 数据写入

5

1、Host 按照上面的读数据流程,读取 RPMB 的 Write Counter(通过Write Counter来识别数据的有效性)。

2、 Host 将需要写入的数据和 Write Counter 拼接到一起并计算签名,然后将数据、Write Counter 以及签名一并发给 eMMC。

3、eMMC 接收到数据后,先对比 Write Counter 是否与当前的值相同,如果相同那么再对数据和 Write Counter 的组合进行签名,然后和 Host 发送过来的签名进行比较,如果签名相同则鉴权通过,将数据写入到 RPMB 中。

通过上述的写入流程,可以保证 RPMB 不会被非法篡改。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Host
    +关注

    关注

    0

    文章

    32

    浏览量

    34612
  • emmc
    +关注

    关注

    7

    文章

    203

    浏览量

    52711
  • Partition
    +关注

    关注

    0

    文章

    4

    浏览量

    7780

原文标题:RPMB原理介绍

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    2K0300先锋派Openharmony开发介绍

    *附件:2K0300先锋派Openharmony开发介绍-241114.pdf
    发表于 11-17 21:36

    GaN应用介绍

    电子发烧友网站提供《GaN应用介绍.pdf》资料免费下载
    发表于 09-12 09:55 0次下载
    GaN应用<b class='flag-5'>介绍</b>

    技术分享 栅极驱动器及其应用介绍

    一、栅极驱动器介绍 1)为什么需要栅极驱动器? 2)功率器件开关过程介绍 3)三种常见驱动芯片介绍 二、隔离方案介绍 1)为什么需要隔离驱动 2)主流隔离方案
    的头像 发表于 09-10 09:26 439次阅读
    技术分享 栅极驱动器及其应用<b class='flag-5'>介绍</b>

    信号的反射与端接介绍

    电子发烧友网站提供《信号的反射与端接介绍.pdf》资料免费下载
    发表于 08-12 14:08 0次下载

    rk3568在.config中配置了CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION =y,parameter.txt却没有security分区

    security partition Authentication key not yet programmed E/TC:? 0 tee_rpmb_verify_key_sync_counter:1019
    发表于 07-29 12:14

    步进电机的简单介绍

    步进电机的命名,参数,转速简单介绍
    的头像 发表于 04-17 21:40 1003次阅读

    激光二极管基本原理介绍

    激光二极管基本原理介绍
    发表于 03-19 10:57

    PCB板材厚度和工艺介绍

    板材厚度和工艺介绍
    发表于 03-07 14:21 2次下载

    allegro教程介绍

    电子发烧友网站提供《allegro教程介绍.pdf》资料免费下载
    发表于 02-29 09:28 3次下载

    Cadence中文教程介绍

    电子发烧友网站提供《Cadence中文教程介绍.zip》资料免费下载
    发表于 02-29 09:26 15次下载

    FPGA基础知识介绍

    电子发烧友网站提供《FPGA基础知识介绍.pdf》资料免费下载
    发表于 02-23 09:45 30次下载

    IN100产品介绍

    电子发烧友网站提供《IN100产品介绍.pdf》资料免费下载
    发表于 02-22 14:38 1次下载

    MES物料管理的介绍

    电子发烧友网站提供《MES物料管理的介绍.docx》资料免费下载
    发表于 01-29 14:12 1次下载

    电阻的封装类型介绍

    电阻的封装类型介绍
    的头像 发表于 12-29 10:18 3572次阅读

    smt与dip生产步骤介绍

    smt与dip生产步骤介绍
    的头像 发表于 12-21 11:16 2698次阅读