Certificación Digital e Infraestructura de Clave Pública

Parte 2

Pedro Castilla del Carpio

Índice
I.
II.

El problema de la seguridad en las comunicaciones electrónicas. [ Riesgos y
necesidades. Autenticidad, privacidad, integridad y “no repudio” ].

Soluciones criptográficas. [Criptografía de clave simétrica. Ventajas y problemas.
Criptografía de clave asimétrica. Modalidad de CCA: criptografía de clave pública. Conceptos matemáticos elementales. Procedimientos para cubrir las necesidades vistas en I. Procedimiento necesario para lograr privacidad e integridad. El método RSA. Ejemplos. El quid del RSA. El RSA no es inquebrantable. Cotejo entre criptografías simétrica y asimétrica. Mecanismo para lograr velocidad en la transmisión ( “sobre digital”). Procedimiento necesario para lograr autenticidad, no repudio e integridad. Firmas digitales. Mecanismo para lograr velocidad en la transmisión (funciones “hash”). Objetivo: las 4 virtudes juntas. Eslabón débil en la criptografía de clave pública. Resumen.]

III.

Infraestructura de Clave Pública. [Concepto de Certificado Digital y de
Entidad o Autoridad de Certificación. Contenido del Certificado Digital. Pasos para su creación. Verificación de su autenticidad. Sistema jerárquico de autoridades de certificación. Certificación cruzada. Condición vigente o revocada del certificado: protocolos LCR, OCSP y SCVP. Certificado de a t r i b u t o s . D o s p a r e s d e c l a ve s . Renovación y archivo de las claves. Protocolos de seguridad en INTERNET. Capa de conexión segura (SSL – TL). S e lla d o de t ie m p o. Co n t ra t a ció n electrónica. Firma Digital “ciega” para retiros bancarios y votación electrónica].

Dilbert (Scott Adams)

IV.

La PKI peruana. [Infraestructura Oficial de Firma Electrónica (IOFE). Esquema. Estándares adoptados].

Concepto de “certificado digital”
Un certificado digital es un archivo electrónico en donde una organización digna de confianza declara que cierta clave (un número) está asignado exclusivamente a cierta persona específica.
Certificado Digital Certificadora Confianza S.A. declara que: La clave: X4 9J 85 58 G9 V7 68 H0 pertenece a Fermat y sólo a él.
Declaración de Confianza S.A.

(La clave privada está alojada en la PC de F. y bajo su control exclusivo) Clave privada de Fermat: 59 J4 P3 41 86 81 M7.

En otras palabras:

La clave pública de Fermat, con la cual se podrá verificar la autoría de los documentos que emita y hacerle responder por ellos, es la siguiente: X4 9J 85 58 G9 V7 68 H0

Generación del certificado digital
1. Euler genera sus dos claves con un programa idóneo 2. Euler envía 3 cosas a una entidad de registro:
clave 2

Entidad de registro ER
Documento 1: Solicitud para obtener un certificado digital Documento 2:

Clave privada: “clave 1”.

Clave pública: “clave 2”. 4. Resultado:
Solicitud para obtener un certificado digital

La misma solicitud, cifrada con la clave 1, y por tanto sólo descifrable con la clave 2.

3. La ER aplica la clave 2 al documento 2 para verificar si fue cifrado con la clave1:

Entidad de certificación EC 5. La ER informa a la Entidad de certificación que la solicitud de Euler es atendible. 6. La EC genera un certificado digital donde da fe que la clave 2 es la clave pública de Euler.

Solicitud cifrada

Al obtener un texto igual al documento 1, la ER verificó que Euler tiene la única clave que hace juego con la clave 2. Por otra parte, la ER también verifica que el recurrente no sea un impostor que se hace pasar por Euler.

Declaración de Confianza S.A.

¿Cómo podemos obligar a la certificadora Confianza S.A. a responder por esta declaración suya?

La clave pública de Fermat, con la cual se podrá verificar la autenticidad y el carácter no repudiable de sus firmas digitales, es la siguiente: X4 9J 85 58 G9 V7 68 H0

¿Cómo podemos eliminar la posibilidad de que más tarde desconozca su declaración?

Declaración de Confianza S.A.

Respuesta: exigiendo que la firme digitalmente:

La clave pública de Fermat, con la cual se podrá verificar la autenticidad y el carácter no repudiable de sus firmas digitales, es la siguiente: X4 9J 85 58 G9 V7 68 H0 Yo, Confianza S.A., lo firmo: 58 9E 59 7B 5S I2 90

Creación de la firma digital de la certificadora en un certificado
Versión Número de serie del certificado Identificador del algoritmo de firma Nombre del emisor Nombre del titular Información de la clave pública del titular Extensiones Firma digital de la entidad de certificación

Se crea un resumen de todos los campos del certificado.

Algoritmo para resumir

Resumen

Clave privada de la entidad de certificación. Algoritmo para obtener firma digital

Firma digital

Esta firma digital de la EC es almacenada como el último campo del certificado digital.

Aquí vemos la firma digital de la certificadora al pie de un certificado (pero esta no es la imagen que aparecerá en la pantalla)
Certificate: Data: Identificación del Version: 1 (0x0) Serial Number: 7829 (0x1e95) proceso matemático que Signature Algorithm: md5WithRSAEncryption El certificado sigue un la certificadora seguirá Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, f o rm a to de nom inado para firmar este OU=Certification Services Division, X.509. Esta es la versión documento. CN=Thawte Server CA/emailAddress=server-certs@thawte.com 1 d e d ich o f o rm a t o . Validity Not Before: Jul 9 16:04:02 1998 GMT Actualmente se maneja Not After : Jul 9 16:04:02 1999 GMT la versión 3. Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www.freesoft.org/emailAddress=baccala@freesoft.org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): Aquí está el nombre del 00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb: titular de este 33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1: ¿Recuerdan cuando certificado: la página 66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66: mencionamos que la web www.freesoft.org 70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17: clave pública consiste en 16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b: c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77: el módulo y el 8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3: exponente? Aquí están. d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8: e8:35:1c:9e:27:52:7e:41:8f Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption Esta es la firma digital de la 93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d: 92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92: certificadora Thawte para este ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67: certificado: primero “resumió” los d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72: campos anteriores con el 0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1: algoritmo MD5, luego encriptó 5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7: (vale decir, siguió el proceso 8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22: 68:9f matemático MD5-RSA) el

(Tomado de la entrada “X.509” de Wikipedia).

resultado con su clave privada.

Paréntesis: ¿Qué sistema numérico se usa en un certificado digital?
Los números decimales se construyen con los dígitos 0 a 9. Los números binarios se construyen con los dígitos 0 y 1. Las computadoras sólo leen números binarios (“bits”). Pero, en esta materia, para que en los certificados digitales la lectura de los datos nos sea más fácil, los bits son representados por números hexadecimales (16), cuyos “dígitos” son estos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Siguiendo esta tabla, cada número o letra de la clave pública detallada en el certificado representa a cuatro bits. Si contamos los números y letras de la clave pública del certificado anterior, tenemos 258. De ellos, 2 son “relleno”(se identifican siguiendo cierto algoritmo). Quedan 256 números y/o letras, los cuales equivalen a 256 x 4 = 1024 bits = longitud de la clave.

Decimal 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 = = = = = = = = = = = = = = = =

Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 = = = = = = = = = = = = = = = =

Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

Contenido del certificado digital
En la presentación del certificado en la pantalla (versión 3 del X.509) la firma de la certificadora NO queda a la vista de los usuarios finales. Los principales campos visibles del certificado son los siguientes:
Algoritmo de Firma.- Indica cuál es el proceso matemático seguido por la certificadora para cifrar este certificado con su clave privada (ver RFC 2459).

Entidad certificadora que lo emite Período de validez

Nombre del titular del certificado (en este caso, una página web)

Vía de acceso a la Lista de Certificados Revocados.
Clave pública del titular

Contenido del certificado digital (continuación)
Este es el mismo certificado anterior, pero hemos corrido el “dial” de la derecha para ver otros campos. Aquí se indica que la clave pública de este certificado se empleará para cifrar otras claves. Vale decir, para aplicar la técnica ya vista del “sobre digital”. Volveremos luego sobre esto, cuando veamos el programa SSL.

“Dial”

Se denomina “huella digital” a lo que antes hemos llamado “resumen del documento”. En este caso puntual, esta “huella digital” es el resumen que resultó de aplicar una función de compresión al contenido del certificado digital.

Verificación de la firma digital de la certificadora en un certificado
Se crea un resumen de todos los campos del certificado. Versión Número de serie del certificado Identificador del algoritmo de firma Nombre del emisor Nombre del asunto Información de la clave pública del asunto Extensiones Firma digital de la entidad de certificación Paso 3 Firma digital Paso 4 Algoritmo para “desfirmar”. Sí No Clave pública de la entidad de certificación. Paso 1 Algoritmo para resumir

Paso 2
Resumen (R1)

Paso 6 ¿Es R2 = R1?

Paso 5
Resumen (R2) El certificado es válido. Aceptado. El certificado es inválido. Rechazado.

Recordemos esta lámina y comparemos con la anterior.
Verificación de la firma. El receptor realiza dos operaciones.
1. Calcula por su cuenta el resumen del documento original
Mensaje Original (M)

2. Partiendo de la firma digital, recupera el resumen presuntamente calculado por Fermat
Firma Digital (FD)

Algoritmo para resumir mensaje (SHA-1).

Desencripta con la clave pública del emisor Fermat

Resumen (R 1)

Resumen (R2)

3. Si R1 y R2 coinciden, Euler tiene garantía de que: 1) En efecto Fermat envió el documento; 2) Fermat nunca podrá negar su “paternidad”, pues el documento sólo pudo ser encriptado con la clave privada de Fermat.

Verificación de la firma de la certificadora en un certificado
Se crea un resumen de todos los campos del certificado. Versión Número de serie del certificado 1. Aquí hay algo en donde Identificador del algoritmo de firma debemos detenernos: Nombre del emisor Nombre del asunto Información de la clave pública del asunto Extensiones Firma digital de la entidad de certificación Paso 3 Firma digital Paso 4 ¿Es R1 = R2? Algoritmo para “desfirmar”. Paso 1 Algoritmo para resumir

Paso 2
Resumen (R1)

Clave pública de la entidad de certificación.

Paso 6

Paso 5
Resumen (R2)

2. ¿Cómo nos consta que, en efecto, esta clave le pertenece a Síla entidad No de certificación? ¿Cómo estar seguros de que no ocurrió “el ataque del hombre intermedio”?

Verificación de la autenticidad de un certificado

Cadena de certificados digitales

Euler. 5 certificados: de Euler y de las certificadoras D, C, B y A. Fermat

El software navegador de Fermat revisa la cadena de certificados, hasta encontrar uno al cual reconozca.

C certifica que la clave pública de D es 199.

B certifica que la clave pública de C es 362.

A certifica que la clave pública de B es 104.

A certifica que la clave pública de A es 681.

D certifica que la clave pública de Euler es 493 1. Fermat usa un navegador que reconoce el certificado raíz de A.

La autenticidad de cada certificado es respaldada por un certificado anterior, cuya autenticidad, a su vez, es respaldada por otro anterior… hasta que llegamos a una organización que auto-genera su propio certificado.

Opciones posibles

2. El certificado de Fermat, o alguno de su propia cadena, fue emitido por alguna de las certificadoras D, C, B, A. 3. Fermat usa un navegador que no reconoce a la certificadora “A”, y además su propia cadena de certificados no tiene ninguna certificadora en común con la de Euler.

El software navegador de Fermat reconocerá la autenticidad del certificado de Euler.

El software navegador de Fermat no reconocerá credibilidad al certificado de Euler.

A modo de ejemplo, veamos el Directorio de “entidades de certificación intermedias” y de “entidades de certificación raíz” que forma parte del software navegador más usado, Internet Explorer.

Supongamos que Fermat está usando Internet Explorer. Cuando él reciba un certificado de Euler que, en última instancia, se sustente en alguna de las entidades registradas en aquel Directorio, el navegador reconocerá de inmediato a dicho certificado como veraz.

Estos los certificados raíces que el navegador de Windows (Internet Explorer) reconoce como totalmente confiables.

En caso que el navegador no reconozca el certificado del sitio web, una ventana como ésta aparecerá en pantalla:

¿Por qué dice que veamos el certificado para decidir si vamos a confiar en la a u t o r i d a d q u e l o e mi t i ó ? Porque en uno de los campos del certificado aparece la ruta a las políticas de certificación empleadas por dicha autoridad para certificar a este sitio web, y r e vi s án do l as p od re mos decidir si dichas políticas satisfacen nuestras exigencias de seguridad.

Una vez que accedemos al certificado, buscamos el campo “Bases del Certificado” (en este ejemplo, dado que el documento está en inglés, escriben “Certificate Policies”).

Aquí se indica la ruta para acceder a las políticas de certificación de la autoridad y a su declaración de prácticas de certificación. Una vez que leemos dichos documentos, podemos decidir si vamos a “instalar” el certificado en nuestro programa navegador de internet.

Si decidimos en dicho sentido, en adelante cualquier certificado digital que provenga de esta empresa será aceptado automáticamente por nuestro navegador.

No basta verificar la autenticidad de la firma digital de la certificadora: otros puntos
Verificar el período de vigencia del certificado. Aun dentro del período de vigencia, el certificado podría estar revocado.
Por tanto, también hay que revisar la Lista de Certificados Revocados emitida (y digitalmente firmada) por la Certificadora, o usar alguno de los mecanismos alternativos a dicha Lista. (Volveremos luego sobre esto).

Verificar que se esté empleando el certificado para la finalidad prevista, que está indicada en uno de los campos de su formato.
Ejemplo. Si el certificado tiene por finalidad “autenticar ante terceros un servidor remoto”, el representante de la empresa usuaria de aquel servidor no lo debe ofrecer a sus interlocutores como medio de verificación de sus firmas digitales (las del representante). Aunque técnicamente se puede hacer eso con el certificado, no se debe hacer porque no fue emitido con tal propósito.

En caso que se quiera tener las presunciones legales favorables del Reglamento de Firmas y Certificados Digitales del Perú, también se deberá verificar que el certificado haya sido generado por una certificadora que cuente con la acreditación (evaluación aprobatoria) del INDECOPI.

El programa empleado por el usuario debe ser capaz de verificar todos estos puntos.

Mecanismos para verificar la condición de los certificados

Mecanismos off - line

Mecanismos on -line

Lista de certificados revocados (LCR)

Protocolo de validación on – line de certificados (OCSP)

Protocolo simple de validación de certificados (SCVP)

Lista de Certificados revocados (LCR): presentación lógica
Autoridad de Certificación: XYZ Lista de Certificados Revocados (LCR) Esta LCR: 1 Agosto 2009, 10.00 a.m. Siguiente LCR: 12 Agosto 2009, 10.00 a.m.
Número de serie 1234567 2819281 … Fecha de revocación 30 – Julio - 2009 30 – Julio - 2009 … Razón Clave privada comprometida Cambio de empleo …

La LCR: • • • No incluye certificados que expiraron. Esta digitalmente firmada por la AC que la emite. De este modo la AC se obliga a responder por la veracidad de su contenido. Cada cierto tiempo, la LCR crece con nuevos certificados revocados.

Lista de Certificados revocados – LCR (continuación)
Así, cuando Fermat recibe el certificado de Euler, y quiere saber si debería confiar en él, debería hacer lo siguiente, en este orden: 1. Chequear si el certificado no ha expirado. 2. Chequear la firma digital de la AC que suscribe el certificado, y con ello toda la cadena de confianza. 3. Consultar la última LCR emitida por la AC de Euler para asegurarse que el certificado de Euler no figura ahí.
Autoridad de Certificación: XYZ Lista de Certificados Revocados (LCR) Esta LCR: 1 Agosto 2009, 10.00 a.m. Siguiente LCR: 12 Agosto 2009, 10.00 a.m. Nro. de serie 1234567 2819281 Fecha de revocación 30 – Julio - 2009 30 – Julio - 2009 Razón Clave privada comprometida Cambio de empleo

Por otra parte, si recordamos que las mismas AC están identificadas por sus propios certificados, también cabe la posibilidad de que el certificado emitido a la AC (no sólo los emitidos por la AC) podría ser revocado. Por esto también existe la Lista de revocación de autoridades de certificación. A esta se le llama la “Lista de Estado de las Proveedoras confiables” o “Trusted-Services Status List” (TSL). Desventaja de la LCR.- El principal problema con una LCR es que no se actualiza continuamente en tiempo real. Por tal razón existen otros mecanismos, que brevemente veremos después.

Protocolo para chequeo on-line del status de un certificado
(Online Certificate Status Protocol - OCSP).
2. Se realiza una consulta al Directorio X.500 de la AC
Certificado digital

Directorio 1. Solicitud OCSP ¿Este certificado es válido o no?

X.500

Cliente

Servidor Habilitado Para OCSP

3. Respuesta de OCSP

Bueno, revocado o desconocido

Protocolo simple de Validación de Certificado (SCVP): ventajas sobre el OCSP
Punto OCSP SCVP

Solicitud del cliente Cadena de Confianza Chequeos Información Retornada

El cliente sólo envía al servidor el número de serie del certificado. Sólo el certificado es chequeado

El cliente envía el certificado entero al servidor. Consecuentemente, el servidor puede chequear más cosas. El cliente puede proveer una colección de los certificados intermedios, que el servidor puede chequear El cliente puede solicitar el chequeo de toda la cadena El cliente puede especificar qué información adicional le interesa (ejemplo: prueba del status de revocación debería ser retornada por el servidor, o la cadena usada debería ser retornada, etc). El cliente puede solicitar que un certificado sea chequeado respecto a su vigencia no hoy sino en una fecha antigua.

El único chequeo es si el certificado está revocado o no. Sólo el status del certificado.

Características Adicionales

Ninguna.

Recomendación para negocios serios: dos pares de claves
Volvamos una vez más sobre las virtudes que se persiguen: i) ii) Privacidad. Autenticación de origen e irrenunciabilidad (o “no repudio”).

Se recomienda que, en aplicaciones comerciales serias, los usuarios utilicen un par de claves para el objetivo de privacidad y otro par de claves distinto para el objetivo de la autenticación y no repudio. Esto naturalmente implica que una persona posea dos certificados digitales.

Esto permite dar un destino diferente a las claves privadas una vez que los certificados expiran:
1) La clave privada correspondiente al par de claves usado con fines de autenticación y no repudio debe eliminarse, para evitar cualquier posibilidad de que alguien se haga con ella y suscriba documentos electrónicos usurpando identidad ajena. (Probablemente sería descubierto, dado que el certificado está expirado, pero es mejor no correr riesgos, por pequeños que sean). La clave privada correspondiente al par de claves usado para recibir documentación confidencial debe guardarse un tiempo, de manera que la información encriptada puede recuperarse incluso después de expirado el certificado.

2)

Nota.- En las Guías de Acreditación del INDECOPI se distingue entre “certificados para firma” y “certificados para cifrado”.

Un usuario (Fermat) con dos pares de claves

Un par de claves para que los interlocutores de Fermat puedan enviarle data confidencial.

Certificado Digital Titular: Fermat Clave pública:

Suscrito por:
Autoridad Emisora

RENIEC

Otro par para garantizar el carácter no repudiable de los documentos que Fermat envía.

Certificado Digital Titular: Fermat Clave pública:

Suscrito por:
Autoridad Emisora

Nota.- La entidad certificadora no necesariamente será la misma.

RENIEC

¡Te veré en la Corte!
1. Fermat envía una oferta económica a Euler, firmada digitalmente. Web Web F.D. 2. Euler recibe los documentos, los graba y comunica su aceptación. T.L. 3. Fermat recibe y conoce la aceptación: se perfecciona el contrato Web F.D. T.L.

4. Fermat informa a Euler, en texto legible y en texto cifrado con su clave privada, que recibió su aceptación.
¡Todo es nulo! 6. Euler recurre al Juez y presenta los documentos electrónicos que recibió de Fermat.

5. Tiempo después, Fermat pretende evadir sus obligaciones

Fermat niega la autoría o el contenido o el acuse de recibo.

7. A requerimiento del Juez, la certificadora le envía el certificado digital de Fermat.
Clave Pública De Fermat

F.D.

clave pública de Fermat

Texto legible

F.D.
8. El juez aplica la clave pública de Fermat a las dos firmas digitales y consigue descifrarlas. Esto demuestra que: (1) la oferta y el acuse de recibo de la aceptación de la oferta fueron cifrados con la clave privada de Fermat; (2) ninguno de dichos documentos fue alterado por Euler o por terceros.

T.L .
¡Así que todo es válido!

¡Te veré en la Corte! (algunas notas)
2. Euler recibe los documentos, los graba y comunica su aceptación.
T.L. Web

I. También esta comunicación va en dos formatos: legible y cifrado (con la clave privada de Euler), pero hacemos abstracción de eso porque en este ejemplo no será Euler quien pretenda evadir sus obligaciones.
T.L.

1. Fermat envía una oferta económica a Euler, firmada digitalmente.

Web F.D.

3. Fermat recibe y F.D. Web conoce la aceptación: se perfecciona el contrato 4. Fermat informa a Euler, en texto legible y en texto cifrado con su clave privada, que recibió su aceptación.

II. En este momento (Nº 3) un contrato empieza legalmente a existir …

III. … pero estamos considerando una etapa adicional para que el aceptante de la oferta (Euler) tenga una constancia irrefutable de que el oferente Fermat conoció su aceptación.

IV. Esta situación no es 100 % deseable. Fermat podría demorar la realización del punto 4 con el objeto de fortalecer su posición contractual en desmedro de la de Euler.

Contrato por medio electrónico – Paso 1
Claves de Alicia: Pública Privada Claves de Bob: Pública Privada

Alicia

Contrato firmado por Alicia
Web

Contrato firmado por Alicia Carlo s Contrato firmado por Bob

Bob

Contrato firmado por Bob

Una vez que tiene los dos ejemplares, Carlos informa el hecho a ambos.

Contrato por medio electrónico – Paso 2
Claves de Alicia: Pública
Alicia firma

Claves de Bob: Privada Pública Privada
Bob firma

Alicia

Contrato firmado por Alicia

Web

Contrato firmado por Alicia Contrato firmado por Alicia

Contrato firmado por Alicia y Bob Contrato firmado por Alicia y Bob

Contrato firmado por Alicia

Después de ser informado que Alicia y Bob tienen un ejemplar firmado por ambos, Carlos destruye los ejemplares que él tenía.

Contrato firmado por Alicia y Bob

Bob

Comentarios respecto al esquema para celebración de contratos por medios electrónicos

1.

Si más adelante Alicia o Bob pretendiese negar haber participado en un contrato con el otro, éste último tiene un ejemplar digitalmente firmado por ambos. Aunque al final el tercero Carlos destruye los ejemplares del contrato en su poder, su participación es necesaria. Gracias a él Alicia sabe que alguien que no es Bob tiene un ejemplar del contrato firmado digitalmente por Bob; y viceversa.

2.

Por qué la A.C. debe guardar un back-up de los certificados
Después que los certificados expiran, las autoridades de certificación deben archivar las claves públicas durante un plazo razonable, regulado en cada país. Aquí se explica una de las potenciales razones.
Texto plano Certificado de Fermat, con su clave pública

Web
Texto cifrado con la clave privada de Fermat = Firma Digital

1. Euler aplica la clave pública de Fermat y descifra la firma digital. Así verificó la autenticidad del documento.

2. Fermat fallece y la certificadora cancela su certificado. Cuando Euler pide a los herederos que cumplan la obligación asumida por Fermat, estos niegan que Fermat haya suscrito el documento electrónico alegado por Euler. Euler recurre al juez.

3. El juez pide a la A.C. una copia del certificado digital de Fermat, para usar su clave pública.

4. La A.C. cumple la orden y envía al Juez una copia del certificado expirado.

5. El juez aplica la clave pública de Fermat a la presunta firma digital de Fermat y consigue descifrarla. Así verificó que provino de Fermat y de nadie más.

Certificado de Fermat, con su clave pública

El protocolo “Capa de conexión segura” (Secure Socket Layer) Es un protocolo para el intercambio seguro de información entre un navegador de internet y el servidor de un portal. Provee dos servicios: autenticación y privacidad. Es el mecanismo más popular del mundo para seguridad en la Web.

SSL simplificado
Paso 1: el navegador del cliente hace conexión con el servidor del vendedor. Esta conexión se denota con https Servidor del vendedor

Paso 2: el servidor del vendedor envía su certificado digital al navegador del cliente.

Paso 3: el navegador del cliente revisa la cadena de confianza que respalda al C.D. del servidor. Si el certificado raíz de dicha cadena se encuentra en la lista de certificados confiables del navegador, el cliente acepta que la clave pública indicada en el C.D. corresponde a dicho vendedor Paso 4: el navegador del cliente envía la información sensible (número de la tarjeta de crédito) cifrada con la clave pública del servidor del vendedor.

Navegador del cliente

5. Si un tercero capturase la información, necesitaría la clave privada del vendedor para descifrar la data.

Navegador del cliente

Esquema más cercano al SSL real
Paso 1: el navegador hace conexión con el servidor del vendedor. Esta conexión se denota con https o con el ícono Servidor del vendedor

Paso 2: el servidor envía su certificado digital al navegador del cliente.

Paso 3: el navegador revisa la cadena de confianza que respalda al certificado. Si el navegador confía en el certificado raíz de dicha cadena, aceptará que la clave pública indicada en el C.D. corresponde al servidor del vendedor.

Paso 4: el navegador crea y envía una clave simétrica, cifrada con la clave pública del servidor del vendedor. El servidor acusa recibo.

Paso 5: el navegador envía la información sensible (número de la tarjeta de crédito del cliente) cifrada con la clave simétrica.

&%#! !
Si un tercero capturase la información, necesitaría la clave privada del vendedor para acceder a la clave simétrica con la cual se cifró esta data.

Navegador del cliente

Una aclaración
Paso 1: el navegador hace conexión con el servidor del vendedor. Esta conexión se denota con https o con el ícono Servidor del vendedor

Paso 2: el servidor envía su certificado digital al navegador del cliente.

Paso 3: el navegador revisa la cadena de confianza que respalda al certificado. Si el navegador confía en el certificado raíz de dicha cadena, aceptará que la clave pública indicada en el C.D. corresponde al servidor del vendedor.

Paso 4: el navegador crea y envía una clave simétrica, cifrada con la clave pública del servidor del vendedor. El servidor acusa recibo.

¿Por qué el navegador del cliente crea una clave simétrica que será transmitida cifrada con la clave pública del servidor, en lugar de usar directamente dicha clave pública para transmitir, cifrada, la información privada del cliente? Por eficiencia (ver la técnica del “sobre digital”).

Veamos un caso concreto

Protocolo para el sellado de tiempo

En muchas ocasiones, no basta saber que un documento es auténtico, íntegro (no adulterado) y no-repudiable: es necesario saber el instante exacto en que fue enviado y recibido. El “sellado de tiempo” cubre esta necesidad.

Paso 2: solicitud de sellado de tiempo

Autoridad de sellado de tiempo

Cliente

Resumen

AST

Mensaje original

Algoritmo para resumir

Resumen ….
….

Paso 1: el cliente calcula un resumen

Paso 3: respuesta con el sellado de tiempo

Lleva firma digital de la AST

(Opcional) Una modalidad particular: la firma digital “ciega”
Votación electrónica.- Cada cédula de votación debe ser certificada por la autoridad electoral antes de ser contabilizada, para que la autoridad verifique (1) si el votante está facultado a votar, y (2) si no está presentando más de una cédula. Simultáneamente, es importante que la autoridad no conozca cuál ha sido el voto.

Es una modalidad de firma digital donde el documento queda oculto a la persona que lo firmará (que no es su autora). Se usa en aplicaciones donde el visto bueno de una autoridad sobre algunos hechos (por ejemplo: la capacidad legal del autor) es necesaria pero al mismo tiempo el anonimato del autor del documento es importante. Dos ejemplos:

Pagos anónimos.- Hay casos en los cuales queremos que (1) terceros no autorizados no puedan determinar el benficiario del pago o y/o su cuantía; (2) los pagadores puedan acreditar haber hecho el pago y/o determinar la identidad del beneficiario.

El criptosistema de la firma digital ciega requiere estas pautas (sea “m” el mensaje): 1. Una función s’ para firmar digitalmente el mensaje m, y su función inversa s. Tenemos entonces s (s’(m)) = m. La función s no debe dar pista alguna para hallar s’. Tal como ya hemos aprendido, la persona que firmará el documento es la única en posesión de la función s’.
Caso específico.- El método RSA usa la siguiente función s’ para generar la firma digital (E y N son la clave pública y D es la clave privada, calculados según vimos láminas atrás): s’(m) = m D mod N; y usa la siguiente función s para la verificación o comprobación de la firma: s (s’(m)) = (mD mod N)E = mDE mod N = (teorema 2) m mod N.

2. Un número r con suficiente redundancia para que cualquier tentativa del firmante de descifrar el documento que firma, sea inútil. Caso específico.- El método RSA utiliza r tal que
m.c.d. (r, N) = 1.

3. Una función conmutativa c y su inversa c’, sólo conocidas por el autor del documento, tales que (1) c’ (s’ (c(m)) ) = s’(m), y (2) c(m) no dé pistas para hallar m.
Caso específico.- El método RSA usa las siguientes funciones: c = c(m) = mrE mod N, y c’ = c’ (c(m)) = r-1 x c(m). Luego: s’ (c(m)) = [ mrE mod N ]D mod N = (mrE)D mod N = mDrED mod N = (teorema 2) mD r mod N Y c’ [ s’ (c(m)) ] = (r -1mD r) mod N = mD mod N = s’(m).

Veamos una aplicación a una hipotética votación electrónica. 1.
Esto es una repetición de de lo visto en la lámina 19

La autoridad electoral definirá sus claves pública y privada. Sean P, Q dos números primos grandes.

2.
3.

Sea N = P x Q. Sea un # E tal que m.c.d. ( E, (P-1) x (Q-1) ) = 1
Sea D tal que (D x E) mod (P-1) (Q-1) = 1. Clave pública de la autoridad: (E, N). Clave privada: D. Fermat (votante) tiene un documento, su voto, que traducido a números vale m.

4.

5.

Fermat escoje un valor arbitrario r que cumpla m.c.d. (r, N) = 1. Tomando la clave pública de la autoridad, Fermat calcula (mrE ) mod N y le envía el número resultante. Importante: la autoridad no puede obtener “m” a partir de (mrE) mod N, pues el número r introduce suficiente aleatoriedad.
La autoridad eleva el número (mrE) mod N a la potencia D (vale decir, lo firma*): [ (mrE) mod N ] D = (T. 1) (mrE) D mod N = (mDrED) mod N =** (mD r ) mod N, y lo devuelve al emisor. Multiplicando por r -1, Fermat obtiene (r -1mD r) mod N = mD mod N. Fermat ha obtenido que su voto (cuyo valor numérico es m) esté encriptado con la clave privada de la autoridad (D). Vale decir, su voto ha sido firmado digitalmente por la autoridad, sin que ésta haya conocido el contenido de dicho voto.
* Recordar que D es la clave privada de la autoridad y que “firmar digitalmente” significa, por definición, “cifrar con la clave privada”.

6.

7.

** Por el teorema 2, se cumple que r ED mod N = r mod N

Elementos que conforman la Infraestructura Oficial Peruana de Firma Electrónica

Instituciones Documentos

Base legal: Ley 27269. Reglamento aprobado por el Decreto Supremo 052-2008-PCM.

Ley de Organización y Funciones del INDECOPI: encarga la administración de la IOFE a la CNB del INDECOPI.

Políticas y Prácticas conformes con estándares Internacionales: ITU, IETF, PKCS, ETSI, ISO.

Autoridad de Acreditación (INDECOPI)

Entidades certificadoras (EC) y Conexas (ER, SVA), acreditadas conforme a las Guías.

Guías de acreditación de: • Entidades de certificación -EC • Entidades de verificación y de registro - EV • Prestadoras de Servicios de Valor Añadido -SVA

Entidad Certificadora Raíz del Estado (RENIEC)

EC, ER y SVA privadas

Otros Organismos estatales acreditados como EC, ER y SVA.

Recordemos los cuatro problemas identificados al principio

1. Espionaje
Información Confidencial

2. Suplantación de identidad

A

B

A

Soy el cliente A

B

C

C

3. Adulteración de los documentos

4. Negación maliciosa de documento propio

Ruta ideal del mensaje

A
Ruta REAL del mensaje

B

A

1. Hace una oferta económica

B

Transfiera $ 100 aD

C

Transfiera $ 1000 aC

3. Rechaza todo, sosteniendo (falsamente) que alguien tomó su nombre

2. B acepta la oferta, descartando otras

Solución a los problemas identificados al principio
1. Espionaje
Información Confidencial

A

B

Si “A” envía la información cifrada con la clave pública de “B”, “C” no puede acceder a ella. Sólo podría descifrarla con la clave privada de “B”.

C

2. Suplantación de identidad

A

Soy el cliente A

B

C

Si “B” exige a sus interlocutores que sus documentos lleven “firma digital” como garantía de autenticidad, “C” no puede hacerse pasar por “A” porque, para firmar digitalmente como si fuese “A”, necesitaría la clave privada de “A”.

Solución a los problemas identificados al principio (continuación)
3. Adulteración de los documentos Ruta ideal del mensaje Si “A” envía la información firmada con su clave privada y “C” modifica esa información, el resultado ya no será descifrable con la clave pública de “A” y así “B” sabrá que el contenido del documento no es el que “A” envió.

A
Ruta REAL del mensaje

B

“Transfiera $ 100 a D”

C

“Transfiera $ 1000 a C”

4. Negación maliciosa de documento propio Si “A” envió su documento firmado digitalmente (vale decir, cifrado con su clave privada), “A” no podrá desentenderse del mismo ni atribuirlo a un tercero, pues la única clave que podrá descifrarlo será la clave pública de “A”, lo cual demostrará que fue cifrado con la clave privada de “A”.

A

1. Hace una oferta económica

B

3. Rechaza todo, sosteniendo (falsamente) que alguien tomó su nombre

2. B acepta la oferta, descartando otras

Sign up to vote on this title
UsefulNot useful