IMessage
2014年11月4日、電子フロンティア財団(EFF)は、iMessageを「Secure Messaging Scorecard」に掲載し、7点満点中5点の評価を与えた。
通信が送受信中に暗号化されていること、プロバイダーがアクセスできない鍵で通信が暗号化されていること(エンドツーエンド暗号化)、鍵が盗まれても過去の通信が安全であること(前方秘匿性)、セキュリティ設計が文書化されていること、最近の独立したセキュリティ監査を受けたことなどが評価された。
一方で、送信者が相手の身元を確認できないことや、ソースコードが第三者によるレビューを受けられないことなどが、評価の対象外となった。
2015年9月、暗号技術者およびセキュリティ技術者であるマシュー・グリーンは、iMessageが帯域外検証のための指紋を表示しないため、中間者攻撃が発生していないことを利用者が確認できないと指摘した。この投稿では、iMessageがRSA鍵交換を使用していることも指摘しており、EFFが主張しているのとは逆に、iMessageは前方秘匿性機能を備えていないと指摘している。
1以降では、RSA暗号の代わりに楕円曲線統合暗号化スキーム(ECIES)暗号を使用することが可能になっている。これにより、受信端末ごとに1つずつ、暗号化されたメッセージテキスト、メッセージ鍵、および送信者のデジタル署名からなるメッセージが生成される。タイムスタンプやAPNのルーティングなどのメタデータは暗号化されず、APNとの通信は、前方秘匿のTLSチャネルを用いて暗号化される。メッセージのテキストが長すぎる場合や、写真などの添付ファイルが含まれている場合、CTRモードのAESを用いてランダムに生成された256ビットの鍵で暗号化され、AppleのクラウドサービスであるiCloudにアップロードされる。添付ファイルのAES鍵、Uniform Resource Identifier(URI)、暗号化されたSHA-1ハッシュが、iMessageの暗号化によって受信側に送信される。グループメッセージの場合、各受信側の端末に上記の過程が繰り返される。
受信側では、各端末がAPNからメッセージのコピーを受信し、必要に応じてiCloudから添付ファイルを受信する仕組みになっている。他のプッシュ通知と同様にメッセージは配信されるとAPNから削除されるが、受信端末がオフライン状態の場合、メッセージは待ち行列に入り、最大30日間保存される。