z/OS Cryptographic Services ICSF Application Programmer's Guide
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


Types of Keys

z/OS Cryptographic Services ICSF Application Programmer's Guide
SA22-7522-16

The cryptographic keys are grouped into these categories based on the functions they perform.

  • DES master key. The DES master key is a double-length (128 bits) key used only to encrypt other keys. The ICSF administrator installs and changes the DES master key (see z/OS Cryptographic Services ICSF Administrator’s Guide for details). The administrator does this by using the Master Key Entry panels or the optional Trusted Key Entry (TKE) workstation.

    The master key always remains in a secure area in the cryptographic facility.

    It is used only to encipher and decipher keys. Other keys also encipher and decipher keys and are mostly used to protect cryptographic keys you transmit on external links. These keys, while on the system, are also encrypted under the master key.

  • AES master key. The AES master key is a 32–byte (256 bits) key used only to encrypt other keys. The ICSF administrator installs and changes the AES master key (see z/OS Cryptographic Services ICSF Administrator’s Guide for details). The administrator does this by using the Master Key Entry panels or the optional Trusted Key Entry (TKE) workstation (TKE V5.3).

    The master key always remains in a secure area in the cryptographic facility.

    It is used only to encipher and decipher keys. Other keys also encipher and decipher keys and are mostly used to protect cryptographic keys you transmit on external links. These keys, while on the system, are also encrypted under the master key.

  • AES Data-encrypting keys. The AES data-encrypting keys are 128-, 192- and 256-bits keys that protect data privacy. If you intend to use a data-encrypting key for an extended period, you can store it in the CKDS so that it will be reenciphered if the master key is changed.
  • AES Cipher keys. The AES cipher keys are 128-, 192- 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 the CKDS so that it will be reenciphered if the master key is changed.
  • DES Data-encrypting keys. The DES data-encrypting keys are single-length (64-bit), double-length (128-bit), or triple-length (192-bit) keys that protect data privacy. Single-length 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, you can store it in the CKDS so that it will be reenciphered if the master key is changed.

    You can use single-length data-encrypting keys in the encipher, decipher, encode, and decode callable services to manage data and also in the MAC generation and MAC verification callable services. Double-length and triple-length data-encrypting keys can be used in the encipher and decipher callable services for more secure data privacy. DATAC is also a double-length data encrypting key.

    Single-length data-encrypting keys can be exported and imported using the ANSI X9.17 key management callable services.

  • Data-translation keys. The data-translation keys are single-length (64 bits) keys used for the ciphertext translate callable service as either the input or the output data-transport key.

    Restriction: Data-translation keys are only supported on the IBM eServer zSeries 900.

  • CIPHER keys. These consist of CIPHER, ENCIPHER and DECIPHER keys. They are single and double length keys for enciphering and deciphering data.
    Note:
    Double-length CIPHER, ENCIPHER and DECIPHER keys are only supported on the IBM eServer zSeries 990, IBM eServer zSeries 890, z9 EC, z9 BC, z10 EC and z10 BCz9 EC and z9 BC with a PCIXCC, CEX2C, or CEX3C.
  • HMAC keys. HMAC keys are variable-length (80 - 2048 bits) keys used to generate and verify MACs using the key-hash MAC algorithm.
  • MAC keys. The MAC keys are single- and double-length (64 and 128 bits) keys used for the callable services that generate and verify MACs.

    With a PCIXCC, CEX2C, or CEX3C, MAC and MACVER can be single or double length keys.

  • 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 (128 bits) keys. PIN keys are used in the Clear PIN generate, Encrypted PIN verify, and Encrypted PIN translate callable services.

    For installations that do not support double-length 128-bit keys, effective single-length keys are provided. For a single-length key, the left key half of the key equals the right key half.

    Managing Personal Authentication 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 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 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.
    Note:
    A key-encrypting key should be as strong or stronger than the key it is wrapping.
  • 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 transport keys:

    • Exporter or OKEYXLAT key-encrypting 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 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.
    • NOCV Importers and Exporters are key-encrypting keys used to transport 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:
      • On CCF systems, installation of NOCV enablement keys on the CKDS is required.
      • On PCIXCC, CEX2C, and CEX3C systems, use of NOCV IMPORTERs and EXPORTERs is controlled by access control points.
      • Only programs in system or supervisor state can use the NOCV key-encrypting key in the form of tokens in callable services. Any problem program may use NOCV key-encrypting key with labelnames from the CKDS.
      • NOCV key-encrypting key on the CKDS should be protected by RACF.
      • NOCV key-encrypting key can be used to encrypt single or double length 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 .
      • With PCIXCCs, CEX2Cs, and CEX3Cs, NOCV key-encrypting keys can be used with triple length DATA keys. Since 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:
    Transport keys replace local, remote, and cross keys used by PCF.

    You use key-encrypting keys to protect keys that are transported using any of these services: data key export, key export, key import, clear key import, multiple clear key import, secure key import, multiple secure key import, key generate, and key translate.

    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.

  • ANSI X9.17 key-encrypting keys. These bidirectional key-encrypting keys are used exclusively in ANSI X9.17 key management. They are either single-length (64 bits) or double-length (128 bits) keys used to protect keys when you distribute them from one system to another according to the ANSI X9.17 protocol.
    Note:
    ANSI X9.17 keys are only supported on the IBM eServer zSeries 900.
  • Key-Generating Keys. Key-generating keys are double-length keys used to derive unique-key-per-transaction keys.

Other Considerations

These are considerations for keys held in the cryptographic key data set (CKDS) or by applications.

  • ICSF ensures that keys held in the CKDS are reenciphered during the master key change. Keys with a long life span (more than one master key change) should be stored in the CKDS.
  • Keys enciphered under the host DES master key and held by applications are automatically reenciphered under a new master key as they are used. Keys with a short life span (for example, VTAM SLE data keys) do not need to be stored in the CKDS. However, if you have keys with a long life span and you do not store them in the CKDS, they should be enciphered under the importer key-encrypting key. The importer key-encrypting key itself should be stored in the CKDS.

Table 3 describes the key types.

You can build, generate, import, or export key types DECIPHER, ENCIPHER, CIPHER, CVARDEC, and CVARPINE on a CCF system, but they are not usable on CCF systems.They will be usable by ICSF if running on a z990, z890, z9 EC, z9 BC, z10 EC and z10 BC with a PCIXCC, CEX2C, or CEX3C.

Table 3. Descriptions of Key Types
Key TypeMeaning
AESDATAData encrypting key. Use the AES 128-, 192- or 256-bit key to encipher and decipher data.
AESTOKENMay contain an AES key.
AKEKSingle-length or double-length, bidirectional key-encrypting key used for the ANSI X9.17 key management callable services. AKEK keys are only supported on the IBM eServer zSeries 900.
CIPHER
  • DES: This single or double-length key is used to encrypt or decrypt data. It can be used in the Encipher and Decipher callable services.

    z900 only: This is a single-length key and cannot be used in the Encipher and Decipher services.

  • AES: This 128-, 192- or 256-bit key is used to encrypt or decrypt data. It can be used in the Symmmetric Algorithm Decipher and Symmetric Algorithm Encipher callable services.
CLRAESData encrypting key. The key value is not encrypted. Use this AES 128-, 192- or 256-bit key to encipher and decipher data.
CLRDESData encrypting key. The key value is not encrypted. Use this DES single-length, double-length, or triple-length key to encipher and decipher data.
CVARDECThe TSS Cryptographic variable decipher verb uses a CVARDEC key to decrypt plaintext by using the Cipher Block Chaining (CBC) method. This is a single-length key.
CVARENCCryptographic variable encipher service uses a CVARENC key to encrypt plaintext by using the Cipher Block Chaining (CBC) method. This is a single-length key.
CVARPINEUsed to encrypt a PIN value for decryption in a PIN-printing application. This is a single-length key.
CVARXCVLUsed to encrypt special control values in DES key management. This is a single-length key.
CVARXCVRUsed to encrypt special control values in DES key management. This is a single-length key.
DATAData encrypting key. Use this DES single-length, double-length, or triple-length key to encipher and decipher data. Use the AES 128-, 192- or 256-bit key to encipher and decipher data.
DATACUsed to specify a DATA-class key that will perform in the Encipher and Decipher callable services, but not in the MAC Generate or MAC Verify callable services. This is a double-length key. Only available with a PCIXCC/CEX2C/CEX3C.
DATAMDouble-length MAC generation key. Used to generate a message authentication code.
DATAMVDouble-length MAC verification key. Used to verify a message authentication code.
DATAXLATData translation key. Use this single-length key to reencipher text from one DATA key to another. DATAXLAT keys are only supported on the IBM eServer zSeries 900.
DECIPHERThis single or double-length DES key is used to decrypt data. It can be used in the Decipher callable service.

z900 only: This is a single-length key and cannot be used in the Decipher service.

DKYGENKYUsed to generate a diversified key based on the key-generating key. This is a double-length key.
ENCIPHERThis single or double-length DES key is used to encrypt data. It can be used in the Encipher callable service.

z900 only: This is a single-length key and cannot be used in the Encipher service.

EXPORTERExporter key-encrypting key. Use this double-length DES key or 128-, 192-, or 256-bit AES key to convert a key from the operational form into exportable form.
IKEYXLATUsed to decrypt an input key in the Key Translate callable service. This is a double-length key.
IMPORTERImporter key-encrypting key. Use this double-length DES key or 128-, 192- or 256-bit AES key to convert a key from importable form into operational form.
IMP-PKADouble-length limited-authority importer key used to encrypt PKA private key values in PKA external tokens.
IPINENCDouble-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 services. If an encrypted PIN block is contained in the output of the SET Block Decompose service, it may be encrypted by an IPINENC key.
MACSingle, double-length, or variable-length MAC generation key. Use this key to generate a message authentication code.

z900 only: This is a single-length key.

MACVERSingle, double-length, or variable-length MAC verification key. Use this key to verify a message authentication code.

z900 only: This is a single-length key.

OKEYXLATUsed to encrypt an output key in the Key Translate callable service. This is a double-length key.
OPINENCOutput 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 callable services are encrypted under this type of key. If an encrypted PIN block is contained in the output of the SET Block Decompose service, it may be encrypted by an OPINENC key.
PINGENPIN generation key. Use this double-length key to generate PINs.
PINVERPIN verification key. Use this double-length key to verify PINs.
TOKENA key token that may contain a key.

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.

There are four callable services you can use to convert a clear key to an encrypted key:

  • To convert a clear key to an encrypted data key in operational form, use either the Clear Key Import callable service or the Multiple Clear Key Import callable service.
  • To convert a clear key to an encrypted key of any type, in operational or importable form, use either the Secure Key Import callable service or the Multiple Secure Key Import callable service.
Note:
The Secure Key Import and Multiple Secure Key Import callable services can only execute in special secure mode.

Clear key DATA tokens can be stored in the CKDS. These tokens can only be used by symmetric key decipher and symmetric key encipher callable services for the DES and AES algorithms.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014