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 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 zSeries 990, IBM 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 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 TypesKey Type | Meaning |
---|
AESDATA | Data encrypting key. Use the
AES 128-, 192- or 256-bit key to encipher and decipher data. | AESTOKEN | May contain an AES key. | AKEK | Single-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 zSeries 900. | CIPHER |
| CLRAES | Data encrypting key. The key value is not encrypted.
Use this AES 128-, 192- or 256-bit key to encipher and decipher data. | CLRDES | Data encrypting key. The key value is not encrypted.
Use this DES single-length, double-length, or triple-length key to
encipher and decipher data. | CVARDEC | The 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. | CVARENC | Cryptographic variable encipher service
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-, 192- 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 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. | DATAM | Double-length MAC generation key.
Used to generate a message authentication code. | DATAMV | Double-length MAC verification key.
Used to verify a message authentication code. | DATAXLAT | Data translation key. Use this single-length
key to reencipher text from one DATA key to another. DATAXLAT
keys are only supported on the IBM zSeries 900. | DECIPHER | This 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. | DKYGENKY | Used to generate a diversified key
based on the key-generating key. This is a double-length key. | ENCIPHER | This 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. | EXPORTER | Exporter 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. | IKEYXLAT | Used to decrypt an input key in the
Key Translate callable service. This is a double-length key. | IMPORTER | Importer 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-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 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. | MAC | Single, 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. | MACVER | Single, 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. | OKEYXLAT | Used to encrypt an output key in
the Key Translate callable service. 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 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. | PINGEN | PIN generation key. Use this double-length
key to generate PINs. | PINVER | PIN verification key. Use this double-length
key to verify PINs. | TOKEN | A 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.
|