Portál AbcLinuxu, 5. června 2024 15:13


Dotaz: Uloženie rsa kľúča priamo do kernelu

4.4.2021 11:31 Dušan
Uloženie rsa kľúča priamo do kernelu
Přečteno: 383×
Odpovědět | Admin
Dobrý deň prajem, hrám sa s raspberry a potrebujem uložiť rsa kľúč pre dešifrovanie priamo do kernelu "zImage", tak aby ho mohol v bežiacom systéme prečítať root.

Pozeral som sa na keyutils, ale ten logicky nevie zapisovať, teda pracuje len v pameti. Je preto nejako možné priamo pri kompilácii jadra vložiť ten kľúč do jadra aby bol trvalý?

Som si vedomý toho, že kebyže sa niekto začne hrabať v súbore jadra, tak ten kľúč nájde a som si vedomý, že na také dačo sa používa TPM, ale ako som už povedal, hrám sa.

Vopred veľmi pekne ďakujem za odpovede
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.4.2021 12:48 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: Uloženie rsa kľúča priamo do kernelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je možné vytvořit jádro s vestavěným initramfs, popř. i příkazovou řádkou. (Vizte General setup→Initramfs source file(s) (CONFIG_INITRAMFS_SOURCE), kam se napíše cesta k souborovému systému (adresáři) k zabudování, a Processor type and features→Built-in kernel command line (CONFIG_CMDLINE_BOOL, CONFIG_CMDLINE), který umožňuje nastavit parametry příkazové řádky už při kompilaci. Ten initramfs může připojit šifrovaný disk, smazat sám sebe a přejít do nového systému. Tak funguje i běžný (samostatný) initrd/initramfs, který možná používáte pro spuštění Vašeho desktopového OS.

Adresář s initramfs vypadá třeba nějak takto:
/bin/
 ├─ busybox
 ├─ init
 ├─ init2
 └─ …
/klic_k_disku.bin
Do souboru /bin/busybox umístěte staticky linkovaný busybox a do skriptu /bin/init napište třeba (píšu to zpaměti, nedivil bych se, kdyby tam byla chyba):
#! /bin/busybox sh

/busybox --install -s /bin
export PATH="/bin"

mkdir -p /sys /proc /dev

mount -ntproc none /proc
mount -ntsysfs none /sys
mount -ntsevtmpfs none /dev

exec /bin/init2
Do /bin/init2 umístěte program, který dál nastaví systém. (Opět třeba shellový skript.)

O initramfs je více informací třeba cde: http://www.linuxfromscratch.org/blfs/view/svn/postlfs/initramfs.html

Nezapomeňte na spustitelné příznaky.

Do té volby CONFIG_INITRAMFS_SOURCE dejte cestu k adresáři s daty initramfs, nikoliv k zabalenému intiramfs.

Na příkazovou řádku předejte init=/bin/init.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
Jendа avatar 4.4.2021 13:17 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Uloženie rsa kľúča priamo do kernelu
Jedna poznámka: staticky linkovaný busybox se sežene v debianím balíčku busybox-static a je to super, protože takhle člověk sežene záchrannou binárku pro všechny možné architektury. Už mi to několikrát pomohlo.

A jeden dotaz: neumíš přilepit initramdisk k už zkompilovanému jádru? Myslel jsem, že to nějak šlo.
4.4.2021 13:45 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: Uloženie rsa kľúča priamo do kernelu
Není na to nějaký skript spolu se zdrojem jádra? Bylo tam vykopírování konfigurace, ale o tomhle nevím. Strukturu binárky jádra neznám, ale vzhledem k tomu jak se initramdisk předává, asi by to šlo.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
4.4.2021 14:22 ajtacka
Rozbalit Rozbalit vše Re: Uloženie rsa kľúča priamo do kernelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak by z rýdze komerčných, podporovaných a šľachetných úmyslov bolo treba niečo pokročilejšie, čo by to bolo(pre firmy)?
4.4.2021 14:47 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: Uloženie rsa kľúča priamo do kernelu
TPM?
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.