The following diagram helps to explain how PowerVM is able to decrypt and protect PKS:
PowerVM procedure to access PKS on POWER9 systems
- The PKS root key is read from the protected anchor card (1)
- The wrapped PKS root key is read from SP NVRAM (2)
- The Trusted Platform Modules(s) (TPM) (3) are used to unwrap the PKS root key
- PowerVM compares all copies of the PKS root key to ensure they match in all locations and restores any missing copies. See 'Disaster Recovery' below to understand why
- PowerVM reads the encryption metadata (4) and the encrypted PKS (5) from SP NVRAM
- PowerVM derives a partition unique AES-256 encryption key from the PKS root key and decrypts the partition's PKS using AES-GCM mode in the POWER processor's NX accelerator unit
- PKS is now ready for the partitions to use
- When the partition modifies PKS contents, PowerVM will encrypt it and store it to SP NVRAM
- NOTE: The encryption and storage to SP NVRAM is handled asynchronously. A separate h-call interface is provided to the partition to confirm the object has been completely flushed to SP NVRAM
- PowerVM will periodically encrypt PKS storage and store a copy on the management console as well. See 'Disaster Recovery' below to understand why
Disaster Recovery
The PowerVM Platform KeyStore has been designed to be resilient to HW failure and part replacement.
The PKS root key that protect PKS is stored on multiple components throughout the platform. When PowerVM detects a component has been replaced, it will restore the necessary information to the component during the next boot of the system to regain redundancy.
The partitions PKS data is stored encrypted on the service processor. If the service processor is replaced or a 'Reset server firmware settings' operation is performed on it, then all of the PKS data will be cleared. For this reason, PowerVM encrypts a copy of PKS for every partition and that backup copy is stored on the management console periodically. When the HMC detects that the service processor has been cleared, it will restore PKS as part of the recovery procedure. NOTE: When performing a profile backup from the HMC the PKS backup is included. This means that restoring a partition from a profile backup will restore PKS to the snapshot when the backup was taken. This means any updates to PKS that occurred after the snapshot will be lost.
Migrating a partition that is using the Platform KeyStore
PowerVM supports automatic encrypted migration of the Platform KeyStore.
NOTE: If PKS has been enabled for a partition, the management console will block migration of that partition to a target system that does not support PKS. If nothing has been stored in PKS, PKS can be disabled for the partition, by setting the PKS size to 0 on the management console. If PowerVM determines that PKS is empty, it will disable PKS and the migration can be re-attempted, however if PKS is not empty, the resize operation will be blocked.
Migration via active Live Partition Mobility
PowerVM previously introduced encryption of all data during LPM. More information on this can be found here . PowerVM uses the same LPM encryption technique to transfer PKS from the source to the target destination.
Migration via Simplified Remote Restart (SRR) or Inactive LPM
In order to support SRR of PKS or Inactive LPM, you must setup a matching trusted system key on both the source and target system. The trusted system key is used by PowerVM to generate encryption keys to encrypt the backup copy of PKS that is offloaded to the HMC. This backup copy is used by the management console to migrate PKS to the target system during the SRR procedure.
Warning: The trusted system key must be setup on both systems ahead of time to ensure a successful SRR can be performed even if the source system is not available.
Information about how to change the trusted system key can be found here :
Performing a Secure Erase of the Platform KeyStore
The ASMI Secure Storage Policy menu has been provided to clear sensitive data from the system for the following activities :
- Returning the system to IBM Global Asset Recovery Services (GARS)
- Resale of the system
- When there are changes in the customer workloads, such as moving a system from a development environment to production environment, and vice versa
This procedure will require physical access to the system to authorize the operation. This ensures it can not be used to remotely perform a denial of service attack.
WARNING: Performing this procedure will destroy any data maintained by the Platform KeyStore for all partitions on the system with no way to recover. Any partitions to be maintained MUST be migrated off the system before proceeding.
Process to perform a secure erase of the Platform KeyStore:
- Migrate all partitions to be kept to another system and delete the partitions that are no longer to be maintained
- If necessary power off the system
- Perform a 'Clear All' procedure as documented here to clear and generate a new PKS root key
- After completing step 3 you will need to power off the system
- Perform a 'Reset server firmware settings' procedure as documented here to wipe all encrypted PKS data from SP NVRAM
At this point all persistent data maintained by the server firmware in the platform has been cleared.
Contacting the PowerVM Team
Have questions for the PowerVM team or want to learn more? Follow our discussion group on LinkedIn IBM PowerVM or IBM Community Discussions