利用高级RPMB实现更快、更安全的UFS 4.0身份验证

描述

在 5G 世界中,快速安全的连接非常重要。JEDEC 通用闪存 (UFS) 4.0 版有助于确保在我们的日常设备中实现这一点。作为附加的安全元素,UFS 设备中包含重放保护内存块 (RPMB),作为安全存储加密数据的一种方式,只能通过身份验证访问。

RPMB 以经过身份验证和重放保护的方式存储信息,该过程只能在对身份验证密钥进行编程后执行。UFS 设备具有包含多个 RPMB 区域的 RPMB 逻辑单元;每个区域都有自己唯一的身份验证密钥。当使用 HMAC SHA-256 算法将密钥与消息(数据)一起作为输入来计算消息身份验证代码 (MAC) 时,此身份验证密钥有助于访问 RPMB 区域。在本博客中,我们将讨论高级 RPMB 的身份验证编程流程如何比以前的版本更高效。

回顾旧的RPMB流程

在 RPMB 中执行身份验证密钥编程需要先发送请求,然后发送结果读取请求。然后,身份验证密钥编程的响应将作为结果读取响应接收。

UFS

旧版本的 RPMB 需要传输许多命令来编程用于 MAC 计算的身份验证密钥,然后将 RPMB 字段传输到每个命令的数据块中。提醒一下,旧版 RPMB 流程中涉及的步骤如下:

身份验证密钥编程请求 – 通过发出安全协议输出命令 UPIU 来启动带有“0001h”请求消息的密钥发送。

读取请求的结果 – 通过使用安全协议输出命令 UPIU 将请求消息类型发送为“0005h”来确保身份验证密钥编程的验证过程。

读取响应结果 – 主机在结果字段中检索响应消息类型为“0100h”的身份验证密钥编程的结果。结果字段指示身份验证是否成功完成,或者在写入数据时失败或身份验证密钥尚未编程时标记。根据结果,主机可以处理即将到来的 RPMB 进程,也可以尝试再次对身份验证密钥进行编程。

为了消除旧RPMB流程中涉及的许多步骤,UFS 4.0配备了高级RPMB,这是一种利用命令和响应UPIU中额外标头段(EHS)字段的简单高效流程。

为什么我应该改用高级 RPMB?

在高级 RPMB 中,身份验证密钥编程是通过单个安全协议输出命令和 EHS 字段的帮助完成的。

UFS

UFS 4.0 具有新的 EHS 功能,该功能已针对高级 RPMB 和供应商特定用途添加。让我们看看事务 UPIU 如何结合 EHS 来传达 RPMB 字段。

UFS

在 EHS 标头中,主机需要将 EHS 类型指定为 01h,用于访问高级 RPMB,将 EHS 长度指定为 02h,用于在事务 UPIU 本身中发送高级 RPMB 字段。在高级 RPMB 流程中,我们只需要执行以下步骤即可实现身份验证密钥编程:

安全协议输出命令 UPIU(带 EHS 字段)– 这为请求消息类型为 0001h 的身份验证密钥提供。

响应 UPIU(带 EHS 字段)– 这将提供响应消息类型为 0100h 的结果。因此,结果字段指示身份验证是否成功。

UFS 4.0 的发布提供了对这种增强的高级 RPMB 过程的访问,与旧的 RPMB 过程相比,允许高效、简单、快速的身份验证编程流程。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分