Seguridad y cifrado
Keychain avanzado, CryptoKit, SSL Pinning, autenticación biométrica, secure coding, ATS
1¿Qué mecanismo de iOS se debe usar para almacenar de forma segura los tokens de autenticación sensibles?
¿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?
¿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?
¿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.
¿Cuál es la principal ventaja del cifrado asimétrico frente al cifrado simétrico?
¿Cuál es la diferencia fundamental entre hashing y cifrado en materia de seguridad?
+17 preguntas de entrevista
Otros temas de entrevista iOS
Fundamentos de Swift
Fundamentos del lenguaje Swift
Fundamentos de UIKit
Ciclo de vida de UIViewController
UserDefaults & Keychain
Ciclo de vida de la aplicación
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gestión de estado en SwiftUI
Navegación SwiftUI
Networking & URLSession
Codable y parsing JSON
Core Data
Programación orientada a protocolos
Arquitectura MVVM
Notificaciones Push
Pruebas unitarias & XCTest
Pruebas de interfaz de usuario
Xcode y sistema de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Optimización de rendimiento
SwiftUI Advanced
Arquitectura de aplicaciones iOS
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