Criptografía basada en certificados
Introducida en 2003 por Craig Gentry[1] la criptografía basada en certificados o CBC (acrónimo de Certificate-Based Cryptography) está basado en la criptografía basada en identidad pero eliminado algunas de sus deficiencias apoyándose en PKI.
Esquema básico de funcionamiento
En este tipo de criptografía los usuarios generan su propio par de claves pública y privada. Por otra parte existe una Autoridad de Certificación o CA (acrónimo de Certificate Authority) que usa cifrado basado en identidad. Los usuarios generan peticiones a la CA para que esta genere certificados de la identidad del usuario y de su clave pública. Es preciso observar que este certificado tiene toda la funcionalidad de un certificado PKI convencional, y por tanto puede ser usado como prueba de la actual certificación e incluso de una clave de firma (hay una certificación explícita). Este certificado también puede ser usado como clave de cifrado (hay una certificación implícita).
Cifrado
En 2003 Gentry[1] propone el primer sistema de cifrado basado en certificados también llamado CBE (acrónimo de Certificate-Based Encryption). Los certificados dados por la CBC pueden ser usados para cifrar. Alice puede doblemente cifrar un mensaje a Bob de tal forma que Bob necesite su clave privada y el certificado actualizado de la CA para que pueda descifrarlo. Por tanto podemos considerar el certificado como una clave de descifrado parcial. Observar que hemos quitado algunos de los problemas del cifrado en la criptografía basada en identidad:
- Podemos eliminar consultas sobre el estado del certificado ya que basta con disponer del certificado actualizado para descifrar. Los usuarios cuando solicitan una petición de certificación especifican a la CA un tiempo de vida largo. Para implementar ese tiempo de vida largo la CA puede usar certificados con tiempo de vida corto. Cuanta más seguridad se requiera el tiempo de vida del certificado será más corto lo que provocará que se necesite una comunicación más regular de los usuario y la CA, y por tanto hacer el sistema más vulnerable a ataques (por ejemplo de denegación de servicio). Este riesgo puede ser reducido parcialmente usando una jerarquía de múltiples autoridades de certificación. Habrá que tomar una decisión de compromiso.
- En cualquier caso para gestionar la revocación necesitamos menos infraestructura que en las PKI tradicionales (CRL o OCSP)
- De esta forma simplificamos la revocación de certificados
- Aunque la CA conozca el certificado no tiene la clave privada y por tanto no puede descifrar el texto cifrado.
- No tenemos el problema de mantener secreta una distribución de claves, ya que los certificados pueden ser públicos
Firma
En 2004 Kang y otros[2] proponen el primer esquema de firma basada en certificados también llamado CBS (acrónimo de Certificate-Based Signature). El proceso de firma requiere la clave privada y el certificado actualizado. Para la verificación se requiere sólo la clave pública.
Implementaciones
Se usa criptografía basada en certificados en el sistema de codificación del contenido CSS (acrónimo de Content Scrambling System) que usan algunas películas de DVD para (mediante el cifrado de archivos y la introducción de las claves de cifrado en el reproductor hardware) intentar evitar la duplicación de discos.
Referencias
- Craig Gentry. Certificate-based encryption and the certificate revocation problem (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).. In EUROCRYPT, pages 272–293, 2003
- B.G. Kang, J. H. Park and S.G. Hahn.A certificate-based signature scheme. In CR-RSA '04, volume 2964 of LNCS, pages 99-111, Springer 2004