Ключи Secure Enclave существуют даже после удаления приложения

Я сгенерировал ключи внутри безопасного анклава, используя следующий фрагмент кода:

func generateKeyPair (accessControl: SecAccessControl) бросает -> (public: SecureEnclaveKeyReference, private: SecureEnclaveKeyReference) {

    let privateKeyParams: [String: Any] = [
        kSecAttrLabel as String: privateLabel,
        kSecAttrIsPermanent as String: true,
        kSecAttrAccessControl as String: accessControl,
    ]
    let params: [String: Any] =
    [
        kSecAttrKeyType as String: attrKeyTypeEllipticCurve,
        kSecAttrKeySizeInBits as String: 256,
        kSecAttrTokenID as String: kSecAttrTokenIDSecureEnclave,
        kSecPrivateKeyAttrs as String: privateKeyParams
    ]
    var publicKey, privateKey: SecKey?

    let status = SecKeyGeneratePair(params as CFDictionary, &publicKey, &privateKey)

    guard status == errSecSuccess else {

        throw SecureEnclaveHelperError(message: "Could not generate keypair", osStatus: status)
    }

    return (public: SecureEnclaveKeyReference(publicKey!), private: SecureEnclaveKeyReference(privateKey!))
}

После деинсталляции приложения ключи все еще существуют, есть ли способ удалить ключи из безопасного анклава?

Заранее спасибо:)

0 ответов

При удалении приложения с устройства триггера для выполнения кода нет. Доступ к связке ключей зависит от профиля обеспечения, который используется для подписи приложения. Следовательно, никакие другие приложения не смогут получить доступ к этой информации в связке ключей.

/questions/36884641/udalit-elementyi-tsepochki-dlya-klyuchej-pri-udalenii-prilozheniya/36884643#36884643

Если вы хотите удалить ключ из Secure Enclave, вы можете позвонить:

SecItemDelete(query as CFDictionary)

https://developer.apple.com/documentation/security/1395547-secitemdelete

Другие вопросы по тегам