ABE basada en políticas de texto cifrado (CP-ABE)
Estudie CP-ABE, donde quien cifra incorpora una política de acceso y el descifrado requiere atributos que satisfagan dicha política.
ABE basada en políticas de texto cifrado (CP-ABE) es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
Idea central de CP-ABE
En el cifrado basado en atributos con política en el texto cifrado (CP-ABE), quien cifra incorpora una política de acceso directamente en el texto cifrado. El usuario posee una clave secreta que codifica su conjunto de atributos. El descifrado tiene éxito si y solo si los atributos del usuario satisfacen la política de acceso incorporada en el texto cifrado. Quien cifra controla quién puede descifrar al especificar la política en el momento del cifrado.
Políticas de acceso en CP-ABE
Las políticas de acceso en CP-ABE se expresan como fórmulas booleanas monótonas sobre atributos, normalmente representadas mediante esquemas de compartición lineal de secretos (LSSS) o árboles de acceso. La política puede incluir compuertas AND, OR y de umbral. Una compuerta AND requiere todos los atributos enumerados; una compuerta OR requiere cualquiera de ellos; una compuerta de umbral t-of-n requiere al menos t de los n atributos enumerados. Estas compuertas pueden anidarse para expresar estructuras de acceso complejas.
Ejemplo de política de CP-ABE
Considere un sistema de información hospitalaria. Un informe médico podría cifrarse con la política: (role=Doctor AND department=Cardiology) OR role=Administrator. Un cardiólogo tiene los atributos {role=Doctor, department=Cardiology} y puede descifrarlo. Un radiólogo tiene los atributos {role=Doctor, department=Radiology} y no puede descifrarlo porque falta department=Cardiology. El administrador tiene {role=Administrator} y siempre puede descifrarlo. La política se impone criptográficamente, no solo mediante listas de control de acceso.
Construcción CP-ABE de Waters (2011)
La construcción práctica de CP-ABE más influyente es la de Waters (2011), basada en emparejamientos bilineales sobre curvas elípticas. En esta construcción, la autoridad genera un secreto maestro y una clave pública. Las claves secretas de los usuarios se generan para conjuntos de atributos específicos. El cifrado consiste en crear un texto cifrado que codifica la política de acceso mediante un esquema de compartición lineal de secretos. La seguridad se demuestra bajo el supuesto decisional de Diffie-Hellman bilineal (DBDH).
Universo pequeño frente a universo grande
Los esquemas CP-ABE se diferencian en la forma de gestionar el universo de atributos. Las construcciones de universo pequeño requieren fijar el conjunto completo de atributos posibles en el momento de la configuración, lo que limita la flexibilidad, pero permite esquemas más eficientes. Las construcciones de universo grande (Rouselakis-Waters 2013, Attrapadung 2014) permiten utilizar atributos de un universo de tamaño exponencial sin fijarlos durante la configuración, de modo que pueden usarse atributos como identificadores de usuario o marcas de tiempo sin declarar previamente todas las posibilidades.
Delegación y jerarquía de claves
CP-ABE puede admitir la delegación de claves: una autoridad puede emitir a un subordinado claves para un subconjunto de atributos, y este puede restringir aún más las capacidades de la clave, pero no ampliarlas. Esto permite una gestión jerárquica de atributos: una autoridad de nivel corporativo emite claves de departamento y las autoridades de departamento emiten claves para los empleados. Esta propiedad se denomina seguridad de la delegación de claves: una clave delegada no puede utilizarse para descifrar nada que el delegador no pudiera descifrar.
Bibliotecas para CP-ABE
Existen implementaciones prácticas de CP-ABE en la biblioteca Java Pairing-Based Cryptography (jpbc) y en el framework de Python charm-crypto, adecuado para la creación de prototipos. La biblioteca OpenABE (Zeutro) es una implementación en C++ compatible con CP-ABE y KP-ABE, adecuada para su uso en producción. RABE es una implementación de CP-ABE en Rust. Estas bibliotecas implementan operaciones basadas en emparejamientos sobre las curvas BN-256 y BLS12-381.
CP-ABE para el almacenamiento en la nube
La aplicación de referencia de CP-ABE es el control de acceso granular en el almacenamiento en la nube. El propietario de un archivo cifra un documento con una política antes de subirlo. Cualquier usuario cuyos atributos satisfagan la política puede descargarlo y descifrarlo, sin que el proveedor de la nube sepa quién accederá a él ni tenga que mantener listas de control de acceso. El proveedor de la nube sirve los textos cifrados a cualquiera que los solicite; la política se impone en el propio texto cifrado.
Características de rendimiento de CP-ABE
Las operaciones de CP-ABE implican cálculos de emparejamiento bilineal, que son considerablemente más lentos que el cifrado simétrico. En una CPU moderna, una sola operación de emparejamiento sobre BN-256 tarda aproximadamente 1-3 ms. El coste del descifrado crece linealmente con el número de atributos satisfechos. Para políticas con 10-20 atributos, el descifrado tarda entre 10 y 60 ms, un tiempo aceptable para aplicaciones orientadas al usuario, pero demasiado lento para sistemas automatizados de alta frecuencia.
Ocultación de atributos en CP-ABE
El CP-ABE estándar revela la política de acceso a cualquiera que vea el texto cifrado: la política no está cifrada. El CP-ABE con política oculta (o CP-ABE con política parcialmente oculta) oculta algunos o todos los atributos de la política frente a las partes no autorizadas, lo que proporciona privacidad adicional. Conseguir una ocultación completa de la política requiere construcciones más complejas y un sobrecoste de rendimiento considerablemente mayor. La mayoría de los despliegues prácticos utilizan CP-ABE estándar (con la política visible) y aceptan que la política de acceso sea observable.
Desafío de la revocación de claves en CP-ABE
La revocación de claves en CP-ABE constituye un desafío práctico importante. Si cambian los atributos de un usuario (abandona un departamento o se revocan sus credenciales), volver a cifrar todos los textos cifrados que se cifraron para sus atributos anteriores resulta costoso. Entre los enfoques prácticos se incluyen el versionado de atributos (incrementar un número de versión en cada atributo), la reencriptación por proxy para actualizar los textos cifrados o la combinación de CP-ABE con atributos basados en el tiempo, exigiendo una actualización periódica de la clave por parte de la autoridad.
Cuestionario sobre las políticas de CP-ABE
¿Dónde se incorpora la política de acceso en CP-ABE?
Repaso de CP-ABE
CP-ABE incorpora las políticas de acceso en los textos cifrados y las claves de usuario codifican conjuntos de atributos. El descifrado tiene éxito cuando los atributos satisfacen la política (compuertas AND, OR y de umbral). Waters 2011 es la construcción práctica seminal basada en emparejamientos bilineales. Las variantes de universo grande admiten espacios de atributos dinámicos. CP-ABE se utiliza en el almacenamiento en la nube para ofrecer un control de acceso granular sin ACL en el servidor. La revocación de claves sigue siendo un desafío práctico, que se aborda mediante el versionado de atributos o la reencriptación por proxy.
Aprende Cryptology Academy con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 67
- Lecciones
- 261
Preguntas frecuentes
¿La lección «ABE basada en políticas de texto cifrado (CP-ABE)» es gratis?
Sí — el texto completo de «ABE basada en políticas de texto cifrado (CP-ABE)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «ABE basada en políticas de texto cifrado (CP-ABE)»?
Estudie CP-ABE, donde quien cifra incorpora una política de acceso y el descifrado requiere atributos que satisfagan dicha política. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «ABE basada en políticas de texto cifrado (CP-ABE)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Más allá de la clave pública: cifrado funcional
- ABE basada en políticas de texto cifrado (CP-ABE)
- ABE basada en políticas de claves (KP-ABE) y comparación
- Aplicaciones prácticas de ABE