Quel est l'avantage d'utiliser Key Chain pour stocker en toute sécurité les mots de passe?
sobes.tech IA
Réponse de l'IA
Keychain — est un stockage sécurisé sur iOS, conçu pour stocker des données sensibles telles que mots de passe, jetons et certificats. Son avantage réside dans le fait qu'il offre un chiffrement au niveau du système et les protège à l'aide de matériel (Secure Enclave), ce qui augmente considérablement la sécurité par rapport au stockage de mots de passe dans des fichiers ordinaires ou UserDefaults.
De plus, le Keychain gère automatiquement l'accès aux données, permettant de limiter leur utilisation uniquement à certaines applications ou groupes d'applications, ce qui réduit le risque de fuite. Les données dans le Keychain sont également conservées entre les redémarrages de l'appareil et même lors de la suppression de l'application (si configuré correctement).
Exemple d'utilisation du Keychain pour sauvegarder un mot de passe :
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)
}