Mecanismos de protección

Plan your lessons and the goals of your lessons as well as including important content

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Mecanismos de protección por Mind Map: Mecanismos de protección

1. Objetivos

1.1. 1. Saber qué funciones nos ofrece la criptografía, tanto las técnicas de clave simétrica como las de clave pública.

1.2. 2. Conocer los distintos algoritmos de cifrado, integridad y autenticación disponibles y sus posibles usos.

1.3. 3. Conocer el uso de los certificados X.509 y las listas de revocación, su estructura y la utilidad de los distintos campos.

1.4. 4. Reconocer la necesidad de los sistemas de autentificación, qué técnicas concretas utilizan, y cómo estas técnicas permiten contrarrestar los intentos de suplantación.

1.5. 5. Comprender las posibilidades de protección de los protocolos de comunicación a distintos niveles, y en particular, el nivel de red y el de transporte.

1.6. 6. Conocer los protocolos que forman la arquitectura IPsec, y qué protecciones ofrece cada uno de ellos.

1.7. 8. Introducir la tecnología de las redes privadas virtuales, y cómo se pueden usar para conectar intranets de forma segura mediante una red de acceso público, como es el caso de Internet.

2. 1. Conceptos básicos de criptografía

2.1. 1.1 Criptograía de clave simétrica

2.1.1. 1.1.1 Algoritmos de cifrado en flujo

2.1.1.1. El funcionamiento de una cifrado en flujo consiste en la combinación de un texto en claro M con un texto de cifrado S que se obtiene a partir de la clave simétrica k. Para descifrar, sólo se requiere realizar la operación inversa con el texto cifrado y el mismo texto de cifrado S.

2.1.1.2. Los algoritmos de cifrado en flujo actualmente en uso tienen la propiedad que son poco costosos de implementar. Las implementaciones en hardware son relativamente simples y, por lo tanto, eficientes en su rendimiento (en términos de bits cifrados por segundo). Pero también las implementaciones en software pueden ser muy eficientes.

2.1.1.3. Las características del cifrado en flujo lo hacen apropiado para entornos en los que se necesite un rendimiento alto y los recursos (capacidad de cálculo, consumo de energía) sean limitados. Para ello se suelen utilizar en comunicaciones móviles: redes locales sin hilos, telefonía móvil, etc.

2.1.1.4. Un ejemplo de algoritmo de cifrado en flujo es el RC4 (Ron’s Code 4). Fue diseñado por Ronald Rivest en 1987 y publicado en Internet por un remitente anónimo en 1994. Es el algoritmo de cifrado en flujo mas utilizado en muchas aplicaciones gracias a su simplicidad y velocidad. Por ejemplo, el sistema de protección WEP (Wired Equivalent Privacy) que incorpora el estándar IEEE 802.11 para tecnología LAN inalámbrica utiliza este criptosistema de cifrado en flujo.

2.1.2. 1.1.2 Algoritmos de cifrado en bloque

2.1.2.1. En una cifra de bloque, el algoritmo de cifrado o descifrado se aplica separadamente a bloques de entrada de longitud fija b, y para cada uno de ellos el resultado es un bloque de la misma longitud.

2.1.2.2. Muchos de los algoritmos del cifrado de bloque se basan en la combinación de dos operaciones básicas: sustitución y transposición.

2.1.2.2.1. La sustitución consiste en traducir cada grupo de bits de la entrada a otro, de acuerdo con una permutación determinada.

2.1.2.2.2. La transposición consiste en reordenar la información del texto en claro según un patrón determinado,por si sola no dificulta extraordinariamente el criptoanálisis, pero puede combinarse con otras operaciones para añadir complejidad a los algoritmos de cifrado.

2.1.2.3. Ejemplos de algoritmos de cifrado en bloque

2.1.2.3.1. DES (Data Encryption Standard). Durante muchos años ha sido el algoritmo más estudiado y, a la vez, el más utilizado. Desarrollado por IBM durante los años 70, fue adoptado en 1977 por el NBS norteamericano (nombre que tenía entonces el actual NIST) como estándar para el cifrado de datos.

2.1.2.3.2. Triple DES. Aunque a lo largo de los años el algoritmo DES se ha mostrado muy resistente al criptoanálisis, su principal problema es actualmente la vul- nerabilidad a los ataques de fuerza bruta, a causa de la longitud de la clave, de sólo 56 bits. Aunque en los años 70 era muy costoso realizar una búsqueda entre las 2 56 combinaciones posibles, la tecnología actual permite romper el algoritmo en un tiempo cada vez más corto.

2.1.2.3.3. AES (Advanced Encryption Standard). Dado que el estándar DES empezaba a quedarse anticuado, a causa sobretodo de la longitud tan corta de sus claves, y el Triple DES no es excesivamente eficiente cuando se implementa con software, en 1997 el NIST convocó a la comunidad criptográfica a pre- sentar propuestas para un nuevo estándar, el AES, que sustituyera al DES. De los quince algoritmos candidatos que se aceptaron, se escogieron cinco como finalistas, y en octubre de 2000 se dio a conocer el ganador: el algoritmo Rijndael, propuesto por los criptógrafos belgas Joan Daemen y Vincent Rijmen.

2.1.3. 1.1.3 Uso de los algoritmos de clave simétrica

2.1.3.1. Un aspecto que hay que tener en cuenta es que, aunque el cifrado puede conseguir que un atacante no descubra directamente los datos transmitidos, en ocasiones es posible que se pueda deducir información indirectamente. Por ejemplo, en un protocolo que utilice mensajes con una cabecera fija, la aparición de los mismos datos cifrados varias veces en una transmisión puede indicar dónde empiezan los mensajes.

2.1.3.2. Esto pasa con el cifrado en flujo si su periodo no es lo suficientemente largo, pero en un cifrado en bloque, si dos bloques de texto en claro son iguales y se utiliza la misma clave, los bloques cifrados también serán iguales. Para contrarrestar esta propiedad, se pueden aplicar distintos modos de operación al cifrado en bloque.

2.1.3.2.1. El modo ECB (Electronic Codebook) es el más simple, y consiste en dividir el texto en bloques y cifrar cada uno de ellos de forma independiente. Este modo parte del problema de dar bloques iguales cuando en la entrada existen bloques iguales.

2.1.3.2.2. En el modo CBC (Cipher Block Chaining), se suma a cada bloque de texto en claro, antes de cifrarlo, (bit a bit, con XOR) el bloque cifrado anterior.Al primer bloque se le suma un vector de inicialización (VI), que es un conjunto de bits aleatorios de la misma longitud que un bloque.

2.1.3.2.3. En el modo CFB (Cipher Feedback), el algoritmo de cifrado no se aplica Modo CFB como cifrado directamente al texto en claro sino a un vector auxiliar (inicialmente igual en flujo al VI). Del resultado del cifrado se toman n bits que se suman a n bits del texto en claro para obtener n bits de texto cifrado. Estos bits cifrados Es fácil ver que el modo CFB (y también el OFB) se utilizan también para actualizar el vector auxiliar. El número n de bits se puede considerar como un cifrado en flujo generados en cada iteración puede ser menor o igual que la longitud de que utiliza como función bloque b.

2.1.3.2.4. El modo OFB (Output Feedback) opera como el CFB pero en lugar de actualizar el vector auxiliar con el texto cifrado, se actualiza con el resultado obtenido del algoritmo de cifrado. La propiedad que distingue este modo de los demás consiste en que un error en la recuperación de un bit cifrado afecta solamente al descifrado de este bit.

2.1.4. 1.1.4 Funciones hash seguras

2.1.4.1. Aparte de cifrar datos, existen algoritmos basados en técnicas criptográficas que se usan para garantizar la autenticidad de los mensajes. Un tipo de algoritmos de estas características son las llamadas funciones hash seguras, también conocidas como funciones de resumen de mensaje (message digest,en inglés).

2.1.4.2. En general, podemos decir que una función hash nos permite obtener una cadena de bits de longitud fija, relativamente corta, a partir de un mensaje de longitud arbitraria: H = h(M)

2.1.4.3. Se entiende que una función hash o de resumen es segura si cumple las funciones hash son conocidas, puesto que siguientes condiciones:

2.1.4.3.1. Es unidireccional, es decir, si tenemos H = h(M) es computacionalmente inviable encontrar M a partir del resumen H.

2.1.4.3.2. Es resistente a colisiones, es decir, dado un mensaje M cualquiera es computacionalmente inviable encontrar un mensaje M 6= M tal que h(M ) = h(M).

2.1.4.4. Ejemplos de funciones hash seguras

2.1.4.4.1. Hasta hace poco, el algoritmo de hash más usado era el MD5 (Message Digest 5). Pero como el resumen que da es de sólo 128 bits, y aparte se han encontrado otras formas de generar colisiones parciales en el algoritmo, actualmente se recomienda utilizar algoritmos más seguros, como el SHA-1

2.1.4.4.2. El algoritmo SHA-1, publicado el 1995 en un resumen MD5 es de estándar del NIST (como revisión de un algoritmo anterior llamado simple- 128 bits, el número de operaciones para un mente SHA), da resúmenes de 160 bits.

2.1.5. Los sistemas criptográficos de clave simétrica se caracterizan porque la clave de descifrado x es idéntica a la clave de cifrado k, o bien se puede deducir directamente a partir de ésta.

2.2. 1.2 Criptografía de clave pública

2.2.1. 1.2.1 Algoritmos de clave pública

2.2.1.1. En un algoritmo criptográfico de clave pública se utilizan claves distintas para el cifrado y el descifrado. Una de ellas, la clave pública, se puede obtener fácilmente a partir de la otra, la clave privada, pero por el contrario es computacionalmente de muy difícil obtención la clave privada a partir de la clave pública.

2.2.1.1.1. Los mecanismos de intercambio de claves permiten que dos partes se pongan de acuerdo en les claves simétricas que utilizaran para comunicarse, sin que un tercer que esté escuchando el diálogo pueda deducir cuales son estas claves

2.2.1.1.2. La autenticación basada en clave pública se puede utilizar si el algoritmo permite utilizar las claves a la inversa: la clave privada para cifrar y la clave pública para descifrar.

2.2.1.2. Ejemplos de algoritmos de clave pública

2.2.1.2.1. Intercambio de claves Diffie-Hellman. Es un mecanismo que permite que dos partes se pongan de acuerdo de forma segura sobre una clave secreta. El algoritmo se basa en la dificultadde calcular logaritmos discretos.

2.2.1.2.2. RSA. Es el algoritmo más utilizado en la historia de la criptografía de clave pública. Su nombre procede de las iniciales de quienes lo diseñaron en 1977: Ronald Rivest, Adi Shamir y Leonard Adleman. La clave pública está formada por un número n, calculado como producto de dos factores primos muy grandes (n = p · q) y un exponente e.

2.2.1.2.3. ElGamal. Otro esquema de cifrado, en este caso, basado en el problema de Diffie-Hellman

2.2.1.2.4. DSA (Digital Signature Algorithm). Publicado por el NIST en distintas versiones del Digital Signature Standard (DSS), la primera de ellas en 1991. Es una variante del algoritmo de firma ElGamal, que a su vez sigue el esquema de cifrado de ElGamal. El DSA no es un algoritmo de cifrado, sino que sólo permite generar firmas y verificarlas.

2.2.2. 1.2.2 Uso de la criptografía de clave pública

2.2.2.1. Hemos visto antes que las principales aplicaciones de la criptografía de clave pública son el intercambio de claves para proporcionar confidencialidad y la firma digital para proporcionar autenticidad y no repudio.

2.2.2.1.1. Una firma digital es básicamente un mensaje cifrado con la clave privada del firmante. Pero, por cuestiones de eficiencia, lo que se cifra no es direc- tamente el mensaje a firmar, sino solamente su resumen calculado con una función hash segura.

2.3. 1.3 Infraestructura de clave pública (PKI)

2.3.1. 1.3.1 Certificados de clave pública

2.3.1.1. Un certificado de clave pública o certificado digital consta de tres partes básicas:

2.3.1.1.1. Una identificación de usuario como, por ejemplo, su nombre.

2.3.1.1.2. El valor de la clave pública de este usuario.

2.3.1.1.3. La firma de las dos partes anteriores.

2.3.2. 1.3.2 Cadenas de certificados y jerarquías de certificación

2.3.2.1. Existe la posibilidad que una CA tenga un certificado que garantice la autenticidad de su clave pública, firmado por otra CA. Esta otra CA puede que si que la conozcamos, o puede que a su vez tenga un certificado firmado por una tercera CA, y así sucesivamente. De esta forma, se puede establecer una jerarquía de autoridades de certificación, donde las CA de nivel más bajo emiten los certificados de usuario, y las CA de cada nivel son certificadas por una de nivel superior.

2.3.3. 1.3.3 Listas de revocación de certificados (CRL)

2.3.3.1. La Recomendación X.509, además de definir el formato de los certificados, también define otra estructura llamada lista de revocación de certificados o CRL. Una lista de este tipo sirve para publicar los certificados que han CRL dejado de ser válidos antes de su fecha de caducidad.

2.4. La criptografía estudia, desde un punto de vista matemático, los métodos de protección de la información. Por otro lado, el criptoanálisis estudia las posibles técnicas utilizadas para contrarrestar los métodos criptográficos y es de gran utilidad para ayudar a que estos sean más robustos y difíciles de atacar. El conjunto formado por estas dos disciplinas, criptografía y criptoanálisis, se conoce como criptología.

2.5. Una premisa fundamental en la criptografía moderna es la suposición de Kerckhoffs, que establece que los algoritmos deben ser conocidos públicamente y su seguridad solo depende de la clave. En lugar de intentar ocultar el funcionamiento de los algoritmos, es mucho más seguro y efectivo mantener en secreto solamente las claves.

2.6. La acción de intentar descifrar mensajes sin conocer la clave de descifrado se conoce como “ataque”. Si el ataque tiene éxito, se suele decir coloquialmente que se ha conseguido “romper” el algoritmo. Existen dos formas de llevar a cabo un ataque:

2.6.1. Mediante el criptoanálisis, es decir, estudiando matemáticamente la forma de deducir el texto en claro a partir del texto cifrado.

2.6.2. Aplicando la fuerza bruta, es decir, probando uno a uno todos los valores posibles de la clave de descifrado x hasta encontrar uno que produzca un texto en claro con sentido.

3. 2. Sistemas de autenticación

3.1. 2.1 Autenticación de mensaje

3.1.1. 2.1.1 Códigos de autenticación de mensaje (MAC)

3.1.1.1. Un código de autenticación de mensaje o MAC se obtiene con un algoritmo a que tiene dos entradas: un mensaje M de longitud arbitraria, y una clave secreta k compartida por el originador y el destinatario del mensaje. Como resultado da un código C MAC = a(k,M) de longitud. fija. El algoritmo MAC debe garantizar que sea computacionalmente inviable encontrar un mensaje M 6= M que de el mismo código que M, y también obtener el código de un mensaje cualquiera sin conocer la clave.

3.1.2. 2.1.2 Firmas digitales

3.1.2.1. Los códigos MAC, dado que se basan en una clave secreta, sólo tienen significado para quienes conozcan dicha clave. Si A envía mensajes a B autenticados con una clave compartida, sólo B podrá verificar la autenticidad de estos mensajes.

3.1.3. Existen dos grupos de técnicas para proporcionar autenticación de mensaje:

3.1.3.1. Los códigos de autenticación de mensaje o MAC, basados en claves simétricas.

3.1.3.2. Las firmas digitales, que se basan en la criptografía de clave pública.

3.2. 2.2 Autenticación de entidad

3.2.1. 2.2.1 Contraseñas

3.2.1.1. La idea básica de la autenticación basada en contraseñas es que el usuario A manda su identidad (su identificador de usuario, su nombre de login, etc.) seguida de una contraseña secreta x A (una palabra o combinación de caracteres que el usuario pueda memorizar). El verificador B comprueba que la contraseña sea válida, y si lo es da por buena la identidad de A.

3.2.1.2. Existen distintas maneras de llevar a cabo esta autenticación, y también hay maneras diversas de intentar atacarla. A continuación veremos algunas variantes de la autenticación con contraseñas que intentan evitar determinados tipos de ataques.

3.2.1.2.1. Lista de contraseñas en claro

3.2.1.2.2. Lista de contraseñas codificadas

3.2.1.3. Existe un hecho que favorece al atacante en este caso: si los usuarios pueden escoger sus contraseñas, normalmente no usarán combinaciones arbitrarias de caracteres sino palabras fáciles de recordar. Por tanto, el espacio de búsqueda se reduce considerablemente. El atacante puede, pues, limitarse a probar palabras de un diccionario o combinaciones derivadas a partir de estas palabras. Por este motivo a este tipo de ataque se lo conoce como ataque de diccionario

3.2.1.3.1. Técnicas para dificultar los ataques de diccionario

3.2.2. 2.2.2 Protocolos de reto-respuesta

3.2.2.1. Hay otro grupo de mecanismos donde el valor que se envía para la autenticación no es fijo, sino que depende de otro, generado por el verificador. Este último valor se llama reto, y se debe enviar al usuario A como primer paso para su autenticación. Entonces A, haciendo uso de una clave secreta, calcula una respuesta a partir de este reto, y lo envía al verificador B. Por este motivo, estos mecanismos de autenticación reciben el nombre de protocolos de reto-respuesta.

3.2.2.2. Dependiendo del protocolo, el verificador puede generar los retos de diversas maneras:

3.2.2.2.1. Secuencialmente: en este caso el reto es simplemente un número que se va incrementando cada vez (lo más normal es incrementarlo de uno en uno), y que por tanto no se repetiré nunca.

3.2.2.2.2. Aleatoriamente: el reto puede ser generado con un algoritmo pseudoaleatorio, pero la propiedad que tiene en este caso es que no es predecible para los atacantes.

3.2.2.2.3. Cronológicamente: el reto se obtiene a partir de la fecha y hora actuales (con la precisión que sea adecuada para el protocolo). Este tipo de reto también se llama marca de hora o “timestamp”.

3.2.2.3. Los protocolos de reto-respuesta se pueden clasificar en dos grupos:

3.2.2.3.1. Los basados en técnicas simétricas, en las cuales la clave secreta es compartida por el usuario A y el verificador B.

3.2.2.3.2. Los basados en técnicas de clave pública, en las cuales A utiliza una clave privada para calcular la respuesta.

3.2.2.3.3. Existen dos tipos de protocolos de reto-respuesta con clave pública.

3.2.3. La autenticación de entidad se utiliza cuando en una comunicación una de las partes quiere asegurarse de la identidad de la otra. Normalmente, esta autenticación es un requisito para permitir el acceso a un recurso restringido, como, por ejemplo, una cuenta de usuario en un ordenador, dinero en efectivo en un cajero automático, acceso físico a una habitación, etc.

3.2.4. En general, las técnicas utilizadas para la identificación de un usuario A pueden estar basadas en:

3.2.4.1. Algo que A sabe como, por ejemplo, una contraseña o una clave privada.

3.2.4.2. Algo que A tiene como, por ejemplo, una tarjeta con banda magnética o con chip.

3.2.4.3. Algo que A es o, dicho de otro modo, alguna propiedad inherente a A como, por ejemplo, sus características biométricas.

3.2.5. dos grupos de técnicas que se pueden utilizar para la autenticación de entidad:

3.2.5.1. Las basadas en contraseñas (o passwords, en inglés), también llamadas técnicas de autenticación débil.

3.2.5.2. Las basadas en protocolos de reto-respuesta (challenge-response, en inglés), también llamadas técnicas de autenticación fuerte.

3.3. Uno de los servicios de seguridad que se requiere en muchas aplicaciones es el de la autenticación. Este servicio permite garantizar que nadie ha falsificado la comunicación.

3.3.1. Podemos distinguir dos tipos de autenticación:

3.3.1.1. La autenticación de mensaje o autenticación de origen de datos permite confirmar que el originador A de un mensaje es auténtico,es decir, que el mensaje no ha sido generado por un tercero Z que quiere hacer creer que lo ha generado A.

3.3.1.2. La autenticación de entidad permite confirmar la identidad de un participante A en una comunicación, es decir, que no se trata de un tercero Z que dice ser A.

4. 3. Protección del nivel de red: IPsec

4.1. 3.1 La arquitectura IPsec

4.1.1. La arquitectura IPsec (RFC 2401) añade servicios de seguridad al protocolo IP (versión 4 y versión 6), que pueden ser usados por los protocolos de niveles superiores (TCP, UDP, ICMP, etc.).

4.1.2. IPsec se basa en el uso de una serie de protocolos seguros, de los cuales hay dos que proporcionan la mayor parte de los servicios:

4.1.2.1. El protocolo AH (Authentication Header, RFC 2402) ofrece el servicio de autenticación de origen de los datagramas IP (incluyendo la cabecera y los datos de los datagramas).

4.1.2.2. El protocolo ESP (Encapsulating Security Payload, RFC 2406) puede ofrecer el servicio de confidencialidad, el de autenticación de origen de los datos de los datagramas IP (sin incluir la cabecera), o los dos a la vez.

4.1.3. Los agentes que intervienen en la arquitectura IPSec son:

4.1.3.1. Los nodos extremos de la comunicación: el origen y el destino final de los datagramas.

4.1.3.2. Los nodos intermedios que suporten IPsec, llamados pasarelas seguras, como por ejemplo los encaminadores o cortafuegos con IPsec.

4.1.4. La relación que se establece entre dos nodos que se envían datagramas IPsec protocolo de gestión el uno al otro se llama asociación de seguridad (SA). Estos dos nodos pueden ser o no los extremos de la comunicación, es decir, el origen de los datagramaso su destino final. Por tanto, podemos distinguir dos tipos de SA:

4.1.4.1. Las SA extremo a extremo: se establecen entre el nodo que origina los datagramas y el nodo al cual van destinados.

4.1.4.2. Las SA con una pasarela segura: al menos uno de los nodos es una pasarela segura (también pueden serlo ambos). Por tanto, los datagramas vienen de otro nodo y/o van hacia otro nodo.

4.2. 3.2 El protocolo AH

4.2.1. El protocolo AH define una cabecera que contiene la información necesaria para a la autenticación de origen de un datagrama.

4.3. 3.3 El protocolo ESP

4.3.1. El protocolo ESP define otra cabecera, que de hecho incluye dentro todos los datos que vengan a continuación en el datagrama (lo que en inglés se llama “payload”).

4.4. 3.4 Modos de uso de los protocolos IPsec

4.4.1. La arquitectura IPsec define dos modos de uso de los protocolos AH y ESP, dependiendo de como se incluyan las cabeceras correspondientes en un data- grama IP.

4.4.1.1. En el modo transporte, la cabecera AH o ESP se incluye después de la cabecera IP convencional, como si fuera una cabecera de un protocolo de nivel superior, y a continuación van los datos del datagrama (por ejemplo, un segmento TCP con su cabecera correspondiente, etc.).

4.4.1.2. En el modo túnel, el datagrama original se encapsula entero, con su cabecera y sus datos, dentro de otro datagrama. Este otro datagrama tendrá una cabecera IP en la cual las direcciones de origen y de destino serán las de los nodos inicio y final de la SA. Por tanto, se dice que entre estos dos nodos hay un “túnel” dentro del cual viajan intactos los datagramas orig- inales. A continuación de la cabecera IP del datagrama “externo” hay la cabecera AH o ESP.

5. 4. Protección del nivel de transporte: SSL/TLS/WTLS

5.1. 4.1 Características del protocolo SSL/TLS

5.1.1. El objetivo inicial del diseño del protocolo SSL fue proteger las conexiones entre clientes y servidores web con el protocolo HTTP. Esta protección debía permitir al cliente asegurarse que se había conectado al servidor auténtico, y enviarle datos confidenciales, como por ejemplo un número de tarjeta de crédito, con la confianza que nadie más que el servidor sería capaz de ver estos datos.

5.1.2. Los servicios de seguridad que proporcionan los protocolos SSL/TLS son:

5.1.2.1. Confidencialidad. El flujo normal de información en una conexión SSL/TLS consiste en intercambiar paquetes con datos cifrados mediante claves simétri- cas (por motivos de eficiencia y rapidez).

5.1.2.2. Autenticación de entidad. Con un protocolo de reto-respuesta basado en fir- mas digitales el cliente pude confirmar la identidad del servidor al cual se ha conectado. Para validar las firmas el cliente necesita conocer la clave pública del servidor, y esto normalmente se realiza a través de certificados digitales.

5.1.2.3. Autenticación de mensaje. Cada paquete enviado en una conexión SSL/TLS, a más de ir cifrado, puede incorporar un código MAC para que el destinatario compruebe que nadie ha modificado el paquete.

5.1.3. A más, los protocolos SSL/TLS están diseñados con estos criterios adicionales:

5.1.3.1. Eficiencia. Dos de las características de SSL/TLS, la definición de sesiones y la compresión de los datos, permiten mejorar la eficiencia de la comunicación.

5.1.3.2. Extensibilidad. Al inicio de cada sesión, cliente y servidor negocian los algoritmos que utilizarán para el intercambio de claves, la autenticación y el cifrado (a más del algoritmo de compresión).

5.2. 4.2 El transporte seguro SSL/TLS

5.2.1. 4.2.1 El protocolo de registros SSL/TLS

5.2.1.1. Normalmente los datos de un registro corresponden a un mensaje de la subcapa superior pero tambien es posible juntar en un mismo registro dos o mas mensajes siempre que todos pertenecen al tipo indicado por el primer campo.

5.2.2. 4.2.2 El protocolo de negociación SSL/TLS

5.2.2.1. El protocolo de negociación SSL/TLS, también llamado protocolo de encajada de manos (“Handshake Protocol”), tiene por finalidad autenticar el cliente y/o el servidor, y acordar los algoritmos y claves que se utilizaran de forma segura, es decir, garantizando la confidencialidad y la integridad de la negociación.

5.2.3. La capa de transporte seguro que proporciona SSL/TLS se puede considerar dividida en dos subcapas.

5.2.3.1. La subcapa superior se encarga básicamente de negociar los parámetros de seguridad y de transferir los datos de la aplicación. Tanto los datos de negociación como los de aplicación se intercambian en mensajes.

5.2.3.2. En la subcapa inferior, estos mensajes son estructurados en registros a los cuales se les aplica, según corresponda, la compresión, la autenticación y el cifrado.

5.3. 4.3 Ataques contra el protocolo SSL/TLS

5.3.1. Los protocolos SSL/TLS están diseñados para resistir los siguientes ataques

5.3.1.1. Lectura de los paquetes enviados por el cliente y servidor. Cuando los datos se envían cifrados, un atacante que pueda leer los paquetes, por ejemplo utilizando técnicas de sniffing, se enfrenta al problema de romper el cifrado si quiere interpretar su contenido. Las claves que se utilizan para el cifrado se intercambian con métodos de clave pública, que el atacante tendría que romper si quiere saber cuales son los valores acordados.

5.3.1.2. Suplantación de servidor o cliente. Cuando se realiza la autenticación de servidor o cliente, el certificado digital debidamente firmado por la CA sirve para verificar la identidad de su propietario. Un atacante que quiera hacerse pasar por el servidor (o cliente) auténtico debería obtener su clave privada, o bien la de la autoridad de certificación que ha emitido el certificado para poder generar otro con una clave pública diferente y que parezca auténtico.

5.3.1.3. Alteración de los paquetes. Un atacante puede modificar los paquetes para que lleguen al destinatario con un contenido distinto del original (si están cifrados no podrá controlar cual será el contenido final descifrado, solamente sabrá que será distinto al original). Si pasa esto, el receptor detectará que el paquete ha sido alterado porque el código de autenticación (MAC) casi con total seguridad será incorrecto.

5.3.1.4. Repetición, eliminación o reordenación de paquetes. Si el atacante vuelve a enviar un paquete correcto que ya había sido enviado antes, o suprime algún paquete haciendo que no llegue a su destino, o los cambia de orden, el receptor lo detectará porque los códigos MAC no coincidirán con el valor esperado. Esto es así porque en el cálculo del MAC se utiliza un número de secuencia que se va incrementando en cada paquete.

5.4. 4.4 Aplicaciones que utilizan SSL/TLS

5.4.1. Como hemos visto al inicio de este apartado, los protocolos SSL/TLS fueron diseñados para permitir la protección de cualquier aplicación basada en un protocolo de transporte como TCP. Algunas aplicaciones que utilizan esta característica son:

5.4.1.1. HTTPS (HTTP sobre SSL/TLS): el protocolo más utilizado actualmente para la navegación web segura.

5.4.1.2. NNTPS (NNTP sobre SSL): para el acceso seguro al servicio de News.

5.5. Un método alternativo que no necesita modificaciones en los equipos de interconexión es introducir la seguridad en los protocolos de transporte. La solución más usada actualmente es el uso del protocolo SSL o de otros basados en SSL.

5.6. Este grupo de protocolos comprende:

5.6.1. El protocolo de transporte Secure Sockets Layer (SSL), desarrollado por Netscape Communications a principios de los años 90. La primera versión de este protocolo ampliamente difundida y implementada fue la 2.0. Poco después Netscape publicó la versión 3.0, con muchos cambios respecto a la anterior, que hoy ya casi no e utiliza.

5.6.2. La especificación Transport Layer Security (TLS), elaborada por la IETF (Internet Engineering Task Force). La versión 1.0 del protocolo TLS es- tá publicada en el documento RFC 2246. Es prácticamente equivalente a SSL 3.0 con algunas pequeñas diferencias, por lo que en ciertos contextos se considera el TLS 1.0 como si fuera el protocolo “SSL 3.1”.

5.6.3. El protocolo Wireless Transport Layer Security (WTLS), perteneciente a la familia de protocolos WAP (Wireless Application Protocol) para el acceso a la red des de dispositivos móviles. La mayoría de los protocolos WAP son adaptaciones de los ya existentes a las características de las comunica- ciones inalámbricas, y en particular el WTLS está basado en el TLS 1.0. Las diferencias se centran principalmente en aspectos relativos a el uso efi- ciente del ancho de banda y de la capacidad de cálculo de los dispositivos, que puede ser limitada.

6. 5. Redes privadas virtuales (VPN)

6.1. 5.1. Definición y tipos de VPN

6.1.1. Las tecnologías de seguridad que permiten la definición de una red privada, es decir, un medio de comunicación confidencial que no puede ser interceptado por usuarios ajenos a la red.

6.1.2. Las tecnologías de encapsulamiento de protocolos que permiten que, en lugar de una conexión física dedicada para la red privada, se pueda utilizar una infraestructura de red pública, como Internet, para definir por encima de ella una red virtual.

6.1.3. Dependiendo de la situación de los nodos que utilizan esta red, podemos considerar tres tipos de VPN:

6.1.3.1. VPN entre redes locales o intranets. Este es el caso habitual en que una empresa dispone de redes locales en diferentes sedes, geográficamente separadas, en cada una de las cuales hay una red privada o intranet, de acceso restringido a sus empleados

6.1.3.2. VPN de acceso remoto. Cuando un empleado de la empresa quiere acceder a la intranet des de un ordenador remoto, puede establecer una VPN de este tipo entre este ordenador y la intranet de la empresa. El ordenador remoto puede ser, por ejemplo, un PC que el empleado tiene en su casa, o un ordenador portátil des del cual se conecta a la red de la empresa cuando está de viaje.

6.1.3.3. VPN extranet. A veces, a una empresa le interesa compartir una parte de los recursos de su intranet con determinados usuarios externos, como por ejemplo proveedores o clientes de la empresa. La red que permite estos accesos externos a una intranet se llama extranet, y su protección se consigue mediante una VPN extranet.

6.2. 5.2. Configuraciones y protocolos utilizados en VPN

6.2.1. A cada uno de los tipos de VPN que acabamos de ver le suele corresponder una configuración específica.

6.2.1.1. En las VPN entre intranets, la situación más habitual es que en cada in-tranet hay una pasarela VPN, que conecte la red local con Internet. Esta pasarela se comunica con la de las otras intranets, aplicando el cifrado y las protecciones que sean necesarias a las comunicaciones de pasarela a pasarela a través de Internet. Cuando los paquetes llegan a la intranet de destino, la pasarela correspondiente los descifra y los reenvía por la red local hasta el ordenador que los tenga que recibir.

6.2.1.2. En las VPN de acceso remoto, a veces llamadas VPDN, un usuario se puede comunicar con una intranet a través de un proveedor de acceso a Internet, utilizando tecnología convencional como por ejemplo a través de un mó- dem ADSL. El ordenador del usuario ha de disponer de software cliente VPDNVPN para comunicarse con la pasarela VPN de la intranet y llevar a cabo la autenticación necesaria, el cifrado, etc. VPDN es la sigla de Virtual Private Dial Network.

6.2.1.3. El caso de las VPN extranet puede ser como el de las VPN entre intranets, en que la comunicación segura se establece entre pasarelas VPN, o bien como el de las VPN de acceso remoto, en que un cliente VPN se comunica con la pasarela de la intranet. La diferencia, pero, es que en este caso normalmente el control de acceso es más restrictivo para permitir solamente el acceso a los recursos autorizados.