.\" Copyright (c) 1997 John S. Kallal (kallal@voicenet.com) .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" Some changes by tytso and aeb. .\" Translated June 8 1998 by Juan Piernas .\" Translation revised on Tue Apr 6 1999 by Juan Piernas .\" .TH RANDOM 4 "1 Agosto 1997" "Linux" "Manual del Programador de Linux" .SH NOMBRE random, urandom \- dispositivos de la fuente de números aleatorios del núcleo .SH DESCRIPCIÓN Los ficheros especiales de caracteres \fB/dev/random\fP y \fB/dev/urandom\fP (presente desde la versión 1.3.30 de Linux) proporcionan una interfaz con el generador de números aleatorios del núcleo. El ficheros \fB/dev/random\fP tiene 1 como número major de dispositivo y 8 como número menor de dispositivo. El fichero \fB/dev/urandom\fP tiene 1 como número major de dispositivo y 9 como número menor de dispositivo. .LP El generador de números aleatorios recoge el ruido ambiental procedente de los manejadores de dispositivo y otras fuentes y lo guarda en un "almacen de entropía". El generador también mantiene una estimación del número de bits de ruído en el almacen de entropía. Los números aleatorios se crean a partir de este almacen. .LP En las lecturas, el dispositivo \fB/dev/random\fP sólo devolverá bytes aleatorios teniendo en cuenta el número de bits de ruído en el almacen de entropía (es decir, se devolverán los bytes solicitados si hay suficientes bits en el almacen para formar dichos bytes). \fB/dev/random\fP debe ser adecuado en aquellos casos en los que se necesite una aleatoriedad de gran calidad tales como "one-time pad" y la generación de claves. Cuando el almacen de entropía está vacío, las lecturas sobre \fB/dev/random\fP se bloquearán hasta que se recoga ruido ambiental adicional. .LP En las lecturas, el dispositivo \fB/dev/urandom\fP devolverá tantos bytes como se soliciten. Como resultado, si no hay suficiente entropía en el almacen de entropía, los valores devueltos son teóricamente vulnerables a un ataque criptográfico sobre los algoritmos usados por el manejador. El conocimiento de cómo hacer esto no está disponible en la literatura "sin clasificar" actual pero teóricamente es posible que un ataque así pueda existir. Si esto es una preocupación de su aplicación, use \fB/dev/random\fP en su lugar. .SH CONFIGURACIÓN Si en su sistema no existen todavía \fB/dev/random\fP y \fB/dev/urandom\fP, puede crearlos con las siguientes órdenes: .nf mknod -m 644 /dev/random c 1 8 mknod -m 644 /dev/urandom c 1 9 chown root:root /dev/random /dev/urandom .fi Cuando un sistema Linux arranca sin mucha interación del operador, el almacen de entropía puede estar en un estado bastante predecible. Esto reduce la cantidad actual de ruido en el almacen de entropía por debajo de lo recomendado. Para contrarestar este efecto, podemos conservar la información del almacen de entropía entre las paradas y arranques del sistema. Para hacer esto, añada las siguientes líneas a un guión shell adecuado que se ejecute durante la secuencia de arranque del sistema Linux: .nf echo "Initializando el generador de números aleatorios del núcleo..." # Initializamos el generador de números aleatorios del núcleo # de este arranque a partir de la semilla aleatoria de la última # parada (o arranque). Cargamos y a continuación salvamos 512 bytes, # que es el tamaño del almacen de entropía. if [ -f /var/random-seed ]; then cat /var/random-seed >/dev/urandom fi dd if=/dev/urandom of=/var/random-seed count=1 .fi También, añada las siguientes líneas a un guión shell apropiado que se ejecute durante la parada del sistema Linux: .nf # Mantenemos una semilla aleatoria entre una parada y un arranque # para el generador de números aleatorios. Salvamos 512 bytes, que # es el tamaño del almacen de entropía del generador de números # aleatorios. echo "Salvando semilla aleatoria..." dd if=/dev/urandom of=/var/random-seed count=1 .fi .SH FICHEROS /dev/random .br /dev/urandom .SH AUTOR El generador de números aleatorios del núcleo fue escrito por Theodore Ts'o (tytso@athena.mit.edu). .SH "VÉASE TAMBIÉN" mknod (1) .br RFC 1750, "Randomness Recommendations for Security"