iOS

Segurança e criptografia

Keychain avançado, CryptoKit, SSL Pinning, autenticação biométrica, secure coding, ATS

20 perguntas de entrevista·
Senior
1

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.

2

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.

3

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.

4

Qual é a principal vantagem da criptografia assimétrica em relação à criptografia simétrica?

5

Qual é a diferença fundamental entre hashing e criptografia em termos de segurança?

+17 perguntas de entrevista

Domine iOS para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis