Criptografía
2.1 Criptografía Simétrica
Sección titulada «2.1 Criptografía Simétrica»2.1.1 Conceptos Básicos
Sección titulada «2.1.1 Conceptos Básicos»El objetivo de la criptografía es ocultar el significado del mensaje que se quiere transmitir para que sólo su destinatario pueda interpretarlo correctamente.
En criptografía clásica las técnicas más utilizadas son:
-
Transposición: basada en reordenar las letras de un mensaje. Por ejemplo, la escítala espartana, que era una vara de madera sobre la que se enrollaba una tira de pergamino de manera que si alguien intercepta el mensaje no podrá descifrarlo si no dispone de una vara adecuada
-
Sustitución: basada en recodificar el alfabeto de manera que cada letra se le asigne otra, creando así un nuevo alfabeto. Por ejemplo, el cifrado ceśar, que consistía en sustituir cada letra del alfabeto por la situada posiciones más adelante.
-
Criptología: criptografía y criptoanálisis
-
Criptografía: arte y ciencia de mantener mensajes seguros
-
Criptoanálisis: arte y ciencia de romper mensajes seguros
-
Criptosistema: conjunto de dispositivos de cifrado y descifrado, acompañado de un protocolo de transmisión de claves
-
Algoritmos criptográficos: función que realiza el proceso de cifrado y descifrado, junto con la interrelación con las claves.
-
Claves: parámetros que inicializan y personalizan los algoritmos
Esquema de cifrado y descifrado
Sección titulada «Esquema de cifrado y descifrado»- : mensaje en claro
- : mensaje cifrado
- : clave
- : operación de cifrado
- : operación de descifrado

- Esta es la definición de un cifrado simétrico.
Por ejemplo, Cifrado César:

2.1.2 Criptoanálisis
Sección titulada «2.1.2 Criptoanálisis»Objetivos del criptoanálisis
Sección titulada «Objetivos del criptoanálisis»- Romper (descifrar) un único mensaje
- Reconocer patrones en mensajes cifrados
- Inferir algún significado sin llegar a romper el cifrado, por el tamaño o la frecuencia de los mensajes.
- Deducir la clave para romper un mensaje y quizás mensajes sucesivos.
- Encontrar debilidades en la implementación o en el entorno de uso del cifrado por parte del emisor.
- Encontrar debilidades generales en un algoritmo de cifrado.
Ataques
Sección titulada «Ataques»Se asume que el criptoanalista conoce el algoritmo empleado, pero no la clave. Existen 3 tipos de ataques:
- Solo texto cifrado: el analista sólo dispone de texto cifrado y su meta es descubrir el texto plano (y posiblemente la clave).
- Texto plano conocido: el analista dispone del texto cifrado y su texto plano correspondiente, la meta es averiguar la clave.
- Texto plano elegido: el analista puede suministrar textos planos y obtener el correspondiente texto cifrado, la meta es descubrir la clave.
Hay 2 bases para los ataques:
- Ataques matemáticos: basados en el análisis de las matemáticas o de los algoritmos subyacentes
- Ataques estadísticos: basados en hacer suposiciones sobre las letras, pares de letras, tripletas, etc.
- Examinan el texto cifrado correlacionando propiedades con las suposiciones
- Buscan patrones, similitudes y discontinuidades entre múltiples mensajes cifrados de la misma forma.
El cifrado de sustitución puede ser atacado por fuerza bruta si el espacio de claves es lo suficientemente pequeño. El cifrado César solo tiene 27 posibles claves.
2.1.3 Cifrados Básicos
Sección titulada «2.1.3 Cifrados Básicos»Sustitución Monoalfabética Genérica
Sección titulada «Sustitución Monoalfabética Genérica»La sustitución monoalfabética genérica consiste en construir el alfabeto cifrado colocando al azar las letras del alfabeto llano. Así existen posibles alfabetos cifrados.
La frecuencia de aparición de las distintas letras en un idioma permite descubrir la letra más frecuente en el texto cifrado sucesivamente. Por tanto, se deben evitar patrones en el mensaje cifrado y hacer la clave más compleja.

Cifrado de Vigènere (polialfabético)
Sección titulada «Cifrado de Vigènere (polialfabético)»El cifrado de Vigenère consiste en realizar varios cifrados de César, pero con más de una letra en la clave. Aunque ahora mismo está roto en dos pasos (Babbage):
- Estadísitcas sobre la frecuencia de distribución de series de letras repetidas y la separación entre repeticiones para descubrir la longitud de la clave, .
- División del texto en bloques, correspondiendo cada uno a una cifra monoalfabética clásica.

Enigma fue una máquina criptográfica costruida en 1920 por Arthur Scherbius. Inicialmente era una versión mecanizada del cifrado monoalfabético, pero al girar una posición tras codificar cada letra se consigue el polialfabético.
Hay varas modificaciones de esta máquina:
- Con 3 modificadores encadenados: alfabetos posibles
- Con un reflector y un clavijero y modificadores intercambiables: billones

Cuaderno de uso único
Sección titulada «Cuaderno de uso único»El cuaderno de uso único es un cifrado de Vigenère con clave aleatoria al menos tan larga como el mensaje.
Es probablemente irrompible, ya que un texto de longitud se puede corresponder con cualquier cadena de longitud , por lo que probarlas todas es inviable.
La clave debe ser aleatoria para evitar que el cifrado se rompa generándola. El uso de generadores de números pseudo-aleatorios supone una debilidad, ya que si no se implementan bien se puede deducir la clave generada.
2.1.4 Primitivas Criptográficas
Sección titulada «2.1.4 Primitivas Criptográficas»- Sustitución: reemplazar un conjunto de bits por otro
- Transposición: modificar el orden de los bits al crear el texto cifrado para romper cualquier patrón repetido subyacente en el texto plano.
- Confusión: relación funcional compleja entre el par texto plano/clave y el texto cifrado, de manera que el cambio de un único carácter (bit) en el texto plano cause cambios no predecibles en el texto cifrado resultante
- Difusión: se debe distribuir la información de los elementos individuales en el texto plano sobre el texto cifrado completo, de manera que incluso pequeños cambios en el texto plano resulten en cambios grandes en el texto cifrado
- Las técnicas criptográficas se usan como medida para asegurar la confidencialidad dándole acceso a las claves solo a las partes autorizadas
Para que un criptosistema sea de confianza debe:
- Estar basado en elementos funcionales y matemáticas sólidas
- Haber sido analizado por expertos competentes y demostrado su robustez
- Haber superado la prueba del tiempo.
2.1.5 Cifradores de Bloque
Sección titulada «2.1.5 Cifradores de Bloque»Cifradores de bloque: el mensaje se separa en bloques de bits de texto claro que el algoritmo filtra por separado para devolver bits de texto cifrado.
- En principio, cada bloque es independiente y no hay influencia entre ellos, así que bloques de texto claro idénticos producen bloques de texto cifrado idénticos.
- Cada bit del bloque de texto claro tiene efecto en cada bit del bloque de texto cifrado.
- Un error en el texto cifrado influye sólo en su bloque.
Algoritmo DES
Sección titulada «Algoritmo DES»El algoritmo de cifrado DES consiste en un cifrado de bloque usando una clave de y cuya salida son de texto cifrado.
Realiza substitución (confiere propiedades de difusión) y transposición/permutación (confiere propiedades de confusión) sobre los bits.
Usa una clave efectiva de , en total.
- Por tanto. hay de calves posibles, por lo que romperlo por fuerza bruta llevaría más de 2 millones de años
- En 1998 la Electronic Frontier Foundation fabricó una máquina que descifraba DES en menos de 3 días.
El proceso de cifrado consta de 16 iteraciones, cada una con una clave de iteración generada a partir de la suministrada por el usuario.

Variantes de DES

Evolución de los Algoritmos:
- Varios desafíos para descifrar mensajes cifrados con DES resueltos mediante computación distribuida.
- En enero de 1997 el NIST solicitó algoritmos para sustituir al DES. Diseñados para resistir los ataques que habían tenido éxito contra DES.
- En agosto de 1998 se pre-seleccionarion 15 algoritmos.
- En abril de 1999 se preseleccionaron 5 finalistas: MARS, RC6, Rigndael, Serpente y Twofish.
- En octubre de 2000 se seleccionó Rijndael como AES. Diseñado en Bélgica por Joan Daemen y Vicent Rijmen.
AES (Advanced Encryption Standard)
Sección titulada «AES (Advanced Encryption Standard)»El AES actual es un algoritmo de cifrado de bloque de . Puede utilizar 3 tamaños diferentes de clave, cada uno con un número de rondas diferente.

- En ECB (Electronic Code Book Mode, mode de uso de un cifrado en bloque) se cifra cada bloque de manera independiente.
- Repeticiones en el texto plano cifradas con la misma clave generan el mismo texto cifrado.
- La solución es el encadenamiento.
El CBC (CIpher Block Chaning Mode) usa encadenamiento, de manera que el cifrado de cada bloque depende del contenido del bloque previo además del suyo. Realiza un XOR de cada bloque con el bloque cifrado previo. Requiere un vector de inicialización para el primer bloque.



2.1.6 Cifradores de Flujo
Sección titulada «2.1.6 Cifradores de Flujo»Cifradores de flujo: en cada paso entra un bit (o byte) del mensaje en el cifrador y sale un bit (o byte) de texto cifrado. Funcionamiento:
- A partir de una semilla se genera una secuencia (pseudoaleatoria) del mismo tamaño que el mensaje.
- La secuencia cifrante se combina con el mensaje (por ejemplo, con una XOR)
- Ambos extremos comparten la semilla, de manera que el receptor pueda usarla para generar otra vez la clave y descifrar el mensaje

Condiciones para una clave segura:
- Período: la clave deberá ser tanto o más larga como el mensaje. En la práctica, con una semilla de 120-250 bits se generan periodos superiores a 1035.
- Distribución de bits:
- Distribución uniforme de unos y ceros que represente una secuencia pseudoaleatoria.
- Distribución estadística de rachas de dígitos (bits iguales entre 2 bits distintos).
Propuesta de Cifrador de Vernam (1917)
Sección titulada «Propuesta de Cifrador de Vernam (1917)»Esta propuesta se basa en una secuencia cifrante binaria y aleatoria que se obtiene de una clave secreta compartida por emisor y receptor. Se usa la función XOR para cifrar y descifrar el mensaje.

Ejemplo de Generador Pseudoaletorio
Sección titulada «Ejemplo de Generador Pseudoaletorio»- Inicialmente el registro contiene el valor de la clave.
- En cada iteración:
- Se desplaza el registro a la derecha
- El bit se toma como salida
- El nuevo bit se obtiene con la función
Hay que escoger la función de manera que:
- No se repitan las secuencias cortas en la salida
- No sea previsible la salida
- Sea fácilmente implementable

Algoritmo RC4 (Ron Rivest 1987)
Sección titulada «Algoritmo RC4 (Ron Rivest 1987)»- Este algoritmo se basa en usar claves de longitud variable.
- Software propietario (privado)(pero en septiembre del 94 se filtró a internet).
- Empleado en su momento en SSL, WEP y WPA.
- Diez veces más rápido que DES.
- Debilidades en la implementación que llevaron a ataques en WEP y cifrado de ficheros MSOffice.
Algoritmo A5 (no publicado, propuesto en 1994)
Sección titulada «Algoritmo A5 (no publicado, propuesto en 1994)»- Este algoritmo se solía usar para el cifrado del enlace entre el abonado y la central de un teléfono móvil tipo GSM.
- Varias debilidades originaron distintos tipos de ataques. Consecuencia típica en el mundo de la criptografía cuando los desarrolladores de algoritmos no hacen público el código fuente.
- CTR es una alternativa al encadenamiento en cifrado de bloque que usa contadores y un vector aleatorio.
- Es una combinación de cifrado de bloque y de flujo.
- Mejora la eficiencia ya que se puede paralelizar el proceso.

- Recomendado por el NIST para cifrado y autenticación
- En combinación con AES, se utiliza, por ejemplo en el protocolo TLS. Se usa AES para cifrar un IV y un contador usando la clave simétrica AES y a continuación se usa el resultado como XOR con texto plano.
- Existen vulnerabilidades si no se implementa correctamente.

2.1.7 Problemas de la Criptografía Simétrica
Sección titulada «2.1.7 Problemas de la Criptografía Simétrica»Distribución de claves:
- Debe haber una para cada par de usuarios, por lo que para usuarios se necesitarían claves.
- Se necesita un canal seguro para distribuirlas
Riesgo de ataques de fuerza bruta: conlleva la necesidad de cambias las claves frecuentemente.
2.2 Criptografía de Clave Pública
Sección titulada «2.2 Criptografía de Clave Pública»2.2.1 Conceptos Básicos
Sección titulada «2.2.1 Conceptos Básicos»Algoritmo de Diffie-Hellman
Sección titulada «Algoritmo de Diffie-Hellman»-
El algoritmo de protocolo de intercambio de clave simétrica fue desarrollado en 1976 para acordar una clave común entre 2 iterlocutores. Está basado en las propiedades de los logaritmos discretos.
-
Se calcula usando dos enteros y y un número primo tal que . Soluciones conocidas para pequeños, pero computacionalmente inviables con grande.
-
Necesita de autenticación adicional ya que es vulnerable a ataques man-in-the-middle
-
Se usa en SSL, SSH, SecureFPT, IPSec, etc.
Algortimo:
- Alice y Bobo acuerdan un número primo y un número públicamente: ( y )
- Alice escoge un número aleatorio () y envía a Bob ()
- Bob escoge un número aleatorio () y envía a Alice ()
- Alice calcula ()
- Bob calcula ()
- A partir de ese momento pueden emplear la misma clave .

Fundamentos de los Algoritmos de Clave Pública
Sección titulada «Fundamentos de los Algoritmos de Clave Pública»La idea básica de la criptografía de clave pública es usar 2 claves por usuario:
- Una clave privada o secreta () conocida únicamente por el individuo.
- Una clave pública () disponible para todo el mundo.
- Ambas claves son inversas en cierta forma.

Requisitos:
- Debe ser computacionalmente sencillo cifrar o descifrar un mensaje dada la clave adecuada básica
- Debe ser computacionalmete imposible determinar la a partir de la
- Debe ser computacionalmente imposible determinal la mediante ataques de texto claro elegido
Servicios de Seguridad:
- Confidencialidad: cifrar usando la , descifrar usando la
- Integirdad/autenticación/no repudio: cifrar usando la , descifrar usando la
2.2.2 Algoritmo RSA
Sección titulada «2.2.2 Algoritmo RSA»El algoritmo RSA usa un cifrado por exponenciación basado en la dificultad de factorizar primos grandes y de calcular raíces i-ésimos discretas con módulo grande.
Dos números son primos relativos si no comparten factores entre sí.
La función devuelve el número de enteros positivos menores que y que son primos relativos con . Ejemplo: Porque son primos relativos con
- Se eligen dos números primos muy grandes y
- Se calcula , entonces
- Se elige tal que y son primos entre sí, entonces
- Se calcula tal que
y
- No se necesita un canal seguro para intercambiar las claves
- Bastan un par de claves por usuario
- Se necesitan claves muy grandes (con RSA, se recomienda al menos 2048 bits)
- Proceso de cifrado/descifrado lento (en comparación con los algoritmos de cifrado simétrico). Límites en el tamaño de la información a cifrar.
- Se requiere de un tercero de confianza.
Servicios de Seguridad
Sección titulada «Servicios de Seguridad»- Autenticación: sólo el propietario de la la conoce, de modo que un texto cifrado con esa clave debe haber sido generado por el propietario
- Confidencialidad: sólo el propietario de la la conoce, de modo que un texto cifrado con la correspondiente sólo puede leerlo el propietario de la .
- Integridad: el mensaje cifrado no puede modificarse de forma indetectable sin conocer la .
- No repudio: un mensaje cifrado con una necesariamente viene de quien la conoce.
Advertencias
Sección titulada «Advertencias»Las claves deben ser lo suficientemente grandes para que los cálculos de descifrado sin conocer la sean irrealizables en tiempo finito. Estos cálculos son factorizar en primos para obtener a partr de o calcular raíces i-ésimas en módulo grande para descifrar sin conocer la
Los mensajes deben cifrarse en bloques grandes para evitar el descifrado con técnicas estadísticas o la alteración del mensaje.

2.2.3 Criptografía Híbrida
Sección titulada «2.2.3 Criptografía Híbrida»La criptografía híbrida se basa en usar la criptografía de clave pública para intercambiar una clave de sesión simétrica. Se suele usar en el protocolo TLS:
- Clave pública RSA para autenticación
- Diffie-Hellman para intercambio de clave simétrica
- Cifrado simétrico para intercambio de infoRmación

2.2.4 Evolución de la criptografía de Clave Pública
Sección titulada «2.2.4 Evolución de la criptografía de Clave Pública»- Debido a la aparición de la computación cuántica, se hizo posible implementar el algoritmo de Shor para descomponer en factores primos números grandes.
- Como solución, se trató de incrementar el tamaño de clave RSA, los cual disminuyó su eficiencia
- EL tamaño de clave de curva elíptica es mucho menor que el de RSA (256 bits en una curva elíptica equivalen a una clave RSA de 3072) por lo que se obtienen operaciones más eficientes para un mismo nivel de seguridad.
2.2.5 Intercambio de Claves de Curva Elíptica
Sección titulada «2.2.5 Intercambio de Claves de Curva Elíptica»El intercambio de claves de curva elíptica permite que dos partes acuerden una sobre un canal inseguro usando una curva elíptica conocida públicamente y un punto generador .
Las claves públicas de cada extremo son y y las privadas y . 0. Ambos extremos calculas sus claves públicas y
- Ambos extremos calculan el mismo secreto
- Alice:
- Bob:
- El secreto obtenido se usa para derivar la clave simétrica (AES) que se usará para cifrar los mensajes.
- Un atacante no sería capaz de obtener o a partir de y ya que para ello debería resolver el logaritmo discreto en curvas elípticas (computacionalmente intratable)
- Es importante elegir curvas elípticas estadarizadas y de las que se haya verificado su robustez.
- Por sí solo, este algoritmo no cifra ni autentica por lo que se usan mecanismos adicionales.

2.3 Funciones Hash y Firma Digital.
Sección titulada «2.3 Funciones Hash y Firma Digital.»Las Funciones de Resumen se usan para comprobar si un bloque ha sido modificado.

2.3.1 Funciones Hash Criptográficas
Sección titulada «2.3.1 Funciones Hash Criptográficas»La función de resumen criptográfico (o hash) se define como una funcion que:
- Para cualquier es fácil de calcular.
- Para cualquier , es computacionalmente intratable encotnrar tal que
- Es computacionalmente intratable encontrar dos entradas tales que y
- El resumen debe ser corto y siempre de la misma longitud
- El algoritmo debe ser irreversible (una sola vía)
Usos:
- Chequeo de integridad
- Autenticación
- Cifrado y firma digital en sistemas de clave pública
- Protocolos de comunicación
- Almacenamiento de contraseñas

Colisiones
Sección titulada «Colisiones»Si y , y presentan una colisión.
- Principio del casillero: si tenemos contenedores para objetos, al menos un contenedor tendrá 2 objetos dentro. Si existen 32 ficheros y 8 valores de resumen posibles, cada valor corresponde al menos a 4 ficheros.
- Las funciones de resumen criptográfico deben ser resistentes frente a la búsqueda de colisiones.
Algoritmos de Resumen
Sección titulada «Algoritmos de Resumen»Resúmenes criptográficos con clave: se usa una clave criptográfica para obtenerlos (MAC, Message Autthentication Code). DES en modo de encadenamiento
Resúmenes criptográficos sin clave: no requieres de una clave criptográfica. MD5 Y SHA-1 son los más conocidos pero ya no se consideras seguros
MD5 (Message Digest 5)
- Procesa los mensajes de entrada en bloques de 512 bits y produce un resumen de 128.
- Algoritmo den desuso por presentar debilidades
SHA-1 (Secure Hashing Algorithm 1)
- Procesa los mensajes de entrada en bloques de 512 bits y produce un resumen de 160 bits
- Desde 2017 ya no se considera seguro para determinados usos.
Familia SHA-2
- Procesa los mensajes de entrada en bloques de 512 o 1024 bits y produce resúmenes de 224, 256, 384 o 512 bits
- Es la familia más utilizada en la actualidad
Familia SHA-3
- Utiliza una aproximación diferente a la familia SHA-2
- Variantes → SHA3-224, SHA3-256, SHA3-384, SHA3-512

2.3.2 Firma Digital
Sección titulada «2.3.2 Firma Digital»La firma digital pretende garantizar la confidencialidad del mensaje de la misma manera que una firma manuscrita lo hace en el mundo real. La forma general de obtener firmas digitales es usando criptografía de clave pública.
- El firmante calcula una firma usando la clave privada
- Otros pueden usar la correspondiente clave pública para verificar que la firma procede de la clave privada asociada.
La firma digital debe ser:
- Infalsibicable: nadie puede producir la firma sin la clave privada del firmante, solo el firmante puede firmar
- Auténtica: el receptor puede determinar que la firma realmente procede del firmante
- No alterable: ni el firmante, ni el receptor, ni ningún tercero puede modificar la firma sin que la manipulación sea evidente
- No reutilizable: cualquier intento d reutilización de una forma previa será detectado por el receptor.

La firma digital garantiza:
- Autentificación: el remitente empleó su calve privada, es decir, es quien dice ser
- Integridad: el mensaje no cambió durante la transmisión
- No repudio: el remitente no puede negar que fue él quien envió el mensaje.

2.4 Infraestrucutra de Clave Pública: KPI
Sección titulada «2.4 Infraestrucutra de Clave Pública: KPI»2.4.1 El Problema de la Confianza
Sección titulada «2.4.1 El Problema de la Confianza»En el mundo real para identificar a las personas se usa un DNI o pasaporte, que son documentos, emitidos por una autoridad de confianza que hace tanto al documento como a la persona que lo por ta creibles.
En el mundo digital se usa la para firmar datos, de manera que como sólo su dueño puede acceder a ella y usarla se demuestra su intervención en el proceso. Para comprobar que se usó la de un usuario, otros usan su . Para distribuir una de manera segura se puede usar un certificado emitido por una autoridad certificadora, en la que se confía para este fin.

2.4.2 Certificados Digitales
Sección titulada «2.4.2 Certificados Digitales»Un certificado digital son los datos publicos del usuario firmados por la correspondiente CA. Contiene:
- Identidad del usuario
- del usuario
- Fecha de emisión del certificado
- Información adicional
Ejemplo de uso:
- Bill obtiene de Carlos (CA) el certificado de Amy
- Si conoce la de Carlos, puede descifrar el certificado (verificar su firma)
- Ahora Bill tiene la de Amy
Bill ha necesitado la de Carlos para validar el certificado, por tanto el problema se ha desplazado un nivel hacia arriba.
2.4.3 Infraestructura PKI
Sección titulada «2.4.3 Infraestructura PKI»La infraestrucutra de clave pública se usa para organizar las , , certificados y CA de manera gestionable, flexible y segura. Se usa criptografía de clave pública para asociar una identidad a una (la de clave simétrica no sirve para esto ya que todas las claves son compartidas). Una asociación errónea implica que no habrá privacidad entre sujetos.
Los componente de un sistema PKI son:
- Usuario: puede ser una persona, máquina, programa …
- Autoridad Certificadora(CA): entidad que se encargar de emitir los certificados
- Autoridad de Registro(RA): entidad que facilita el registro de usuarios (opcional).
- Puede generar el par de claves privada/pública
- Permite realizar una prueba de posesión, que consiste en comprobar que el solicitante posee la clave privada correspondiente.
- Repositorio de certificados
- Autoridad de Validación (VA): entidad que se encarga de validar los certificados online (opcional)
- Autoridad de Sellado de Tiempos (TSA): entidad que se encarga de sellar fecha y hora de transacciones (opcional)
- Hardware criptográfico
- Tarjetas criptográficas

Las acciones más habituales de un sistema PKI son:
- Registro:
- Distintos niveles de autentificación del usuario
- Distintas posibilidades para generar y almacenar el par de claves
- Servicio de recuperación de claves (opcional)
- Empleado que deja la empresa y destruye su clave privada
- Mandato judicial
- Revocación de certificados: gestión de las CRLs (listas de certificados revocados)
- Certificación cruzada
2.4.4 Certificados Digitales
Sección titulada «2.4.4 Certificados Digitales»CERTIFICADOS DIGITALES X-509 V3
Sección titulada «CERTIFICADOS DIGITALES X-509 V3»• Versiones 1 y 2 (X.500) → C (Country), O (Organization), OU (Organization Unit) (pueden aparecer varios niveles), CN (Common Name). Por ejemplo C=es, O=USC, OU=ETSE, OU=DEC, CN=Puri Cariñena
- Versión 3: permite varias posibilidades
- Nombre X.500.
- Dirección de correo.
- Nombre de dominio.
- Identificador URL.
- Dirección IP.
- Otros nombres definidos y registrados.
- Varias opciones a la vez
- Algunos elementos del estándar X.509v3:
- Versión.
- Número de serie.
- Identificador del algoritmo de firma, algoritmo de “hash”.
- Nombre del emisor: identifica unívocamente al emisor.
- Periodo de validez.
- Nombre del sujeto → identifica unívocamente al sujeto (obligatoria).
- Clave pública del proceso (obligatoria).
- Firma → hash cifrado.

Generación de Certificados
Sección titulada «Generación de Certificados»- En la tarjeta de usuario (o en su PC) se genera un par de claves y . La se protege con un PIN y nunca sale de la tarjeta (o almacén de software seguro del equipo)
- Se envía la a la CA (formato PKCS#10) solicitando un certificado.
- La RA (opcional) verifica la idetidad del usuario y proprociona a la CA dichos datos junto con su aprobación
- La CA junta la , los datos del usuario y sus políticas y los firma con su para formar el certificado digital
- La CA envía el certificado al usuario (PKCS#7) y éste se carga en la tarjeta (o almacén software).

Validación de Certificados X.509
Sección titulada «Validación de Certificados X.509»- Comprobar que el nombre en el certificado es de quién creemos → si no lo es, el certificado no es válido para ese uso.
- Obtener la 𝒌𝑷 del emisor del certificado → la correspondiente al algoritmo de firma correcto.
- Descifrar la firma del certificado → se obtiene el resumen del certificado.
- Recalcular el resumen a partir del certificado y comparar → si difieren, hay un problema.
- Comprobar el periodo de validez → esto confirma que el certificado está vigente.
- Comprobar que no ha sido revocado → aunque no haya caducado, es posible que se haya retirado la confianza.
Revocación de Certificados
Sección titulada «Revocación de Certificados»La revocación puede ser por varios motivos, entre los que destacan:
-
Si el usuario pierde el PIN, la tarjeta o cree que el certificado ha sido comprometido, debe solicitar a la CA que revoque su certificado.
-
La propia CA por algún otro motivo puede querer revocar el uso de la como método de autenticación de un usuario.
-
Las CAs emiten cada cierto tiempo (minutos, horas, días) una LISTA DE CERTIFICADOS REVOCADOS, de manera que cualquier aplicación que quiera usar el certificado deberá consultar la CRL de la CA correspondiente para verificar que no está revocad.
-
Los navegadores usan el protocolo OCSP (Online Certificate Status Protocol) para verificar la validez de un certificado una consulta al servidor OCSP indicado

Formatos de Codificación
Sección titulada «Formatos de Codificación»Formatos de codificación de certificados más utilizados:
- BER → basic encoding rules.
- DER → distinguished encoding rules [OpenSSL].
- CER → canonical encoding rules.
- PER → packet encoding rules.
- PEM → privacy enhanced mail [OpenSSL, default].
- PKCS#12 → personal information exchange syntax standard.
- Incluye la 𝒌𝑺 y la cadena de certificados hasta la raíz de la CA.
- Usado por la mayoría de los navegadores para certificados personales.
- Extensión . p12.
2.4.5 Autoridades Certificadoras
Sección titulada «2.4.5 Autoridades Certificadoras»La autoridad certificadora (CA) es la entidad que emite certificados
Certificación Cruzada
Sección titulada «Certificación Cruzada»Al existir múltiples CAs, puede ocurrir un problema de validación: La CA que usa Amy es Carlos, si Bill usa como CA a Dolores, ¿cómo puede Amy validar el certificado de Bill?
Como solución, Carlos y Dolores hacen certificación cruzada → cada uno emite un certificado para la otra parte:
Certificados:
- <Amy> (firmado por Carlos)
- <Bill> (firmado por Dolores).
- <Dolores> (firmado por Carlos).
- <Carlos> (firmado por Dolores)
Amy valida el certificado de Bill. Amy obtiene <Dolores> (Carlos). Amy usa la clave pública (conocida por ella) de Carlos para validar <Dolores> (Carlos). Amy usa <Dolores> (Carlos) para validar <Bill> (Dolores).
Cadena de autenticación de las CA
Sección titulada «Cadena de autenticación de las CA»Algunas veces, el certificado de una CA no está disponible en el sistema, de forma que, si llega un certificado firmado por ella, no se podría validar. Como solución, hay CA que generan certificados para autenticar los certificados de otras CA.
La cadena de certificación puede tener varios niveles.


Tipos de Autoridad Certificadora
Sección titulada «Tipos de Autoridad Certificadora»-
Organizaciones que actúan como CA para los miembros de la organización.
- Necesitan instalarse en los navegadores como CA.
-
Empresas de reconocido prestigio que actúan como CA para cualquier cliente (con coste económico).
- Los navegadores ya suelen incluir de serie sus certificados.
-
Organizaciones sin ánimo de lucro que ofrecen certificados gratuitos.
- De servidor SSL/TLS.
-
Entidades públicas que actúan como CA para los ciudadanos (sin coste económico).
- En España existe el proyecto CERES de la Fábrica nacional de la Moneda y Timbre. Además, tenemos los certificados disponibles en el DNI electrónico, emitidos por la Dirección General de la Policía.
