
Seguridad de la función de aviso de llegada
La función de aviso de llegada permite a un usuario elegir un contacto para que reciba una notificación si su dispositivo compatible no llega al destino establecido previamente. Cuando el usuario selecciona un contacto con el que iniciar la función de aviso de llegada, se envía un mensaje de iMessage a ese contacto con la información de la sesión, incluido el destino. El dispositivo del usuario que inicia la sesión también genera un identificador de acceso y una clave de encriptación de la función de aviso de llegada. La clave de encriptación de la función de aviso de llegada se envía en un segundo mensaje de iMessage; sin embargo, los servidores retienen este mensaje en lugar de entregarlo inmediatamente. Dado que este mensaje tiene encriptación punto a punto entre el usuario y el contacto que ha designado, sus contenidos no están disponibles para Apple.
A medida que el dispositivo del usuario que inicia la sesión se aproxima a su destino, envía periódicamente un mensaje de latido a los servidores de iMessage, ampliando así el tiempo de caducidad antes de que se entregue la clave de encriptación de la función de aviso de llegada. Si el dispositivo se apaga o pierde la conectividad, los servidores de iMessage liberan automáticamente el mensaje de iMessage que contiene la clave de encriptación al contacto cuando se alcanza el tiempo de caducidad. El mensaje de la clave de encriptación de la función de aviso de llegada también se puede liberar si el dispositivo no se aproxima a su destino. Cuando se libera de este modo, se incluye el identificador de acceso.
Durante una sesión de aviso de llegada, el dispositivo del usuario que inicia la sesión recopila datos relevantes de la función de aviso de llegada de forma periódica (por ejemplo, la ubicación y el nivel de batería), la encripta con la clave de la función de aviso de llegada y la carga a iCloud. Apple no tiene acceso a la clave de la función de aviso de llegada y no puede acceder a los datos cargados.
Para finalizar una sesión de aviso de llegada se requiere la autenticación del usuario. Si el usuario cancela una sesión, los datos encriptados y el mensaje de iMessage que contiene la clave de encriptación de la función de aviso de llegada se eliminan de forma segura del servidor.
Si el dispositivo que ha iniciado la función de aviso de llegada no ha llegado a su destino según lo previsto, o si caduca el temporizador configurado, el contacto elegido recibe el mensaje de iMessage que contiene la clave de encriptación de la función de aviso de llegada. Hay dos circunstancias en las que esto podría ocurrir:
Después de una pérdida de conectividad: En este caso, el contacto que se ha designado no tiene el identificador de acceso y el dispositivo del contacto realiza una segunda comprobación para determinar si ha pasado suficiente tiempo desde el último latido. El dispositivo del contacto solicita al servidor los datos encriptados de la función de aviso de llegada y el servidor lleva a cabo una tercera comprobación para confirmar si ha pasado suficiente tiempo desde el último latido. Si es así, el servidor proporciona los datos encriptados de la función de aviso de llegada al contacto y el contacto puede desencriptarlos con su clave de la función de aviso de llegada.
Cuando el dispositivo del usuario determina que no se aproxima a su destino: En este caso, a menos que el usuario cancele o amplíe la sesión de aviso de llegada cuando se le solicite, al contacto designado se le proporciona el identificador de acceso y la clave de encriptación de la función de aviso de llegada. El dispositivo del contacto proporciona el identificador de acceso al servidor, lo que le permite descargar los datos encriptados de la función de aviso de llegada. A continuación, los datos se pueden desencriptar con la clave de la función de aviso de llegada.