Seguridad de Handoff
Apple gestiona la seguridad de las transferencias con Handoff, ya sea desde un dispositivo a otro, entre una app y un sitio web o incluso transferencias de grandes cantidades de datos.
Cómo funciona Handoff de forma 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 LE (BLE) 4.2 fuera de banda a través del APNs. Los mensajes individuales están encriptados de forma similar a los mensajes de iMessage. Una vez que los dispositivos están enlazados, cada dispositivo 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 el 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, así como mediante la encriptación de los mensajes individuales, que es parecida a la encriptación de iMessage. En algunas situaciones, estos mensajes se envían mediante APNs en lugar de hacerlo mediante la conexión 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 una página 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 quieren reanudar. El control de un sitio web se establece mediante el mecanismo para credenciales web compartidas. Para obtener información detallada, 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 icono 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 alternativa cuando el dispositivo que recibe Handoff no tiene instalada la misma app nativa. En este caso, el sistema muestra el navegador por defecto del usuario como opción de app 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 alternativa que haya proporcionado la app nativa. No es necesario que la URL alternativa se limite a los nombres de dominio que controle el desarrollador de la app nativa.
Handoff de datos de mayor tamaño
Como complemento al uso de 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 wifi 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, tras recibir la carga útil inicial mediante Bluetooth LE (BLE), el dispositivo receptor inicia una conexión nueva a través de la red wifi. 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 de un usuario entre los dispositivos, de modo que se pueda copiar contenido de un dispositivo y pegarlo en otro. El contenido se protege del mismo modo que otros datos de Handoff y se comparte por defecto con Portapapeles Universal, a menos que el desarrollador de la app no permita que se comparta.
Las apps tienen acceso a los datos del portapapeles independientemente de si el usuario ha pegado el portapapeles en ellas. Con Portapapeles Universal, este acceso a los datos se extiende a las apps que se ejecutan en los demás dispositivos del usuario (tal y como se establece al iniciar sesión en iCloud).