Tienes razón al tener dudas acerca de la seguridad de un código PIN de cuatro dígitos: independientemente de lo que Apple haga para proteger tus datos de Llavero, al menos alguien dentro de Apple siempre podría realizar un ataque de fuerza bruta para todos los 10000 posibles. Dígitos con muy poco esfuerzo. Simplemente no es posible protegerse contra una fuerza bruta paralela con una entrada de tan baja entropía, sin importar qué KDF use.
Dado que la implementación es propietaria y de código cerrado, todo sobre el funcionamiento real es especulación, así que tome las siguientes especulaciones con más de un grano de sal. Dicho esto, aquí se explica cómo un servicio como iCloud Keychain podría implementarse de una manera que sea consistente con public declaraciones .
-
Los contenidos de Keychain realmente parecen estar cifrados con una clave simétrica del lado del cliente; probablemente solo se suba una versión encriptada a los servidores de Apple.
-
La adición de nuevos dispositivos probablemente ocurra a través de la criptografía de clave pública (conceder solicitudes de "nuevo dispositivo" podría encriptar la clave simétrica con el público de ese dispositivo), pero desafortunadamente no permite la verificación de huellas dactilares (lo que hace al hombre en el posibles ataques intermedios, al igual que con iMessage).
-
La contraseña de recuperación probablemente se usará para cifrar la clave simétrica usando una función de fortalecimiento de clave usando un salt y muchas iteraciones antes de que se cargue en Apple; al usar ese código de recuperación, Apple probablemente use un hash basado en ese código para limitar la velocidad de los intentos de recuperación antes de entregar la clave simétrica envuelta junto con los datos de Llavero cifrados.
Ars Technica tiene un artículo interesante sobre el tema, y llegan a la conclusión de que el uso del código de recuperación de cuatro dígitos sugerido hace que un ataque de fuerza bruta sea muy factible, pero solo para Apple (o alguien que se las arregla para hacerlo). entrar en su infraestructura de servidor).
También he escrito sobre esto en una publicación de blog yo mismo, donde llego a conclusiones muy similares.
Para resumir: si le preocupa que Apple (o alguien que pueda obtener acceso a sus sistemas, ya sea un pirata informático o las autoridades policiales) tenga acceso a sus datos de Llavero, use al menos un alfanumérico sólido contraseña para la recuperación o no utilice el código de recuperación en absoluto.