jeroenhd
4 hours ago
> My question is, why does Apple have all of this personal, private information, stored in plain text?
iCloud backups are usually encrypted (by default with a key Apple possesses). It's possible Apple stores this data in a database, though; as far as I can tell, it's a list of devices authenticated to your Apple account. The name and model of the device are probably there so you can easily manage them from a list of stored passkeys somewhere, as the only identifiers that need to be stored are the key ID and the public key which you probably wouldn't recognise if you tried to check your security settings.
> Is that how passkeys always work?
No.
Bluetooth passkeys generally work via CTAP2 with the key information encrypted on-device (though this does leak your BT MAC address to your immediate surroundings and leaves a pairing record on your computer, obviously), USB passkeys work by storing a key and signatures on the USB device itself, and every software-defined passkey implementation I've seen uses end-to-end-encryption for exchanging keys.
> Does every website where you login with a passkey get your device model, name, UDID, and last 4 characters of your device serial number?
No. Most of this information seems to be collected specifically for Apple's iCloud passkey sync mechanism. Passkey authentication should export a unique key ID per website/session, a public key signature for verifying authentication, and optionally a vendor ID for the "only permit certain types of passkeys" restrictions (though those should not be used for almost anything).
> I have no idea. I don't know how passkeys are implemented. But it's something we ought to know, something that passkey vendors ought to tell us. The privacy implications of widely distributing that information are disturbing. Downloading my data from Apple has brought more questions than answers.
If you hook a device up to a cloud account, you should expect the identifiers for that device to come with it. This is done at the very least to enable their theft protection system.
lapcat
4 hours ago
> iCloud backups are usually encrypted (by default with a key Apple possesses).
This is not an iCloud backup. It's "Apple ID account and device information". Keep in mind that Apple is playing a dual role in this case, and you appear to be conflating the two.
Of course Apple runs iCloud Keychain, which syncs client data including the private keys. But that's supposed to be all end-to-end encrypted, including the metadata. It would be quite a disturbing breach of privacy if Apple knew the websites associated with your passkeys, wouldn't it? "Keychain items are encrypted using two different AES-256-GCM keys: a table key (metadata) and a per-row key (secret key). Keychain metadata (all attributes other than kSecValue) is encrypted with the metadata key" https://support.apple.com/guide/security/keychain-data-prote...
But this is not any old passkey: it's a passkey for apple.com. Apple is also playing the role of server to which the client authenticates. That's entirely separate from iCloud Keychain client data. You would think that in its role as server, Apple would have only the same client information as any other passkey server, e.g., Github.
lxgr
an hour ago
As I've said in another comment, I don't actually see that anywhere in Apple's documentation. What they say in [1] is:
> Keychain items are transferred from device to device, traveling through Apple servers, but are encrypted end-to-end so that Apple and other devices can’t read their contents.
"Contents" is a bit vague (I wish they'd be more precise too), but it doesn't scream "data and metadata to me" – they might well mean that usernames, public keys, domains etc. are accessible to them, and only passwords and private keys are end-to-end encrypted. That would explain your observations.
[1] https://support.apple.com/en-us/guide/security/sec1c89c6f3b/...
user
2 hours ago
lxgr
an hour ago
> If you hook a device up to a cloud account, you should expect the identifiers for that device to come with it.
I think nobody would object to Apple storing metadata like "devices UUID1, UUID2, UUID3 have access to user ID1's keychain", but Apple storing the domain and credential ID of Passkeys (if that's what TFA actually found [1]) would go a bit beyond that in my view.
[1] There's a chance that these are passkeys for Apple, not stored with Apple. Every relying party needs to store the public key and credentialID server-side in order to facilitate future authentications. We'll see if that is the case in a bit – I requested a copy of my Apple ID data, and I have non-apple.com passkeys on my account, so if I can see the domain for these in plaintext, Apple is indeed storing that metadata unencrypted.