41
SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS Los problemas de seguridad relacionados con los datos en tránsito. ¿cómo podemos evitar un espía de robar datos sensibles , como nuestros números de tarjetas de crédito o números de seguridad social que pueden estar en tránsito a través de una red pública? ¿Cómo podemos preservar el secreto de una conversación confidencial entre dos agencias de más de un red pública?

SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

  • Upload
    terry

  • View
    47

  • Download
    3

Embed Size (px)

DESCRIPTION

SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS. Los problemas de seguridad relacionados con los datos en tránsito. ¿cómo podemos evitar un espía de robar datos sensibles , como nuestros números de tarjetas de crédito o números de seguridad social que pueden estar en tránsito a través de una red pública? - PowerPoint PPT Presentation

Citation preview

Page 1: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS● Los problemas de seguridad relacionados con los datos en tránsito.

● ¿cómo podemos evitar un espía de robar datos sensibles , como nuestros números de tarjetas de crédito o números de seguridad social que pueden estar en tránsito a través de una red pública?

● ¿Cómo podemos preservar el secreto de una conversación confidencial entre dos agencias de más de un red pública?

Page 2: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Requisitos de seguridad ● Confidencialidad. Los datos seguros no deben ser accesibles a personas no

autorizadas.

● Integridad. Todas las modificaciones se deben hacer unicamentes a través de los medios autorizados. La consistencia de los datos nunca se debe de ver comprometida.

● Autenticación. La identidad de la persona que realiza una transacción segura debe ser establecida fuera de toda duda.

● Autorización. Las acciones del usuario deben ser coherentes con lo que él o ella está autorizado para hacer. Acciones no autorizadas no deben ser permitidas.

● No repudio. Es la seguridad de que alguien no puede negar algo. Por lo general, no repudio se refiere a la capacidad de garantizar que una parte en un contrato o una comunicación no pueden negar la autenticidad de su firma en un documento o el envío de un mensaje que se originó.

● Disponibilidad. Los usuarios legítimos deben tener acceso a los datos cuando los necesiten.

Page 3: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Mecanismo de seguridad

● 1.- Cifrado: Implementa un canal de datos seguro, asegurando que la información no se pueda fugar o robar por extraños.

Page 4: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

2.- Firma: Las firmas digitales proporcionan autenticación, no repudio, y protegen la integridad.

Page 5: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

3.- Hashing: Las sumas de comprobación o funciones hash sirven para mantener la integridad de datos y autenticación de apoyo.

Ejemplos de servicios de seguridad, SSL (Secure Socket Layer) para transacciones confidensiales, o SSH (Secure Shell) para login remoto.

Page 6: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Ataques de seguridad comunes

● Eavesdropping (Espionaje): Las personas no autorizadas pueden interceptar comunicaciones privadas y tener acceso a información confidencial. Los datos que se propagan a través de cables pueden ser robados por los escuchas telefónicos. La comunicación inalámbrica se puede interceptar utilizando un receptor con una antena adecuada. El espionaje viola el requisito de confidencialidad.

Page 7: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Denial of Service: Aumento excesivo en las peticiones al servidor, usando peticiones falsas. Esto viola el requerimiento de disponibilidad.

Page 8: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Data tampering (Manipulación de los datos): Modificación no autorizada a los datos. Viola el requisito de integridad.

Page 9: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Masquerading (Enmascararse): El atacante se disfraza como un usuario y obtiene acceso a datos sensibles. Esto viola el requerimiento de autorización y autenticidad (Pishing).

Page 10: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Man-in-the-middle : El atacante intercepta los mensajes mediante el intercambio de claves publicas, enviando su propia clave a los usuarios atacados.

Page 11: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Malware : Se instala remotamente en las computadoras:

Virus : Programas autoreplicables con fines destructivos, pueden crear backdoors.

Worms : Programas autoreplicables, no necesitan un host, envian correo basura, maquinas zombies.

Spyware : Programas diseñados para recolectar información confidencial o personal. No se replican, no borran archivos, consumen ancho de banda.

Page 12: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Encripción

● Son tecnicas para ocultar información.

Page 13: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 14: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

SECRET-KEY CRYPTOSYSTEM

● Es un sistema de cifrado simétrico.

● Se trata de una función E de cifrado, una función D de descifrado (la inversa de E) y una clave secreta k, que es compartida entre el emisor y el receptor.

● Todo lo que se requiere es que las dos partes se pongan de acuerdo sobre una clave secreta antes de que comience la comunicación.

● Hay numerosos ejemplos de sistemas criptográficos de clave secreta. Nos clasificamos en dos tipos diferentes:

– Block Ciphers– Stream Ciphers

Page 15: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Confusión y Difusión

● El propósito de confusión es hacer que la relación entre la llave y el texto cifrado sea tan complejo como sea posible.

– En una buena confusión cada bit del texto cifrado depende de varias partes de la clave, tanto es así que parece que la dependencia es casi al azar para el intruso.

● Difusión: La influencia de cada bit del texto claro sobre varios bits de texto cifrado.

● Por lo tanto el cambio de una pequeña parte de la texto plano afecta a un gran número de bits de texto cifrado. Un intruso necesitará mucho más texto cifrado para lanzar un ataque estadístico significativo en la cifra.

Page 16: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Data Encryption Standard (DES)● Es un esquema de cifrado desarrollado por IBM, nombre clave lucifer

– El texto plano es dividido en bloques de 64 bits

– Cada bloque es convertido a un texto cifrado usando una llave de 56 bits.

– El texto plano después de la primera permutación se alimenta en una cascada de 16 etapas.

– Una llave maestra secreta de 56 bits se utiliza para generar 16 claves, uno para cada etapa de la cascada.

– La mitad derecha de la etapa (k - 1) (k> 0) se convierte en la mitad izquierda de la etapa k (difusión), pero la mitad izquierda sufre una transformación (confusión) antes de que sea utilizada como la mitad derecha de la siguiente etapa.

– Esta transformación utiliza una función f especial (que no es una función secreta), y una clave de 48 bits derivada de la 56-bits

– La salida de la etapa final (es decir, etapa 15) es permutada una vez más para generar el texto cifrado.

Page 17: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 18: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

3DES

● 3DES es un refinamiento del DES diseñado para reducir su vulnerabilidad frente a los ataques de fuerza bruta.

● Se aplica la transformación DES tres veces seguidas (cifrar-descifrar-cifrar) utilizando dos claves secretas separada k1, k2 para generar el texto cifrado C:

Page 19: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Advanced Encryption Standard (AES)

● National Institute of Science and Technology (NIST), corrió un proceso público para elegir al sucesor de DES y 3DES.

● De las muchas presentaciones, eligieron el método Rijndael, desarrollado por dos criptógrafos belgas Joan Daemen y Vincent Rijmen.

● Una versión restringida del algoritmo Rijndael, se conoce como el Advanced Encryption Standard (AES).

● AES es un cifrado de bloques con un tamaño de bloque fijo de 128 bits y un tamaño de clave de 128, 192, o 256 bits, mientras que Rijndael se puede especificar con tamaños de clave y de bloque en cualquier múltiplo de 32 bits, con un mínimo de 128 bits y un máximo de 256 bits.

Page 20: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Stream Ciphers

● Se utilizan principalmente para cifrar los datos en tiempo real que se generan en tiempo real.

● El cifrado se lleva a cabo en las unidades de datos de menor tamaño (generalmente bits).

● Datos de la secuencia se pueden cifrar mediante la generación de una primera serie de claves de un tamaño muy grande utilizando un generador de números pseudo-aleatorios.

● El generador de números pseudo-aleatorios se siembra con una clave, y emite una secuencia de bits conocidas como una cadena de claves. Para generar keystreams idénticos en una manera aleatoria, los remitentes y los receptores utilizan el mismo generador de números aleatorios, y semillas idénticos.

Page 21: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 22: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 23: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

STEGANOGRAPHY

● En griego, la esteganografía significa escritura encubierta.

● Es la técnica de ocultar la comunicación real en el cuerpo de una frase poco visible o un párrafo.

● A diferencia de la encriptación en el que el texto cifrado transmitido es incomprensible y sin sentido para un extraño, el texto transmitido en esteganografía tiene un significado válido, pero diferente.

Page 24: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

PUBLIC-KEY CRYPTOSYSTEMS

● En la criptografía de clave pública, cada usuario tiene dos claves: e y d. La clave de cifrado se puede encontrar en el dominio público, por lo que se llama clave pública. Sólo la clave de descifrado d se mantiene en secreto.

Page 25: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

THE RIVEST–SHAMIR–ADLEMAN (RSA) METHOD

● El cifrado RSA comienza con la elección de un número entero N apropiado que es el producto de dos números primos grandes s y t. El texto plano se divide en bloques, y el valor númerico de  P de cada bloque es menor que N. Cada bloque tiene un tamaño de k-bits (k es entre 512 y 1024). El entero N es de conocimiento público. El cifrado y las claves de descifrado (E y D) se eligen mediante los siguientes pasos:

Page 26: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

ELGAMAL CRYPTOSYSTEM

Ejemplo Numérico :

Los Valores:

Forman la llave pública (17, 3, 15) y la privada (6)

Para generar un par de llaves, se escoge un número primo p, cualquiera tal que p - 1, tenga un factor primo grande. Además se eligen dos números aleatorios g, (el generador) y a, (que actuará como clave privada) tal que

Se calcula entonces el valor de

A, por lo tanto será la llave pública a utilizar.

En este caso se refiere al operador de módulo de p, y a, es la llave privada mientras que los valores p, g, y A, son públicos.

𝑎∈ {0 ,... ,𝑝−1 }

𝐴=𝑔𝑎 (𝑚𝑜𝑑𝑝 )

(𝑚𝑜𝑑𝑝 )

𝑝=17 (𝑝𝑟𝑖𝑚𝑜𝑒𝑙𝑒𝑔𝑖𝑑𝑜𝑎𝑙𝑎𝑧𝑎𝑟 )𝑔=3 (𝑔𝑒𝑛𝑒𝑟𝑎𝑑𝑜𝑟 )

𝑎=6 (𝑙𝑙𝑎𝑣𝑒𝑝𝑟𝑖𝑚𝑎𝑟𝑖𝑎𝑒𝑙𝑒𝑔𝑖𝑑𝑎𝑎𝑙𝑎𝑧𝑎𝑟 )𝐴=𝑔𝑎 (𝑚𝑜𝑑𝑝 )=3⁶ (𝑚𝑜𝑑17 )=15 (𝑙𝑙𝑎𝑣𝑒𝑝 ú𝑏𝑙𝑖𝑐𝑎 )

Page 27: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Criptosistemas de Llave Publica/Privada

● Si el usuario A desea enviar un mensaje cifrado y codificado al usuario B, deberá firmar el mensaje utilizando su clave secreta s=Sa(m), donde s es la firma digital del mensaje.

● Como de costumbre, una vez firmado, para enviar el mensaje codificado a B, se usará la clave pública de este, obteniendo c=Pb(s). Cuando el usuario B reciba c, utilizará su clave secreta para obtener s. Sin embargo, s es ilegible para el receptor, puesto que se trata de la firma digital del emisor. Advertido el receptor que el usuario A enviaba un mensaje, el contenido de s solo podrá ser descifrado mediante la clave pública Pa, garantizando que el emisor del mensaje es, sin lugar a dudas, el usuario A.

● Para garantizar la autenticidad del emisor de usa una autoridad de certificación. VerySign es la empresa certificadora más usada en el mundo.

Page 28: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 29: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

HASH● Una función Hash es un método para generar claves o llaves que

representen de manera casi unívoca a un documento o conjunto de datos.

● Requisitos que deben cumplir las funciones hash:

–Imposibilidad de obtener el texto original a partir de la huella digital.–Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella digital (aunque como hemos visto anteriormente es posible que este requisito no se cumpla).–Poder transformar un texto de longitud variable en una huella de tamaño fijo (como el SHA-1 que es de 160bits).–Facilidad de empleo e implementación.

Page 30: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS
Page 31: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Elliptic Curve Cryptography

●Las curvas elípticas son utilizadas para implementar criptosistemas basados en el logaritmo discreto, con la ventaja de utilizar claves más pequeñas que repercuten directamente en la utilización de menos memoria y hardware más pequeño, como por ejemplo en sistemas de identificación mediante tarjetas.●En la Criptografía de curvas elípticas, el punto R se utiliza como clave pública que es la suma de los puntos P y Q, los cuales corresponden a la clave de tipo privada.●De este modo, al conocer un punto de una curva, en este caso R, la información cifrada con este valor no se compromete, ya que la curva elíptica tiene infinidad de puntos y para poder descifrar un mensaje se necesitan conocer los parámetros P y Q para obtener su suma y así poder descifrar el mensaje.

Page 32: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

● El procedimiento para obtener las claves pública y privada es muy similar en la multiplicación de un punto por un escalar.

● De tal forma que se utiliza un punto de una curva elíptica que sea un generador de todos los demás puntos de la misma para utilizarla como clave pública junto con el campo de Galois sobre el que definimos dicha curva y se utiliza un número entero aleatorio definido sobre el mismo campo de Galois que será la clave privada del algoritmo.

● Así, se tiene que serán públicos el punto de la curva elíptica, el campo de Galois sobre el que se define dicha curva y finalmente el punto que se encuentra de multiplicar el punto generador por la clave privada elegida. La clave privada será el número entero aleatorio que pertenezca al mismo campo. Se debe considerar que el campo de Galois elegido debe ser un número primo lo suficientemente grande como para evitar ataques por fuerza bruta que se puedan presentar.

Page 33: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Authehtication Server for Secret-Key Cryptosystems

● Un servidor de autenticación es un agente cuya responsabilidad es distribuir llaves a los clientes antes y que estos puedan entablar una conversación entre si.

● El punto clave consiste en preservar la integridad de las claves entre los clientes.

● Sean A y B dos clientes conectados al Servidor de Autenticación S, para cada usuario el servidor mantiene una única clave ki, que es solo conocida entre el cliente y el servidor, kij es la llave utilizada para la conversación entre el cliente i, j y ki(M) el mensaje M encriptado por la clave ki

Page 34: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

● El siguiente esquema de petición de una clave kij y esta atribuido a Needham y Schroeder [NS78].

● A→S Petición de llave para comunicarce con B● S→A Envia kAB en la forma kA(B, kAB, kB(kAB , A))

● A→B Envia la llave kAB en la forma kB(kAB,A) que fue obtenida de S en el paso anterior.

● B→A Envia un mensaje de confirmación de Decodificación kAB

(nB) pidiendo que A decremente el argumento

● A→B Envia un mensaje decrementando el argumento kAB

(nB−1 )

Page 35: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Authentication Server for Public-Key Cryptosystem

● Se asume que todo mundo conoce la clave publica es del servidor s. Para comunicarse el cliente A con B, el cliente A deberá primero obtener la llave publica de B desde el servidor de Autenticación.

● A→S Pide la llave pública eB de B

● S→A Devuelve la llave dS(eB)

● A puede desencriptar el mensaje anterior utilizando la llave pública del servidor S y obtener la clave pública de B.

● A→B eB(nB,A) Mensaje que solo B puede entender

● B→A eA(nB,nA) Solo A puede entender y significa que B entendió el Mensaje

● A→B eB(nB) B sabe que A pudo decodificar y entender su Mensaje

Page 36: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Digital Certificates● Un certificado digital que es fichero digital intransferible y no modificable,

emitido por una tercera parte de confianza (AC), que asocia a una persona o entidad una clave pública.

● Todos los datos están firmados por la AC usando la función hash MD5 y su clave privada RSA. El formato mas utilizado es X.509.

● Un mensaje cifrado con este mecanismo es una transformación del mensaje de forma que cualquier persona con conocimiento del mensaje y de la clave pública del firmante pueda comprobar que dicha transformación ha sido realizada realmente por el firmante.

● Para verificar que el certificado es correcto se debe obtener el certificado para dicha AC por una segunda AC. Para verificar la veracidad de este segundo certificado deberíamos obtener el certificado digital emitido para segunda AC por una tercera AC. Para evitar ciclos interminables en el proceso de verificación, existen autoridades raíz quienes firman sus propios certificados, un ejemplo de autoridad raíz es Verisign.

Page 37: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Kerberos● Kerberos es un protocolo de autenticación de redes de ordenador creado

por el MIT que permite a dos computadores en una red insegura demostrar su identidad mutuamente de manera segura. Los mensajes de autenticación están protegidos para evitar eavesdropping y ataques de Replay.

● Kerberos se basa en criptografía de clave simétrica y requiere un tercero de confianza.

● Consiste de dos partes lógicas separadas: un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket Granting Server).

● Kerberos mantiene una base de datos de claves secretas; cada entidad en la red comparte una clave secreta conocida únicamente por él y Kerberos. El conocimiento de esta clave sirve para probar la identidad de la entidad. Para una comunicación entre dos entidades, Kerberos genera una clave de sesión, la cual pueden usar para asegurar sus problemas

Page 38: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Secure Socket Layer● El estándar SSL fue desarrollado por Netscape.

● Se basa en un proceso de cifrado de clave pública que garantiza la seguridad de los datos que se envían a través de Internet.

● Su principio consiste en el establecimiento de un canal de comunicación seguro (cifrado) entre dos equipos después de una fase de autenticación.

● SSL implica una serie de fases básicas:

–Negociar entre las partes el algoritmo que se usará en la comunicación.–Intercambio de claves públicas y autenticación basada en certificados digitales.–Cifrado del tráfico basado en cifrado simétrico.

Page 39: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

VPN

● Una red VPN (red privada virtual) es una red privada (Túnel) construida dentro de una infraestructura de red pública o no controlada.

● Proporciona el máximo nivel de seguridad posible a través de Seguridad IP cifrada (IPsec) o túneles VPN Secure Sockets Layer (SSL) y tecnologías de autenticación a nivel IP o enlace.

● Tunneling es el proceso de encapsular un paquete completo dentro de otro paquete y enviarlo a través de una red

● Protegen los datos que se transmiten por VPN de un acceso no autorizado.

Page 40: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Firewall● Un firewall es software o hardware que comprueba la información

procedente de una red y, bloquea o permite el paso de ésta al equipo, en función de la configuración.

● Impide que hackers o software malintencionado (como gusanos) obtengan acceso al equipo.

● Ayuda a impedir que el equipo envíe software malintencionado a otros equipos.

● Un sistema de firewall filtra paquetes de datos que se intercambian a través de la red. Por lo tanto, se trata de una pasarela de filtrado que comprende al menos las siguientes interfaces de red:

–Una interfaz para la red protegida (red interna)–Una interfaz para la red externa.

Page 41: SEGURIDAD EN LOS SISTEMAS DISTRIBUIDOS

Firewall