UFS协议—新手快速入门(六)【14-16】

本篇为《UFS协议—新手快速入门》系列最后一章节,后续将推出《UFS协议—行家稳步进阶》系列,敬请关注!

目录

十四、RPMB(Replay Protection Memory Block)

1、概念

2、核心特性 

(1)访问控制

(2) 防重放攻击

(3) 数据完整性

3、RPMB 的操作流程

(1)写入操作

(2)读取操作

十五、数据安全

1、数据可被恢复的原因:

2、操作介绍 :

(1)擦除操作

(2)丢弃操作 

(3)安全擦除策略

(4)清除操作

(5)格式化设备

(6)写保护

十六、电源管理

1、UFS 电源管理模式

(1)Active 模式

(2)Idle 模式

(3)Sleep 模式

(4)Power Down 模式

(5)Deep Sleep 模式

(6)过渡功耗模式

(7)动态电压频率调整(DVFS)策略


UFS协议—新手快速入门(一)【1-4】

UFS协议—新手快速入门(二)【5-6】

UFS协议—新手快速入门(三)【7-9】

UFS协议—新手快速入门(四)【10】

UFS协议—新手快速入门(五)【11-13】

UFS协议—新手快速入门(总体概览+番外)

十四、RPMB(Replay Protection Memory Block)

1、概念

RPMB(Replay Protected Memory Block)LU是UFS(Universal Flash Storage)设备中的一个特殊逻辑单元(Logical Unit),属于UFS协议中定义的“四大名撸”(Well Known LU)之一。RPMB LU的主要功能是提供一种安全的数据存储机制,确保数据的机密性、完整性和防篡改能力。

RPMB是什么?

  • 就像你的日记本:RPMB 是 UFS 存储芯片里的一个特殊区域,专门用来存放非常重要的秘密信息,比如手机的指纹、密码、支付密钥等。

  • 只有钥匙才能开:这个“小盒子”里的内容不能随便读写,必须用一把特殊的“钥匙”(密钥)才能访问,就像你家的保险箱一样。

为什么需要RPMB?

  • 防止坏人捣乱:如果有人想偷偷修改你的密码或指纹(比如复制旧的数据来冒充你),RPMB 会立刻发现并阻止这种“作弊行为”。

  • 保护重要数据:比如手机支付时,RPMB 会确保你的银行卡信息不会被坏人偷走。

RPMB 是怎么工作的?

  • 每次操作都要“签名”:如果想修改 RPMB 里的内容,必须用一把“数字钥匙”(密钥)生成一个“签名”(就像盖章一样),证明你是合法的操作。

  • 计数器防重复:RPMB 会记录操作次数(比如一个数字从1→2→3…),如果有人用旧的操作记录来冒充,系统会发现数字不对,直接拒绝!

2、核心特性 

(1)访问控制
  • RPMB 的读写操作需要通过 认证密钥(Authentication Key) 进行验证。

  • 只有经过认证的设备或主机才能访问 RPMB 区域。

  • 认证密钥通常由设备制造商或安全模块(如 TEE, Trusted Execution Environment)生成和管理。

(2) 防重放攻击
  • RPMB 使用一个 计数器(Write Counter) 来防止重放攻击。

  • 每次写入操作时,计数器会递增,并与写入请求一起发送。

  • 设备会验证计数器的值是否合法(大于上一次的值),如果发现重复或旧的计数器值,操作会被拒绝。

(3) 数据完整性
  • RPMB 使用 HMAC(Hash-based Message Authentication Code) 来确保数据的完整性和真实性。

  • 每次写入或读取操作时,都会生成一个 HMAC 值,用于验证数据的来源和完整性。

3、RPMB 的操作流程

(1)写入操作
  1. 生成 HMAC

    主机将要写入的数据、计数器值和其他元数据组合在一起,使用认证密钥生成 HMAC。
  2. 发送写入请求

    主机将数据、计数器值和 HMAC 发送给设备。
  3. 设备验证

    设备使用相同的认证密钥重新计算 HMAC,并验证其是否匹配。设备检查计数器值是否合法(大于上一次的值)。
  4. 写入数据

    如果验证通过,设备将数据写入 RPMB 区域,并更新计数器。
(2)读取操作
  1. 发送读取请求

    主机请求读取 RPMB 中的数据。
  2. 设备生成 HMAC

    设备读取数据,并使用认证密钥生成 HMAC。
  3. 返回数据和 HMAC

    设备将数据和 HMAC 返回给主机。
  4. 主机验证

    主机使用认证密钥重新计算 HMAC,并验证其是否匹配,以确保数据的完整性和真实性。

十五、数据安全

UFS设备在执行清除操作时,对那些垃圾数据,有以下几种处理方式:默认是把这些垃圾数据从闪存空间擦除掉;或者先用单个字符(比如全A)覆盖写,然后再擦除;抑或先用单个字符(比如A)覆盖写,然后用它的补码(比如5)覆盖写,最后用随机字符覆盖写;最后还可以使用用户自定义的方式处理。

此外,UFS设备提供了一种方式,在请求时,从设备中永久删除数据的方法,确保无法在内存设备上使用逆向工程来检索数据。UFS设备应支持安全和不安全的操作模式。

UFS还提供了安全擦除、写保护等数据安全机制。安全擦除操作会切断逻辑块到物理空间的映射,而写保护则可以防止数据被意外或未经授权的修改。这些机制共同确保了UFS设备中存储的数据在需要时可以被安全、永久地删除,从而保护个人或企业的信息安全。

在 UFS 存储王国里,住着一位热爱拍照的希哥。这天,希哥像往常一样,用手机拍了许多照片,然后随手删除了几张他觉得不太满意的照片。希哥心想:“这些照片删除了,应该就没人能看到了吧。” 他颇为得意地将手机收了起来。

然而,没过多久,UFS 存储王国的网络上却突然爆出了希哥新的 “艳照门” 事件。希哥得知后,惊讶得目瞪口呆:“我明明都删除了呀,这到底是怎么回事?”

这时,UFS 存储王国的智慧使者 ——Master UFS 出现了。他决定帮助希哥解开这个谜团。

Master UFS 对希哥说:“希哥,你删除照片时,只是移除了文件系统中的逻辑块数据,也就是文件的索引信息。但实际的照片数据还静静地躺在 UFS 存储介质上呢,就像一本书的目录被撕掉了,可书的内容还在书架上,只是你暂时找不到而已。而那些手机维修人员,他们可是数据恢复的高手,他们跳过了正常的文件系统途径,直接从存储介质上把那些未被清除的数据给弄出来了。”

希哥听后,恍然大悟:“原来如此,那我该怎么办才能彻底删除这些照片呢?”

Master UFS 微笑着说道:“这就得说到我们 UFS 存储王国的几种数据删除操作了。首先是擦除操作,在 UFS 层,这个操作会切断逻辑地址到物理地址的映射,让主机(也就是你的手机)无法通过正常的逻辑地址访问数据。当手机系统发送 UNMAP 命令(TRIM),设备会根据 bProvisioningType 值来决定具体行动。如果 bProvisioningType 03h,设备就会执行擦除操作,切断逻辑块映射。不过,这并不能保证数据完全从闪存里消失,只是 UFS 设备知道这些数据被删除了,会在后续的垃圾回收中大概率将它们擦除。但要是遇到那些不走寻常路的数据恢复专家,还是有可能在垃圾回收之前把数据弄出来的。”

希哥急切地问:“那还有其他办法吗?”

Master UFS 点点头,继续说道:“还有丢弃操作,这也是由主机发送 UNMAP 命令发起的。当 bProvisioningType 02h 时,设备会执行丢弃操作,和擦除操作一样会切断映射。但不同的是,主机访问被丢弃的逻辑块时,可能会得到任何数据,包括丢弃前的数据。所以,如果设备只是执行了丢弃操作,主机还是有可能获取到原来的那些照片的。”

希哥皱起了眉头:“这可怎么办才好?”

Master UFS 神秘一笑:“别担心,我们还有安全擦除策略。这可是确保数据彻底离开闪存的三大策略。第一种是设备控制器直接擦除逻辑块对应的物理空间;第二种是设备控制器先用一个单一字符覆盖写物理空间,然后再擦除设备;第三种是设备控制器依次用一个单一字符、它的补码和随机字符覆盖写物理空间。这些方法都能让数据在闪存里彻底消失。”

希哥听后,稍微安心了一些,但又好奇地问:“还有其他更彻底的操作吗?”

Master UFS 回答道:“当然有,那就是清除操作。清除操作就像对待垃圾一样,让这些数据不仅不能通过正常渠道(操作系统)访问,还让它们无法从存储介质中获取,彻底把垃圾数据从 UFS 设备清除掉。主机通过设备管理器的 Query 功能来启动这个操作,涉及到 fPurgeEnable 标志和 bPurgeStatus 属性。清除操作有好几种处理方式,比如直接擦除闪存空间,或者先用单个字符覆盖写再擦除,又或者经历三个步骤的覆盖写,还可以使用用户自定义的方式。不过,清除操作并不是直接擦除存储介质,而是 UFS 层面的操作。”

希哥若有所思地点点头,又问道:“那格式化设备呢?”

Master UFS 解释道:“主机可以发送 FORMAT UNIT 命令来格式化所有的逻辑单元(RPMB LU 除外)。但是,对于那些有写保护的逻辑单元,FORMAT UNIT 命令就会失败。FORMAT UNIT 命令针对的是设备已知的逻辑单元,它会格式化除 RPMB 之外所有没有写保护的逻辑单元。如果想要彻底删除数据,UFS 设备在格式化之后还需要执行清除操作。”

希哥好奇地追问:“还有写保护,这又是怎么回事呢?”

Master UFS 耐心地说道:“每个逻辑单元(RPMB 除外)都有写保护属性。写保护分为永久写保护和上电写保护。永久写保护就是说,一旦这个逻辑单元的写保护被启用,它就终生都是写保护状态了,再也改不回去。而上电写保护只对某次上电有效,如果设备重新上电或者重启,写保护就失效了。”

经过 Master UFS 的一番讲解,希哥终于明白了其中的道理。他感慨地说道:“原来数据删除还有这么多门道,以后我可得小心了,不能再像以前那样随意删除照片了。”

Master UFS 笑着说:“希哥,数据管理可是一门大学问,只有了解了这些原理,才能更好地保护我们的数据安全呀。”

1、数据可被恢复的原因:

当数据从 UFS 设备中被删除时,仅移除了文件系统中的逻辑块数据,实际数据仍存在于 UFS 存储介质上,直到被覆盖或彻底擦除。文件系统通过逻辑块管理数据,删除文件只是移除了对这些逻辑块的引用,数据本身仍物理存在于存储介质上。数据恢复技术可直接访问存储介质,绕过正常文件系统操作,从而恢复尚未被清除的数据。

2、操作介绍

(1)擦除操作

在 UFS 层,擦除操作切断逻辑地址与物理地址的映射。当手机系统发送 UNMAP 命令时,设备根据 bProvisioningType 值决定具体操作。若 bProvisioningType = 03h,设备执行擦除操作,切断逻辑块映射。主机访问擦除后的逻辑块时,设备返回全 0 数据。此操作不保证数据完全从闪存中删除,UFS 设备会在垃圾回收时大概率擦除这些数据,但在垃圾回收前,数据恢复专家仍可能恢复数据。

(2)丢弃操作 

与擦除操作类似,丢弃操作也由主机发送 UNMAP 命令发起。当 bProvisioningType = 02h 时,设备执行丢弃操作,同样切断逻辑块映射。但主机访问被丢弃的逻辑块时,可能获取任意数据,包括丢弃前的数据。若 UFS 设备仅执行丢弃操作,主机仍有概率获取原始照片。

(3)安全擦除策略

为确保数据彻底离开闪存,有以下三种安全擦除策略:

  1. 设备控制器擦除逻辑块对应的物理空间。

  2. 设备控制器用单一字符覆盖写物理空间后擦除设备。

  3. 设备控制器依次用单一字符、其补码和随机字符覆盖写物理空间。这些方法可确保数据在闪存中被彻底删除。

(4)清除操作

清除操作针对垃圾数据,如已删除的照片,旨在确保数据无法通过正常渠道(操作系统)访问,也无法从存储介质中获取,从而彻底清除垃圾数据。主机通过设备管理器的 Query 功能启动此操作,涉及 fPurgeEnable 标志和 bPurgeStatus 属性。UFS 设备执行清除操作时,有多种处理方式,如直接擦除闪存空间,或先用单个字符覆盖写再擦除,或经历三个步骤的覆盖写,也可使用用户自定义的方式。清除操作并非直接擦除存储介质,而是 UFS 层面的操作。

(5)格式化设备

主机可发送 FORMAT UNIT 命令格式化所有逻辑单元(RPMB LU 除外)。对于有写保护的逻辑单元,FORMAT UNIT 命令会失败。该命令针对设备已知的逻辑单元,格式化除 RPMB 之外所有无写保护的逻辑单元。若要彻底删除数据,UFS 设备在格式化后还需执行清除操作。

(6)写保护

每个逻辑单元(RPMB 除外)都有写保护属性,包括永久写保护和上电写保护。永久写保护一旦启用,逻辑单元将终生处于写保护状态,无法更改。上电写保护仅对某次上电有效,设备重新上电或重启后,写保护失效。

十六、电源管理

1、UFS 电源管理模式

UFS(通用闪存存储)定义了多种功耗模式以优化电源管理,这对于手机等移动存储设备尤为重要,因为它们对功耗有严格的要求。UFS 电源管理包括 4 种基本功耗模式:Active(活动模式)、Idle(空闲模式)、Power Down(掉电模式)和 Sleep(睡眠模式)。此外,UFS 还引入了 3 个过渡功耗模式:Pre-Active、Pre-Sleep 和 Pre-PowerDown。这些模式有助于在不同使用场景下平衡性能和功耗,从而延长设备的电池寿命并减少热量产生。

(1)Active 模式

在 Active 模式下,UFS 设备执行命令或进行后台任务。这是 UFS 设备的正常工作模式,设备在此模式下能够提供最高的性能,以满足数据读写的需求。然而,由于设备在此模式下需要消耗较多的电力来维持高性能运行,因此功耗相对较高。

(2)Idle 模式

当设备空闲,即没有来自 UFS 主机的命令且没有后台任务需要处理时,设备进入 Idle 模式。在 Idle 模式下,UFS 设备会降低功耗,但仍保持一定的唤醒能力,以便在接收到新的命令时能够迅速恢复到 Active 模式。这种模式适用于设备短暂空闲的场景,能够在保证快速响应的同时降低功耗。

(3)Sleep 模式

Sleep 模式下,VCC 电源可能被切断(取决于 UFS 设备的设计)。在 Sleep 模式下,UFS 设备的功耗进一步降低,但设备需要更长的时间来唤醒并恢复到 Active 模式。这种模式适用于设备长时间空闲的场景,能够在保证设备能够恢复工作的同时最大限度地降低功耗。

(4)Power Down 模式

Power Down 模式是最省电的模式,此时所有电源供电 VCC、VCCQ 和 VCCQ2 都可能被切断。在 Power Down 模式下,UFS 设备的功耗极低,但设备需要较长时间来唤醒并恢复到 Active 模式。这种模式适用于设备长时间不使用或需要最大限度节省电量的场景。

(5)Deep Sleep 模式

UFS 还引入了低功耗模式,如 Deep Sleep(深度睡眠模式),在该模式下设备消耗的功率极低,允许设备在不需要访问存储时大幅度减少能源消耗。Deep Sleep 模式适用于设备长时间不使用且不需要快速唤醒的场景,能够在保证设备能够恢复工作的同时最大限度地降低功耗。

(6)过渡功耗模式

UFS 定义了 3 个过渡功耗模式:Pre-Active、Pre-Sleep 和 Pre-PowerDown。这些模式用于在不同功耗模式之间平滑过渡,确保设备在不同使用场景下能够快速响应并保持低功耗。

  • Pre-Active 模式 :设备从低功耗模式唤醒并准备进入 Active 模式时的过渡状态。

  • Pre-Sleep 模式 :设备从 Active 模式或 Idle 模式进入 Sleep 模式前的过渡状态。

  • Pre-PowerDown 模式 :设备从 Active 模式或 Idle 模式进入 Power Down 模式前的过渡状态。

(7)动态电压频率调整(DVFS)策略

UFS 3.1 技术标准中还包含了动态电压频率调整(DVFS)策略,通过监测系统负载并实时调整电压和频率来降低功耗。这些策略有助于实现更高效的能源使用,同时保持设备性能。DVFS 策略能够根据设备的实际工作负载动态调整电压和频率,避免不必要的电力浪费,从而在不同使用场景下实现性能和功耗的平衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值