Attributi chiave supportati - AWS CloudHSM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Attributi chiave supportati

Un oggetto può essere una chiave pubblica, privata o una chiave segreta. Le azioni consentite su un oggetto chiave sono specificate tramite gli attributi. Gli attributi sono definiti quando l'oggetto chiave viene creato. Quando utilizzi la libreria PKCS #11, assegniamo i valori predefiniti come specificato dallo standard PKCS #11.

AWS CloudHSM non supporta tutti gli attributi elencati nella specifica PKCS #11. Siamo conformi alla specifica per tutti gli attributi supportati. Questi attributi sono elencati nelle rispettive tabelle.

Le funzioni di crittografia, ad esempio C_CreateObject, C_GenerateKey, C_GenerateKeyPair, C_UnwrapKey, e C_DeriveKey che creano, modificano o copiano gli oggetti utilizzano un modello di attributo come uno dei loro parametri. Per ulteriori informazioni sul trasferimento di un modello di attributo durante la creazione di un oggetto, consulta la pagina sulla generazione di chiavi attraverso la libreria PKCS #11 per vedere degli esempi.

Interpretazione della tabella degli attributi relativi alla libreria PKCS #11

La tabella della libreria PKCS #11 contiene un elenco di attributi che differiscono per i tipi di chiave. Indica se un determinato attributo è supportato da un particolare tipo di chiave quando si usa una determinata funzione di crittografia con AWS CloudHSM.

Legenda:

  • ✔ indica che CloudHSM supporta l'attributo per il tipo di chiave specifico.

  • ✖ indica che CloudHSM non supporta l'attributo per il tipo di chiave specifico.

  • R indica che il valore dell'attributo è di sola lettura per il tipo di chiave specifico.

  • S indica che l'attributo non può essere letto da GetAttributeValue poiché è sensibile.

  • Una cella vuota nella colonna Valore predefinito indica che non vi è alcun valore predefinito specifico assegnato all'attributo.

Attributo

Tipo di chiavi

Valore predefinito

 

EC privato

EC pubblico

RSA privato

RSA pubblico

 

CKA_CLASS

CKA_KEY_TYPE

CKA_LABEL

CKA_ID

CKA_LOCAL

R

R

R

R

True

CKA_TOKEN

False

CKA_PRIVATE

1

1

1

1

True

CKA_ENCRYPT

False

CKA_DECRYPT

False

CKA_DERIVE

False

CKA_MODIFIABLE

1

1

1

1

True

CKA_DESTROYABLE

True

CKA_SIGN

False

CKA_SIGN_RECOVER

 

CKA_VERIFY

False

CKA_VERIFY_RECOVER

 

CKA_WRAP

False

CKA_WRAP_TEMPLATE

 

CKA_TRUSTED

False

CKA_WRAP_WITH_TRUSTED

False

CKA_UNWRAP

False

CKA_UNWRAP_TEMPLATE

 

CKA_SENSITIVE

1

1

True

CKA_ALWAYS_SENSITIVE

R

R

 

CKA_EXTRACTABLE

True

CKA_NEVER_EXTRACTABLE

R

R

 

CKA_MODULUS

 

CKA_MODULUS_BITS

2

 

CKA_PRIME_1

 

CKA_PRIME_2

 

CKA_COEFFICIENT

 

CKA_EXPONENT_1

 

CKA_EXPONENT_2

 

CKA_PRIVATE_EXPONENT

 

CKA_PUBLIC_EXPONENT

2

 

CKA_EC_PARAMS

2

 

CKA_EC_POINT

 

CKA_VALUE

 

CKA_VALUE_LEN

 

CKA_CHECK_VALUE

R

R

R

R

 

Attributo

Tipo di chiavi

Valore predefinito

 

AES

DES3

Segreto generico

 

CKA_CLASS

CKA_KEY_TYPE

CKA_LABEL

CKA_ID

CKA_LOCAL

R

R

R

True

CKA_TOKEN

False

CKA_PRIVATE

1

1

1

True

CKA_ENCRYPT

False

CKA_DECRYPT

False

CKA_DERIVE

False

CKA_MODIFIABLE

1

1

1

True

CKA_DESTROYABLE

True

CKA_SIGN

True

CKA_SIGN_RECOVER

 

CKA_VERIFY

True

CKA_VERIFY_RECOVER

 

CKA_WRAP

False

CKA_WRAP_TEMPLATE

 

CKA_TRUSTED

False

CKA_WRAP_WITH_TRUSTED

False

CKA_UNWRAP

False

CKA_UNWRAP_TEMPLATE

 

CKA_SENSITIVE

True

CKA_ALWAYS_SENSITIVE

 

CKA_EXTRACTABLE

True

CKA_NEVER_EXTRACTABLE

R

R

R

 

CKA_MODULUS

 

CKA_MODULUS_BITS

 

CKA_PRIME_1

 

CKA_PRIME_2

 

CKA_COEFFICIENT

 

CKA_EXPONENT_1

 

CKA_EXPONENT_2

 

CKA_PRIVATE_EXPONENT

 

CKA_PUBLIC_EXPONENT

 

CKA_EC_PARAMS

 

CKA_EC_POINT

 

CKA_VALUE

 

CKA_VALUE_LEN

2

2

 

CKA_CHECK_VALUE

R

R

R

 

Attributo

Tipo di chiavi

Valore predefinito

 

EC privato

EC pubblico

RSA privato

RSA pubblico

AES

DES3

Segreto generico

 

CKA_CLASS

2

2

2

2

2

2

2

CKA_KEY_TYPE

2

2

2

2

2

2

2

CKA_LABEL

CKA_ID

CKA_LOCAL

R

R

R

R

R

R

R

False

CKA_TOKEN

False

CKA_PRIVATE

1

1

1

1

1

1

1

True

CKA_ENCRYPT

False

CKA_DECRYPT

False

CKA_DERIVE

False

CKA_MODIFIABLE

1

1

1

1

1

1

1

True

CKA_DESTROYABLE

True

CKA_SIGN

False

CKA_SIGN_RECOVER

False

CKA_VERIFY

False

CKA_VERIFY_RECOVER

 

CKA_WRAP

False

CKA_WRAP_TEMPLATE

 

CKA_TRUSTED

False

CKA_WRAP_WITH_TRUSTED

False

CKA_UNWRAP

False

CKA_UNWRAP_TEMPLATE

 

CKA_SENSITIVE

True

CKA_ALWAYS_SENSITIVE

R

R

R

R

R

 

CKA_EXTRACTABLE

True

CKA_NEVER_EXTRACTABLE

R

R

R

R

R

 

CKA_MODULUS

2

2

 

CKA_MODULUS_BITS

 

CKA_PRIME_1

 

CKA_PRIME_2

 

CKA_COEFFICIENT

 

CKA_EXPONENT_1

 

CKA_EXPONENT_2

 

CKA_PRIVATE_EXPONENT

2

 

CKA_PUBLIC_EXPONENT

2

2

 

CKA_EC_PARAMS

2

2

 

CKA_EC_POINT

2

 

CKA_VALUE

2

2

2

2

 

CKA_VALUE_LEN

 

CKA_CHECK_VALUE

R

R

R

R

R

R

R

 

Attributo

Tipo di chiavi

Valore predefinito

 

EC privato

RSA privato

AES

DES3

Segreto generico

 

CKA_CLASS

2

2

2

2

2

CKA_KEY_TYPE

2

2

2

2

2

CKA_LABEL

CKA_ID

CKA_LOCAL

R

R

R

R

R

False

CKA_TOKEN

False

CKA_PRIVATE

1

1

1

1

1

True

CKA_ENCRYPT

False

CKA_DECRYPT

False

CKA_DERIVE

False

CKA_MODIFIABLE

1

1

1

1

1

True

CKA_DESTROYABLE

True

CKA_SIGN

False

CKA_SIGN_RECOVER

False

CKA_VERIFY

False

CKA_VERIFY_RECOVER

 

CKA_WRAP

False

CKA_UNWRAP

False

CKA_SENSITIVE

True

CKA_EXTRACTABLE

True

CKA_NEVER_EXTRACTABLE

R

R

R

R

R

 

CKA_ALWAYS_SENSITIVE

R

R

R

R

R

 

CKA_MODULUS

 

CKA_MODULUS_BITS

 

CKA_PRIME_1

 

CKA_PRIME_2

 

CKA_COEFFICIENT

 

CKA_EXPONENT_1

 

CKA_EXPONENT_2

 

CKA_PRIVATE_EXPONENT

 

CKA_PUBLIC_EXPONENT

 

CKA_EC_PARAMS

 

CKA_EC_POINT

 

CKA_VALUE

 

CKA_VALUE_LEN

 

CKA_CHECK_VALUE

R

R

R

R

R

 

Attributo

Tipo di chiavi

Valore predefinito

 

AES

DES3

Segreto generico

 

CKA_CLASS

2

2

2

CKA_KEY_TYPE

2

2

2

CKA_LABEL

CKA_ID

CKA_LOCAL

R

R

R

True

CKA_TOKEN

False

CKA_PRIVATE

1

1

1

True

CKA_ENCRYPT

False

CKA_DECRYPT

False

CKA_DERIVE

False

CKA_MODIFIABLE

1

1

1

True

CKA_DESTROYABLE

1

1

1

True

CKA_SIGN

False

CKA_SIGN_RECOVER

 

CKA_VERIFY

False

CKA_VERIFY_RECOVER

 

CKA_WRAP

False

CKA_UNWRAP

False

CKA_SENSITIVE

R

R

R

True

CKA_EXTRACTABLE

True

CKA_NEVER_EXTRACTABLE

R

R

R

 

CKA_ALWAYS_SENSITIVE

R

R

R

 

CKA_MODULUS

 

CKA_MODULUS_BITS

 

CKA_PRIME_1

 

CKA_PRIME_2

 

CKA_COEFFICIENT

 

CKA_EXPONENT_1

 

CKA_EXPONENT_2

 

CKA_PRIVATE_EXPONENT

 

CKA_PUBLIC_EXPONENT

 

CKA_EC_PARAMS

 

CKA_EC_POINT

 

CKA_VALUE

 

CKA_VALUE_LEN

2

2

 

CKA_CHECK_VALUE

R

R

R

 

Attributo

Tipo di chiavi

 

EC privato

EC pubblico

RSA privato

RSA pubblico

AES

DES3

Segreto generico

CKA_CLASS

CKA_KEY_TYPE

CKA_LABEL

CKA_ID

CKA_LOCAL

CKA_TOKEN

CKA_PRIVATE

1

1

1

1

1

1

1

CKA_ENCRYPT

CKA_DECRYPT

CKA_DERIVE

CKA_MODIFIABLE

CKA_DESTROYABLE

CKA_SIGN

CKA_SIGN_RECOVER

CKA_VERIFY

CKA_VERIFY_RECOVER

CKA_WRAP

CKA_WRAP_TEMPLATE

CKA_TRUSTED

CKA_WRAP_WITH_TRUSTED

CKA_UNWRAP

CKA_UNWRAP_TEMPLATE

CKA_SENSITIVE

CKA_EXTRACTABLE

CKA_NEVER_EXTRACTABLE

CKA_ALWAYS_SENSITIVE

R

R

R

R

R

R

R

CKA_MODULUS

CKA_MODULUS_BITS

CKA_PRIME_1

S

CKA_PRIME_2

S

CKA_COEFFICIENT

S

CKA_EXPONENT_1

S

CKA_EXPONENT_2

S

CKA_PRIVATE_EXPONENT

S

CKA_PUBLIC_EXPONENT

CKA_EC_PARAMS

CKA_EC_POINT

CKA_VALUE

S

CKA_VALUE_LEN

CKA_CHECK_VALUE

Annotazioni degli attributi

  • [1] Questo attributo è parzialmente supportato dal firmware e deve essere impostato esplicitamente solo sul valore predefinito.

  • [2] Attributo obbligatorio.

Modifica degli attributi

Alcuni attributi di un oggetto possono essere modificati dopo la creazione dell'oggetto, mentre altri no. Per modificare gli attributi, utilizza il comando setAttribute da cloudhsm_mgmt_util. È inoltre possibile ottenere un elenco di attributi e costanti che li rappresentano utilizzando il comando listAttribute da cloudhsm_mgmt_util.

L'elenco seguente mostra gli attributi modificabili dopo la creazione dell'oggetto:

  • CKA_LABEL

  • CKA_TOKEN

    Nota

    La modifica è consentita solo per la modifica di una chiave di sessione in una chiave di token. Utilizza il comando setAttribute da key_mgmt_util per modificare il valore dell'attributo.

  • CKA_ENCRYPT

  • CKA_DECRYPT

  • CKA_SIGN

  • CKA_VERIFY

  • CKA_WRAP

  • CKA_UNWRAP

  • CKA_LABEL

  • CKA_SENSITIVE

  • CKA_DERIVE

    Nota

    Questo attributo supporta la derivazione della chiave. Deve essere False per tutte le chiavi pubbliche e non può essere impostato su True. Per le chiavi segrete ed EC private, può essere impostato su True o False.

  • CKA_TRUSTED

    Nota

    Questo attributo può essere impostato su True o su False solo da Responsabile della crittografia (CO).

  • CKA_WRAP_WITH_TRUSTED

    Nota

    Applica questo attributo a una chiave di dati esportabile per specificare che è possibile eseguire il wrapping della chiave solo con chiavi contrassegnate come CKA_TRUSTED. Una volta impostato l'attributo CKA_WRAP_WITH_TRUSTED su true, questo diventa di sola lettura e non è possibile modificarlo o rimuoverlo.

Interpretazione dei codici di errore

La specifica nel modello di un attributo non supportato da una chiave specifica genera un errore. La tabella riportata di seguito contiene i codici di errore generati quando si violano le specifiche:

Codice di errore Descrizione
CKR_TEMPLATE_INCONSISTENT Si riceve questo errore quando si specifica un attributo nel modello di attributo, in cui l'attributo è conforme alla specifica PKCS #11, ma non è supportato da CloudHSM.
CKR_ATTRIBUTE_TYPE_INVALID Si riceve questo errore quando si recupera il valore di un attributo, che è conforme alla specifica PKCS #11, ma non è supportato da CloudHSM.
CKR_ATTRIBUTE_INCOMPLETE Si riceve questo errore quando non si specifica l'attributo obbligatorio nel modello di attributo.
CKR_ATTRIBUTE_READ_ONLY Si riceve questo errore quando si specifica un attributo di sola lettura nel modello di attributo.