Secure boot

The AIX Secure boot feature is used to verify the authenticity of the boot process.

You can use the secure boot technology to verify the integrity of PowerVM firmware, including hostboot, Power hypervisor (PHYP), and partition firmware (PFW) through digital signature in POWER9 systems, or later, and PowerVM systems. The firmware that is run on the POWER9 processor can be trusted when you use the firmware secure boot feature.

The AIX Secure boot feature extends the chain of trust to the AIX logical partition (LPAR) by digitally verifying the following AIX and PFW codes:
  • OS boot loader
  • Kernel
  • Runtime environment
  • Device drivers, including boot device drivers
  • Kernel extensions
  • Applications
  • Libraries

The AIX boot image is enhanced to include the digital signatures of the boot loader and the kernel. The boot loader enhancement allows the digital signatures to be validated by the PFW. In addition, PFW validates the digital signature of the boot code included in adapter microcode. If an adapter's boot code does not include a valid digital signature, the adapter cannot be used as a boot device for the trusted LPAR. The boot loader validates the digital signature of the kernel. The AIX Secure boot feature uses Trusted Execution technology that relies on the Trusted Signature Database (TSD). The TSD stores the digital signatures of device drivers, application binaries, and other AIX codes. The AIX Secure boot feature checks the integrity of the boot and initialization codes to the end of the inittab file.

The AIX Secure boot feature includes the following enhancements:
  1. The AIX Secure boot feature starts validating code integrity before the Trusted Execution feature. When The AIX Secure boot feature is enabled, the TSD is loaded earlier in the boot process. The TSD is loaded before the kernel loads the first application.
  2. The AIX Secure boot feature verifies the digital signatures of the codes that must be executed. At run time, the Trusted Execution feature verifies the cryptographic hashes of the boot and initialization codes.

The AIX Secure boot feature is configured by using the management console. The Hardware Management Console (HMC) currently supports The AIX Secure boot feature. The AIX operating system supports the following basic secure boot settings:

0. Secure boot disabled
1. Enabled (or log only)
2. Enforce (abort the boot operation if signature verification fails)
3. Enforce policy 2 and avoid loading programs or libraries that are not found in TSD. Also, disable write access to /dev/*mem devices.
4. Enforce policy 3 and disable the kernel debugger (KDB)

If the integrity of any file fails validation during the boot operation in Audit mode, the LPAR continues to boot. However, the system administrator logs the errors in /var/adm/ras/securebootlog for inspection after the LPAR boots. When the digital signature verification of files fails during the boot in Enforce mode, the boot process is aborted and displays the LPAR status in the HMC with the following LED code:
0x328
You can disable additional debugging capabilities at a higher level of The AIX Secure boot feature policy.

It is recommended to first enable the Audit policy. After the system is set up and starts properly, you can switch to an advanced policy. In the current release, only IBM signed objects are supported.

To list the secure boot policy from the LPAR, run the following command:
lsattr -E -l sys0 -a secure_boot

The AIX Secure boot feature and Trusted Execution features are meant to complement each other. The AIX Secure boot feature handles the boot process while the Trusted Execution handles the runtime. You can maximize the operating system security, by using both the AIX Secure boot and Trusted Execution features.

Troubleshooting a secure boot failure

An LPAR is stopped when it is booted with a secure boot policy option of 2, 3 or 4, and signature verification failed during boot. To troubleshoot the failure in this scenario, you can restart the system with the secure boot policy 1 option and view the secure boot logs in the /var/adm/ras/securebootlog directory.

If an LPAR is booted with a secure boot policy option of 3 or 4, any binary signatures that are not available during the boot time are not loaded. Binaries in this scenario, such as RSCT daemons, must be started manually after the boot occurs.