
Selon Apple, le protocole PQ3 est la mise à jour de sécurité cryptographique la plus importante de l'histoire d'iMessage.
Nous annonçons aujourd'hui la plus importante mise à niveau de la sécurité cryptographique dans l'histoire d'iMessage avec l'introduction de PQ3, un protocole cryptographique post-quantique révolutionnaire qui fait progresser l'état de l'art en matière de messagerie sécurisée de bout en bout. Avec un chiffrement résistant aux compromis et des défenses étendues contre les attaques quantiques les plus sophistiquées, PQ3 est le premier protocole de messagerie à atteindre ce que nous appelons le niveau 3 de sécurité - offrant des protections de protocole qui surpassent celles de toutes les autres applications de messagerie largement déployées. À notre connaissance, PQ3 possède les propriétés de sécurité les plus solides de tous les protocoles de messagerie à l'échelle mondiale.
Le protocole PQ3 remplacera complètement le protocole de cryptographie existant d'iMessage dans toutes les conversations prises en charge dans le courant de l'année. Tous les appareils participant à une conversation iMessage doivent être mis à jour avec les versions logicielles susmentionnées ou plus récentes pour être éligibles.
iMessage avec PQ3 : une messagerie quantique sécurisée à grande échelle
Lors de son lancement en 2011, iMessage a été la première application de messagerie largement répandue à proposer un chiffrement de bout en bout par défaut, et Apple a considérablement amélioré sa cryptographie au fil des ans. Ils ont récemment renforcé le protocole cryptographique d'iMessage en 2019 en passant de RSA à la cryptographie à courbe elliptique (ECC) et en protégeant les clés de chiffrement sur l'appareil avec Secure Enclave, ce qui les rend beaucoup plus difficiles à extraire d'un appareil, même pour les adversaires les plus sophistiqués.
Cette mise à jour du protocole est allée encore plus loin en ajoutant une couche de défense supplémentaire : un mécanisme de reclé périodique pour assurer l'autorégénération cryptographique, même dans le cas extrêmement improbable où une clé serait compromise. Chacune de ces avancées a été formellement vérifiée par une évaluation symbolique, une pratique exemplaire qui fournit de solides garanties quant à la sécurité des protocoles cryptographiques.
Historiquement, les plateformes de messagerie ont utilisé la cryptographie classique à clé publique, telle que RSA, les signatures à courbe elliptique et l'échange de clés Diffie-Hellman, pour établir des connexions chiffrées sécurisées de bout en bout entre les appareils. Tous ces algorithmes sont basés sur des problèmes mathématiques difficiles qui ont longtemps été considérés comme trop intensifs en termes de calcul pour que les ordinateurs puissent les résoudre, même en tenant compte de la loi de Moore.
Toutefois, l'essor de l'informatique quantique menace de modifier l'équation. Un ordinateur quantique suffisamment puissant pourrait résoudre ces problèmes mathématiques classiques de manière fondamentalement différente et donc, en théorie, le faire assez rapidement pour menacer la sécurité des communications cryptées de bout en bout.
Bien qu'il n'existe pas encore d'ordinateurs quantiques dotés de cette capacité, les attaquants disposant de ressources considérables peuvent déjà se préparer à leur arrivée éventuelle en tirant parti de la forte baisse des coûts de stockage des données modernes. Le principe est simple : ces attaquants peuvent collecter de grandes quantités de données cryptées actuelles et les classer en vue d'une consultation ultérieure. Même s'ils ne peuvent décrypter aucune de ces données aujourd'hui, ils peuvent les conserver jusqu'à ce qu'ils acquièrent un ordinateur quantique capable de les décrypter à l'avenir, un scénario d'attaque connu sous le nom de "Harvest Now, Decrypt Later" (récolter maintenant, décrypter plus tard).
Pour atténuer les risques liés aux futurs ordinateurs quantiques, la communauté cryptographique travaille sur la cryptographie post-quantique (PQC) : de nouveaux algorithmes à clé publique qui fournissent les éléments de base de protocoles sécurisés au niveau quantique, mais qui ne nécessitent pas d'ordinateur quantique pour fonctionner - c'est-à-dire des protocoles qui peuvent fonctionner sur les ordinateurs classiques, non quantiques, qu'on utilise tous aujourd'hui, mais qui resteront sécurisés contre les menaces connues que poseront les futurs ordinateurs quantiques.
Pour comprendre comment les différentes applications de messagerie atténuent les attaques, il est utile de les placer sur un spectre de propriétés de sécurité. Mais il n'existe pas de comparaison standard à utiliser à cette fin.
Apple présente ci-dessous sa propre progression simple et grossière des niveaux de sécurité des messageries :
Nous commençons à gauche avec la cryptographie classique et progressons vers la sécurité quantique, qui traite les menaces actuelles et futures des ordinateurs quantiques. La plupart des applications de messagerie existantes relèvent soit du niveau 0 (pas de chiffrement de bout en bout par défaut et pas de sécurité quantique), soit du niveau 1 (chiffrement de bout en bout par défaut, mais pas de sécurité quantique).
Il y a quelques mois, Signal a ajouté la prise en charge du protocole PQXDH, devenant ainsi la première application de messagerie à grande échelle à introduire la sécurité post-quantique dans l'établissement initial de la clé. Il s'agit d'une étape bienvenue et essentielle qui, à notre échelle, a fait passer Signal du niveau 1 au niveau 2 de sécurité.
Au niveau 2, l'application de la cryptographie post-quantique est limitée à l'établissement initial de la clé, offrant une sécurité quantique uniquement si le matériel de la clé de conversation n'est jamais compromis. Mais les adversaires sophistiqués d'aujourd'hui sont déjà incités à compromettre les clés de chiffrement, car cela leur donne la possibilité de décrypter les messages protégés par ces clés tant que celles-ci ne changent pas.
Pour protéger au mieux la messagerie chiffrée de bout en bout, les clés post-quantiques doivent changer en permanence afin de limiter la part d'une conversation qui peut être exposée par la compromission d'une seule clé à un moment donné - aujourd'hui et avec les futurs ordinateurs quantiques. C'est pourquoi nous pensons que les protocoles de messagerie devraient aller encore plus loin et atteindre le niveau 3 de sécurité, où la cryptographie post-quantique est utilisée pour sécuriser à la fois l'établissement initial de la clé et l'échange continu de messages, avec la capacité de restaurer rapidement et automatiquement la sécurité cryptographique d'une conversation, même si une clé donnée est compromise.
Il y a quelques mois, Signal a ajouté la prise en charge du protocole PQXDH, devenant ainsi la première application de messagerie à grande échelle à introduire la sécurité post-quantique dans l'établissement initial de la clé. Il s'agit d'une étape bienvenue et essentielle qui, à notre échelle, a fait passer Signal du niveau 1 au niveau 2 de sécurité.
Au niveau 2, l'application de la cryptographie post-quantique est limitée à l'établissement initial de la clé, offrant une sécurité quantique uniquement si le matériel de la clé de conversation n'est jamais compromis. Mais les adversaires sophistiqués d'aujourd'hui sont déjà incités à compromettre les clés de chiffrement, car cela leur donne la possibilité de décrypter les messages protégés par ces clés tant que celles-ci ne changent pas.
Pour protéger au mieux la messagerie chiffrée de bout en bout, les clés post-quantiques doivent changer en permanence afin de limiter la part d'une conversation qui peut être exposée par la compromission d'une seule clé à un moment donné - aujourd'hui et avec les futurs ordinateurs quantiques. C'est pourquoi nous pensons que les protocoles de messagerie devraient aller encore plus loin et atteindre le niveau 3 de sécurité, où la cryptographie post-quantique est utilisée pour sécuriser à la fois l'établissement initial de la clé et l'échange continu de messages, avec la capacité de restaurer rapidement et automatiquement la sécurité cryptographique d'une conversation, même si une clé donnée est compromise.
Les conversations iMessage entre les appareils qui prennent en charge PQ3 passent automatiquement au protocole de chiffrement post-quantique. Au fur et à mesure qu'Apple acquérera de l'expérience opérationnelle avec PQ3 à l'échelle mondiale d'iMessage, il remplacera complètement le protocole existant dans toutes les conversations prises en charge cette année.
Conception de PQ3
Plus qu'un simple remplacement d'un algorithme existant par un nouveau, Apple a reconstruit le protocole cryptographique d'iMessage à partir de zéro pour faire progresser l'état de l'art en matière de chiffrement de bout en bout et pour répondre aux exigences suivantes :
- Introduire la cryptographie post-quantique dès le début d'une conversation, de sorte que toutes les communications soient protégées contre les adversaires actuels et futurs.
- Atténuer l'impact des compromissions de clés en limitant le nombre de messages passés et futurs pouvant être déchiffrés avec une seule clé compromise.
- Utiliser une conception hybride pour combiner les nouveaux algorithmes post-quantiques avec les algorithmes actuels de la courbe elliptique, en veillant à ce que le PQ3 ne soit jamais moins sûr que le protocole classique existant.
- Amortir la taille des messages afin d'éviter une surcharge excessive due à la sécurité accrue.
- Utiliser des méthodes de vérification formelle pour fournir des garanties de sécurité solides pour le nouveau protocole.
PQ3 introduit une nouvelle clé de chiffrement post-quantique dans l'ensemble des clés publiques que chaque appareil génère localement et transmet aux serveurs Apple dans le cadre de l'enregistrement iMessage. Pour cette application, ils ont choisi d'utiliser les clés publiques post-quantiques Kyber, un algorithme qui a fait l'objet d'un examen minutieux de la part de la communauté mondiale de la cryptographie et qui a été sélectionné par le NIST comme norme de mécanisme d'encapsulation des clés basé sur le treillis modulaire, ou ML-KEM. Cela permet aux dispositifs de l'émetteur d'obtenir les clés publiques d'un récepteur et de générer des clés de chiffrement post-quantique pour le tout premier message, même si le récepteur n'est pas en ligne. C'est ce qu'ils appellent l'établissement de la clé initiale.
Apple inclut ensuite - dans les conversations - un mécanisme périodique de recodage post-quantique qui a la capacité de s'auto-guérir en cas de compromission de la clé et de protéger les messages futurs. Dans PQ3, les nouvelles clés envoyées avec la conversation sont utilisées pour créer de nouvelles clés de chiffrement des messages qui ne peuvent pas être calculées à partir des clés précédentes, ce qui ramène la conversation à un état sûr même si les clés précédentes ont été extraites ou compromises par un adversaire. PQ3 est le premier protocole de messagerie cryptographique à grande échelle à introduire cette nouvelle propriété de recléage post-quantique.
PQ3 utilise une conception hybride qui combine la cryptographie à courbe elliptique et le chiffrement post-quantique à la fois lors de l'établissement initial de la clé et lors du recodage. Ainsi, la nouvelle cryptographie est purement additive, et pour mettre en échec la sécurité du PQ3, il faut mettre en échec à la fois la cryptographie ECC classique existante et les nouvelles primitives post-quantiques. Cela signifie également que le protocole bénéficie de toute l'expérience que nous avons accumulée en déployant le protocole ECC et ses implémentations.
Le recodage dans PQ3 implique la transmission d'une nouvelle clé publique en bande avec les messages cryptés que les appareils échangent. Une nouvelle clé publique basée sur la méthode Elliptic Curve Diffie-Hellman (ECDH) est transmise en ligne avec chaque réponse. La clé post-quantique utilisée par PQ3 a une taille de fil significativement plus importante que le protocole existant, donc pour répondre à l'exigence de taille de message, Apple a conçu le recléage à sécurité quantique pour qu'il se produise périodiquement plutôt qu'à chaque message. Pour déterminer si une nouvelle clé post-quantique est transmise, PQ3 utilise une condition de recomposition qui vise à équilibrer la taille moyenne des messages sur le fil, à préserver l'expérience de l'utilisateur dans les scénarios de connectivité limitée et à maintenir le volume global des messages dans les limites de la capacité de notre infrastructure de serveurs. Si nécessaire, les futures mises à jour logicielles pourront augmenter la fréquence de recomposition de la clé de façon à assurer la compatibilité avec tous les appareils prenant en charge PQ3.
Avec PQ3, iMessage continue de s'appuyer sur des algorithmes cryptographiques classiques pour authentifier l'expéditeur et vérifier la clé de compte de vérification de la clé de contact, car ces mécanismes ne peuvent pas être attaqués rétroactivement par les futurs ordinateurs quantiques. Pour tenter de s'insérer au milieu d'une conversation iMessage, un adversaire aurait besoin d'un ordinateur quantique capable de casser l'une des clés d'authentification avant ou au moment de la communication. En d'autres termes, ces attaques ne peuvent pas être réalisées dans le cadre d'un scénario "Harvest Now, Decrypt Later" - elles nécessitent l'existence d'un ordinateur quantique capable d'effectuer les attaques en même temps que la communication attaquée.
Selon Apple, une telle capacité n'existera pas avant de nombreuses années, mais au fur et à mesure que la menace des ordinateurs quantiques évoluera, ils continueront à évaluer la nécessité d'une authentification post-quantique pour contrecarrer de telles attaques.
Un protocole formellement prouvé
La dernière exigence d'Apple pour iMessage PQ3 est la vérification formelle - une preuve mathématique des propriétés de sécurité prévues du protocole. PQ3 a fait l'objet d'un examen approfondi de la part des équipes pluridisciplinaires d'Apple en matière d'ingénierie et d'architecture de sécurité (SEAR), ainsi que de certains des plus grands experts mondiaux en cryptographie. Il s'agit notamment d'une équipe dirigée par le professeur David Basin, chef du groupe de sécurité de l'information à l'ETH Zürich et l'un des inventeurs de Tamarin - un outil de vérification des protocoles de sécurité de premier plan qui a également été utilisé pour évaluer PQ3 - ainsi que du professeur Douglas Stebila de l'université de Waterloo, qui a effectué des recherches approfondies sur la sécurité post-quantique pour les protocoles internet. Chacun a adopté une approche différente mais complémentaire, en utilisant des modèles mathématiques différents pour démontrer que tant que les algorithmes cryptographiques sous-jacents restent sûrs, PQ3 l'est aussi. Enfin, une société tierce de conseil en sécurité de premier plan a complété l'examen interne de la mise en œuvre par une évaluation indépendante du code source de PQ3, qui n'a révélé aucun problème de sécurité.
Dans la première analyse mathématique, Security analysis of the iMessage PQ3 protocol, le professeur Douglas Stebila s'est concentré sur ce que l'on appelle les preuves par le jeu. Cette technique, également connue sous le nom de réduction, définit une série de "jeux" ou d'énoncés logiques pour montrer que le protocole est au moins aussi solide que les algorithmes qui le sous-tendent. L'analyse de Stebila montre que le PQ3 assure la confidentialité même en présence de certains compromis de clés contre des adversaires classiques et quantiques, à la fois dans la phase initiale d'établissement des clés et dans la phase continue de recomposition des clés du protocole. L'analyse décompose les nombreuses couches de dérivations de clés jusqu'aux clés de message et prouve que, pour un attaquant, il est impossible de les distinguer d'un bruit aléatoire. Grâce à une démonstration approfondie qui prend en compte différents chemins d'attaque pour les attaquants classiques et quantiques dans les preuves, Stebila montre que les clés utilisées pour PQ3 sont sûres tant que le problème Diffie-Hellman de la courbe elliptique reste difficile ou que le KEM post-quantique de Kyber reste sûr.
Professeur Douglas Stebila
Le protocole iMessage PQ3 est un protocole cryptographique bien conçu pour la messagerie sécurisée qui utilise des techniques de pointe pour la communication cryptée de bout en bout. Dans mon analyse utilisant la méthodologie réductionniste de la sécurité, j'ai confirmé que le protocole PQ3 assure la confidentialité post-quantique, ce qui peut donner aux utilisateurs confiance dans la confidentialité de leur communication, même face aux améliorations potentielles de la technologie de l'informatique quantique.
Le protocole iMessage PQ3 est un protocole cryptographique bien conçu pour la messagerie sécurisée qui utilise des techniques de pointe pour la communication cryptée de bout en bout. Dans mon analyse utilisant la méthodologie réductionniste de la sécurité, j'ai confirmé que le protocole PQ3 assure la confidentialité post-quantique, ce qui peut donner aux utilisateurs confiance dans la confidentialité de leur communication, même face aux améliorations potentielles de la technologie de l'informatique quantique.
Professeur David Basin
Nous fournissons un modèle mathématique de PQ3 et prouvons ses propriétés de secret et d'authenticité à l'aide d'un outil de vérification pour les preuves de sécurité vérifiées par machine. Nous prouvons ces propriétés même lorsque le protocole fonctionne en présence d'adversaires très puissants qui peuvent corrompre les parties ou posséder des ordinateurs quantiques et donc mettre en échec la cryptographie classique. PQ3 va plus loin que Signal en ce qui concerne les défenses post-quantiques. Dans PQ3, un algorithme sécurisé post-quantique fait partie du ratcheting et est utilisé de manière répétée, plutôt qu'une seule fois dans l'initialisation comme dans Signal. Notre vérification fournit un très haut degré d'assurance que le protocole tel qu'il est conçu fonctionne de manière sécurisée, même dans le monde post-quantique.
Nous fournissons un modèle mathématique de PQ3 et prouvons ses propriétés de secret et d'authenticité à l'aide d'un outil de vérification pour les preuves de sécurité vérifiées par machine. Nous prouvons ces propriétés même lorsque le protocole fonctionne en présence d'adversaires très puissants qui peuvent corrompre les parties ou posséder des ordinateurs quantiques et donc mettre en échec la cryptographie classique. PQ3 va plus loin que Signal en ce qui concerne les défenses post-quantiques. Dans PQ3, un algorithme sécurisé post-quantique fait partie du ratcheting et est utilisé de manière répétée, plutôt qu'une seule fois dans l'initialisation comme dans Signal. Notre vérification fournit un très haut degré d'assurance que le protocole tel qu'il est conçu fonctionne de manière sécurisée, même dans le monde post-quantique.
Jusqu'à présent, on a exposé les objectifs de conception d'Apple, décrit comment PQ3 les atteint et expliqué comment ils ont vérifié la confiance dans le protocole à l'aide d'évaluations indépendantes. Si vous souhaitez comprendre plus en détail les fondements cryptographiques, le reste de l'article est une plongée plus profonde dans la façon dont Apple a construit le protocole PQ3.
[QUOTE]
Établissement d'une clé post-quantique
iMessage permet à un utilisateur d'enregistrer plusieurs appareils sur le même compte. Chaque appareil génère son propre jeu de clés de chiffrement, et les clés privées ne sont jamais exportées vers un système externe. Les clés publiques associées sont enregistrées auprès de l'Identity Directory Service (IDS) d'Apple pour permettre aux utilisateurs de s'envoyer des messages à l'aide d'un simple identifiant : adresse électronique ou numéro de téléphone. Lorsqu'un utilisateur envoie un message à partir de l'un de ses appareils, tous ses autres appareils et tous les appareils du destinataire reçoivent le message. Les messages sont échangés par le biais de sessions en binôme établies entre le dispositif d'envoi et chaque dispositif de réception. Le même message est crypté successivement pour chaque dispositif de réception, avec des clés dérivées uniquement pour chaque session. Dans la suite de cette description, nous nous concentrerons sur une seule session d'appareil à appareil.
Étant donné que l'appareil récepteur peut ne pas être en ligne lorsque la conversation est établie, le premier message d'une session est chiffré à l'aide des clés de chiffrement publiques enregistrées auprès du serveur IDS.
Chaque appareil équipé de PQ3 enregistre deux clés de chiffrement publiques et les remplace régulièrement par de nouvelles :
- une clé publique d'encapsulation post-quantique Kyber-1024
- une clé publique d'accord de clé classique P-256 Elliptic Curve.
Ces clés de chiffrement sont signées avec ECDSA à l'aide d'une clé d'authentification P-256 générée par la Secure Enclave de l'appareil, ainsi qu'un horodatage utilisé pour limiter leur validité. La clé publique d'authentification du dispositif est elle-même signée par la clé du compte de vérification de la clé de contact, ainsi que par certains attributs tels que la version du protocole cryptographique pris en charge. Ce processus permet à l'expéditeur de vérifier que les clés de chiffrement publiques de l'appareil destinataire ont été téléchargées par le destinataire prévu, et il protège contre les attaques par déclassement.
Lorsque l'appareil d'Alice instaure une nouvelle session avec l'appareil de Bob, son appareil demande au serveur IDS le paquet de clés associé à l'appareil de Bob. Le sous-ensemble de l'ensemble de clés qui contient la clé d'authentification de l'appareil et les informations de version est validé à l'aide de la vérification de la clé de contact. L'appareil valide ensuite la signature couvrant les clés de chiffrement et les horodatages, ce qui atteste que les clés sont valides et n'ont pas expiré.
L'appareil d'Alice peut alors utiliser les deux clés de chiffrement publiques pour partager deux clés symétriques avec Bob. La première clé symétrique est calculée par un échange de clés ECDH qui combine une clé de chiffrement éphémère d'Alice avec la clé publique P-256 enregistrée de Bob. La seconde clé symétrique est obtenue par encapsulation d'une clé Kyber avec la clé publique post-quantique de Bob.
Pour combiner ces deux clés symétriques, nous commençons par extraire leur entropie en invoquant deux fois HKDF-SHA384-Extract - une fois pour chacune des clés. Le secret de 48 octets qui en résulte est ensuite combiné avec une chaîne de séparation de domaine et des informations de session - qui comprennent les identifiants de l'utilisateur, les clés publiques utilisées dans l'échange de clés et le secret encapsulé - en invoquant à nouveau HKDF-SHA384-Extract pour dériver l'état initial de clavetage de la session. Cette combinaison garantit que l'état initial de la session ne peut pas être dérivé sans connaître les deux secrets partagés, ce qui signifie qu'un attaquant devrait casser les deux algorithmes pour récupérer le secret résultant, satisfaisant ainsi notre exigence de sécurité hybride.
Recomposition post-quantique
Le recléage continu de la session cryptographique est conçu de manière à ce que les clés utilisées pour crypter les messages passés et futurs ne puissent pas être recalculées, même par un attaquant hypothétique puissant capable d'extraire l'état cryptographique de l'appareil à un moment donné. Le protocole génère une nouvelle clé unique pour chaque message, qui inclut périodiquement une nouvelle entropie qui n'est pas dérivée de manière déterministe de l'état actuel de la conversation, ce qui confère au protocole des propriétés d'autoréparation. Notre approche de recomposition des clés s'inspire du ratcheting, une technique qui consiste à dériver une nouvelle clé de session à partir d'autres clés et à s'assurer que l'état cryptographique progresse toujours dans une direction. PQ3 combine trois cliquets pour réaliser un chiffrement post-quantique.
Le premier cliquet, appelé cliquet symétrique, protège les messages les plus anciens d'une conversation afin de garantir le secret de l'information. Pour chaque message, nous dérivons une clé de chiffrement par message à partir de la clé de session actuelle. La clé de session actuelle est elle-même dérivée en une nouvelle clé de session, ce qui permet de faire progresser l'état. Chaque clé de message est supprimée dès qu'un message correspondant est déchiffré, ce qui empêche les anciens cryptogrammes récoltés d'être déchiffrés par un adversaire capable de compromettre...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.