Seguridad de Handoff
Apple maneja las transferencias de Handoff de forma segura, ya sea de un dispositivo a otro, entre una app nativa y un sitio web, e incluso cuando hay una gran cantidad de datos involucrada.
Cómo Handoff funciona de manera segura
Con Handoff, cuando los dispositivos iOS, iPadOS y macOS de un usuario están cerca, el usuario puede transferir automáticamente aquello en lo que esté trabajando de un dispositivo al otro. Handoff permite al usuario cambiar de dispositivo y continuar trabajando de forma instantánea.
Cuando un usuario inicia sesión en iCloud en un segundo dispositivo compatible con Handoff, los dos dispositivos establecen un enlace mediante una conexión Bluetooth de baja energía (BLE) 4.2 fuera de banda a través del servicio de notificaciones push de Apple (APNs). Los mensajes individuales se encriptan de forma muy similar a los mensajes de iMessage. Una vez que los dispositivos están enlazados, cada uno genera una clave simétrica AES de 256 bits que se almacena en el llavero del dispositivo. Esta clave puede encriptar y autenticar los avisos de la conexión BLE que comunican la actividad actual del dispositivo con otros dispositivos enlazados de iCloud utilizando AES256 en modo GCM con medidas de protección de reproducción.
La primera vez que un dispositivo recibe un aviso de una clave nueva, establece una conexión BLE con el dispositivo que origina la clave y genera un intercambio de claves de encriptación del aviso. Esta conexión se protege mediante la encriptación estándar BLE 4.2 y la encriptación de los mensajes individuales, que es parecida a la encriptación de iMessage. En algunas situaciones, estos mensajes se envían usando APNs en lugar de BLE. La carga útil de la actividad se protege y se transfiere del mismo modo que con un iMessage.
Handoff entre apps nativas y sitios web
Handoff permite que una app nativa de iOS, iPadOS o macOS pueda reanudar la actividad del usuario en páginas web en dominios controlados legítimamente por el desarrollador de la app. También permite reanudar la actividad del usuario de la app nativa en un navegador web.
Con el fin de ayudar a evitar que las apps nativas soliciten reanudaciones de sitios web no controlados por el desarrollador, las apps deben demostrar que disponen del control legítimo de los dominios web que desean reanudar. El control de un sitio web se establece usando el mecanismo para credenciales web compartidas. Para ver más detalles, consulta Acceso de las apps a las contraseñas guardadas. El sistema debe validar el control del nombre del dominio de una app antes de que esta tenga permiso para aceptar la continuidad de la actividad del usuario con Handoff.
El origen de Handoff de una página web puede ser cualquier navegador que haya aceptado las API de Handoff. Cuando el usuario visualiza una página web, el sistema anuncia el nombre del dominio de la página web en los bytes de aviso de Handoff encriptados. Únicamente los demás dispositivos del usuario pueden desencriptar los bytes de aviso.
En un dispositivo receptor, el sistema detecta que una app nativa instalada acepta Handoff desde el nombre de dominio anunciado y muestra el ícono de la app nativa como la opción de Handoff. Una vez abierta, la app nativa recibe la dirección URL completa y el título de la página web. No se transfiere ninguna otra información del navegador a la app nativa.
En el sentido inverso, una app nativa puede especificar una URL de respaldo cuando el dispositivo que recibe Handoff no tiene instalada la misma app nativa. En este caso, el sistema muestra el navegador predeterminado del usuario como opción de aplicación de Handoff (si ese navegador ha adoptado las API de Handoff). Cuando se solicite el uso de Handoff, el navegador se abre y se le facilita la URL de respaldo que haya proporcionado la app nativa. No es necesario que la URL de respaldo se limite a los nombres de dominio que controle el desarrollador de la app nativa.
Handoff de datos de mayor tamaño
Como complemento a la función básica de Handoff, es posible que algunas apps elijan usar API que sean compatibles con el envío de un mayor número de datos mediante la tecnología de red Wi‑Fi P2P creada por Apple (de forma parecida a AirDrop). Por ejemplo, la app Mail utiliza esas API para poder utilizar Handoff con borradores de mensajes de correo, que podrían incluir archivos adjuntos de gran tamaño.
Cuando una app utiliza estas API, el intercambio entre los dos dispositivos se inicia como en Handoff. Pero, después de recibir la carga útil inicial mediante BLE, el dispositivo receptor inicia una conexión nueva a través de la red Wi‑Fi. Esta conexión está encriptada (con TLS), y obtiene la confianza mediante una identidad compartida a través del llavero de iCloud. La identidad de los certificados se coteja con la identidad del usuario. El resto de los datos de carga útil se envía mediante esta conexión encriptada hasta que se completa la transferencia.
Portapapeles universal
El portapapeles universal aprovecha Handoff para transferir de forma segura el contenido del portapapeles del usuario a través de dispositivos para poder copiar contenido en un dispositivo y pegarlo en otro. El contenido se protege de la misma forma que los demás datos de Handoff y se comparte de forma predeterminada mediante el portapapeles universal, a menos que el desarrollador de la app decida desactivar la opción de compartir.
Las apps tienen acceso a los datos del portapapeles incluso si el usuario ha pegado el portapapeles en una app. Con el portapapeles universal, el acceso a estos datos se extiende a las apps que se están ejecutando en otros dispositivos del usuario (establecidos mediante sus sesiones abiertas de iCloud).