Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What encryption algorithm does the iOS keychain use to protect data?

After extensive googling I haven't managed to find an answer to this question1, which is surprising, since `security through obscurity' isn't really security at all...

Is there a reliable source of an answer to this question (such as a certification application for iOS, source code, or similar)?

1The only mention I could find was that it might use 3DES.

like image 876
James Avatar asked Jun 10 '11 23:06

James


People also ask

What type of encryption does iOS use?

Each iOS device includes a dedicated Advanced Encryption Standard (AES 256) cryptography engine to support hardware-level iPhone encryption, and it sits between the system memory and flash storage.

Does Apple use AES?

iOS devices have benefitted from hardware encryption for nearly a decade now, and Apple uses AES-256, which is what banks use for transactions. When data is encrypted no matter the state, and the key is generated and stored on-device, it is called end-to-end encryption.

How does Keychain work in iOS?

With iCloud Keychain, you can keep your passwords and other secure information updated across your devices. iCloud Keychain remembers things, so that you don't have to. It auto-fills your information—like your Safari usernames and passwords, credit cards, and Wi-Fi passwords on any device that you approve.

Does iPhone have 128 bit encryption?

Like all computers, your iPhone stores data as 0's and 1's. It uses an encryption key — a unique number that is 256 bits long to encrypt all the data on the phone.


2 Answers

According to this official Apple webpage :

Keychain items are encrypted using two different AES-256-GCM keys: a table key (metadata), and a per-row key (secret-key).

UPDATE: Update from May 2019. Encryption changed from 128 to 256.

like image 194
Mateusz Wlodarczyk Avatar answered Sep 29 '22 11:09

Mateusz Wlodarczyk


"Security through obscurity" means relying on obscurity to achieve security. It does not mean you are insecure just because you do not advertise your security mechanisms to the world.

Apple presumably wants the freedom to change the implementation of the keychain, so its encryption is not part of its specification because it does not need to be.

That said, I seriously doubt Apple uses 3DES, because they actually know what they are doing. I would give 10-to-1 odds they use AES.

An authoritative answer can probably only come from Apple or from someone who has disassembled their code.

like image 22
Nemo Avatar answered Sep 29 '22 12:09

Nemo