Centralizar & Organizar los mejores artículos de Seguridad informática.
En este post voy a hacer un repaso a las claves AES que contiene el iPhone. El contenido es estrictamente teórico pero nos va a venir bien para entender las capas de seguridad que vamos a ir “descifrando” en próximos posts.
Antes de entender la estructura de claves es necesario entender las siguientes siglas:
A partir de estas 2 claves se derivan el resto de llaves del teléfono. Vamos a ver qué otras claves importantes hay y cómo se calculan:
IOAESAcelerator: Algunas claves derivadas son calculados por este servicio en el arranque. Estas claves son generada al cifrar ciertos datos estáticos con las claves UID o GID.
0×835: Es una clave que se ejecuta al arrancar el núcleo. Es usada como clave del dispositivo y protege tanto la clase “keys” como todo el Keychain (el ataque al Keychain es posible porque accedemos a través de una aplicación; si accedemos directamente al .plist y lo analizamos veremos los datos internos cifrados por esta clave). Se calcula cifrando la sencuencia “0×01010101010101010101010101010101″ con la clave UID.
0×836: Es una clave que se calcula en el nucleo durante una restauración. Si el arranque es normal se supone que está a “0″. Se calcula cifrando la secuencia “0x00E5A0E6526FAE66C5C1C6D4F16D6180″ con la clave UID.
0×837: Sirve para descifrar los ficheros de iOS durante las actualzaciones de firmware. Se calcula cifrando la secuencia “0x345A2D6C5050D058780DA431F0710E15″ con la clave GID.
0×838: Se calcula cifrando la secuencia “0x8C8318A27D7F030717D2B8FC5514F8E1″ con la clave UID.
0×899: Se desconoce para que se usa. Se calcula cifrando la secuencia “0xD1E8FCB53937BF8DEFC74CD1D0F1D4B0″ con la clave UID.
0x89A: Se calcula cifrando la secuencia “0xDB1F5B33606C5F1C1934AA66589C0661″ con la clave UID. Es usada a partir del chipa A4 y sirve para cifrar los ficheros SHSH. En esta web se explica que es el fichero SHSH, como se obtiene y para que sirve (generalmente es usado para poder hacer downgrade).
0x89B: Se calcula cifrando la secuencia “0x183E99676BB03C546FA468F51C0CBD49″ con la clave UID. Es usado como clave para cifrar la particion de datos.
En este esquema se ve la arquitectura entera de claves:
En un próximo post veremos como atacar estas claves gracias a una herramienta forense que ha creado Jean Sigwald que funciona hasta iOS 5.
Carlos Rebollo – @CharlieSec
Carlos@highsec.es
Referencias:
1. http://code.google.com/p/iphone-dataprotection/
2. http://theiphonewiki.com/wiki/AES_Keys
3. http://www.securitylearn.net/2012/04/22/extracting-aes-keys-from-iphone/
4. http://esec-lab.sogeti.com/dotclear/public/publications/11-hitbamsterdam-iphonedataprotection.pdf
5. http://staff.science.uva.nl/~delaat/rp/2010-2011/p26/report.pdf
Publicaciones Anteriores
05- Análisis forense iPhone – Parte V – Cómo crackear / descifrar el Keychain
Publicaciones Siguiente
07- Análisis forense iPhone – Parte VII – Accediendo con Ramdisk [iPhone < 4S, No Jailbreak]
Los comentarios están cerrados.