Asegurando la confidencialidad mediante atributos y políticas de acceso con criptografía CP-ABE
En ÉGIDA, abordamos la investigación en tecnologías de seguridad y privacidad con un enfoque claro: la protección de la privacidad de la información y acercar estas tecnologías de seguridad y privacidad a las empresas.
Uno de los objetivos técnicos a desarrollar en el proyecto se centra en la criptografía aplicada al procesamiento y comunicación segura de la información.
Pero ¿qué es exactamente la criptografía?
Se entiende por criptografía toda aquella tecnología, esquema o estrategia que permite codificar un mensaje con la finalidad de garantizar su confidencialidad. La criptografía es tan antigua como el ser humano, aunque su estudio comenzase a formalizarse a partir de la segunda guerra mundial. A pesar de ello, los “ingredientes” siguen siendo los mismos desde hace siglos: un mensaje original que se quiere codificar, una clave secreta que permite su codificación y un algoritmo que utiliza esa clave para codificar el mensaje original.
En la criptografía moderna el algoritmo que codifica la información está constituido por operaciones matemáticas complejas, pero sigue siendo imprescindible tener una clave que permita la codificación y descodificación. Esta clave puede ser la misma para cifrar y descifrar, o puede ser diferente. Esto da lugar a dos tipos de criptografía: simétrica y asimétrica.
La criptografía simétrica: simple y efectiva
La criptografía simétrica basa su funcionamiento en una idea muy sencilla: la misma clave que codifica un mensaje puede descodificarlo. Este tipo de cifrado es rápido y ligero, por lo que es ampliamente utilizado en el mundo real.
Es decir, si Alice quiere enviar un mensaje a Bob sin que se entere Charlie, basta con que Alice y Bob decidan qué clave quieren utilizar. Pero claro, ¿cómo chivarse la clave sin que se entere Charlie? Podrían cifrarla, pero para eso hace falta una clave que deben compartir y protegerla… Menudo dilema. Así que, ¿qué hacemos ahora?
La criptografía asimétrica
La criptografía asimétrica también se conoce como criptografía de clave pública. Este tipo de criptografía utiliza una clave pública para cifrar y una clave privada para descifrar. Lo vemos de forma más sencilla en esta tabla:
Persona usuaria | Clave secreta | Clave pública | Secreto compartido |
Alice | 15 | 3 | |
Bob | 25 | 5 | |
Charlie | 10 | 2 | |
Alice + Bob | 75 | ||
Alice + Charlie | 30 | ||
Bob + Charlie | 50 |
Si Alice quiere enviar un mensaje a Bob, Alice utiliza su clave secreta (15) y la clave pública de Bob (5) para obtener el secreto compartido, 75. Alice usará ese secreto compartido como clave para cifrar el mensaje que envíe a Bob, y así tendrá garantizada la confidencialidad. Como la clave secreta de Bob (25) y la clave pública de Alice (3) resultan el mismo secreto compartido (75), Bob puede descodificar el mensaje. En cambio, si este mensaje llegase por error a Charlie, este no podría leerlo, porque su secreto compartido con Alice es 30 y no 75.
Todo este sistema está muy bien, pero claro, ¿qué ocurre si Alice quiere enviar el mismo mensaje a Charlie y Bob? Con este tipo de cifrado, tendrá que cifrar el mensaje dos veces. Y si luego quiere remitir ese mensaje a una tercera persona, deberá cifrarlo otra vez. ¿No hay una forma más eficiente de lograr esto?
El cifrado basado en atributos: CP-ABE
Efectivamente, dentro del cifrado asimétrico, existe un tipo de cifrado relativamente nuevo llamado criptografía basada en atributos. De forma análoga al cifrado asimétrico típico, se utilizan claves diferentes para el cifrado y el descifrado. Pero, al contrario que en el caso anterior, no se trabaja con secretos compartidos, sino con políticas y atributos. Este cifrado se llama CP-ABE.
La idea del funcionamiento del CP-ABE es simple: las personas usuarias tienen claves secretas basadas en atributos. Y ya está. No tienen una clave pública. Así que, ¿cómo se cifra la información? mediante políticas de acceso. En cierto modo, la tabla anterior se puede reescribir de la siguiente manera:
Persona usuaria | Atributos |
Alice | Jefa, Barcelona, Departamento A |
Bob | Ingeniero, Murcia, Departamento B |
Charlie | Ingeniero, Murcia, Departamento C |
Supongamos que Alice quiere enviar uno de sus mensajes secretos a Bob. Con CP-ABE cifrará el mensaje usando como “clave” la siguiente política de acceso: (Ingeniero AND Departamento B). Dado que Bob cumple la política (es ingeniero y del departamento B), podrá leer el mensaje que le envía Alice. Sin embargo, Charlie, aunque también es ingeniero, no cumple la política del todo (es del departamento C, no del B) y, por lo tanto, no podrá leerlo. ¡La confidencialidad está garantizada!.
Si posteriormente Alice decide enviar un mensaje a ambos, puede emplear la siguiente política: (Ingeniero AND Murcia). Como Bob y Charlie la cumplen, Alice solo tendrá que codificar el mensaje una vez, y podrá ser leído por ambos.
Sobre ÉGIDA
ÉGIDA es la primera y única red nacional de tecnologías de seguridad y privacidad formada por centros tecnológicos de excelencia. El proyecto se enmarca dentro de la apuesta nacional para desarrollar investigación orientada al mercado impulsada por el Ministerio de Ciencia e Innovación y el Centro de Desarrollo Tecnológico Industrial (CDTI).
El Consorcio está formado por Gradiant, Fidesol y los centros de BRTA (Basque Research and Technology Alliance) Ikerlan y Vicomtech.