GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare pandom:un vero generatore di numeri casuali per Linux

Questo tutorial è per le versioni del kernel linux amd64 / x86_64 maggiori e uguali a 2.6.9. Spiega come installare pandom:un vero generatore di numeri casuali di timing jitter gestito da ncomputers.org

Introduzione

Il generatore di numeri casuali reali del kernel Linux integrato fornisce un throughput basso in circostanze moderne, come ad esempio:personal computer con unità a stato solido (SSD) e server privati ​​virtuali (VPS).

Questo problema sta diventando popolare nelle implementazioni Linux, a causa della necessità in continua crescita di veri numeri casuali, principalmente per diversi scopi crittografici.

Pandom genera un'entropia di circa 8 KiB/s di 64 ubit/64 bit, è compatibile con ambienti fisici e virtuali e presuppone che nessun altro processo in esecuzione come utente root scriva su /dev/random.

1 Installazione di pandom

1.1 Ottieni l'accesso come root

Pandom deve essere installato come root, esegui questo comando se necessario.

su -

1.2 Installa le dipendenze di build

Per scaricare e installare pandom, è necessario:GNU as sembler, GNU make , GNU tar e GNU wget (gli ultimi due di solito sono già installati). Puoi disinstallarli in seguito a piacimento.

Sistemi basati su Arch

pacman -S binutils make

Sistemi basati su Debian

apt-get install binutils make

Sistemi basati su Red Hat

dnf install binutils make
yum install binutils make

Sistemi basati su SUSE

zypper install binutils make

1.3 Scarica ed estrai sorgenti

Questi comandi scaricano ed estraggono i sorgenti di pandom da ncomputers.org usando wget e tar .

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

Questo test consigliato richiede circa 8 minuti. Verifica il supporto del kernel e genera un file chiamato checkme (analizzato nella prossima sezione).

make check

1.5 Determina il sistema init

Prima di installare pandom, devi sapere quale software init utilizza il tuo sistema. Se il comando seguente restituisce la parola in esecuzione , significa che il tuo sistema sta utilizzando systemd , altrimenti è probabile che il tuo sistema stia utilizzando un init.d implementazione (es:upstart, sysvinit). Potrebbero esserci alcune eccezioni, maggiori informazioni in queste risposte unix.stackexchange.com.

systemctl is-system-running
running

1.6 Installa pandom

Una volta che sai quale sistema utilizza la tua implementazione Linux, puoi installare pandom di conseguenza.

sistema init basato su init.d (es:upstart, sysvinit)

Installa pandom eseguendo questo comando, se il tuo sistema utilizza un init.d implementazione (es:upstart, sysvinit).

make install-init.d

systemd come sistema init

Installa pandom eseguendo questo comando, se il tuo sistema utilizza systemd .

make install-systemd

2 Analisi del file checkme

Prima di utilizzare il pandom per scopi crittografici, si consiglia vivamente di analizzare checkme file generato durante il processo di installazione nella sezione precedente di questo tutorial. Questa attività è utile per sapere se i numeri sono veramente casuali o meno. Questa sezione spiega come analizzare checkme file utilizzando ncomputers.org/entropyarray :uno script di shell, che verifica l'entropia e la correlazione seriale del suo input.

Nota :questa analisi potrebbe essere eseguita su un altro computer, ad esempio un laptop o un computer desktop. Ad esempio:se stai installando pandom in un server privato virtuale (VPS) con risorse limitate, potresti scegliere di copiare checkme file sul tuo personal computer, per analizzarlo lì.
Puoi anche usare Entropy Online Tester .

2.1 Ottieni l'accesso come root

Entropyarray deve essere installato come root, esegui questo comando se necessario.

su -

2.2 Installare le dipendenze di build

Per scaricare e installare entropyarray, è necessario:GNU g++ compilatore, GNU make , GNU tar e GNU wget (gli ultimi due di solito sono già installati). Puoi disinstallarli in seguito a piacimento.

Sistemi basati su Arch

pacman -S gcc make

Sistemi basati su Debian

apt-get install g++ make

Sistemi basati su Red Hat

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

Sistemi basati su SUSE

zypper install gcc-c++ make

2.3 Scaricare ed estrarre sorgenti

Questi comandi scaricano ed estraggono le sorgenti di entropyarray da ncomputers.org usando wget e 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 Installa entropyarray

Nota :gli errori relativi a -std=c++11 indicano che GNU g++ la versione del compilatore non supporta lo standard ISO C++ 2011. Puoi provare a compilare ncomputers.org/entropy e ncomputers.org/rearray in un altro sistema che lo supporta (es:GNU g++ in una versione più recente della tua distribuzione Linux preferita) e quindi installa i binari compilati usando make install nel sistema in cui desideri eseguire entropyarray , oppure salta questo passaggio, nonostante sia altamente consigliato analizzare checkme file prima di utilizzare pandom per qualsiasi scopo crittografico.

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

2.5 Analizza il file checkme

Nota :le implementazioni pandom a 64 bit/64 bit dovrebbero risultare in questo test con entropia superiore a 15.977 e massimo frequenza inferiore a 70 . Se i tuoi risultati differiscono troppo, puoi provare ad aumentare l'imprevedibilità della tua implementazione pandom come descritto nella quinta sezione di questo tutorial. Nel caso in cui tu abbia saltato l'ultimo passaggio, puoi utilizzare altri strumenti come il test di sequenza numerica pseudocasuale.

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 Disinstalla entropyarray (opzionale)

Se prevedi di non utilizzare più entropyarray, potresti voler disinstallarlo a piacimento.

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

3 Installazione utilizzando il repository debian

Se desideri mantenere aggiornato pandom sul tuo sistema basato su debian, puoi scegliere di installarlo/reinstallarlo utilizzando il repository debian ncomputers.org.

3.1 Ottieni l'accesso come root

I seguenti pacchetti debian devono essere installati come root, eseguire questo comando se necessario.

su -

3.2 Installa portachiavi

Questo pacchetto debian include la chiave pubblica del repository debian ncomputers.org.

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

3.3 Installa l'elenco delle fonti

Questi pacchetti debian includono l'elenco dei sorgenti del repository debian ncomputers.org secondo le ultime distribuzioni debian (anno 2017).

Nota :È anche possibile scrivere le righe commentate di seguito in /etc/apt/sources.list , invece di installare il rispettivo pacchetto debian per la tua distribuzione debian, ma se queste fonti dovessero cambiare in futuro, dovresti aggiornarle manualmente.

Wheezy

#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

Allunga

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

3.4 Aggiorna l'elenco delle fonti

Una volta installati il ​​portachiavi e l'elenco delle fonti.

apt-get update

3.5 Testare il pandom

Una volta testato, puoi disinstallare il pacchetto seguente a piacimento.

Nota :se hai già testato pandom nella tua implementazione Linux, puoi saltare questo passaggio.

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 Installa pandom

apt-get install pandom

4 Gestire il pandom

Dopo aver installato pandom, potresti volerlo gestire.

4.1 Test delle prestazioni

Pandom offre circa 8 kilobyte al secondo, ma le sue prestazioni possono variare a seconda dell'ambiente.

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 Entropia e test di correlazione seriale

Oltre a ncomputers.org/entropyarray , ci sono più test, ad esempio NIST testsuite di Ilja Gerhardt.

entropyarray /dev/random 1M

4.3 Servizio di sistema

Pandom viene eseguito come servizio di sistema.

sistema init basato su init.d (es:upstart, sysvinit)

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

systemd come sistema init

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

5 Aumento dell'imprevedibilità o delle prestazioni

Se desideri provare ad aumentare l'imprevedibilità o le prestazioni della tua implementazione pandom, puoi provare ad aggiungere o eliminare le misurazioni del tempo della CPU.

5.1 Modifica file sorgente

Nei file sorgente test.s e tRNG.s aggiungi o rimuovi blocchi di misura a piacimento.

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

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

5.2 Testare l'imprevedibilità

Ti consigliamo di testare sempre qualsiasi implementazione pandom personalizzata prima di utilizzarla per scopi crittografici.

make check

5.3 Installa pandom personalizzato

Se sei soddisfatto dei risultati, puoi installare la tua implementazione pandom personalizzata.

make install

Ulteriori informazioni e aggiornamenti:http://ncomputers.org/pandom


Linux
  1. Come installare Python su Linux

  2. Come installare Java su Linux

  3. Come installare NodeJS su Linux

  4. Come installare Vagrant su Linux

  5. Come installare TeamViewer 15 su Linux

Come installare Anaconda su Linux

Come installare Setuptools per Python su Linux

Come installare il sottosistema Windows per Linux

Come installare Anaconda su Linux per la scienza dei dati vince!

Come installare Android File Transfer per Linux su Ubuntu

Come installare e configurare il sottosistema Windows per Linux