Hola, soy Patri y en esta página os voy a hablar de los protocolos de seguridad, de su importancia y cuáles son los principales ejemplos.
Los protocolos de seguridad regulan la forma de comunicación entre individuos que usan canales electrónicos para dicha comunicación, diseñando reglas para que un sistema pueda aguantar y sobrevivir a un ataque maligno.
Un protocolo de seguridad es diseñado teniendo en cuenta los riesgos a los que un sistema está expuesto; protegerse de cualquier tipo de mal que exista es demasiado costoso y prácticamente imposible; por lo que un sistema es protegido de ciertos riesgos que pudiera tener que afrontar. Que un sistema sea seguro depende también de la persona que utiliza dicho sistema.
Los principales protocolos de seguridad de los que
hablaremos a continuación serán:
- Protocolo SSL: trabaja a nivel de transporte y provee de seguridad a cualquier servicio o protocolo a nivel de aplicación como HTTP, FTP, POP3, SMTP…
- Protocolo IPSec: trabaja a nivel de red y permite garantizar que el anuncio de un nuevo router proviene de un router autorizado, que un mensaje de redirección proviene del router de destino y que las rutas son infalsificables.
- Protocolo Kerberos: trabaja a nivel de aplicación y su principal objetivo es proveer un servicio de autenticación de clientes ante servidores y viceversa.
Ahora nos vamos a centrar en cada uno de ellos.
SSL
El Secure Sockets Layer (SSL), que en español
quiere decir “capa de conexión segura”, es un protocolo criptográfico que
proporciona conexiones seguras en la red. Fue desarrollado por Netscape para dar
seguridad en Internet.
Trabaja sobre el protocolo de transporte
TCP y provee seguridad a cualquier servicio o protocolo a nivel de aplicación. El principal objetivo de SSL es aportar a un sistema confidencialidad, integridad y
autenticación.
- Proporciona confidencialidad a través del cifrado de datos, de este modo no podrán ser interpretados por personas que no sean el emisor o el receptor.
- Proporciona integridad ya que se garantiza que los datos recibidos por el receptor son los mismos datos enviados por el emisor, pero estos además pueden ser modificados por el receptor una vez le lleguen.
- Proporciona autenticación, tanto de cliente como de servidor, aunque la autenticación de cliente es opcional. El documento de autenticación de ambos es infalsificable y se garantiza que cada uno es quien dice ser.
El protocolo SSL cifra los datos
que se intercambian el servidor y el cliente mediante un algoritmo de cifrado
simétrico, normalmente siendo este IDEA o RC4. Además cifra la clave de sesión
(de IDEA O RC4), que es la que se utiliza para cifrar los datos que vienen del
servidor y los que vienen del cliente al servidor, usando un algoritmo de
cifrado de clave pública, usualmente RSA. Esta clave de sesión además es
distinta en cada transacción, así en caso de ser descubierta en una ocasión no
servirá para futuros ataques.
SSL se compone de dos capas (o
sub-protocolos):
Protocolo de salutación
(handshake)
Este es el protocolo más complejo
de SSL, permite la autenticación del cliente y servidor. Estos se ponen de
acuerdo en los parámetros y claves de cifrado necesarios. El protocolo se
divide en varias fases:
- Se ponen de acuerdo en cuanto al conjunto de algoritmos que se van a utilizar.
- Intercambio de claves, teniendo finalmente una clave maestra compartida entre ambos.
- Se produce la clave de sesión que se utilizará para cifrar los datos intercambiados.
- Se autentica el servidor y opcionalmente se autentica el cliente.
- La última fase indica que ya se puede iniciar una sesión segura.
Protocolo de registro
Este protocolo de SSL está justo por encima
de TCP y sirve para proporcionar una conexión segura. Codifica los mensajes
utilizando algoritmos de encriptación de llave simétrica, como por ejemplo DES
o RC4, a estos se le aplica una MAC para verificar la integridad de estos.
A continuación vemos una imagen
de su funcionamiento:
IPSEC
El protocolo IPSec, Internet Protocol security, trabaja a
nivel de red y consiste en un conjunto de protocolos que pretende asegurar el
flujo de paquetes y así garantizar la seguridad mutua.
IPSec al trabajar en la capa de red hace que sea más
flexible comparado con otros protocolos que trabajan en la capa transporte,
como el nombrado anteriormente, SSL, ya que puede ser usado para proteger
protocolos de la capa 4, los protocolos de la capa de transporte más
utilizados.
Sus áreas funcionales son:
- Autenticación: garantiza la identidad del emisor y asegura la integridad del mensaje.
- Confidencialidad: garantiza la ilegibilidad del mensaje.
- Gestión de claves: facilita el intercambio de claves.
IPSec consta de dos
componentes básicos:
Sus principales objetivos son garantizar la integridad y la
autenticación de los datos de origen del datagrama IP.
Encapsulación segura de los datos útiles (ESP)
Comunicación entre C-TGS
Comunicación entre C-S (servidor)
Y esto es todo por mi parte en esta página de protocolos de seguridad, ya sabeis, si teneis alguna duda preguntadme, estaré encantada de contestaros =)
Un saludo!
Para ello calcula un HMAC (Hash Message Authentication Code)
basada en una clave secreta y cifra el contenido del paquete IP y esta cabecera
se le añade al paquete. AH protege el contenido del paquete IP y todos los
campos de su cabecera excepto los campos mutantes, es decir, aquellos que
pueden ser modificados durante el tránsito.
Encapsulación segura de los datos útiles (ESP)
Proporciona confidencialidad del mensaje, confidencialidad
de tráfico, integridad y autenticación de datos de origen del datagrama IP. Asegura
la integridad del paquete empleando una HMAC y la confidencialidad empleando un
algoritmo de cifrado.
Además IPSec tiene dos modos de trabajo:
Modo túnel
IPSec cifra el encabezado IP y la carga. El modo túnel
protege todo el paquete IP. Todo este paquete se encapsula con un encabezado AH
o ESP y además un encabezado IP adicional. Este modo se utiliza para proteger
el tráfico entre redes diferentes, cuando se pasa por redes intermedias que no
son de confianza.
Modo transporte
Este modo es el predeterminado para IPSec, se usa para comunicaciones
de extremo a extremo, añadiendo seguridad a los niveles superiores. El modo
transporte cifra únicamente la carga del paquete IP (datos útiles) y
proporciona a esta la protección mediante el encabezado AH o ESP.
KERBEROS
El objetivo del protocolo Kerberos es proveer a un sistema
de un servicio de autenticación centralizado capaz de permitir la autenticación
de clientes ante servidores y viceversa. Esto se consigue manteniendo la
seguridad, fiabilidad, transparencia y escalabilidad.
Utiliza un mecanismo de cifrado simétrico y sigue el
protocolo de Needham-Schroeder para la distribución de claves.
Kerberos surge como solución ante la complejidad de los
sistemas de autenticación. Utiliza un centro de distribución de claves (KDC)
que se estructura en dos componentes: servidor de autenticación (AS) y servidor
de vales (TGS).
El KDC contiene la siguiente información sobre cada usuario,
cliente y servidor:
- El identificador como principal (los principales son los clientes, servidores y usuarios).
- La clave maestra del principal o la contraseña en caso de ser usuario.
- La fecha de expiración de la identidad del principal.
- La fecha en que el registro se modificó por última vez.
- La identidad del principal que modificó el registro por última vez.
- Tiempo de vida máximo de los vales del principal.
- Otros datos.
Un cliente que precise trabajar con un servidor debe
autenticarse primero ante el KDC y proporcionar a este la autenticación del
servidor. El KDC generará una clave que es transmitida a cliente y servidor.
Pasos:
Comunicación entre C-AS (servidor de autenticación)
- Un usuario quiere comunicarse con el cliente y proporciona su nombre de usuario, que el cliente envía al AS.
- AS busca el nombre de usuario en el KDC y recupera la contraseña.
- AS con la contraseña cifra un vale de TGS que envía al cliente.
- El cliente pide al usuario su contraseña y si es válida descifra el vale.
Comunicación entre C-TGS
- El cliente se identifica con la identidad de C cifrada anteriormente con la clave del AS, además contiene un sello de tiempo para evitar ataques de repetición.
- El cliente envía a TGS el vale antes recibido y el nombre del servidor.
- TGS descifra el vale obteniendo la clave para descifrar la identidad.
- TGS genera un vale cifrando una clave de sesión y un vale para S.
- El cliente descifra la clave, el vale para S y el sello de tiempo para comprobar que es un mensaje reciente.
Comunicación entre C-S (servidor)
- El cliente construye un autenticador y cifra con la contraseña que tiene con S su identificación y el sello de tiempo. Además de eso le envía el vale de TGS.
- El servidor descifra el vale, el autenticador y el sello de tiempo.
- Finalmente S remite a C un acuse de recibo cifrado con la clave que comparten.
Y esto es todo por mi parte en esta página de protocolos de seguridad, ya sabeis, si teneis alguna duda preguntadme, estaré encantada de contestaros =)
Un saludo!
Me ha gustado mucho tu entrada Patricia, ¡espero nuevas actualizaciones! =)
ResponderEliminarfmdo: p.s.s
Muchas gracias! iremos poniendo nueva información en la página, ya sabes, no dejes de visitarnos! =)
EliminarUn saludo!
Genial! he aprendido mucho con esta entrada!
ResponderEliminarMuchas gracias!!!
Muchas gracias por seguirnos! me alegro que te haya ayudado =)
ResponderEliminar