Hello,
Je rencontre actuellement des problèmes de disponibilités de nombres aléatoires sur ma machine d'auto-hébergement:
depuis que j'ai mis en place DNSSEC avec bind9 en mode "inline-signing", mon entropie disponible chute souvent1 et je pense que c'est la cause de certains soucis d'instabilités de mon serveur (bon, là, il a environ 700 entropies disponibles, mais dès que je fais une mise à jour dynamique DNS, il descend à 0 pendant quelques minutes).
Comme je suis en train de développer un script python pour Let's Encrypt avec vérification DNS, je fais fréquemment des mises à jour dynamiques DNS et du coup tant que je ne développe pas ça va, mais dès que bind met à jour les signatures DNSSEC c'est galère. Mon projet est donc un peu bloqué tant que mon serveur DNS reste instable.
Je me suis donc dit qu'il fallait chercher un moyen pour régler ce problème d'entropie.
Comme cette machine ne semble pas avoir de matériel de génération d'entropie, la première solution avait été d'utiliser [haveged](http://linux.die.net/man/8/haveged)
.
Cet outil permet d'accroître l'entropie disponible par défaut sous Linux en utilisant plus de sources disponibles.
Cette solution m'a permis de mettre plus rapidement en place DNSSEC (la première génération des signatures était vraiment très lente sinon).
Pour l'instant, cette solution pourrait suffire, mais comme je souhaite mettre en place Let's Encrypt avec mise à jour des entrées DNS automatique, mon entropie pourra chuter souvent et mon serveur DNS ne répond plus pendant quelques minutes après la mise à jour dynamique (je ne suis pas sûr que ce soie lié à l'entropie disponible, mais c'est ce qui me semble le plus crédible pour l'instant).
J'ai donc cherché sur le web si un matériel USB existait pour créer des nombres aléatoires (ma machine est un ordinateur portable, l'USB est le plus simple à utilser). Et là j'ai découvert le projet OneRNG.
Le but de ce projet est de fournir un périphérique bon marché (40$) capable de générer des nombres aléatoires avec un design Open Hardware et des logiciels Open Source (voire les informations techniques).
Le périphérique peut utiliser deux sources d'entropies (voire les fondements théoriques):
* l'activité des ondes radio alentours
* une "avalanche diode" qui génère des 0 et des 1 à une fréquence plus élevée que celle utilisée pour lire ces nombres
Le périphérique correspondrait exactement à mes besoins, le projet nous donne les moyens de vérifier si le matériel correspond bien à ce qui a été prévu et le firmware est signé à l'intérieur de la puce. Le matériel est isolé par une petite cage de Faradet afin d'éviter que l'envirronnement perturbe le générateur et que le bruit généré ne soit pas utilisable par quelqu'un de l'extérieur. Par contre, il est clairement dit que les données transférées par l'USB ne sont pas protégées.
Manque de chance, cher lecteur qui découvre en même temps que moi ce projet, le format USB de type A de leur matériel est en rupture de stock et un voyage en Chine devra être fait avant que le matériel soit à nouveau disponible (prévu en août, le voyage permettra la vérification de l'installation du firmware apparemment). L'autre format, insérable sur les pins USB d'une tour / d'un serveur est par contre disponible.
Soyons donc patients et attendons le mois d'août pour Let's Encrypt (j'ai déjà dû renouvelé mon certificat pour 2 ans, ça pourra donc attendra donc 1 mois) et vos autres projets nécessitant beaucoup d'entropie :)
# .
Posté par guppy . Évalué à 2.
Tu peux également acheter ce genre de truc :
http://www.partsdata.fr/cables-usb-und-accessoires/cable-usb/adaptateurs-usb-mecaniques/k-001/usb-adapter-a-maennlich-auf-4-stifte
Ou alors tu peux tout simplement le fabriquer en sacrifiant une vieille rallonge usb par exemple.
[^] # Re: .
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 2.
Oui, mais je suis assez maladroit et je n'ai jamais appris à faire des soudures, alors je préfère ne pas tenter ce genre d'expérience :)
# NeuG
Posté par gouttegd . Évalué à 10.
Dans le même genre, il y a NeuG, un RNG pour microprocesseur STM32F103. Il est développé par Niibe Yutaka, un des développeurs de GnuPG qui est aussi à l’origine du token Gnuk, une implémentation de la carte OpenPGP.
Il peut être obtenu auprès de la FSF.
[^] # Re: NeuG
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 5.
Super, merci, je pourrais prendre un peu plus de recule à OneRNG.
C'est très intéressant que la FSF vende aussi un générateur d'aléatoire.
En plus, il n'y a pas besoin de logiciels spéciales pour Linux, on peut voir l'interface directement avec
/dev/ttyACM0
.Donc, si j'ai bien compris, il faudra juste utiliser rng-tools pour prendre en compte cette nouvelle source d'entropie.
Je trouve la page de présentation beaucoup plus simple et claire.
Le magasin en ligne de la FSF est déjà sous HTTPS avec Let's Encrypt (alors que pour OneRNG, c'est que la validation de payement qui se fait par un site "Norton Secured").
Enfin, les deux projets sont très intéressant et sont complémentaires puisqu'ils utilisent des sources d'entropies différentes :)
# La ChaosKey
Posté par Frédéric Massot (site web personnel) . Évalué à 6.
Keith Packard et Bdale Garbee, grandes figures du logiciels libres, ont développés et commercialisent la ChaosKey une clé USB générateur de nombre aléatoire.
http://www.phoronix.com/scan.php?page=news_item&px=ChaosKey-1.0-2016
http://altusmetrum.org/ChaosKey/
Le pilote est disponible dans le noyau Linux depuis la version 4.1.
[^] # Re: La ChaosKey
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 3.
Super, ils espèrent produire 1000 pièces pour le mois d'août 2016.
Si j'ai bien compris leur documentation, leur source est aussi une paire de transitors :
Par contre, je ne sais pas quelle est la différence avec la source correspondante de la OneRNG.
Il faut que je regarde la vidéo de la Debconf 16 chez moi pour comprendre.
Merci !
# L’entropie est à consommer avec modération
Posté par gouttegd . Évalué à 8.
Un appel de note sans la note correspondante, c’est triste…
En général, c’est révélateur d’un programme qui fait un mauvais usage du générateur de nombres aléatoires, notamment en puisant directement tous les nombres dont il a besoin dans le pool d’entropie, au lieu de prendre seulement quelques octets et de les utiliser pour initialiser son propre CSPRNG (qu’il peut ensuite faire tourner à sa guise sans plus rien demander au système).
Par ailleurs, si le programme tape par défaut dans
/dev/random
(c’est le cas de dnssec-signzone il me semble), il ne faut pas hésiter à lui dire d’aller voir du côté de /dev/urandom.[^] # Re: L’entropie est à consommer avec modération
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 3.
Ah oui, j'ai oublié de l'enlever. La note a été transformée en paragraphe dans le texte (celui à propos de mon dev actuel).
Je peux confirmer que lorsque je fais un
lsof /dev/random
, je voisnamed
constamment (de temps en temps un autre logiciel, mais ce n'est que quelques instants).Merci, je n'avais même pas pensé que ça pouvait être configurable dans bind et le lien pour /dev/urandom est très intéressant !
[^] # Re: L’entropie est à consommer avec modération
Posté par steph1978 . Évalué à 1.
C'est peut être le P (pour Pseudo) qui gène pour une application critique…
# Entropie disponible
Posté par gUI (Mastodon) . Évalué à 3. Dernière modification le 15 juillet 2016 à 17:13.
Vite fait histoire de
mourirdormir moins con, c'est quoi ce concept d'entropie disponible ? L'entropie se mesure ? Un truc qui se répète a une entropie pourrie alors qu'un vrai random générator en aura une plus grosse ?Merci !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Entropie disponible
Posté par Babelouest (site web personnel) . Évalué à 6.
L'entropie c'est pas le pays en Afrique qu'on a fait une chanson pour les aider dans les années 80 avec tous les chanteurs français dans la télé de l'époque?
Je suis déjà dehors ----> []
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 9. Dernière modification le 15 juillet 2016 à 18:35.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Entropie disponible
Posté par Joël Thieffry (site web personnel) . Évalué à 7.
Ah ah ah Claude Shannon peu connu ! Tu m'as pris au dépourvu.
[^] # Re: Entropie disponible
Posté par gUI (Mastodon) . Évalué à 10.
Claude ?
Je croyais que son prénom c'était "Théorème de".
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Entropie disponible
Posté par Michaël (site web personnel) . Évalué à 2. Dernière modification le 18 juillet 2016 à 16:38.
C'est l'article qui jette les fondements de la théorie mathématique de la communication, donc ta présentation arrive à faire pas mal de blagues en une seule phrase. :) Ceci dit c'est souvent une bonne idée de lire ce genre d'articles, ils sont souvent beaucoup plus simples et compréhensibles que ce à quoi on pourrait s'attendre quand on a pris l'habitude des articles de recherche. :)
[^] # Re: Entropie disponible
Posté par Alex G. . Évalué à 2.
https://www.youtube.com/watch?v=9rIy0xY99a0 c'est assez fun mais en anglais, et ça parle du lien randomness - entropy.
[^] # Re: Entropie disponible
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 1.
L'entropie disponible est une estimation de la disponibilité des nombres aléatoires.
Le commentaire au dessus a un lien sur un bon article qui explique ça avec la différence entre /dev/random et /dev/urandom.
# sources
Posté par steph1978 . Évalué à 2.
C'est ce qu'utilise random.org. Je me suis toujours demandé si au fin fond d'un datacenter c'était une source fiable et abondante ? Vu le débit proposé par random.org, c'est une source peu abondante (1500b/s je crois).
Est-ce que cumuler des sources pas très fiables car proprio ou avec un débit faible peut garantir une source fiable ?
[^] # Re: sources
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 2. Dernière modification le 18 juillet 2016 à 22:20.
Mmmh, c'est une bonne question. Pour mon besoin, ça va très bien car ce serait pour une machine dans mon appartement et comme il y a pas mal de réseaux sans fil dans l'immeuble et les immeubles voisins, ça devrait bien marcher.
Cependant, OneRNG permet de configurer quelles sources utiliser (soit une, soit l'autre, soit les deux).
Donc, si on ne fait pas confiance à l'environnement radio du data center, on peut utiliser uniquement l'« avalanche diode ».
# Source = Web
Posté par Mimoza . Évalué à 4.
J'arrive après la bataille, mais ne te serait il pas possible de générer tes nombre aléatoire suivant diverses source web, genre plusieurs fil tweeter très actif + youtube + la tribune ;) + etc.
La liste de tes sources serait la clée de ta non prévisibilité/espionnage.
[^] # Re: Source = Web
Posté par Juke (site web personnel) . Évalué à 1.
C'est quand meme tres predictible un flux xml
[^] # Re: Source = Web
Posté par Mimoza . Évalué à 2.
Oui je suis bien d'accord, mais le truc serait de mélanger plusieurs source pour obtenir une seul série de chiffre. Si tu prend le flux de vidéo ajouté sur Youtube tu as de quoi faire. C'est la multiplicité et le nombre de source qui fera que ton générateur soit fiable.
Non ?
[^] # Re: Source = Web
Posté par Juke (site web personnel) . Évalué à 1.
Il me semble que non.
[^] # Re: Source = Web
Posté par wismerhill . Évalué à 2.
Non
http://blog.cr.yp.to/20140205-entropy.html
[^] # Re: Source = Web
Posté par steph1978 . Évalué à 2.
ça suppose que la mauvaise source peut espionner les autres sources.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.