fuchsia.hardware.inlineencryption

新增: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

序數Variant類型說明
response Controller_DeriveRawSecret_Response
err zx/Status

Controller_ProgramKeySlot_Result strict

定義於 fuchsia.hardware.inlineencryption/inlineencryption.fidl

序數Variant類型說明
response Controller_ProgramKeySlot_Response
err zx/Status

Device_DeriveRawSecret_Result strict resource

定義於 fuchsia.hardware.inlineencryption/inlineencryption.fidl

序數Variant類型說明
response Device_DeriveRawSecret_Response
err zx/Status

Device_ProgramKey_Result strict resource

定義於 fuchsia.hardware.inlineencryption/inlineencryption.fidl

序數Variant類型說明
response Device_ProgramKey_Response
err zx/Status