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
1.4 Test před instalací (doporučeno)
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