Segurança e criptografia
Keychain avançado, CryptoKit, SSL Pinning, autenticação biométrica, secure coding, ATS
1Qual mecanismo do iOS deve ser usado para armazenar com segurança tokens de autenticação sensíveis?
Qual mecanismo do iOS deve ser usado para armazenar com segurança tokens de autenticação sensíveis?
Resposta
O Keychain é o sistema de armazenamento seguro nativo do iOS, projetado especificamente para dados sensíveis. Ele criptografa automaticamente os dados e gerencia o acesso de acordo com políticas de controle definidas. O UserDefaults nunca deve ser usado para segredos, pois armazena os dados em texto puro. O Keychain também oferece recursos avançados como acesso biométrico e sincronização segura com o iCloud.
2Qual atributo do Keychain garante que os dados permaneçam inacessíveis enquanto o dispositivo está bloqueado?
Qual atributo do Keychain garante que os dados permaneçam inacessíveis enquanto o dispositivo está bloqueado?
Resposta
kSecAttrAccessibleWhenUnlocked garante que os dados só possam ser acessados quando o dispositivo está desbloqueado. Isso oferece proteção mesmo que o Keychain seja consultado por um processo em segundo plano. A Apple recomenda esse valor para tokens sensíveis. Outras opções como WhenUnlockedThisDeviceOnly oferecem proteção adicional ao impedir a sincronização com o iCloud.
3Qual classe do CryptoKit deve ser usada para realizar criptografia simétrica AES-256?
Qual classe do CryptoKit deve ser usada para realizar criptografia simétrica AES-256?
Resposta
SymmetricKey no CryptoKit gerencia as chaves simétricas, enquanto AES.GCM (Galois/Counter Mode) realiza a criptografia autenticada. O GCM é preferido porque fornece tanto confidencialidade quanto autenticação, evitando ataques de manipulação. Essa abordagem é mais segura que ChaCha20Poly1305 em contextos que não exigem desempenho extremo em dispositivos antigos.
Qual é a principal vantagem da criptografia assimétrica em relação à criptografia simétrica?
Qual é a diferença fundamental entre hashing e criptografia em termos de segurança?
+17 perguntas de entrevista
Outros temas de entrevista iOS
Fundamentos de Swift
Fundamentos da linguagem Swift
Fundamentos do UIKit
Ciclo de vida do UIViewController
UserDefaults & Keychain
Ciclo de vida do aplicativo
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gerenciamento de estado no SwiftUI
Navegação SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programação orientada a protocolos
Arquitetura MVVM
Notificações Push
Testes unitários & XCTest
Testes de interface de usuário
Xcode e sistema de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Otimização de desempenho
SwiftUI Advanced
Arquitetura de aplicativos iOS
Domine iOS para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis