III. RESULTADOS
3.5. Aporte práctico
3.5.11. Mejoras al aseguramiento de la información
In this section, we provide details about how the Tivoli Key Lifecycle Manager key server manages and creates the encryption keys used by the DS8000 during key label and encryption group and rank creation, as well as at the DS8000 power-on time.
Customer Data
Band 1
Band 0
Important: Only key negotiation and authentication between the Tivoli Key Lifecycle Manager and DS8000 take place at power on of the DS8000. No traffic overhead is created by key negotiation in an encrypted DS8000 at run time.
Chapter 3. IBM storage encryption methods 63 The Tivoli Key Lifecycle Manager uses the wrapped key method to serve keys to the
encryption-enabled DS8000. The wrap/unwrap keys on the Tivoli Key Lifecycle Manager are a public/private asymmetric key pair that is referred to as the public key encrypting key (KEK) and the private key encrypting key (KEK’).
The configuration processes on the Tivoli Key Lifecycle Manager and the storage device (DS8000) define one key label for the DS8000 (or two key labels when dual platform support is enabled (see 3.4.4, “Dual platform key server support” on page 70)).
The key label is a user-specified text string that is associated with the asymmetric key label pair (KEK/KEK’), which is generated by the Tivoli Key Lifecycle Manager when the key label is configured. See Figure 3-6. This key label pair, or key encrypting key pair, is maintained by the Tivoli Key Lifecycle Manager, and it is used to wrap and unwrap data keys. The key encrypting key pair key is kept secret by the Tivoli Key Lifecycle Manager.
Figure 3-6 Configure Tivoli Key Lifecycle Manager Key Label
Now, the user (storage administrator) will use the DS8000 GUI to register the key server on the DS8000. Next, still using the DS8000 GUI or, alternatively, using the DS8000 CLI, an encryption group is created. For details, see 23.3.1, “Configuring the Tivoli Key Lifecycle Manager server connection” on page 804.
As part of creating the encryption group, you must specify the key label that was set when configuring the Tivoli Key Lifecycle Manager server.
While creating the encryption group, the DS8000 generates a device session key pair (device session public key/device session private key or (DSK/DSK’)). The device session private key (DSK’) is kept secret by the DS8000.
The key label, device session public key (DSK), and the DS8000 SFI certificate (which was set and stored on the DS8000 by manufacturing) are sent to the Tivoli Key Lifecycle Manager.
After receiving these objects, Tivoli Key Lifecycle Manager performs the following steps (see Figure 3-7 on page 64):
1. Tivoli Key Lifecycle Manager validates the DS8000 certificate.
2. From the key label, Tivoli Key Lifecycle Manager retrieves the key label key pair (KEK/KEK’).
3. Tivoli Key Lifecycle Manager generates the data key.
4. The data key is wrapped with the key label public key (or public KEK) and stored in a structure that is referred to as the externally encrypted data key.
DS8000: Currently, the DS8000 has only one encryption group.
Key Lifecycle Manager (TKLM)
(1) USER Create Key Label (Key Label)
-generate Key-Label Key Pair -Key-Label Public Key (KEK) -Key-Label Private Key (KEK‘) - store Key Label and Key-Label Key Pair
5. The data key is wrapped with the device session public key and stored in a structure referred to as the session encrypted data key.
Figure 3-7 Configure encryption group
Now, the Tivoli Key Lifecycle Manager transfers the session encrypted data key and EEDK key to the DS8000. The following steps occur:
1. To re-create the data key at the DS8000, the session encryption data key is unwrapped with device session private key (DSK’). The DS8000 holds the data key in memory.
2. The DS8000 generates a random 256-bit group key (GK) for the encryption group.
3. The group key (GK) is wrapped with the data key and stored in a structure referred as the encrypted group key (EGK). The EGK is persistently stored on the system disk in the key repository. Both the externally encrypted data key (EEDK) and the EGK are stored in multiple places for redundancy.
This dual control from DS8000 and Tivoli Key Lifecycle Manager improves security. The DS8000 does not maintain a persistent copy of the data key in the clear and is thus unable to encrypt or decrypt data without access to the Tivoli Key Lifecycle Manager.
When the user configures a rank, the DS8000 creates an access credential to lock each drive for each disk drive module (DDM) in this rank (see Figure 3-8 on page 65). The following steps occur during the configuration of the rank:
1. The DS8000 reads the disk serial number and hashes this disk serial number with the group key to create the access credential.
2. The access credential is sent to the drive, which is where the drive encrypted data key is wrapped with the access credential. A hash of the access credential is also stored on the drive.
Data key: The data key is erased by the DS8000 at power off. Each time that the DS8000 is powered on, it must communicate with the Tivoli Key Lifecycle Manager to obtain the data key.
Storage Facility Image (SFI) Key Lifecycle Manager Create Encryption Group
<Get Key-Label Key Pai r for Key-Labe (KEK/KEK’)l>
<generate data key=DK>
Chapter 3. IBM storage encryption methods 65 Figure 3-8 Configure rank
The following steps, which are also shown in Figure 3-9 on page 66, are performed to regain access to locked drives at power on:
1. The DS8000 requests that the Tivoli Key Lifecycle Manager unwrap an existing wrapped data key by sending the request to the Tivoli Key Lifecycle Manager with the saved externally encrypted data key (EEDK) and the session public key.
2. The Tivoli Key Lifecycle Manager unwraps the EEDK with the key label private key to obtain the data key.
3. The data key is wrapped with the session public key to create the session encrypted data key. The session encrypted data key is returned to the DS8000.
4. The session encrypted data key is decrypted with the session private key to obtain the data key.
5. The data key is then used to unwrap the encrypted group key (EGK) to get the group key (GK).
6. The serial number of the disk is read and hashed with the GK to obtain the access credential.
7. The hashed access credential is sent to disk, and the validity of the access credential is verified.
8. If the access credential is valid, the disk encrypted data key is unwrapped to gain access to the data.
Important: The DS8000 must be able to communicate with the Tivoli Key Lifecycle Manager during power on.
Encrypting Disk
Encrypt / Decrypt Hardware Non-Volatile Memory Hashed Access Credential
Data Key Encrypted Data Key
Lock (Access Credential) <hash> <encrypt>
Storage Facility Image (SFI)
USER (3) Configure Rank
(Encryption Group N)
Read Disk Serial Number
<Access Credential =
hash(GK(N), Disk Serial Num)>
DS8000
Figure 3-9 Power on of the DS8000
Figure 3-10 summarizes all the key management mechanisms.
Figure 3-10 Encryption key management
Encrypting Disk
Session Public Key) <DK=unwrap(EEDK, Key-Label Private Key)>
<SEDK=wrap(DK, Session Public Key)>
Session Public Key) <DK=unwrap(EEDK, Key-Label Private Key)>
<SEDK=wrap(DK, Session Public Key)>
Configure TKLM Key Label = Green Configure Encryption Group =Red
Chapter 3. IBM storage encryption methods 67