En watchOS 2, no hay más llaveros compartidos.

Si quiero enviar un valor de llavero desde la aplicación iOS a la aplicación Watch, ¿es seguro enviarlo a través de WCSession updateApplicationContext?

15
david72 29 ene. 2016 a las 01:19

3 respuestas

La mejor respuesta

Respuesta de Apple:

El contenido de la aplicación se cifra durante el tránsito. De lo contrario, el contenido se almacena en el contenedor de la aplicación, lo que proporciona la seguridad inherente de los contenedores.

Aquí hay un enlace al Libro blanco de seguridad. https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Para la parte en tránsito, debe echar un vistazo a la sección "Apple Watch" en "Seguridad de la aplicación". Para la parte pertinente de la seguridad del contenedor, debe consultar la sección "Protección de datos de archivos" en "Cifrado y protección de datos".

3
Community 20 jun. 2020 a las 09:12

Según las pautas de seguridad de Apple: -

Protección de datos de llaveros Muchas aplicaciones necesitan manejar contraseñas y otros datos breves pero confidenciales, como claves y tokens de inicio de sesión. El llavero de iOS proporciona una forma segura de almacenar estos elementos. El llavero se implementa como una base de datos SQLite almacenada en el sistema de archivos. Solo hay una base de datos; el demonio securityd determina a qué elementos del llavero puede acceder cada proceso o aplicación. Las API de acceso a llaveros generan llamadas al demonio, que consulta los derechos "keychain-access-groups", "application-identifier" y "applicationgroup" de la aplicación. En lugar de limitar el acceso a un solo proceso, los grupos de acceso permiten que los elementos del llavero se compartan entre aplicaciones. Los elementos del llavero solo se pueden compartir entre aplicaciones del mismo desarrollador. Esto se gestiona exigiendo que las aplicaciones de terceros utilicen grupos de acceso con un prefijo asignado a través del Programa para desarrolladores de iOS a través de grupos de aplicaciones. El requisito de prefijo y la exclusividad del grupo de aplicaciones se aplican mediante la firma de código, los perfiles de aprovisionamiento y el programa para desarrolladores de iOS.Can't load full resultsTry againRetrying...Retrying...

Los datos del llavero se protegen mediante una estructura de clases similar a la utilizada en la protección de datos de archivos. Estas clases tienen comportamientos equivalentes a las clases de protección de datos de archivos, pero usan claves distintas y son parte de API que se nombran de manera diferente.


Apple Watch utiliza las funciones de seguridad y la tecnología desarrolladas para iOS para ayudar a proteger los datos en el dispositivo, así como las comunicaciones. con su iPhone emparejado e Internet. Esto incluye tecnologías como protección de datos y control de acceso a llaveros. Los usuarios El código de acceso también está enredado con el UID del dispositivo para crear cifrado llaves. El emparejamiento de Apple Watch con iPhone se asegura mediante un dispositivo fuera de banda. (OOB) proceso para intercambiar claves públicas, seguido del enlace BTLE secreto compartido. Apple Watch muestra un patrón animado, que es capturado por la cámara del iPhone. El patrón contiene un código secreto que se utiliza para el emparejamiento BTLE 4.1 fuera de banda. BTLE estándar La entrada con clave se utiliza como método de emparejamiento alternativo, si es necesario. Una vez Se establece la sesión BTLE, Apple Watch y iPhone intercambian claves utilizando un proceso adaptado de IDS, como se describe en la sección iMessage de este documento. Una vez intercambiadas las claves, la sesión de Bluetooth La clave se descarta y todas las comunicaciones entre Apple Watch y Los iPhone están encriptados usando IDS, con BTLE y Wi-Fi encriptados enlaces que proporcionan una capa de cifrado secundaria. Se utiliza key rolling a intervalos de 15 minutos para limitar la ventana de exposición, en caso de tráfico comprometidos. Para admitir aplicaciones que necesitan transmisión de datos, el cifrado es proporcionado utilizando los métodos descritos en la sección FaceTime de este papel, utilizando el servicio IDS proporcionado por el iPhone emparejado. manzana Watch implementa almacenamiento cifrado por hardware y protección basada en clases de archivos y elementos de llavero, como se describe en la Protección de datos sección de este documento. Bolsas de llaves con control de acceso para artículos de llavero también se utilizan. Teclas utilizadas para la comunicación entre el reloj y Los iPhone también están protegidos mediante protección basada en clases. Cuando Apple Watch no está dentro del alcance de Bluetooth, se puede usar Wi-Fi en su lugar. Reloj de manzana no se unirá a redes Wi-Fi a menos que las credenciales para hacerlo sean presente en el iPhone emparejado, que proporciona la lista de redes al reloj automáticamente. Apple Watch puede ser manualmente bloqueado manteniendo pulsado el botón lateral. Además, el movimiento Las heurísticas se utilizan para intentar bloquear automáticamente el dispositivo. poco después de quitarlo de la muñeca. Cuando está bloqueado, Apple Pay no se puede utilizar. Si el bloqueo automático proporcionado por la detección de muñeca es desactivado en la configuración, Apple Pay está desactivado. La detección de muñeca es desactivado con la aplicación Apple Watch en iPhone. Esta configuración también puede aplicarse mediante la gestión de dispositivos móviles. El iPhone emparejado también puede desbloquee el reloj, siempre que esté en uso. Esto es logrado mediante el establecimiento de una conexión autenticada por las claves establecido durante el emparejamiento. iPhone envía la clave, que usa el reloj para desbloquear sus claves de Protección de Datos. No se sabe que la contraseña del reloj iPhone ni se transmite. Esta función se puede desactivar con el Aplicación Apple Watch en iPhone. El Apple Watch se puede emparejar con solo uno iPhone a la vez. El emparejamiento con un nuevo iPhone borra todo automáticamente contenido y datos de Apple Watch. Habilitar Buscar mi teléfono en el El iPhone emparejado también habilita el bloqueo de activación en el Apple Watch. Activación El bloqueo dificulta que cualquiera use o venda un Apple Watch que tenga perdido o robado. El bloqueo de activación requiere el ID de Apple del usuario y contraseña para desvincular, borrar o reactivar un Apple Watch.Can't load full resultsTry againRetrying...Retrying...

Facilidad de uso de los servicios de llaveros https://developer.apple.com/library /ios/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html

5
Vizllx 8 feb. 2016 a las 06:44

Sí.

Si el valor de su llavero no cambia y actualiza repetidamente el contexto de su aplicación, es posible que desee hacer arreglos para enviar el valor solo una vez (para que el reloj lo agregue a su llavero), en lugar de reenviar repetidamente el valor del llavero.

Un ingeniero de Apple analiza cómo usar Watch Connectivity para enviar elementos de llaveros en el foro de desarrolladores:

Si tiene datos en el teléfono a los que desea acceder en el reloj, su aplicación puede usar WatchConnectivity para transferir los datos específicos y los elementos del llavero que necesita. El llavero en Apple Watch contiene un conjunto distinto de entradas del llavero en el iPhone emparejado, por lo que si necesita algo en ambos lugares, puede generarlo una vez para cada dispositivo o usar WatchConnectivity para transferirlo entre ellos.

Actualización:

En watchOS 2, Watch Connectivity es el mecanismo para transferir datos entre un teléfono emparejado y su reloj. La comunicación entre dispositivos está cifrada, según la Guía de seguridad de iOS.

En cuanto a si el diccionario puede ser accesible mientras está en memoria, o cómo podría persistir antes de que su extensión lo reciba, creo que debe confiar en Apple para abordar cualquier posible vulnerabilidad.

Probablemente sea razonable decir que la información no está en un lugar tan seguro como el llavero, hasta que su extensión se activa, recibe la actualización y luego almacena el valor en el llavero.

6
29 ene. 2016 a las 20:31