Informe eSAMCid sobre protocolos criptográficos

Inicio Anterior Abajo Siguiente

4. Protocolos de criptografía funcional

4.1 Criptografía basada en identidades
4.1.1 Aplicaciones
4.1.2 Esquemas concretos existentes
4.2 Criptografía basada en atributos
4.2.1 Aplicaciones
4.2.2 Esquemas concretos existentes

Tal y como explicamos en la Sección 1.4, en los últimos años se han propusto paradigmas criptográficos alternativos al paradigma clásico de un emisor y un receptor, ambos con una pareja de claves privada y pública. El paradigma de la criptografía funcional es el que ha recibido más atención, debido a sus potenciales aplicaciones en situaciones digitales actuales. Este paradigma incluye como casos particulares destacados la criptografía basada en identidades y la criptografía basada en atributos, que ya hemos introducido en la Sección 1.4. Repasamos a continuación algunas aplicaciones de esos dos paradigmas concretos, y algunas propuestas existentes en la literatura para dichos paradigmas.

4.1. Criptografía basada en identidades

Un criptosistema (ya sea de cifrado o de firma) basado en identidades es esencialmente un sistema de clave pública en el que la clave pública de cada usuario es su identidad, pk = id, y en el que la clave secreta asociada a cada identidad la debe calcula una autoridad de confianza.

4.1.1. Aplicaciones

Un sistema de cifrado basado en identidades tiene aplicaciones tanto teóricas como prácticas.

- A nivel práctico, además de facilitar el tema de la gestión de certificados digitales (que es uno de los inconvenientes de la criptografía de clave pública estándar), otra peculiaridad del cifrado basado en identidades es que se puede cifrar un mensaje dirigido a una persona id incluso antes de que esa persona posea una clave secreta de descifrado (por ejemplo, antes de que empiece a formar parte de una comunidad concreta). Y no necesariamente debe ser una persona la designada por id, como vemos en la aplicación que explicamos en el párrafo siguiente.

Supongamos que una persona dispone de información muy confidencial que quiere ir filtrando al público de manera gradual: una parte de la información cada mes, por ejemplo. Es un escenario similar al de Wikileaks. Una posibilidad es que esa persona cifre toda la información usando un sistema de cifrado basado en identidades, cifrando cada parte de la información para la identidad id1 = enero, id2 = febrero, etc. Toda esa información cifrada se puede hacer pública a la vez. Luego, cada mes, el filtrador (que actúa también como entidad de confianza que genera las claves secretas) sólo tiene que calcular y publicar la clave secreta de descifrado asociada a la identidad correspondiente a ese mes. De esa manera, todo el mundo podrá descifrar la información correspondiente a ese mes.

- A nivel teórico, un sistema de cifrado basado en identidades directamente implica un sistema estándar de firma digital, como observó Moni Naor en 2003 (comunicación informal). Además, se puede usar un sistema de cifrado basado en identidades para aumentar el sistema de seguridad de un sistema de cifrado de clave pública estándar, hasta el nivel máximo (seguridad IND-CCA), tal y como se explica en [10].

4.1.2. Esquemas concretos existentes

El primer sistema eficiente de cifrado basado en identidades que se propuso funcionaba en el escenario de emparejamientos bilineales [11]. En el escenario basado en la dificultad de factorización, hay algunas propuestas no muy eficientes [38]. Recientemente, se ha propuesto un (complicado) sistema de cifrado basado en identidades que funciona en el escenario clásico basado en la dificultad del problema de logaritmo discreto, sin emparejamientos bilineales [20]. Por último, también hay propuestas de sistemas de cifrado basado en identidades con seguridad post-cuántica, basados en retículos euclideanos [15].

En lo que refiere a sistemas de firma basados en identidades, son mucho más fáciles de diseñar; de hecho, hay una construcción genérica para obtener un sistema de firma basado en identidades a partir de un sistema de firma estándar [6], que también se puede extender para el caso de algunos sistemas de firma con propiedades adicionales (por ejemplo, las firmas ciegas) [24].

4.2. Criptografía basada en atributos

En la criptografía basada en atributos, las operaciones secretas (descifrar o firmar) las pueden realizar sólo aquellos usuarios cuyos atributos satisfagan una determinada política de acceso. Una de las propiedades más interesantes de estos sistemas es que el hecho de realizar la operación secreta no revela nada sobre el usuario, aparte del hecho que sus atributos son autorizados. Por tanto, es una herramienta criptográfica muy útil para aplicaciones en las que se desea un cierto nivel de privacidad, a la vez que se desea restringir determinadas operaciones a usuarios suficientemente cualificados o autorizados.

4.2.1. Aplicaciones

Los sistemas criptográficos basados en atributos tienen muchas aplicaciones prácticas. También, debido a la complejidad de su definición, han dado pie a relaciones teóricas con otras herramientas criptográficas. Repasamos a continuación algunas aplicaciones prácticas y teóricas.

- A nivel práctico, un sistema de cifrado basado en atributos se puede usar para cifrar los datos médicos de un hospital, referidos a pacientes. Diferentes datos de los pacientes pueden tener un grado de confidencialidad diferente: a lo mejor algunos datos pueden ser consultados (descifrados) por cualquier enfermero o médico del hospital en el que esté ingresado, mientras que otros datos sólo pueden ser consultados por los médicos de ese hospital, y quizás otros datos puedan ser consultados por cualquier médico de cualquier hospital del sistema de salud. Usando diferentes políticas de acceso para cifrar cada uno de esos datos, se obtiene la propiedad de confidencialidad deseada.

La misma idea puede usarse en un sistema de almacenamiento en la Nube: un usuario puede cifrar sus datos confidenciales para que los almacene un servidor Nube, con diferentes políticas de acceso, de manera que más tarde el mismo usuario (o tal vez también otros) puedan descifrar partes de esos datos en función del dispositivo que usen (ordenador, teléfono móvil...), de la fecha, de las credenciales que puedan poseer otros usuarios, etc.

También se pueden usar los sistemas basados en atributos (de cifrado o de firma) para implementar un sistema de control de acceso restringido pero privado: cada usuario recibe una clave secreta en función de sus atributos (sus credenciales personales, o el tipo de suscripción que haya pagado, por ejemplo), y eso le permite acceder a ciertas partes de un sistema de manera privada (contestando a un mensaje reto que debe firmar con una firma basada en atributos, por ejemplo) o descifrar ciertos contenidos digitales (por ejemplo series o películas) que vaya emitiendo un sistema de contenidos de pago.

- A nivel teórico, el concepto de cifrado basado en atributos está relacionado con sistemas de delegación verificable de cálculo de funciones [44] y también con otros conceptos criptográficos que han recibido mucha atención en los últimos años, como el cifrado completamente homomórfico y la ofuscación indistinguible [25].

4.2.2. Esquemas concretos existentes

El escenario matemático en el que se han propuesto más sistemas basados en atributos es el de los emparejamientos bilineales. Hay sistemas de cifrado o de firma que pueden soportar cualquier tipo de política de acceso [3952] y también hay otros, más eficientes, que sólo sirven para unas políticas de acceso determinadas (como las de umbral) [334].

En el escenario basado en la dificultad de factorización, sólo existen propuestas de firma basada en atributos [32], ninguna de cifrado.

En el escenario clásico basado en la dificultad del logaritmo discreto, sin emparejamientos bilineales, los únicos sistemas existentes funcionan sólo para situaciones restringidas a pocos usuarios [33].

Por último, que aporten seguridad post-cuántica, existen varias propuestas de sistemas criptográficos basados en atributos diseñados a partir de los retículos euclideanos [2955].

Inicio Anterior Arriba Siguiente