with signin page mac help doesn appleid apple iphone certificate ios keychain

iphone - signin - reset icloud keychain



Seguridad iOS Keychain (4)

El estudio de Fraunhofer sobre la seguridad del llavero iOS:

Por lo que puedo decir, hay dos niveles de encriptación que usa el llavero iOS. El primer nivel usa el código de acceso de la pantalla de bloqueo como clave de cifrado. El segundo nivel usa una clave generada y almacenada en el dispositivo.

Los investigadores de Fraunhofer han descubierto cómo sortear el segundo nivel. Este es el nivel "más fácil" para moverse, ya que la clave de cifrado está almacenada en el dispositivo. Por lo tanto, en iOS4, su método solo funciona con las entradas de llavero que NO usan kSecAttrAccessibleWhenUnlocked o kSecAttrAccessibleWhenUnlockedThisDeviceOnly, porque esas entradas residen en la memoria con el primer nivel descifrado, incluso cuando el teléfono está bloqueado.

  • A partir de iOS 4, las claves con kSecAttrAccessibleWhenUnlocked y kSecAttrAccessibleWhenUnlockedThisDeviceOnly están protegidas por un nivel adicional de cifrado
  • En iOS 3.xy versiones anteriores, todas las claves se pueden descifrar utilizando el método de Fraunhofer, independientemente del atributo de accesibilidad utilizado.
  • Los dispositivos sin códigos de acceso seguirán siendo vulnerables
  • Los dispositivos con códigos de acceso débiles (menos de seis dígitos) seguirán siendo algo vulnerables

≈50ms por intento de contraseña; → ≈20 intentos por segundo; → .71.7 años para un cambio del 50% de adivinar el código de acceso correcto para un código alfanumérico de 6 dígitos con la base 36. El código simple estándar de 4 dígitos numéricos sería forzado en tiempo real en menos de 9 minutos. Basado en la suposición de que se puede eludir el contador de intentos incorrectos en iOS, ya que no está basado en hardware

Apple Inc. WWDC 2010, sistema operativo principal, sesión 209 "Protección de datos de aplicaciones", diapositiva 24

En pocas palabras: si debe almacenar datos confidenciales, mejor use su propio cifrado. Y no almacene la clave en el dispositivo.

Editar: hay numerosos artículos de noticias que citan el estudio de Fraunhofer y aseguran a sus lectores que no se preocupen a menos que roben sus dispositivos, porque este ataque solo puede hacerse con acceso físico al dispositivo.

De alguna manera estoy dudoso. El hecho de que los investigadores hicieron sus pruebas con el acceso físico al teléfono parece haber sido solo una forma de simplificar el problema, en lugar de ser una limitación. Esta es su descripción de lo que hicieron para descifrar las entradas del llavero:

Después de usar una herramienta de jailbreaking, para acceder a un shell de comandos, ejecutamos un pequeño script para acceder y descifrar las contraseñas encontradas en el llavero. El descifrado se realiza con la ayuda de funciones proporcionadas por el sistema operativo en sí.

Como cualquiera que haya usado jailbreak.me sabe, jailbreak no requiere acceso físico al dispositivo. En teoría, debería ser trivial modificar el código de jailbreak.me y hacer que automatice lo siguiente:

  1. Realice el jailbreak de forma normal (todo lo que se requiere es que el usuario abra un PDF creado con fines malintencionados)
  2. Ejecuta los guiones de Fraunhofer después de completar el jailbreak
  3. Envíe las contraseñas a través de la red a una ubicación que el atacante pueda leer desde

Entonces, una vez más, tenga cuidado con lo que pone en el llavero.

queremos usar certificados en el iPhone para autenticarse para MS Exchange Sync. No estamos seguros de cómo se implementa el concepto de seguridad para proteger estos certificados.

por ejemplo, ¿es posible obtener el acceso "completo" a Llaveros en el iPhone si no está habilitado ScreenLock? (o con un iPhone Jailbroken).

¿Alguien tiene algunos enlaces sobre esto?



Normalmente, el llavero sería la forma recomendada de almacenar dicho certificado. Sin embargo, se ha descubierto que jailbreaking se puede utilizar para eludir la seguridad del llavero ( artículo ).


Puedo responder parte de su pregunta, pero como la otra parte aún se desconoce, votaré la pregunta ya que también estoy ansioso por saber la respuesta.

La parte que puedo responder es: ''¿puede una aplicación obtener acceso completo a un llavero si no está habilitado el bloqueo de pantalla''? No, cada aplicación tiene su propia área de llavero en el iphone, lo que significa que una aplicación solo puede acceder a sus propios secretos. Estos secretos no están bloqueados para la aplicación en sí misma, por lo que no hay forma de ocultar las entradas de la llave de la aplicación en sí. Para resumir: una aplicación puede leer sus propias entradas y ninguna otra entrada.

Sin embargo, lo que me interesa saber es qué ocurre en los dispositivos con jailbreak. ¿Están los llaveros de todas las aplicaciones expuestas una vez que un dispositivo tiene un jailbreak?