Notas protegidas que se autodestruyen

“Este mensaje se auto-destruirá en cinco segundos”, hace tiempo que ésta frase de película ha pasado a ser una realidad gracias a aplicación web, cuyos mensajes solo pueden ser leídos una vez. [ Privnote ]
Privnote, es un servicio que permite redactar un mensaje, subirlo a sus servidores para ser encriptado y luego nos brinda un link. Este link al ser abierto, o sea cuando el mensaje es leido por el destinatario, se audoestruye en cuestión de segundos mediante una pequeña bomba XD ok no.. de los servidores de Privnote.
La web trabaja de la siguiente forma:
  1. La nota es subida por el usuario.
  2. Se genera un ID único de 25 caracteres alfanuméricos.
  3. Se genera una clave de cifrado de 32 caracteres alfanuméricos que mezcla mayúsculas y minúsculas.
  4. La nota se cifra con la clave usando Rijndael de 256 bits en modo CBC y se almacena en un fichero del servidor.
  5. Se guarda el ID y la clave en una base de datos. Antes de almacenarse, la clave se cifra con un doble SHA1.
  6. Se le proporciona al cliente un link que contiene el ID y la clave.
  7. Cuando el receptor visita el link se hace un doble SHA1 de la clave y se comprueban ID y clave en la base de datos.
  8. Si coinciden se descifra, muestra y elimina el mensaje, además de eliminar ID y clave de la base de datos.
¿Cuáles son las ventajas de este modelo?
El administrador del sitio no puede ver las notas, ya que la clave de cifrado está almacenada con un doble SHA1.
Si se comprometiera la base de datos, las notas seguirían a salvo ya que se encuentran en el servidor web. En caso de comprometerse el servidor web o ambos, todo seguiría a salvo, ya que un atacante no puede recuperar las claves de cifrado, al igual que el administrador del sitio.
En caso de realizar fuerza bruta sobre la clave, tiene 32 caracteres alfanuméricos que mezclan mayúsculas / minúsculas en doble SHA1 por lo que es (aún) demasiado compleja como para romperla en un tiempo razonable.
Enlace: PRIVNOTE