GNU/Linux >> Znalost Linux >  >> Linux

Chyba LUKS během spouštění

Nevěřím, že to má vliv na sílu vašeho šifrování.

Zkontroloval jsem zdrojový kód a pokud správně interpretuji to, co jsem četl, nemusíte se o to nutně starat.

Tento kód patří do modulu 'stdrng'. Přinejmenším na Fedoře 23 je toto zabudováno do jádra, nikoli exportováno jako modul jádra.

Když je stdrng inicializován poprvé, proběhnou následující volání.

V crypto/drbg.c začíná inicializace zde.

1997 module_init(drbg_init);

Tím se zaregistrují všechny DRBG známé systému..

1985         for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1986                 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 1);
1987         for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1988                 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 0);

Poté jej předá pomocné funkci, která provede inicializaci:

1989         return crypto_register_rngs(drbg_algs, (ARRAY_SIZE(drbg_cores) * 2));

V crypto/rng.c toto pouze iteruje každým rng, aby se zaregistrovalo..

210         for (i = 0; i < count; i++) {
211                 ret = crypto_register_rng(algs + i);
212                 if (ret)
213                         goto err;
214         }

Tato funkce provede řadu inicializačních kroků a poté zavolá další funkci pro přidělení.

196         return crypto_register_alg(base);

Co není tak zřejmé, je to, co se stane během registrace.

Další modul s názvem tcrypt také vestavěný do jádra přijímá oznámení o vkládání nových algoritmů. Jakmile uvidí nový registrovaný algoritmus, naplánuje jeho test. To je to, co vytváří výstup, který vidíte na obrazovce.

Po dokončení testu přejde algoritmus do stavu TESTED. Pokud test selže, představuji si (Nemohl jsem najít bit, který způsobuje toto chování) nelze jej vybrat pro vyhledávání, pokud předáte správné příznaky.

Zda test projde nebo ne, je určitě interně uloženo.

Volání generátoru náhodných čísel psudeo navíc způsobí, že seznam algoritmů bude iterován z prng v pořadí podle síly, jak je diktováno touto poznámkou v crypto/drbg.c

107 /*
108  * The order of the DRBG definitions here matter: every DRBG is registered
109  * as stdrng. Each DRBG receives an increasing cra_priority values the later
110  * they are defined in this array (see drbg_fill_array).
111  *

Protože ten nejsilnější neselže (hmac sha256), je nepravděpodobné, že používáte ty neúspěšné, i když by mohly být vybrány.

Abych to shrnul -

  • To se stane, když stdrng modul je k něčemu vyžadován.
  • Načte všechny své známé algoritmy.
  • Všechny načtené algoritmy se otestují. Některé mohou selhat (proč není v této odpovědi zvažováno).
  • Testování neúspěšných algoritmů nemělo by být k dispozici pro výběr později.
  • PRNGS jsou seřazeny podle síly a silné PRNGS, které projdou, jsou vyzkoušeny jako první.
  • Věci, které spoléhají na stdrng doufejme, že by neměly používat tyto algoritmy jako základ pro svůj zdroj PRNG.

Pomocí následujícího příkazu můžete zjistit, které algos uspěly a prošly testy:

 grep -EC5 'selftest.*passed' /proc/crypto

Prioritu výběru můžete také vidět v poli 'priorita'. Čím vyšší hodnota, tím silnější je PRNG podle autora modulu.

Takže jsem rád, že se zde mýlím, protože se nepovažuji za programátora jádra, ale na závěr -

Když stdrng Zdá se, že vybírá jiné algoritmy ze seznamu přijatelných algoritmů, které jsou považovány za silnější než ty, které selhaly, a navíc ty, které selhaly, stejně pravděpodobně vybrány nebudou.

Domnívám se, že to pro vás při používání luks není žádné další riziko.


Linux
  1. Nelze najít Module/Load/Conditional.pm [Řešení]

  2. Chyba Perlu:Modul PERL XML-Parser vyžaduje expat-devel

  3. Modul PERL DB_File vyžaduje db4-devel [Opravit]

  1. Ssh k dešifrování šifrovaného LVM během bezhlavého spouštění serveru?

  2. Chyba instalace python-dev:ImportError:Žádný modul s názvem apt_pkg

  3. Chyba importu žádný modul s názvem zlib (pivo nainstalovaný python)

  1. Chyba insmod:vkládání './hello.ko':-1 Neplatný formát modulu

  2. Změna velikosti spouštěcího oddílu

  3. Při bootování přeskočte modul jádra