Este tutorial es para las versiones del kernel de linux amd64 / x86_64 mayores e iguales a 2.6.9. Explica cómo instalar pandom:un verdadero generador de números aleatorios de fluctuación de tiempo mantenido por ncomputers.org
Introducción
El generador de números aleatorios verdaderos del kernel de Linux incorporado proporciona un bajo rendimiento en circunstancias modernas, como por ejemplo:computadoras personales con unidades de estado sólido (SSD) y servidores privados virtuales (VPS).
Este problema se está volviendo popular en las implementaciones de Linux, debido a la necesidad cada vez mayor de números aleatorios verdaderos, principalmente por diversos propósitos criptográficos.
Pandom produce alrededor de 8 KiB/s de entropía de 64 ubits/64 bits, es compatible con entornos físicos y virtuales y asume que ningún otro proceso se ejecuta mientras el usuario root escribe en /dev/random.
1 Instalación de pandom
1.1 Obtener acceso raíz
Pandom debe estar instalado como root, ejecute este comando si es necesario.
su -
1.2 Instalar dependencias de compilación
Para descargar e instalar pandom, necesita:GNU como sembler, GNU hacer , GNU tar y GNU wget (los dos últimos generalmente ya instalados). Puede desinstalarlos más tarde si lo desea.
Sistemas basados en arquitectura
pacman -S binutils make
Sistemas basados en Debian
apt-get install binutils make
Sistemas basados en Red Hat
dnf install binutils make
yum install binutils make
Sistemas basados en SUSE
zypper install binutils make
1.3 Descargar y extraer fuentes
Estos comandos descargan y extraen las fuentes de pandom de ncomputers.org usando wget y alquitrán .
wget http://ncomputers.org/pandom.tar.gz
tar xf pandom.tar.gz
cd pandom/amd64-linux
1.4 Probar antes de instalar (recomendado)
Esta prueba recomendada dura alrededor de 8 minutos. Comprueba la compatibilidad con el kernel y genera un archivo llamado checkme (analizado en la siguiente sección).
make check
1.5 Determinar el sistema de inicio
Antes de instalar pandom, necesita saber qué software de inicio utiliza su sistema. Si el siguiente comando genera la palabra en ejecución , significa que su sistema está usando systemd , de lo contrario, es probable que su sistema esté utilizando un init.d implementación (por ejemplo:advenedizo, sysvinit). Puede haber algunas excepciones, más información en estas respuestas de unix.stackexchange.com.
systemctl is-system-running
running
1.6 Instalar pandom
Una vez que sepa qué sistema utiliza su implementación de Linux, puede instalar pandom en consecuencia.
sistema de inicio basado en init.d (por ejemplo:upstart, sysvinit)
Instale pandom ejecutando este comando, si su sistema está usando un init.d implementación (por ejemplo:advenedizo, sysvinit).
make install-init.d
systemd como sistema de inicio
Instale pandom ejecutando este comando, si su sistema está usando systemd .
make install-systemd
2 Análisis del archivo checkme
Antes de usar pandom con fines criptográficos, se recomienda encarecidamente analizar checkme archivo generado durante el proceso de instalación en la sección anterior de este tutorial. Esta tarea es útil para saber si los números son realmente aleatorios o no. Esta sección explica cómo analizar checkme archivo usando ncomputers.org/entropyarray :un script de shell, que prueba la entropía y la correlación serial de su entrada.
Nota :este análisis puede ejecutarse en otra computadora, como una computadora portátil o de escritorio. Por ejemplo:si está instalando pandom en un servidor privado virtual (VPS) de recursos limitados, puede optar por copiar checkme archivo a su computadora personal, para analizarlo allí.
También puede usar Entropy Online Tester .
2.1 Obtenga acceso a la raíz
Entropyarray debe estar instalado como raíz, ejecute este comando si es necesario.
su -
2.2 Instalar dependencias de compilación
Para descargar e instalar entropyarray, necesita:GNU g++ compilador, GNU hacer , GNU tar y GNU wget (los dos últimos generalmente ya instalados). Puede desinstalarlos más tarde si lo desea.
Sistemas basados en arco
pacman -S gcc make
Sistemas basados en Debian
apt-get install g++ make
Sistemas basados en Red Hat
dnf install gcc-c++ make
yum install gcc-c++ make
Sistemas basados en SUSE
zypper install gcc-c++ make
2.3 Descargar y extraer fuentes
Estos comandos descargan y extraen las fuentes de entropyarray de ncomputers.org usando wget y alquitrán .
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 Instalar entropyarray
Nota :los errores relacionados con -std=c++11 significan que GNU g++ la versión del compilador no es compatible con el estándar ISO C++ 2011. Puede intentar compilar ncomputers.org/entropy y ncomputers.org/rearray en otro sistema que lo admita (p. ej., GNU g++ en una versión más nueva de su distribución de Linux favorita) y luego instale los binarios compilados usando make install en el sistema que le gustaría ejecutar entropyarray , u omita este paso, aunque es muy recomendable que analice checkme archivo antes de usar pandom para cualquier propósito criptográfico.
cd rearray; make install; cd ..
cd entropy; make install; cd ..
cd entropyarray; make install; cd ..
2.5 Analizar archivo checkme
Nota :Las implementaciones pandom de 64 ubits / 64 bits deberían dar como resultado esta prueba con una entropía superior a 15.977 y máx frecuencia por debajo de 70 . Si sus resultados difieren demasiado, puede intentar aumentar la imprevisibilidad de su implementación de pandom como se describe en la quinta sección de este tutorial. En caso de que se haya saltado el último paso, puede usar otras herramientas, como la prueba de secuencia de números pseudoaleatorios.
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 Desinstalar entropyarray (opcional)
Si planea no usar más entropyarray, puede desinstalarlo cuando lo desee.
cd entropyarray; make uninstall; cd ..
cd entropy; make uninstall; cd ..
cd rearray; make uninstall; cd ..
3 Instalación usando el repositorio de Debian
Si desea mantener pandom actualizado en su sistema basado en Debian, puede optar por instalarlo/reinstalarlo usando el repositorio de Debian de ncomputers.org.
3.1 Obtenga acceso a la raíz
Los siguientes paquetes de Debian deben instalarse como raíz, ejecute este comando si es necesario.
su -
3.2 Instalar llavero
Este paquete de Debian incluye la clave pública del repositorio de Debian ncomputers.org.
wget http://ncomputers.org/debian/keyring.deb
dpkg -i keyring.deb
rm keyring.deb
3.3 Lista de fuentes de instalación
Estos paquetes debian incluyen la lista de fuentes del repositorio debian ncomputers.org según las últimas distribuciones debian (año 2017).
Nota :También es posible escribir las líneas comentadas a continuación en /etc/apt/sources.list , en lugar de instalar el paquete debian respectivo para su distribución debian, pero si estas fuentes cambian en el futuro, deberá actualizarlas manualmente.
Sibilante
#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
Estiramiento
#deb http://ncomputers.org/debian stretch main
wget http://ncomputers.org/debian/stretch.deb
dpkg -i stretch.deb
rm stretch.deb
3.4 Actualizar lista de fuentes
Una vez que el conjunto de claves y la lista de fuentes estén instalados.
apt-get update
3.5 Prueba pandom
Una vez probado, puede desinstalar el siguiente paquete a voluntad.
Nota :si ya ha probado pandom en su implementación de Linux, puede omitir este paso.
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 Instalar pandom
apt-get install pandom
4 Gestión de pandom
Después de instalar pandom, es posible que desee administrarlo.
4.1 Prueba de rendimiento
Pandom ofrece alrededor de 8 kilobytes por segundo, pero su rendimiento puede variar según el entorno.
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 Prueba de entropía y correlación serial
Además de ncomputers.org/entropyarray , hay más pruebas, por ejemplo NIST testsuite de Ilja Gerhardt.
entropyarray /dev/random 1M
4.3 Servicio del sistema
Pandom se ejecuta como un servicio del sistema.
sistema de inicio basado en init.d (por ejemplo:upstart, sysvinit)
/etc/init.d/random status
/etc/init.d/random start
/etc/init.d/random stop
/etc/init.d/random restart
systemd como sistema de inicio
systemctl status random
systemctl start random
systemctl stop random
systemctl restart random
5 Aumento de la imprevisibilidad o el rendimiento
Si desea intentar aumentar la imprevisibilidad o el rendimiento de su implementación pandom, puede intentar agregar o eliminar medidas de tiempo de CPU.
5.1 Editar archivos fuente
En los archivos fuente test.s y tRNG.s agregue o elimine bloques de medidas a voluntad.
#measurement block
mov $35,%rax
syscall
rdtsc
[...]
#measurement block
mov $35,%rax
syscall
rdtsc
[...]
5.2 Probar la imprevisibilidad
Recomendamos probar siempre cualquier implementación pandom personalizada antes de usarla con fines criptográficos.
make check
5.3 Instalar pandom personalizado
Si está satisfecho con los resultados, puede instalar su implementación pandom personalizada.
make install
Información adicional y actualizaciones:http://ncomputers.org/pandom