En última instancia, la seguridad de todo mecanismo de cifrado depende de que se gestionen correctamente las claves involucradas. En este sentido, las claves de cifrado se suelen comparar con la combinación de números que abre una caja fuerte. Así, por muy segura que sea una caja fuerte, no protegerá su contenido lo más mínimo si un ladrón llegase a descubrir la combinación necesaria para abrirla. Por otro lado, si el dueño de la caja "olvida" la combinación, entonces no podrá recuperar el contenido que hubiera depositado en ella. De forma similar, una mala gestión de claves puede tener consecuencias muy graves para una organización. Por ejemplo, si se pierde una clave de cifrado y no se dispone de copia de seguridad, quedarán inutilizados los datos que se hubieran cifrado con ella, que ya no podrán recuperarse en claro, produciéndose la consiguiente interrupción de la actividad corporativa e incurriéndose en los correspondientes costes. Por otra parte, si el acceso a la copia de seguridad de una clave (o a la clave misma) no se controla convenientemente, entonces la clave podría caer en manos de un adversario. Y a partir de ese momento, los datos que se hubieran cifrado con ella quedarían totalmente desprotegidos, con independencia de la fortaleza que tuvieran los algoritmos utilizados.

Generalización del uso del cifrado en el ámbito empresarial

Actualmente, las organizaciones utilizan cada vez más el cifrado, como mecanismo para proteger los datos que utilizan sus aplicaciones (Data-in-use protection) y que guardan en sus sistemas de almacenamiento (Data-at-rest protection). Las razones que están impulsando el uso creciente de esta tecnología son básicamente las siguientes:

  • Una mayor exposición al riesgo de los datos que manejan las organizaciones. En primer lugar, el mero incremento del volumen de datos almacenados, confiere a éstos mayor valor y los hace más "apetecibles" a cualquier atacante. Sobretodo cuando su obtención legítima acarrea mayores costes, requiere de una infraestructura de la que se carece o simplemente no es posible. En segundo lugar, en aras de una mayor productividad, cada vez son más las aplicaciones corporativas que explotan el stock de datos. Así, por ejemplo, la progresiva automatización de los flujos de trabajo provoca que los datos que generan la aplicaciones de una etapa, sean utilizados por las aplicaciones de etapas posteriores. Esto implica que aumente la "superficie de exposición" de los datos, al presentar la infraestructura más puntos donde poder intentar el acceso ilegítimo a ellos. Finalmente, la proliferación de dispositivos portátiles (laptops, teléfonos móviles, PDA, memorias USB) está causando un crecimiento exponencial de las ubicaciones en las que los datos están amenazados, con el agravante de que, por su propia naturaleza, el robo o extravío de estos dispositivos resulta extremadamente fácil.
  • La necesidad de cumplir leyes y normativas sectoriales que obligan a proteger la confidencialidad de determinados datos. Así, por ejemplo, la Directiva 95/46/CE del Parlamento Europeo y el Consejo establece la obligatoriedad de proteger la confidencialidad de los datos de carácter personal. Del mismo modo, las Normas de seguridad de datos de la industria de tarjetas de pago, conocidas como PCI DSS (Payment Card Industry Data Security Standard), obligan a proteger los datos de titulares de tarjetas, a cualquier aplicación que los maneje.

De la gestión de claves local a la gestión de claves centralizada

Hasta hace poco, era práctica habitual gestionar manualmente y de forma local, las claves de cifrado que utilizaban las distintas aplicaciones (un sistema gestor de base de datos, un sistema de escritorio para cifrar ficheros, el software de un cajero automático, el software de un sistema de punto de venta). Para este propósito solían utilizarse las funciones de gestión de claves que incorporaban las propias aplicaciones o las herramientas de gestión de claves de los dispositivos criptográficos (HSM) que dichas aplicaciones utilizaban. Esta manera de gestionar claves, a la que se ha venido a denominar gestión de claves "basada en silos", presenta serios inconvenientes que se manifiestan, hasta el punto de hacerla inviable, cuando se generaliza el uso de los mecanismos de cifrado en buena parte de las aplicaciones corporativas. Algunos de estos inconvenientes son los siguientes:

  • Es una gestión de claves costosa, puesto que implica realizar de forma manual muchos procedimientos que podrían automatizarse. Así, por ejemplo, la distribución de las claves a las distintas aplicaciones y su almacenamiento (o instalación) en el entorno operacional en el que vayan a utilizarse. Por otro lado, los administradores se ven obligados a familiarizarse con las sistemas de gestión de claves de todas las aplicaciones y con los de los distintos dispositivos criptográficos que éstas utilizan.
  • Es una gestión de claves propensa a errores y, por lo tanto, insegura. Concretamente, porque buena parte de la política de gestión de claves, si no su totalidad, se tiene que aplicar de forma manual, con el consiguiente riesgo que esto conlleva. Por ejemplo, la realización de copias de seguridad de las claves y el control de acceso a estas copias en los procesos de recovery .
  • Es una gestión de claves difícil de auditar. La disparidad de aplicaciones y de dispositivos criptográficos dificultan enormemente poder auditar la gestión de claves de forma eficiente porque, al ser dicha gestión local, no resulta sencillo consolidar un único registro de eventos que sea coherente. Por el contrario, en cada "nodo" (en cada aplicación), el registro de eventos suele conformarse con arreglo a criterios locales que son distintos de los que se utilizan en otros nodos (en otras aplicaciones), lo cual entorpece su agregación.
  • Es una gestión de claves difícil de gobernar puesto que la definición y aplicación de políticas (Policy Enforcement) se realiza de forma local, es decir, de forma separada, lo cual acaba provocando que en cada aplicación se definan y se apliquen reglas de gestión dispares.

Con la finalidad de superar los inconvenientes anteriores y posibilitar la automatización de la gestión de las claves, su control mediante políticas de alcance corporativo y una auditoría eficaz de la misma, la tendencia actual es establecer una separación clara entre las funciones de gestión de claves, que deberán ejecutarse de forma centralizada, y las distintas aplicaciones en las que las claves sean utilizadas. A este enfoque, según el cual todas las claves simétricas se gestionan de forma centralizada, se le denomina Enterprise Key Management (EKM).

Despliegue de EKM con el servicio de custodia de claves de TrustedX

En definitiva, se trata de convertir la gestión de las claves de cifrado en un servicio de seguridad al que puedan acceder todas las aplicaciones corporativas que las utilicen. Este planteamiento está totalmente en línea con la naturaleza y características del sistema TrustedX que, de hecho, es una plataforma que implementa funciones de seguridad a las que se puede acceder como servicios web (SOAP-HTTP, Restful HTTP). Más aún, la funcionalidad concreta que corresponde a una gestión centralizada de las claves, la proporciona el servicio de custodia de claves de TrustedX (TWS-SKM). De este modo, TrustedX puede utilizarse como pieza fundamental para desplegar un sistema de gestión centralizada de claves (EKM) en cualquier organización.

Arquitectura y funcionamiento del servicio de custodia de claves de TrustedX

TrustedX implementa un servicio de custodia de claves simétricas. Por custodia de claves debe entenderse la gestión centralizada de todas las claves de cifrado que utilizan los sistemas de una organización. Así, mediante este servicio, se puede centralizar la generación, el almacenamiento y el control de acceso a todas las claves de cifrado corporativas (Entreprise Key Management).

Centralizar el control de acceso a las claves de cifrado proporciona, como beneficio adicional, que los usuarios no tengan que encargarse de distribuir las claves a todos los destinatarios que, por pertenecer a un determinado círculo de confianza, estén autorizados a leer los datos que se cifren con ellas. Por el contrario, las claves de cifrado se depositan en el servicio de custodia de TrustedX y éste les asigna un identificador. A partir de ese momento, el servicio de custodia es quien controla el acceso a las claves y, en consecuencia, cualquier usuario que quiera recuperarlas, deberá pedírselas a él.

De esta manera, se consigue que el control de acceso a los datos cifrados sea dinámico, a diferencia de lo que pasa cuando el usuario emisor es quién se encarga de distribuir la clave de cifrado. En este caso, el emisor, al cifrar la clave con el certificado de cada uno de los destinatarios, define implícitamente un control de acceso estático sobre los datos protegidos con dicha clave. Obviamente, el control de acceso dinámico es superior al estático. En primer lugar porque los derechos de acceso a la datos de un determinado "dominio de confidencialidad" son, en sí mismos, cambiantes. Por ejemplo, porque las personas ganan o pierden esos derechos en función de que pasen de un departamento a otro. En segundo lugar porque, cuando el control de acceso es dinámico, se evita su dependencia de cualquier "material" que sea caducable (los certificados de los destinatarios) y que, por tanto, pueda restarle efectividad con el transcurso del tiempo.

La custodia de claves se realiza utilizando el componente TWS-SKM como pieza fundamental (Figura 1?1). Las claves que se custodian se guardan en una base de datos, cifradas con la clave de una determinada política de custodia, y a cada una de ellas se le asocia un recurso que deberá estar registrado en TrustedX. De este modo, cada política de custodia define un dominio de confidencialidad que está formado por todas las claves que se cifran con la clave de la política y por todos los datos que, a su vez, se cifren con cualquiera de ellas. Por otro lado, la clave de custodia se guarda en el almacén de claves de la política a la que pertenece y éste se basa, habitualmente, en un dispositivo HSM. Tanto el acceso a las operaciones del servicio de custodia (genkey, putkey, getkey), como el acceso a las propias claves que son custodiadas, es controlado (authn, authz) por el servicio de autenticación y autorización de TrustedX. Así, la recuperación de las claves queda protegida por un doble control de acceso. Es decir, para recuperar una clave que esté custodiada bajo una política determinada, se necesitará obtener autorización no sólo para ejecutar la operación getkey del servicio de custodia, sino también para realizar la acción getkey sobre el recurso del sistema que esté asociado a la clave en cuestión.

TXData es

La custodia de claves también se puede utilizar en combinación con el servicio de cifrado y descifrado de datos (TWS-DE). Por ejemplo, se puede pedir que se cifren unos datos con una clave simétrica determinada e indicar en la petición que dicha clave quede depositada en el sistema de custodia. En este caso, el servicio de cifrado de TrustedX, además de realizar la operación solicitada, pedirá internamente al servicio de custodia de claves que almacene (putkey) la clave que haya utilizado para realizar el cifrado y devolverá, al cliente, el identificador que le sea asignado a dicha clave. De la misma forma, un cliente puede solicitar el descifrado de unos datos e incluir en la petición, el identificador de la clave custodiada que deberá utilizarse para realizar la operación, de modo que el servicio de descifrado la pueda recupera pidiéndosela (getkey) al servicio de custodia de claves, en nombre del cliente. Obviamente, la clave sólo será entregada si el cliente está autorizado a acceder a la misma, consiguiéndose de este modo el control de acceso sobre los datos cifrados.

Utilizamos cookies para mejorar nuestro sitio web y su experiencia al usarlo. Las cookies utilizadas para el funcionamiento esencial de este sitio ya se han establecido. Para obtener más información sobre las cookies que utilizamos y cómo eliminarlas, ver nuestra Política de Privacidad.Acepto las cookies de este sitio