En términos simples, ¿cuál es la tecnología de cifrado en iOS 8 que lo hace indescifrable, incluso para Apple?

No sé hasta qué punto puedo explicar esto en “términos simples”, y voy a tener que introducir algunos términos especializados. Como voy a tener que explicar ciertos conceptos y términos a lo largo del camino, esto no va a ser corto.

Algunos términos especializados

El concepto más importante derivación clave . La derivación clave (tomada en términos generales) es cómo obtenemos de su código de acceso para descifrar los datos en el teléfono. El proceso de derivación clave es donde se encuentran las respuestas a su pregunta. Implica múltiples conceptos también.

Sus datos están encriptados con una clave aleatoria. Esa clave aleatoria es un número aleatorio de 256 bits (aproximadamente 74 dígitos) que se selecciona la primera vez que configura su teléfono. La clave que cifra sus datos se cifra con lo que se denomina clave de cifrado de clave . [1] Y la clave de cifrado de clave se deriva de su código de acceso.

Donde entra la “indescifrable”

Lo que he descrito anteriormente es bastante estándar. Casi cualquier sistema criptográfico bien diseñado que necesita encriptar muchos datos para los cuales las partes cambian regularmente usa una estructura similar a la que se hizo anteriormente. Pero lo que ahora necesitamos ver es qué hace Apple que es especial.

Llaves enredadas

Pasar de su código de acceso a la clave de cifrado implica lo que Apple llama “enredar” el código de acceso con una clave especial que está integrada en el hardware de su dispositivo. [2] Esa clave de dispositivo es única para cada dispositivo, nunca se graba en ningún lado. Apple no mantiene un registro de ello. Apple llama a eso horneado en clave el “UID”, por lo que seguiré su terminología en lo que sigue. Aquí está lo que dicen al respecto.

Este UID también está integrado en el hardware de manera que no se puede recuperar, solo se puede usar. Esto significa que incluso un dispositivo totalmente roto no podría tener un software que recupere ese secreto.

Espero que mi descripción anterior haga que su documento sea más legible:

La ID única (UID) del dispositivo y una ID de grupo de dispositivos (GID) son claves AES de 256 bits fusionadas (UID) o compiladas (GID) en el procesador de la aplicación y Secure Enclave durante la fabricación. Ningún software o firmware puede leerlos directamente; solo pueden ver los resultados de las operaciones de cifrado o descifrado realizadas por motores AES dedicados implementados en silicio utilizando el UID o GID como clave. [De: https://www.apple.com/business/d… página 9]

Limitar el acceso interno

Normalmente, cuando tienes el control total de un sistema operativo, puedes ejecutar lo que quieras. Pero Apple ha agregado una capa adicional, llamada “enclave seguro” que controla el acceso incluso al uso de la clave secreta incrustada. El enclave seguro solo permitirá un conjunto muy limitado de operaciones en el material que contiene, incluso desde el sistema operativo central mismo.

Lo más importante es que realmente limita la cantidad de veces que el sistema operativo puede probar un código de acceso. Creo que se limita a diez intentos antes de comenzar a requerir que los intentos tengan que esperar algunos segundos (o minutos) antes de volver a intentarlo. (Tenga en cuenta que también es el enclave seguro que limita el número de intentos fallidos de huellas digitales).

Todo esto lo hace el enclave seguro en sí mismo, por lo que incluso un sistema operativo completamente pirateado no podría superar ese requisito.

Nuevamente, ahora la documentación de Apple puede ser más legible para la persona común:

Además, el UID y el GID del Secure Enclave solo pueden ser utilizados por el motor AES dedicado al Secure Enclave. Los UID son exclusivos de cada dispositivo y Apple ni ninguno de sus proveedores los registra. […] La integración de estas claves en el silicio ayuda a evitar que sean manipuladas o anuladas, o que se acceda fuera del motor AES. [ibid, página 9]

Procesamiento lento de contraseña

Si de alguna manera alguien descubrió una manera (con un hardware muy sofisticado) para sortear los controles del enclave seguro, hay otro límite en la frecuencia con la que se puede probar un código de acceso. La matemática del proceso de derivación clave requiere muchos cálculos; Para ejecutar los cálculos en la derivación de clave del código de acceso, se tarda aproximadamente 1/12 de segundo en cada dispositivo. [3] Y debido a que ese proceso implica enredos con el UID (integrado en el hardware), solo se puede probar en el dispositivo en sí.

Entonces, tal vez esa explicación hará que esto sea más legible:

El código de acceso está enredado con el UID del dispositivo, por lo que se deben realizar intentos de fuerza bruta en el dispositivo bajo ataque. Se utiliza un gran recuento de iteraciones para que cada intento sea más lento. El recuento de iteraciones se calibra para que un intento tome aproximadamente 80 milisegundos. Esto significa que llevaría más de 5 años y medio probar todas las combinaciones de un código de acceso alfanumérico de seis caracteres con letras minúsculas y números. [ibid, página 11]

Sin embargo, la mayoría de las personas se queda con simples dígitos para su contraseña, así que vea la nota [3]

Notas:

[1]: En realidad estoy simplificando aquí. Apple usa cadenas de lo que llaman “llaveros” que están encriptados con otras claves.

[2]: Apple describe cómo funciona este enredo, pero está mucho más allá del lenguaje “laico”.

[3]: Si le preocupa que la NSA (o alguien) pueda atravesar el enclave seguro (dudoso en mi opinión en este momento), establezca un código de acceso de al menos 8 dígitos. iOS 9 moverá el valor predeterminado de 4 a 6, pero con 8 tendrá protección a través del “procesamiento de código de acceso lento” incluso si todos los demás mecanismos de seguridad, incluido el enclave seguro, de alguna manera están rotos.

A 8o milisegundos por conjetura, un atacante tardaría aproximadamente medio día en encontrar un código de acceso de 6 dígitos o un par de meses para obtener uno de 8 dígitos. Nuevamente, el atacante debe estar en plena posesión del dispositivo durante este tiempo y de alguna manera debe haber evitado el enclave seguro. Tenga en cuenta que moverse por el enclave seguro es mucho más que simplemente romper la cárcel.

Bueno, creo que lo que sucede es que el código de acceso se almacena directamente en el dispositivo en un área segura, como donde se almacenan sus huellas digitales y sin ese código de acceso, no puede solicitar ninguno de sus datos. Sus datos ahora se almacenan como un disco duro y se almacenan en diferentes áreas y sin el código de acceso, no se puede acceder porque el cifrado requiere ese código de acceso y luego sigue moviendo los datos. La única otra forma de acceder a los datos es piratearlos y estoy bastante seguro de que Apple tiene un montón de otras características que lo protegen.

Entonces, esto es lo que sucede. Ingrese su contraseña y abra el dispositivo. Esto le da permiso a su dispositivo para enviar un mensaje encriptado a los servidores que lo desencriptan, encontrar sus datos y luego enviárselos. Luego, en cualquier otro momento que solicite datos, hace lo mismo una y otra vez. Entonces el gobierno tendría que tener su dispositivo para acceder a su contraseña para obtener sus datos.

En términos simples, Apple no tiene acceso a la clave de cifrado. Está directa o indirectamente vinculada al código de acceso en la contraseña del dispositivo / iCloud. Cuando la clave de cifrado está vinculada a la contraseña / iCloud de su dispositivo (directa o indirectamente), Apple no tiene forma de desbloquear / puerta trasera para obtener los datos cuando los solicita … o la policía lo solicita. Simplemente pueden decir que no tenemos lo que necesitamos para descifrarlo con el usuario.
Hice todo lo posible para cumplir con los términos simples … pero el “cifrado” se coló … pero se ha convertido en una palabra común si ha visto #MrRobot o #CSI Cyber.

En términos simples, es solo el cifrado AES estándar. El cifrado puede ser forzado hasta que adivine la contraseña, pero sin la contraseña, tomaría cientos o incluso miles de años descifrarla. Cuanto más largo sea el código, más difícil será la fuerza bruta y si el único código es el que tiene el usuario, no hay nada que Apple o cualquiera pueda hacer para descifrarlo. Si Apple se da algún tipo de puerta trasera, también da una puerta trasera a los delincuentes para que entren.

La mayoría de los piratas informáticos entran en las cosas pirateando personas, no encriptando. La gente usa teclas fáciles de adivinar o crack que son demasiado cortas o demasiado repetitivas porque son convenientes. El problema con el cifrado no es que incluso haya sido fácil de hackear, es que las personas son ridículamente fáciles de hackear.

El iPhone ha pasado un umbral de seguridad clave | MIT Technology Review

El cifrado de iOS es tan bueno que ni siquiera la NSA puede piratearlo

En el corazón de la arquitectura de seguridad de Apple se encuentra el algoritmo Advanced Encryption Standard (AES), un sistema de codificación de datos publicado en 1998 y adoptado como estándar del gobierno de los EE. UU. En 2001. Después de más de una década de análisis exhaustivo, AES es ampliamente considerado como irrompible . El algoritmo es tan fuerte que ninguna computadora imaginable en el futuro previsible, incluso una computadora cuántica, podría descifrar una clave AES verdaderamente aleatoria de 256 bits. La Agencia de Seguridad Nacional ha aprobado AES-256 para almacenar datos de alto secreto.
Apple no respondió a las solicitudes de comentarios sobre esta historia. Pero la clave AES en cada iPad o iPhone “es única para cada dispositivo y no está registrada por Apple ni ninguno de sus proveedores”, dijo la compañía en un documento técnico relacionado con la seguridad. “Quemar estas llaves en el silicio evita que sean manipuladas o anuladas, y garantiza que solo puedan acceder a ellas el motor AES”.

El protocolo iMessage es un protocolo binario que solo permite el uso de claves del remitente y del receptor. El protocolo requiere algunas estipulaciones para que los titulares de claves tengan acceso al método de descifrado.

  1. un appleid
  2. un número de teléfono registrado y otra cadena de datos identificables del dispositivo
  3. la clave de cifrado

como Apple se elimina del proceso, no se usa un tercer token, por lo tanto …

Si no es el remitente, debe ser el receptor o no puede descifrar los datos.