Título: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 6 Abril 2016, 01:59 am Bueno como es noticia desde hace unas horas para algunos usuarios, whatsapp en sus nueva actualizacion acaba de anunciar que implementara cifrado end-to-end.
El documento explicando todo el proceso esta disponible para su lectura en https://s3-eu-west-1.amazonaws.com/uploads-eu.hipchat.com/83000%2F605209%2FM79CMVvVjjbGFRx%2FWhatsApp-Security-Whitepaper.pdf (https://s3-eu-west-1.amazonaws.com/uploads-eu.hipchat.com/83000%2F605209%2FM79CMVvVjjbGFRx%2FWhatsApp-Security-Whitepaper.pdf) En general usan un par de claves Curve25519 agregare algunos comentarios en lo que tenga mas oportunidad. TEMA REPETIDO LEER: https://foro.elhacker.net/noticias/whatsapp_ya_es_100_seguro_con_cifrado_end_to_end-t450517.0.html Título: Re: Whatsapp criptografia End-to-End Publicado por: Br1ant en 6 Abril 2016, 03:16 am WhatsApp... Facebook... espera. ¿Los de Facebook están implementando anonimato en la comunicación del teléfono verde?
Muy bien, carajo, ¿dónde está el truco? Título: Re: Whatsapp criptografia End-to-End Publicado por: PalitroqueZ en 6 Abril 2016, 03:43 am Al fin, un poco de seguridad para el whatsapp.
;-) Título: Re: Whatsapp criptografia End-to-End Publicado por: MCKSys Argentina en 6 Abril 2016, 04:21 am Para los que saben poco de crypto (como yo): Curve25519 (https://en.wikipedia.org/wiki/Curve25519)
Según lo anterior, están usando Double ratchet (https://en.wikipedia.org/wiki/Double_ratchet) (ver Usage). Saludos! Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 6 Abril 2016, 06:02 am Algo que se me hizo interesante y a la vez un poco tonto fue la parte para validar las Llaves.
Dice el texto: Citar Verifying Keys WhatsApp users additionally have the option to verify the keys of the other users with whom they are communicating so that they are able to confirm that an unauthorized third party (or WhatsApp) has not initiated a man-in-the-middle attack. This can be done by scanning a QR code, or by comparing a 60-digit number. The QR code contains: 1. A version. 2. The user identifier for both parties. 3. The full 32-byte public Identity Key for both parties. When either user scans the other’s QR code, the keys are compared to ensure that what is in the QR code matches the Identity Key as retrieved from the server. The 60-digit number is computed by concatenating the two 30-digit numeric fingerprints for each user’s Identity Key To calculate a 30-digit numeric fingerprint: 1. Iteratively SHA-512 hash the public Identity Key and user identifier 5200 times. 2. Take the first 30 bytes of the final hash output. 3. Split the 30-byte result into six 5-byte chunks. 4. Convert each 5-byte chunk into 5 digits by interpreting each 5-byte chunk as a big-endian unsigned integer and reducing it modulo 100000 . 5. Concatenate the six groups of five digits into thirty digits. Iteratively SHA-512 hash the public Identity Key and user identifier 5200 times. Por que 5200? Siendo que a sha512 no le han encontrado colisiones por que ese numero incluso el sha512 de una texto unas cuantas veces digamos 5 seria suficiente en fin. :silbar: :silbar: Aqui dejo un codigo de como seria el calcular 5200 veces el sha512 de un texto dado usando la libreria libgcrypt Código
Aqui un pedacito de la salida (las ultimas lineas) Código: sha512: 4f86b77580f55fdb90493042738915127aaa4fa2f1302a52b647b7a179b9c49b06f3cf67d0b1cc6e50dc7519bbb30c207b87be46eb60c8c78da0a18be7ee7b7a Ahora pense que seria algo tardado pero al parecer es bastante rapido WhatsApp... Facebook... espera. ¿Los de Facebook están implementando anonimato en la comunicación del teléfono verde? Muy bien, carajo, ¿dónde está el truco? Creo que whatsApp esta motivado por 2 cosas. *Sus principales competidores ya implementaban cifrado end-to-end y estan perdiendo usuarios. Telegram por ejemplo se me hace mejor que whatapp, tiene tambien autodestrucion de mensajes, stickers y una API para poder programar bots y un largo etc.. *El caso del FBI vs Apple Aunque el FBI encontrara metodos alternos para acceder al iphone. Apple se mantuvo firmo y demostro que una Organizacion gubernamental puede terminar por no acceder a los datos cuando un buen sistema de cifrado esta implementado. Título: Re: Whatsapp criptografia End-to-End Publicado por: PalitroqueZ en 6 Abril 2016, 21:43 pm Citar *Sus principales competidores ya implementaban cifrado end-to-end y estan perdiendo usuarios. hasta Line creo que empezó cifrando su mensajería. a mi me gusta más Line que whatsapp, pero por donde vivo no es popular. Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 6 Abril 2016, 22:55 pm hasta Line creo que empezó cifrando su mensajería. a mi me gusta más Line que whatsapp, pero por donde vivo no es popular. La verdad Whatsapp gano mucho terreno. Frente a otros que ya existian incluso ve el Google Hangouts que en su momento era Talk Por lo que estoy leyendo del protocolo este manda el mensaje cifrado con AES256 y firmado por HMAC256 esto es y lo que manda cifrado con la llave publica, es a lo que entiendo el Message Key. Por se se me haria inseguro por no decir otra palabra mandar el Message Key en texto plano para que en el remoto caso de alguien intercepte ese paquete tenga acceso a la clave de descifrado. La lectura no indica este punto claramente o por lo menos yo no lo he visto o no lo entiendo al 100 Segun yo se manda lo siguiente: Código: <Message Key> Donde en teoria se manda el "Message Key" cifrado con la llave publica. Título: Re: Whatsapp criptografia End-to-End Publicado por: engel lex en 6 Abril 2016, 23:21 pm la llave publica es para ser pasada en plano, no tiene sentido protegerla XD para protegerla solo harías una llave publica de una llave publica...
la llave publica es como mandar un candado abierto, solo puede ser usada para cerrar el mensaje... no puede hacerse más nada con ella Título: Re: Whatsapp criptografia End-to-End Publicado por: MinusFour en 6 Abril 2016, 23:31 pm Algo que se me hizo interesante y a la vez un poco tonto fue la parte para validar las Llaves. Dice el texto: Iteratively SHA-512 hash the public Identity Key and user identifier 5200 times. Por que 5200? Siendo que a sha512 no le han encontrado colisiones por que ese numero incluso el sha512 de una texto unas cuantas veces digamos 5 seria suficiente en fin. :silbar: :silbar: La técnica se llama key streching: https://en.wikipedia.org/wiki/Key_stretching Y es algo que utiliza bastante para KDF: https://en.wikipedia.org/wiki/Key_derivation_function Por ejemplo, PBKDF2 o bcrypt. Título: Re: Whatsapp criptografia End-to-End Publicado por: elezekiel en 7 Abril 2016, 01:02 am whatsapp es de codigo abierto? que pregunta tonta pero no lo se jaja
ademas como aseguran que no hay copias de mensajes por si acaso?? no les creo nada solo pantalla ;-) Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 7 Abril 2016, 01:18 am la llave publica es para ser pasada en plano, no tiene sentido protegerla XD para protegerla solo harías una llave publica de una llave publica... la llave publica es como mandar un candado abierto, solo puede ser usada para cerrar el mensaje... no puede hacerse más nada con ella Claro, cuando se genera un PAR de llaves una es publica y la otra privada. La llave publica se envia a las personas con las que te quieres comunicar entiendo eso y si la llave publica se tranmite en texto plano Tengo muy claro eso. Ahora si leemos la documentaion El Message Key contiene un total de 80 de los cuales esta didivido en 3 secciones.
Entonces eso solo compone el Message Key. El mensaje Cifrado es otra parte de la Data enviada y de nada serviria mandar algo cifrado si tambien vamos a mandar la llave en los 80 bytes anteriores. Recordemos que AES es un sistema para cifrado simetrico. Y por lo tanto supongo que esos 80 bytes se mandan cifrados con criptografia asimetrica.. Insito en esto por que estoy programando un projecto con necesidades similares y me gustaria tomar las mejores ideas, no se tal vez no me explico bien y/o estoy omitiendo algo en la lectura o en mis bases criptograficas. Omito cosas con mucha facilidad. Whatsapp no es de codigo abierto. Título: Re: Whatsapp criptografia End-to-End Publicado por: engel lex en 7 Abril 2016, 02:10 am pero es que hace toooda la transmision asimetrica es muy pesada, lo que hace incluso el https es que establece una clave común al azar muy pesada para in cifrado simetrico (fb usa AES128, google y nosotros chacha 20) pasas la clave por asimetrico (RSA, ECDHE) y luego cifras con la clave que pasaste cambiando el IV...
que te asegura esto? si pasas todo asimetrico cifrando byte a byte no solo consumirás mucho procesador, sino que estás pasando una pista de la clave una vez por byte... eventualmente será vulnerable... (la petición http se repite una y otra vez y es la misma XD solo tienes que hacer una conversión lineal, ya sabes cuales simbolos representan la "h", la "t", la "p" entre otros que se repiten XD) si es simetrico, pasas todo por un cifrado de stream preparado para no ser predecible (aqui entra el iv que "cambia" la contraseña cada vey listo para ser de descifrado rapido si, el cifrado pasa la contraseña, pero así funciona :o fijate el post de cifrado rsa en python (https://foro.elhacker.net/buscador-t427548.0.html), puedes meter los bytes que quieras en el mensaje y siempre serás los mismos pero en aes (si está bien implementado) (https://www.infoencrypt.com/) tengo estos 3 mensajes, clave 123 Código: K7xGlZ3okW+uE4jiqTt0jE4FGkSwRRUKC9maBAHdsXl8A8+7bZVX/mp85Rmkf2EV Código: vmd1WLXCAEI1YMaAWvtQsyf6/1Bsiuw5cYTo8jedjGNOW0hgmsvjbcELP/jjBE1S Código: 2zybZUeUJZ8cdGncA+1VczXAJUw7nx4WN3YQcW6BV+SxmSy9K802ATQBJXtSYkE6 Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 7 Abril 2016, 04:41 am pasas la clave por asimetrico (RSA, ECDHE) Tu mismo lo dices pasas la "clave" por asimetrico y ya una vez descifrada con tu clave privada pasas a descifrar lo que pasastes por AES256 o por chacha20 o el algoritmo que acordaran tengo estos 3 mensajes, clave 123 Código: K7xGlZ3okW+uE4jiqTt0jE4FGkSwRRUKC9maBAHdsXl8A8+7bZVX/mp85Rmkf2EV Código: vmd1WLXCAEI1YMaAWvtQsyf6/1Bsiuw5cYTo8jedjGNOW0hgmsvjbcELP/jjBE1S Código: 2zybZUeUJZ8cdGncA+1VczXAJUw7nx4WN3YQcW6BV+SxmSy9K802ATQBJXtSYkE6 Claro por el IV o por el modo de empleo del del AES o también puede cambiar dependido si es modo CFB, CBC etc.. En lo que tenga un chance publicare un ejemplo en C. Título: Re: Whatsapp criptografia End-to-End Publicado por: engel lex en 7 Abril 2016, 05:44 am ahh! es que todo pasa en claro? yo estoy asumiendo que el Message Key pasa por asimetrico! :s
Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 7 Abril 2016, 07:24 am ahh! es que todo pasa en claro? yo estoy asumiendo que el Message Key pasa por asimetrico! :s Era mi duda, yo asumo que pasa por asimetro al igual que tu y con las claves publicas Curve25519 lo decifran. En la lectura no lo especifican, me imagino que lo dan por hecho. Bueno ya que nos quitamos la duda teóricamente todo esta bien. Acabo de hacer un programa en C usando libgcrypt para ejemplicar esto. El programa hace lo siguiente.
Todavia no me queda muy claro como utilizar HMAC pero leyendo la API y los RFC correspondientes aprendere. Muestro la salida y al final el codigo del programa que la produce. Archivo >>>>>>>>AAES (https://drive.google.com/file/d/0B_URQvsxUYjQdHNjYnhmYzhtZzQ/view?usp=sharing) <<<<<<<<<<<de salida Código: Key df9701195198737faf7c163298704e2c5b583532cf8fc20595c8512b5b65e8db2ef1683d4e7399132d719a38cdf14b32d100a73e84f338ae4d8c43dc43c408222e2278d005332bca737d55b5a7a24897 Algunas funciones del programa fueron implementadas de forma rapida y puede fallar. Código
Título: Re: Whatsapp criptografia End-to-End Publicado por: xv0 en 7 Abril 2016, 10:53 am No me creo nada tiene que tener algun truco, deberas dejaran conexiones cifradas a las masas y ellos no sabran leerlas? Pero quien se cree eso?, ademas sabiendo el alto nivel de paranoia que hay con las agencias que ya todo el mundo conoce.
El que quiera anonimato que busque otra cosa no Whatsapp. Un saludo. P.D: Ayer aparecio la noticia en el telediario, me hizo mucha gracia lo que dijeron xD. Título: Re: Whatsapp criptografia End-to-End Publicado por: AlbertoBSD en 7 Abril 2016, 14:02 pm Comparte la noticia para nos de gracia tambien a nosotros.
Whatsapp a sido muy criticado por su falta de seguridad, desde aquellos dias que podias ver los mensajes en texto plano entre otras cosas. whatsapp podria a ver detectado una disminucion de usuarios y se puso las pilas en ese tema. El caso de FBI vs Apple demostro que las organizaciones gubernamentales no pueden hacer mucho contra un sistema criptografico bien implementado. Ahora whatapp solo ofrece seguridad mas no anonimato, todavia quien esta hablando con quien.. para anonimato los sistemas no deberian de pedirte un numero que te identifique. Título: Re: Whatsapp criptografia End-to-End Publicado por: xv0 en 8 Abril 2016, 00:29 am El caso de FBI vs Apple demostro que las organizaciones gubernamentales no pueden hacer mucho contra un sistema criptografico bien implementado. No se yo no pondria la mano en el fuego, y mas con una aplicacion como esta. Este tema se me torna como el de las VPN "privadas" que no guardan direcciones, logs etc... Deberas creen que si comometen algun delito, y les lleva a ese servicio, la empresa cargara con el lio de la gente? Con esto pasara igual. No es posible. Y los servicios que no colaboran cierran, lei sobre un caso de mensajeria de correo que lo cerraron por lo mismo pero ahora no recuerdo. .Ahora whatapp solo ofrece seguridad mas no anonimato, todavia quien esta hablando con quien.. para anonimato los sistemas no deberian de pedirte un numero que te identifique. Con anonimato lo puse en el contexto de "no saber que dice el mensaje" no sobre la direccion de dicha persona, fallo mio. Un saludo. P.D: La noticia, tiene que estar es reciente, ya la pondre, pero nada especial el tipico telediario. |