[元带你学: eMMC协议详解 15] eMMC 安全方案之写保护(Write Protect)详解

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载

所在专栏 《元带你学: eMMC协议详解》

内容摘要

全文  1300字, 主要讲述

1、什么是写保护?

2、什么是上电写保护、永久写保护、临时写保护?他们有什么区别?

3、写保护相关寄存器/命令

4、特定区段写保护和整卡写保护如何设置?


前言

信息安全的三个基本目标是机密性、完整性和可用性:

机密性意味着应该保密的信息只能被授权的实体阅读和理解。其他未经访问授权不能阅读或理解机密信息。
完整性是指能够确保信息不受未经授权的更改、修改或删除的能力。信息的完整性包括信息的来源、完整性和正确性(使用标识和身份验证等方法)。
可用性意味着信息始终可供授权用户使用

eMMC安全方案有哪些呢? eMMC设备包含多种数据保护和安全功能,包括:写保护、密码锁定/解锁和RPMB。

[元带你学: eMMC协议详解 15] eMMC 安全方案之写保护(Write Protect)详解_第1张图片

 

为什么要有写保护?
写保护旨在防止数据损坏擦除(无论是恶意的还是无意的)。在eMMC4.3和更早版本的规范中,写保护仅为用户区域提供保护。随着eMMC4.4中分区的引入,写保护得到了更新,以支持不同的分区和分区内的区域。随着eMMC5.1的发布,写保护允许使用身份验证来保护分区和分区中的区域。

写保护的影响?

一旦设置了写保护,主机就不能擦除或写入指定的保护区域。但是,与密码锁不同,数据仍然可以从这个区域读取。

1 Write Protect Management

[元带你学: eMMC协议详解 15] eMMC 安全方案之写保护(Write Protect)详解_第2张图片 

为了允许主机保护数据不被擦除或覆盖写入,e•MMC应该支持两种级别的写保护命令:

(1)通过在CSD中设置永久或临时写保护位,可以对整个设备(包括引导区分区、通用区分区、RPMB分区和用户/增强用户数据区分区)进行写保护。

  • 永久写保护应用于整个设备时,它将覆盖当前在整个设备或特定段上启用的所有其他保护机制。CSD寄存器位和扩展CSD寄存器位不受此保护的影响。
  • 临时写保护为整个设备启用时,它只适用于那些尚未被其他机制保护的段。详见表13。

[元带你学: eMMC协议详解 15] eMMC 安全方案之写保护(Write Protect)详解_第3张图片

(2)设备的特定段写保护。

写保护有几类?

有四种类型的写保护:

永久:一旦启用写保护,就不能禁用它
开机:一旦启用写保护,它只能通过关闭电源或切换设备重置引脚来恢复,这会导致设备重新启动。
临时:可以启用和禁用写保护。
安全:只有授权使用RPMB的用户才能启用和禁用写保护。

EXT_CSD中的ERASE_GROUP_DEF决定了段的大小。当设置为0时,段大小以CSD中指定的WP_GRP_SIZE擦除组为单位定义。当设置为1时,段大小以EXT_CSD中指定的HC_WP_GRP_SIZE擦除组为单位定义。在应用程序中,主机必须始终对设备使用相同的ERASE GRoUP DEF值。

SET_WRITE_PROT命令设置指定写保护组的写保护,组的写保护类型由US_PERM_WP_EN (EXT_CSD[171]位2)和US_PWR_WP_EN (EXT_CSD[171]位0)决定SET_WRITE_PROT(CMD28)命令,当保护已经在段中启用时,表14显示保护使能位的不同组合的影响。

CLR_WRITE_PROT命令用来清除指定地址写保护组的临时写保护。如果将CLR_WRITE_PROT命令应用于具有永久保护或上电写保护的写保护组,则该命令将失败。可以通过在EXT_CSD USER_WP字节中设置CD_PERM_WP_DIS、US_PERM_WP_DIS和US_PWR_WP_DIS位来禁用主机为整个设备设置永久保护以及为特定段设置永久保护和上电保护的功能。建议关闭所有不需要的保护模式,防止恶意或无意设置未使用的写保护模式。

主机可以使用SEND WRITE_PROT_TYPE命令(CMD31)检查给定段的写保护状态。当启用完全设备保护时,所有段将显示为具有永久保护。SEND_WRITE_PROT和SEND_WRITE_PROT_TYPE命令类似于单个块读命令。设备发送一个包含32或64个写保护位(代表从指定地址开始的32个写保护组)的数据块,后跟16个CRC位。写保护命令中的地址字段是以字节为单位的组地址,对于密度不超过2GB的,以扇区为单位,对于密度大于2GB的。对于高达2GB的密度,设备将忽略所有低于组大小的lsb。如果主机提供超出范围的地址作为CMD28、CMD29或CMD30的参数,设备将拒绝该命令,设置address out of range位并保持在Tran状态。

[元带你学: eMMC协议详解 15] eMMC 安全方案之写保护(Write Protect)详解_第4张图片


参考

[1] eMMC安全方案—RPMB(Replay Protected Memory Block)专门介绍写保护

免责声明

本文根据公开信息整理,旨在介绍更多的存储知识,所载文章仅为作者观点,不构成投资或商用建议。本文仅用于学习交流, 不允许商用。若有疑问或有侵权行为请联系作者处理。

你可能感兴趣的:(运维,eMMC,嵌入式硬件,写保护)