fuchsia.hardware.inlineencryption

Added: HEAD

协议

控制器

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

块驱动程序和硬件内嵌加密控制器之间使用的协议。

DeriveRawSecret

请求

名称类型
wrapped_key vector<uint8>

响应

名称类型
payload Controller_DeriveRawSecret_Result

ProgramKeySlot

请求

名称类型
wrapped_key vector<uint8>
data_unit_size uint32

响应

名称类型
payload Controller_ProgramKeySlot_Result

设备

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

DeriveRawSecret

从临时封装的 wrapped_key 派生原始软件密钥。wrapped_key 必须是由内嵌加密硬件(在同一会话/启动中)通过此协议的单独机制封装的密钥。返回的密钥可用于非内嵌加密操作,例如,可用于加密内嵌加密未涵盖的文件系统元数据。 返回

  • 如果 wrapped_key 不是预期大小,或者 wrapped_key 未通过身份验证(例如 wrapped_key 来自之前的启动),则返回 ZX_ERR_INVALID_ARGS。
  • 如果操作超时,则返回 ZX_ERR_TIMED_OUT。
  • ZX_ERR_INTERNAL(如果操作因任何其他原因而失败)。

请求

名称类型
wrapped_key vector<uint8>

响应

名称类型
payload Device_DeriveRawSecret_Result

ProgramKey

将临时封装的 wrapped_key 编程到内嵌加密硬件中的下一个可用槽中,并返回表示该槽的 key_token 功能。返回的 key_token 必须先通过 fuchsia.storage.block/Session.RegisterKey 注册到块会话,然后才能在块 I/O 请求中使用该槽。连接断开后,通过调用此方法的连接编程的所有槽都将被逐出。无法逐出单个密钥(并非出于任何技术原因,而是因为尚未出现这种需求)。wrapped_key 必须是由内嵌加密硬件(在同一会话/启动中)通过此协议的单独机制封装的密钥。

返回

  • 如果没有可用的密钥槽,则返回 ZX_ERR_NO_RESOURCES。
  • 如果 wrapped_key 不是预期大小,或者 wrapped_key 未通过身份验证(例如 wrapped_key 来自之前的启动),则返回 ZX_ERR_INVALID_ARGS。
  • 如果操作超时,则返回 ZX_ERR_TIMED_OUT。
  • ZX_ERR_INTERNAL(如果操作因任何其他原因而失败)。

请求

名称类型
wrapped_key vector<uint8>
data_unit_size uint32

响应

名称类型
payload Device_ProgramKey_Result

DriverDevice

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

Controller 协议的驱动程序传输变体。

DeriveRawSecret

请求

名称类型
wrapped_key vector<uint8>

响应

名称类型
payload Controller_DeriveRawSecret_Result

ProgramKeySlot

请求

名称类型
wrapped_key vector<uint8>
data_unit_size uint32

响应

名称类型
payload Controller_ProgramKeySlot_Result

STRUCTS

Controller_DeriveRawSecret_Response 资源

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

字段类型说明默认
secret vector<uint8> 无默认应用

Controller_ProgramKeySlot_Response

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

字段类型说明默认
slot uint8 无默认应用

Device_DeriveRawSecret_Response 资源

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

字段类型说明默认
secret vector<uint8> 无默认应用

Device_ProgramKey_Response 资源

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

字段类型说明默认
key_token handle<eventpair> 无默认应用

UNIONS

Controller_DeriveRawSecret_Result strict resource

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

序数变体类型说明
response Controller_DeriveRawSecret_Response
err zx/Status

Controller_ProgramKeySlot_Result strict

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

序数变体类型说明
response Controller_ProgramKeySlot_Response
err zx/Status

Device_DeriveRawSecret_Result strict resource

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

序数变体类型说明
response Device_DeriveRawSecret_Response
err zx/Status

Device_ProgramKey_Result strict resource

在 fuchsia.hardware.inlineencryption/inlineencryption.fidl 中定义

序数变体类型说明
response Device_ProgramKey_Response
err zx/Status