IMessage
iMessageのプロトコルは、独自のバイナリ転送プロトコルであるApple Push Notification Service(APN)を多用している。AppleのサーバーとKeep-Aliveを設定しており、接続ごとに特定の端末へのメッセージを送る時に使用される経路を認証する独自のデバイストークンを取得している。接続はiMessageのアクティベーション上での端末がリクエストしたクライアントサイドの証明書を使ったTLSで暗号化される。メッセージはエンドツーエンド暗号化によって保護されているため、送受信者以外はアクセスができない仕様になっている。
Appleの白書によれば、iMessageを有効にした場合、端末上でRSA1280ビット、NIST P-256、EC256ビットの鍵を使用している暗号化の鍵と楕円曲線DSA(ECDSA)256ビットを使用している署名の鍵のペアを生成している。秘密鍵は端末に保存、公開鍵はApple Identity Service(IDS)に送信され、端末の電話番号やメールアドレス、APNアドレスと関連付けられる。また、iMessageは1つのアカウントで複数の端末から使用できるため、新たな端末を追加すると、その端末の暗号化・署名用公開鍵、APNアドレス、および関連する電話番号がディレクトリ・サービスに追加される。