La gestión de claves se refiere a la gestión de claves criptográficas en un criptosistema . Esto incluye ocuparse de la generación, intercambio, almacenamiento, uso, criptodestrucción (destrucción) y reemplazo de claves. Incluye diseño de protocolo criptográfico , servidores de claves , procedimientos de usuario y otros protocolos relevantes. [1] [2]
La gestión de claves se refiere a claves a nivel de usuario, ya sea entre usuarios o sistemas. Esto contrasta con la programación de claves , que normalmente se refiere al manejo interno de claves dentro de la operación de un cifrado.
La gestión exitosa de claves es fundamental para la seguridad de un criptosistema. Es el lado más desafiante de la criptografía en el sentido de que involucra aspectos de ingeniería social como políticas de sistemas, capacitación de usuarios, interacciones organizacionales y departamentales, y coordinación entre todos estos elementos, en contraste con las prácticas matemáticas puras que pueden automatizarse.
Los sistemas criptográficos pueden utilizar diferentes tipos de claves, y algunos sistemas utilizan más de una. Estas pueden incluir claves simétricas o claves asimétricas. En un algoritmo de clave simétrica, las claves involucradas son idénticas tanto para cifrar como para descifrar un mensaje. Las claves deben elegirse con cuidado, distribuirse y almacenarse de forma segura. Las claves asimétricas, también conocidas como claves públicas , son dos claves distintas que están vinculadas matemáticamente. Por lo general, se usan juntos para comunicarse. La infraestructura de clave pública (PKI), la implementación de criptografía de clave pública, requiere que una organización establezca una infraestructura para crear y gestionar pares de claves públicas y privadas junto con certificados digitales. [3]
El punto de partida en cualquier estrategia de gestión de certificados y claves privadas es crear un inventario completo de todos los certificados, sus ubicaciones y partes responsables. Este no es un asunto trivial porque los certificados de una variedad de fuentes son implementados en una variedad de ubicaciones por diferentes personas y equipos; simplemente no es posible confiar en una lista de una única autoridad de certificación . Los certificados que no se renuevan y reemplazan antes de que caduquen pueden provocar interrupciones y tiempos de inactividad graves. Algunas otras consideraciones:
Una vez inventariadas las claves, la gestión de claves normalmente consta de tres pasos: intercambio, almacenamiento y uso.
Antes de cualquier comunicación segura, los usuarios deben configurar los detalles de la criptografía. En algunos casos, esto puede requerir el intercambio de claves idénticas (en el caso de un sistema de claves simétricas). En otros, puede requerir poseer la clave pública de la otra parte. Si bien las claves públicas se pueden intercambiar abiertamente (su correspondiente clave privada se mantiene en secreto), las claves simétricas deben intercambiarse a través de un canal de comunicación seguro. Anteriormente, el intercambio de dicha clave era extremadamente problemático y se facilitaba enormemente mediante el acceso a canales seguros como una valija diplomática . El intercambio de texto claro de claves simétricas permitiría a cualquier interceptor aprender inmediatamente la clave y cualquier dato cifrado.
El avance de la criptografía de clave pública en la década de 1970 ha hecho que el intercambio de claves sea menos problemático. Desde que se publicó el protocolo de intercambio de claves Diffie-Hellman en 1975, ha sido posible intercambiar una clave a través de un canal de comunicaciones inseguro, lo que ha reducido sustancialmente el riesgo de divulgación de claves durante la distribución. Es posible, utilizando algo parecido a un código de libro , incluir indicadores clave como texto claro adjunto a un mensaje cifrado. La técnica de cifrado utilizada por el codificador de Richard Sorge era de este tipo, haciendo referencia a una página de un manual de estadística, aunque en realidad era un código. La clave de cifrado simétrica Enigma del ejército alemán era de tipo mixto al principio de su uso; la clave era una combinación de programas de claves distribuidos en secreto y un componente clave de sesión elegido por el usuario para cada mensaje.
En sistemas más modernos, como los sistemas compatibles con OpenPGP , una clave de sesión para un algoritmo de clave simétrica se distribuye cifrada mediante un algoritmo de clave asimétrica . Este enfoque evita incluso la necesidad de utilizar un protocolo de intercambio de claves como el intercambio de claves Diffie-Hellman.
Otro método de intercambio de claves implica encapsular una clave dentro de otra. Normalmente, una clave maestra se genera e intercambia mediante algún método seguro. Este método suele ser engorroso o costoso (dividir una clave maestra en varias partes y enviar cada una a un mensajero confiable, por ejemplo) y no es adecuado para su uso a mayor escala. Una vez que la clave maestra se ha intercambiado de forma segura, se puede utilizar para intercambiar claves posteriores de forma segura y sencilla. Esta técnica suele denominarse envoltura de claves . Una técnica común utiliza cifrados en bloque y funciones hash criptográficas . [6]
Un método relacionado consiste en intercambiar una clave maestra (a veces denominada clave raíz) y derivar claves subsidiarias según sea necesario a partir de esa clave y algunos otros datos (a menudo denominados datos de diversificación). El uso más común de este método es probablemente en criptosistemas basados en tarjetas inteligentes , como los que se encuentran en las tarjetas bancarias. El banco o la red de crédito incorpora su clave secreta en el almacenamiento seguro de claves de la tarjeta durante la producción de la tarjeta en una instalación de producción segura. Luego, en el punto de venta, la tarjeta y el lector de tarjetas pueden obtener un conjunto común de claves de sesión basadas en la clave secreta compartida y en datos específicos de la tarjeta (como el número de serie de la tarjeta). Este método también se puede utilizar cuando las claves deben estar relacionadas entre sí (es decir, las claves departamentales están vinculadas a claves divisionales y las claves individuales están vinculadas a claves departamentales). Sin embargo, vincular claves entre sí de esta manera aumenta el daño que puede resultar de una violación de seguridad, ya que los atacantes aprenderán algo sobre más de una clave. Esto reduce la entropía, con respecto a un atacante, para cada clave involucrada.
Un método reciente utiliza una función pseudoaleatoria ajena para emitir claves sin que el sistema de gestión de claves esté en condiciones de verlas. [7]
Independientemente de cómo se distribuyan, las claves deben almacenarse de forma segura para mantener la seguridad de las comunicaciones. La seguridad es una gran preocupación [8] [9] y, por lo tanto, se utilizan varias técnicas para hacerlo. Probablemente lo más común es que una aplicación de cifrado administre las claves para el usuario y dependa de una contraseña de acceso para controlar el uso de la clave. Del mismo modo, en el caso de las plataformas de acceso sin llave para teléfonos inteligentes, mantienen toda la información de identificación de la puerta fuera de los teléfonos móviles y servidores y cifran todos los datos, donde, al igual que las llaves de baja tecnología, los usuarios dan códigos sólo a aquellos en quienes confían. [8]
En términos de regulación, hay pocas que aborden en profundidad el almacenamiento de claves. "Algunos contienen pautas mínimas como 'no almacenar claves con datos cifrados' o sugieren que 'las claves deben guardarse de forma segura'". Las excepciones notables son PCI DSS 3.2.1, NIST 800-53 y NIST 800–57. [9]
Para una seguridad óptima, las claves pueden almacenarse en un módulo de seguridad de hardware (HSM) o protegerse mediante tecnologías como Trusted Execution Environment (TEE, por ejemplo, Intel SGX ) o Multi-Party Computation (MPC). Las alternativas adicionales incluyen la utilización de Módulos de plataforma segura (TPM), [10] HSM virtuales, también conocidos como "Módulos de seguridad de hardware del pobre" (pmHSM), [11] o matrices de puertas programables en campo (FPGA) no volátiles con sistema de soporte. Configuraciones en chip . [12] Para verificar la integridad de una clave almacenada sin comprometer su valor real, se puede utilizar un algoritmo KCV .
El problema principal es el tiempo que se debe utilizar una clave y, por lo tanto, la frecuencia de reemplazo. Debido a que aumenta el esfuerzo requerido por cualquier atacante, las claves deben cambiarse con frecuencia. Esto también limita la pérdida de información, ya que la cantidad de mensajes cifrados almacenados que serán legibles cuando se encuentre una clave disminuirá a medida que aumente la frecuencia del cambio de clave. Históricamente, las claves simétricas se han utilizado durante largos períodos en situaciones en las que el intercambio de claves era muy difícil o sólo posible de forma intermitente. Idealmente, la clave simétrica debería cambiar con cada mensaje o interacción, de modo que sólo ese mensaje sea legible si se aprende la clave ( por ejemplo , si se roba, se criptoanaliza o se realiza ingeniería social).
Varios desafíos que enfrentan las organizaciones de TI cuando intentan controlar y administrar sus claves de cifrado son:
El cumplimiento de la gestión de claves se refiere a la supervisión, la garantía y la capacidad de poder demostrar que las claves se gestionan de forma segura. Esto incluye los siguientes dominios de cumplimiento individuales:
Se puede lograr el cumplimiento con respecto a los estándares y regulaciones de protección de datos nacionales e internacionales , como el Estándar de seguridad de datos de la industria de tarjetas de pago , la Ley de responsabilidad y portabilidad de seguros médicos , la Ley Sarbanes-Oxley o el Reglamento general de protección de datos . [15]
Un sistema de gestión de claves (KMS), también conocido como sistema de gestión de claves criptográficas (CKMS) o sistema de gestión de claves empresariales (EKMS), es un enfoque integrado para generar, distribuir y gestionar claves criptográficas para dispositivos y aplicaciones. Pueden cubrir todos los aspectos de la seguridad, desde la generación segura de claves, pasando por el intercambio seguro de claves, hasta el manejo y almacenamiento seguro de claves en el cliente. Por lo tanto, un KMS incluye la funcionalidad de backend para la generación , distribución y reemplazo de claves, así como la funcionalidad de cliente para inyectar claves, almacenar y administrar claves en dispositivos.
Muchas aplicaciones específicas han desarrollado sus propios sistemas de gestión de claves con protocolos propios. Sin embargo, a medida que los sistemas se vuelven más interconectados, es necesario compartir claves entre esos diferentes sistemas. Para facilitar esto, los estándares de gestión de claves han evolucionado para definir los protocolos utilizados para gestionar e intercambiar claves criptográficas e información relacionada.
KMIP es un protocolo de gestión de claves extensible que ha sido desarrollado por muchas organizaciones que trabajan dentro del organismo de estándares OASIS . La primera versión se lanzó en 2010 y ha sido desarrollada posteriormente por un comité técnico activo.
El protocolo permite la creación de claves y su distribución entre distintos sistemas de software que necesitan utilizarlas. Cubre el ciclo de vida completo de las claves simétricas y asimétricas en una variedad de formatos, el empaquetado de claves, los esquemas de aprovisionamiento y las operaciones criptográficas, así como los metadatos asociados con las claves.
El protocolo está respaldado por una extensa serie de casos de prueba y cada año se realizan pruebas de interoperabilidad entre sistemas compatibles.
En el sitio web de OASIS se puede encontrar una lista de unos 80 productos que cumplen con el estándar KMIP.
La política de seguridad de un sistema de gestión de claves proporciona las reglas que se utilizarán para proteger las claves y los metadatos que admite el sistema de gestión de claves. Según lo define el Instituto Nacional de Estándares y Tecnología NIST , la política establecerá y especificará reglas para esta información que protegerán su: [14]
Esta protección cubre el ciclo de vida completo de la clave desde el momento en que la clave entra en funcionamiento hasta su eliminación. [1]
Traiga su propio cifrado (BYOE), también llamado traiga su propia clave (BYOK), se refiere a un modelo de seguridad de computación en la nube que permite a los clientes de la nube pública utilizar su propio software de cifrado y administrar sus propias claves de cifrado. Este modelo de seguridad suele considerarse un truco de marketing, ya que las claves críticas se entregan a terceros (proveedores de la nube) y los propietarios de las claves todavía tienen la carga operativa de generar, rotar y compartir sus claves. IBM ofrece una variante de esta capacidad llamada Keep Your Own Key donde los clientes tienen control exclusivo de sus claves.
Una infraestructura de clave pública es un tipo de sistema de gestión de claves que utiliza certificados digitales jerárquicos para proporcionar autenticación y claves públicas para proporcionar cifrado. Las PKI se utilizan en el tráfico de la World Wide Web, normalmente en forma de SSL y TLS .
La gestión de claves de grupo significa gestionar las claves en una comunicación grupal. La mayoría de las comunicaciones grupales utilizan comunicación de multidifusión , de modo que si el remitente envía el mensaje una vez, todos los usuarios lo recibirán. El principal problema en la comunicación grupal de multidifusión es su seguridad. Para mejorar la seguridad, se entregan varias claves a los usuarios. Con las claves, los usuarios pueden cifrar sus mensajes y enviarlos en secreto. IETF.org publicó el RFC 4046, titulado Arquitectura de administración de claves de grupo de seguridad de multidifusión (MSEC), que analiza los desafíos de la administración de claves de grupo. [55]
{{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace )45.NeoKeyManager - Hancom Intelligence Inc.
P* El Grupo de Trabajo de Seguridad en Almacenamiento de IEEE (SISWG) que está creando el estándar P1619.3 para la Gestión de Claves