Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de claves de confianza en AWS CloudHSM
AWS CloudHSM admite el empaquetado de claves confiable para proteger las claves de datos de las amenazas internas. En este tema se describe cómo crear claves de confianza para proteger los datos.
Temas
Más información sobre las claves de confianza
Una clave de confianza es una clave que se utiliza para encapsular otras claves y que los administradores y los responsables de criptografía (CO) identifican específicamente como de confianza mediante el atributo CKA_TRUSTED
. Además, los administradores y los oficiales de criptografía (CO) utilizan CKA_UNWRAP_TEMPLATE
y los atributos relacionados para especificar qué acciones pueden realizar las claves de datos una vez que están encapsuladas en una clave de confianza. Las claves de datos separadas por la clave de confianza también deben contener estos atributos para que la operación de desencapsulamiento se realice correctamente, lo que ayuda a garantizar que las claves de datos no encapsuladas solo estén permitidas para el uso que se pretenda.
Utilice el atributo CKA_WRAP_WITH_TRUSTED
para identificar todas las claves de datos que desee encapsular con claves de confianza. De este modo, podrá restringir las claves de datos para que las aplicaciones solo puedan utilizar claves de confianza para desencapsularlas. Una vez establecido este atributo en las claves de datos, el atributo pasa a ser de solo lectura y no se puede modificar. Una vez establecidos estos atributos, las aplicaciones solo pueden desencapsular las claves de datos con las claves en las que confíen, y al desencapsularlas siempre se obtienen claves de datos con atributos que limitan el uso de dichas claves.
Atributos de clave de confianza
Los siguientes atributos permiten marcar una clave como de confianza, especificar que una clave de datos solo se pueda encapsular y desencapsular con una clave de confianza y controlar lo que puede hacer una clave de datos una vez desencapsulada:
-
CKA_TRUSTED
: aplique este atributo (además deCKA_UNWRAP_TEMPLATE
) a la clave que encapsulará las claves de datos para especificar que un administrador o un oficial de cifrado (CO) ha realizado las diligencias necesarias y confía en esta clave. Solo un administrador o un CO pueden configurarCKA_TRUSTED
. El usuario de criptografía (CU) es el propietario de la clave, pero solo un CO puede establecer su atributoCKA_TRUSTED
. -
CKA_WRAP_WITH_TRUSTED
: aplique este atributo a una clave de datos exportable para especificar que solo puede encapsular esta clave con claves marcadas comoCKA_TRUSTED
. Una vez establecidoCKA_WRAP_WITH_TRUSTED
como true, el atributo pasa a ser de solo lectura y no se puede cambiar ni eliminar. -
CKA_UNWRAP_TEMPLATE
: aplique este atributo a la clave de encapsulamiento (además deCKA_TRUSTED
) para especificar los nombres y valores de los atributos que el servicio debe aplicar automáticamente a las claves de datos que desencapsula el servicio. Cuando una aplicación envía una clave para desencapsular, la aplicación también puede proporcionar su propia plantilla de desencapsulamiento. Si especifica una plantilla de desencapsulamiento y la aplicación proporciona su propia plantilla de desencapsulamiento, el HSM utiliza ambas plantillas para aplicar los nombres y valores de los atributos a la clave. Sin embargo, si un valor en laCKA_UNWRAP_TEMPLATE
para la clave de encapsulamiento entra en conflicto con un atributo proporcionado por la aplicación durante la solicitud de desencapsulamiento, se produce un error en la solicitud de desencapsulamiento.
Para más información sobre los atributos, consulte los siguientes temas:
Cómo usar claves de confianza para encapsular claves de datos
Para usar una clave de confianza para encapsular una clave de datos, debe completar tres pasos básicos:
Para la clave de datos que planea encapsular con una clave de confianza, defina su atributo
CKA_WRAP_WITH_TRUSTED
como verdadero.Para la clave de datos que planea encapsular con una clave de confianza, defina su atributo
CKA_TRUSTED
como true.Use la clave de confianza para encapsular la clave de datos.
Paso 1: establezca la clave de datos CKA_WRAP_WITH_TRUSTED
como true
Para la clave de datos que desea encapsular, elija una de las siguientes opciones para establecer el atributo CKA_WRAP_WITH_TRUSTED
de la clave como true. Esto restringe la clave de los datos para que las aplicaciones solo puedan utilizar claves de confianza para encapsularlos.
Opción 1: si se genera una clave nueva, establezca CKA_WRAP_WITH_TRUSTED
como true.
Genere una clave mediante PKCS #11, JCE o CloudHSM CLI. Consulte los siguientes ejemplos para obtener más información.
Opción 2: si utiliza una clave existente, utilice la CLI de CloudHSM para establecer su CKA_WRAP_WITH_TRUSTED
como true.
Para establecer el atributo CKA_WRAP_WITH_TRUSTED
de una clave existente como verdadero, siga estos pasos:
Utilice el comando login para iniciar sesión como usuario de criptografía (CU).
Utilice el comando key set-attribute para establecer el atributo
wrap-with-trusted
de la clave como verdadero.aws-cloudhsm >
key set-attribute --filter attr.label=test_key --name wrap-with-trusted --value true
{ "error_code": 0, "data": { "message": "Attribute set successfully" } }
Paso 2: establecer la clave de confianza CKA_TRUSTED
como true
Para convertir una clave en una clave de confianza, su atributo CKA_TRUSTED
debe estar establecido como true. Para ello, puede utilizar la CLI de CloudHSM o la utilidad de administración de CloudHSM (CMU).
Si utiliza la CLI de CloudHSM para establecer el atributo de
CKA_TRUSTED
de una clave, consulte Cómo marcar una clave como de confianza con la CLI de CloudHSM.Si utiliza la CMU para establecer el atributo de una clave
CKA_TRUSTED
, consulte Cómo marcar una clave como de confianza con la CMU.
Paso 3. Uso de la clave de confianza para encapsular la clave de datos
Para encapsular la clave de datos a la que se hace referencia en el paso 1 con la clave de confianza que configuró en el paso 2, consulte los siguientes enlaces para ver ejemplos de código. En cada uno de ellos se muestra cómo encapsular las claves.
¿Cómo desencapsular una clave de datos con una clave de confianza?
Para desencapsular una clave de datos, necesita una clave de confianza que tenga configurado CKA_UNWRAP
como true. Para ser una clave de este tipo, también debe cumplir los siguientes criterios:
El atributo
CKA_TRUSTED
de la clave se debe establecer como true.La clave debe utilizar
CKA_UNWRAP_TEMPLATE
y los atributos relacionados para especificar qué acciones pueden realizar las claves de datos una vez desencapsuladas. Si, por ejemplo, desea que una clave desencapsulada no se pueda exportar, debe configurarCKA_EXPORTABLE = FALSE
como parte deCKA_UNWRAP_TEMPLATE
.
nota
CKA_UNWRAP_TEMPLATE
solo está disponible con PKCS #11.
Cuando una aplicación envía una clave para desencapsularla, también puede proporcionar su propia plantilla de encapsulamiento. Si especifica una plantilla de desencapsulamiento y la aplicación proporciona su propia plantilla de desencapsulamiento, el HSM utiliza ambas plantillas para aplicar los nombres y valores de los atributos a la clave. Sin embargo, si durante la solicitud de desencapsulamiento un valor de CKA_UNWRAP_TEMPLATE
de la clave de confianza entra en conflicto con un atributo proporcionado por la aplicación, la solicitud de desencapsulamiento fallará.
Para ver un ejemplo de cómo desencapsular una clave de datos con una clave de confianza, consulte este ejemplo de PKCS #11