3 ms·
> they're kept in the secure enclave. No, they're not. It is indeed worth looking into the details. It would be impossible to sync passkeys, for example via i
by lapcat 3y ago
> they're kept in the secure enclave.
No, they're not. It is indeed worth looking into the details.
It would be impossible to sync passkeys, for example via iCloud keychain, if they were kept in the secure enclave.
- wmf 3y agoI forgot that Apple is syncing passkeys but my understanding is that iCloud sync is enclave-to-enclave (unless you have an old Mac I guess) which is just as secure.
- lapcat 3y ago> my understanding is that iCloud sync is enclave-to-enclave (unless you have an old Mac I guess) You misunderstand. Keys that are stored in the secure enclave never get out. They can't get out. That's literally why it's secure. This is why Apple silicon Mac internal hard drives can no longer be swapped. If the drive is separated from the secure enclave, or the secure enclave is damaged and the encryption key is lost, the data on the hard drive can't be recovered. You don't have the key; you can't get the key.
- wmf 3y agoSo you're saying what... passkeys don't use the enclave at all?
- lapcat 3y agoThere are synced passkeys, and there are device-bound passkeys. The OP mentions Yubikey: you can store a passkey on a Yubikey, and then it's device-bound and can't be exported. But Apple's implementation of passkeys is synced; they're just stored in an encrypted keychain.
- md_ 3y agoI think you're the one who misunderstands. Synced Passkeys are, in the Apple world, still stored in a Secure Element; they just are exportable. https://www.slashid.dev/blog/passkeys-deepdive/ https://www.slashid.dev/blog/passkeys-deepdive/ describes this fairly clearly. Syncing does certainly open up attacks that are not possible against non-synced credentials, but you're incorrect to say that synced Passkeys are not stored in the Secure Element. At least, that's my understanding. Tell me if I'm wrong!
- klausa 3y agoNo, the person you're replying to is right. "Exportable, but in SEP" is a meaningless distinction (if it even exists, I am not convinced that the article isn't confused about things, but I do not have the time or energy to try to refute it). The security benefits on SEP are that the keys _physically_ cannot leave it; if they're "exportable" and available to AP, then their security is necessarily only as good as of Keychain, and whether they're stored in SEP or on disk doesn't really matter if the AP can access them at all.
- md_ 3y agoI don't think the distinction is meaningless, though, as I said, I do agree that exportable keys are more vulnerable than non-exportable. What I understand the iCloud scheme to guarantee is roughly: 1. The TEE will not export keys except encrypted to the previously-established sync keypair. (IOW, it will only export keys after first encrypting them with the public key of the iCloud-sync keypair.) 2. The iCloud sync keypair will not be divulged by the iCloud server-side HSM except upon presentation of the correct auth credentials (your iCloud password or recovery key). I think this provides meaningful security beyond keys sitting in plaintext on (FDE-encrypted) disk, namely, that malware running on the device cannot itself simply export the keys from the TEE. It must instead join a new keychain to the iCloud trust circle, as described at https://support.apple.com/en-hk/guide/security/sec0a319b35f/web https://support.apple.com/en-hk/guide/security/sec0a319b35f/..., and to do this, it must be able to authenticate to iCloud as the user. That's certainly possible--malware running on the device could phish the user's iCloud password, for example. But it's no longer a zero-user-interaction access to the synced key. Again, clearly weaker than non-exportable keys, but still stronger than keys sitting in plaintext on disk.
- blibble 3y agoyou can mark the key as many different levels of exportable e.g. many secure enclaves support exporting a key to another attested secure enclave