订阅内容

The new major release of Red Hat Enterprise Linux (RHEL) brings a number of important improvements in the confidential computing domain. This article covers the most important features available now in both RHEL 10 and RHEL 9.6: 

  • Full support for RHEL Unified Kernel Image (UKI), including FIPS and kdump support
  • Intel Trusted Domain Extension (TDX) guests
  • Trustee attestation client

Full support for RHEL Unified Kernel Image (UKI)

First introduced in RHEL9.2 as a Technology Preview, UKI for RHEL is a UEFI Portable Executable (PE) binary containing the Linux kernel, initramfs, and kernel command line. Having all these parts in one binary allows for extending Secure Boot protection to cover the whole operating system boot process. This is important in various scenarios where the operating system starts booting from an untrusted storage, such as a confidential virtual machine (CVM) on a public cloud.

RHEL UKI is shipped  in the kernel-uki-virt package, and currently supports x86_64 architecture only. In the future, we plan to add other architectures that support UEFI firmware, in particular, ARM64 (Aarch 64). 

RHEL UKI is targeted at virtual machines and cloud instances. It can be used when the following prerequisites are met:

  • UEFI firmware is used for booting (legacy BIOS boot is unsupported)
  • Storage is NVMe, Virtio, or VMBus
  • The drive uses GPT with standard partitioning. The partitioning scheme must be compliant with systemd-gpt-auto-generator. LUKS encrypted volumes are also supported
  • Root volume uses XFS or Ext4 filesystem

UKI is based on systemd-stub and as a PE binary, and it can be booted directly from UEFI firmware. At Red Hat, we recommend using the shim bootloader when booting UKI. This allows the use of additional security mechanisms provided by shim, such as Machine Owner Key (MOK) and Secure Boot Advanced Targeting (SBAT). To simplify managing UEFI variables, uki-direct package (part of python3-virt-firmware) contains a convenient kernel-bootcfg tool. This package can also be used to implement A/B booting, in which the newly installed UKI is tried once and, in the event it boots successfully, becomes the default.

With the release of RHEL 10 and RHEL9.6, RHEL UKI technology is fully supported. Note that RHEL UKI can also be extended using the addons mechanism. 

RHEL UKI supports FIPS mode

In some cases, when using RHEL UKI, it may be necessary to modify an otherwise static kernel command line. In particular, switching RHEL to FIPS mode requires the fips=1 parameter on the kernel command line. To simplify common use cases, RHEL UKI ships with a set of pre-built and signed kernel command-line extensions included with kernel-uki-virt-addons package. With this package, FIPS enablement on the kernel command line is as easy as copying an addon to the EFI system partition:

# rpm -q kernel-uki-virt kernel-uki-virt-addons 
kernel-uki-virt-5.14.0-569.el9.x86_64 
kernel-uki-virt-addons-5.14.0-569.el9.x86_64 
# cp \ 
/lib/modules/5.14.0-569.el9.x86_64/vmlinuz-virt.efi.extra.d/fips-enable-virt.rhel.x86_64.addon.efi \ 
/boot/efi/EFI/Linux/`cat /etc/machine-id`-5.14.0-569.el9.x86_64.efi.extra.d/ 
# reboot 

After rebooting, you can verify that fips=1 appeared on the kernel command line:
 

# cat /proc/cmdline 
console=tty0 console=ttyS0  fips=1 

Note that in RHEL 9, you must also use fips-mode-setup to switch system-wide crypto policies to FIPS mode. With RHEL UKI, launch it with the --no-bootcfg switch:

# fips-mode-setup --no-bootcfg

RHEL UKI supports kdump enablement

Similar to FIPS, enabling kdump requires memory reservation. This is done by specifying crashkernel= parameter on the kernel command line. For convenience, kernel-uki-virt-addons includes signed addons for most common use cases:

# ls -1 /lib/modules/`uname -r`/vmlinuz-virt.efi.extra.d/ \ 
| grep crashkernel 
crashkernel-1536M-virt.rhel.x86_64.addon.efi 
crashkernel-192M-virt.rhel.x86_64.addon.efi 
crashkernel-1G-virt.rhel.x86_64.addon.efi 
crashkernel-256M-virt.rhel.x86_64.addon.efi 
crashkernel-2G-virt.rhel.x86_64.addon.efi 
crashkernel-512M-virt.rhel.x86_64.addon.efi 
crashkernel-default-virt.rhel.x86_64.addon.efi 

To enable the required addon, copy it to the /boot/efi/EFI/Linux/`cat /etc/machine-id`-`uname -r`.efi.extra.d/ directory.

Intel Trust Domain Extension (TDX) guests are now fully supported

Intel Trusted Domain Extension (TDX) is a confidential computing technology from Intel that provides hardware-isolated virtual machines (called a "trusted domain" or TD). Intel TDX provides confidentiality, authenticity, and integrity guarantees.

Support for running RHEL inside a TDX trusted domain was introduced with the RHEL 9.2 release as a Technology Preview. With the RHEL 10 and RHEL 9.6 releases, this use-case is fully supported. In particular, RHEL can be used on Google's C3 machine series in Google Cloud as well as on Microsoft Azure DCesv5 and ECesv5 series (currently in public preview).

Trustee client in RHEL

Remote attestation is an essential part of Confidential Computing because it proves the trustworthiness of an environment before confidential data can be put there. In a previous article, we described the IETF remote attestation procedures architecture (RATS) model and the Trustee project, and how these can be applied to Confidential Containers. RHEL 9.6 and 10 make using Trustee simple, and the Trustee client is included as the trustee-guest-components package. Note that the client is offered as a Technology Preview and can be used for development and testing purposes.

Summary

When confidentiality and security is an absolute priority, you can run RHEL on state-of-the-art hardware technologies, like AMD’s SEV-SNP and Intel’s TDX, with confidence that the software shipped with RHEL, such as RHEL UKI, is stable. Red Hat focuses on the ease of consumption of confidential computing technologies, making sure they are available to all customers running RHEL in virtualized and cloud environments.

product trial

红帽企业 Linux 服务器版 | 60 天免费试用

免费获取红帽企业 Linux 服务器 60 天单机自助服务订阅,红帽智能管理和红帽智能分析使用权限,以及红帽客户门户网站访问权限,可查看文档、视频与探讨分析等丰富的资源。

关于作者

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事