Types of keys
The cryptographic keys are grouped into the following categories based on the functions that they perform.
- Symmetric keys master key (SYM-MK)
- The SYM-MK master key is a triple-length (192-bit) key that is used only to encrypt other DES
keys on the coprocessor. The administrator installs and changes the SYM-MK master key using the
panel.exe utility, the clear key entry panels, the z/OS® clear key entry panels, or the optional Trusted Key Entry (TKE)
workstation. The master key always remains within the secure boundary of the coprocessor. It is used
only to encipher and decipher keys that are in operational form. Note: If the coprocessor is shared with z/OS, the SYM-MK key must be a double-length (128-bit) key. This means that the first 64 bits and the last 64 bits of the key must be identical. If the master key is loaded by z/OS CCA or from a TKE workstation, it will automatically be a double-length key.
- AES keys master key (AES-MK)
- The AES-MK master key is a 256-bit key that is used to encrypt other AES keys and HMAC keys on the coprocessor. The administrator installs and changes the AES-MK master key using the panel.exe utility, the clear key entry panels, the z/OS clear key entry panels, or the optional Trusted Key Entry (TKE) workstation. The master key always remains within the secure boundary of the coprocessor. It is used only to encipher and decipher keys that are in operational form.
- Asymmetric keys master key (ASYM-MK)
- The ASYM-MK is a triple-length (192-bit) key that is used to protect RSA private keys on the coprocessor. The administrator installs and changes the ASYM-MK master key using the panel.exe utility, the clear key entry panels, the z/OS clear key entry panels, or the optional Trusted Key Entry (TKE) workstation. The master key always remains within the secure boundary of the coprocessor. It is used only to encipher and decipher keys that are in operational form.
- AES CIPHER keys
- The AES cipher keys are 128-bit, 192-bit, and 256-bit keys that protect data privacy. If you intend to use a cipher key for an extended period, you can store it in key storage so that it will be re-enciphered if the master key is changed.
- AES PKA master key (APKA-MK)
- The APKA-MK key, introduced to CCA beginning with Release 4.1.0, is used to encrypt and decrypt the Object Protection Key (OPK) that is itself used to wrap the key material of an Elliptic Curve Cryptography (ECC) key. ECC keys are asymmetric. The APKA-MK is a 256-bit (32-byte) value. The administrator installs and changes the APKA-MK master key using the panel.exe utility, the clear key entry panels, the z/OS clear key entry panels, or the optional Trusted Key Entry (TKE) workstation.
- Data-encrypting keys
- The data-encrypting keys are single-length DES (64-bit), double-length DES (128-bit), or
triple-length DES (192-bit) keys, or 128-bit, 192-bit or 256-bit AES keys that protect data privacy.
Single-length DES data-encrypting keys can also be used to encode and decode data and authenticate
data sent in messages. If you intend to use a data-encrypting key for an extended period of time,
you can store it in the CCA key
storage file so that it will be re-enciphered if the master key is changed.
You can use single-length DES data-encrypting keys in the Encipher and Decipher verbs to manage data, and also in the MAC Generate and MAC Verify verbs. Double-length DES and triple-length DES data-encrypting keys can be used in the Encipher and Decipher verbs for more secure data privacy. DATAC is also a double-length DES data encrypting key.
AES data-encrypting keys can be used in services similar to DES data-encrypting key services.
- DES CIPHER keys
- These consist of CIPHER, ENCIPHER, and DECIPHER keys. They are single and double length DES keys for enciphering and deciphering data.
- Ciphertext translation keys
- These ciphertext translation keys consist of CIPHERXI, CIPHERXL, and CIPHERXO keys. They protect data that is transmitted through intermediate systems when the originator and receiver do not share a common key. Data that is enciphered under one ciphertext translation key is re-enciphered under another ciphertext translation key on the intermediate node. During this process, the data never appears in the clear. These keys are double-length.
- HMAC keys
- HMAC keys are variable-length symmetric keys. The length is in the range of 80 - 2024. HMAC keys
are used to generate and verify HMACs using the FIPS-198 algorithm, with the HMAC Generate and HMAC Verify verbs.
- Operational keys will be encrypted under the AES master key
- HMAC keys can be imported and exported under an RSA key.
- HMAC keys will be stored in the AES key storage file. The AES master key must be active.
For more information about HMAC keys and verb processing, see Verifying data integrity and authenticating messages.
- MAC keys
- The MAC keys are single-length DES (64-bits - DATAM, DATAMV, MAC, and MACVER, ) and double-length DES (128-bits - DATAM, DATAMV, MAC, and MACVER) keys used for the verbs that generate and verify MACs.
- PIN keys
- The personal identification number (PIN) is a basis for verifying the identity of a customer
across financial industry networks. PIN keys are used in cryptographic functions to generate,
translate, and verify PINs, and protect PIN blocks. They are all double-length DES (128 bits) keys.
PIN keys are used in the Clear PIN Generate,
Encrypted PIN Verify, and Encrypted PIN Translate verbs.
For installations that do not support double-length DES 128-bit keys, effective single-length DES keys are provided. For a single-length DES key, the left key half of the key equals the right key half.
Processing personal identification numbers gives an overview of the PIN algorithms you need to know to write your own application programs.
- AES transport keys (or key-encrypting keys)
- Transport keys are also known as key-encrypting keys. They are used to protect AES and HMAC keys
when you distribute them from one system to another. There are two types of AES transport keys:
- Exporter key-encrypting key
- This type of key protects keys of any type that are sent from your system to another system. The exporter key at the originator is the same key as the importer key of the receiver.
- Importer key-encrypting key
- This type of key protects keys of any type that are sent from another system to your system. It also protects keys that you store externally in a file that you can import to your system at another time. The importer key at the receiver is the same key as the exporter key at the originator.
- DES transport keys (or key-encrypting keys)
- Transport keys are also known as key-encrypting keys. They are double-length (128 bits) DES keys
used to protect keys when you distribute them from one system to another. There are several types of DES transport keys:
- Exporter or OKEYXLAT key-encrypting key
- This type of key protects keys of any type that are sent from your system to another system. The exporter key at the originator is the same key as the importer key of the receiver.
- Importer or IKEYXLAT key-encrypting key
- This type of key protects keys of any type that are sent from another system to your system. It also protects keys that you store externally in a file that you can import to your system later. The importer key at the receiver is the same key as the exporter key at the originator.
- NOCV importers and exporters
- These keys are key-encrypting keys used to exchange keys with systems that do not recognize
key-encrypting key variants. There are some requirements and restrictions for the use of NOCV
key-encrypting keys:
- The use of NOCV IMPORTERs and EXPORTERs is controlled by access control points in the coprocessor's role-based access control system.
- Only programs in system or supervisor state can use the NOCV key-encrypting key in the form of tokens in verbs. Any program can use NOCV key-encrypting keys with label names from the key storage.
- Access to NOCV key-encrypting keys should be carefully controlled, because use of these keys can reduce security in your key management process.
- NOCV key-encrypting key can be used to encrypt single or double length DES keys with standard CVs for key types DATA, DATAC, DATAM, DATAMV, DATAXLAT, EXPORTER, IKEYXLAT, IMPORTER, IPINENC, single-length MAC, single-length MACVER, OKEYXLAT, OPINENC, PINGEN and PINVER.
- NOCV key-encrypting keys can be used with triple length DATA keys. Because DATA keys have 0 CVs, processing will be the same as if the key-encrypting keys are standard key-encrypting keys (not the NOCV key-encrypting key).
Note: A key-encrypting key should be as strong or stronger than the key that it is wrapping.
You use key-encrypting keys to protect keys that are transported using any of the following verbs: Data Key Export, Key Export, Key Import, Clear Key Import, Multiple Clear Key Import, Key Generate, Key Generate2, Key Translate and Key Translate2.
For installations that do not support double-length key-encrypting keys, effective single-length keys are provided. For an effective single-length key, the clear key value of the left key half equals the clear key value of the right key half.
- Key-generating keys
- Key-generating keys are double-length keys used to derive other keys. This is often used in smart card applications.
- Clear keys
- A clear key is the base value of a key, and is not encrypted under another key. Encrypted keys
are keys whose base value has been encrypted under another key.
To convert a clear key to an encrypted data key in operational form, use either the Clear Key Import verb or the Multiple Clear Key Import verb.
Key type | Description |
---|---|
AESDATA | Data encrypting key. Use the AES 128-bit, 192-bit, or 256-bit key to encipher and decipher data. |
AESTOKEN | Can contain an AES key. |
CIPHER |
|
CIPHERXI | Usable with the Cipher Text Translate2 verb (translate inbound key only) |
CIPHERXL | Usable with the Cipher Text Translate2 verb (translate inbound or outbound key) |
CIPHERXO | Usable with the Cipher Text Translate2 verb (translate outbound key only) |
CLRAES | Data encrypting key. The key value is not encrypted. Use this AES 128-bit, 192-bit, or 256-bit key to encipher and decipher data. |
CVARDEC | The cryptographic variable decipher service, which is available in some CCA implementations, uses a CVARDEC key to decrypt plaintext by using the Cipher Block Chaining (CBC) method. This is a single-length key. |
CVARENC | The cryptographic variable encipher service, which is available in some CCA implementations, uses a CVARENC key to encrypt plaintext by using the Cipher Block Chaining (CBC) method. This is a single-length key. |
CVARPINE | Used to encrypt a PIN value for decryption in a PIN-printing application. This is a single-length key. |
CVARXCVL | Used to encrypt special control values in DES key management. This is a single-length key. |
CVARXCVR | Used to encrypt special control values in DES key management. This is a single-length key. |
DATA | Data encrypting key. Use this DES single-length, double-length, or triple-length key to encipher and decipher data. Use the AES 128-bit, 192-bit, or 256-bit key to encipher and decipher data. |
DATAC | Used to specify a DATA-class key that will perform in the Encipher and Decipher verbs, but not in the MAC Generate or MAC Verify verbs. This is a double-length key. Only available with a CEX*C. |
DATAM | Key-encrypting keys that have a control vector with this attribute formerly could only be used to transport keys with a key type of DATA, CIPHER, ENCIPHER, DECIPHER, MAC, and MACVER. The meaning of this keyword has been discontinued and its usage is allowed for backward compatibility reasons only. |
DATAMV | Used to specify a DATA-class key that performs in the MAC Verify verb, but not in the MAC Generate, Encipher, or Decipher verbs. |
DATAXLAT | Data translation key. Use this single-length key to reencipher text from one DATA key to another. |
DECIPHER | Used only to decrypt data. DECIPHER keys
cannot be used in the Encipher (CSNBENC) verb.
This is a single-length key. This is a single or double length key and can be used in the Decipher verb. |
DKYGENKY | Used to generate a diversified key based on the key-generating key. This is a double-length key. |
ENCIPHER | Used only to encrypt data. ENCIPHER keys
cannot be used in the Decipher (CSNBDEC) verb.
This is a single-length key. This is a single or double length key and can be used in the Encipher verb. |
EXPORTER | Exporter key-encrypting key. Use this double-length DES key or 128-bit, 192-bit or 256-bit AES key to convert a key from operational form into exportable form. |
HMAC | Variable-length HMAC generation key. Use this key to generate or verify a Message Authentication Code using the keyed-hash MAC algorithm. |
HMACVER | Variable-length HMAC verification key. Use this key to verify a Message Authentication Code using the keyed-hash MAC algorithm. |
IKEYXLAT | Used to decrypt an input key in the Key Translate and Key Translate2 verbs. This is a double-length key. |
IMPORTER | Importer key-encrypting key. Exporter key-encrypting key. Use this double-length DES key or 128-bit, 192-bit or 256-bit AES key to convert a key from importable form into operational form. |
IMP-PKA | Double-length limited-authority importer key used to encrypt PKA private key values in PKA external tokens. |
IPINENC | Double-length input PIN-encrypting key. PIN blocks received from other nodes or automatic teller machine (ATM) terminals are encrypted under this type of key. These encrypted PIN blocks are the input to the Encrypted PIN Translate, Encrypted PIN Verify, and Clear PIN Generate Alternate verbs. |
KEYGENKY | Used to generate a key based on the key-generating key. This is a double-length key. |
MAC | Single, double-length, or variable-length MAC generation key. Use this key to generate a message authentication code. |
MACVER | Single, double-length, or variable-length MAC verification key. Use this key to verify a message authentication code. |
OKEYXLAT | Used to encrypt an output key in the Key Translate and Key Translate2 verbs. This is a double-length key. |
OPINENC | Output PIN-encrypting key. Use this double-length output key to translate PINs. The output PIN blocks from the Encrypted PIN Translate, Encrypted PIN Generate, and Clear PIN Generate Alternate verbs are encrypted under this type of key. |
PINGEN | PIN generation key. Use this double-length key to generate PINs. |
PINVER | PIN verification key. Use this double-length key to verify PINs. |
SECMSG | Used to encrypt PINs or keys in a secure message. This is a double-length key. |
TOKEN | A key token that might contain a key. |
rule_array keyword | Description |
---|---|
AMEX-CSC | A MAC key that can be used for the AMEX CSC transaction validation process MAC calculation method, used with the Transaction Validation (CSNBTRV) verb. |
ANSIX9.9 | A MAC key that can be used for the ANSI X9.9 MAC calculation method, either for MAC Generate (CSNBMGN), MAC Verify (CSNBMVR), or Transaction Validation (CSNBTRV). Other Control Vector bits could limit these usages. |
ANY | Key-encrypting keys that have a control vector with this attribute can be used to transport any type of key. The meaning of this keyword has been discontinued, and its usage is allowed for backward compatibility reasons only. |
ANY-MAC | Can be used with any function or MAC calculation method that uses a MAC key, such as MAC Generate (CSNBMGN), MAC Verify (CSNBMVR), or Transaction Validation (CSNBTRV). This is the default configuration for a MAC key control vector. |
CVVKEY-A | Can be used as 'Key A' in either the CVV Generate (CSNBCSG) or CVV Verify (CSNBCSV) verbs, as controlled by the CVV generation and verification Control Vector bits (bits 20 and 21 respectively). |
CVVKEY-B | Can be used as 'Key B' in either the CVV Generate (CSNBCSG) or CVV Verify (CSNBCSV) verbs, as controlled by the CVV generation and verification Control Vector bits (bits 20 and 21 respectively). |
DATA | Data encrypting key. Use this 8-byte, 16-byte or 24-byte DES key or 16-byte, 24-byte or 32-byte AES key to encipher and decipher data. |
EPINGENA | Legacy key subtype, used to turn on bit 19 of a PIN Generating Key Control Vector. The default PIN Generating Key type will have this bit on. No PIN generating or processing behavior is currently influenced by this key subtype parameter. EPINGENA is no longer supported, although the bit retains this definition for compatibility There is no Encrypted Pin Generate Alternate verb |
LMTD-KEK | Key-encrypting keys that have a control vector with this attribute formerly could only be used to exchange keys with key-encrypting keys that carry NOT-KEK, PIN, or DATA key-type ciphering restrictions. The usage of this keyword has been discontinued and its usage is allowed for backward compatibility reasons only. |
NOT-KEK | Key-encrypting keys that have a control vector with this attribute formerly could not be used to transport key-encrypting keys. The meaning of this keyword has been discontinued and its usage is allowed for backward compatibility reasons only. |
PIN | Key-encrypting keys that have a control vector with this attribute formerly could only be used to transport keys with a key type of PINVER, IPINENC, and OPINENC. The usage of this keyword has been discontinued and its usage is allowed for backward compatibility reasons only. |