Atributos clave de Java compatibles con AWS CloudHSM Client SDK 5 - AWS CloudHSM

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.

Atributos clave de Java compatibles con AWS CloudHSM Client SDK 5

En este tema se proporciona información sobre los atributos clave de Java compatibles con el AWS CloudHSM Cliente SDK 5. En este tema se describe cómo usar una extensión propietaria para que el JCE proveedor establezca los atributos clave. Utilice esta extensión para establecer los atributos de clave admitidos y sus valores durante estas operaciones:

  • Generación de claves

  • Importación de claves

Para ver ejemplos de cómo utilizar los atributos de clave, consulte Ejemplos de código de la biblioteca de AWS CloudHSM software para Java for Client SDK 5.

Descripción de los atributos

Los atributos de clave se utilizan para especificar qué acciones se permiten en objetos relacionados con las claves, como claves públicas, privadas o secretas. Los atributos y valores de clave se definen durante las operaciones de creación de objetos de clave.

La extensión criptográfica de Java (JCE) no especifica cómo se deben establecer los valores de los atributos clave, por lo que la mayoría de las acciones estaban permitidas de forma predeterminada. Por el contrario, el estándar PKCS n.º 11 define un conjunto completo de atributos con valores predeterminados más restrictivos. A partir del JCE proveedor 3.1, AWS CloudHSM proporciona una extensión patentada que permite establecer valores más restrictivos para los atributos de uso común.

Atributos admitidos

Puede establecer valores para los atributos que aparecen en la tabla siguiente. Es recomendable que solamente establezca valores para los atributos que desee hacer más restrictivos. Si no especifica ningún valor, AWS CloudHSM utiliza el valor predeterminado especificado en la tabla siguiente. Las celdas vacías de la columna «Valor predeterminado» indican que no hay ningún valor predeterminado específico asignado al atributo.

Atributo Valor predeterminado Notas
Clave simétrica Clave pública del par de claves Clave privada del par de claves
DECRYPT TRUE TRUE True indica que la clave se puede utilizar para descifrar cualquier búfer. Por lo general, se establece este valor FALSE para una clave cuyo valor WRAP es verdadero.
DERIVE Permite utilizar una clave para derivar otras claves.
ENCRYPT TRUE TRUE True indica que la clave se puede utilizar para cifrar cualquier búfer.
EXTRACTABLE TRUE TRUE Si su valor es True, indica que puede exportar esta clave fuera deHSM.
ID Un valor definido por el usuario que se utiliza para identificar la clave.
KEY_TYPE Se utiliza para identificar el tipo de clave (AESDESede, secreto genérico, EC oRSA).
LABEL Una cadena definida por el usuario que le permite identificar cómodamente las claves de suHSM. Para seguir las mejores prácticas, utilice una etiqueta única para cada clave para que sea más fácil encontrarla más adelante.
LOCAL Indica una clave generada por. HSM
OBJECT_CLASS Se utiliza para identificar la clase de objeto de una clave (SecretKey, PublicKey o PrivateKey).
PRIVATE TRUE TRUE TRUE True indica que es posible que los usuarios no tengan acceso a la clave hasta que se autentiquen. Para mayor claridad, los usuarios no pueden acceder a ninguna clave AWS CloudHSM hasta que se hayan autenticado, incluso si este atributo está establecido en. FALSE
SIGN TRUE TRUE True indica que la clave se puede utilizar para firmar un resumen del mensaje. Por lo general, se establece FALSE para las claves públicas y privadas que haya archivado.
SIZE Atributo que define el tamaño de una clave. Para obtener más información sobre los tamaños de clave compatibles, consulte Mecanismos compatibles con el cliente SDK 5.
TOKEN FALSE FALSE FALSE

Una clave permanente que se replica HSMs en todo el clúster y se incluye en las copias de seguridad. TOKEN= FALSE implica una clave efímera que se borra automáticamente cuando la conexión con el se interrumpe o HSM se cierra la sesión.

UNWRAP TRUE TRUE True indica que la clave se puede utilizar para desencapsular (importar) otra clave.
VERIFY TRUE TRUE True indica que la clave se puede utilizar para verificar una firma. Por lo general, se establece FALSE para claves privadas.
WRAP TRUE TRUE True indica que la clave se puede utilizar para encapsular otra clave. Por lo general, lo configurará FALSE para las claves privadas.
WRAP_WITH_TRUSTED FALSE FALSE Si su valor es verdadero, indica que una clave solo se puede encapsular y desencapsular con claves que tengan el atributo TRUSTED establecido en true. Una vez que una clave se establece como WRAP_WITH_TRUSTED, ese atributo es de solo lectura y no se puede establecer como false. Para obtener más información sobre el encapsulamiento de claves de confianza, consulte Uso de claves de confianza para controlar el desencapsulamiento de claves.
nota

La biblioteca PKCS #11 ofrece un soporte más amplio para los atributos. Para obtener más información, consulte Atributos PKCS #11 compatibles.

Configuración de atributos para claves

KeyAttributesMap es un objeto similar a Java Map, que puede usar para establecer valores de atributo en los objetos de clave. Los métodos de la función KeyAttributesMap son iguales que los métodos que se utilizan para manipular mapas de Java.

Si desea establecer valores personalizados en los atributos, tiene dos opciones:

  • Utilizar los métodos que se indican en la tabla siguiente

  • Utilizar los modelos de Builder que se ilustran más adelante en este documento

Los objetos de mapa de atributos admiten los siguientes métodos para establecer atributos:

Operación Valor de retorno Método de KeyAttributesMap
Obtener el valor de un atributo de clave para una clave existente Objeto (que contiene el valor) o null

get (keyAttribute)

Rellenar el valor de un atributo de clave Valor anterior asociado con el atributo de clave o null si no había ninguna asignación de un atributo de clave

poner (keyAttribute, valor)

Rellenar valores en varios atributos de clave N/A

putAll(keyAttributesMap)

Eliminar un par clave-valor del mapa de atributos

Valor anterior asociado con el atributo de clave o null si no había ninguna asignación de un atributo de clave

eliminar (keyAttribute)

nota

Los atributos que no se especifican explícitamente se establecen en los valores predeterminados que se indican en la tabla anterior de Atributos admitidos.

Configuración de atributos para un par de claves

Utilice la clase KeyPairAttributesMap de Java para administrar los atributos de clave de un par de claves. KeyPairAttributesMap encapsula dos objetos KeyAttributesMap: uno para una clave pública y otro para una clave privada.

Para establecer por separado atributos específicos en la clave pública y en la clave privada, puede utilizar el método put() en el objeto de mapa KeyAttributes que corresponda a esa clave. Utilice el método getPublic() para recuperar el mapa de atributos de la clave pública y utilice getPrivate() para recuperar el mapa de atributos de la clave privada. Puede rellenar el valor de varios atributos de clave a la vez tanto de pares de claves públicas como de pares de claves privadas utilizando putAll() con un mapa de atributos de pares de claves como argumento.