Anuncio cerrado

Enviar mensajes a través de iMessage es una forma popular de comunicarse entre dispositivos iOS y computadoras Mac. Los servidores de Apple procesan diariamente decenas de millones de mensajes y, a medida que crecen las ventas de dispositivos mordidos por Apple, también crece la popularidad de iMessage. Pero, ¿alguna vez has pensado en cómo proteger tus mensajes de posibles atacantes?

Apple lanzó recientemente Dokument Describiendo la seguridad de iOS. Describe muy bien los mecanismos de seguridad utilizados en iOS: sistema, cifrado y protección de datos, seguridad de aplicaciones, comunicación de red, servicios de Internet y seguridad de dispositivos. Si comprende un poco sobre seguridad y no tiene problemas con el inglés, puede encontrar iMessage en la página número 20. Si no, intentaré describir el principio de seguridad de iMessage lo más claramente posible.

La base del envío de mensajes es su cifrado. Para los profanos, esto suele estar asociado con un procedimiento en el que se cifra el mensaje con una clave y el destinatario lo descifra con esta clave. Esta clave se llama simétrica. El punto crítico en este proceso es la entrega de la llave al destinatario. Si un atacante se apoderara de él, podría simplemente descifrar sus mensajes y hacerse pasar por el destinatario. Para simplificar, imagina una caja con cerradura, en la que solo cabe una llave, y con esta llave puedes insertar y sacar el contenido de la caja.

Afortunadamente, existe la criptografía asimétrica que utiliza dos claves: pública y privada. El principio es que todos pueden conocer su clave pública, por supuesto, solo usted conoce su clave privada. Si alguien quiere enviarte un mensaje, lo cifrará con tu clave pública. El mensaje cifrado sólo podrá descifrarse con su clave privada. Si vuelve a imaginar un buzón de forma simplificada, esta vez tendrá dos cerraduras. Con la clave pública, cualquiera puede desbloquearla para insertar contenido, pero sólo tú con tu clave privada puedes seleccionarla. Sin duda, agregaré que un mensaje cifrado con una clave pública no se puede descifrar con esta clave pública.

Cómo funciona la seguridad en iMessage:

  • Cuando se activa iMessage, se generan dos pares de claves en el dispositivo: 1280b RSA para cifrar los datos y 256b ECDSA para verificar que los datos no hayan sido manipulados en el camino.
  • Las dos claves públicas se envían al Servicio de directorio de Apple (IDS). Por supuesto, las dos claves privadas permanecen almacenadas únicamente en el dispositivo.
  • En IDS, las claves públicas están asociadas con su número de teléfono, correo electrónico y dirección de dispositivo en el servicio de notificaciones push de Apple (APN).
  • Si alguien quiere enviarle un mensaje, su dispositivo encontrará su clave pública (o varias claves públicas si usa iMessage en varios dispositivos) y las direcciones APN de sus dispositivos en IDS.
  • Cifra el mensaje utilizando 128b AES y lo firma con su clave privada. Si el mensaje debe llegar a usted en varios dispositivos, el mensaje se almacena y cifra en los servidores de Apple por separado para cada uno de ellos.
  • Algunos datos, como las marcas de tiempo, no están cifrados en absoluto.
  • Toda la comunicación se realiza a través de TLS.
  • Los mensajes y archivos adjuntos más largos se cifran con una clave aleatoria en iCloud. Cada uno de estos objetos tiene su propio URI (dirección de algo en el servidor).
  • Una vez que el mensaje se entrega a todos sus dispositivos, se elimina. Si no se entrega al menos a uno de sus dispositivos, se deja en los servidores durante 7 días y luego se elimina.

Esta descripción puede parecerle complicada, pero si observa la imagen de arriba, seguramente comprenderá el principio. La ventaja de un sistema de seguridad de este tipo es que sólo puede ser atacado desde el exterior mediante la fuerza bruta. Bueno, por ahora, porque los atacantes son cada vez más inteligentes.

La amenaza potencial reside en la propia Apple. Esto se debe a que gestiona toda la infraestructura de claves, por lo que en teoría podría asignar otro dispositivo (otro par de claves pública y privada) a su cuenta, por ejemplo debido a una orden judicial, en la que se podrían descifrar los mensajes entrantes. Sin embargo, aquí Apple ha dicho que no hace ni hará tal cosa.

Recursos: TechCrunch, Seguridad de iOS (febrero de 2014)
.