Protección de datos de iOS: ¿Quién descifra los archivos transferidos a través de USB?

4

Estoy tratando de entender un detalle de implementación de la protección de datos de Apple en iOS: conozco el cifrado por archivo y las diversas clases de cifrado de claves y las bolsas de claves; sin embargo, no entiendo cómo funciona esto para la transferencia de archivos a través de USB (por ejemplo, para copias de seguridad de iTunes).

Al realizar una copia de seguridad de los datos en iTunes a través de USB, ¿el dispositivo iOS descifra el archivo internamente, o se envía en su forma cifrada, e iTunes realiza el descifrado (utilizando las diversas claves de clase contenidas en el Escrow Keybag)?

La posibilidad anterior parece más plausible, ya que en las versiones más recientes de iOS, el Escrow Keybag supuestamente está cifrado con una clave que el dispositivo iOS solo conoce, por lo que sospecho que el procedimiento es similar al siguiente:

  1. El host se autentica en el dispositivo iOS con su clave de host
  2. El host transfiere la bolsa de claves de depósito cifrada al dispositivo iOS
  3. El dispositivo iOS descifra el Escrow Keybag y, por lo tanto, obtiene acceso a las claves de clase de todas las clases de seguridad sin que el usuario tenga que desbloquear el dispositivo.
  4. iTunes solicita algunos archivos con fines de copia de seguridad, escribe otros para sincronizar música, etc., y todo el cifrado y descifrado ocurre en el dispositivo iOS, usando las claves proporcionadas por Escrow Keybag.

¿Alguien puede confirmar eso o señalar dónde me equivoco?

    
pregunta lxgr 07.08.2013 - 14:32
fuente

2 respuestas

1

Una pregunta antigua, pero intentaré responder.

OP es mayormente correcto. El proceso es así:

  • iTunes se conecta al dispositivo, pasa el registro de custodia (que se estableció en el momento de emparejarse con el dispositivo) y solicita una copia de seguridad;
  • El daemon de copia de seguridad usa ese registro de custodia para "desbloquear" el dispositivo. Esto desbloquea el keybag del sistema y tiene el mismo efecto que ingresar el código de acceso en el dispositivo;
  • El daemon de copia de seguridad lee todos los archivos necesarios (y el kernel se encarga de descifrarlos, ya que el paquete de claves del sistema está completamente desbloqueado; el proceso es transparente para el daemon de copia de seguridad), opcionalmente los cifra (si está habilitado el cifrado de copia de seguridad) y se envía a iTunes.

iTunes en realidad no es responsable de ningún cifrado / descifrado de los archivos del dispositivo, que yo sepa.

Además, iTunes no puede descifrar los archivos usando el registro de custodia porque el registro de custodia es esencialmente un conjunto de claves de protección de contenido cifradas con una clave aleatoria de 256 bits, y esa clave se almacena en el dispositivo y no es conocida por iTunes (al menos eso es cómo fue antes de iOS 7).

    
respondido por el Andrey 16.07.2014 - 08:55
fuente
2

Lo más probable es que tu hipótesis sea correcta.

Las API de protección de datos indican que los datos pueden estar en uno de tres estados:

  1. Sin cifrar todo el tiempo
  2. Sin cifrar después del primer código PIN ingresado después del inicio
  3. Sin cifrar mientras está desbloqueado (vuelve a cifrar 10 segundos después del bloqueo de pantalla)

Esta información (junto con la información que mencionaste en tu pregunta) indica que lo más probable es que iTunes sea verificado y que se considere confiable, luego el dispositivo desbloquea / desencripta los datos para su transporte a través de USB.

Por supuesto, es posible que Apple esté utilizando API completamente diferentes para acceder a los datos para la sincronización, pero parece más probable que sus API sean al menos similares al API de protección de datos proporcionado por el sistema, si no están usando exactamente esos.

Más información sobre la protección de datos se encuentra en las notas / video de la sesión 714 de la WWDC 2012, "Protección de los datos de los usuarios"

    
respondido por el Jeff 14.08.2013 - 17:53
fuente

Lea otras preguntas en las etiquetas