Is Apple iMessage End-to-End Encrypted? It Depends
Apple’s iMessage, the messaging system behind the Messages apps on iOS, macOS, iPadOS, and watchOS, is often labeled as end-to-end encrypted. End-to-end encryption (E2EE) means that only the sender and recipient can view the content of messages; even the provider of the messaging infrastructure can’t see the content of the messages.
Simply labeling iMessage as end-to-end encrypted is overly simplistic, however. The truth is more complicated.
Apple’s iCloud security overview states,
For Messages in iCloud, if you have iCloud Backup turned on, your backup includes a copy of the key protecting your messages. This ensures you can recover your messages if you lose access to your Keychain and your trusted devices. When you turn off iCloud Backup, a new key is generated on your device to protect future messages and isn’t stored by Apple.
Apple’s Security of iCloud Backup states,
When Messages in iCloud is enabled, iMessage, Business Chat, text (SMS), and MMS messages are removed from the user’s existing iCloud Backup and are instead stored in an end-to-end encrypted CloudKit container for Messages. The user’s iCloud Backup retains a key to that container. If the user later disables iCloud Backup, that container’s key is rolled, the new key is stored only in iCloud Keychain (inaccessible to Apple and any third parties), and new data written to the container can’t be decrypted with the old container key.
In other words, if you have iCloud Backup enabled on any device where you use iMessage, the key to decrypt your messages is included in the backup stored on Apple’s servers. Apple can read your backup; note that in the Data types and encryption section of the Apple iCloud security overview, the type of encryption for Backup is listed as In transit & on server, not End-to-end.
So if Apple wanted to, it could read your backup, get your key, and use it to decrypt your messages. It could also provide the key to any government or other party it chose to.
So, if you don’t want Apple (or other entities) to be able to read your iMessages, you need to disable iCloud Backup on all devices where you use iMessage.
Of course, even that is a bit simplistic, since the people you’re messaging probably have iCloud Backup enabled, so the messages you send to them could be accessible by Apple.
If you disable iCloud Backup on your iPhone, I highly recommend that you back up your phone another way, such as to your Mac or, if you have a Windows PC, to iTunes.
Because many Apple device owners won’t bother to use a secure messenger such as Signal, and instead stick to the default iMessage, I appreciate that iMessage is more secure and private that plain SMS (text) messaging. Still, I wish iMessage was truly end-to-end encrypted, regardless of whether iCloud Backup is enabled.