1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

15
1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro

Transcript of 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

Page 1: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

1 1

Protocolo de AplicaciónWhatsApp

Mónica Maset Navarro

Page 2: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

2

Indice Introducción ¿Qué es WhatsApp? XMPP

Protocolo Arquitectura Direcciones XML Pasarela Seguridad en las comunicaciones Mensajería instantánea

Problemas de seguridad WhatsApp WhatsApp vs. ChatOn vs. Line Bibliografía

Page 3: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

3

Introducción

En este trabajo pretendemos explicar el funcionamiento de la aplicación de mensajería instantánea WhatsApp a nivel de red, así como compararlo con otras aplicaciones para ver sus pros y sus contras.

Con la mensajería instantánea se pretende que la distribución y/o intercambio de información sea inmediata y segura. Para ello se utilizan protocolos, en el caso de WhatsApp se utiliza el XMPP.

Page 4: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

4

¿Qué es WhatsApp?

WhatsApp messenger Inc., fue fundada por Jan Koronado y por Brian Acton. La compañía tiene su sede en Silicon Valley.

WhatsApp es un software propietario multiplataforma de mensajería instantánea para smartphones. Además del envío de texto, permite la transmisión de imágenes, video y audio, así como la localización del usuario siempre y cuando exista la posibilidad. La aplicación utiliza la red de datos del dispositivo móvil en el que se esté ejecutando, por lo tanto funciona conectada a Internet a diferencia de los servicios tradicionales de mensajes cortos o el sistema de mensajería multimedia.

La aplicación WhatsApp está disponible para los sistemas operativos Windows Phone, iOS, BlackBerry OS, Android, y los dispositivos que utilizan Symbian de Nokia.

Page 5: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

5

XMPP

XMPP es un protocolo abierto basado en el estándar XML para el intercambio en tiempo real de mensajes y presencia entre dos puntos en Internet. La principal aplicación de la tecnología XMPP es una plataforma extensible de mensajería y una red de MI (Mensajería Instantánea).

Carácterísticas: Abierto: es gratuito. Existen múltiples implementaciones de código abierto para

Servidores XMPP, como numerosos clientes y librerías de desarrollo. Libre: se puede ver cómo funciona, y además el usuario tiene la libertad de

implementarlo él mismo, la libertad de adaptarlo a sus necesidades, sin necesitar la aprobación de nadie.

Extensible: usando el potencial del lenguaje XML, cualquiera puede extender el protocolo de XMPP para una funcionalidad personalizada.

Descentralizado: cualquiera puede montar su propio servidor de XMPP. Seguro: Soporta seguridad en la capa de transporte y cualquier servidor de XMPP

puede ser aislado de la red pública XMPP. Las RFCs que definen el actual protocolo XMPP son las siguientes:

RFC 3920, especifica las características principales del protocolo XMPP. RFC 3921, define los servicios de mensajería instantánea y de presencia previstos en

XMPP. RFC 3922, que define una transposición de XMPP a CPIM (RFC 3860, Common Profile

for Instant Messaging); RFC 3923, que define un mecanismo extremo a extremo de firma y cifrado de los

objetos.

Protocolo

Page 6: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

6

XMPP

Generalmente, XMPP se implementa y se usa como una arquitectura cliente-servidor descentralizada.

Figura: Arquitectura cliente-servidor descentralizada

Cuando enviamos un mensaje XMPP a algún contacto, el cliente XMPP se conecta a nuestro servidor XMPP, y éste se conecta directamente al servidor XMPP de nuestro contacto, sin realizar múltiples saltos.

Figura: Arquitectura XMPP

Arquitectura

Page 7: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

7

XMPP

Cada entidad XMPP necesita tener su propia dirección, llamada JabberID (JID). La JID tiene el mismo formato que las direcciones de correo, usuario@dominio.

En el caso de WhatsApp el JID (Jabber ID) utilizado es la concatenación entre el código del país y el número de teléfono mientras que la creación de la contraseña depende de la plataforma . Ejemplo JID [email protected] Ejemplo de generación de contraseña:

Android, utiliza el IMEI (un código de identificación único para cada teléfono) invertido.

clave cifrada = Hash md5(strrev(‘your-imei-goes-here’)) iOS, utiliza la dirección MAC de la tarjeta wifi repetida dos veces. clave cifrada = Hash md5(AA:BB:CC:DD:EE:FFAA:BB:CC:DD:EE:FF)

MD5, Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5, es un algoritmo de reducción criptográfico de 128 bits ampliamente usado.

Direcciones

Page 8: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

8

XMPP

XML

XMPP es en esencia una tecnología para transmitir XML. Una vez establecida la conexión podemos intercambiar mensajes asincrónicamente con el servidor.

Tipos de etiquetas XML para transmitir los diferentes tipos de mensaje Stream: Es la unidad contenedora de una secuencia de

mensajes XMPP. Message: Sirve para enviar mensajes entre los usuarios. Presence: Para informar la presencia de los usuario. Esto

incluye cuando se conectan, desconectan, cambian de estado o de nombre.

Iq: Se utiliza para la transmisión de comandos internos. a nueva conexión, informar de errores y cosas que no tienen nada que ver con los usuarios.

XEP: Son el conjunto de especificaciones que extienden las diferentes etiquetas que el protocolo soporta. Por ejemplo, el bloque <presence> es un subconjunto de directivas IQ empleadas para el control de presencia. Es donde se definen las extensiones del protocolo tales como: seguridad, intercambio de ficheros, soporte de VoIP, presencia, etc.

Page 9: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

9

XMPP

Pasarela

La red puede tener múltiples clientes y servidores que se comuniquen por XMPP pero, además, puede contar con una serie de pasarelas o gateways que traducen de XMPP a otros protocolos de mensajería instantánea de diferentes redes como Windows Live MEssenger, ICQ, Yahoo! Messenger, SMS, Email u otros. Es posible, por tanto, comunicar usuarios de redes XMPP con redes de otros protocolos de mensajería instantánea, y viceversa, siempre que existan dichos gateways.

Los clientes XMPP utilizan el puerto TCP 5222 para iniciar sesión.

Page 10: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

10

XMPPSeguridad en las comunicaciones

Las comunicaciones XMPP entre clientes y servidores están implementadas con seguridad principalmente a través de dos mecanismos: El protocolo TLS aplicado a la capa de transporte y el protocolo SASL aplicado a la capa de seguridad y autenticación simple.

El protocolo TLS es un protocolo para establecer una conexión segura entre un cliente y un servidor, o entre dos servidores. TLS es capaz de autenticar en ambos lados de la comunicación, y crea una conexión cifrada entre los dos.

Si las conversaciones no estuvieran cifradas sería muy fácil un ataque y podría hacer que se interceptaran de forma fácil las conversaciones.

Este tipo de ataques son muy simples, con una herramienta de análisis de redes y protocolos como puede ser Wireshark y la aplicación específica para WhatsApp llamada WhatsApp Xtract.

SASL provee a XMPP de un método generalizado para la autenticación.

Page 11: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

11

XMPP

Mensajería instantánea

Los mensajes son la parte más importante de cualquier sistema de mensajería instantánea.

XMPP es un protocolo muy orientado a los mensajes, que pueden ser de seis tipos diferentes: Normal: que serían mensajes parecidos a los del correo

electrónico. Chat: mensajes persona a persona que serían los

mensajes utilizados en una conversación entre dos personas.

Groupchat: mensajes enviados a un grupo de personas. Headline: que serían los mensajes de marquesina. Error: para los mensajes de error. Jabber:x:oob: para las conexiones directas entre

clientes para envío de archivos.

Page 12: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

12

Problemas seguridad WhatsApp

Cómo se ha comentado con anterioridad, se descubre cómo se genera la contraseña de acceso, mediante el código del dispositivo IMEI en caso del sistema Android y la dirección MAC de la tarjeta wifi en iOS lo que puede provocar el robo de las cuentas.

La versión de Android para WhatsApp, guarda un fichero adicional que funciona como copia de seguridad (backup). Se supone que ese fichero está cifrado con el algoritmo AES(Advanced Encryption Standard) mediante una clave de 192 bits .Se plantean dos problemas. El primero es que la clave está insertada en el propio paquete de software de WhatsApp. Y el segundo es que todos los móviles Android del mundo utilizan la misma clave. Ni siquiera añaden algún factor dependiente del móvil. Esta es la clave:

346a23652a46392b4d73257c67317e352e3372482177652c

Page 13: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

13

WhatsApp vs. ChatON vs. LINE

WhatsApp en la actualidad tiene la hegemonía de los clientes de mensajería para smartphone, por ser el pionero en este tipo de mensajería. Aunque hay varias aplicaciones que le han querido plantar cara, pero sólo unas pocas le siguen.

Queremos destacar como rivales de WhatsApp a LINE y ChatON 2.0. El por qué es fácil, la primera por ser la que más terreno le ha comido en usuarios a WhatsApp, posicionándose como una alternativa real y palpable, y ChatOn porque no podemos obviar que también tiene una importante cuota de usuarios ya que se distribuye con terminales Samsung, principal fabricante en estos momentos de terminales Android.

Page 14: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

14

WhatsApp vs. ChatON vs. LINE Así que vamos a tratar de analizar cuales son las ventajas y

las desventajas que tienen cada uno de ellos.

WhatsApp ChatON LINE

VoIP NO SI SI

Tablet NO SI SI

Cliente Web NO SI SI

Gratuito NO SI SI

Multiplataforma

SI SI SI

Consumo bat. Normal Bastante Mucha

Usuarios 100 Millones

2 Millones 89 Millones

Int. Usuario Muy buena Buena Regular

Page 15: 1 1 Protocolo de Aplicación WhatsApp Mónica Maset Navarro.

15

Bibliografía

http://www.elandroidelibre.com/2013/01/comparativa-de-servicios-de-mensajeria-line-vs-WhatsApp-vs-chaton-2-0.html http://www.xmpp.org http://oriolrius.cat/blog/wp-content/uploads/2009/10/Oreilly.XMPP.The.Definitive.Guide.May.2009.pdf http://www.whatsapp.com http://es.wikipedia.org/wiki/WhatsApp http://www.securitybydefault.com/2011/03/whatsapp-y-su-seguridad-pwn3d.html https://github.com/venomous0x/WhatsAPI/issues/278