La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en Sistemas: Autentificación y Seguridad en SW 2 Autentificación con sistemas asimétricos Problema: Los sistemas de cifrado asimétricos son.

Presentaciones similares


Presentación del tema: "Seguridad en Sistemas: Autentificación y Seguridad en SW 2 Autentificación con sistemas asimétricos Problema: Los sistemas de cifrado asimétricos son."— Transcripción de la presentación:

1

2 Seguridad en Sistemas: Autentificación y Seguridad en SW 2 Autentificación con sistemas asimétricos Problema: Los sistemas de cifrado asimétricos son muy lentos y el mensaje podría tener miles o millones de bytes... Solución: Se genera un hash del mensaje, representativo del mismo, con una función hash imposible de invertir. La función hash comprime un mensaje de longitud variable a uno de longitud fija y pequeña. Al existir una clave pública y otra privada que son inversas, se autentica el mensaje y al emisor. Permite la firma digital, única para cada mensaje

3 Seguridad en Sistemas: Autentificación y Seguridad en SW 3 Son condiciones más fuertes que la de una firma manuscrita. Características de una firma digital Requisitos de la Firma Digital: a)Debe ser fácil de generar. b)Será irrevocable, no rechazable por su propietario. c)Será única, sólo posible de generar por su propietario. d)Será fácil de autentificar o reconocer por su propietario y los usuarios receptores. e)Debe depender del mensaje y del autor.

4 Seguridad en Sistemas: Autentificación y Seguridad en SW 4 Clave Pública (n A, e A ) Clave Privada (d A ) Rúbrica: r A H(M) = H(M) dA mod n A Algoritmo: A envía el mensaje M plano (o cifrado) al destinatario B junto a la rúbrica: {M, r A H(M)} El destinatario B tiene la clave pública e A,n A de A y descifra r A H(M)  {(H(M) dA ) eA mod n A } obteniendo así H(M). Como recibe el mensaje M’, calcula la función hash H(M’) y compara: Si H(M’) = H(M) se acepta la firma. LaSole  Mateico Firma digital RSA de A hacia B

5 Seguridad en Sistemas: Autentificación y Seguridad en SW 5 LaSoleMateico Hola. Te envío el documento. Saludos. Sea H(M) = F3A9 (16 bits) Claves Mateico n B = 65.669 e B = 35, d B = 53.771 Claves LaSole n A = 66.331 e A = 25, d A = 18.377 H (M) = F3A9 16 = 62.377 10 r H(M) = H(M) dB mod n B r H(M) = 62.377 53.771 mod 65.669 = 24.622 Mateico envía el par (M, r) = (M, 24.622) Firma Ejemplo de firma digital RSA (B  A) Los primos elegidos por Mateico y LaSole son (97, 677) y (113, 587) 2 16  65.669  2 17 luego, firmará con bloques de 16 bits

6 Seguridad en Sistemas: Autentificación y Seguridad en SW 6 Claves Mateico n B = 65.669 e B = 35, d B = 53.771 Claves LaSole n A = 66.331 e A = 25, d A = 18.377 LaSole recibe un mensaje M’ junto con una rúbrica r = 24.622: Calcula r eB mod n B = 24.622 35 mod 65.669 = 62.377. Calcula el hash de M’ es decir H(M’) y lo compara con H(M). Si los mensajes M y M’ son iguales, entonces H(M) = H(M’) y se acepta la firma como válida. NOTA: No obstante, H(M) = H(M’) no implica que M = M’. Teníamos que: H (M) = F3A9 16 = 62.377 10 r H(M) = H(M) dB mod n B r H(M) = 62.377 53.771 mod 65.669 = 24.622 Mateico había enviado el par (M, r) = (M, 24.622) Comprobación de firma RSA por A LaSoleMateico

7 Seguridad en Sistemas: Autentificación y Seguridad en SW 7 ElGamal: El usuario A generaba un número aleatorio a (clave privada) del cuerpo p. La clave pública es  a mod p, con  generador. Algoritmo de firma: 1ºEl usuario A genera un número aleatorio h, que será primo relativo con  (p): h / mcd {h,  (p)} = 1 2ºCalcula h -1 = inv {h,  (p)} 3ºCalcula r =  h mod p 4ºResuelve la siguiente congruencia: M = a  r + h  s mod  (p)  s = (M - a  r)  inv[h,  (p)  mod  (p) M = a  r + h  s mod  (p)  s = (M - a  r)  inv[h,  (p)  mod  (p) Firma: (r, s) LaSole Firma digital ElGamal de A hacia B

8 Seguridad en Sistemas: Autentificación y Seguridad en SW 8 Algoritmo comprobación de firma: 1ºEl usuario B recibe el par (r, s) y calcula: r s mod p y (  a ) r mod p 2ºCalcula k = [(  a ) r  r s ] mod p Como r era igual a  h mod p entonces: k = [(  ar  hs ] mod p =  (ar + hs) mod p =   mod p 3ºComo M = (a  r + h  s) mod  (p) y  es una raíz primitiva de p se cumple que:   =   ssi  =  mod (p-1) 4ºComprueba que k =  M mod p Mateico Si k = [(  a ) r  r s ] mod p es igual a  M mod p... Se acepta la firma Comprobación de firma ElGamal por B Conoce: p y (  a ) mod p

9 Seguridad en Sistemas: Autentificación y Seguridad en SW 9 LaSoleMateico ¡Hola otra vez! Soy Mateico de nuevo... Salu2. Sea H(M) = A69B (16 bits) Claves Mateico p B = 79.903  = 10  b mod p = 3.631 b = 20, h = 31 2 16  79.903  2 17 luego, firmará con bloques de 16 bits Firma 1) h -1 = inv[h,  (p)] = inv (31, 79.902) = 5.155 2) r =  h mod p = 10 31 mod 79.903 = 11.755 3) s = [H(M) - b  r]  [inv(h,  (p)] mod  (p) H(M) = A69B 16 = 42.651 10 4) s = [42.651-20  11.755]  5.155 mod 79.902 5) s = 68.539 (r, s) = (11.755, 68.539) Ejemplo firma digital ElGamal (B  A) Luego, la firma será

10 Seguridad en Sistemas: Autentificación y Seguridad en SW 10 LaSoleMateico Claves Mateico p B = 79.903  = 10  b mod p = 3.631 b = 20, h = 31 Comprobación de la firma: 1) r s mod p = 11.755 68.539 mod 79.903 = 66.404 2) (  b ) r mod p = 3.631 11.755 mod 79.903 = 12.023 3) (  b ) r  r s mod p = (12.023  66.404) mod 79.903 = 64.419 = k 4)  H(M) mod p = 10 42.651 mod 79.903 = 64.419 Como hay igualdad se acepta la firma Comprobación de firma ElGamal por A LaSole recibe el par (r, s) = (11.755, 68.539) H(M) = A69B = 42.651

11 Seguridad en Sistemas: Autentificación y Seguridad en SW 11 Claves Mateico p B = 79.903  = 10  b mod p = 3.631 b = 20, h = 31  = 10 es un generador del cuerpo p = 79.903 puesto que: p-1 = 79.902 = 2  3 2  23  193 q 1 = 2; q 2 = 3; q 3 = 23; q 4 = 193 y se cumple 10 (p-1)qi mod p  1 10 39.951 mod 79.903 = 79.902 10 26.634 mod 79.903 = 71.324 10 3.474 mod 79.903 = 2.631 10 414 mod 79.903 = 41.829 Por ejemplo, si se elige  = 11, para el exponente 39.951 se obtiene el valor 1 y entonces no sirve para la firma. Será imposible comprobarla mediante la ecuación k =  M mod p. El generador  en la firma de ElGamal Mateico

12 Seguridad en Sistemas: Autentificación y Seguridad en SW 12 1991:National Institute of Standards and Technology (NIST) propone el DSA, Digital Signature Algorithm, una variante de los algoritmos de ElGamal y Schnoor. 1994:Se establece como estándar el DSA y se conoce como DSS, Digital Signature Standard. 1996:La administración de los Estados Unidos permite la exportación de Clipper 3.11 en donde viene inmerso el DSS, que usa una función hash de tipo SHS, Secure Hash Standard. El peor inconveniente de la firma propuesta por ElGamal es que duplica el tamaño del mensaje M al enviar un par (r, s) en Z p y  (p). No obstante, se solucionará con el algoritmo denominado DSS. Estándares de firma digital

13 Seguridad en Sistemas: Autentificación y Seguridad en SW 13 Parámetros públicos de la firma: Un número primo grande p (512 bits) Un número primo q (160 bits) divisor de p-1 Un generador  “de orden q” del grupo p Generador de orden q es aquella raíz  en el cuerpo Z p de forma que q es el entero más pequeño que verifica:  q mod p = 1 En este caso se cumple para todo t que:  t =  t (mod q) mod p Digital Signature Standard DSS ¿y eso qué es?

14 Seguridad en Sistemas: Autentificación y Seguridad en SW 14 Claves públicas de A: primos p, q y el generador  Clave secreta de la firma:a(1 < a < q) aleatorio Clave pública de la firma:y =  a mod p Para firmar un mensaje 1 < M < p, el firmante elige un valor aleatorio 1 < h < q y calcula: r = (  h mod p) mod q s = [(M + a  r)  inv (h,q)] mod q La firma digital de M será el par (r, s) GENERACIÓN DE LA FIRMA POR PARTE DE A Generación de firma DSS de A  B

15 Seguridad en Sistemas: Autentificación y Seguridad en SW 15 B recibe el par (r, s) Luego calcula: w = inv (s, q) u = M  w mod q v = r  w mod q Comprueba que se cumple la relación: r = (  u y v mod p) mod q Si se cumple, se acepta la firma como válida. COMPROBACIÓN DE LA FIRMA DE A POR B La firma tendrá en este caso un tamaño menor que q, es decir, menos bits que los del módulo de firma p ya que se elige por diseño p >> q Comprobación de firma DSS por B

16 Seguridad en Sistemas: Autentificación y Seguridad en SW 16 LaSole Mateico Hola LaSole, soy Mateico y firmo con DSS. Sea H(M) = 1101000 = 104 (un elemento de p B ) Claves Mateico p B = 223 q B = 37  = 17 y =  b mod p = 30 b = 25, h = 12 2 8  p B = 223  2 7 Luego firmará bloques de 7 bits Firma 1) inv (h,q) = inv (12, 37) = 34 2) r = (  h mod p) mod q = (17 12 mod 223) mod 37 = 171 mod 37 = 23 3) s = [H(M)+b  r]  [inv (h,q)] mod q = [104+25  23]  34 mod 37 = 35 4) La firma digital de H(M) = 104 será: (r, s) = (23, 35) 5) Mateico transmite a LaSole el bloque (M, r, s) = (M, 23, 35) Ejemplo de firma DSS de B  A

17 Seguridad en Sistemas: Autentificación y Seguridad en SW 17 LaSoleMateico Comprobación de firma 1) w = inv (s, q) = inv (35, 37) = 18 2) u = M  w mod q = 104  18 mod 37 = 22 3) v = r  w mod q = 23  18 mod 37 = 7 4) ¿(  u y v mod p) mod q = r ? 5) [(17 22 30 7 ) mod 223] mod 37 = 23 Se acepta la firma Y el tamaño será menor que q B = 37 es decir << P B = 223 que era el punto débil de ElGamal Comprobación de firma DSS por A Claves Mateico p B = 223 q B = 37  = 17 y =  b mod p = 30 b = 25, h = 12 LaSole recibe: (M, r, s) = (M, 23, 35) ¿igualdad?

18 Seguridad en Sistemas: Autentificación y Seguridad en SW 18

19 Seguridad en Sistemas: Autentificación y Seguridad en SW 19 Protección de Programas La Protección del Software es Fundamental Fundamental en Seguridad en Sistemas. Los problemas en el software van desde errores de programación hasta código escrito intencionalmente para causar daños. Todos pueden traer malas consecuencias.

20 Seguridad en Sistemas: Autentificación y Seguridad en SW 20 Seguridad en el Mundo Real Presencia en Internet. Uso de SW. Estabilidad en clientes y servers. Qué se busca? El SW tiene errores. Amenazas desde Internet. Hay código que atraviesa firewalls. Problemas

21 Seguridad en Sistemas: Autentificación y Seguridad en SW 21 Podemos evitar todos los problemas? NO Es imposible poder asegurar que todo programa (sin pensar todavía en código malicioso) se va a comportar exactamente según su diseño (ni +, ni -). Las técnicas de ingeniería de SW evolucionan mucho más rápido que las de técnicas de seguridad. Los expertos en seguridad todavía estan asegurando software de ayer.

22 Seguridad en Sistemas: Autentificación y Seguridad en SW 22 Paranoic Flag Por qué preocuparse? El código malicioso puede comportarse de forma inesperada. Puede ser un programa o parte de él. Un programa tiene millones de bytes… qué sorpresa nos depara el destino cuando ejecutamos INSTALL?

23 Seguridad en Sistemas: Autentificación y Seguridad en SW 23 Código Malicioso Puede hacer cualquier cosa: es SW. Puede estar “dormido” hasta que se de algo. Corre con la autoridad del usuario. Puede causar (mucho) daño Cohen 84. Hay referencias anteriores… Anderson 72. Hace tiempo que está entre nosotros

24 Seguridad en Sistemas: Autentificación y Seguridad en SW 24 Tipos de Código Malicioso Código Malicioso o Rogue Program se denomina en general a programas que intencionalmente causan daño. Errores de programación no entran entonces en esta categoría. Virus: es un programa que “contagia” código malicioso a programas no infectados previamente. La infección se propaga geométricamente por el sistema actual y por otros sistemas conectados. Suena a Sci-Fi pero es real. Caballo de Troya: código malicioso que además de su efecto primario, tiene un segundo efecto: sorpresita. Ej: login script.

25 Seguridad en Sistemas: Autentificación y Seguridad en SW 25 Tipos de Código Malicioso Bomba Lógica: este código malicioso “detona” cuando se da cierta condición. Caso especial: Bomba de Tiempo. Trapdoor o Backdoor: feature especial “escondida” en un programa, generalmente brinda algún privilegio especial. Puede ser intencional, para mantenimiento o para “borrar” registros (acción criminal). Worm: es un programa que se disemina a través de una red. Pregunta: cuáles son las diferencias entre worm y virus? Conejo: es un virus o worm que se duplica sin control. Su intención es la de agotar recursos computacionales.

26 Seguridad en Sistemas: Autentificación y Seguridad en SW 26 Tipos de Código Malicioso Los tipos definidos anteriormente son similares pero no iguales!!!! En general para la prensa son todos virus… Dada la popularidad de los virus nos enfocaremos principalmente en ellos en la clase de hoy.

27 Seguridad en Sistemas: Autentificación y Seguridad en SW 27 Virus Una copia impresa de un virus NO HACE NADA!!!! Para que se disemine necesita ser ejecutado. Ayudenme a diseminar este concepto!!!!! Append. Surround. Reemplazo. Como se anexan a un archivo?

28 Seguridad en Sistemas: Autentificación y Seguridad en SW 28 Virus El virus (V) tiene que ser invocado en vez de el target (T). El virus puede asumir el nombre de T reemplazando el código de T o cambiando links en la file table. Como gana control un virus?

29 Seguridad en Sistemas: Autentificación y Seguridad en SW 29 Características de un “buen” virus Difícil de detectar. Difícil de destruir/desactivar. Que se disemine mundialmente. Fácil de crear. Independiente de la arquitectura/S.O. Según los objetivos buscados será la ubicación del virus.

30 Seguridad en Sistemas: Autentificación y Seguridad en SW 30 Virus: Ubicación Boot Sector. virus residentes. Programas de aplicación. Macros… Librerías. Buena diseminación. Otros buenos “hogares”: compiladores, loaders, linkers, monitores (t.e.), debuggers (t.e.).

31 Seguridad en Sistemas: Autentificación y Seguridad en SW 31 Virus: Firmas Un virus no puede ser completamente invisible. Se almacena en algún lado, se ejecuta de alguna forma, se disemina de cierto modo: Firma. Gracias a esta firma funcionan los Anti-Virus. Patrones Patrones de Almacenamiento. Patrones de Ejecución. Tabla 5.2 (187), Pfleeger. Si el virus tiene control de la máquina puede “mostrar” lo que el usuario quiere ver.

32 Seguridad en Sistemas: Autentificación y Seguridad en SW 32 Virus: Firmas Patrones (Sigue) Patrones de Transmisión. virus Polimórficos. Ver algunos ejemplos en pizarrón.

33 Seguridad en Sistemas: Autentificación y Seguridad en SW 33 Prevención Uso de software legal. Testear todo software nuevo en una máquina aislada. Diskette booteable. Backup de archivos de sistema. Virus scanners frecuentemente actualizados. Cuidado con los e-mails/www!!!!

34 Seguridad en Sistemas: Autentificación y Seguridad en SW 34 Verdades/Creencias acerca de virus Afectan solamente sistemas PC’s/Windows. Protección de archivos mediante sus “permisos”. Infecciones en archivos de “datos”. Diseminación por diskette. No pueden permanecer en memoria después de un reboot. No pueden infectar hardware. virus “benignos”.

35 Seguridad en Sistemas: Autentificación y Seguridad en SW 35 Ejemplos de virus Brain. Página 191, Pfleeger. Miles de páginas web. La mayoría de los programas Anti-Virus tienen información de virus en sus páginas. Buscadores WWW: www.google.com, etc.www.google.com

36 Seguridad en Sistemas: Autentificación y Seguridad en SW 36 Código Malicioso con Destino Hasta ahora solo vimos código anónimo que afecta sistemas indiscriminadamente. Este no siempre es el caso. Puede afectar: Ciertos sistemas. Ciertas aplicaciones. Cierta persona. Propósito particular. etc.

37 Seguridad en Sistemas: Autentificación y Seguridad en SW 37 Código Malicioso con Destino Trapdoors. Se puede solucionar el problema? Es decidible? Salami Attack Trocitos de ingredientes que se “agrupan” para hacer un salamín. Ej: sistema de bancos. Redondeos, truncados… Puede detenerse este tipo de ataques?

38 Seguridad en Sistemas: Autentificación y Seguridad en SW 38 Código Malicioso con Destino Covert Channels. Son programas que “pasan” información sin que el usuario sea conciente de esto a personas que no deberían recibirla. Más detalles en la sección 5.2 de Pfleeger.

39 Seguridad en Sistemas: Autentificación y Seguridad en SW 39 Controles contra Amenazas de SW Hasta ahora vimos que muchas son las amenazas y problemas que puede causar el SW. Veremos aquí brevemente que se puede hacer al respecto. Controles de Programación Buenas “técnicas” de diseño y programación. Ingeniería del Software (out of the scope). Revisión de Pares. Modularidad, encapsulamiento y ocultamiento de la información. Pruebas de correctitud.

40 Seguridad en Sistemas: Autentificación y Seguridad en SW 40 Controles contra Amenazas de SW Controles del S.O. sobre el uso de programas Dado que no todos los programas siguen los lineamientos anteriores es útil la ayuda que pueda brindarnos el S.O. Aquí veremos solo algunas nociones. Código Confiable Código rigurosamente desarrollado y analizado (correctitud, integridad, privilegio limitado, nivel de seguridad apropiado). Próxima Clase

41 Seguridad en Sistemas: Autentificación y Seguridad en SW 41 Controles contra Amenazas de SW Controles del S.O. sobre el uso de programas (Sigue) Sospecha Mútua UsuarioPrograma Confinamiento Logs de Acceso


Descargar ppt "Seguridad en Sistemas: Autentificación y Seguridad en SW 2 Autentificación con sistemas asimétricos Problema: Los sistemas de cifrado asimétricos son."

Presentaciones similares


Anuncios Google