Qu’est-ce que la cryptographie ? Et la cryptographie embarquée ?

De la cryptographie moderne à la cryptographie post-quantique

En bref

Qu'est-ce que la cryptographie ?

La cryptographie, du grec « kryptós » (cacher) et « gráphein » (écrire), qui consiste à écrire un message sous une forme inintelligible pour toute personne n’ayant pas la clé pour le rétablir dans sa forme d’origine, a été utilisée pendant des millénaires pour protéger des secrets militaires. Avec l’essor d’internet dans les années 1980 et le développement de nouvelles technologies de télécommunication et de paiement, la cryptographie moderne, à l’intersection entre les mathématiques appliquées et les sciences informatiques, est devenue une partie intégrante de notre monde. Désormais essentielle pour sécuriser les communications et les transactions dans notre vie de tous les jours, et pourtant insoupçonnée de la plupart d’entre nous, la cryptographie est à l’aube d’une nouvelle ère, l’ère de la cryptographie post-quantique.

Qu’est-ce que la cryptographie ? Et la cryptologie ? Quelques définitions.

Cryptographie versus cryptanalyse

La cryptotologie est la « science du secret », elle se compose de la cryptographie, qui vise à protéger les secrets, mais aussi de la cryptanalyse, qui vise à les mettre à jour.

  • La cryptographie est l’ensemble des techniques permettant de sécuriser l’échange et le traitement de données via un canal non sécurisé. Les techniques cryptographiques permettent par exemple de protéger une communication, d’authentifier ou d’identifier une personne, ou encore d’authentifier une donnée.
  • La cryptanalyse est l’ensemble des techniques qui visent à découvrir la clé d’un algorithme cryptographique ou plus généralement à déjouer la sécurité d’une solution cryptographique. Les techniques cryptanalytiques sont employées par les attaquants dans le but de déchiffrer des données sensibles, les corrompre ou encore usurper l’identité de l’utilisateur d’un service ou détourner ses droits d’accès. Cependant, la cryptanalyse est également utilisée par les experts en sécurité qui conçoivent des solutions cryptographiques, d’une part pour s’assurer de la robustesse de celle-ci lors de leur conception théorique et d’autre part pour identifier des contre-mesures qui protégeront les solutions cryptographiques en fonction de l’environnement où elles seront implémentées.

De l’algorithme à la solution cryptographique

Une solution cryptographique est l’application pratique de la cryptographie dans un objectif de sécurité particulier : authentification d’un utilisateur sur un réseau mobile, validation d’un paiement, protection de l’intégrité d’un document d’identité…

Les solutions cryptographiques modernes sont des programmes informatiques qui sont le résultat de l’implémentation d’un ou plusieurs protocoles cryptographiques pouvant faire appel à différents cryptosystèmes. Une solution cryptographique inclut également la gestion des clés qui consiste à définir comment les clés (statiques) sont générées, distribuées et gérées dans les environnements où la solution est déployée (carte à puce, terminal de paiement, smartphone, serveur…).

  • En cryptographie, un protocole décrit les échanges et les différentes étapes entre plusieurs parties afin d’obtenir la ou les fonctions de sécurité attendue(s).
  • Un cryptosystème désigne un ensemble d’algorithmes permettant de remplir une fonction de sécurité (ou fonctionnalité cryptographique) : chiffrement/déchiffrement, signature/vérification, établissement de clés…
  • Un algorithme cryptographique définit la série d’opérations mathématiques à suivre pour obtenir un résultat (message chiffré ou déchiffré, signature de document…) à partir d’une clé.
  • La clé d’un algorithme cryptographique est le paramètre à partir duquel les opérations mathématiques sont effectuées pour obtenir le résultat de l’algorithme. Il s’agit d’une suite de bits. La longueur des clés peut varier en fonction du niveau de sécurité attendu, mais dépend également du type d’algorithme utilisé.
    Les clés peuvent être statiques (il s’agit alors d’un secret qui doit être stocké et protégé, parfois pendant des années) ou être établies de manière éphémère lors de l’exécution d’un protocole puis effacées à la fin de la communication (clés de session).
  • L’implémentation d’une solution cryptographique consiste à traduire en code informatique les protocoles et les algorithmes définis d’un point de vue théorique. La complexité de l’implémentation et les contre-mesures associées (contre des attaques physiques) dépendent des capacités de l’attaquant au regard du niveau de sécurité intrinsèque de la cible (c’est-à-dire l’endroit où le code sera exécuté) et de la valeur des biens à protéger.

Pourquoi utiliser la cryptographie ?

L’objectif de la cryptographie moderne est de fournir certaines fonctionnalités de sécurité qui permettent d’effectuer des communications sécurisées via un canal non sécurisé afin d’éviter qu’un tiers puisse :

  • écouter la communication,
  • modifier le contenu du message transmis,
  • ou même usurper l’identité d’une des deux entités qui communiquent.

Les trois principaux objectifs de la cryptographie moderne sont donc les suivants :

La confidentialité

Le message ne doit être compréhensible que pour son destinataire. Si le contenu est intercepté, il doit rester inintelligible pour un tiers ne disposant pas de la clé pour le déchiffrer.

L’intégrité

Le message doit être protégé contre toute tentative de modification par un tiers. Le destinataire doit pouvoir vérifier que le message n’a pas été altéré durant son transfert.

L’authenticité

Le destinataire doit pouvoir vérifier l’origine du message, autrement dit avoir l’assurance que le message lui provient bien de la personne avec qui il a établi un canal de communication et non d’un tiers.

Pour atteindre ces objectifs, les algorithmes cryptographiques permettent de remplir différentes fonctions de sécurité :

Chiffrement et déchiffrement

Le chiffrement consiste à transformer un texte en clair (c’est-à-dire un message non chiffré) en texte chiffré (aussi appelé cryptogramme). Le déchiffrement permet de retrouver le texte en clair à partir du texte chiffré. Cette fonctionnalité cryptographique permet d’assurer la confidentialité du message.

Vérification d’intégrité et authentification

Les fonctions de hachage et les codes d’authentification de message (ou Message Authentication Code, en anglais, plus connu sous l’acronyme MAC) permettent de vérifier l’intégrité d’un message, c’est-à-dire de s’assurer qu’il n’a pas été altéré (volontairement ou pas) pendant sa transmission.

Le résultat d’une fonction de hachage est appelé un haché. Cette empreinte du message, calculée sur la base du message seul, permet de détecter une altération lors de la transmission si elle diffère lors de son émission et lors de sa réception (en s’assurant que le haché ne puisse pas non plus être modifié). De la même façon, un MAC, calculé sur la base du message et d’une clé secrète, permet de vérifier l’intégrité du message. L’emploi d’une clé secrète pour la génération du MAC permet également au destinataire d’authentifier l’émetteur, seul autre détenteur de la clé secrète préalablement partagée entre eux. Le destinataire s’assure ainsi de l’authenticité du message, autrement dit de son origine.

Signature et non-répudiation

Une signature électronique (ou signature numérique) permet non seulement de s’assurer de l’intégrité du message et de son authenticité, mais inclut aussi des mécanismes de non-répudiation.

Ces mécanismes de non-répudiation assurent au récepteur du message signé que son émetteur ne pourra contester ni l’envoi de celui-ci, ni son contenu. La signature électronique est donc l’équivalent d’une signature manuscrite dans le sens où elle engage la responsabilité du signataire. Toute personne doit pouvoir vérifier une signature en appliquant l’algorithme de vérification correspondant à l’algorithme de signature appliqué au message.

Quel sont les principaux types de cryptographie?

La cryptographie moderne s’appuie sur deux principaux modèles :


la cryptographie symétrique, pour laquelle l’émetteur et le destinataire utilisent une seule et même clé secrète


la cryptographie asymétrique, pour laquelle deux clés, étroitement liées mathématiquement, sont utilisées : une clé privée qui doit impérativement rester secrète (et qui est connue d’une seule personne) et une clé publique qui peut être partagée sans risque de compromettre la sécurité du cryptosystème.

 

La cryptographie symétrique ou « cryptographie à clé secrète »

La cryptographie symétrique est le modèle le plus ancien parmi les deux cités ci-dessus. Elle est utilisée depuis des dizaines d’années, notamment pour les communications militaires.

Dans ce contexte en réseau fermé, émetteurs et destinataires sont préalablement identifiés et relativement peu nombreux, rendant possible l’échange préalable d’une clé secrète entre chacun d’entre eux via un canal sécurisé. Dans ce modèle à clé unique, émetteur et destinataire sont tous deux dépositaires du secret du système cryptographique.

Un algorithme symétrique est réputé sûr tant qu’aucune méthode cryptanalytique n’a été identifiée pour en trouver la clé secrète plus rapidement qu’en testant de manière exhaustive toutes les clés possibles. La confiance dans un algorithme symétrique s’établit donc avec le temps. La conception d’un nouvel algorithme a toujours pour fondement une combinaison de différentes techniques mises au point par les cryptologues pour faire face aux attaques identifiées au fil du temps. Cependant cela ne signifie pas qu’aucune cryptanalyse ne permettra jamais de le casser.

Les algorithmes symétriques les plus célèbres et les plus utilisés en pratiques sont :

  • le DES (Data Encryption Standard), adopté comme standard par le NIST en 1976
  • l’AES (Advanced Encryption Standard), venu progressivement remplacer le DES à partir de 2001

La cryptographie asymétrique ou « cryptographie à clé publique »

La cryptographie asymétrique est un concept plus récent qui date des travaux de Whitfield Diffie et Martin Hellman dans les années 1970. Son intérêt est apparu tout particulièrement avec la démocratisation des ordinateurs et les nouveaux usages liés à l’internet.

Dans ce contexte en réseau ouvert, où les interlocuteurs se sont multipliés, utiliser une seule clé secrète par couple de personnes devient rapidement ingérable, car le nombre de clés évolue au carré par rapport au nombre de personnes, sans compter l’impossibilité pour un émetteur et son destinataire d’échanger un secret au préalable. Le partage d’une clé publique, accessible à tout émetteur potentiel, sans risquer de compromettre la sécurité du système cryptographique, permet de surmonter cette difficulté. Dans ce modèle, le destinataire, détenteur de la clé privée, est donc le seul dépositaire du secret du système cryptographique.

Les algorithmes de chiffrement asymétriques s’appuient sur des problèmes mathématiques réputés difficiles comme la factorisation des grands nombres entiers ou les calculs de logarithmes discrets. Un problème mathématique est considéré comme difficile si sa résolution est impossible à réaliser par le calcul, tant la quantité de calculs à réaliser serait impraticable (quand bien même elle ne serait pas théoriquement impossible). En somme, la confiance dans un algorithme asymétrique s’établit avec le temps, en fonction de la difficulté à résoudre le problème mathématique sous-jacent.

Les cryptosystèmes asymétriques de première génération

Les cryptosystèmes asymétriques de première génération ont pour point commun d’utiliser des clés relativement longues. Les principales avancées qu’ils ont apportées portent d’une part sur l’échange de clés et d’autre part sur la signature avec non-répudiation. Les plus emblématiques sont :

  • Diffie-Hellman (ou DH) : publié en 1976, ce cryptosystème a introduit une nouvelle méthode pour l’établissement d’un secret partagé, appelé « l’échange de clés Diffie-Hellman ». Il est basé sur un problème de logarithme discret.
  • RSA (nommé d’après les initiales de ses inventeurs, Ron Rivest, Adi Shamir et Leonard Adleman, 3 cryptographes du MIT) : publié en 1978, ce cryptosystème est basé sur la factorisation des grands nombres. C’est encore à ce jour l’un des systèmes cryptographiques asymétriques les plus connus et les plus employés. Il est utilisable non seulement pour des opérations de chiffrement/déchiffrement, mais aussi de signature électronique. Il est par exemple utilisé pour effectuer une signature lors de l’authentification d’une carte bancaire par un terminal de paiement.
  • DSA (Digital Signature Algorithm) : introduit au début des années 1990 par le NIST, est un cryptosystème de signature. Il est basé sur un problème de logarithme discret. Il a été délaissé au profit d’une nouvelle génération de cryptosystèmes s’appuyant sur les courbes elliptiques.

La cryptographie sur les courbes elliptiques (ECC)

Introduite en 1985, cette nouvelle génération de cryptographie a permis un changement de paradigme en utilisant les problèmes de logarithme discret sur les courbes elliptiques : au lieu d’appliquer les calculs de logarithme discret à des nombres, les cryptosystèmes sur les courbes elliptiques exécutent ces calculs par rapport aux points d’une courbe elliptique. Cela permet de travailler avec des clés de longueur significativement plus courte que pour les cryptosystèmes asymétriques de première génération, tout en obtenant un niveau de sécurité équivalent. Cela tient au fait que le volume de calculs nécessaires pour casser un algorithme à courbe elliptique augmente significativement plus rapidement en fonction de la taille de la clé.

Cet avantage de la cryptographie à courbe elliptique (Elliptic Curve Cryptography ou ECC, en anglais) la rend très appréciable pour l’exécution de calculs cryptographiques dans un environnement aux ressources limitées tel que les éléments sécurisés présents sur des cartes à puces où embarqués dans divers appareils. Les cryptosystèmes asymétriques sur les courbes elliptiques ont ainsi de nombreuses applications en cryptographie embarquée. Ils sont utilisés aussi bien pour le chiffrement de l’IMSI dans les SIMs 5G que dans les passeports, pour l’authentification mutuelle entre la puce et le lecteur utilisé pour accéder à celle-ci.

Les cryptosystèmes asymétriques sur les courbes elliptiques sont pour la plupart des héritiers des cryptosystèmes à logarithme discret de première génération, par exemple :

  • ECDH (Elliptic Curve Diffie–Hellman) est une variante du cryptosystème DH et permet comme celui-ci d’établir un secret entre deux parties. Le fait qu’il soit basé sur les courbes elliptiques le rend à la fois plus rapide et plus efficace.
  • ECDSA (Elliptic Curve Digital Signature Algorithm) est une variante du cryptosystème de signature DSA qui est venue supplanter celui-ci. Par rapport à RSA, il nécessite aussi moins de mémoire et de temps de calcul, ce qui le rend intéressant pour sécuriser un nombre toujours plus important de communications avec les appareils mobiles.

Qu’est-ce qu’une Infrastructure à Clés Publiques (PKI) et quel est son rôle ?

Une Infrastructure à Clés Publiques (Public Key Infrastructure ou PKI, en anglais) est un système qui permet de certifier la propriété d’une clé publique auprès d’une autorité de certification. Cette certification effectuée par un tiers de confiance permet d’éviter la diffusion de fausses clés publiques. Grâce à un système d’échange de certificats digitaux émis et signés par l’autorité de certification, les utilisateurs ont l’assurance de bien utiliser la clé publique de l’entité avec laquelle ils souhaitent échanger et non celle d’un imposteur se faisant passer pour l’entité en question. L’entité a également l’assurance d’avoir affaire à un utilisateur légitime. En d’autres termes, l’Infrastructure à Clés Publiques permet d’établir la confiance nécessaire entre les deux parties pour initier une communication sécurisée s’appuyant sur un système de clés asymétriques.

Dans le secteur bancaire et dans le domaine de l’identité, les clés publiques du composant (la puce dans une carte de paiement ou un passeport par exemple) sont signées par une autorité pour garantir que le composant est bien authentique. Ce certificat est utilisé lors de l’utilisation du produit pour vérifier qui est bien valide et reconnu par l’autorité émettrice.

Faut-il opposer cryptographie symétrique et cryptographie asymétrique ?

En résumé, la cryptographie symétrique repose sur le fait que deux entités partagent un même secret pour communiquer de manière sécurisée, alors que la cryptographie asymétrique permet à n’importe qui de chiffrer un message qu’une seule entité sera en mesure de déchiffrer.

En pratique la cryptographie à clé secrète et la cryptographie à clé publique sont souvent combinées, la cryptographie asymétrique permettant d’établir via un canal non sécurisé une clé secrète qui servira ensuite pour protéger le contenu d’un échange avec un chiffrement symétrique. Ce passage de la clé publique à la clé secrète peut se faire avec différentes méthodes : en utilisant un cryptosystème dédié à l’échange de clés comme Diffie-Hellman ou par un protocole d’établissement de clé s’appuyant sur un chiffrement RSA (la clé secrète est générée, chiffrée, puis envoyée grâce à la clé publique). Par exemple, dans le protocole 5G l’établissement de clés symétriques se fait avec un cryptosystème asymétrique ECDH. Ces clés sont ensuite utilisées pour chiffrer l’IMSI (l’identifiant unique d’un utilisateur sur le réseau mobile) avec un cryptosystème AES.

L’intérêt de l’utilisation combinée des cryptographies asymétriques et symétriques est notamment lié au fait que les algorithmes de chiffrement à clé publique (utilisés pour un chiffrement asymétrique) sont beaucoup plus longs à exécuter, et donc moins efficaces, que ceux à clé secrète (utilisés pour un chiffrement symétrique), essentiellement à cause de la complexité des opérations employées par la cryptographie asymétrique.

L’environnement et la manière dont la cryptographie est implémentée sont importants

Protéger la clé en permanence

L’un des principes fondamentaux de la cryptographie moderne, connu sous le nom de « principe de Kerckhoffs », établit que la sécurité d’un système cryptographique ne doit pas dépendre du secret de la méthode cryptographique utilisée, mais doit reposer sur le secret de la clé. De ce principe découle l’importance cruciale de conserver la clé dans un endroit sécurisé (de sa création à son utilisation), ou, à défaut, d’éviter qu’elle soit exposée et utilisée en clair en l’absence d’un élément sécurisé pour la protéger.

La gestion des clés : une première étape cruciale

Le chargement (ou la génération) des clés dans l’environnement cible de la solution cryptographique est la première étape à sécuriser pour la protection des clés, avant même de sécuriser leur stockage et leur utilisation. C’est tout l’enjeu de la gestion des clés lors de la personnalisation des produits finaux (qu’elle soit faite sur un site de production ou à distance) : d’où viennent la ou les premières clés qui sécurisent toute la solution cryptographique et sont propres à chaque utilisateur ? sont-elles « chargées » ou bien « générées » à l’endroit où elles seront utilisées ? comment transitent-elles de façon sécurisée via un serveur si la cible de l’implémentation est un téléphone mobile ? Cette gestion des clés est une étape cruciale et qui se doit d’être ultra-sécurisée lorsqu’il s’agit de fournir des produits et services critiques liés à l’identité, aux paiements et aux télécommunications. Elle nécessite donc aussi l’utilisation de la cryptographie et de protocoles de sécurité dédiés.

Une fois les clés chargées (ou générées), leur protection dans l’environnement cible (pour leur stockage et leur utilisation) va dépendre de la nature de celui-ci, selon qu’il s’agisse d’un élément sécurisé ou bien d’un environnement non sécurisé.

La cryptographie embarquée : protection de la clé dans un élément sécurisé

Afin d’éviter d’exposer une clé secrète, les cartes à puce « intelligentes » (ou smart cards en anglais) sont équipées d’un microprocesseur leur permettant de réaliser elles-mêmes certaines opérations cryptographiques et intègrent des contre-mesures physiques qui empêchent les intrusions physiques et logiques. Ce type d’implémentation s’appuyant sur un élément sécurisé permet de faire de la cryptographie embarquée à haut niveau de sécurité.

La cryptographie embarquée dans un élément sécurisé résout le problème du stockage des clés, mais elle apporte certaines contraintes à prendre en compte lors de la conception d’une solution cryptographique. Celles-ci sont liées :

  • aux limites matérielles et logicielles intrinsèques de l’élément sécurisé (espace mémoire et puissance de calcul limités)
  • à la possibilité pour un attaquant d’observer l’élément sécurisé durant son fonctionnement (attaques par des canaux auxiliaires tels que l’analyse de la consommation électrique) et éventuellement d’interférer avec celui-ci (attaques par injection de fautes).

Les solutions de cryptographie embarquées dans les produits d’identité, de paiement et de connectivité mobile sont des solutions embarquées à haut niveau de sécurité, tant du point de vue matériel (avec des puces au hardware ultra-sécurisé incluant des contre-mesures physiques qui empêchent de les ouvrir ou de les lire), que du point de vue logiciel (avec l’ajout, lors de l’implémentation de la solution cryptographique, de contre-mesures mathématiques supplémentaires contre les attaques physiques). Ces solutions sont soumises à des évaluations par des laboratoires indépendants et doivent obtenir des certifications pour être mises sur le marché (Critères Communs, FIPS, etc.).

L’implémentation soigneuse de contre-mesures au niveau de la couche matérielle et de la couche logicielle de l’élément sécurisé est essentielle afin de protéger la clé, tout en limitant la consommation de la mémoire et le temps d’exécution des opérations cryptographiques.

La performance d’une solution cryptographique embarquée de haute sécurité va donc de pair avec l’utilisation (voire la conception) d’une puce à la sécurité matérielle renforcée, mais aussi aux performances optimisées (typiquement avec des accélérateurs dédiés aux opérations cryptographiques).

Conception de puces

La cryptographie en « boîte blanche » : protection de la clé dans un environnement non sécurisé

La digitalisation des services de paiement, d’identité et d’autres services sensibles conduit au déploiement d’applications contenant des informations d’identification et des données personnelles sur un large éventail d’appareils, qu’il s’agisse de smartphones ou d’autres formes d’équipements connectés, dans l’IoT par exemple. Dans les cas où l’utilisation d’un élément sécurisé pour protéger les clés et les données de l’application n’est pas une option (faute d’élément sécurisé, de standardisation entre les appareils ou pour des questions de souveraineté), le recours à la sécurité logicielle est l’approche qui évite le plus de frictions en termes de déploiement et d’expérience utilisateur.

Cependant elle n’est pas sans poser certains défis. Un logiciel sur un appareil non protégé (qu’un attaquant peut démonter ou dont il peut lire la mémoire pour accéder au code) est un environnement très exposé, autrement dit une « boîte blanche » (ou « white box » en anglais) dans lequel l’attaquant peut tout voir et dispose de moyens d’attaque considérables.

Les techniques couramment utilisées pour des applications peu sensibles, telles que l’utilisation des fonctions de sécurité offertes par les appareils ou d’outils dits « d’obfuscation de code », ne sont pas suffisantes pour protéger les clés et les données d’applications sensibles. Les attaques par analyses différentielles peuvent percer ces protections en quelques minutes.

C’est là qu’intervient la cryptographie en « boîte blanche » (ou « white-box cryptography » en anglais). Elle vise à s’assurer que la clé protégeant les données ne soit pas présente, ni manipulée, en clair sur l’appareil. Elle consiste à cacher la clé dans le code de l’application grâce à des techniques mathématiques particulières lors de l’implémentation de la solution cryptographique, tout en maintenant les fonctionnalités initiales de cette dernière.

La cryptographie en boîte blanche demeure cependant un compromis en comparaison de la sécurité et des performances que peut offrir un élément sécurisé spécifiquement conçu pour protéger des services sensibles. Pour limiter les impacts en cas de faille, il convient donc d’accompagner l’implémentation d’une solution cryptographique en « boîte blanche » avec des protocoles de sécurité renforcés (mécanismes d’expiration des clés, mises à jour régulières des applications…).

La mission des cryptographes: de la théorie à la mise en œuvre pratique de la cryptographie

La conception de solutions cryptographiques pour des applications sensibles

Il y a une grande différence entre connaître la cryptographie d’un point de vue théorique et avoir l’expertise nécessaire pour l’utiliser afin de sécuriser des données et des services sensibles dans différents environnements.

L’algorithme RSA a beau être enseigné à des étudiants de 16 ans, la conception de solutions cryptographiques capables de faire face aux différents types d’attaques existantes n’est pas pour autant à la portée de tous. Le savoir-faire des experts cryptographes chargés de protéger des données et des services sensibles dans les secteurs bancaires, des télécoms ou de l’identité va bien au-delà de la connaissance théorique des algorithmes et de leurs fonctionnalités. Il consiste notamment à concevoir ou mettre en place des protocoles adaptés, en fonction des spécifications définies (ou pas) au sein de chaque secteur. Cela implique, entre autres, de bien analyser les besoins et les contraintes du cas d’usage : quels sont les objectifs de sécurité, dans quel environnement sera exécutée la solution cryptographique, à quels critères de certification faut-il répondre, qui est l’attaquant potentiel (et quels seront les moyens qu’il sera prêt à mettre en œuvre en fonction de la valeur de ce que protège la solution), etc.

Cryptanalyse, tests de sécurité et contre-mesures

Pour s’assurer de la robustesse des cryptosystèmes, certains experts cryptographes se mettent parfois dans la peau des attaquants, ils font de la cryptanalyse. Dans ce rôle ils éprouvent la résistance des cryptosystèmes au niveau théorique. La cryptanalyse va ainsi systématiquement de pair avec la soumission de nouveaux algorithmes cryptographiques à des organismes de standardisation. C’est ainsi que la communauté des cryptographes construit la confiance dans de nouveaux cryptosystèmes.

Les experts qui développent et implémentent des solutions cryptographiques peuvent ainsi faire confiance aux cryptosystèmes standardisés tant qu’aucune cryptanalyse, ou évolution technologique majeure, n’est venue les mettre en défaut. Tandis que certains se concentrent sur la définition les protocoles de sécurité et veillent à ce que ceux-ci ne présentent pas de faille au niveau théorique, d’autres vont intervenir au niveau de l’implémentation.

Dans le domaine de la cryptographie embarquée à haut niveau de sécurité certains de ces experts effectuent des tests de sécurité sur les produits finaux, allant jusqu’à inventer de nouveaux types d’attaques physiques afin de proposer les contre-mesures qui permettront de garder un temps d’avance sur des attaquants chevronnés et disposant de moyens conséquents. Ces contre-mesures doivent être efficaces contre les potentielles attaques sans pour autant rallonger excessivement le temps d’exécution de la solution cryptographique au détriment de l’expérience utilisateur. Elles doivent aussi être économes, car une utilisation trop intensive de la mémoire ou une consommation d’énergie trop importante pourrait impacter le bon fonctionnement ou la durée de vie de l’élément sécurisé.

Penser la cryptographie de demain : contribution à la recherche académique

Pour anticiper les nouvelles menaces et répondre à des enjeux de sécurité croissants, les experts cryptographes doivent en permanence se tenir informés des dernières avancées théoriques et technologiques. En parallèle de l’application de leur savoir-faire à des cas d’usage concrets dans leur secteur d’activité, ils participent activement à la recherche académique.

Les experts d’IDEMIA donnent ainsi ponctuellement ou de façon plus régulière des cours au sein de grandes universités françaises (Bordeaux, Paris VI, Lyon) et encadrent des doctorants lors de leurs thèses. Ils contribuent aussi à des publications d’articles de recherche (revues par des pairs) lors de conférences ou dans des journaux scientifiques spécialisés comme le Transactions on Cryptographic Hardware and Embedded Systems (TCHES) et sont eux-mêmes invités à participer aux comités de programme de ces conférences et revues spécialisées pour la relecture des publications de leurs pairs.

Le rôle essentiel de la cryptographie et des éléments sécurisés dans la cybersécurité

Face aux attaques de plus en plus nombreuses et d’envergure grandissante contre des centres de données et des infrastructures critiques la cybersécurité fait la une des journaux. Elle est devenue un enjeu majeur pour les gouvernements et les entreprises à travers le monde. Moins connue du grand public que la cybersécurité, la cryptographie en est pourtant l’un des maillons essentiels.

La cryptographie est à l’œuvre au cœur des « éléments sécurisés » que sont les puces, dont l’usage s’est répandu dans nos téléphones, nos cartes bancaires, nos documents d’identité, certaines de nos voitures, ainsi que dans un nombre exponentiel d’objets connectés. La cybersécurité de nombreux systèmes repose donc souvent sur celle de la puce, enclave sécurisée qui protège les clés cryptographiques et permet d’exécuter des calculs à partir de celles-ci dans un environnement contrôlé.

Les principaux usages de la cryptographie embarquée

Depuis les années 1990, l’utilisation de puces sécurisées s’est largement répandue, notamment dans les domaines des paiements, de l’identité, de la téléphonie mobile et de l’Internet des Objets (IoT), mais aussi du contrôle d’accès, des transports ou de la télévision à péage. Utilisée pour chiffrer les données sensibles et les communications, authentifier les différentes parties lors d’un échange ou d’une transaction, signer des documents électroniques, protéger nos identités, la cryptographie embarquée, ou plus précisément la cryptographie embarquée à haut niveau de sécurité, fait littéralement partie de notre quotidien.

La cryptographie embarquée pour protéger les paiements

Dans le domaine des paiements, la cryptographie asymétrique est utilisée pour des questions d’interopérabilité, étant donné qu’il n’est pas envisageable de stocker les clés secrètes de toutes les cartes dans tous les terminaux. L’authentification de la carte de paiement auprès du terminal s’effectue au moyen d’un protocole de défi-réponse (ou challenge-response en anglais) au cours duquel la carte envoie son certificat (c’est-à-dire sa clé publique signée par la banque) ainsi que le certificat de la banque, permettant au terminal de s’assurer que la carte est bien une carte valide émise par la banque en question. Cette étape est primordiale dans le cas où le terminal est hors ligne, pour autoriser une transaction qui ne sera transmise que lorsque le terminal aura de nouveau accès au réseau. Dans le cas où le terminal est en ligne, cette étape d’authentification n’est pas indispensable, la carte communiquant directement avec le réseau bancaire pour effectuer la transaction.

Pour le chiffrement et l’authentification de la transaction, la carte de paiement utilise la clé secrète chargée dans la puce lors de sa personnalisation. Il s’agit alors de cryptographie symétrique.

La cryptographie embarquée pour protéger les utilisateurs mobiles et l’IoT

Dans le domaine de la connectivité cellulaire, qu’il s’agisse de téléphonie mobile ou de l’IoT, la cryptographie symétrique est traditionnellement employée par les opérateurs mobiles pour s’assurer que la SIM (SIM amovible, eSIM ou iSIM) tentant de se connecter à leur réseau est authentique, autrement dit qu’elle n’a pas été piratée. Concrètement la SIM fournit son identifiant au réseau, l’IMSI (International Mobile Subscriber Identity), et le réseau vérifie qu’elle détient bien la clé secrète correspondant à cet identifiant. Une fois cette authentification effectuée la SIM utilise sa clé secrète (statique) pour générer des clés de sessions (éphémères) qui permettent au téléphone de chiffrer les communications sur le réseau.

Plus récemment un nouvel usage de la cryptographie, asymétrique cette fois, a été introduit avec les SIMs 5G afin de renforcer la protection de la vie privée des utilisateurs d’appareils mobiles ou IoT en chiffrant leur IMSI. La SIM chiffre son IMSI avec la clé publique du réseau avant de la transmettre pour s’authentifier, protégeant ainsi celui-ci contre toute tentative d’interception pouvant compromettre l’anonymat de l’utilisateur et permettre de le tracer. Dernièrement cette nouvelle fonctionnalité a été encore renforcée (dans le cadre d’une preuve de concept) avec l’utilisation d’un des premiers algorithmes post-quantiques, protégeant des SIMs 5G contre des attaquants qui collecteraient les IMSI chiffrés dans l’espoir de les déchiffrer plus tard.

La cryptographie embarquée pour protéger les documents d’identité

Dans le domaine des documents d’identités (passeports ou autres pièces d’identité équipées d’une puce) l’un des enjeux est de s’assurer que seules les personnes ayant physiquement accès au document, et en particulier à la bande MRZ (ou zone de lecture optique) figurant sur la page de données, de celui-ci puisse lire les données contenues dans la puce du document, évitant la lecture de celle-ci à l’insu de son porteur. Une fois cette précaution prise et une authentification mutuelle effectuée entre le document et le terminal, un canal sécurisé est établi et des communications chiffrées peuvent avoir lieu avec la puce du document, par exemple pour contrôler la validité d’un document et authentifier le porteur du document à partir de ses données biométriques avec un équipement automatisé de contrôle aux frontières.

Cybersécurité et cryptographie : au-delà de la puce

Pour en revenir plus généralement aux enjeux de cybersécurité liés à ces services essentiels de paiement, de connectivité et d’identité il est aussi important de souligner que l’expertise cryptographique nécessaire ne s’arrête pas au développement et à l’implémentation des solutions cryptographiques embarquées au sein d’éléments sécurisés (ou de leur équivalent en boîte blanche), bien qu’il s’agisse d’une base fondamentale pour protéger ces services critiques.

Pour assurer la sécurité de bout en bout les experts en cryptographie sont aussi sollicités lors de la conception des solutions amenées à gérer les éléments sécurisés ou à interagir avec : solution OTA pour la mise à jour des paramètres des SIMs, solution de gestion eSIM pour l’activation à distance de souscriptions mobiles, solution de tokenization pour l’activation de cartes de paiement digitales, solution d’émission de clés de voiture numériques, etc.

Qu’est-ce la cryptographie post-quantique ?

La cryptographie post-quantique est une nouvelle génération de cryptographie visant à rendre les systèmes cryptographiques résistants à la puissance de calcul phénoménale des ordinateurs quantiques. C’est l’un des champs de recherche les plus actifs actuellement dans le domaine de la cryptographie.

Ne pas confondre cryptographie quantique et cryptographie post-quantique

La physique quantique et ses propriétés particulières, telle que la superposition des états ou encore l’intrication quantique ouvre le champ des possibles pour sécuriser les communications d’une façon radicalement nouvelle. C’est cette nouvelle forme de cryptographie, qui serait à même d’exploiter les propriétés de la physique quantique en permettant de s’échanger des photons pour en déduire un secret, que désigne le concept de « cryptographie quantique ».

À l’inverse, la « cryptographie post-quantique » désigne une évolution de la cryptographie actuelle pour faire face au défi que représentent des attaques utilisant la puissance de l’ordinateur quantique. Elle est destinée aux ordinateurs et cartes à puce que nous utilisons déjà au quotidien.

Pourquoi la cryptographie post-quantique est (déjà) si importante ?

Bien que les ordinateurs quantiques ne soient pas encore arrivés à maturité, le champ de recherche de la cryptographie post-quantique est en pleine ébullition depuis que les investissements dans leur développement s’accélèrent. La toute première graine de ce champ de recherche a été semée avec la publication de l’algorithme de Shor en 1994. Celui-ci, en utilisant la puissance de calcul des ordinateurs quantiques, permettra de résoudre en quelques jours (ou moins) les problèmes de mathématique complexes sur lesquels se basait jusqu’ici la cryptographie asymétrique, remettant en question la sécurité des solutions s’appuyant sur celle-ci. Les cryptosytèmes asymétriques post-quantiques doivent donc s’appuyer sur des problèmes mathématiques fondamentalement différents.

Avec l’émergence de l’ordinateur quantique, la cryptographie symétrique fera quant à elle face à des attaques par force brute un peu plus rapides, mais qui pourront assez facilement être contrées en augmentant la taille des clés utilisées pour maintenir un niveau de sécurité équivalent.

La question n’est pas de savoir si l’ordinateur quantique permettra un jour de casser les algorithmes asymétriques actuels ni même quand cela sera possible, mais plutôt de savoir si c’est une menace avec laquelle nous sommes prêts à vivre. Et la réponse est non. Pour des informations sensibles dont la confidentialité et l’intégrité doivent être maintenues pendant des années, voire des dizaines d’années, telles que des secrets gouvernementaux, les données d’un passeport, ou encore des données bancaires, le risque est bien réel. Ces données, bien que chiffrées et inutilisables à l’heure actuelle, si elles sont interceptées maintenant pourraient être déchiffrables très facilement dès lors que des attaquants auront accès à la puissance de calcul de l’ordinateur quantique.

La cryptographie hybride, une étape clé pour le passage à l’ère quantique

Nul ne pouvant prédire avec certitude quand de potentiels attaquants auront effectivement accès à la puissance de l’ordinateur quantique il est essentiel de protéger dès maintenant les communications et informations sensibles contre celle-ci, tout en tenant compte de la jeunesse des algorithmes post-quantiques. C’est là qu’intervient la cryptographie hybride pour préparer dès maintenant la transition entre la cryptographie asymétrique traditionnelle et la cryptographie post-quantique.

La confiance dans les algorithmes post-quantiques ne pouvant s’établir qu’à l’épreuve du temps, l’utilisation de la cryptographie hybride est l’approche recommandée à l’heure actuelle par les principales institutions définissant les normes de sécurités, à l’instar de l’ANSSI pour les produits d’identité européens soumis aux standards Critères Communs ou du NIST, pour les produits d’identités américains devant répondre aux normes FIPS (Federal Information Processing Standards). C’est également l’approche privilégiée dans les travaux de standardisations de la GSMA pour le secteur des télécoms.

La cryptographie hybride consiste à combiner les techniques de cryptographie asymétrique classiques et post-quantiques en attendant que les cryptosytèmes post-quantiques aient suffisamment gagné en maturité pour être employés seuls. Ainsi, un protocole de chiffrement hybride effectuera (en quelque sorte) un double chiffrement, à la fois avec un algorithme pré-quantique (déjà utilisée à l’heure actuelle) et avec un algorithme post-quantique, de sorte que même si un attaquant potentiel venait à casser la couche de chiffrement post-quantique, la donnée restera protégée par la cryptographie pré-quantique.

La cryptographie hybride restera donc utile tant que les cryptosystèmes post-quantiques seront encore en phase de maturation et que la puissance de calcul des ordinateurs quantiques ne sera pas largement accessible pour déjouer les cryptosystèmes asymétriques traditionnels.

La crypto-agilité : faire évoluer les solutions post-quantiques sur le terrain

Avec les premiers efforts de standardisation d’algorithmes post-quantiques sous l’impulsion du NIST et la sélection de quatre premiers algorithmes candidats à la standardisation en 2022 une première étape a été franchie, mais la recherche se poursuit. Dans ce contexte la crypto-agilité est de mise.

La crypto-agilité consiste à pouvoir changer tout ou partie d’une solution cryptographique déjà déployée sur le terrain, notamment pour remplacer les premiers algorithmes post-quantiques qui ne s’avèreront pas suffisamment sûrs. Si dans un environnement purement logiciel et sans contrainte particulière de mémoire cette évolution au fil du temps ne présentera pas réellement de difficultés, ce type de mise à niveau s’avèrera une opération bien plus délicate dans un environnement aux contraintes fortes tel que l’élément sécurisé d’une carte à puce.

La crypto-agilité aura recours à des solutions déjà existantes pour maintenir à jour les systèmes d’exploitation des éléments sécurisés et faire de la personnalisation sur le terrain, mais changer tout ou partie d’une solution cryptographique est une opération qui n’a rien d’anodin par rapport à une ordinaire correction de bug. Ces solutions devront donc évoluer pour intégrer les dernières fonctionnalités de sécurité qui permettront de protéger ces opérations particulièrement critiques.

L’architecture des produits devra elle aussi être repensée de la façon la plus flexible possible, car qui dit changement d’algorithme, dit changement de la clé, des certificats associés, mais aussi de potentiels impacts liés à la taille de l’algorithme et éventuellement à l’adaptation des protocoles, ce qui peut conduire à une plus importante consommation de la mémoire vive (RAM de la puce).

Suivant le type d’environnement concerné, cette mise à jour de la solution cryptographique pourra s’effectuer à distance (directement via le réseau mobile dans une SIM, eSIM ou iSIM par exemple) ou nécessitera d’utiliser un appareil connecté pour établir une connexion sécurisée avec la puce (terminal de paiement, smartphone compatible NFC, lecteurs dédiés aux pièces d’identité). La procédure à suivre sera définie par les autorités émettrices, les organismes de standardisation ou les acteurs de l’industrie au sein de chaque secteur.

Sachant que la maturation des algorithmes post-quantiques devrait nécessiter une dizaine d’années, voire plus, la crypto-agilité a de beaux jours devant elle.

Comment l’expertise d’IDEMIA en matière de cryptographie sert-elle les entreprises et les gouvernements ?

Fort de dizaines d’années d’expertise en cryptographie et pionnier dans l’anticipation de l’ère post-quantique, IDEMIA érige constamment de nouvelles défenses pour mieux protéger les informations sensibles des citoyens et des consommateurs.

Des milliards de personnes à travers le monde utilisent nos technologies cryptographiques au quotidien sous différentes formes : cartes de paiement avec ou sans contact, cartes SIM et eSIM pour les usages grand public ou de l’IoT, cartes d’identité et passeports électroniques, cartes pour les transports urbains, carte d’accès sécurisé pour les entreprises, cartes-clés de voiture NFC, cartes biométriques pour protéger les clés de portefeuilles de cryptomonnaie…

Tous ces éléments sécurisés sont le fruit de la conjugaison de nos expertises complémentaires dans les domaines de la cryptographie embarquée de haute sécurité, de la conception des puces et du développement d’OS sécurisés.

Au-delà de la cryptographie embarquée dans des éléments sécurisés physiques, nos experts relèvent également les défis liés à l’utilisation de la cryptographie dans des environnements non sécurisés (ou dont l’élément de sécurité n’est pas jugé utilisable pour des questions de souveraineté). C’est le cas notamment pour bon nombre de solutions déployées sur des smartphones (paiement mobile, identité mobile, clés de voiture numériques) qui nécessite des approches d’implémentations cryptographiques variées afin de répondre aux différents enjeux de cybersécurité de nos clients.

Notre expertise cryptographique est également au cœur de nos services et solutions : services de personnalisation bancaire pour l’émission des cartes physiques et digitales, mise à jour à distance des paramètres des SIMs ou gestion via le Cloud de l’activation des abonnements eSIM, sécurisation des données personnelles dans les plateformes de gestion des identités… pour ne citer que quelques exemples.

L’expertise construite au fil des décennies par IDEMIA pour la sécurisation de services de connectivité, de paiement et d’identité dans le monde physique s’est déjà révélée être un atout considérable pour accompagner nos clients dans leur transition digitale. À l’ère post-quantique, cette expertise est plus que jamais le socle pour permettre à nos clients de déployer des solutions très sécurisées, y compris au-delà de la puce, afin d’offrir aux consommateurs et aux citoyens des services digitaux à la hauteur des enjeux d’aujourd’hui et de demain.

Notre expertise en cryptographie

IDEMIA
IDEMIA

Inscrivez-vous à notre newsletter

Recevez nos principales actualités et suivez les tendances de nos marchés en vous abonnant à notre newsletter.

En cliquant sur le bouton «Je m'inscris», vous confirmez que vous acceptez les conditions d'utilisation et la politique de confidentialité d'IDEMIA et que vous consentez au traitement de vos données personnelles tel que décrit.

Votre adresse e-mail sera utilisée exclusivement par IDEMIA pour vous envoyer des newsletters. Conformément à la loi, vous disposez de droits d'accès, de rectification et de suppression de vos données personnelles, ainsi que d'opposition à leur traitement, en écrivant à dpo@idemia.com.