RANDOM(4)          Manuel du programmeur Linux          RANDOM(4)


NOM
       random,  urandom - Périphériques générateurs aléatoires du
       noyau.

DESCRIPTION
       Les fichiers spéciaux caractères /dev/random et /dev/uran­
       dom (existants depuis Linux 1.3.30) fournissent une inter­
       face avec le générateur de nombres aléatoires du noyau.

       Le fichier /dev/random a un numéro de périphérique  majeur
       égal  à  1,  et  un numéro mineur égal à 8. Les numéros du
       périphérique /dev/urandom sont 1 pour le majeur, et 9 pour
       le mineur.

       Le  générateur  de  nombres  aléatoires  regroupe du bruit
       provenant de son  environnement  par  l'intermédiaire  des
       pilotes de périphériques et d'autres sources, et le stocke
       dans un  réservoir  d'entropie.   Le  générateur  mémorise
       également  une  estimation du nombre de bits de bruit dans
       son réservoir d'entropie,  et  utilise  son  contenu  pour
       créer des nombres aléatoires.

       Lors  d'une  lecture,  le  périphérique  /dev/random  sera
       limité au nombre de bits de bruit contenus dans le  réser­
       voir d'entropie.

       /dev/random  est  particulièrement  adapté pour des cas où
       l'on  a  ponctuellement  besoin   de   nombres   hautement
       aléatoires  (création  de  clés  par exemple).  Lorsque le
       réservoir   d'entropie   est   vide,   les   lectures   du
       périphérique   /dev/random   seront   bloquantes   jusqu'à
       l'obtention de suffisament  de  bruits  en  provenance  de
       l'environnement.

       Lors  d'une lecture, /dev/urandom renverra autant d'octets
       qu'on en demande.  Toutefois, s'il n'y  a  plus  assez  de
       bits disponibles dans le réservoir d'entropie, les valeurs
       renvoyées pourraient être théoriquement vulnérables à  une
       cryptanalyse basée sur l'algorithme employé par le pilote.
       Il n'existe pas de documentation  sur  ce  type  d'attaque
       dans la littérature publique actuelle, mais cela n'élimine
       pas le risque théorique.  Si ce risque est important  pour
       votre application, utilisez plutôt /dev/random à la place.


CONFIGURATION
       Si votre système ne dispose pas des  fichiers  /dev/random
       et  /dev/urandom  vous pouvez les créer avec les commandes
       suivantes :

               mknod -m 644 /dev/random c 1 8
               mknod -m 644 /dev/urandom c 1 9
               chown root:root /dev/random /dev/urandom




Linux                   14 Septembre 1998                       1





RANDOM(4)          Manuel du programmeur Linux          RANDOM(4)


       Lorsqu'un système Linux démarre sans interaction  avec  un
       opérateur  humain, le réservoir d'entropie peut se trouver
       dans un état relativement prédictible.  La véritable quan­
       tité  de  bruit  dans le réservoir d'entropie est donc en-
       dessous de son estimation. Afin de contrer ce problème, il
       est  utile  de  sauvegarder l'état du réservoir entropique
       lors des arrêts et redémarrages du système.  Il est possi­
       ble  ainsi d'ajouter les lignes suivantes dans les scripts
       de démarrage appropriés :

            echo "Initialisatiion du générateur de nombre aléatoires"
            # Initialiser le générateur de nombre aléatoire avec une racine
            # mémorisée lors du dernier arrêt (ou redémarrage) du système
            # On charge jusqu'à 512 octets (taille du réservoir d'entropie).
            if [ -f /var/random-seed ]; then
                 cat /var/random-seed >/dev/urandom
            fi
            dd if=/dev/urandom of=/var/random-seed count=1

       Egalement, il faut ajouter les lignes  suivantes  dans  un
       script exécuté lors de l'arrêt du système.

            # Sauver une racine aléatoire pour pouvoir redémarrer le
            # générateur au prochain boot. On sauve 512 octets.
            echo "Sauvegarde de la racin du générateur aléatoire..."
            dd if=/dev/urandom of=/var/random-seed count=1

FICHIERS
       /dev/random
       /dev/urandom

AUTEUR
       Le  générateur  de  nombre aléatoires du noyau a été écrit
       par Theodore Ts'o (tytso@athena.mit.edu).

VOIR AUSSI
       mknod (1)
       RFC 1750, "Randomness Recommendations for Security"

TRADUCTION
       Christophe Blaess, 1998.
















Linux                   14 Septembre 1998                       2