Cryptographie hybride
La cryptographie hybride (ou hybridation cryptographique) est un système de cryptographie faisant appel à deux familles de systèmes cryptographiques différentes.
On peut parler de cryptographie hybride dans plusieurs cas différents. Le premier cas est celui où deux concepts de cryptographie sont utillisés, tels que la cryptographie symétrique et la cryptographie asymétrique, et ce afin de tirer profit des avantages de ces deux méthodes, afin de pallier leurs désavantages. Le deuxième cas est une hyrbidation entre deux concepts identiques (tels que deux cryptographies asymétriques, l'une post-quantique et l'autre pré-quantique (c'est-à-dire une cryptographie ne répondant pas aux garanties de la cryptographie post-quantique.
Ce deuxième cas d'hybridation permet de répondre aux besoins de résistance aux ordinateurs quantiques tout en assurant une sécurité (tant que ceux-ci ne sont pas suffisamment puissant pour casser la sécurité des algorithes pré-quantique) à l'aide d'algorithmes éprouvés.
Un troisième cas existe également : une hybridation entre deux algorithmes post-quantique. Il n'apporte alors pas la sécurité d'algorithmes éprouvés par la recherche, mais apporte une sécurité relative à la combinaison de deux algorithmes, dans le cas où l'un des deux viendrait à être considéré comme vulnérable.
Hybridation symétrique - asymétrique
modifierOn parle d'hybridation symétrique - asymétrique pour un système de cryptographie faisant appel à ces deux domaines de la cryptographie.
La cryptographie asymétrique est intrinsèquement lente à cause des calculs complexes qui y sont associés, alors que la cryptographie symétrique brille par sa rapidité. Toutefois, cette dernière souffre d'une grave lacune, on doit transmettre les clés de manière sécurisée (sur un canal authentifié). Pour pallier ce défaut, on recourt à la cryptographie asymétrique qui travaille avec une paire de clés : la clé privée et la clé publique. La cryptographie hybride combine les deux systèmes afin de bénéficier des avantages (rapidité de la cryptographie symétrique pour le contenu du message) et utilisation de la cryptographie « lente » uniquement pour la clé.
Les logiciels comme PGP et GnuPG reposent sur ce concept qui permet de combiner les avantages des deux systèmes.
Chiffrement
modifier
La plupart des systèmes hybrides procèdent de la manière suivante. Une clé aléatoire, appelée clé de session, est générée pour l’algorithme symétrique (3DES, IDEA, AES, etc.), cette clé fait généralement entre 128 et 512 bits selon les algorithmes. L'algorithme de chiffrement symétrique est ensuite utilisé pour chiffrer le message. Dans le cas d'un chiffrement par blocs, on doit utiliser un mode d'opération comme CBC, cela permet de chiffrer un message de taille supérieure à celle d'un bloc.
La clé de session quant à elle, se voit chiffrée grâce à la clé publique du destinataire, c'est ici qu'intervient la cryptographie asymétrique (RSA ou ElGamal). Comme la clé est courte, ce chiffrement prend peu de temps. Chiffrer l'ensemble du message avec un algorithme asymétrique serait bien plus coûteux, c'est pourquoi on préfère passer par un algorithme symétrique. Il suffit ensuite d'envoyer le message chiffré avec l'algorithme symétrique et accompagné de la clé chiffrée correspondante. Le destinataire déchiffre la clé symétrique avec sa clé privée et via un déchiffrement symétrique, retrouve le message.
Authentification
modifierIl est très courant d'ajouter des authentifications et des signatures aux messages envoyés. On utilise pour cela des fonctions de hachage (MD5, SHA-1 ou des codes authentificateurs comme HMAC).
Alternative à l'hybridation symétrique - asymétrique
modifierLa cryptographie asymétrique propose aussi une autre primitive cryptographique pouvant être associée à un chiffrement symétrique, il s'agit de l'échange de clés ; un exemple est l'échange de clés Diffie-Hellman.
Cette méthode, couplée avec un mécanisme d’authentification, est par exemple utilisée par TLS[1].
Hybridation par combinaison de deux algorithmes
modifierOn parle également de cryptographie hybride lorsque l'on combine deux algorithmes différents pour baser sa sécurité sur les deux.
Contexte
modifierAvec l'arrivée des ordinateurs quantiques, la sécurité des primitives cryptographies asymétriques basée sur la factorisation (RSA) ou sur le logarithme discret (courbes elliptiques) n'est plus assurée face notamment à l'algorithme de Shor. On parle alors de cryptographie post-quantique pour les primitives résistantes aux ordinateurs quantiques. Cependant, on dispose de moins de recul sur cette discipline que sur la cryptographie plus classique, qui, à ce jour, est toujours sécurisée (Google considérant que ce "Q-day", ou quantum-day est prévu pour 2029[2]).
Ainsi, différentes autorités et experts recommandent une hybridation cryptographique entre des algorithmes pré-quantique et post-quantique[3].
Avantages de l'hybridation
modifierUne hybridation combinant deux primitives cryptographiques différentes base sa sécurité sur les deux primitives.
Une hybridation est possible entre un algorithme pré-quantique, sur lequel on a du recul (nombreux papiers de recherche, études cryptologiques poussées, etc.) et un algorithme post-quantique, sur lequel on a moins de recul[4], mais qui a l'avantage d'être résistant aux algorithmes quantiques qui viennent réduire la sécurité des algorithmes pré-quantiques.
Dans le cas où les algorithmes pré-quantiques sont hors de question, on peut également imaginer une hybridation entre deux algorithmes post-quantiques, par exemple, basés sur des sécurités différentes. Cette forme d'hybridation permet de se prémunir en cas de compromission de l'un des deux algorithmes, pour lesquels on n'a pas encore suffisamment de recul.
Principe d'hybridation pour l'encapsulation de clés
modifierL'encapsulation de clés hybride repose sur la sécurité d'une combinaison de deux mécanismes d'encapsulation de clés différents. Cette hybridation peut se faire par combinaison de deux parties de la clef, une partie résultant d'un mécanisme d'encapsulation de clé classique, la seconde d'un mécanisme post-quantique.
La sécurité de cette encapsulation repose alors sur cette combinaison des deux parties, qui peut se faire au travers d'une fonction de dérivation de clé[3].
Principe d'hybridation pour la signature
modifier
La signature hybride repose sur la validation de deux algorithmes de signature distincts.
Du côté de l'émetteur, il convient de réaliser deux opérations de signature à l'aide de deux algorithmes distincts, et de concaténer ces deux signatures.
La validation se fait si et seulement si les deux signatures sont valides[3].
Notes et références
modifier- ↑ RFC5246 section 7.4. Handshake Protocol
- ↑ (en) Katie Hunt, « ‘Q-Day’ is almost here. It could unleash a cybersecurity crisis far worse than Y2K », sur CNN, (consulté le )
- 1 2 3 ANSSI, « Avis de l'ANSSI sur la migration vers la cryptographie post-quantique (suivi 2023) », Guide,
- ↑ « Transition post-quantique : L’hybridation des échanges de clés », sur Synacktiv (consulté le )