jueves, 16 de junio de 2011

¿Factura Electrónica? ¿Certificados digitales? (I)

Últimamente lo de factura electrónica suena por todas partes. Hasta a Manel le ha tocado. ¿Y eso qué es?.

El tema es fácil: no es más que alguien firmando con un certificado digital un fichero con los mismos datos que una factura tradicional.

¿Y qué es eso de un certificado digital? Pues es una aplicación del concepto de criptografía de clave pública.

¿Y qué es eso? Como no puedo seguir con evasivas, empezamos a ser constructivos ...

La criptografía asimétrica se apoya en la existencia de un par de claves: una pública - que puede conocer todo el mundo - , y una privada - guardada como oro en paño por el dueño de la clave - . La parte teórica sobre números primos, robustez de los algoritmos, ... nos la saltamos.

Tiene dos usos fundamentales :
  • Cifrado público, orientado a que sólo el destinatario pueda acceder al mensaje. El mensaje es cifrado con la clave pública del destinatario. Ese mensaje cifrado sólo puede ser descifrado con la clave privada del destinatario. Una comunicación basada en este cifrado es half-duplex. Pero si los dos extremos tienen pares de claves se podrán establecer dos canales que formarán un full-duplex.
  • Firma digital, que sirve para garantizar a los receptores del mensaje que el emisor es quien dice ser y su contenido no ha sido alterado. Se basa en coger el mensaje, pasarle una función hash y cifrar ese valor con la clave privada del emisor. El mensaje se transmite junto con su firma. Y cualquier destinatario que conozca la clave pública del emisor puede usarla con la firma para descifrarlo. Y compararlo con la función hash calculada nuevamente sobre el mensaje recibido. Si no son iguales, el mensaje ha sido alterado o no viene de quien se suponía.
Este sistema sólo tiene un punto flaco. ¿Cómo sabemos que la clave pública es de quien dice ser? Un certificado digital es un fichero informático que contiene una clave pública, los datos del propietario y una firma digital de los datos del certificado por parte de un tercero, llamado Autoridad Certificadora (CA) . Los certificados de las CA son firmados, a su vez, por otras CA, hasta llegar a las CA raíz - que nos suelen garantizar métodos seguros para obtener sus certificados públicos - .

¿CAs importantes? Muchas. Verisign. Thawte. Geotrust. Visa. Todas empresas privadas.

¿Para qué se usan los certificados? Quizás el uso más popular es el HTTPS. Todos los navegadores nos avisan cuando el certificado digital del servidor que nos manda las páginas no está firmado por una CA válida.

¿Y en España? ...

3 comentarios: