Secure Boot

Secure boot zajišťuje zavedení jen těch kódů, které jsou podepsané důvěryhodnými entitami. Pokud se do jádra přidávají vlastní moduly, je nutné vytvořit vlastní podepisovací klíče a jimi příslušné moduly podepsat.

Tvorba vlastních klíčů

dnf install openssl mokutil keyutils
openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config openssl-kern-mod-signing.config -outform DER -out egothor_kern_public_key.der -keyout egothor_kern_priv_key.priv

Přičemž openssl-kern-mod-signing.config soubor je
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
O = Egothor
CN = Egothor signing key
emailAddress = root@egothor.org

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid

Vytvořené klíče (certifikát) je nutné nainstalovat do hlavní desky
mokutil --import egothor_kern_public_key.der

Po rebootu a přidání klíčů (plně v kompetenci BIOSu hlavní desky) je možné provést kontrolu
keyctl list %:.system_keyring

Výstupem bude seznam známých certifikátů
# keyctl list %:.system_keyring
5 keys in keyring:
364134501: ---lswrv     0     0 asymmetric: Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53
592254239: ---lswrv     0     0 asymmetric: Fedora kernel signing key: 9329eed1ece2058ee04cca65fef80cf16c91c24c
574713467: ---lswrv     0     0 asymmetric: Fedora Secure Boot CA: fde32599c2d61db1bf5807335d7b20e4cd963b42
204551326: ---lswrv     0     0 asymmetric: Egothor signing key: xxxxxxxxxxxxcensoredxxxxxxxxxxxx
 33326059: ---lswrv     0     0 asymmetric: Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4

Podepsání vlastních modulů

Nové jádro (kupř. Fedora 23) vyžaduje použití SCST 3.1.x, přičemž by kompletní instalace měla probíhat zhruba takto:
cd ~/3.1.x/
svn up
make clean iscsi scst iscsi_install scst_install
cd /lib/modules/`uname -r`/extra
for i in *.ko ; do echo $i ; /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ~/egothor_kern_priv_key.priv ~/egothor_kern_public_key.der $i ; done
cd dev_handlers/
for i in *.ko ; do echo $i ; /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ~/egothor_kern_priv_key.priv ~/egothor_kern_public_key.der $i ; done

For-cykly zajišťují podepsání přidaných modulů jádra.

-- LeoGalambos - 21 Aug 2016
Topic revision: r1 - 21 Aug 2016, LeoGalambos
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback