¿Cómo funciona PKI?
Para comprender cómo funciona PKIes importante volvera los fundamentos que rigen el cifrado en primer lugar. Con esto en mente, vamos a adentrarnos en los algoritmos criptográficos y los certificados digitales.
Los algoritmos criptográficos son fórmulas matemáticas muy complejas que se utilizan para cifrar y descifrar mensajes. matemáticas muy complejas para cifrar y descifrar mensajes. También son los componentes básicos de la autenticación PKI. Estos algoritmos varían en complejidad y los más antiguos más antiguos son anteriores a la tecnología moderna.
Elcifrado simétrico es un algoritmo criptográfico sencillo para los estándares actuales, sin embargo, en su día se consideró el estado del arte. De hecho, el ejército alemán lo utilizó para enviar comunicaciones privadas durante la Segunda Guerra Mundial. La película The Imitation Game hace explica muy bien cómo funciona el cifrado simétrico y el papel que desempeñó en la Segunda Guerra Mundial.y el papel que desempeñó durante la guerra.
Con el cifrado simétrico, un mensaje que se escribe en texto plano pasa por permutaciones matemáticas para quedar cifrado. El mensaje cifrado es difícil de descifrar porque la misma letra del texto sin formato no siempre sale igual en el mensaje cifrado. no siempre sale la misma en el mensaje cifrado. Por ejemplo, el mensaje "HHH" no se cifraría con tres caracteres iguales.
Para cifrar y descifrar el mensaje se necesita la misma clave, de ahí el nombre de cifrado simétrico. Aunque descifrar es extremadamente difícil sin la clave, el hecho de que deba utilizarse la misma clave para cifrar y descifrar el mensaje conlleva un riesgo significativo. Esto se debe a que si el canal de distribución utilizado para compartir la clave se ve comprometido, todo el sistema de mensajes seguros.
Elcifrado as imétrico, o criptografía asimétrica, resuelve el problema de intercambio que aquejaba al cifrado simétrico. Para ello, crea dos claves criptográficas diferentes (de ahí el nombre de cifrado asimétrico): una clave privada y otra pública.
Con el cifrado asimétrico, un mensaje sigue pasando porpermutaciones matemáticas para cifrado, pero requiere una clave privada (que sólo debe conocer el destinatario) para descifrar y una clave pública (que puede compartirse con cualquiera) para cifrar un mensaje.
He aquí cómo funciona en la práctica:
- Alice quiere enviar un mensaje privado a Bob, así que utiliza la clave pública de Bob para generar un texto cifrado que sólo la clave privada de Bob puede descifrar.
- Como sólo la clave privada de Bob puede descifrar el mensaje, Alice puede enviarlo sabiendo que nadie más puede leerlo, ni siquiera un fisgón, siempre que Bob tenga cuidado de que nadie más tenga su clave privada.n un fisgón - siempre y cuando Bob tenga cuidado de que nadie más tenga su clave privada.
El cifrado asimétrico también permite realizar otras acciones que son más difíciles de llevar a cabo con el cifrado simétrico, como las firmas digitales, que funcionan de la siguiente manera:
- Bob can enviar un mensaje a Alice y cifrar una firma al final utilizando su clave privada.
- Cuando Alicia recibe el mensaje, puede utilizar la clave pública de Bob para verificar dos cosas:
- Bob, o alguien con la clave privada de Bob, envió el mensaje
- El mensaje no se modificóen tránsito, ya que si se modifica la verificación fallará.
En ambos ejemplos, Alice no ha generado su propia clave. Sólo con un intercambio de claves públicas, Alicia puede enviar mensajes cifrados a Bob y verificar documentos que éste haya firmado.Es importante destacar que estas acciones son unidireccionales. Para invertir las acciones de modo que Bob pueda enviar mensajes privados a Alice y verificar su firma, Alice tendría que generar su propia clave privada y compartir la clave pública correspondiente.
En la actualidad, existen tres propiedades mpropiedades matemáticas utilizadas para generar claves privadas y públicas: RSA, ECC y Diffie-Hellman. Cada una utiliza algoritmos diferentes para generar claves pero todos se basan en los mismos principios básicos en cuanto a la relación entre la clave pública y la clave privada.ivada.
Veamos el RSA 2048 bits como ejemplo. Este algoritmo genera aleatoriamente dos números primos de 1024 bits cada uno y luego los multiplica. La respuesta a esa ecuación es la clave pública, mientras que los dos números primos que crearon la respuesta son la clave privada.que crearon la respuesta son la clave privada.
Este enfoque funciona porque es extremadamente difícil invertir el cálculo cuando se trata de dos números primos de ese tamaño, por lo que es relativamente fácil calcular la clave pública a partir de la clave privada, pero nimposible calcular la clave privada a partir de la pública.
Hoy en día se utilizan a menudo tanto el cifrado simétrico como el asimétrico. El cifrado asimétrico es mucho más lento que el simétrico, por lo que ambos suelen utilizarse conjuntamente. Por ejemplo, alguien puede cifrar un mensaje utilizando el cifrado simétrico y luego enviar la clave para descifrar el mensaje utilizando el cifrado asimétrico (que acelera el proceso de descifrado, ya que la clave es mucho más pequeña que el mensaje completo).
Hoy en día, el cifrado asimétrico permite cosas como:
- Correo electrónico cifrado S/MIME
- Firma de códigos
- Bitcoin/Cadena de bloques
- Mensajería privada Signal
- Firmas digitales
En particular, el cifrado asimétrico potencia la PKI.
Tanto el cifrado simétrico como el asimétrico tienen un gran reto¿Cómo sabes que la clave pública que has recibido pertenece realmente a la persona que crees que pertenece?
Incluso con el cifrado asimétrico, existe el riesgo del "hombre en el medio". Por ejemplo, ¿qué pasaría si alguien interceptara la clave pública de Bob, creara su propia clave privada y generara una nueva clave pública para Alice? clave privada, y luego genera una nueva clave pública para Alice? En este caso, Alice cifraría los mensajes para Bob, el intermediario podría descifrarlos, modificarlos y volverlos a cifrar, y ni Alice ni Bob se enterarían.
La PKI resuelve este cl reto consiste en emitir y gestionar certificados digitales que confirman la identidad de las personas, dispositivos o aplicaciones que poseen claves privadas y las claves públicas correspondientes. En resumen, la PKI asigna identidades a las claves para que los destinatarios puedan verificar con precisión a los propietarios.sus propietarios. Esta verificación da a los usuarios la confianza de que si envían un mensaje cifrado a esa persona (o dispositivo), el destinatario previsto es el que leerá y no cualquier otro que pueda estar sentado como "hombre en el medio".
La PKI gobierna las claves de cifrado mediante la emisión y gestión de certificados digitales. Los certificados digitales también se denominan certificados X.509 y certificados PKI.
Cualquiera que sea su denominación, un certificado digital tiene estas cualidades:
- Es un equivalente electrónico del carné de conducir o el pasaporte
- Contiene información sobre una persona o entidad
- Es emitido por un tercero de confianza
- Es a prueba de manipulaciones
- Contiene información que puede probar su autenticidad
- Puede rastrearse hasta el emisor
- Tiene fecha de caducidad
- Se presenta a alguien (o algo) para su validación
La forma más sencilla de entender cómo la PKI rige los certificados digitales para verificar identidades es pensar en ella como un DMV digital. Al igual que el Departamento de Vehículos a Motor (DMV), la PKI introduce un tercero de confianza para tomar decisiones sobre la asignación de identidades a un certificado digital. Y al igual que los permisos de conducir, los certificados digitales son difíciles de falsificar, incluyen información que identifica al propietario y tienen fecha de caducidad.
Por último, corresponde a la persona que verifica el certificado digital determinar cuál debe ser el proceso de verificación y con qué detenimiento debe examinarse el certificado en función del caso de uso. y el cuidado con el que debe examinarse el certificado en función del caso de uso.
Las Autoridades de Certificación (CA) son responsables de la creación de certificados digitales y son propietarias de las políticas, prácticas y procedimientos para vetar a los destinatarios y emitir los certificados.
En concreto, son los propietarios y operadores de una AC quienes determinan:
- Métodos de verificación de los destinatarios de los certificados
- Tipos de certificados expedidos
- Parámetros contenidos en el certificado
- Procedimientos de seguridad y operacionesres
Una vez que las CA toman estas decisiones, deben documentar formalmente sus políticas. A partir de ahí, corresponde a los consumidores de certificados decidir cuánta confianza quieren depositar en los certificados de una CA determinada.
El proceso de creación de certificados se basa en gran medida en el cifrado asimétrico y funciona de la siguiente manera:
- Se crea una clave privada creada y se calcula la clave pública correspondiente
- La CA solicita cualquier atributo de identificación del propietario de la clave privada y examina esa información
- La clave pública y los atributos de identificación se codifican en una solicitud de firma de certificado (CSR).
- La CSR está firmada por el propietario de la clave para demostrar la posesión de la clave privada.
- La CA emisora valida la solicitud y firma el certificado con la clave privada de CA con su propia clave privada
Cualquiera puede utilizar la parte pública de un certificado para verificar que fue realmente emitido confirmando quién es el propietario de la clave privada utilizada para firmar el certificado. Y, suponiendo que consideren que esa CA es de confianza, pueden verificar que todo lo que envíen a al titular del certificado llegará y que todo lo firmado con la clave privada del titular del certificado ha sido firmado por esa persona o dispositivo.
Una parte importante de este proceso es que la propia CA tiene su propia clave privada y su correspondiente clave pública, lo que crea la necesidad de jerarquías de CA.ivada y su correspondiente clave pública, lo que crea la necesidad de jerarquías de CA.
Dado que cada CA tiene un certificado propio, se crean capas de confianza a través de jerarquías de CA, en las que las CA emiten certificados para otras CA. Sin embargo, este proceso no es circular, ya que en última instancia existe un certificado raíz. Normalmente, los certificados tienen un emisor y un sujeto como dos partes separadas, pero son las mismas partes para las CA raíz, lo que significa que los certificados raíz son autofirmados.cados raíz son autofirmados. Como resultado, la gente debe confiar intrínsecamente en la autoridad de certificación raíz para confiar en cualquier certificado que se remonte a ella.
Todo esto hace que la seguridad de las claves privadas sea especialmente importante para las CA. Que una clave privada caiga en malas manos es malo en cualquier caso, pero es particularmente devastador para las CAs, porque entonces alguien puede emitir certificados fraudulentamente.
Los controles de seguridad y ell impacto de la pérdida se agrava aún más a medida que se asciende en la cadena de una jerarquía de CA, ya que no hay forma de revocar un certificado raíz. Si una CA raíz se ve comprometida, la organización tiene que hacer pública esa brecha de seguridad. Como resultado, las CA raíz tienen las medidas de seguridad más estrictas.
Para cumplir las normas de seguridad más estrictas, las CA raíz casi nunca deben estar en línea. Como mejor práctica, las CA raíz deben almacenar sus claves privadas en cajas fuertes de grado NSA dentro de centros de datos centros de datos con seguridad 24/7seguridad 24/7 mediante cámaras y guardias físicos. Todas estas medidas pueden parecer extremas, pero son necesarias para proteger la autenticidad de un certificado raíz.
Aunque una CA raíz debería estar desconectada el 99,9% del tiempo, hay ciertos casos en los que necesita conectarse. En concreto, las CA raíz deben conectarse para la creación de claves públicas, claves privadas y nuevos certificados, así como para garantizar que su propio material de claves sigue siendo legítimo y no se ha dañado o puesto en peligro de ningún modo. legítimo y no ha sido dañado o comprometido de ninguna manera. Idealmente, roLo ideal es que las CA raíz realicen estas pruebas entre 2 y 4 veces al año.
Por último, es importante tener en cuenta que los certificados raíz caducan. Los certificados raíz suelen durar entre 15 y 20 años (frente a los aproximadamente siete años de los certificados de las CA subordinadas). Introintroducir y generar confianza en una nueva raíz no es fácil, pero es importante que estos certificados caduquen porque cuanto más tiempo duren, más vulnerables serán a los riesgos de seguridad.
Una jerarquía de CAierarquía suele constar de dos niveles, siguiendo la cadena Autoridad de certificación raíz → Autoridades de certificación subordinadas → Certificados de entidad final.
A jerarquía de dos niveles jerarquía es absolutamente necesaria como mínimo porque una CA raíz debe estar desconectada el 99,9% del tiempo, lo cual es un estándar difícil de cumplir para las CA subordinadas que emiten certificados con regularidad, ya que necesitan estar en línea para emitir nuevos certificados.
Mientras que las CA subordinadas hacen lo mejor para proteger sus certificados, conllevan un riesgo de seguridad mucho mayor que las CA raíz.ás alto que las CA raíz. Sin embargo, a diferencia de las CA raíz, las CA subordinadas tienen la capacidad de revocar certificados, por lo que es más fácil recuperarse de cualquier fallo de seguridad que se produzca que en el caso de las CA raíz (que no pueden revocar certificados).
Dicho esto, a jerarquía de dos niveles suele ser suficiente para la seguridad. Cuantos más niveles existan dentro de una jerarquía de CA, más difícil será la utilización y escalabilidad de la PKI. Esto se debe a que los niveles adicionales aumentan la complejidad de las políticas y procedimientos que rigen la PKI.
Si una CA subordinada se ve comprometida de algún modo o desea revocar un certificado por cualquier motivo, debe publicar una lista de revocación de todos los certificados emitidos que no se deben confiar.confianza. Esta lista se conoce como Lista de Revocación de Certificados (CRL) y es fundamental para el diseño de la PKI.
Aunque las CA deben emitir CRL, queda a discreción de los consumidores de certificados si comprueban estas listas y cómo responden si un certificado ha sido revocado. Una vez más, este es un excelente ejemplo de cómo los certificados digitales son similares a los permisos de conducir ya que el proceso de verificación suele depender de la necesidad del certificado (piense en la diferencia entre utilizar una licencia recién caducada para comprar alcohol o para pasar un control de la Autoridad de Sellado de Tiempo (TSA)).
En muchos casos, los consumidores de certificados optan por no comprobar las CRL porque ello ralentiza el proceso de autenticación. Los consumidores de certificados también pueden elegir hasta dónde retroceder dentro de la jerarquía de CA como parte de la comprobación, teniendo en cuenta que cuanto más retrocedan, más tardará el proceso.
Aunque comprobar los CRL -y llegar hasta la CA raíz para hacerlo- ralentiza el proceso de autenticación, hacerlo se está convirtiendo en algo cada vez más habitual a medida que más cosas se conectan a Internet y dependen de los certificados digitales para su seguridad. Consideremos el caso de los navegadores web. Muchos navegadoresAntes no comprobaban los certificados porque ralentizaban la experiencia de navegación, pero ahora estas comprobaciones son habituales a medida que la seguridad en Internet adquiere más importancia.
Lo más importante es que las CRL tienen fecha de caducidad, y si una CRL caduca, todos los certificados emitidos por la CA pierden su validez.certificados emitidos por la CA pierden su validez. Aunque las CA se centran principalmente en asegurarse de que los certificados no caducan -lo cual es importante-, también es importante que se aseguren de que las CRL no caducan, ya que si esto ocurre, toda la PKI puede venirse abajo. Cuando los Cas raíz se conectan, también comprueban que las CRL de las CA subordinadas no hayan caducado por este motivo.
Hoy en día, todos los dispositivos y sistemas en línea (teléfonos, ordenadores portátiles, servidores, sistemas operativos, etc.) necesita interactuar con certificados.on certificados. Esta interacción generalizada con los certificados ha dado lugar al concepto de certificado raíz de confianza en los dispositivos y sistemas operativos.
Por ejemplo, todos los ordenadores de Microsoft tienen un almacén raíz de confianza. Cualquier certificado que pueda ser rastreado ba ese almacén raíz de confianza será automáticamente fiable para el ordenador. Cada dispositivo y sistema operativo viene en Cada dispositivo y sistema operativo viene con un almacén raíz de confianza preestablecido, pero los propietarios de las máquinas pueden establecer reglas para confiar en certificados adicionales o para no confiar en certificados que estaban preestablecidos como de confianza. preestablecidos como de confianza.