GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer pandom :un vrai générateur de nombres aléatoires pour Linux

Ce tutoriel concerne les versions de noyau linux amd64/x86_64 supérieures et égales à 2.6.9. Il explique comment installer pandom :un véritable générateur de nombres aléatoires de gigue de synchronisation maintenu par ncomputers.org

Introduction

Le véritable générateur de nombres aléatoires du noyau Linux intégré offre un faible débit dans les circonstances modernes, comme par exemple :les ordinateurs personnels avec des disques SSD et des serveurs privés virtuels (VPS).

Ce problème devient populaire dans les implémentations Linux, en raison du besoin sans cesse croissant de véritables nombres aléatoires, principalement à des fins cryptographiques diverses.

Pandom génère une entropie d'environ 8 Kio/s de 64 ubits/64 bits, est compatible avec les environnements physiques et virtuels et suppose qu'aucun autre processus exécuté en tant qu'utilisateur root n'écrit dans /dev/random.

1 Installation de pandom

1.1 Gagner un accès root

Pandom doit être installé en tant que root, exécutez cette commande si nécessaire.

su -

1.2 Installer les dépendances de build

Pour télécharger et installer pandom, vous avez besoin de :GNU as sembler, GNU faire , GNU tar et GNU wget (les deux derniers sont généralement déjà installés). Vous pouvez les désinstaller plus tard à volonté.

Systèmes basés sur Arch

pacman -S binutils make

Systèmes basés sur Debian

apt-get install binutils make

Systèmes basés sur Red Hat

dnf install binutils make
yum install binutils make

Systèmes basés sur SUSE

zypper install binutils make

1.3 Télécharger et extraire les sources

Ces commandes téléchargent et extraient les sources de pandom de ncomputers.org en utilisant wget et goudron .

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

Ce test recommandé prend environ 8 minutes. Il vérifie la prise en charge du noyau et génère un fichier nommé checkme (analysé dans la section suivante).

make check

1.5 Déterminer le système d'initialisation

Avant d'installer pandom, vous devez savoir quel logiciel d'initialisation votre système utilise. Si la commande suivante affiche le mot running , cela signifie que votre système utilise systemd , sinon il est probable que votre système utilise un init.d mise en œuvre (par exemple :upstart, sysvinit). Il peut y avoir quelques exceptions, plus d'informations dans ces réponses unix.stackexchange.com.

systemctl is-system-running
running

1.6 Installer pandom

Une fois que vous savez quel système votre implémentation Linux utilise, vous pouvez installer pandom en conséquence.

système d'initialisation basé sur init.d (par exemple :upstart, sysvinit)

Installez pandom en exécutant cette commande, si votre système utilise un init.d mise en œuvre (par exemple :upstart, sysvinit).

make install-init.d

systemd comme système d'initialisation

Installez pandom en exécutant cette commande, si votre système utilise systemd .

make install-systemd

2 Analyse du fichier checkme

Avant d'utiliser pandom à des fins cryptographiques, il est fortement recommandé d'analyser checkme fichier généré lors du processus d'installation dans la section précédente de ce didacticiel. Cette tâche est utile pour savoir si les nombres sont vraiment aléatoires ou non. Cette section explique comment analyser checkme fichier en utilisant ncomputers.org/entropyrarray :un script shell, qui teste l'entropie et la corrélation série de son entrée.

Remarque :cette analyse peut être exécutée sur un autre ordinateur, tel qu'un ordinateur portable ou de bureau. Par exemple :si vous installez pandom dans un serveur privé virtuel (VPS) à ressources limitées, vous pouvez choisir de copier checkme fichier sur votre ordinateur personnel, afin de l'y analyser.
Vous pouvez également utiliser Entropy Online Tester .

2.1 Gagner un accès root

Entropyarray doit être installé en tant que root, exécutez cette commande si nécessaire.

su -

2.2 Installer les dépendances de build

Pour télécharger et installer entropyarray, vous avez besoin de :GNU g++ compilateur, GNU make , GNU tar et GNU wget (les deux derniers sont généralement déjà installés). Vous pouvez les désinstaller plus tard à volonté.

Systèmes basés sur Arch

pacman -S gcc make

Systèmes basés sur Debian

apt-get install g++ make

Systèmes basés sur Red Hat

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

Systèmes basés sur SUSE

zypper install gcc-c++ make

2.3 Télécharger et extraire les sources

Ces commandes téléchargent et extraient les sources d'entropyarray de ncomputers.org en utilisant wget et goudron .

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 Installer entropyarray

Remarque :les erreurs concernant -std=c++11 signifient que le GNU g++ la version du compilateur ne prend pas en charge la norme ISO C++ 2011. Vous pouvez essayer de compiler ncomputers.org/entropy et ncomputers.org/rearray dans un autre système qui le prend en charge (par exemple :GNU g++ dans une version plus récente de votre distribution Linux préférée), puis installez les binaires compilés à l'aide de make install dans le système que vous souhaitez exécuter entropyarray , ou ignorez cette étape, bien qu'il soit fortement recommandé d'analyser checkme fichier avant d'utiliser pandom à des fins cryptographiques.

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

2.5 Analyser le fichier checkme

Remarque  :les implémentations pandom 64 ubits/64 bits devraient entraîner ce test avec une entropie supérieure à 15,977 et max fréquence inférieure à 70 . Si vos résultats diffèrent trop, vous pouvez essayer d'augmenter l'imprévisibilité de votre implémentation pandom comme décrit dans la cinquième section de ce didacticiel. Si vous avez sauté la dernière étape, vous pouvez utiliser d'autres outils tels que le test de séquence de nombres pseudo-aléatoires.

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 Désinstaller entropyarray (facultatif)

Si vous prévoyez de ne plus utiliser entropyarray, vous voudrez peut-être le désinstaller à volonté.

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

3 Installation à l'aide du référentiel debian

Si vous souhaitez maintenir pandom à jour sur votre système basé sur Debian, vous pouvez choisir de l'installer/réinstaller à l'aide du référentiel debian ncomputers.org.

3.1 Gagner un accès root

Les packages debian ci-dessous doivent être installés en tant que root, exécutez cette commande si nécessaire.

su -

3.2 Installer le trousseau de clés

Ce paquet debian inclut la clé publique du dépôt debian ncomputers.org.

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

3.3 Liste des sources d'installation

Ces paquets debian incluent la liste des sources du dépôt debian ncomputers.org selon les dernières distributions debian (année 2017).

Remarque :Il est également possible d'écrire les lignes commentées ci-dessous dans /etc/apt/sources.list , au lieu d'installer le paquet debian respectif pour votre distribution debian, mais si ces sources changent à l'avenir, vous devrez les mettre à jour manuellement.

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

S'étirer

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

3.4 Mettre à jour la liste des sources

Une fois le trousseau de clés et la liste des sources installés.

apt-get update

3.5 Test pandom

Une fois testé, vous pouvez désinstaller le package ci-dessous à volonté.

Remarque  :si vous avez déjà testé pandom dans votre implémentation Linux, vous pouvez ignorer cette étape.

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

apt-get install pandom

4 Gérer pandom

Une fois pandom installé, vous souhaiterez peut-être le gérer.

4.1 Test de performances

Pandom offre environ 8 kilo-octets par seconde, mais ses performances peuvent varier en fonction de l'environnement.

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 d'entropie et de corrélation sérielle

En plus de ncomputers.org/entropyarray , il existe d'autres tests, par exemple la suite de tests NIST par Ilja Gerhardt.

entropyarray /dev/random 1M

4.3 Service système

Pandom s'exécute en tant que service système.

système d'initialisation basé sur init.d (par exemple :upstart, sysvinit)

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

systemd comme système d'initialisation

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

5 Augmentation de l'imprévisibilité ou des performances

Si vous souhaitez essayer d'augmenter l'imprévisibilité ou les performances de votre implémentation pandom, vous pouvez essayer d'ajouter ou de supprimer des mesures de temps CPU.

5.1 Modifier les fichiers sources

Dans les fichiers sources test.s et tRNG.s ajouter ou supprimer des blocs de mesure à volonté.

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

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

5.2 Tester l'imprévisibilité

Nous vous recommandons de toujours tester toute implémentation pandom personnalisée avant de l'utiliser à des fins cryptographiques.

make check

5.3 Installer pandom personnalisé

Si vous êtes satisfait des résultats, vous pouvez installer votre implémentation pandom personnalisée.

make install

Informations supplémentaires et mises à jour :http://ncomputers.org/pandom


Linux
  1. Comment installer Python sur Linux

  2. Comment installer Java sur Linux

  3. Comment installer NodeJS sur Linux

  4. Comment installer FFmpeg sous Linux

  5. Comment installer TeamViewer 15 sur Linux

Comment installer Anaconda sous Linux

Comment installer Setuptools pour Python sur Linux

Comment installer le sous-système Windows pour Linux

Comment installer Anaconda sur Linux pour la science des données gagne !

Comment installer Android File Transfer pour Linux sur Ubuntu

Comment installer et configurer le sous-système Windows pour Linux