Sobes.tech
Junior — Middle

Mi az előnye a Key Chain használatának a jelszavak biztonságos tárolására?

sobes.tech MI

Válasz az MI-től

Keychain — ez egy biztonságos tárolóhely az iOS-ben, amelyet bizalmas adatok, például jelszavak, tokenek és tanúsítványok tárolására terveztek. Előnye, hogy rendszer szintű titkosítást biztosít, és hardver (Secure Enclave) segítségével védi az adatokat, ami jelentősen növeli a biztonságot a normál fájlokban vagy UserDefaults-ban történő tároláshoz képest.

Ezenkívül a Keychain automatikusan kezeli az adatokhoz való hozzáférést, lehetővé téve azok korlátozását csak bizonyos alkalmazásokra vagy alkalmazáscsoportokra, így csökkentve a szivárgás kockázatát. A Keychain-ben tárolt adatok a készülék újraindítása után és az alkalmazás törlése esetén is megmaradnak (ha megfelelően van konfigurálva).

Példa a jelszó mentésére a Keychain segítségével:

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)
}