- 23 Jan 2025
- 2 Minutes à lire
- SombreLumière
- PDF
Key encrypting key (KEK)
- Mis à jour le 23 Jan 2025
- 2 Minutes à lire
- SombreLumière
- PDF
The key encrypting key (KEK) is typically used by the customer to deliver the HSM-level DPX transport key to OneSpan.
The following steps are involved in the generation and distribution of this key:
- The customer generates the key and its key check value (KCV). The key encrypting key is a double-length (128 bits, including parity bits) or triple-length (192 bits, including parity bits) 3DES key. The length of the key should be equal to or greater than the length of the HSM-level DPX transport key.
- The customer distributes the key encrypting key to OneSpan as follows:
- The customer splits the key encrypting key into multiple key shares (typically two or three). An XOR of all key shares must equal the original key encrypting key. Trivial key shares, such as 000 … 0 are not allowed. Each key share is a double-length or triple-length 3DES key, or AES key in its own right, with odd parity (3DES only) and key check value (KCV).
- The customer allocates the different key shares to different key custodians. Key custodians should know their respective key shares only.
- OneSpan imports the key encrypting key as follows:
- OneSpan conducts a key import ceremony, orchestrated by a security officer.
- The security officer determines the order in which the different key shares are loaded, and verifies that the key shares have been loaded correctly (e.g. a key share has to match its key check value).
The key check value (KCV) of a 3DES-key/AES-key is computed using the VISA standard mechanism:
- Encrypt an 8-byte/16-byte all-zero data block using 3DES/AES in ECB mode with the key.
- Extract the left-hand 3 bytes from the output (discarding the right-hand 5 bytes/13 bytes).
- Represent the 3 bytes as 6 hexadecimal digits.
Date: 07 March 2007
Key Share (A/B/C): A
Key Share: b9ae 4051 a8f8 625b 01d0 b93b
6131 dadc c779 f494 fd8a 5eea
Key Share KCV: 1ccc74
Key Encryption Key KCV: 26d098
The key encrypting key has the following properties:
- This key is either:
- Double-length 3DES key (128 bits, including parity bits)
- Triple-length 3DES key (192 bits, including parity bits) (triple-length highly recommended)
- AES-128 key (128 bits) or
- AES-256 key (256 bits)
- This key is used to encrypt some HSM-level DPX transport keys for export purposes.
- Key rotation takes place on a regular basis, expected to be two years at most.
This key must NOT be loaded into the Authentication Suite Server SDK SEE machine as it will not be used directly by Authentication Suite Server SDK for HSM. This key will be used outside the Authentication Suite Server SDK context, to export one or more HSM-level DPX transport key(s) in encrypted form.
In this document, a key share is also referred to as a key component.
AES-128 and AES 256 KEK keys cannot be used to encrypt HSM level DPX transport keys of type 3DES triple length.