GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Pandom:einen echten Zufallszahlengenerator für Linux

Dieses Tutorial gilt für amd64 / x86_64-Linux-Kernel-Versionen größer und gleich 2.6.9. Es erklärt, wie pandom installiert wird:ein von ncomputers.org gepflegter echter Zufallszahlengenerator für Timing-Jitter

Einführung

Der eingebaute echte Zufallszahlengenerator des Linux-Kernels bietet unter modernen Umständen einen geringen Durchsatz, wie zum Beispiel:Personal Computer mit Solid State Drives (SSD) und Virtual Private Servers (VPS).

Dieses Problem wird in Linux-Implementierungen immer beliebter, da der Bedarf an echten Zufallszahlen, hauptsächlich für verschiedene kryptografische Zwecke, ständig steigt.

Pandom gibt etwa 8 KiB/s Entropie von 64 Ubits / 64 Bits aus, ist mit physischen und virtuellen Umgebungen kompatibel und geht davon aus, dass kein anderer Prozess, der als Root-Benutzer läuft, nach /dev/random schreibt.

1 Installation von Pandom

1.1 Erhalten Sie Root-Zugriff

Pandom muss als root installiert werden, führen Sie diesen Befehl bei Bedarf aus.

su -

1.2 Build-Abhängigkeiten installieren

Um Pandom herunterzuladen und zu installieren, benötigen Sie:GNU as sembler, GNU machen , GNU tar und GNU wget (die letzten beiden sind normalerweise schon installiert). Sie können sie später beliebig deinstallieren.

Arch-basierte Systeme

pacman -S binutils make

Debian-basierte Systeme

apt-get install binutils make

Red Hat-basierte Systeme

dnf install binutils make
yum install binutils make

SUSE-basierte Systeme

zypper install binutils make

1.3 Quellen herunterladen und extrahieren

Diese Befehle laden und extrahieren die pandom-Quellen von ncomputers.org mit wget und tar .

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

Dieser empfohlene Test dauert etwa 8 Minuten. Es prüft auf Kernel-Unterstützung und generiert eine Datei namens checkme (analysiert im nächsten Abschnitt).

make check

1.5 Init-System bestimmen

Bevor Sie Pandom installieren, müssen Sie wissen, welche Init-Software Ihr System verwendet. Wenn der folgende Befehl das Wort running ausgibt bedeutet dies, dass Ihr System systemd verwendet , andernfalls ist es wahrscheinlich, dass Ihr System eine init.d verwendet Implementierung (z. B.:upstart, sysvinit). Es kann einige Ausnahmen geben, weitere Informationen in diesen unix.stackexchange.com-Antworten.

systemctl is-system-running
running

1.6 Pandom installieren

Sobald Sie wissen, welches System Ihre Linux-Implementierung verwendet, können Sie Pandom entsprechend installieren.

init.d-basiertes Init-System (z. B.:upstart, sysvinit)

Installiere Pandom mit diesem Befehl, wenn dein System ein init.d verwendet Implementierung (z. B.:upstart, sysvinit).

make install-init.d

systemd als Init-System

Installieren Sie pandom mit diesem Befehl, wenn Ihr System systemd verwendet .

make install-systemd

2 Analyse der Checkme-Datei

Bevor Sie Pandom für kryptografische Zwecke verwenden, wird dringend empfohlen, checkme zu analysieren Datei, die während des Installationsvorgangs im vorherigen Abschnitt dieses Tutorials generiert wurde. Diese Aufgabe ist nützlich, um zu wissen, ob die Zahlen wirklich zufällig sind oder nicht. In diesem Abschnitt wird erklärt, wie Sie checkme analysieren Datei mit ncomputers.org/entropyarray :ein Shell-Skript, das Entropie und serielle Korrelation seiner Eingabe testet.

Hinweis :Diese Analyse kann auf einem anderen Computer ausgeführt werden, z. B. einem Laptop oder Desktop-Computer. Beispiel:Wenn Sie Pandom auf einem Virtual Private Server (VPS) mit eingeschränkten Ressourcen installieren, können Sie checkme kopieren Datei auf Ihren PC, um sie dort zu analysieren.
Sie können auch den Entropy Online Tester verwenden .

2.1 Erhalten Sie Root-Zugriff

Entropyarray muss als root installiert werden, führen Sie diesen Befehl bei Bedarf aus.

su -

2.2 Build-Abhängigkeiten installieren

Um entropyarray herunterzuladen und zu installieren, benötigen Sie:GNU g++ Compiler, GNU make , GNU tar und GNU wget (die letzten beiden sind normalerweise schon installiert). Sie können sie später beliebig deinstallieren.

Arch-basierte Systeme

pacman -S gcc make

Debian-basierte Systeme

apt-get install g++ make

Red Hat-basierte Systeme

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

SUSE-basierte Systeme

zypper install gcc-c++ make

2.3 Quellen herunterladen und extrahieren

Diese Befehle laden die Quellen von entropyarray von ncomputers.org mit wget herunter und extrahieren sie und 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 Entropyarray installieren

Hinweis :Fehler bezüglich -std=c++11 bedeuten, dass GNU g++ Compiler-Version unterstützt den ISO C++ 2011-Standard nicht. Sie können versuchen, ncomputers.org/entropy zu kompilieren und ncomputers.org/rearray in einem anderen System, das dies unterstützt (z. B. GNU g++ in einer neueren Version Ihrer bevorzugten Linux-Distribution) und installieren Sie dann die kompilierten Binärdateien mit make install in dem System, auf dem Sie entropyarray ausführen möchten , oder überspringen Sie diesen Schritt, obwohl dringend empfohlen wird, checkme zu analysieren Datei, bevor Sie pandom für kryptografische Zwecke verwenden.

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

2.5 Checkme-Datei analysieren

Hinweis :64 Ubits / 64-Bit-Pandom-Implementierungen sollten diesen Test mit einer Entropie über 15,977 ergeben und max Häufigkeit unter 70 . Wenn Ihre Ergebnisse zu stark voneinander abweichen, können Sie versuchen, die Unvorhersehbarkeit Ihrer Pandom-Implementierung zu erhöhen, wie im fünften Abschnitt dieses Tutorials beschrieben. Falls Sie den letzten Schritt übersprungen haben, können Sie andere Tools wie den Pseudozufallszahlensequenztest verwenden.

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 Entropyarray deinstallieren (optional)

Wenn Sie entropyarray nicht mehr verwenden möchten, können Sie es nach Belieben deinstallieren.

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

3 Installation mit Debian-Repository

Wenn Sie Pandom auf Ihrem Debian-basierten System auf dem neuesten Stand halten möchten, können Sie es über das Debian-Repository von ncomputers.org installieren/neu installieren.

3.1 Erhalten Sie Root-Zugriff

Die folgenden Debian-Pakete müssen als root installiert werden, führen Sie diesen Befehl bei Bedarf aus.

su -

3.2 Schlüsselbund installieren

Dieses Debian-Paket enthält den öffentlichen Schlüssel des Debian-Repositorys von ncomputers.org.

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

3.3 Quellenliste installieren

Diese Debian-Pakete enthalten die Quellenliste des Debian-Repositorys ncomputers.org gemäß den neuesten Debian-Distributionen (Jahr 2017).

Hinweis :Es ist auch möglich, die unten stehenden kommentierten Zeilen in /etc/apt/sources.list zu schreiben , anstatt das entsprechende Debian-Paket für Ihre Debian-Distribution zu installieren, aber wenn sich diese Quellen in Zukunft ändern, müssten Sie sie manuell aktualisieren.

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

Dehnung

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

3.4 Quellenliste aktualisieren

Sobald der Schlüsselbund und die Quellenliste installiert sind.

apt-get update

3.5 Testpandom

Nach dem Test können Sie das folgende Paket nach Belieben deinstallieren.

Hinweis :Wenn Sie Pandom bereits in Ihrer Linux-Implementierung getestet haben, können Sie diesen Schritt überspringen.

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 Pandom installieren

apt-get install pandom

4 Pandom verwalten

Nachdem Pandom installiert wurde, möchten Sie es vielleicht verwalten.

4.1 Leistungstest

Pandom bietet etwa 8 Kilobyte pro Sekunde, aber die Leistung kann je nach Umgebung variieren.

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 Entropie- und serieller Korrelationstest

Neben ncomputers.org/entropyarray , gibt es weitere Tests, zB NIST Testsuite von Ilja Gerhardt.

entropyarray /dev/random 1M

4.3 Systemdienst

Pandom wird als Systemdienst ausgeführt.

init.d-basiertes Init-System (z. B.:upstart, sysvinit)

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

systemd als Init-System

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

5 Zunehmende Unvorhersehbarkeit oder Leistung

Wenn Sie versuchen möchten, die Unvorhersehbarkeit oder die Leistung Ihrer Pandom-Implementierung zu erhöhen, können Sie versuchen, CPU-Zeitmessungen hinzuzufügen oder zu löschen.

5.1 Quelldateien bearbeiten

In den Quelldateien test.s und tRNG.s Messblöcke nach Belieben hinzufügen oder entfernen.

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

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

5.2 Testen Sie die Unvorhersehbarkeit

Wir empfehlen, jede personalisierte Pandom-Implementierung immer zu testen, bevor sie für kryptografische Zwecke verwendet wird.

make check

5.3 Personalisiertes Pandom installieren

Wenn Sie mit den Ergebnissen zufrieden sind, können Sie Ihre personalisierte Pandom-Implementierung installieren.

make install

Weitere Informationen und Aktualisierungen:http://ncomputers.org/pandom


Linux
  1. So installieren Sie Python unter Linux

  2. So installieren Sie Java unter Linux

  3. So installieren Sie FFmpeg unter Linux

  4. So installieren Sie Vagrant unter Linux

  5. Wie installiere ich Microsoft SQL Server für Linux (Fedora)?

So installieren Sie Anaconda unter Linux

So installieren Sie Setuptools für Python unter Linux

So installieren Sie das Windows-Subsystem für Linux

So installieren Sie Anaconda unter Linux für Data Science Wins!

So installieren Sie Android File Transfer für Linux unter Ubuntu

So installieren und konfigurieren Sie das Windows-Subsystem für Linux