[OpenSSH]

Objetivos del Proyecto


Nuestro objetivo es simple: como telnet y rlogin no son seguros, todos los sistemas operativos deberían incluir el soporte para el protocolo SSH (véase la imagen al final del texto).

Existen dos variedades del protocolo SSH que son incompatibles: SSH 1 y SSH 2.

La más antigua, el protocolo SSH 1, se encuentra en dos subvariedades: el protocolo 1.3 y el protocolo 1.5. OpenSSH tiene soporte para ambas. Las dos usan el algoritmo de criptografía asimétrica RSA (cuya patente en los EE.UU. ha caducado, permitiendo así su libre utilización) para la negociación de claves, y luego usan una pequeña lista de algoritmos simétricos para esconder datos: 3DES y Blowfish. (solía haber otros cuantos algoritmos como RC4, pero sus implementaciones tenín problemas de seguridad). Algunas implementaciones del protocolo SSH 1 también incluyen soporte para el algoritmo simétrico IDEA, pero debido a que está patentado en algunos países, y a que los otros dos algoritmos ya incluidos son suficientes, el soporte para IDEA no está incluido en OpenSSH.

El protocolo SSH 1 usa un simple CRC para la integridad de los datos que contiene un error de diseño; se sabe que es posible un ataque de inserción, sin embargo, debido a una cantidad de ayudas de banda que han sido aplicadas a SSH durante todos estos años, los ataques contra éste son muy difíciles de llevar a cabo. Cuando se usa el algoritmo de cifrado 3DES, la posibilidad de un ataque de inserción es significativamente menor (esto lo podemos solucionar en breve).

La segunda variedad principal de SSH es el protocolo SSH 2. SSH 2 se inventó para evitar los problemas de patentes relacionados con RSA (problemas que ya no existen puesto que la patente ya ha caducado), y para solucionar el problema de integridad de datos de CRC que tiene SSH1, además de otras varias razones de naturaleza técnica. Usando los algoritmos asimétricos DSA y DH, el protocolo 2 evita todas las patentes. El problema con CRC también se ha solucionado usando un algoritmo real HMAC. El protocolo SSH 2 tiene soporte para muchos otros cifrados simétricos, así como muchas otras nuevas funcionalidades.

El código de OpenSSH que contiene soporte completo para los protocolos SSH 1.3 y SSH 1.5 fue lanzado el 1 de septiembre de 1.999.

Para muchas de sus funcionalidades criptográficas, OpenSSH depende de la biblioteca OpenSSL, la cual se encuentra bajo una licencia no GPL.

Casi inmediatamente después del lanzamiento de nuestra implementación del protocolo SSH 1, varios grupos ajenos a OpenBSD empezaron a mostrar un gran interés. Damien Miller, Philip Hands, y unos cuantos más, comenzaron a portar OpenSSH a Linux y a otros sistemas operativos Unix. Desde el momento en que empezamos con esta tarea pensamos que el código original de SSH era demasiado complejo; tenía demasiadas dependencias de sistemas operativos como para tratar con él. El modo en que lo abordamos para escribir un código completamente seguro y sólido como una roca, evita tener que tratar con diferencias excesivas como las que se presentaban. Así pues, para facilitarnos el proceso completo de desarrollo a todos, decidimos separar nuestro esfuerzo de desarrollo central del de desarrollo de portabilidad. Esto nos ha funcionado muy bien (como prueba, compare el número de líneas de código entre la versión base y la portable).

Continuando con esa tendencia, los miembros del proyecto OpenBSD que trabajaron en OpenSSH hicieron un esfuerzo para implementar también el soporte del protocolo SSH 2. Este trabajo fue llevado a cabo principalmente por Markus Friedl. Alrededor del 4 de mayo de 2.000, el soporte para el protocolo SSH 2 se implementó lo suficiente como para que ya se pudiera utilizar.


¿Todavía está usando programas «no cifrados» para el ingreso por la red?

sheriff
OpenSSH www@openbsd.org
Originally [OpenBSD: goals.html,v 1.18 ]
$Translation: goals.html,v 1.15 2004/09/04 19:53:10 santana Exp $
$OpenBSD: goals.html,v 1.14 2004/09/05 16:50:50 jufi Exp $