Estoy interesado en 'agregar' claves preexistentes a la jerarquía de almacenamiento de un TPM.
Un ejemplo de una jerarquía de claves deseada se puede mostrar como:
(SRK)----->(User Storage Key)-------> User Working Key 1
|
|------> User Working Key 2
|
|------> User Working Key 3
Donde:
- SRK es la clave de la raíz de almacenamiento creada y administrada por el administrador de TPM
- La clave de almacenamiento del usuario se crea como un par de claves (públicas y privadas) fuera del TPM. Por ejemplo, utilizando las herramientas de línea de comandos OpenSSL.
- Las claves de trabajo del usuario también se crean fuera de TPM utilizando OpenSSL.
¿Cómo puedo insertar "Clave de almacenamiento del usuario" y "Claves de trabajo del usuario" en la jerarquía anterior?
El TPM me permite crear pares de claves (públicas, privadas) internamente dentro de TPM (y exportar una clave pública junto con una (clave en forma de) clave privada de la misma). Pero no me queda claro si los comandos de TPM como TPM_CreateWrapKey
y TPM_LoadKey2
permiten esta opción.
Esto está garantizado por situaciones en las que las claves de firma / cifrado del usuario ya están creadas en otros lugares y estamos interesados en usar el TPM como un repositorio seguro de claves en la plataforma operativa. (El enlace / sellado para crear datos opacos dentro de TPM no es útil aquí, ya que los datos enlazados / sellados no pueden extender la jerarquía de claves).