GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat pandom:skutečný generátor náhodných čísel pro Linux

Tento návod je pro amd64 / x86_64 verze linuxového jádra vyšší a rovné 2.6.9. Vysvětluje, jak nainstalovat pandom:generátor časování jitter skutečných náhodných čísel spravovaný ncomputers.org

Úvod

Vestavěný generátor skutečných náhodných čísel v jádře Linuxu poskytuje nízkou propustnost za moderních podmínek, jako jsou například osobní počítače s disky SSD (SSD) a virtuální privátní servery (VPS).

Tento problém se stává populárním v linuxových implementacích kvůli neustále rostoucí potřebě skutečných náhodných čísel, zejména pro různé kryptografické účely.

Pandom poskytuje entropii kolem 8 kB/s 64 ubitů / 64 bitů, je kompatibilní s fyzickým a virtuálním prostředím a předpokládá, že žádný jiný proces běžící jako uživatel root nezapisuje do /dev/random.

1 Instalace pandom

1.1 Získejte root přístup

Pandom musí být nainstalován jako root, v případě potřeby spusťte tento příkaz.

su -

1.2 Závislosti na instalaci

Abyste si mohli stáhnout a nainstalovat pandom, potřebujete:GNU as sembler, výrobce GNU , GNU tar a GNU wget (poslední dva jsou obvykle již nainstalovány). Můžete je později libovolně odinstalovat.

Systémy založené na architektuře

pacman -S binutils make

Systémy založené na Debianu

apt-get install binutils make

Systémy založené na Red Hat

dnf install binutils make
yum install binutils make

Systémy založené na SUSE

zypper install binutils make

1.3 Stahování a extrahování zdrojů

Tyto příkazy stahují a extrahují zdroje pandom z ncomputers.org pomocí wget a tar .

wget http://ncomputers.org/pandom.tar.gz
tar xf pandom.tar.gz
cd pandom/amd64-linux

Tento doporučený test trvá přibližně 8 minut. Zkontroluje podporu jádra a vygeneruje soubor s názvem checkme (analyzováno v další části).

make check

1.5 Určení init systému

Před instalací pandomu musíte vědět, jaký init software váš systém používá. Pokud následující příkaz vypíše slovo běží , znamená to, že váš systém používá systemd , jinak je pravděpodobné, že váš systém používá init.d implementace (např.:upstart, sysvinit). Mohou existovat určité výjimky, více informací v těchto odpovědích unix.stackexchange.com.

systemctl is-system-running
running

1.6 Instalace pandom

Jakmile budete vědět, který systém vaše implementace linuxu používá, můžete podle toho nainstalovat pandom.

systém init.d založený na init (např.:upstart, sysvinit)

Nainstalujte pandom spuštěním tohoto příkazu, pokud váš systém používá init.d implementace (např.:upstart, sysvinit).

make install-init.d

systemd jako init systém

Nainstalujte pandom spuštěním tohoto příkazu, pokud váš systém používá systemd .

make install-systemd

2 Analýza souboru checkme

Před použitím pandomu pro kryptografické účely se důrazně doporučuje analyzovat checkme soubor vygenerovaný během procesu instalace v předchozí části tohoto kurzu. Tato úloha je užitečná pro zjištění, zda jsou čísla skutečně náhodná nebo ne. Tato část vysvětluje, jak analyzovat checkme soubor pomocí ncomputers.org/entropyarray :skript shellu, který testuje entropii a sériovou korelaci svého vstupu.

Poznámka :tato analýza může být spuštěna v jiném počítači, jako je laptop nebo stolní počítač. Například:pokud instalujete pandom na virtuální privátní server s omezenými zdroji (VPS), můžete se rozhodnout zkopírovat checkme soubor do vašeho osobního počítače, abyste ho tam mohli analyzovat.
Můžete také použít Entropy Online Tester .

2.1 Získejte root přístup

Entropyarray musí být nainstalován jako root, v případě potřeby spusťte tento příkaz.

su -

2.2 Závislosti na instalaci

Ke stažení a instalaci entropyarray potřebujete:GNU g++ kompilátor, GNU make , GNU tar a GNU wget (poslední dva jsou obvykle již nainstalovány). Můžete je později libovolně odinstalovat.

Systémy založené na architektuře

pacman -S gcc make

Systémy založené na Debianu

apt-get install g++ make

Systémy založené na Red Hatu

dnf install gcc-c++ make
yum install gcc-c++ make

Systémy založené na SUSE

zypper install gcc-c++ make

2.3 Stahování a extrahování zdrojů

Tyto příkazy stahují a extrahují zdroje entropyarray z ncomputers.org pomocí wget a tar .

wget http://ncomputers.org/rearray.tar.gz
wget http://ncomputers.org/entropy.tar.gz
wget http://ncomputers.org/entropyarray.tar.gz

tar xf entropy.tar.gz
tar xf rearray.tar.gz
tar xf entropyarray.tar.gz

2.4 Instalace entropyarray

Poznámka :chyby týkající se -std=c++11 znamenají, že GNU g++ verze kompilátoru nepodporuje standard ISO C++ 2011. Můžete zkusit zkompilovat ncomputers.org/entropy a ncomputers.org/rearray v jiném systému, který to podporuje (např.:GNU g++ v novější verzi vaší oblíbené linuxové distribuce) a poté nainstalujte zkompilované binární soubory pomocí make install v systému, ve kterém chcete spustit entropyarray nebo tento krok přeskočte, přestože důrazně doporučujeme analyzovat checkme před použitím pandomu pro jakýkoli kryptografický účel.

cd rearray; make install; cd ..
cd entropy; make install; cd ..
cd entropyarray; make install; cd ..

2.5 Analýza souboru checkme

Poznámka :Implementace pandomu 64 ubitů / 64 bitů by měly vést k tomuto testu s entropií vyšší než 15,977 a max frekvence pod 70 . Pokud se vaše výsledky příliš liší, můžete se pokusit zvýšit nepředvídatelnost implementace vaší pandomy, jak je popsáno v páté části tohoto návodu. V případě, že jste přeskočili poslední krok, můžete použít jiné nástroje, jako je test pseudonáhodné číselné řady.

entropyarray checkme
entropyarray in /tmp/tmp.mbCopmzqsg
15.977339
min:12
med:32
max:56
15.977368
min:11
med:32
max:58
15.977489
min:11
med:32
max:59
15.977077
min:12
med:32
max:60
15.977439
min:8
med:32
max:59
15.977374
min:13
med:32
max:60
15.977312
min:12
med:32
max:67

2.6 Odinstalovat entropyarray (volitelné)

Pokud plánujete entropyarray již nepoužívat, možná jej budete chtít libovolně odinstalovat.

cd entropyarray; make uninstall; cd ..
cd entropy; make uninstall; cd ..
cd rearray; make uninstall; cd ..

3 Instalace pomocí úložiště debian

Pokud si přejete udržovat pandom aktualizovaný na vašem systému založeném na debianu, můžete se rozhodnout jej nainstalovat / přeinstalovat pomocí repozitáře debianu ncomputers.org.

3.1 Získejte root přístup

Níže uvedené balíčky debianu musí být nainstalovány jako root, v případě potřeby spusťte tento příkaz.

su -

3.2 Instalace svazku klíčů

Tento balíček debian obsahuje veřejný klíč repozitáře debianu ncomputers.org.

wget http://ncomputers.org/debian/keyring.deb
dpkg -i keyring.deb
rm keyring.deb

3.3 Seznam zdrojů instalace

Tyto balíčky debianu obsahují seznam zdrojů z repozitáře debianu ncomputers.org podle nejnovějších distribucí debianu (rok 2017).

Poznámka :Je také možné napsat komentované řádky níže do /etc/apt/sources.list , místo instalace příslušného balíčku debian pro vaši distribuci debianu, ale pokud se tyto zdroje v budoucnu změní, budete je muset aktualizovat ručně.

Sípavý

#deb http://ncomputers.org/debian wheezy main
wget http://ncomputers.org/debian/wheezy.deb
dpkg -i wheezy.deb
rm wheezy.deb

Jessie

#deb http://ncomputers.org/debian jessie main
wget http://ncomputers.org/debian/jessie.deb
dpkg -i jessie.deb
rm jessie.deb

Roztáhnout

#deb http://ncomputers.org/debian stretch main
wget http://ncomputers.org/debian/stretch.deb
dpkg -i stretch.deb
rm stretch.deb

3.4 Aktualizace seznamu zdrojů

Jakmile je nainstalován svazek klíčů a seznam zdrojů.

apt-get update

3.5 Testovací pandom

Po otestování můžete níže uvedený balíček libovolně odinstalovat.

Poznámka :Pokud jste již pandom testovali ve své linuxové implementaci, můžete tento krok přeskočit.

apt-get install pandom-test
pandom-test
generating checkme file, please wait around 8 minutes ...
entropyarray in /tmp/tmp.5SkiYsYG3h
15.977366
min:12
med:32
max:57
15.977367
min:13
med:32
max:57
15.977328
min:12
med:32
max:61
15.977431
min:12
med:32
max:59
15.977437
min:11
med:32
max:57
15.977298
min:11
med:32
max:59
15.977196
min:10
med:32
max:57

3.6 Instalace pandom

apt-get install pandom

4 Správa pandom

Po instalaci pandomu jej možná budete chtít spravovat.

4.1 Test výkonu

Pandom nabízí přibližně 8 kilobajtů za sekundu, ale jeho výkon se může lišit v závislosti na prostředí.

dd if=/dev/random of=/dev/null bs=8 count=512
512+0 records in
512+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s

4.2 Test entropie a sériové korelace

Kromě ncomputers.org/entropyarray , existuje více testů, například NIST testsuite od Ilji Gerhardta.

entropyarray /dev/random 1M

4.3 Systémová služba

Pandom běží jako systémová služba.

systém init.d založený na init (např.:upstart, sysvinit)

/etc/init.d/random status
/etc/init.d/random start
/etc/init.d/random stop
/etc/init.d/random restart

systemd jako init systém

systemctl status random
systemctl start random
systemctl stop random
systemctl restart random

5 Zvyšování nepředvídatelnosti nebo výkonu

Pokud byste se chtěli pokusit zvýšit nepředvídatelnost nebo výkon vaší implementace pandomy, můžete zkusit přidat nebo odstranit měření času CPU.

5.1 Úprava zdrojových souborů

Ve zdrojových souborech test.s a tRNG.s libovolně přidávat nebo odebírat bloky měření.

#measurement block
mov $35,%rax
syscall
rdtsc
[...]

#measurement block
mov $35,%rax
syscall
rdtsc
[...]

5.2 Test nepředvídatelnosti

Doporučujeme každou personalizovanou implementaci pandom vždy otestovat, než ji použijete pro kryptografické účely.

make check

5.3 Instalace personalizovaného pandomu

Pokud jste s výsledky spokojeni, můžete si nainstalovat svou personalizovanou implementaci pandom.

make install

Další informace a aktualizace:http://ncomputers.org/pandom


Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Javu na Linux

  3. Jak nainstalovat FFmpeg v Linuxu

  1. Jak nainstalovat NodeJS na Linux

  2. Jak nainstalovat Vagrant na Linux

  3. Jak nainstalovat TeamViewer 15 na Linux

  1. Jak nainstalovat Linux ve 3 krocích

  2. Jak nainstalovat Kali Linux

  3. Jak nainstaluji Microsoft SQL Server pro linux (fedora)?