[OpenBSD]


––El "mantra" de cualquier buen ingeniero de seguridad es : «La seguridad no es un producto, sino un proceso.» Es algo más que diseñar criptografía fuerte en un sistema; es diseñar el sistema por completo de manera que todas las medidas de seguridad, incluyendo la criptografía, funcionen juntas.——

-- Bruce Schneier, autor de "Applied Cryptography".

Criptografía

Índice
¿Por qué Incluimos Criptografía?.
OpenSSH.
Generadores de Números Pseudoaleatorios (PRNG): ARC4, ...
Funciones de Hash Criptográficas: MD5, SHA1, ...
Transformaciones Criptográficas: DES, Blowfish, ...
Soporte para Hardware Criptográfico
Se Buscan Criptógrafos Internacionales
Otros Textos


¿Por qué Incluimos Criptografía?

En dos palabras: porque podemos.

El proyecto OpenBSD está ubicado en Canadá.

La Lista sobre Controles a la Exportación de Canadá no impone ninguna restricción significativa a la exportación de software criptográfico, y es incluso más explícita sobre la exportación de software de libre disponibilidad. Marc Plumb ha hecho un estudio para comprobar las leyes sobre criptografía.

Por tanto el proyecto OpenBSD ha integrado criptografía en muchas partes del sistema operativo. Una condición «sine qua non» que exigimos del software criptográfico que usamos es que sea de dominio público y licencias decentes. No hacemos uso directo de criptografía con patentes restrictivas. También exigimos que provenga de países con leyes sobre la exportación útiles, ya que no deseamos quebrantar las leyes de ningún país. Los componentes criptográficos que usamos hoy en día fueron escritos en Argentina, Australia, Canadá, Alemania, Grecia, Noruega, y Suecia.

Cuando creamos revisiones de las versiones de OpenBSD o "snapshots" construimos los binarios para éstas en países libres, para asegurarnos de que los fuentes y binarios que ponemos a disposición de los usuarios están libres de toda sospecha. En el pasado hemos compilado nuestras versiones de binarios en Canadá, Suecia y Alemania.

OpenBSD sale con Kerberos IV incluido. El código base que usamos es el de la versión exportable de Suecia, basada en KTH. Nuestros fuentes del entorno gráfico X11 han sido ampliados para el uso de Kerberos IV. Soporte para Kerberos V aparecerá en 2.000; pero de momento no existe una versión exportable y libre de Kerberos V.

OpenBSD fue el primer sistema operativo que incluía IPSEC. Hemos incluido IPSEC desde el lanzamiento de OpenBSD 2.1 en 1.997. Nuestra implementación de IPSEC integrada en el núcleo, con aceleración de hardware basada en una variedad de tarjetas, y nuestro dæmon libre ISAKMP, se usa como una de las máquinas para las pruebas de conformidad de IPSEC realizadas por VPNC.

La criptografía es hoy un importante medio para mejorar la seguridad en un sistema operativo. La criptografía que se usa en OpenBSD se puede clasificar según varios aspectos, descritos a continuación.

OpenSSH

¿Qué es lo que la mayor parte de los usuarios hacen después de instalar OpenBSD? Instalar Secure Shell (ssh(1)) del árbol de portes o de los paquetes conseguidos por FTP. Hasta ahora así ha sido.

Desde el lanzamiento de la versión 2.6, OpenBSD contiene OpenSSH, una versión de ssh totalmente libre y sin los gravámenes de patentes. OpenSSH interaccionaba con la versión 1 de ssh y además añadía muchas características:

De forma escueta, en OpenBSD tomamos una versión con licencia libre de ssh y la hicimos al estilo OpenBSD. La patente para los EE.UU. de RSA la evitamos ofreciendo un método fácil para descargar e instalar un paquete con RSA activado, que contenga versiones de las bibliotecas compartidas de libcrypto y libssl. Estos paquetes están basados en OpenSSL(1). Las personas que vivan fuera de los EE.UU. pueden usar con total libertad el código patentado de RSA, mientras que aquellas personas que vivan dentro de los EE.UU. lo pueden usar con libertad siempre y cuando no sea con fines lucrativos. Parece ser que las compañías (no individuos) dentro de los EE.UU. también pueden usar las bibliotecas de RSA, siempre y cuando no sea con fines lucrativos.

De este modo casi todos obtendrán ssh integrado en sus sistemas operativos.

ˇNUEVO! OpenSSH incluye soporte para el protocolo 2.0!

Recientemente, hemos extendido OpenSSH para que también tenga use el protocolo SSH 2. Disponer de un dæmon ssh que pueda usar los tres protocolos principales de SSH (1.3, 1.5, 2.0) nos permite una mayor flexibilidad. El protocolo 2.0 no usa RSA para su criptografía de clave pública, y en su lugar usa los algoritmos DH y DSA. En OpenBSD 2.7 (que incluirá el nuevo OpenSSH) dispone de soporte para el protocolo 2.0 «¡tal y como sale de fábrica!» Si desea también soporte para los protocolos 1.3 y 1.5, no tiene más que añadir el paquete RSA (como se describe en nuestra página de manual de ssl) y reiniciar el dæmon.

Generadores de Números Pseudoaleatorios

Un generador de números pseudoaleatorios (PRNG - Pseudo Random Number Generator) provee a las aplicaciones con una fuente de números que tienen ciertas propiedades importantes para la seguridad del sistema:

Un PRNG es por lo general un algoritmo en el que los mismos valores iniciales producirán las misma secuencia de salidas. En un sistema operativo multiusuario existen muchos recursos que permiten alimentar el PRNG con datos aleatorios. El núcleo de OpenBSD usa el interruptor de tiempo del ratón, las señales de interrupción de datos de la red, las señales producidas entre diferentes pulsaciones de teclado y la información de E/S del disco, para alimentar la entropía. Los números aleatorios están disponibles para las rutinas del núcleo y se exportan mediante dispositivos a programas en los directorios de usuarios.

Hasta ahora, los números aleatorios se usan en las siguientes partes:

Funciones de Hash Criptográficas

Una Función de "Hash" comprime sus datos de entrada en una cadena de tamaño constante. Para una Función "Hash" Criptográfica no es factible encontrar:

MD5, SHA1 y RIPEMD-160, se usan en OpenBSD como Funciones de "Hash" Criptográficas, v.g.:

Transformaciones Criptográficas

Las Transformaciones Criptográficas se usan para cifrar y descifrar datos. Éstas son comúnmente utilizadas con una clave de cifrado para cifrar datos y con una clave de descifrar para descifrarlos. La seguridad de una Transformación Criptográfica debería descansar sólo en el material de la clave.

OpenBSD provee transformaciones como DES, 3DES, Blowfish y Cast para el núcleo del sistema y los programas en directorios de usuario, y se usan en muchas partes, como por ejemplo:

Soporte para Hardware Criptográfico

A partir de la versión 2.7 de OpenBSD se ha empezado a añadir soporte para hardware criptográfico, como aceleradores de cifrado y generadores de números aleatorios.

Si alguna persona quiere ayudarnos programando controladores, puede unirse a nosotros.

Se Buscan Criptógrafos Internacionales

Nuestro proyecto necesita personas que trabajen en estos sistemas. Si algún criptógrafo, que no sea estadounidense y que cumpla los requisitos que se han enumerado en esta página, está interesado en ayudar con criptografía integrada en OpenBSD, por favor contacte con nosotros.

Otros Textos

Los miembros del equipo de OpenBSD han escrito unas cuantas ponencias sobre los cambios en criptografía que ellos han aplicado a OpenBSD. Las versiones en postscript de estos documentos estan disponibles como sigue.


OpenBSD www@openbsd.org
Originally [OpenBSD: crypto.html,v 1.73 2000/12/15 15:47:43 aaron Exp ]
$Translation: crypto.html,v 1.18 2000/12/16 20:58:58 horacio Exp $
$OpenBSD: crypto.html,v 1.17 2000/12/16 21:52:24 jufi Exp $