Vamos a hablar sobre la computación confidencial. Quizás deseas utilizar servicios de cloud público para minimizar los costos iniciales o para desarrollar aplicaciones nativas de la nube de manera rápida. Pero estas aplicaciones van a manejar información confidencial. No solo quieres cifrar el almacenamiento utilizado, sino que también deseas evitar que los equipos de operaciones en la nube accedan a esos datos, incluso si tienen acceso físico a los centros de datos. Una forma en que habilitamos esto es con un conjunto de tecnologías que llamamos IBM Cloud Hyper Protect Services.
Índice
Introducción a la computación confidencial
Hola, soy Chris Poole, un arquitecto senior de soluciones en el equipo de IBM Hyper Protect. En este artículo, hablaré un poco sobre lo que puedes hacer para garantizar que los datos de tus clientes se mantengan confidenciales. También presentaré una aplicación sencilla que demuestra un caso de uso básico y te mostraré cómo funciona.
Protegiendo tus datos
Parte de una solución general para proteger tus datos es cifrarlos. Sin embargo, esto plantea el problema de cómo asegurar tus claves. Una forma de resolver este problema es utilizar un módulo de seguridad de hardware (HSM). Este es una tarjeta física, una pequeña computadora bloqueada que ha sido diseñada para ser resistente a manipulaciones. Puedes almacenar tus claves allí y nadie, incluso con acceso físico al sistema, podrá acceder a tus datos o claves. La variante Hyper Protect de esto, se trata de una rebanada discreta de un HSM combinado con una pila de software segura, y se conoce como IBM Cloud Hyper Protect Crypto Services.
Antes de utilizar los HSM, deben inicializarse con una clave maestra que tenga confianza y poder absoluto. Una vez hecho esto, el HSM estará listo para usarse. El servicio de criptografía y los usuarios de HSM son un poco diferentes de otros en el mercado, ya que tienen el modelo de mantener tu propia clave (keep your own key), no solo traer tu propia clave. Esto significa que nunca vemos los datos de tu clave durante el proceso de inicialización, por lo que no tienes que extender tu modelo de confianza. Sin embargo, también significa que debes pasar por este proceso de inicialización tú mismo, lo que llamamos la ceremonia de claves.
Ceremonia de claves
Una forma popular de hacer la ceremonia de claves es utilizando nuestra interfaz de línea de comandos confiable (Trusted Key Entry Command Line Interface). Otra forma es utilizar tarjetas inteligentes y un lector de tarjetas inteligentes. Estas tarjetas se pueden utilizar para almacenar datos de la clave maestra en ellas, distribuyendo los datos en múltiples tarjetas de forma segura en diferentes ubicaciones y en posesión de personas de confianza en tu organización.
Una vez inicializado, el HSM puede almacenar claves raíz o claves estándar, que a su vez se pueden utilizar con tecnologías como el cifrado de sobre (envelope encryption) para proteger los datos de tus clientes en el almacenamiento de objetos, en bases de datos o en certificados TLS, entre otros casos de uso.
El demo
Dentro de mi organización, tengo diferentes equipos que poseen sus propias aplicaciones nativas de la nube. Para reducir costos, quiero que todos puedan escribir en una base de datos consolidada. Sin embargo, quiero poder aislar los datos entre los diferentes equipos, de manera que un equipo no pueda leer los datos de otro. Para lograr esto de manera sencilla, cada aplicación toma datos de entrada y los cifra con una clave diferente por equipo antes de almacenarlos en la base de datos compartida. Esta base de datos, por cierto, es otro de los servicios de Hyper Protect.
Los requisitos de confidencialidad se transfieren claramente al almacenamiento de datos a largo plazo. Así que también tenemos versiones encriptadas de la base de datos que se ejecutan dentro de recintos de seguridad donde los datos y los registros están encriptados y no hay acceso a la máquina subyacente.
Desplegaremos las aplicaciones en instancias de servidores virtuales, alojadas en otro recinto de seguridad conocido como Hyper Protect Virtual Servers. De esta manera, los datos en tiempo de ejecución también están protegidos y solo yo, con la clave SSH inyectada en el momento de la creación del servicio, puedo acceder a las aplicaciones.
Despleguemos una instancia de base de datos en el backend, luego hagamos SSH en el servidor virtual, iniciemos las aplicaciones y conectemos todo.
El flujo de datos es simple. Las aplicaciones exponen una interfaz de usuario web, reciben esa información, utilizan un puerto de claves del servicio de criptografía en tiempo de ejecución para cifrar los datos antes de almacenarlos en la base de datos en el backend.
Agreguemos datos y usemos las aplicaciones. Ingresaré algunos datos aquí, los guardaré en la base de datos y luego podré ir a otra pantalla y confirmar que puedo recuperar esos datos de la base de datos utilizando la clave almacenada en la memoria para descifrar los datos dentro del tiempo de ejecución de la aplicación. Todo está encriptado de extremo a extremo durante el transporte y en reposo.
Cambiemos de equipo, eligiendo otra clave del servicio de criptografía y otra aplicación. Guardemos datos con esta configuración y luego intentemos leer los datos de la aplicación del primer equipo. Está cifrado, no podemos leerlo. Hemos consolidado nuestro conjunto de datos pero también hemos mantenido a los equipos aislados. Estos son los servicios de Hyper Protect de IBM Cloud que ayudan a mantener mis datos confidenciales.
Resumen
En resumen, desplegamos un servidor virtual seguro, creamos una base de datos protegida y creamos una instancia del servicio de criptografía Hyper Protect. Luego, inicializamos el HSM usando estos tres servicios diferentes. Desplegamos una aplicación que puede tomar datos del usuario final, cifrarlos utilizando diferentes claves para equipos diferentes provenientes del servicio de criptografía, antes de almacenarlos en una base de datos consolidada. Esto crea una plataforma cohesiva de computación confidencial en IBM Cloud.
Pasos | Servicios IBM Cloud |
---|---|
1 | Servidor virtual seguro |
2 | Base de datos con encriptación |
3 | Servicio de criptografía Hyper Protect |
Preguntas frecuentes
1. ¿Qué es un HSM?
Un HSM es un módulo de seguridad de hardware, una tarjeta física diseñada para proteger claves y datos confidenciales.
2. ¿Qué significa «Keep Your Own Key»?
Significa que nunca accedemos a los datos de tu clave durante la inicialización, pero también implica que debes pasar por el proceso de inicialización de claves tú mismo.
3. ¿Cómo puedo distribuir de manera segura los datos de la clave maestra?
Puedes utilizar tarjetas inteligentes y un lector de tarjetas inteligentes para almacenar los datos de la clave maestra en diferentes tarjetas y ubicaciones seguras.
4. ¿Cómo se protegen los datos en tiempo de ejecución?
Utilizamos servidores virtuales seguros y recintos de seguridad para proteger los datos en tiempo de ejecución y garantizar que solo tú puedas acceder a las aplicaciones.
Gracias por leer este artículo. Si tienes alguna pregunta, déjanos un comentario a continuación. Y no olvides consultar los enlaces a continuación para obtener más información sobre los servicios de IBM Cloud Hyper Protect.
¡Hasta la próxima! No olvides revisar nuestros artículos relacionados.
¿Te ha resultado útil??
0 / 0
Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!