5 votes

Gestion des anciennes clés iMessages

Supposons la situation suivante :

  1. Mon appareil est volé et les clés de mon trousseau (y compris les clés de chiffrement et de signature d'iMessage)
  2. Je réactive mon compte iMessage et de nouvelles clés iMessage sont générées.

Pour autant que je sache, le client iMessage envoie chaque clé publique à Apple, donc quand quelqu'un m'envoie un message, mon message sera crypté avec chaque clé publique associée à mon compte.

Si quelqu'un renifle mes messages et parce qu'il a mes anciennes clés, peut-il lire mes messages ?

Existe-t-il un moyen de gérer mes clés iMessage associées à mon compte iMessage ?

3voto

Petros Points 4430

TL;DR

  • Si vous effacer le téléphone à distance alors le dispositif sera effacé, y compris les clés s'il est en ligne ou s'il est hors ligne, il sera effacé lorsqu'il sera en ligne.
  • S'il est hors ligne mais que quelqu'un en extrait les clés, ces dernières restent inutiles car elles ne peuvent décrypter que les messages spécifiquement cryptés pour cet appareil et si vous avez le téléphone a été effacé à distance alors Apple ne dira pas aux autres appareils iMessage de chiffrer les messages envoyés à cet appareil.
  • Si vous modifiez votre mot de passe iCloud, votre appareil ne sera plus en mesure d'utiliser le service iMessage et les clés seront également inutilisables.
  • Si vous effacer le téléphone à distance si le téléphone est maintenu hors ligne et que le voleur peut accéder à votre téléphone (par exemple en cassant votre code d'accès), il peut lire les anciens messages reçus avant que vous ne le fassiez. Dans ce cas, les clés iMessage n'entrent pas en jeu et la sécurité normale par code d'accès/TouchID protège les messages déjà reçus par cet appareil.
  • Vous ne pouvez pas gérer directement les clés iMessage de vos appareils iOS mais vous gérez leur accès à iMessage en gérant l'appareil lui-même. Lorsque vous supprimez un appareil de votre compte iCloud, vous supprimez implicitement les clés iMessage et les rendez inutiles.
  • Le fait de renifler la connexion entre votre téléphone volé et Apple ne révélerait pas vos clés iMessage privées, car elles ne sont jamais envoyées via la connexion et, de plus, il est difficile de renifler ces connexions puisqu'elles sont cryptées. Seules les clés iMessage publiques sont envoyées via la connexion.

Réponse longue

Les détails sont couverts en grande partie par Guide de sécurité iOS d'Apple qui décrit en détail le mécanisme utilisé par iMessage, voir l'extrait ci-dessous.

iMessage

Apple iMessage est un service de messagerie pour les appareils iOS, l'Apple Watch et le Mac. ordinateurs. iMessage prend en charge le texte et les pièces jointes telles que les photos, les contacts, et des lieux. Les messages apparaissent sur tous les appareils enregistrés d'un utilisateur, de sorte qu'une conversation peut être poursuivie à partir de n'importe quel appareil. de l'utilisateur, de sorte qu'une conversation peut être poursuivie à partir de n'importe quel appareil. iMessage fait un usage intensif de la technologie Apple Watch. fait un usage intensif du service Apple Push Notification (APN). Apple n'enregistre pas pas le contenu des messages ou des pièces jointes, qui sont protégés par un chiffrement de de bout en bout afin que personne d'autre que l'expéditeur et le destinataire ne puisse y accéder. Apple ne peut pas décrypter les données. Lorsqu'un utilisateur active iMessage sur un appareil, ce dernier génère deux paires de clés à utiliser avec le service : une clé de sécurité et une clé de chiffrement. paires de clés à utiliser avec le service : une clé RSA 1280 bits pour le cryptage et une clé ECDSA 256 bits pour le cryptage. ECDSA 256 bits sur la courbe NIST P-256 pour la signature. Les clés privées pour les privées des deux paires de clés sont enregistrées dans le Trousseau de l'appareil et les clés au service d'annuaire d'Apple (IDS), où elles sont associées au numéro de téléphone ou à l'adresse de numéro de téléphone ou à l'adresse électronique de l'utilisateur, ainsi qu'à l'adresse APN de l'appareil. Au fur et à mesure que les utilisateurs activent d'autres appareils pour l'utilisation d'iMessage, leurs clés publiques de cryptage et de signature, leurs APNs et leurs clés publiques d'authentification de chiffrement et de signature, leurs adresses APN et leurs numéros de téléphone associés sont sont ajoutés au service d'annuaire. Les utilisateurs peuvent également ajouter d'autres adresses électroniques, qui qui sont vérifiées par l'envoi d'un lien de confirmation. Les numéros de téléphone sont vérifiés par le réseau de l'opérateur et la carte SIM. Avec certains réseaux, cela nécessite l'utilisation de SMS (l'utilisateur recevra une l'utilisateur verra apparaître une boîte de dialogue de confirmation si le SMS n'est pas à taux zéro). La vérification du numéro de téléphone peut être requise pour plusieurs services système en plus d'iMessage, tels que système en plus d'iMessage, tels que FaceTime et iCloud. Tous les appareils enregistrés de l'utilisateur Tous les appareils enregistrés de l'utilisateur affichent un message d'alerte lorsqu'un nouvel appareil, un nouveau numéro de téléphone ou un nouvel e-mail est ajouté. est ajouté.

Comment iMessage envoie et reçoit des messages

Les utilisateurs entament une nouvelle conversation iMessage en saisissant une adresse ou un nom. Si s'ils saisissent un numéro de téléphone ou une adresse électronique, le dispositif contacte l'IDS pour récupérer les clés publiques et les adresses APN de tous les appareils associés à l'adresse. avec le destinataire. Si l'utilisateur saisit un nom, le dispositif utilise d'abord la clé publique et l'adresse APN de l'utilisateur. l'application Contacts de l'utilisateur pour rassembler les numéros de téléphone et les adresses électroniques associés à ce nom. associés à ce nom, puis obtient les clés publiques et les adresses APN de l'IDS. Le message sortant de l'utilisateur est crypté individuellement pour chacun des appareils du destinataire. récepteur. Les clés publiques de cryptage RSA des dispositifs de réception sont récupérées de l'IDS. Pour chaque dispositif de réception, le dispositif d'envoi génère une clé aléatoire. aléatoire de 88 bits et l'utilise comme clé HMAC-SHA256 pour construire une clé de 40 bits. dérivée de la clé publique de l'émetteur et du récepteur et du texte en clair. Le site concaténation des valeurs de 88 et 40 bits donne une clé de 128 bits, avec laquelle le message est crypte le message avec elle en utilisant AES en mode CTR. La valeur de 40 bits est utilisée par le côté récepteur pour vérifier l'intégrité du texte en clair décrypté. Cette clé AES par message est chiffrée à l'aide de RSA-OAEP sur la clé publique du récepteur. l'appareil récepteur. La combinaison du texte du message chiffré et de la clé du message chiffré est ensuite hachée. et de la clé du message crypté est ensuite hachée avec SHA-1, et le hachage est signé avec ECDSA en utilisant la clé de signature privée du dispositif d'envoi. Les messages résultants résultants, un pour chaque dispositif de réception, se composent du texte du message chiffré, de la clé du message chiffré et de la signature numérique de l'expéditeur. Ils sont ensuite envoyés aux APN pour être livrés. Les métadonnées, telles que l'horodatage et les informations de routage des APN, ne sont pas cryptées. La communication avec les APN est chiffrée à l'aide d'un canal TLS secret. Les APN ne peuvent relayer que des messages d'une taille maximale de 4 Ko ou 16 Ko, selon la version d'iOS selon la version d'iOS. Si le texte du message est trop long, ou si une pièce jointe comme une photo est photo, la pièce jointe est chiffrée à l'aide d'AES en mode CTR avec une clé de générée aléatoirement et téléchargée sur iCloud. La clé AES de la pièce jointe, son URI (Uniform Resource Identifier) et le hachage SHA-1 de la pièce jointe chiffrée. chiffrée sont ensuite envoyées au destinataire en tant que contenu d'un iMessage, dont la confidentialité et l'intégrité sont confidentialité et leur intégrité sont protégées par le cryptage normal des iMessages, comme le montre le schéma suivant. iMessage Flow Du côté de la réception, chaque dispositif reçoit sa copie du message des APN, et, si nécessaire, récupère la pièce jointe dans iCloud. Le numéro de téléphone entrant ou l'adresse électronique de l'expéditeur sont comparés aux contacts du destinataire afin de afin qu'un nom puisse être affiché lorsque cela est possible. Comme c'est le cas pour toutes les notifications push, le message est supprimé des APN lorsqu'il est livré. Toutefois, contrairement aux autres notifications APNs, les messages iMessage sont sont mis en file d'attente pour être livrés aux appareils hors ligne. Les messages sont actuellement stockés pendant un maximum de 30 jours.

L'essentiel de la section ci-dessus est le suivant :

  1. Quelqu'un écrit un message qui vous est destiné
  2. Leur appareil contacte Apple et récupère les clés publiques de tous vos appareils actuels.
  3. Leur appareil crypte leur message pour chacun de vos appareils et l'envoie à Apple.
  4. Apple transmet chaque message crypté individuellement à vos appareils correspondants et met en mémoire cache les messages non distribués pendant 30 jours au maximum.

Si votre téléphone perdu/volé n'est plus associé à votre compte iCloud (parce que vous l'avez supprimé), le téléphone de l'expéditeur ne recevra pas de clé publique d'Apple permettant de crypter un message pour cet appareil, de sorte qu'une copie de ce message ne sera pas envoyée à votre appareil perdu/volé, ce qui rendra les clés de cet appareil inutiles. Ainsi, même si quelqu'un parvient à extraire vos clés iMessage de l'appareil, tant que celui-ci n'est plus enregistré à votre nom, il ne recevra jamais de message pouvant être décrypté avec ces clés.

Si vous n'avez pas supprimé l'appareil d'iCloud, vous pouvez renifler la connexion entre votre appareil et les serveurs d'Apple. ne devrait pas être possible sera très difficile puisqu'elle se fait via une connexion TLS secrète et que la connexion échouerait si le dispositif n'obtenait pas un certificat TLS valide signé par l'autorité de certification attendue, ce qui devrait rendre difficile l'exécution d'une opération de type Attaque de type "Man-In-The-Middle"

Si votre téléphone n'a pas été désactivé avec Find My iPhone et que vous n'avez pas changé votre mot de passe iCloud, le voleur pourrait simplement utiliser votre téléphone perdu pour lire vos messages, comme vous vous y attendez, mais si vous suivez les instructions suivantes Instructions d'Apple pour les iPhones perdus Ils n'ont aucun moyen d'extraire vos clés iMessage de votre iPhone et ne peuvent donc pas les placer sur un autre appareil. Si vous mettez le téléphone en mode Perdu, ils ne peuvent même pas y accéder pour lire vos anciens messages sans code d'accès. Il n'y a aucun moyen pour vous de gérer directement vos clés iMessage, elles sont gérées sous le manteau par les appareils enregistrés sur votre compte iCloud. Lorsque vous supprimez un appareil d'iCloud, Apple n'envoie plus les clés publiques de cet appareil lorsqu'un expéditeur d'iMessage demande à Apple de vous envoyer un message. Les clés de l'appareil n'ont plus d'importance car aucun nouveau message ne sera crypté avec les clés publiques et aucun nouveau message ne pourra être décrypté avec les clés privées de l'appareil. Il incombe alors à la sécurité de votre appareil (code d'accès/identification tactile et cryptage sur l'appareil) de protéger le contenu du téléphone, c'est-à-dire vos anciens messages.

Vous pouvez également lire quelques idées sur les faiblesses de ce modèle de sécurité dans les liens ci-dessous :
https://blog.quarkslab.com/imessage-privacy.html https://blog.cryptographyengineering.com/2015/09/09/lets-talk-about-imessage-again/

MISE À JOUR

J'ai ajouté cette section pour répondre aux préoccupations spécifiques du PO concernant le voleur de clés iMessage qui renifle leur réseau.

Vous semblez particulièrement préoccupé par le scénario suivant ;
Votre iPhone a été volé (ou piraté) et est à nouveau en votre possession mais vos clés iMessage ont été volées par un voleur qui va maintenant renifler le réseau sur lequel votre téléphone est connecté afin de pouvoir lire vos messages.

Disons tout d'abord que ce qui vous inquiète est tout à fait possible, puisque tout est possible et que tout système peut être piraté avec suffisamment de temps et d'efforts, à moins qu'il ne soit complètement éteint (batterie éteinte et débranchée) et jamais connecté à un réseau. Ceci étant dit, examinons la probabilité de cette éventualité. Pour que quelqu'un puisse obtenir les clés de votre iMessage et renifler votre réseau pour lire vos messages, voici une liste de ce qui devrait se passer.

  • votre téléphone doit être volé et vous être rendu.
  • le voleur doit avoir piraté votre téléphone et extrait les clés privées de votre iMessage, en déjouant les dispositifs de sécurité en place tels que TouchID, le code d'accès ou le cryptage de l'appareil. Il doit ensuite pirater le système d'exploitation ou le matériel pour extraire les clés, car il n'existe aucun moyen d'y accéder.
  • il faudrait soit que vous ne sachiez pas que votre téléphone a été volé, soit que vous le sachiez mais choisissiez de ne pas le supprimer de votre compte iCloud (ce qui nécessiterait le renouvellement des clés).
  • le voleur devra alors accéder au même réseau que vous, par exemple le réseau WiFi de votre domicile. Ce sera relativement facile s'il n'est pas crypté, ce qui n'est pas courant, et relativement difficile s'il est crypté et protégé par un mot de passe ou s'il dispose d'une liste blanche d'adresses MAC, par exemple. Je ne peux cependant pas me prononcer sur la sécurité du réseau WiFi de votre maison.
  • le voleur devrait alors intercepter (ou "renifler") les paquets destinés à votre téléphone, déterminer s'il s'agit de messages iMessage et les décrypter à l'aide des clés, mais il y a un autre obstacle : le trafic entre votre appareil et Apple est crypté à l'aide d'une connexion Forward-TLS. Le voleur doit donc également casser ce cryptage pour réussir à lire les données des messages, puis utiliser les clés qu'il a extraites pour décrypter les messages après les avoir réassemblés sur le flux TCP.
Franchement, tout ce qui précède est incroyablement complexe et, à moins que vous ne soyez Edward Snowden ou un autre ennemi de l'État, je ne pense pas que quiconque puisse se donner la peine de lire vos messages.

op

0 votes

Si mon trousseau de clés est volé, et que j'utilise toujours le même appareil sans l'effacer, mais que j'ai changé mon mot de passe iCloud, mes messages sont-ils protégés ?

0 votes

Oui, parce que si vous avez l'appareil, le voleur de trousseau n'aurait aucun moyen de recevoir des messages et de les décrypter avec vos clés privées.

0 votes

Mais quelqu'un peut renifler mon réseau et peut obtenir les messages de cette façon.

2voto

cmason Points 4861

La meilleure explication qui permet de répondre à cette question est cet article de TechCrunch. Les passages pertinents sont reproduits ci-dessous. Article

TL;DR : Dans ce cas, la clé est spécifique à cet appareil. Si vous réactivez Messages, par exemple sur un nouveau Mac, un nouveau jeu de clés est créé pour ce nouvel appareil. Les clés ne sont pas partagées entre les appareils : chaque iDevice a ses propres clés.

Si le méchant garde votre Mac et que vous ne le déconnectez pas d'iCloud, il peut voir vos messages. Donc, déconnectez cet appareil de Messages, et les clés sont effacées.

  • Lorsqu'un utilisateur active iMessage pour la première fois, votre appareil crée deux jeux de clés privées et publiques : un jeu pour le cryptage des données et un jeu pour la signature des données (lire : la signature des données est un ensemble secondaire de données qui permet de vérifier que le texte crypté n'a pas été modifié après son envoi au serveur. Si jamais ces deux éléments ne correspondent pas, les signaux d'alarme commencent à se déclencher).
  • Vos clés publiques sont envoyées aux serveurs d'Apple. Vos clés privées sont stockées sur votre appareil. Apple ne voit jamais vos clés privées.
  • Lorsqu'une personne entame une conversation iMessage avec vous, elle récupère votre ou vos clés publiques sur les serveurs d'Apple. Avant que le message ne quitte l'appareil de l'expéditeur, il est crypté en quelque chose que seul votre appareil peut décrypter.
  • Donc, si Apple ne dispose jamais de votre clé privée, comment les messages arrivent-ils sur tous vos appareils sous une forme lisible ? Comment votre/vos clé(s) privée(s) passe(nt) d'un appareil à l'autre ?
  • Réponse simple : ils ne le font pas. Vous disposez en fait d'un jeu de clés pour chaque appareil que vous ajoutez à iCloud, et chaque iMessage est crypté indépendamment pour chaque appareil. Ainsi, si vous avez deux appareils - disons un iPad et un iPhone - chaque message qui vous est envoyé est en fait crypté (AES-128) et stocké deux fois sur les serveurs d'Apple. Une fois pour chaque appareil. Lorsque vous consultez un message, il est spécifiquement crypté pour l'appareil sur lequel vous vous trouvez.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X