Descargar

Confidencialidad, autenticación, integridad y no repudio. Claves de la seguridad (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

13 Cifrado DES (Data Encryption Standar) Fue desarrollado por IBM a principios de los 70. Actualmente estandar X.9.17 de ANSI DES se diseñó de forma que, fuera resistente a criptoanálisis y además sencillo para poder ser implementado en un circuito electrónico con la tecnología de los 70. Por tanto, DES puede ser descifrado probando todas las claves posibles con el hardware adecuado, método conocido como “ataque de fuerza bruta”. En DES el texto normal se cifra en bloques de 64 bits (8 bytes), produciendo 64 bits de texto cifrado. El algoritmo tiene 19 etapas diferentes y se parametriza con una clave de 56 bits. El descifrado se realiza con la misma clave que el cifrado, ejecutando los pasos en orden inverso.

edu.red

14 Descifrado del DES y doble DES Dado un trozo pequeño de texto normal y el texto cifrado correspondiente, se puede encontrar en unas horas con el hardware del DES, la clave mediante una búsqueda exhaustiva del espacio de claves de 256. DES no es seguro Doble DES: Surge la idea de ejecutar el DES 2 veces, con 2 claves de 56 bits distintas. Esto proporciona un espacio de claves de 2112. Sin embargo se ha desarrollado un método de ataque llamado “encuentro a la mitad” que lo hace también vulnerable con 257 operaciones Triple DES:…

edu.red

15 Triple DES (ANSI X.9.52) Se utilizan 2 claves (K1 y K2) y 3 etapas: 1.- el texto normal se cifra con K1 2.- DES se ejecuta en modo de descifrado, usando K2 3.- se hace otro cifrado usando K1 Cometarios: En 3DES se usan sólo 2 claves ya que 112 bits de clave son suficientes para las aplicaciones comerciales. El modo EDE (cifrado-descifrado-cifrado) y EEE (cifrado-cifrado-cifrado) tienen prestaciones similares, sin embargo EDE tiene una ventaja, que si K1 = K2, con el mismo hardware implementamos DES simple. La solución EEE es mucho más segura con clave de 168 bits.

edu.red

16 Cifrado IDEA (International Data Encryption Algorithm) Después de comprobar la debilidad del algoritmo DES en su forma simple, diversos trabajos propusieron nuevos métodos, de los cuales el más interesante e importante es el algoritmo IDEA. IDEA es un algoritmo de clave privada que usa una clave de 128 bits, lo que lo hará inmune durante décadas a los ataques de la fuerza bruta. No hay ninguna técnica o máquina conocida actualmente que se crea que puede descifrar el algoritmo IDEA. La estructura básica de IDEA se asemeja a DES en cuanto a que se alteran bloques de entrada de texto normal de 64 bits en una secuencia de iteraciones parametrizadas.

edu.red

17 Advanced Encryption Standard (AES) o Rijndael Sucesor del DES y 3DES, adoptado por estandar en el NIST (National Institute for Standars and Technology) –EEUU- en octubre del 2000. Es un algoritmo resultado de una competición pública, donde los vencedores fueron los belgas Joan Daemen y Vincent Rijmen, de ahí su nombre de Rijndael Consiste en cifrado por bloques de 128 bits y claves variables, con longitudes entre 128 y 256 bits

edu.red

18 Otros cifrados simétrico y comentarios: bloque y flujo Otros cifrados de bloque son RC5 (claves de hasta 2048 bits), Blowfish (claves de hasta 448 bits), … todos ellos con bloques de 64 bits. En general, estos métodos basados en bloques, también se llaman ECB (Electronic Code Book) y son muy rápidos. Otro inconveniente que aparece, es que DES procesa a bloques fijos de 64 bits (8 bytes), lo cual con un intruso avispado, podría hacer movimiento de bloques dentro del mismo cifrado, sin levantar alarma. Este problema se puede resolver con diferentes métodos: basados en flujo, que operan por bloques, pero convolucionando (por ejemplo con una XOR) la salida actual con salidas anteriores o con la entrada. Ejemplos: RC2, RC4 y CAST. Estos métodos también se llaman CBC (Cipher Block Chain) con rellenos variables por bloque, por ejemplo insertando 0s e indicando la cantidad de rellenos

edu.red

19 Métodos simétricos basados en flujo (Gp:) Método en bloques (Gp:) XOR

Los métodos basados en flujo utilizan funciones XOR con métodos basados en bloques. Para descifrar utilizamos un sistema simétrico. o(n) i(n)

edu.red

20 Cifrados de clave pública Históricamente, el problema de distribución de claves siempre ha sido la parte débil de la mayoría de criptosistemas. Si un intruso puede robar la clave, el sistema no vale nada. En 1976, en la Universidad de Stanford (EEUU) se propuso un nuevo criptosistema, en el que las claves de cifrado y descrifrado eran diferentes y la clave de descifrado no podía derivarse de la clave de cifrado. En dicha propuesta, el algoritmo de cifrado E() (parametrizado con una clave) y el algoritmo de descifrado D() (con otra clave), tienen que cumplir las propiedades: 1.  D(E(P))=P 2.  Es excesivamente difícil deducir D() de E() o viceversa 3.  E() no puede descifrarse

edu.red

21 Algoritmo de cifrado de clave pública El algoritmo de cifrado E(), descifrado D() y la clave de cifrado, se hacen públicos (de ahí el nombre de criptografía de clave pública), pero se mantiene secreta la clave de descifrado. EA es clave pública y DA es clave secreta. Escenario de aplicación entre persona A y B: A y B nunca han tenido contacto previo. Se supone que tanto la clave de cifrado de A, EA, como la clave de cifrado de B, EB, es información pública. Pasos a seguir: 1.- A toma su primer mensaje P, calcula EB(P) y lo envía a B 2.- B entonces lo descifra aplicando su clave secreta DB, es decir, calcula DB(EB(P))=P 3.- Nadie más que B, puede descifrar el mensaje EB(P), porque se supone que el sistema de cifrado es robusto y porque es demasiado difícil derivar DB de la EB públicamente conocida 4.- B procede igual que A. Ahora A y B pueden comunicarse con seguridad.

edu.red

22 Escenario con clave pública P=soy A y quiero hablar con B, usando clave sesión K Usuario A Usuario B (Gp:) B, ¿cuál es tu clave pública?

(Gp:) E B()

(Gp:) E B(P)

DB(E B(P))=P P’=ok A! soy B, o con clave sesión K (Gp:) A, ¿cuál es tu clave pública?

(Gp:) E A()

(Gp:) E A(P’)

DA(E A(P’))=P’ ESTABLECIDA LA SESION!!! Clave simétrica de sesión k

edu.red

Seguridad: Validación SubAutenticación

edu.red

24 Validación de identificación en redes La validación de identificación, o también llamada autenticación (que no autentificación, que es ver si algo es auténtico), es la técnica mediante la cual un proceso comprueba que su compañero de comunicación es quien se supone que es y no un impostor. La verificación de la identidad de un proceso remoto con un intruso activo malicioso, es sorprendentemente difícil y requiere protocolos de validación complejos basados en criptografía como vamos a ver. La validación es el paso previo al establecimiento de una conexión entre dos entidades, para pactar una clave de sesión.

edu.red

25 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. A B C

edu.red

26 Métodos de autenticación (identificación) 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 Una vez completado el protocolo, ambos A y B están seguro que está hablando entre ellos. Durante el protocolo podrían haber intercambiado una clave de sesión.

edu.red

27 Modelos de validación basados en métodos distribuidos Estos modelos se clasifican en: clave secreta (privada o simétrica) con métodos Basados en protocolos con clave simétrica compartida, Diffie Hellman (no permite autenticación), etc Basado en servidores con registro de todos los usuarios. Ejemplo TACACS+ y Radius Basados en NIS, NIS+ (Network Information Service) Basados en centros de distribución de claves basados en criptografía, Kerberos clave pública (asimétrica) con métodos que veremos más en detalle en la siguiente parte X.500, LDAP (Lighweight Directory Access Protocol) Certificados

edu.red

28 Validación de identificación de clave secreta Los modelos anteriores hacen uso parcial o total de los siguientes métodos Métodos: Validación de identificación basada en clave secreta compartida. Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman (no permite autenticación) Validación de identificación usando un centro de distribución de claves (KDC). Protocolo de autenticación Kerberos.

edu.red

29 Validación de identificación basada en clave secreta compartida 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, que entonces lo transforma de una manera especial y devuelve el resultado. Notación a utilizar: 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.

edu.red

30 Validación de identificación basada en clave secreta compartida: protocolo Ri son números aleatorios grandes lanzados desde cada extremo como reto. El paso 4 y 5 es para que A se asegure que le contesta B. Tras esta identificación, A puede indicar una Ks para la sesión. Este protocolo funciona, pero se puede simplificar el número de mensajes. DESTACAR, que con el mensaje 2 y 3 se podría tratar de explotar por fuerza bruta la clave. ¿ERES A? ¿ERES B?

edu.red

31 Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman (1976) Hasta ahora hemos supuesto que A y B comparten una clave secreta. Pero puede no ser así, sin embargo, y afortunadamente, existe una manera de que completos desconocidos establezcan una clave secreta a plena luz del día, aún con C registrando cuidadosamente cada mensaje. El protocolo que permite que dos extraños establezcan una clave secreta compartida se llama intercambio de claves Diffie-Hellman, y funciona como sigue: “A y B tiene que acordar dos números primos grandes, n y g, que deben cumplir ciertas condiciones [ver RFC 2631]. Esto números pueden ser públicos, por lo que cualquiera de ellos puede escoger n y g y decírselo al otro abiertamente. Ahora, A escoge un número grande x, y lo mantiene en secreto, de la misma manera, B escoge un número secreto grande y”.

Este algoritmo se puede considerar también como de clave pública, pero no permite autenticación. Nota:RSA se basó en este algoritmo

edu.red

32 Establecimiento de una clave compartida: intercambio de claves 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. Ahora A toma gy mod n y lo eleva a la potencia x para obtener (gy mod n)x que por las leyes de la aritmética modular es gxy mod n. B procede igual. Ahora A y B comparten una clave secreta: gxy mod n. Intrusos: C conoce n y g, pero le falta x e y. Además, de (gx mod n) no se conoce un algoritmo práctico para calcular logaritmos discretos módulo de un número primo muy grande.

edu.red

33 Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman: ataque de brigada de cubetas o ataque de alguien en medio Ataque: Cuando B recibe la tripleta (n, g, gx mod n), no sabe si es A o C quien se la ha enviado. No hay manera de saberlo. Ahora todos hacen la aritmética modular: A calcula gxz mod n, B calcula gyz mod n y C calcula las claves tanto para A como B Cada mensaje que A y/o B envía durante la sesión cifrada es capturado por C, almacenado, modificado y pasado (opcionalmente) a B y/o A. C ve todo y puede modificar los mensajes, mientras A y B están pensando equivocadamente que tienen un canal seguro entre ambos. MEJORA: utilizar un KDC, centro de distribución de claves.

edu.red

34 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. 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. 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 de Valencia.

Ejemplo. Ambos junto Kerberos, son servidores utilizados para dar soporte a los servicios AAA de los routers de Cisco Systems: Authetication (quién), Authorization (qué), Accounting (auditoria))

edu.red

35 Protocolos para AAA Access Control Server (ACS): Tacacs+, Radius, Kerberos V

edu.red

36 Validación de identificación usando un centro de distribución de claves (KDC) En Diffie-Hellman no hay garantías por el ataque de alguien en medio, efectuado 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. Un enfoque diferente es introducir un centro de distribución de claves fiables (KDC), donde cada usuario tiene una sola clave compartida con el KDC, de forma que la validación de identificación y la administración de claves de sesión ahora pasan a través del KDC.

edu.red

37 Validación de identificación usando un centro de distribución de claves (KDC) 1.- A escoge una clave de sesión, KS e indica al KDC que desea hablar con B usando KS. Este mensaje se cifra con la clave secreta que comparte A sólo con el KDC, KA. 2.- KDC descifra este mensaje, extrayendo la identidad de B y la clave de sesión. Construye un mensaje nuevo cifrado con KB (compartido entre KDC y B) que contiene la identidad de A y la clave de sesión y se lo envía a B. Ahora, A y B pueden hablar y saben además la clave a utilizar. La validación de identificación aquí es gratuita, en el sentido que las claves con el KDC son secretas y nadie más habría sido capaz de cifrarlo con la clave secreta de otro. A diferencia de Diffie Hellman, aquí si existe autenticación por ambas partes.

edu.red

38 Perro de tres cabezas y cola de serpiente según mitología griega, guardián de la entrada del Templo de Hades (Infierno). Autenticación con Kerberos Servicio de autenticación desarrollado en el Massachusetts Institute of Technology (MIT)

edu.red

39 Protocolo de autentificación Kerberos Kerberos es un KDC diseñado por el MIT (Massachusetts Institute of Technology) para autentificar la identidad 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 un solo uso (OTP, One Time Password). Kerberos actúa como un árbitro en quien los usuarios confían, utilizando 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. 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.

edu.red

40 Protocolo de autentificación Kerberos: protocolo (1/2) A y B no comparten ninguna clave secreta, excepto con el servidor de claves Kerberos Ka y Kb. [A y B pueden ser usuarios, usuario-servicio,…] 1.- A solicita a Kerberos una credencial para conectarse con B y una clave de sesión, a través de un mensaje con un valor aleatorio RA y los identificadores en la red de comunicación de A y B. 2.- Kerberos genera una clave de sesión aleatoria K y define el período de validez L de la credencial, cifrando a continuación los valores K, L, RA y B con la clave secreta Ka, junto con la credencial para B, cifrando K, L y A con la clave secreta Kb

edu.red

41 Protocolo de autentificación Kerberos: protocolo (2/2) A recupera K, L, RA y B para el que fue emitida la credencial. A verifica que el valor aleatorio RA corresponde con el que él previamente envió y guarda L como referencia. A continuación, A calcula el autentificador para la credencial con B, cifrando su identidad A y su sello temporal Ta para sincronización, con la clave de sesión K 3.- B descifra la credencial con su clave secreta Kb, recuperando de esta forma K, L y la identidad A y con ello utiliza K para descifrar el autentificador y recuperar los valores identidad de A y Ta, comprobando que las identidades de la credencial y el autentificador coinciden, y que el sello Ta es válido y se encuentra en los límites de L. 4- Si las comprobaciones son satisfactorias, B se convence de la autenticidad de la identidad de A, y en tal caso, B envía a A la conformidad con K(Ta+1) Por su parte A descifra la conformidad con la clave de sesión K y verifica que el valor recuperado es Ta+1, lo cual asegura a A que la clave de sesión K ha sido correctamente recibida por el usuario B.

edu.red

42 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, ya que típicamente es de 100 a 1000 veces más rápida que la criptografía de clave pública. El propósito de este intercambio inicial entonces es validar la identificación de ambos utilizando sus claves públicas recíprocamente para comunicarse y utilizando las claves privadas para descifrar y tras ello acordar una clave de sesión secreta compartida con el siguiente protocolo: Vemos que el 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

edu.red

43 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. 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. 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. 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. De ahí la aparición de certificados digitales gestionados por una autoridad de certificación, como veremos en la siguiente parte.  

edu.red

Seguridad: Integridad SubAutentificación

edu.red

45 El control de integridad (1/2) Los esquemas de validación de integridad, se basan en la idea de una función de dispersión unidireccional (o hash) que toma una parte arbitrariamente grande de texto común y a partir de ella calcula una cadena de bits de longitud fija. La función de dispersión, llamada compendio de mensaje (message digest), tiene tres propiedades importantes: 1.-dado un texto P, es fácil calcular su compendio de mensaje MD(P) 2.-dado un compendio de mensaje MD(P), es computacionalmente imposible encontrar P, es decir no tiene inversa 3.-nadie puede generar dos mensajes que tengan el mismo compendio de mensaje, a no ser que sean el mismo mensaje. Esto requiere compendios de 128 bits de longitud mínimo.

edu.red

46 El control de integridad (2/2) El compendio de un mensaje se conoce como huella digital.

Los compendios de mensaje funcionan tanto en clave privada como en clave pública, siendo los de mayor uso el MD5 y el SHA

Ejemplo: Para entender la idea del compendio, podemos relacionarlo con los CRC añadidos en los paquetes, de forma que si un paquete es alterado, el CRC no coincide con lo cual cabe pensar que se ha dañado o ha sido manipulado.

edu.red

47 MD5: Message Digest 5 El MD5 es la quinta de una serie de funciones de dispersión diseñadas por Ron Rivest (el del algoritmo RSA) en el año 1992. [RFC1321] que genera compendios de 128 bits. Las anteriores versiones MD2[RFC1319], MD4[RFC1186 y 1320] son más lentas. Opera alterando los bits de una manera tan complicada que cada bit de salida es afectado por cada bit de entrada.

edu.red

48 SHA: Secure Hash Algoritm El SHA (Secure Hash Algoritm), fue desarrollado por la NSA (National Security Agency) junto con NIST (National Institut of Standards and Technology) y procesa los datos de entrada en bloques de 512 bits, pero a diferencia del MD5 genera un compendio de mensaje de 160 bits (20 bytes).

edu.red

Seguridad: No repudio SubFirmas y certificados

edu.red

50 Firma digital La validación de identificación y autenticidad de muchos documentos legales, financieros y de otros tipos se determina por la presencia o ausencia o bien de una firma manuscrita autorizada o bien de una firma digital. La firma digital permite que una parte pueda enviar un mensaje “firmado” a otra parte, con las propiedades de autentificación (íntegro, auténtico) y no repudio.

POR TANTO, LA CLAVE DE LA FIRMA DIGITAL ESTRIBA EN PEDIR OBLIGATORIAMENTE UN ACUSE DE RECIBO

edu.red

51 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 con el acuse de recibo. c) Será única, sólo posible de generar por su propietario. d) Será fácil de autenticar o reconocer por su propietario y los usuarios receptores. e) Debe depender del mensaje (por compendio) y del autor (por certificado).

edu.red

52 Firma digital: clasificación Al igual que la criptografía, las firmas digitales se dividen en dos grandes grupos:

firmas de clave secreta o simétrica firmas de clave pública o asimétrica

edu.red

53 Firma digital: con clave secreta Un enfoque de las firmas digitales sería tener una autoridad central X que sepa todo y en quien todos confíen. Cada usuario escoge una clave secreta y la lleva personalmente a la autoridad central X. Por tanto, sólo el usuario y X conocen la clave secreta del usuario. En el caso del usuario A, sería la clave secreta KA

Ejemplo: el algoritmo HMAC (Hash Message Authentication Code) que consiste en añadir al final del mensaje, el compendio o resumen de éste, pero cifrado con una clave que identifica al usuario.

edu.red

54 Hash Message Authentication Method (HMAC) Mensaje recibido Función Hash (Gp:) 4ehIDx67NMop9

Pay to Terry Smith $100.00

One Hundred and xx/100 Dollars (Gp:) Pay to Terry Smith $100.00

One Hundred and xx/100 Dollars

4ehIDx67NMop9 Mensaje + Hash Clave simétrica compartida

Mensaje a mandar Clave simétrica compartida Función Hash (Gp:) 4ehIDx67NMop9

Pay to Terry Smith $100.00

One Hundred and xx/100 Dollars Local Remoto (Gp:) 1

(Gp:) 2

edu.red

55 Firma digital: con clave secreta y un árbitro 1.- Cuando A quiere enviar un mensaje de texto normal P firmado a B, genera KA(B,RA,t,P) y lo envía a X, donde t es una marca de tiempo y RA es un identificador para mensaje único. 2.- X ve que el mensaje es de A, lo descifra y envía un mensaje a B que contiene el texto normal del mensaje de A y también el mensaje firmado KX(A,t,P). Si A niega el envío del mensaje a B: B puede afirmar que el mensaje vino de A y no de un tercero C, pues X no hubiera aceptado un mensaje de A a menos que estuviese cifrado con KA, por lo que no hay posibilidad de que C enviará a X un mensaje falso en nombre de A. B además presenta la prueba KX(A,t,P), que a su vez X (en quien todo el mundo confía) la puede descifrar y testificar que B dice la verdad.

edu.red

56 Firma digital: con clave pública (1/3) Supongamos los algoritmos públicos tal que E(D(P))=P y D(E(P))=P (el RSA tiene esta propiedad por lo que el supuesto es razonable). A puede enviar un mensaje de texto normal firmado, P, a B transmitiendo EB(DA(P)), donde: -DA()es la función de descifrado (privada) de A -EB() es la función pública de B Y por tanto B, puede realizar el proceso inverso EA(DB (EB(DA(P)) -DB() es la función privada de B -EA() es la función pública de A

edu.red

57 P=soy A el firmante, 17.00h 23/6/2004 Calculo DA(P) Usuario A Usuario B (Gp:) B, ¿cuál es tu clave pública?

(Gp:) E B()

(Gp:) EB(DA(P))

Calculo EA(DB(EB(DA(P))))=P t (Gp:) A, ¿cuál es tu clave pública?

(Gp:) E A()

Todo correcto! Está firmado por A Firma digital: con clave pública (2/3) Comprobemos la firma

edu.red

58 Firma digital: con clave pública (3/3) Supongamos A niega haber enviado el mensaje P a B. Entonces B puede presentar tanto P como DA(P), que es un mensaje válido cifrado por DA() con sólo aplicarle EA(). Dado que B no conoce la clave privada de A, la única forma en que B pudo haber adquirido el mensaje cifrado sería que A en efecto lo hubiera enviado. Pero esto siempre y cuando DA permanezca en secreto. Si A divulga su clave secreta, el argumento ya no se mantiene. Además, A puede decidir cambiar su clave, en consecuencia, parece que sí que se requiere alguna autoridad para registrar todos los cambios de clave y sus fechas.

edu.red

59 Ejemplo de integridad y validación: uso de rpm de LINUX Para comprobar la firma digital la aplicación rpm de instalación de paquetes en algunas distribuciones de Linux posee la opción “checksig”: “rpm –checksig X.i386.rpm” siendo X.i386.rpm el paquete a instalar. Esta opción en rpm permite comprobar la integridad del paquete y el origen. La integridad se comprueba con la firma basada con md5. La comprobación del origen (validación) se realiza con la clave pública de GNU (si se dispone). Si no disponemos de dicha firma, la comprobación de origen no puede realizarse y con ello, la GPG (Gnu Privacy Guard) no podrá efectuarse. EGNU(DGNU(compendio-rpm))=compendio-rpm Mirar man rpm

edu.red

60 ¿Qué es un Certificado? Un archivo, firmado con la clave privada de CA con la identidad, la clave pública del dicha identidad, atributos varios y compendio de dicha información:

DCA(identidad, clave, atributos, compendio{identidad, clave, atributos})

edu.red

61 Definiciones: Certificado digital (1/2) El certificado digital es un vínculo entre una clave pública y una identidad de usuario, que se consigue mediante una firma digital por una tercera parte o autoridad de certificación que hace pública su clave pública en la que TODOS confían. Por tanto, el certificado se considera como un objeto firmado con la clave privada de la autoridad de cerificación, e incluyendo: identidad del usuario, clave, periodo de validez, identidad emisor, … La autoridad de certificación (CA: Certificacion Authority o Autoridad de Certificación) es una entidad de confianza que es reconocida y aceptada por todos, imposible de suplantar. Por regla general, por seguridad no se trabaja directamente con la autoridad de certificación, si no con un intermediario o autoridad de registro. La Fábrica Nacional de Moneda y Timbre (FNMT) es una CA.

edu.red

62 Definiciones: Certificado digital (2/2) El certificado raíz es un certificado emitido de la CA para sí misma con su clave pública, para comprobar certificados emitidos por ella. Se suele instalar previamente dicho certificado en el navegador para poder utilizar los certificados de dicha CA. Los navegadores llevan por defecto muchos de ellos. La autoridad de registro que identifica de forma inequívoca al solicitante de un certificado y suministra a la CA los datos verificados para que pueda emitirlo. Lista de certificados revocados (o CRL Certificate Revocation List) es una lista donde se recogen todos los certificados de la CA dados de baja por caducidad aun estando temporalmente vigentes por problemas varios (como que se haya hecho pública la clave privada de un usuario) y por tanto cualquier firma emitida con posterioridad a la revocación no tiene validez. Este documento también es firmado por la propia CA.

edu.red

63 Ejemplo de certificados raíz en un navegador

edu.red

64 Certificados X509v3 (1/2) X.509 es el protocolo que se utiliza para certificar las claves públicas, con lo que los usuarios pueden intercambiar datos de manera segura. Definido por ISO pero aceptado por el IETF en RFC 3280. X.509 está basado en criptografía asimétrica y firma digital Se emplea para autentificar la información en redes externas y en redes internas y en el correo electrónico. La autenticación se realiza mediante el uso de certificados.

Un certificado contiene: el nombre de la CA, el nombre del usuario, la clave pública del usuario y cualquier otra información como puede ser el tiempo de validez El certificado se cifra con la clave privada de la CA. Todos los usuarios poseen la clave pública del CA.

edu.red

65 Certificados X509v3 (2/2) Los campos del X.509 escritos en ASN1 son: Versión: La del protocolo X.509 (actualmente versión 3) Número de serie: Es un número asignado por el CA y que identifica de manera única el certificado. Algoritmo de la firma del certificado: Identifica el algoritmo utilizado para firmar el certificado. Autoridad de certificación (CA): Es el nombre de la CA en formato X.500 Fecha de inicio y final: tiempo de validez Usuario: Es el nombre del usuario. Clave pública: Es la clave del usuario. Identificador único del CA: Es el número que identifica a la CA. Es único en el mundo. Identificador único del usuario: Es el número que identifica al usuario para todos sus certificados. Extensiones: Si hay extensiones de la información Firma de la CA: Firma todos los campos anteriores empleando, para ello un compendio del certificado y luego cifrado con su clave privada.

edu.red

66 En muchas ocasiones no se dispone ni de Autoridades de Certificación ni de Registro. Una solución tomada estriba en la confianza de los propios usuarios entre ellos. Por ejemplo, si Juan confía plenamente en Luis y Luis ha aceptado la identificación de Pedro, Juan podría inicialmente aceptar a Pedro, porque Luis es de su confianza.

Comentario: En una red de confianza, una identificación (clave nueva) se considerará válida si viene firmada por suficientes claves válidas. Por ejemplo, PGP en correo seguro lo utiliza. Redes de confianza

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente