Ver iOS de Seguridad, pp30–32:
iMessage
Apple iMessage es un servicio de mensajería para dispositivos iOS y ordenadores Mac. iMessage admite texto y archivos adjuntos como fotos, contactos y ubicaciones. Los mensajes aparecen en todos los de un usuario registrado los dispositivos para que una conversación puede ser continuado desde cualquiera de los dispositivos del usuario. iMessage hace un amplio uso del servicio de Notificación Push de Apple (APNs). Apple no registro de los mensajes o archivos adjuntos, y su contenido están protegidos por de extremo a extremo de cifrado para que nadie pero el remitente y el receptor puede acceder a ellos. Apple no puede descifrar los datos.
Cuando un usuario se convierte en iMessage, el dispositivo genera dos pares de claves para el uso del servicio: un RSA 1280 bits de la clave para el cifrado y la firma ECDSA de clave de 256 bits para la firma. Para cada par de claves, la clave privada se guarda en el dispositivo del llavero y las claves públicas se envían a Apple de servicio de directorio (IDS), donde se asocia con el número de teléfono del usuario o dirección de correo electrónico, junto con el dispositivo de la Apn dirección.
Como a los usuarios habilitar dispositivos adicionales para el uso con iMessage, sus claves públicas, los Apn direcciones, y números de teléfono asociados se agregan al servicio de directorio. Los usuarios también pueden agregar más direcciones de correo electrónico, el cual será verificado mediante el envío de un enlace de confirmación. Los números de teléfono están verificadas por el operador de red y la tarjeta SIM. Además, toda la registrada del usuario de los dispositivos de visualización de un mensaje de alerta cuando un nuevo dispositivo, número de teléfono, o dirección de correo electrónico se agrega.
Cómo iMessage envía y recibe mensajes
Los usuarios iniciar una nueva conversación de iMessage introduciendo una dirección o nombre. Si se ingresa un número de teléfono o dirección de correo electrónico, el dispositivo se comunica con el IDENTIFICADORES para recuperar las claves públicas y la Apn direcciones de todos los dispositivos asociados con el destinatario. Si el usuario introduce un nombre, el primer dispositivo que utiliza el usuario de la aplicación Contactos para recopilar los números de teléfono y direcciones de correo electrónico asociadas con ese nombre, a continuación, obtiene las claves públicas y los Apn de las direcciones de los IDENTIFICADORES.
El usuario del mensaje saliente de forma individual con cifrado AES-128 en el CTR modo para cada uno de los destinatarios de los dispositivos, el firmado con la clave privada del remitente, y luego enviado a la Apn para la entrega. Los metadatos, tales como la fecha y el Apn de información de enrutamiento, no está encriptada. La comunicación con los Apn es encriptada usando TLS.
Si el mensaje de texto es demasiado largo, o si un archivo adjunto, como una foto se incluye, el archivo adjunto se cifran con una clave aleatoria y subidas a iCloud. La clave y el URI (Uniform Resource Identifier) de los datos adjuntos son encriptados y firmados, como se muestra a continuación.
Para conversaciones de grupo, este proceso se repite para cada uno de los destinatarios y sus dispositivos.
En el lado de recepción, cada dispositivo recibe su copia del mensaje a partir de los Apn, y, si
es necesario, recupera el archivo adjunto de iCloud. El entrante número de teléfono o correo electrónico
la dirección del remitente coincide con el del receptor de contactos, de manera que un nombre puede ser
muestra, si es posible.
Como con todas las notificaciones push, el mensaje se elimina del Apn cuando se entrega.
A diferencia de otros Apn de notificaciones, sin embargo, iMessage mensajes a la cola para la entrega
sin conexión de los dispositivos. Los mensajes se almacenan hasta siete días.
Si se implementan adecuadamente, esto significa que los mensajes en los servidores de Apple, puede sólo ser descifrado por los dispositivos con los que se registró con Apple para iMessage antes de que se envíen. Además, debe conectar el dispositivo de Apple, el servicio de difusión dentro de los 7 días de la transmisión del mensaje o de lo contrario los mensajes serán eliminados.
Sin embargo, es un gran "si":
No hay ninguna auditoría independiente de Apple codebase, por lo que los dispositivos que usted y sus corresponsales uso podría contener "puertas traseras" (deliberada o no) por ejemplo, deficiencias en la generación de la clave o la fuga de información a través de canales encubiertos—y eso suponiendo que los propios dispositivos son "seguros";
No hay manera de que sus corresponsales se puede comprobar que la descubrió las claves públicas (recibido de Apple directorio) están realmente vinculados con las claves privadas en tus dispositivos Apple podría sustituirlos por los de un "hombre en el medio" o simplemente agregar un adicional de clave pública para un dispositivo que no es suyo pero que luego sea capaz de descifrar todos los mensajes destinados a usted (usted puede intentar para detectar este tipo de ataques en la consulta de sus claves públicas desde otra cuenta y verificar la respuesta, aunque aún no hay garantía de que Apple no proporcionan una respuesta diferente a las otras partes);
Como siempre, la seguridad es sólo tan bueno como el eslabón más débil: sus corresponsales, sin cifrar el acceso a sus conversaciones y cualquier compromiso de ellos o de sus dispositivos llevaría a un compromiso total de su comunicación.