Sicherheit und Verschlüsselung
Erweiterter Keychain, CryptoKit, SSL Pinning, biometrische Authentifizierung, secure coding, ATS
1Welcher iOS-Mechanismus sollte verwendet werden, um sensible Authentifizierungstokens sicher zu speichern?
Welcher iOS-Mechanismus sollte verwendet werden, um sensible Authentifizierungstokens sicher zu speichern?
Antwort
Keychain ist das native sichere Speichersystem von iOS, das speziell für sensible Daten entwickelt wurde. Es verschlüsselt Daten automatisch und verwaltet den Zugriff gemäß definierten Kontrollrichtlinien. UserDefaults sollte niemals für Geheimnisse verwendet werden, da es Daten im Klartext speichert. Keychain bietet außerdem erweiterte Funktionen wie biometrischen Zugriff und sichere iCloud-Synchronisierung.
2Welches Keychain-Attribut stellt sicher, dass Daten unzugänglich bleiben, während das Gerät gesperrt ist?
Welches Keychain-Attribut stellt sicher, dass Daten unzugänglich bleiben, während das Gerät gesperrt ist?
Antwort
kSecAttrAccessibleWhenUnlocked stellt sicher, dass auf Daten nur zugegriffen werden kann, wenn das Gerät entsperrt ist. Dies bietet Schutz, selbst wenn der Keychain über einen Hintergrundprozess abgefragt wird. Dieser Wert wird von Apple für sensible Tokens empfohlen. Andere Optionen wie WhenUnlockedThisDeviceOnly bieten zusätzlichen Schutz, indem sie die iCloud-Synchronisierung verhindern.
3Welche CryptoKit-Klasse sollte für die symmetrische AES-256-Verschlüsselung verwendet werden?
Welche CryptoKit-Klasse sollte für die symmetrische AES-256-Verschlüsselung verwendet werden?
Antwort
SymmetricKey in CryptoKit verwaltet symmetrische Schlüssel, während AES.GCM (Galois/Counter Mode) die authentifizierte Verschlüsselung durchführt. GCM wird bevorzugt, da es sowohl Vertraulichkeit als auch Authentifizierung bietet und Manipulationsangriffe verhindert. Dieser Ansatz ist sicherer als ChaCha20Poly1305 in Kontexten, die keine extreme Leistung auf älteren Geräten erfordern.
Was ist der Hauptvorteil der asymmetrischen Verschlüsselung gegenüber der symmetrischen Verschlüsselung?
Was ist der grundlegende Unterschied zwischen Hashing und Verschlüsselung in Bezug auf Sicherheit?
+17 Interview-Fragen
Weitere iOS-Interviewthemen
Swift-Grundlagen
Grundlagen der Swift-Sprache
UIKit-Grundlagen
UIViewController-Lebenszyklus
UserDefaults & Keychain
Anwendungslebenszyklus
Auto Layout & Constraints
UITableView & UICollectionView
SwiftUI-Grundlagen
SwiftUI State-Management
SwiftUI-Navigation
Networking & URLSession
Codable & JSON-Parsing
Core Data
Protokollorientierte Programmierung
MVVM-Architektur
Push-Benachrichtigungen
Unit-Testing & XCTest
UI-Tests
Xcode & Build-System
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance-Optimierung
SwiftUI Advanced
iOS-Anwendungsarchitektur
Meistere iOS für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten