Publicado el 26 de Mayo del 2018
501 visualizaciones desde el 26 de Mayo del 2018
1,3 MB
60 paginas
Creado hace 20a (26/01/2004)
Aplicaciones seguras
Xavier Perramon
Índice
Aplicaciones seguras
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5
1.1
1.2
1. El protocolo SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
Características del protocolo SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
La capa de transporte SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
El protocolo de paquetes SSH . . . . . . . . . . . . . . . . . . . . . . . . .
El protocolo de capa de transporte SSH . . . . . . . . . . . . . . . . 11
El protocolo de autenticación de usuario . . . . . . . . . . . . . . . 13
El protocolo de conexión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Ataques contra el protocolo SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Aplicaciones que utilizan el protocolo SSH . . . . . . . . . . . . . . . . . . . 19
1.2.1
1.2.2
1.2.3
1.2.4
1.3
1.4
2.1
2.2
2.3
2.1.1
2.1.2
2.1.3
2. Correo electrónico seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Seguridad en el correo electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Confidencialidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Autenticación de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Compatibilidad con los sistemas de correo no seguro . . . 26
S/MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
El formato PKCS #7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Formato de los mensajes S/MIME . . . . . . . . . . . . . . . . . . . . . 33
Distribución de claves con S/MIME . . . . . . . . . . . . . . . . . . . 37
PGP y OpenPGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Formato de los mensajes PGP . . . . . . . . . . . . . . . . . . . . . . . . . 40
Distribución de claves PGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
El proceso de certificación PGP . . . . . . . . . . . . . . . . . . . . . . . 45
Integración de PGP con el correo electrónico . . . . . . . . . . . 46
2.3.1
2.3.2
2.3.3
2.3.4
2.2.1
2.2.2
2.2.3
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Ejercicios de autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
© FUOC • P06/M2107/01772 Introducción
4
Aplicaciones seguras
En este módulo se describen aplicaciones que utilizan técnicas de seguridad
en las comunicaciones para proteger los datos intercambiados.
Un ejemplo de aplicaciones que hay que proteger son las que permiten es-
tablecer sesiones de trabajo interactivas con un servidor remoto. En la primera
parte del módulo veremos una aplicación de este tipo, llamada SSH, que de-
fine su propio protocolo para que los datos de la aplicación se transmitan cifra-
dos. El mismo protocolo proporciona también mecanismos de autenticación
del servidor frente al usuario, y del usuario frente al servidor. Como vere-
mos, el protocolo SSH se puede utilizar para otras aplicaciones aparte de las
sesiones interactivas, ya que permite el encapsulamiento de conexiones TCP a
cualquier puerto dentro de una conexión SSH.
La segunda parte de este módulo la dedicaremos a otra de las principales apli-
caciones que suele ser necesario proteger: el correo electrónico. Con los
mecanismos de protección adecuados se puede garantizar la confidencialidad,
es decir, que nadie más que el destinatario o destinatarios legítimos puedan ver
el contenido de los mensajes, y la autenticidad, es decir que los destinatarios
puedan comprobar que nadie ha falsificado un mensaje. Los sistemas actuales
de correo electrónico normalmente utilizan las firmas digitales para propor-
cionar el servicio de autenticación de mensaje.
Una particularidad del correo electrónico seguro respecto a otras aplicaciones
como SSH es que la protección se realiza preferentemente sobre los mensajes
enviados, más que sobre los protocolos de comunicación utilizados. Esto es
así porque la confidencialidad y la autenticidad se tiene que garantizar no sólo
durante la transmisión de los mensajes, sino también en cualquier otro mo-
mento posterior, ya que el destinatario puede guardar los mensajes que recibe
y volverlos a leer cuando le convenga.
En este módulo veremos dos de los principales sistemas utilizados actualmente
para proteger los mensajes de correo electrónico, S/MIME y PGP.
© FUOC • P06/M2107/01772 Objetivos
5
Aplicaciones seguras
Con los materiales asociados a este módulo didáctico alcanzareis los siguien-
tes objetivos:
1. Conocer el mecanismo general de funcionamiento del protocolo SSH y
las principales aplicaciones que lo utilizan.
2. Comprender las funciones de seguridad que pueden proporcionar los sis-
temas de correo electrónico seguro y los mecanismos para alcanzarlas.
3.
Identificar el estándar S/MIME como aplicación de la especificación MIME
al correo seguro, y conocer el uso que se hace del estándar PKCS #7 y de
los certificados digitales X.509.
4. Conocer el método de representación de información segura en PGP y el
modelo de confianza mutua del sistema PGP.
© FUOC • P06/M2107/01772 1. El protocolo SSH
.
6
Aplicaciones seguras
.
SSH es una aplicación diseñada para substituir determinadas herra-
mientas de acceso remoto usadas tradicionalmente en los sistemas Unix,
como rsh (Remote Shell), rlogin (Remote Login) o rcp (Remote
Copy), por nuevas versiones con servicios de seguridad.
El nombre de esta aplicación, SSH, es la abreviatura de Secure Shell, que viene
a significar “versión segura del programa Remote Shell”.
La aplicación define un protocolo propio para la transmisión segura de los
datos, el protocolo SSH. Este protocolo se sitúa directamente por debajo de
la capa de transporte, (concretamente del transporte TCP) y, como veremos
en este apartado, proporciona servicios análogos a los del protocolo SSL/TLS.
Aparte de establecer conexiones seguras, el protocolo SSH también ofrece
otras funcionalidades como, por ejemplo, la redirección de puertos TCP o
la comunicación entre clientes y servidores de ventanas X, a través de una
conexión SSH.
El autor de la primera implementación del SSH, Tatu Ylönen, de la Univer-
sidad Tecnológica de Helsinki, publicó el año 1995 la especificación de la
versión 1 del protocolo. Desde entonces se ha trabajado en la especificación
de una nueva versión del protocolo, la 2.0, actualmente en fase de borrador a la
espera de su publicación oficial como RFC. Aunque la funcionalidad que pro-
porciona es básicamente la misma, la nueva versión incorpora muchas mejoras
y es sustancialmente distinta de la anterior. La versión antigua y la nueva del
protocolo se referencian habitualmente referenciadas como SSH1 y SSH2, re-
spectivamente. En este apartado nos centraremos sobre todo en el protocolo
SSH2.
1.1. Características del protocolo SSH
SSH proporciona servicios de seguridad equivalentes a los del protocolo SSL/
TLS.
Confidencialidad. SSH sirve para comunicar datos, que habitualemente son
la entrada de una aplicación remota y la salida que genera, o bien la informa-
ción que se transmite por un puerto redirigido, y la confidencialidad de estos
© FUOC • P06/M2107/01772 7
Aplicaciones seguras
datos se garantiza mediante el cifrado.
Como en el caso del protocolo SSL/TLS, en SSH se aplica un cifrado simétrico
a los datos y, por lo tanto, será necesario realizar previamente un intercambio
seguro de claves entre cliente y servidor. Una diferencia respecto a SSL/TLS
es que en SSH2 se pueden utilizar algoritmos de cifrado distintos en los dos
sentidos de la comunicación.
Un servicio adicional que proporciona SSH es la confidencialidad de la iden-
tidad del usuario. Mientras que en SSL 3.0 y TLS 1.0, si se opta por autenticar
al cliente, éste tiene que enviar su certificado en claro, en SSH (y también
en SSL 2.0) la autenticación del usuario se realiza cuando los paquetes ya se
mandan cifrados.
Por otro lado, SSH2 también permite ocultar ciertas características del tráfico
como, por ejemplo, la longitud real de los paquetes.
Autenticación de entidad. El protocolo SSH proporciona mecanismos para
autenticar tanto el ordenador servidor como el usuario que se quiere conectar.
La autenticación del servidor suele realizarse conjuntamente con el intercam-
bio de claves. En SSH2 el método de intercambio de claves se negocia entre
el cliente y el servidor, aunque actualmente sólo hay uno definido, basado en
el algoritmo de Diffie-Hellman.
Para autenticar al usuario existen distintos métodos; dependiendo de cuál se
utilice, puede ser necesaria también la autenticación del ordenador cliente,
mientras que otros métodos permiten que el usuario debidamente autenticado
acceda al servidor desde cualquier ordenador cliente.
Autenticación de mensaje. Igual que en SSL/TLS, en SSH2 la autenticidad
de los datos se garantiza añadiendo a cada paquete un código MAC calculado
con una clave secreta. También existe la posibilidad de utilizar algoritmos
MAC distintos en cada sentido de la comunicación.
Igual que SSL/TLS, SSH tambié
Comentarios de: Aplicaciones seguras (0)
No hay comentarios