GNU/Linux >> Znalost Linux >  >> Linux

Vysvětlete v jednoduché angličtině o dostupné entropii

Řešení 1:

Váš systém shromažďuje některá „skutečná“ náhodná čísla sledováním různých událostí:síťová aktivita, hardwarový generátor náhodných čísel (pokud je k dispozici; například procesory VIA obvykle mají „skutečný“ generátor náhodných čísel) a tak dále. If je přivádí do oblasti entropie jádra, kterou používá /dev/random. Aplikace, které potřebují nějaké extrémní zabezpečení, mají tendenci používat /dev/random jako zdroj entropie, nebo jinými slovy, zdroj náhodnosti.

Pokud /dev/random dojde dostupná entropie, nebude schopen poskytnout více náhodnosti a aplikace čeká na náhodnost, dokud nebude k dispozici více náhodných věcí. Příklad, který jsem během své kariéry viděl, je, že démon Cyrus IMAP chtěl použít /dev/random pro náhodnost a jeho relace POP chtěly generovat náhodné řetězce v připojeních APOP z /dev/random. V rušném prostředí bylo více pokusů o přihlášení než provozu pro napájení /dev/random -> vše se zastavilo. V tom případě jsem nainstaloval rng-tools a aktivoval rngd, který měl -- který přesunul polonáhodná čísla z /dev/urandom do /dev/random pro případ, že by /dev/random došla "skutečná" entropie.

Řešení 2:

Pokud chcete jednodušší přehled o základním problému:Některé aplikace (například šifrování) potřebují náhodná čísla. Náhodná čísla můžete generovat pomocí algoritmu – ale i když se v jednom smyslu zdají náhodná, v jiném jsou zcela předvídatelná. Například, když vám dám číslice 58209749445923078164062862089986280348253421170679, vypadají docela náhodně. Ale pokud si uvědomíte, že to jsou ve skutečnosti číslice PI, pak byste věděli, že další bude 8.

Pro některé aplikace je to v pořádku, ale pro jiné aplikace (zejména ty související s bezpečností) lidé chtějí skutečnou nepředvídatelnou náhodnost - kterou nelze generovat algoritmem (tj. programem), protože je z definice předvídatelná. To je problém v tom, že váš počítač v podstatě je program, tak jak může získat opravdová náhodná čísla? Odpovědí je měření skutečně náhodných událostí z vnějšího světa – například mezery mezi stisky kláves a jejich použití k vložení skutečné náhodnosti do jinak předvídatelného generátoru náhodných čísel. 'Pool entropie' by se dal považovat za úložiště této náhodnosti, která se vytváří stisky kláves (nebo čehokoli, co se používá) a vyčerpává generováním náhodných čísel.

Řešení 3:

Entropie je odborný termín pro „náhodnost“. Počítače ve skutečnosti entropii negenerují, ale shromažďují ji sledováním věcí, jako jsou změny rychlosti otáčení pevného disku (fyzický jev, který je velmi těžké předvídat kvůli tření atd.) Když chce počítač generovat pseudonáhodná data, nasadí matematický vzorec se skutečnou entropií, kterou zjistil měřením kliknutí myší, variací rotace pevného disku atd. Zhruba řečeno entropy_avail je míra bitů aktuálně dostupných ke čtení od /dev/random

Než počítač přečte entropii ze svého prostředí, trvá to nějakou dobu, pokud nemá skvělý hardware, jako je hlučná dioda nebo tak něco.

Pokud máte k dispozici 4096 bitů entropie a máte kočku /dev/random můžete očekávat, že budete moci přečíst 512 bajtů entropie (4096 bitů), než se soubor zablokuje, zatímco čeká na další entropii.

Pokud například „cat /dev/random “ vaše entropie se zmenší na nulu. Zpočátku získáte 512 bajtů náhodného smetí, ale to se zastaví a postupně uvidíte, jak prosakují další náhodná data.

Takto by lidé /dev/random neměli používat ačkoli. Normálně vývojáři přečtou malé množství dat, například 128 bitů, a použijí je k vytvoření nějakého druhu algoritmu PRNG. Je zdvořilé nečíst další entropii z /dev/random než potřebujete, protože jeho budování trvá tak dlouho a je považováno za cenné. Pokud jej tedy nedbale vypustíte cat Pokud soubor spustíte výše uvedeným způsobem, způsobíte, že ostatní aplikace budou muset číst z /dev/random Zablokovat. Na jednom systému v práci jsme si všimli, že mnoho kryptografických funkcí přestalo fungovat. Zjistili jsme, že úloha cron volala python skript, který neustále inicializoval ramdom.random() při každém běhu, který běžel každých pár sekund. Abychom to napravili, přepsali jsme python skript tak, aby běžel jako démon, který se inicializoval pouze jednou, a úloha cron čte data přes XMLRPC, takže nepřestává číst z /dev/random při spuštění.

Řešení 4:

Soubor entropy_avail pouze pro čtení udává dostupnou entropii. Normálně to bude 4096 (bitů), tedy plný entropypool.

Více si můžete přečíst na:http://linux.die.net/man/4/random


Linux
  1. 10 způsobů, jak vygenerovat náhodné heslo v Linuxu

  2. Jak vygenerovat náhodné heslo v linuxu pomocí /dev/random

  3. Linux – jaké zdroje entropie používá jádro Linuxu?

  1. O regionech

  2. Je použití /dev/urandom vždy dobrou radou ve věku kontejnerů a izolace?

  3. Při připojení není k dispozici vyrovnávací paměť

  1. Jste zmateni hranicemi slov?

  2. Přidání entropie náhodných čísel pro klíče GPG?

  3. Jaké zdroje entropie používá jádro Linuxu?