El cifrado es un componente crítico en una estrategia de defensa exhaustiva para la seguridad de la información. La defensa en profundidad es un enfoque de seguridad que implica una serie de mecanismos de protección que se refuerzan entre sí. Si un mecanismo de seguridad falla, hay por lo menos otro más —y esperemos que más de uno— que sigue funcionando para preservar los sistemas y los datos. A medida que más organizaciones buscan operar más rápidamente y a escala, necesitan formas de adherirse a los requisitos críticos de cumplimiento y mejorar la seguridad de los datos. El cifrado, cuando se utiliza correctamente, puede proporcionar una capa adicional de protección por encima del control de acceso básico.

El cifrado como parte de tu estrategia de seguridad

Una estrategia de seguridad eficaz comienza con un control estricto del acceso y una labor continua para definir el menor privilegio necesario para que las personas o los sistemas accedan a los datos. 

El cifrado es un componente fundamental de una estrategia de defensa en profundidad porque es capaz de mitigar las debilidades de los mecanismos primarios de control de acceso, así como otros riesgos. Si los datos se cifran utilizando una clave fuerte, siempre y cuando la clave de descifrado no esté en el mismo sistema que tus datos, es inviable desde el punto de vista informático que un pirata descifre estos últimos. Para demostrar lo inviable que es, fijémonos en el Estándar de Cifrado Avanzado (AES) con claves de 256 bits (AES-256).  Se trata del algoritmo más sólido adoptado por el sector y aprobado por las autoridades para cifrar datos con claves simétricas. El cifrado de clave simétrica significa sencillamente que usamos la misma clave para cifrar y descifrar los datos. AES-256 es la tecnología que usamos para el cifrado simétrico de datos en AWS. Tardaríamos al menos un billón de años en romperlo con la mejor tecnología informática actual. Los estudios que se están realizando hoy en día apuntan a que incluso la disponibilidad futura de la informática cuántica no reducirá sustancialmente el tiempo que se tardaría en romper el cifrado AES-256.

Pero, ¿qué sucede si, por error, creas políticas de acceso excesivamente permisivas a tus datos? Un sistema de cifrado y gestión de claves bien diseñado también puede evitar que esto se convierta en un problema, porque separa el acceso a la clave de descifrado del acceso a tus datos.

Requisitos para cualquier solución de cifrado

Para sacar el máximo partido de una solución de cifrado, las organizaciones deben plantearse tres aspectos:

  1. Proteger las claves en reposo: ¿Los sistemas que usan claves de cifrado están protegidos, de modo que las claves nunca puedan utilizarse al margen del sistema? ¿Utilizan estos sistemas técnicas criptográficas modernas para crear textos cifrados fuertes que resistan cualquier tipo de ataque?
  2. Gestión independiente de las claves: ¿Es necesaria autorización para utilizar claves de cifrado y descifrado independientemente de cómo se controle el acceso a los datos subyacentes?

Proteger las claves en reposo

Cuando se utilizan soluciones de gestión de claves de terceros, puede resultar difícil calibrar el riesgo de que tus claves de texto plano se filtren y se utilicen al margen de la solución. Las claves deben estar almacenadas en algún lugar, y no siempre se puede saber o auditar todas las formas en que esos sistemas de almacenamiento previenen accesos no autorizados. La mejor práctica para maximizar la seguridad de las claves es usar un módulo de seguridad de hardware (HSM). Se trata de un dispositivo informático especializado que lleva incorporados varios controles de seguridad para evitar que las claves de cifrado salgan del dispositivo de manera que un adversario pueda acceder a ellas y utilizarlas. 

Uno de esos controles en los modernos HSM es la resistencia a la manipulación, en la que el dispositivo detecta los intentos físicos o lógicos de acceder a claves de texto plano sin autorización, y las destruye antes de que el ataque prospere.  Las organizaciones deben buscar proveedores de servicios en la nube que gestionen una flota de HSM en su nombre o que ofrezcan la posibilidad de que las empresas gestionen sus propios HSM para asegurarse de poder importar claves desde los sistemas locales a la nube.

Una técnica moderna de gestión de claves se denomina envelope encryption. Esta permite cifrar y descifrar datos en el ordenador en el que se encuentren los datos de los clientes en texto plano, en lugar de enviar todos los datos al HSM, sin dejar de ofrecer muchas de las ventajas de un plan centralizado. La única forma de descifrar los datos es enviar de nuevo al HSM la clave de los datos cifrada, que solo pesa unos pocos cientos de bytes, y que a continuación se descifra y se devuelve a la base de datos para descifrar los datos reales. El requisito para descifrar la clave de los datos en el sistema central de gestión de claves mediante un HSM ofrece una auditoría y un control centralizados sin necesidad de una carga masiva en la red. 

Gestión independiente de claves

Incluso cuando las claves sensibles en texto plano están protegidas en un HSM, estas todavía deben ser utilizadas para que sean útiles. Las organizaciones se encargan de gestionar los controles de acceso para determinar quién o qué puede hacer que se utilicen según qué claves de cifrado y en qué condiciones. Una práctica óptima en este caso es contar con un mecanismo para gestionar el acceso a las claves que sea independiente del utilizado para gestionar el acceso a los datos. Las organizaciones deben seguir empleando mecanismos automatizados para verificar que cualquier cambio en los permisos de las claves se revise de cara a comprobar su exactitud. Configurar el sistema de gestión de claves de esta manera contribuye a la separación de tareas necesaria para evitar que, accidentalmente, se escalen los privilegios a usuarios no autorizados para descifrar datos.  

Cualquier proveedor de servicios en la nube (CSP) que maneje los datos en texto plano de una organización debe ofrecer la funcionalidad de cifrar los datos en movimiento y en reposo. El CSP tiene que proteger las claves en texto plano en los HSM y ofrecer la capacidad de gestionar los permisos de las claves independientemente de los permisos de los datos. Las compañías deben buscar proveedores que ofrezcan las herramientas de auditoría para detectar cuándo se realizan cambios en los permisos de las claves que puedan permitir la escalada de privilegios.

Simplificación de los protocolos de cifrado

Además de proteger y gestionar el acceso a las claves, el protocolo y los algoritmos utilizados durante el cifrado deben ser lo más eficaces posible para minimizar los errores y maximizar el rendimiento. Al cifrar los datos en movimiento, el protocolo de facto utilizado es el protocolo de Seguridad de Capa de Transporte (TLS). Muchos proveedores de dispositivos de red y CSP han utilizado históricamente el proyecto de código abierto OpenSSL, que contiene una implantación de TLS que lleva décadas utilizándose. La base de código OpenSSL es grande, compleja y difícil de entender o auditar. Cuando OpenSSL tiene fallos, la comunidad mundial de desarrolladores se enfrenta al reto no solo de solucionar y probar los cambios, sino también de asegurarse de que las correcciones resultantes por sí mismas no introduzcan nuevos fallos o afecten al rendimiento.

La respuesta de AWS a estos desafíos fue desarrollar y lanzar una fuente abierta s2n (signal to noise, o señal a ruido) en junio de 2015. Diseñamos el s2n para que fuera mucho más pequeño y sencillo, y eliminamos muchas funcionalidades que rara vez se utilizaban. Cada vez que se construye la biblioteca, se realiza un extenso análisis de código estático. Los elementos clave del código se someten a una verificación formal en cada cambio mediante herramientas matemáticas desarrolladas por el Grupo de Razonamiento Automatizado de AWS. Lanzamos y otorgamos licencias para s2n con la licencia de Apache 2.0 y puedes encontrarlo, junto con un completo entorno de desarrollo y un amplio conjunto de pruebas automatizadas, alojado en GitHub. El conjunto de pruebas es extremadamente amplio y completo; de hecho, ¡multiplica por 10 las líneas de código en comparación con el código s2n que pretende testar!

s2n se utiliza en los servicios AWS en los puntos finales de API que terminan las conexiones TLS. TLS utiliza criptografía y claves asimétricas que incluyen certificados digitales que demuestran la titularidad de esas claves. Esto permite a los usuarios finales confiar en que el punto final al que están enviando los datos cifrados esté bajo el control de la identidad correcta. 

Resumen

En AWS, la seguridad es nuestra máxima prioridad y nuestro objetivo es facilitarte al máximo el uso del cifrado para proteger tus datos. Al desarrollar y soportar herramientas de cifrado que funcionan tanto en la nube como fuera de ella, te ayudamos a preservar tus datos y a garantizar el cumplimiento en todo tu entorno. Ponemos la seguridad en el centro de todo lo que hacemos para asegurarnos de que puedas proteger sus datos a través de la mejor tecnología de seguridad de una manera rentable.

About Author

Carlos Sanchiz

Manager Solutions Architecture, Amazon Web Services

Deja un comentario