Tell me more ×
IT Security Stack Exchange is a question and answer site for IT security professionals. It's 100% free, no registration required.

This is a very interesting article about the iMessage technology used in Apple's very popular communication devices. So far, there has not been much technical details released by Apple. Hopefully someone here is able to shed some light on it.

  • What security technologies and protocols are used?

  • How are the messages encrypted?

  • Is it truly end-to-end secure? Can Apple or anyone else circumvent the encryption?

Any other interesting information welcomed as well.

share|improve this question
Yes, Apple is its own CA. They issue certificates for developers, they did for MobileMe (I assume they still do for iCloud). – Everett Aug 20 '12 at 14:15
The issue currently seems to be gaining some traction, e.g. check macrumors.com/2012/08/20/… but the articles still fall short on techical details – Georgios Aug 20 '12 at 20:50
3  
@Georgios Edited the question abit and placed a bounty on it. ;) – Terry Chia Aug 22 '12 at 12:25
If Apple is the CA for the certificates used for entity authentication in the protocol, then in theory they'll be able to carry out a man-in-the-middle attack on it and impersonate another user. – Matt H Aug 24 '12 at 6:43
@Terry, I'm just back from vacation, thanks for caring and "nurturing" the question. – Georgios Aug 27 '12 at 7:38

1 Answer

This is incomplete. But hopefully of some use. http://imfreedom.org/wiki/IMessage and https://github.com/meeee/pushproxy (especially the docs section) have done some reverse engineering of apple's proprietary protocol.

Seems that every apple device has a SSL/TLS client-side cert for authentication that setup to be known to apple's push server. This is used to authenticate you as well encrypt the connection between your apple device and apple's push server. I do not see anything about retrieving public keys of users you are sending messages to; hence your message is completely readable/editable by someone at apple's servers.

To specifically answer the three questions:

  • What security technologies and protocols are used?

Standard SSL/TLS certificates. Apple's self-signed certificate uses RSA 2048-bit public key.

  • How are the messages encrypted?

SSL/TLS to encrypt the connection between the apple push server and your device.

  • Is it truly end-to-end secure? Can Apple or anyone else circumvent the encryption?

Yes. To the best of my knowledge messages are in plaintext on apple's servers.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.