Programme d’apprentissage – Qu’est-ce qu’une identité numérique?

Partie 5 – Cryptographie

Précédemment, nous nous sommes attardés à la terminologie (voir Partie 1 – Principes fondamentaux) et avons décrit le cycle de vie de l’identité numérique (voir Partie 2 – Cycle de vie). Nous avons également décrit l’environnement entourant les justificatifs vérifiables (voir Partie 3 – Modèles) et pourquoi il est important de surmonter les obstacles à l’adoption (voir Partie 4 – Obstacles à l’adoption). Il est maintenant temps d’entrer dans les détails techniques et de décrire les technologies et les principes qui permettent l’utilisation en toute confiance des justificatifs d’identité dans un espace numérique. Nous allons commencer par examiner la cryptographie et les signatures numériques.


Cryptographie

La cryptographie est un élément essentiel pour sécuriser une identité numérique de confiance. Lors du partage de données entre un émetteur et un titulaire, ou entre un titulaire et un vérificateur, la cryptographie assure : 

  • L’intégrité des données – que les informations n’ont pas été altérées depuis leur création.
  • L’authentification – que l’information a été envoyée par l’expéditeur prévu.
  • La non-répudiation – que l’expéditeur ne peut pas se rétracter, contester, nier ou autrement refuser la propriété de la création d’un message chiffré. Cela est possible en partie grâce à la «signature» unique du message en utilisant une «clé» privée, dans le cas du chiffrement asymétrique (voir ci-dessous).

Les fonctions fondamentales de la cryptographie sont le chiffrement, le déchiffrement et le condensé. Le chiffrement permet de s’assurer que les informations envoyées d’une partie à une autre sont codées, c’est-à-dire inintelligibles pour les entités non autorisées. Le déchiffrement permet de reconvertir les informations codées en leur forme originale. La création d’un condensé du message crée une signature unique qui assure que le message n’a pas été falsifié.

Les clés sont la base de la cryptographie. Il s’agit de séries de chiffres et de lettres qui transforment les données au moyen d’un algorithme cryptographique, ou d’un processus informatique systématique, de sorte que les données apparaissent de manière aléatoire. Comme une clé physique, elle verrouille (chiffre) les données de sorte que seule une personne possédant la bonne clé peut les déverrouiller (déchiffrer). Plus une clé et un algorithme de chiffrement sont longs et complexes, moins il est probable qu’une entité non autorisée puisse déchiffrer ou signer faussement un message. Alors, pourquoi ne pas rendre la clé aussi longue que possible? Du point de vue de la sécurité, des clés plus longues et des algorithmes plus complexes exigent une plus grande puissance de traitement et plus de temps pour décoder le chiffrement sans la clé appropriée, c’est-à-dire pour forcer la serrure. Toutefois, cette complexité supplémentaire se traduit également par un compromis au niveau des performances : même avec les clés appropriées, une puissance de traitement plus importante est nécessaire pour chiffrer et déchiffrer les informations. Les algorithmes et les standards pour leur utilisation évoluent constamment, tout comme les capacités des attaques malveillantes contre la sécurité. 

Un autre compromis est la manière dont les clés sont utilisées. Il existe deux modèles de base : 

  • Le chiffrement symétrique utilise la même clé pour chiffrer/déchiffrer les informations. 
  • Le chiffrement asymétrique utilise une clé pour chiffrer les informations et une autre clé mathématiquement liée pour le déchiffrement. En général, la clé de chiffrement est appelée clé privée et la clé de déchiffrement est appelée clé publique.

Le chiffrement symétrique est généralement plus facile à exécuter, consommant moins de ressources informatiques. Bien que les algorithmes de chiffrement symétrique soient sécuritaires et prennent beaucoup de temps à résoudre simplement en «devinant» à l’aide de la technologie actuelle, leur longueur de clé plus courte et leur simplicité relative permettent un traitement beaucoup plus rapide. Ils sont donc bien adaptés au chiffrement au sein d’un réseau fermé ou entre deux parties de confiance. Les bases de données ou les grands volumes de données échangées, comme dans le secteur financier, sont des exemples qui se prêtent bien au chiffrement symétrique. Cela est dû au fait que la communication a lieu dans le cadre d’une relation pour laquelle les justificatifs et l’authentification ont déjà été établis et vérifiés. Les inconvénients de cette approche incluent les difficultés à s’assurer que les deux parties d’une transaction, et seulement ces parties, possèdent la même clé. L’authentification de l’origine d’un message peut également s’avérer un défi puisque plus d’une partie aura la même clé. Cela fait obstacle au principe de non-répudiation décrit ci-dessus, puisque l’information n’est plus fournie avec une preuve d’origine, d’authenticité ou d’intégrité, et que le destinataire peut ne pas être en mesure de confirmer l’identité de l’expéditeur. En outre, la cryptographie symétrique n’est pas très évolutive. Plus le nombre de parties augmente, plus le nombre de clés pair à pair augmente de façon exponentielle. Cela s’explique par le fait que la gestion des clés requiert des canaux de distribution de clés sécurisés. Plus le nombre de parties et de types de transactions est élevé, plus le nombre de canaux de distribution requis est important, ce qui devient rapidement incontrôlable. Cela constitue une frustration dans le domaine de la cryptographie depuis longtemps, et c’est là que la cryptographie asymétrique simplifie radicalement la distribution des clés. De plus, le chiffrement symétrique ne fonctionne pas très bien lorsqu’on essaie d’échanger des informations protégées sur l’internet ouvert entre des parties qui n’ont pas une relation de confiance préétablie. 

Pour cette raison, la cryptographie asymétrique est plus souvent utilisée. La cryptographie asymétrique utilise des paires de clés qui sont mathématiquement liées. La clé privée est utilisée pour chiffrer un message, et seule la clé publique peut le déchiffrer. C’est la base du chiffrement à clé publique, dans lequel une clé est rendue publique, tandis que l’autre reste privée et protégée. La clé privée n’est pas échangée, ce qui élimine le besoin de canaux de distribution, tandis que les clés publiques sont échangées par le biais de serveurs de clés publiques ou d’autres moyens.

Il existe également un modèle mixte qui est souvent utilisé en cryptographie pour tirer parti des forces des approches symétriques (rapidité et efficacité) et asymétriques (meilleur soutien à la confiance). Dans cette approche, les méthodes asymétriques sont utilisées pour établir une relation de confiance et les clés symétriques sont générées à la volée pour être utilisées dans le reste de la transaction protégée. 

L’une des utilisations les plus courantes de l’approche du modèle mixte est l’établissement d’une session de navigation sécurisée (🔒https://). Pour établir une connexion sécurisée de navigation, le navigateur et le serveur Web s’identifient mutuellement à l’aide d’un échange asymétrique de clés. Cela permet d’exploiter les fonctions d’authentification des méthodes asymétriques. Au cours de cet échange, une clé de session à usage unique est générée et partagée entre le serveur Web et le navigateur. À partir de ce moment, et jusqu’à la fin de la session de communication, cette clé de session et le chiffrement symétrique sont utilisés. Cette méthode présente l’avantage de tirer parti de la rapidité du chiffrement symétrique pour l’échange d’informations volumineuses entre le navigateur et le serveur Web.

Dans le contexte de l’identité décentralisée, l’utilisation de technologies et de techniques cryptographiques favorise l’interopérabilité entre les participants qui créent et consomment des justificatifs numériques. Ces justificatifs doivent être exprimés d’une manière qui soit cryptographiquement sécurisée, qui respecte la vie privée et qui soit vérifiable de façon automatisée afin d’être pratique, fiable et fondamentalement utilisable. Par exemple, un justificatif gouvernemental est délivré (p. ex. permis de conduire), et le titulaire peut souhaiter présenter ses attributs à un vérificateur (p. ex. institution financière) pour appuyer une assertion (p. ex. preuve d’adresse). Pour que la confiance soit établie, il est essentiel que les avantages offerts par la cryptographie soient à l’œuvre, tels que l’intégrité des données et l’authentification du titulaire qu’elles représentent. Ce type de technologie s’appuie fortement sur la cryptographie asymétrique.


Signatures numériques

La cryptographie à clé publique et les algorithmes de condensé sont également utilisés pour les signatures numériques, afin de prouver qu’un message numérique n’a pas été modifié depuis sa signature. Une courte information unique est créée, le condensé du message ou le «hachage», et chiffrée à l’aide de la clé privée de l’expéditeur. Le hachage signé généré est unique au le message ou au document et à l’expéditeur, et la modification de la moindre partie du message changera complètement le hachage.

Lorsque le destinataire reçoit le message et la signature, il peut générer son propre hachage du message et déchiffrer le hachage de l’expéditeur (inclus dans le message original) à l’aide de la clé publique de l’expéditeur. Le destinataire peut comparer le hachage qu’il a généré avec le hachage déchiffré. S’ils correspondent, le message n’a pas été modifié et l’expéditeur est authentifié. L’adoption des justificatifs numériques est rendue possible par cette technologie et n’est possible que si les mécanismes sont en place pour assurer une performance uniforme et fiable.


Récapitulatif

Nous venons de présenter certains des aspects les plus techniques des justificatifs numériques. Ces méthodes cryptographiques et les concepts entourant la sécurité et la protection de la vie privée établissent les bases de la confiance dans les interactions numériques. Sans ces mesures, l’adoption ne serait finalement jamais possible. L’utilisation de techniques rigoureusement développées et robustes peut permettre de bénéficier des avantages de l’exécution de transactions importantes de manière numérique. Cela renforcera la confiance des titulaires de justificatifs de tous les jours dans l’exercice de leurs activités en ligne, ce qui accélérera l’adoption et l’innovation.

N’hésitez pas à nous faire part de vos commentaires. Faites-nous savoir quels autres sujets nous devrions aborder prochainement. Contactez IDLab!