Sei sulla pagina 1di 6

TEMA 8: SEGURIDAD EN LAS REDES DE COMPUTADORAS

8.1 ¿QUÉ ES LA SEGURIDAD DE RED?


Comunicación segura: Cuando un mensaje enviado desde Alicia hasta Benito goza de confidencialidad,
autenticación del punto terminal, integridad de mensaje y seguridad operacional.
8.2 PRINCIPIOS DE LA CRIPTOGRAFÍA
Criptografía: Técnica de ocultar datos de modo que los intrusos no puedan acceder a ellos.
Texto plano (o texto en claro): Se trata del texto original, sin codificar ni nada.
Texto cifrado: Texto resultante de aplicar un algoritmo de cifrado a un texto plano. Ahora no se entiende.

Encriptación: Alicia encripta el mensaje con una clave KA (m) y Benito obtiene el mensaje desencriptando
con otra clave K𝐵 (KA (m)) = m.

Sistemas de clave simétrica: La clave que tiene Alice KS (m) es la misma que la de Benito K𝑆 (K𝑆 (m)) = m
Esta clave deben mantenerla en secreto, sino, Tomás puede hacerse con ella y desencriptar el mensaje.
Cifrado César: Se basa en que k es la clave con el valor de un número. La encriptación se basa en
que cada letra se cambia por la que esté ‘K’ veces después. Este sistema es fácil de desencriptar si
se sabe que se utiliza el cifrado César.
Cifrado monoalfabético: Es como el patrón de cesar, solo que cada letra se sustituye por otra según
lo que se haya convencionado. Es mucho más seguro pero se podría descifrar si suponemos que hay
palabras del lenguaje que se utilizan más y a partir de ahí vamos probando.
Cifrado polialfabético: Se basa en utilizar varios cifrados monoalfabéticos, que dependen de la
posición de la letra, de la línea, del párrafo, o de lo que se quiera establecer.
PE: k=(5, 9) & filas=(C1, C2, C2, C2, C1)
Cifrado de bloque: Se utiliza mucho en PGP (para correo electrónico seguro), para SSL (seguridad en
TCP) y para IPsec (seguridad de la capa de red) ente otros protocolos.
Se basa en elegir una k, y separar los mensajes en bloques de k bits. De esta forma cada bloque
lleva una codificación diferente. Cuanto mayor sean los bloques mayor es la dificultad para que
Tomás pueda descifrar el mensaje. Pero también es mayor la tabla que deben tener Alicia y Benito
para descifrarla ellos, y en caso de querer cambiarla, costaría muchísimo trabajo. Por tanto, es muy
seguro este método, pero es IMPRACTICABLE. Por eso, se ha desarrollado AES y DES, que son
sistemas de dividir en bloques, cifrar cada bloque, permutar los bloques, y volver a repetir el ciclo
anterior. De este modo, robar datos es imposible, y al ser estandarizado todos lo podemos usar.
Ataques: Formas en las cual Tomás puede descifrar los mensajes.
Ataque de texto cifrado: Tomás tiene acceso al mensaje codificado, y a partir de ahí puede intentar
decodificarlo a partir de un análisis estadístico.
Ataque de texto en claro conocido: Tomás sabe de seguro que aparecen ciertas palabras en el
texto. A partir de ahí, puede desencriptarlo.
Ataque de texto en claro seleccionado: Tomás elige el texto a enviar, así que pide a Alicia que
envía algún mensaje que contenga todas las letras (ella no sabe que es una trampa) de esta forma Tomás
tendrá acceso al texto cifrado y al mensaje original, sabiendo cómo funciona la encriptación.

FRC: CHAPTER EIGHT, SECURITY 1


SISTEMA DE CLAVE PÚBLICA: Cada persona tiene dos claves, una privada K− +
𝑃 y otra pública K𝑃 :
− + + − − − + +
KP (KP (m)) = m KP (KP (m)) = m pero KP (KP (m)) ≠ m KP (KP (m)) ≠ m
De este modo, si alguien quiere mandarle un mensaje secreto a Benito, tendrá que encriptar el mensaje
con la clave pública que Benito enseña al mundo K− 𝐵 (m), y así, el mensaje solo se podrá desencriptar con la
clave privada de Benito, que solo conoce él. K− +
𝐵 𝐵 (m)) = m
(K
Es decir, si quieres mandar un mensaje a alguien y que nadie más lo pueda ver, debes encriptarlo con su
clave pública, así solo se podría desencriptar con la clave privada, que solo conoce el receptor.
Algoritmo RSA: Es el utilizado para encriptar mensajes de esta manera. Se basa en lógica matemática de
números primos entre ellos, y de la aplicación de utilizar sus módulos. Este proceso consume mucho
tiempo, PE: DES es 100 veces más rápido en software y entre 1000 y 10.000 en hardware.
Clave de sesión: El texto se encripta por algún método fiable y rápido, este texto utiliza una clave simétrica,
que será la clave de sesión K𝑆 . Esta clave de sesión ahora sí se encripta mediante la clave pública. Alice
entonces enviaría K+ B (K𝑆 ) & K𝑆 (m). Gana tiempo por lo que tarda RSA del mensaje entero y seguridad.

8.3 INTEGRIDAD Y AUTENTICACIÓN


Cuando se recibe un paquete hay que asegurarse de que el paquete ha sido enviado por quien dice que lo
ha enviado (no hay nadie suplantando la identidad) ni que el mensaje ha sido alterado por nadie durante el
camino.
Función hash: Se toma un mensaje como entrada y se codifica de modo que el resultado es un mensaje
codificado que es siempre de tamaño fijo, pero asegurando que siendo {x, y} mensajes diferentes, no puede
haber dos funciones hash iguales: H(x) ≠ H(y), por tanto, un intruso no puede generar un mensaje que
tenga el mismo valor hash que el mensaje original.
Algoritmo hash MD5: Se utiliza ampliamente hoy en día. Calcula el valor hash de 128 bits en 4 pasos:
1: PASO DE RELLENO: Añadir un 1 seguido de 0’s hasta cumplir la longitud requerida.
2: PASO DE AGREGACIÓN: Añadir representación mediante 64 bits de la longitud del mensaje.
3: INICIALIZACIÓN DE UN ACUMULADOR
4: BUCLE FINAL donde se procesan los bloques de 16 palabras del mensaje.
Clave de autenticación: Número secreto (s) que solo conoce el emisor y el receptor, no los intrusos.
MAC (o código de autenticación): El emisor hace el hash del mensaje con la clave ‘s’. H(m + s).
Es muy importante no confundir este MAC con el MAC de la capa de enlace ya que NO ES LO MISMO.
Si Alice manda a Benito el mensaje, más el código hash {m, H(m)}, Benito tendría que hacer el código hash
del mensaje, y si coincide con el que le ha mandado Alice, es que es correcto.
Pero Tomás puede mandar un mensaje como que fuese Alice, mandándole el Hash del mensaje suyo, que
Benito al comprobarlo vería que también es correcto.
Para evitar esto se utiliza la clave y el código de autenticación: Alice hace el hash del mensaje + la clave,
conociendo la clave solo Alice y Benito, y le envía el mensaje + este código de autenticación. Benito obtiene
el mensaje, le añade la clave, hace el hash, y si coincide con el hash recibido, está seguro de que lo ha
enviado Alicia.
Esto sirve para asegurar la autoridad de los mensajes, al igual que para garantizar la integridad, pero a
cambio dejamos que la confidencialidad sea nula.
HMAC: Es el más estándar a día de hoy y se basa en usar MD5 o SHA-1 para crear el hash, pero haciendo
dos veces la función hash.
Todo esto está muy bien, pero… ¿Cómo distribuimos la clave cifrada? Pues cifrándola con la pública de cada
router, o distribuyéndola físicamente.

FRC: CHAPTER EIGHT, SECURITY 2


Firma digital: Técnica criptográfica que permite identificar demostrar que cierto mensaje ha sido enviado
por la persona que dice ser, evitando las falsificaciones.
Para poder firmar un documento ‘m’, simplemente Benito tiene que encriptarlo con su clave privada K+ B (m).
De este modo, el que la desencripte, lo hará con la clave pública de Benito K+ (K
B B

(m)) = m, así que se puede
asegurar que ese mensaje ha sido enviado por Benito.
Como ya se ha dicho anteriormente, el proceso de clave pública es muy costoso, así que se procede a
ENCRIPTAR el mensaje con la función HASH, y luego encriptar el HASH con la CLAVE PRIVADA de Benito.
M -> H(m) -> K− 𝐵 ( H (m) )
De esta forma, el proceso de encriptación con clave privada es menos costoso ya que la función hash nos
deja un mensaje de menor tamaño.
Comparando este sistema con el de la firma MAC, comprobamos que la firma digital tiene una estructura
más pesada ya que requiere de PKI (Infraestructura de clave pública).
CA (Autoridad de certificado): Su trabajo se basa en validar las identificaciones, por lo que hay que tener
una confianza en ella, y suponer que la clave pública que nos dé de cierta persona, es la real. Si esto falla y
no confiamos en CA y pedimos la clave pública al usuario, nos arriesgamos a que se nos engañe por el
método de man-in-the-middle, es decir, un tío entre el emisor y receptor que se entera de todo, puede
cambiarlo y de todo, sin que nosotros nos demos cuenta.
Certificado: asocia una identidad con su clave pública.
Ataque por reproducción: Se basa en que el intruso copia el mensaje que envía el emisor al receptor, para
volver a enviarlo más adelante. Si esto no está controlado, y el mensaje fuese una transferencia de dinero,
se podría transferir todo el dinero del mundo enviando al receptor ese mensaje robado. Para evitar esto se
utiliza NONCE.
NONCE: Es un número distintivo que un protocolo solo utilizará una vez en su vida. El emisor se identifica
primero, el receptor le envía un nonce, y el emisor le envía el mensaje con el nonce añadido. Todo esto
codificado con las claves privadas del que envía el mensaje. Si no utilizamos CA, se nos puede colar un
intruso.
8.4 CORREO ELECTRÓNICO SEGURO
Si busca confidencialidad: Alice envía el mensaje codificado con una clave secreta, y esa clave la encripta
con la pública del receptor, Benito. { K𝑆 (m), K+
B ( KS ) }

Si busca autenticarse: Alice hace el hash del mensaje, lo encripta con su clave privada y lo añade al mensaje
Así Benito, a través de la pública de Alice comprueba que lo haya enviado ella. { K𝐴− (H(m)) , m }
Si busca privacidad, autenticación, e integridad del mensaje le toca usar 3 claves:
Alice usa K𝐴− , K+ −
𝐵 , K𝑆 para enviar [ K𝑆 { K𝐴 (H(m)) , m}, K+B ( KS ) ]

8.5 CONEXIONES TCP SEGURAS: SSL


SSL (Secure Socket Layer): Es la versión mejorada de TCP, ya que es más segura y las grandes empresas la
utilizan para realizar las transacciones. (se puede comprobar ya que la URL empieza por https).
Si no se utilizase medida de seguridad, al comprador le podrían cobrar más, cambiarle la compra o robarle
los datos. Todo esto lo solventa SSL. SSL proporciona una API parecida a la de TCP, y en todo sitio donde
esté TCP, se puede usar SSL.
Aunque SSL reside en la capa de aplicación, para el desarrollador se trata de un protocolo de transporte.
Se basa en 3 fases: 1: Acuerdo
2: Deducción de clave
3: Transferencia de datos

FRC: CHAPTER EIGHT, SECURITY 3


Fase de acuerdo:
1: Benito establece conexión con Alicia.
2: B verifica que A es A: B saluda a A para que A le mande su certificado que contiene su clave
pública, verificando que A es quien dice ser.
3: B envía la clave maestra a A cifrada K+
A ( KS ) con la que operarán a partir de ahora, pero solo
durante esta sesión SSL.
Esto sería ver la fase de acuerdo de una manera simple, pero en realidad, la fase de acuerdo (handshaking)
consta de otros pasos, ya que son el cliente y receptor los que eligen el modo de encriptación:
1: Cliente envía lista de algoritmos criptográficos que soporta + nº distintivocliente
2: Servidor elige el algoritmo de clave pública (RSA/MD5), elije otro de clave simétrica (AES, DES) y
un algoritmo MAC. Servidor devuelve las elecciones + certificado + nºdistintivoservidor.
3: Cliente verifica certificado, extrae K+ +
Serv , genera una clave pre-maestra PMS, y envía KServ (𝑃𝑀𝑆),
4: Servidor y cliente calculan MS a partir de PMS + nºdistintivos. De la PMS salen 4 claves: un par de
claves de cifrado y otro par de claves MAC. Si el cifrado simétrico utilizado era CBC (AES, DES
también se obtienen dos vectores de iniciación IV.
A partir de este momento todos los mensajes son cifrados y autenticados.
5: El cliente envía un código MAC de todos los mensajes de acuerdo.
6: El servidor envía un código MAC de todos los mensajes de acuerdo.
Los últimos pasos sirven para comprobar el MAC de todos los mensajes anteriores y así evitar un intruso
por el método man-in-the-middle que nos cambie la lista de algoritmos que se pueden usar, o cualquier
otra trapichuela que nos pueda afectar. En caso de encontrar incongruencia, se cierra la conexión.

Deducción de claves: Se podría utilizar KS como la clave de sesión simétrica para todos los cifrados, pero
no, esta clave se utiliza para generar otras 4 claves, y que cada uno use dos, una como clave de cifrado y
otra como la clave MAC de sesión:
· EB : clave de cifrado de sesión (datos enviados por Benito)
· MB : clave MAC de sesión (Benito)
· EA : clave de cifrado de sesión (Alicia)
· MA : clave MAC de sesión (Alicia)
Transferencia de datos:
SSL divide el flujo de datos en registros.
Después, añade un código MAC a cada registro para poder comprobar la integridad y se cifra.
Para formar un valor MAC, B introduce los datos del registro y MB en una función hash.
Para cifrar el paquete (registro + valor MAC), B usa su clave de cifrado de sesión EB .
Este paquete es el que pasa a TCP para transportarse en Internet.
Al hacer el SSL, el emisor tiene un contador que se lo va añadiendo al mensaje, a modo de número de
secuencia SSL. Esto sirve para evitar por ejemplo que alguien desordene los segmentos TCP y los altere
cambiando el número de secuencia TCP, ya que el receptor real desencriptará todos los segmentos
(alterados por el intruso) y verá que alguien los ha alterado, ya que el número de secuencia SSL no estaría
alterado, viendo que están los paquetes desordenados.
También se utiliza nonces, para evitar que un intruso replique los mensajes.
Para cerrar la conexión, no se hace mandando un segmento TCP FIN ya que un intruso se podría colar y
mandarlo, sino que se haría mandando un registro SSL de cierre, así antes de cerrar se comprobaría el valor
MAC y se vería si la petición de cierre es la correcta.

FRC: CHAPTER EIGHT, SECURITY 4


8.6 SEGURIDAD DE LA CAPA DE RED: IPsec Y REDES PRIVADAS VIRTUALES
IPsec: Protocolo de seguridad más conocido que de la capa de red. Muchas instituciones lo aprovechan
para crear VPNs. Sus protocolos principales son AH y ESP.
Red privada: Red física que se monta una institución y es independiente a la red de Internet pública.
VPN: Redes privadas virtuales. Funcionan sobre la red pública.
Los mensajes se cifran antes de pasarlos por la VPN para asegurar confidencialidad.
AH (authentication header): Es la cabecera de autenticación. Proporciona autenticación del origen e
integridad de los datos, pero no la confidencialidad.
ESP (Encapsulation Security Payload): Es la carga útil de seguridad para la encapsulación. Es igual que AH
pero proporcionando confidencialidad.
Como la confidencialidad suele ser de lo más importante en las redes VPN, lo que más se utiliza es ESP.
Puede haber 4 combinaciones posibles del IPsec: Modo host / túnel con AH / ESP.
Asociación de seguridad SA: Conexión lógica en la capa de red que crean dos entidades antes de enviar
datagramas IPsec. Son de tipo SIMPLEX, es decir, son unidireccionales. Si se quiere tener una conexión que
vaya en los dos sentidos, habría que hacer dos SA, uno en cada dirección.
Las entidades receptoras mantienen información de estado de la SA: Mientras que IP no es orientado a la
conexión, IPsec sí que es ORIENTADO A LA CONEXIÓN.
Base de datos SAD (Security Association Database):
· El extremo final almacena el estado de SA en SAD, donde puede encontrarlas durante el proceso.
· Con n vendedores hay 2+2n SA en el Rou1 de SAD.
· Cuando IPsec envía un datagrama, el Rou1 accede a la SAD para determinar cómo procesarlo.
· Cuando llega el datagrama IPsec al Rou2, este, examina el SPI en el datagrama de IPsec, indexa la
SAD con el SPI y procesa el datagrama según la información proporcionada por la SAD.

IPsec tiene dos formas diferentes de paquetes, dependiendo de si está en modo túnel que es el más
implantado en las VPNs, o si está en modo transporte.
Junto con la SAD, la IPsec tiene una SPD.
SPD: Es la base de datos de políticas de seguridad, e indica que tipos de datagramas hay que procesar
mediante IPsec, y los que sean procesados, determina qué SA debe utilizarse.
SPD indica QUÉ hacer con los datagramas, y SAD indica CÓMO hay que hacerlo.
Supongamos que un intruso quiere jodernos:
El intruso, no puede ver los datos que hay en el datagrama ya que está codificado, ni quién es el emisor, ni
el receptor, ni el tipo de datos que transporta, ni nada. De este modo la confidencialidad está a salvo. Si el
intruso quisiese alterar algún datagrama, el datagrama modificado no pasaría el control de MAC. Aquí se ve
que la seguridad de SA va más allá de SSL. IPsec incluye números de secuencia, por lo que el intruso
tampoco puede realizar un ataque de reproducción. En resume, IPsec proporciona confidencialidad,
autenticación del origen, integridad de los datos y prevención de ataques de reproducción.

FRC: CHAPTER EIGHT, SECURITY 5


IKE (Intercambio de claves de Internet): Es un protocolo que sirve para que los routers intercambien
automáticamente información de SA en una empresa de gran volumen y espaciada geográficamente, ya
que cuando es una con pocos puntos terminales y cercanos (routers) se suele hacer a mano. Para mayor
seguridad, como SSL, requiere que ambas entidades intercambien certificados, y se basa en dos fases:
1: Se crea una IKE SA bidireccional, que proporciona un canal autenticado y cifrado entre los dos
routers. En el primer intercambio, se establecen las claves de cifrado y autenticación. También un valor
maestro que se utilizará para calcular las claves de IPsec SA. Ninguno de los dos routers revelan su
identidad todavía.
2: Ahora se revelan la identidad y firman sus mensajes, pero nadie que husmee podrá ver estas
identidades, ya que están en un canal IKE SA seguro. En esta fase se negocian también algoritmos de
cifrado y autenticación IPsec que se emplearán.
8.7 SEGURIDAD DE LAS REDES LAN INALÁMBRICAS
WEP:
· Otorga confidencialidad, autorización del host en la conexión e integridad de los datos ya que
utiliza la criptografía de clave simétrica.
· Cada paquete es encriptado por separado, por lo que tiene autosincronización, y en caso de
perder algún paquete se puede continuar des-encriptando el resto, no como pasaría con el cifrado de
bloques CBC
· Es un sistema eficiente ya que se implementa en hardware y software.
La autenticación no es realizada por todos los WEP, ya que el punto de acceso AP es el que determina si es
necesaria. En caso de necesitarse se haría mediante nonces.
Este método tiene un agujero de seguridad muy gordo, ya que los IV (vector iniciación) son reutilizables en
un periodo de tiempo y el texto es plano, al igual de que el método de encriptación es un poco malo, por lo
que es detectable la reutilización del IV. De esta forma, el intruso puede provocar que se envíe un texto
plano conocido, aplica el algoritmo y de él obtiene la secuencia de encriptación, así que cada vez que se
utilice ese IV, el intruso lo podrá des-encriptar.
802.11i: Mejora la seguridad WEP con alternativas de encriptación que son más robustas, al igual que
proporciona una distribución de claves y utiliza una autenticación en el servidor separada del punto de
acceso. Sus fases de funcionamiento son:
1: Descubrimiento de las posibilidades de seguridad.
2: STA y AS se autentican mutuamente y juntos general la clave maestra (MK). El AP funciona como
un ‘paso a través’.
3: STA deriva una clave maestra pareada PMK, y el AS deriva la misma clave y se la envía al AP.
4: STA y AP usan la PMK para derivar otra clave temporal TK que es la que se utiliza para la
encriptación y la integridad de los mensajes.
EAP (Extensible authentication protocol): Es un protocolo de autenticación entre el cliente y el servidor.
Aquí el AP no es un punto de paso por así decirlo, sino que es como otro nodo, y, por tanto, hay un enlace
del móvil al AP (EAP sobre LAN) y luego otro enlace del AP al servidor de autenticación (RADIUS sobre UDP).

FRC: CHAPTER EIGHT, SECURITY 6

Potrebbero piacerti anche