Was ist der Vorteil der Verwendung von Key Chain zur sicheren Speicherung von Passwörtern?
sobes.tech KI
Antwort von AI
Keychain — ist ein sicheres Speicher in iOS, der für die Speicherung vertraulicher Daten wie Passwörter, Tokens und Zertifikate vorgesehen ist. Sein Vorteil liegt darin, dass es Daten auf Systemebene verschlüsselt und sie mit Hardware (Secure Enclave) schützt, was die Sicherheit im Vergleich zur Speicherung von Passwörtern in normalen Dateien oder UserDefaults erheblich erhöht.
Außerdem verwaltet der Keychain den Zugriff auf die Daten automatisch, sodass deren Nutzung nur auf bestimmte Anwendungen oder Anwendungsgruppen beschränkt werden kann, was das Risiko eines Lecks verringert. Die Daten im Keychain bleiben auch nach Neustarts des Geräts und sogar bei der Deinstallation der App erhalten (sofern entsprechend konfiguriert).
Beispiel für die Verwendung des Keychain zum Speichern eines Passworts:
import Security
func savePassword(_ password: String, for account: String) {
let data = password.data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: account,
kSecValueData as String: data
]
SecItemAdd(query as CFDictionary, nil)
}