criptografia

zipeado

CrYptografia en WINRar

Winrar fue muy utilizado cunado el espacio de almacenamiento era un articulo de lujo.

Los archivos RAR están codificados con AES-256 en modo CBC para los archivos con formato RAR 5.0 y con AES-128 en modo CBC para RAR 4.x. La función de derivación de la clave en archivos RAR 5.0 esta basada en PBKDF2 usando HMAC-SHA256.

Por defecto, los archivos ZIP usan el cifrado AES-256 en modo CTR. Este cifrado puede ser incompatible con herramientas de descompresión antiguas. Puede activar la opción "Cifrado ZIP tradicional" en el diálogo de cifrado para activar el cifrado tradicional, que es menos seguro que el cifrado AES pero proporciona mayor compatibilidad con aplicaciones antiguas.

Aunque WinRAR permite usar AES-256 tanto en los formatos RAR como ZIP, los parámetros usados en la función de derivación de la clave en el formato RAR preveen que el cifrado en el formato RAR tenga una mayor resistencia a los ataques de fuerza bruta. Además el formato RAR permite cifrar los nombres de ficheros y otras propiedades suyas. Si necesita codificar información importante, es mejor que elija el formato de archivo RAR. Para que la seguridad sea efectiva, utilice contraseñas de al menos 8 caracteres. Evite usar palabras comunes en la contraseña ya que la hacen mas debil. En las contraseñas se diferencia entre mayúsculas y minúsculas. La longitud máxima de la contraseña es de 127 carácteres. Las contraseñas más largas se cortarán a la longitud máxima permitida.

Si la opción "Cifrar nombres de fichero" está desactivada las sumas de control en ficheros cifrados RAR 5.0 se modifican usando un algortitmo que depende de la contraseña. Esto es importante porque de otra forma puede ser posible adivinar el contenido del fichero basandose solo en la suma de control sin conocer la contraseña. Este riesgo es especialmente alto para ficheros pequeños o para la suma de control mas fuerte BLAKE2. No espere que estas sumas de control cifradas se parezcan a los valores habituales del CRC32 y BLAKE2. Si la opción "Cifrar nombres de fichero" está activada las sumas de control se almacenan sin modificación porque solo puede accederse a su valor con la contraseña correcta.

Recuerde que si olvida su contraseña, le será imposible recuperar los ficheros codificados, ni siquiera el autor de WinRAR puede extraer ficheros codificados.

crypto whatsapp

CrYptografia en Whatsapp

eL PROBLEMA NO ES EL ALGORITMO Y SOLO LA LLAVE, SINO LA CONFIANZA EN EL CARTERO QUE PUEDE VER Y ACCEDER A LAS LLAVES

GRU

Cuando instalas WhatsApp en tu dispositivo, se genera una pareja de claves pública y privada, llamada Identity Key Pair, para usar con un algoritmo de Criptografía de Curvas Elípticas. A continuación, se genera una segunda pareja de claves, Signed Pre Key, firmada con la clave privada de la pareja anterior. Por último, se genera un lote de parejas de claves, One-Time Pre Keys, para su uso posterior, y se irán renovando a medida que se agoten.

Cuando te registras con el servidor de WhatsApp, además de tu información de contacto, le envías la parte pública de tu Identity Key, la parte pública de tu Signed Pre Key y las partes públicas de tu lote inicial de One-Time Pre Keys.

Importante: la parte privada de tus claves nunca abandona tu dispositivo y ni WhatsApp ni nadie tiene acceso a ellas (en principio).

Cuando le envías un mensaje a otro usuario de WhatsApp, se produce el siguiente proceso:

  1. Tu terminal solicita y el servidor de WhatsApp te envía la parte pública de Identity Key, Signed Pre Key y de la primera One-Time Pre Keys del otro usuario.
  2. Tu terminal acuerda con el del otro usuario un secreto maestro derivado a partir de todas estas claves públicas intercambiadas entre ambos. Para ello se utiliza el protocolo de acuerdo de claves ECDH. Esta clave maestra se utiliza para crear mediante un algoritmo de HKDF una Root Key y las Chain Keys para cifrar posteriormente los mensajes intercambiados con un algoritmo de clave secreta.
  3. Cuando al otro usuario le llegue tu primer mensaje, se repetirá el proceso: recibirá la información pública de tus claves, con esa información y la de sus propias claves regenerará el secreto maestro y, a partir del mismo, la Root Key y las Chain Keys. Finalmente, borrará la One-Time Pre Key utilizada en el proceso, ya que, como su nombre indica, estas One-Time Pre Keys se usan una sola vez. A partir de este momento, ya está todo listo para empezar a cifrar la información intercambiada.

Los mensajes y sus adjuntos se cifran mediante el algoritmo AES en modo CBC, con claves de 256 bits de longitud y HMAC-SHA256 para autenticación. Vamos, criptografía robusta donde la haya.

Estas claves son efímeras: se derivan de las Chain Keys, las cuales se actualizan tras cada nuevo mensaje a partir de su valor previo y de la Root Key. Para cifrar cada mensaje intercambiado se crea su correspondiente clave efímera y, una vez usada, ni se reutiliza ni puede reconstruirse. Proporcionan así lo que se conoce como secreto hacia adelante: el compromiso de una clave no compromete la seguridad de las claves usadas con anterioridad y no permite por tanto descifrar los mensajes anteriores.

Cómo protegerse de ataques de hombre en el medio

Aún puede quedar una duda en el aire: ¿y si el servidor de WhatsApp intenta engañarte haciéndote creer que sus propias claves públicas son las de tu interlocutor?

Imagina el siguiente escenario: tu terminal solicita la clave pública de otro usuario para iniciar todo el proceso anterior, pero el servidor de WhatsApp no te envía la clave de tu amigo, sino otra distinta, haciéndose pasar por tu amigo. Con tu amigo hace lo mismo: en lugar de enviarle tu clave pública, el servidor de WhatsApp le envía otra falsa, haciéndose pasar por ti. A partir de este momento, os hace creer a cada uno que él es el otro. Por consiguiente, podrá descifrar todas vuestras comunicaciones y volverlas a cifrar para que no sospechéis nada. Es lo que se conoce como un ataque de hombre en el medio. ¿Cómo protegerse ante este ataque?

WhatsApp te ofrece la opción de verificar las claves de los demás usuarios con los que te comunicas. Si tienes junto a ti a la otra persona, puedes escanear un código QR. Si no está físicamente a tu lado, podéis comparar un número de 60 dígitos.

Para verificar si vuestro chat está cifrado de extremo a extremo, abre el chat y toca el nombre del contacto para ir a la pantalla de información. Tocando “Cifrado” verás el código QR o los 60 dígitos.

El código QR contiene:

  1. Una versión.
  2. El identificador de usuario para ambas partes.
  3. La parte pública de Identity Key de ambas partes.

Cuando os escaneáis mutuamente el código QR, las claves se comparan para asegurar que lo que está en el código QR coincide con la clave de identidad tal y como se ha recuperado del servidor. Si escaneas el código QR y coincide, aparecerá un tic de color verde.

En cuanto al número de 60 dígitos, se calcula concatenando los dos hashes SHA512 de 30 dígitos para la Identity Key de cada usuario. Otra vez, criptografía de la buena.