Protocolos de Autenticación
PROTOCOLOS DE IDENTIFICACIÓN O AUTENTICACIÓN
Es un tipo de protocolo criptográfico que tiene el propósito de autentificar entidades que desean comunicarse de forma segura. Se negocian inmediatamente después de determinar la calidad del vínculo y antes de negociar el nivel de red. Algunos protocolos de autentificación son:
* PAP: Protocolo de autentificación de contraseña
* CHAP: Protocolo de autentificación por desafío mutuo
* SPAP: Protocolo de autentificación de contraseña de Shiva
* MS-CHAP y MS-CHAP v2: Protocolo de autentificación por desafío mutuo de Microsoft
* EAP: Protocolo de autentificación extensible
* Diameter
* Kerberos
* NTLM (también conocido como NT LAN Manager)
* PEAP:P rotocolo de autenticación extensible protegido
* RADIUS
* TACACS y TACACS+
OBJETIVOS
1 * Debe permitir a una parte A demostrar a otra B su identidad.
* Tras un protocolo de autentificación entre A y B, este ´ultimo no debe poder utilizar la
información obtenida de A para suplantarlo ante C.
* La probabilidad de que C, ejecutando el protocolo, pueda conseguir ser aceptado por B
como A es despreciable.
* Tras un protocolo de autentificación entre A y B, este ´ultimo no debe poder utilizar la
información obtenida de A para suplantarlo ante C.
* La probabilidad de que C, ejecutando el protocolo, pueda conseguir ser aceptado por B
como A es despreciable.
Los problemas de seguridad de las redes pueden dividirse de forma general en cuatro
áreas interrelacionadas:
1.-El secreto, encargado de mantener la información fuera de las manos de usuarios no
autorizados.
2.-La validación de identificación, encargada de determinar la identidad de la
persona/computadora con la que se esta hablando.
3.-El control de integridad, encargado de asegurar que el mensaje recibido fue el enviado por
la otra parte y no un mensaje manipulado por un tercero.
4.-El no repudio, encargado de asegurar la “firma” de los mensajes, de igual forma que se
firma en papel una petición de compra/venta entre empresas.
Modelo general de
validación e intrusos
Un usuario A, quiere establecer una conexión segura con un segundo usuario, B:
1.- Se validan. Comienza A por enviar un mensaje a B o a un centro de
distribución de
claves (KDC, Key
Distribution Centre) fiable (honesto). Tras ello siguen
varios
intercambios de mensajes en diferentes direcciones (o protocolo).
PERO, a medida que se
envían estos mensajes, un intruso
malicioso, C, puede
interceptarlos, modificarlos o reproducirlos para engañar a A y a B, o simplemente
para
estropear sus actividades.
2.- Un protocolo de autenticación debe impedir que un intruso se
meta. Terminado el protocolo
habrán negociado una clave de sesión.
habrán negociado una clave de sesión.
Métodos de autenticación
(identificación)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0nJzthEH5QORs4jp4YdHp0WwcY0xc_cjIkol8owD_j7omy_Spkadkq-udaA4RrUOYXqxxKdgOL9aL_DwQHpElgIRJ7QuToW70hh05Ixp8-NKYNudBdjtoSSGOFqrcRrIafqVCDgSO7y8/s200/fingerprint_by_brokenheart_350o2.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAb9g74f9x9QpsRiW5nAMk3-vNvqvf4N43Uv1JqtNq7v0z3CQbzkY9HFKJFurrwcRB_oOQ-_o6aE6u7-cK4Cpqat00-iTE0lwegTk1QSbpSfiIiQ7VLjyfun18gryXIbc9-Xen2pXxBw4/s200/metodos.jpg)
•Biomédicas,
por huellas dactilares, retina del ojo, ...
•Tarjetas
inteligentes que guardan información de los certificados de un usuario
•Métodos
clásicos basados en contraseña, más frágiles que los anteriores y más simples
(baratos), basados en:
–Comprobación local o método
tradicional en la propia máquina
–Comprobación en red o método
distribuido, más utilizado actualmente
Modelos de validación basados en métodos distribuidos
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR_pg3qotz5ctBAKNhlS8z9V0Y6edKvH_BYrQf-tT_Nnxh_K8Cv1FOyg6zuUaGbFBdOwYrDPaW_RvMi8k7JGzkcZ1pJxodOHWHgN8Yg_nciO5NwMtYT8kwTak6tl3CFb2bSJtqKqBKm_4/s320/autenticacion_usuario.png)
•Clave Secreta (privada o simétrica)
•Clave Pública (asimétrica)
Validación de identificación de clave secreta
Métodos:
1.Validación de identificación basada en clave secreta compartida.
2.Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman (no permite
autenticación)
3.Validación de identificación usando un centro de distribución de
claves (KDC- Key Distribution Center).
4.Protocolo de autenticación Kerberos.
Notación a utilizar:
Supondremos que A y B ya comparten una clave secreta KAB (acordada o bien telefónicamente o en persona
pero, en cualquier caso, no a través de la red)
Este protocolo se basa en reto-respuesta:
–una parte envía un número aleatorio a la otra–La otra parte “lo transforma” de una manera especial y devuelve el resultado a la parte primera
•Ri son los retos, donde el subíndice identifica el retador: A o B
•Ki son las claves, donde i indica el dueño; Ks es la clave de la sesión.
Establecimiento de
una clave compartida: intercambio de claves Diffie-Hellman (1976)
Hasta ahora hemos supuesto que A y B
comparten una clave secreta. ¿Y si no es
así?
así?
Existe una manera de que completos
desconocidos establezcan una clave secreta
a plena luz del día (aunque C esté registrando cada mensaje).
a plena luz del día (aunque C esté registrando cada mensaje).
El protocolo de intercambio de
claves Diffie-Hellman:
Este algoritmo se puede considerar
también como de clave pública, pero no
permite autenticación.
permite autenticación.
RSA se basó en este algoritmo
A y B tienen que acordar dos números primos
grandes (n, g), que deben cumplir
ciertas condiciones [RFC 2631]. Estos números pueden ser públicos
ciertas condiciones [RFC 2631]. Estos números pueden ser públicos
Cualquiera puede escoger (n, g) y decírselo al
otro abiertamente
A escoge un
número grande x, y lo mantiene en secreto, de la misma manera, B
escoge un número secreto grande y
escoge un número secreto grande y
Diffie-Hellman: protocolo
1.-A inicia el
protocolo enviando a B un mensaje
que contiene (n, g, gx mod n)
2.-B responde
con gy mod n
A y B comparten una clave secreta: gxy mod n
Intrusos:
C conoce (n, g), pero le falta (x, y)
gxy mod n: no se conoce un algoritmo práctico
para calcular esto cuando n es un
número primo muy grande.
número primo muy grande.
TACACS+ y RADIUS
TACACS+
(Terminal Access Controller Access Control
System-RFC1492)
y
RADIUS (Remote Authentication Dial In User Service- RFC2138) son ejemplos de
centros de distribución de claves o también conocidos como servidores de control
de acceso.
RADIUS (Remote Authentication Dial In User Service- RFC2138) son ejemplos de
centros de distribución de claves o también conocidos como servidores de control
de acceso.
TACACS+
y RADIUS son protocolos para descentralizar el control del acceso, de
forma que cualquier servicio en red que requiera validar, autorizar o auditar a un
usuario lo puede hacer como cliente de los servidores TACACS+ y/o RADIUS.
forma que cualquier servicio en red que requiera validar, autorizar o auditar a un
usuario lo puede hacer como cliente de los servidores TACACS+ y/o RADIUS.
Estos
servidores se utilizan generalmente como apoyo a los routers de servidor de
acceso remoto, por ejemplo la gestión de usuarios que conectan desde el exterior
a la Universitat por RDSI o POTS (RTB).
acceso remoto, por ejemplo la gestión de usuarios que conectan desde el exterior
a la Universitat por RDSI o POTS (RTB).
Validación de
identificación usando un centro de distribución de claves
(KDC)
(KDC)
En Diffie-Hellman no hay garantías por el ataque de
alguien en medio, efectuado
por un extraño o intruso.
por un extraño o intruso.
Otro inconveniente, es que para
hablarle a n personas de esta manera se
requerían n claves (una verdadera carga)
requerían n claves (una verdadera carga)
Un enfoque
diferente es introducir un centro de distribución de claves fiables (KDC-
Key Distribution Center)
Key Distribution Center)
–Cada usuario
tiene una sola clave compartida con el KDC
–La
validación de identificación y la administración de claves de sesión ahora
pasan a través del KDC.
El protocolo
de validación e identificación más simple conocido es “la rana de boca amplia”.
Autenticación con Kerberos
Servicio de autenticación (validación de identificación) desarrollado
en el
Massachusetts Institute of Technology (MIT)
• Perro de tres cabezas y cola de serpiente según
mitología griega, guardián de laMassachusetts Institute of Technology (MIT)
entrada del Templo de Hades (Infierno).
– utiliza con cada usuario una clave secreta diferente, intercambiada con Kerberos a través de un canal seguro. El conocimiento de dicha clave se utiliza como prueba de identidad del usuario.
Protocolo de autenticación Kerberos
Kerberos es un KDC diseñado por el MIT para autentificar la
identidad (autenticar)
de los usuarios de una red digital insegura, así como para distribuir las claves
secretas de sesión transitorias que permitan a los usuarios de la red establecer
comunicaciones seguras. En ocasiones estas claves de sesión transitorias
pueden ser de un solo uso (OTP, One Time Password).
de los usuarios de una red digital insegura, así como para distribuir las claves
secretas de sesión transitorias que permitan a los usuarios de la red establecer
comunicaciones seguras. En ocasiones estas claves de sesión transitorias
pueden ser de un solo uso (OTP, One Time Password).
Está basado en una variación de Needham-Schroeder, con la condición que
requiere relojes bien sincronizados.
requiere relojes bien sincronizados.
Kerberos
– actúa
como un árbitro en quien los usuarios confían
La autentificación se produce entre cliente-servidor y servidor-cliente.
En estas condiciones como Kerberos conoce las claves secretas de todos los
usuarios, puede demostrar a cualquiera de ellos la autenticidad de la identidad de
otro.
usuarios, puede demostrar a cualquiera de ellos la autenticidad de la identidad de
otro.
Validación de identificación de
clave pública
Supongamos que A y B ya conocen las claves
públicas del otro EB() y EA()
respectivamente y quieren establecer una sesión utilizando criptografía de clave
secreta (por ser más rápida
respectivamente y quieren establecer una sesión utilizando criptografía de clave
secreta (por ser más rápida
El intercambio inicial tiene como objetivo
validar la identificación de ambos
utilizando sus claves públicas para comunicarse y utilizando las claves privadas
para descifrar y tras ello acordar una clave de sesión secreta compartida
utilizando sus claves públicas para comunicarse y utilizando las claves privadas
para descifrar y tras ello acordar una clave de sesión secreta compartida
Un intruso C no tiene manera de conocer RA para
replicar, pero dependiendo de cómo se intercambien las claves públicas, podría
haber problemas...
Validación de identificación de clave pública (debilidades): ataque de
brigada de cubetas
Supongamos que A y B no conocen la clave pública del otro, por lo que
bastaría simplemente A enviar a B su clave pública en el primer mensaje y pedir
a B que devuelva la suya en el siguiente. El problema de este enfoque es que
está sujeto a un ataque de brigada de cubetas o alguien en medio.
bastaría simplemente A enviar a B su clave pública en el primer mensaje y pedir
a B que devuelva la suya en el siguiente. El problema de este enfoque es que
está sujeto a un ataque de brigada de cubetas o alguien en medio.
C puede
capturar el mensaje de A a B y devolver su propia clave a A, que
pensará que tiene una clave para hablar con B cuando, de hecho, tiene una clave
para hablar con C. Ahora C puede leer todos los mensajes cifrados con lo que A
piensa es la clave pública de B
pensará que tiene una clave para hablar con B cuando, de hecho, tiene una clave
para hablar con C. Ahora C puede leer todos los mensajes cifrados con lo que A
piensa es la clave pública de B
Solución: El intercambio inicial de claves
públicas puede evitarse almacenando
todas las claves públicas en una base de datos pública. Así, A y B pueden obtener
la clave pública del otro de la base de datos.
todas las claves públicas en una base de datos pública. Así, A y B pueden obtener
la clave pública del otro de la base de datos.
PERO, sin embargo, C aún puede poner en
práctica el ataque de brigada de
cubetas interceptando las solicitudes a la base de datos y enviando
respuestas simuladas que contengan su propia clave.
cubetas interceptando las solicitudes a la base de datos y enviando
respuestas simuladas que contengan su propia clave.
Certificados digitales gestionados por una autoridad de certificación
Validación de identificación de clave pública: protocolo de interbloqueo
AàC à B
Rivest y Shamir del RSA han diseñado un
protocolo que frustra el ataque de
brigada de cubetas (o alguien en medio C).
brigada de cubetas (o alguien en medio C).
1. A envía solo
la mitad de su mensaje a B, conocido
como INTERBLOQUEO. Por
ejemplo sólo los bits pares (después del cifrado)
ejemplo sólo los bits pares (después del cifrado)
2. B entonces
responde con los bits pares del mensaje de B encriptado
A tras recibir los bits pares de B, envía sus bits nones, y luego lo hace B.
Si A o B no realiza la entrega de sus primeras partes, el
protocolo falla.
Cuando C recibe los bits pares de A, no puede descifrar el mensaje
(porque solo
tiene la mitad), aunque tiene la clave privada. En consecuencia, C es incapaz de
volver a cifrar los bits pares usando la clave pública de B. Si C envía basura a B,
el protocolo continuará, pero B pronto se dará cuenta de que el mensaje
re ensamblado no tiene sentido y de que ha sido engañado.
tiene la mitad), aunque tiene la clave privada. En consecuencia, C es incapaz de
volver a cifrar los bits pares usando la clave pública de B. Si C envía basura a B,
el protocolo continuará, pero B pronto se dará cuenta de que el mensaje
re ensamblado no tiene sentido y de que ha sido engañado.
Firmas Digitales
Son documentos electrónicos que emite CERTICAMARA y que permiten identificar de manera inequívoca a una persona en medios digitales.
Adicionalmente puede calificar tanto su actividad profesional, como el rol que desempeña en el momento.
La autenticidad de algunos documentos legales y en general, cualquier tipo de documento se determina mediante el uso de la firma manuscrita ya que ni siquiera sirve una fotocopia de la misma. Para que los documentos enviados de forma digital tengan la misma validez que un documento firmado a mano se crea la firma digital
Permite Garantizar
La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido y, seguidamente, aplicar el algoritmo de firma (en el que se emplea una clave privada) al resultado de la operación anterior, generando la firma electrónica o digital. El software de firma digital debe además efectuar varias validaciones, entre las cuales podemos mencionar:
Adicionalmente puede calificar tanto su actividad profesional, como el rol que desempeña en el momento.
La autenticidad de algunos documentos legales y en general, cualquier tipo de documento se determina mediante el uso de la firma manuscrita ya que ni siquiera sirve una fotocopia de la misma. Para que los documentos enviados de forma digital tengan la misma validez que un documento firmado a mano se crea la firma digital
Permite Garantizar
- Identidicación y capacidad jurídica de las partes que tratan entre síen un documento legal o una transacción electrónica (emisor y receptor del mensaje).
- Integridad de la transacción (verificar que la información no fue manipulada ).
- Irrefutabilidad de los compromisos adquiridos (no repudiación).
- Confidencialidad de los contenidos de los mensajes (solamente conocidos por quienes estén autorizados).
- Las firmas digitales deben de ser, susceptibles a verificación por terceras partes, de manera tal que dicha verificación permita, simultáneamente, identificar al firmante y detectar cualquier cambio al documento digital posterior a su firma. Podemos mencionar también que la firma digital tendrá idéntica validez y eficacia a la firma manuscrita, siempre que esté debidamente autenticada por claves u otros procedimientos seguros de acuerdo a la tecnología informática. Es necesario una autoridad certificadora que regule y valide la firma digital, en los sitios de comercio electrónico es fundamental contar con un certificado SSL para poder brindar seguridad a sus clientes.
La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido y, seguidamente, aplicar el algoritmo de firma (en el que se emplea una clave privada) al resultado de la operación anterior, generando la firma electrónica o digital. El software de firma digital debe además efectuar varias validaciones, entre las cuales podemos mencionar:
- Vigencia del certificado digital del firmante,
- Revocación del certificado digital del firmante (puede ser por OCSP o CRL),
- Inclusión de sello de tiempo.
La función hash es un algoritmo matemático que permite calcular un valor resumen de los datos a ser firmados digitalmente. Funciona en una sola dirección, es decir, no es posible, a partir del valor resumen, calcular los datos originales. Cuando la entrada es un documento, el resultado de la función es un número que identifica inequívocamente al texto. Si se adjunta este número al texto, el destinatario puede aplicar de nuevo la función y comprobar su resultado con el que ha recibido. Ello no obstante, este tipo de operaciones no están pensadas para que las lleve a cabo el usuario, sino que se utiliza software que automatiza tanto la función de calcular el valor hash como su verificación posterior.
Firewall
Un firewall es un dispositivo que funciona como cortafuegos entre redes, permitiendo o denegando las transmisiones de una red a la otra. Un uso típico es situarlo entre una red local y la red Internet, como dispositivo de seguridad para evitar que los intrusos puedan acceder a información confidencial.
No hay comentarios:
Publicar un comentario