iOS

Seguridad y cifrado

Keychain avanzado, CryptoKit, SSL Pinning, autenticación biométrica, secure coding, ATS

20 preguntas de entrevista·
Senior
1

¿Qué mecanismo de iOS se debe usar para almacenar de forma segura los tokens de autenticación sensibles?

Respuesta

Keychain es el sistema de almacenamiento seguro nativo de iOS, diseñado específicamente para datos sensibles. Cifra automáticamente los datos y gestiona el acceso según políticas de control definidas. UserDefaults nunca debe usarse para secretos, ya que almacena los datos en texto plano. Keychain también ofrece funciones avanzadas como el acceso biométrico y la sincronización segura con iCloud.

2

¿Qué atributo de Keychain garantiza que los datos permanezcan inaccesibles mientras el dispositivo está bloqueado?

Respuesta

kSecAttrAccessibleWhenUnlocked garantiza que solo se pueda acceder a los datos cuando el dispositivo está desbloqueado. Esto ofrece protección incluso si se consulta el Keychain a través de un proceso en segundo plano. Apple recomienda este valor para los tokens sensibles. Otras opciones como WhenUnlockedThisDeviceOnly ofrecen protección adicional al impedir la sincronización con iCloud.

3

¿Qué clase de CryptoKit se debe usar para realizar un cifrado simétrico AES-256?

Respuesta

SymmetricKey en CryptoKit gestiona las claves simétricas, mientras que AES.GCM (Galois/Counter Mode) realiza el cifrado autenticado. Se prefiere GCM porque proporciona tanto confidencialidad como autenticación, evitando ataques de manipulación. Este enfoque es más seguro que ChaCha20Poly1305 en contextos que no requieren un rendimiento extremo en dispositivos antiguos.

4

¿Cuál es la principal ventaja del cifrado asimétrico frente al cifrado simétrico?

5

¿Cuál es la diferencia fundamental entre hashing y cifrado en materia de seguridad?

+17 preguntas de entrevista

Domina iOS para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis