Initramfs Support For Digital Signature Protection

Posted by Michael Larabel on February 05, 2013

RFC patches were published on Tuesday to provide digital signature protection support for initramfs.

Dmitry Kasatkin is the developer principally responsible for the initramfs digital signature patches. The patches can be found on the mailing list and he's hoping for comments from other kernel developers.

The second patch explains how this digital signature process is handled for the Linux initramfs:
Often initramfs is (re)fabricated on the machine on which it runs. In such cases it is impossible to sign initramfs image, because private key is not supposed to be available.

This patch adds support for additional digitaly signed initramfs images. Digitaly signed initramfs image can be loaded from conventional initramfs image or from rootfs and '/pre-init' is executed prior 'init' from initramfs or root file system. If 'pre-init' fails, kernel panics. Signed initramfs image must be located in '/initramfs-sig.img'.

Digitally signed initramfs can be used to provide protected user-space environment for initialization purpose. For example, LSM, IMA/EVM can be securely initialized using such approach.

Signing is done using scripts/sign-file from kernel source code and uses module signature format and module verification API. Important to note again that signing of such images should be done on the build machine.

Bellow is an example, how to sign compressed initrd (cpio) image:

scripts/sign-file -v signing_key.priv signing_key.x509 initrd.gz initramfs-sig.img

When using initramfs-tools, initramfs-sig.img can be easily included into the conventional initramfs using initramfs-tools hooks, for example, by creating /etc/initramfs-tools/hooks/initramfs_sig.sh, and adding following lines there:

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. NVIDIA Driver Soon Likely To Support EGL, Mir
  2. OpenMandriva Goes Into Alpha Form, Russian-Based
  3. NVIDIA Brings Their Linux Driver To ARM
  4. D Language Still Showing Promise, Advancements
  5. Planetary Annihilation Released For Linux Gamers
  6. Gentoo Starts Work On KDE-Wayland Support
  7. NVIDIA To License Its Kepler GPU Technology
  8. KDE's KWin Made Lots Of Progress In 4.11
  9. Ubuntu Announces Carrier Advisory Group
  10. Qt 5.1 Release Candidate 1 Has Arrived
  11. In-Fighting Continues Over Mir On Non-Unity Ubuntu
Latest Forum Talk
  1. Ubuntu Announces Carrier Advisory Group
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. Gentoo Starts Work On KDE-Wayland Support
  4. OpenMandriva Goes Into Alpha Form, Russian-Based
  5. D Language Still Showing Promise, Advancements
  6. NVIDIA Driver Soon Likely To Support EGL, Mir
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite