Publication d’un paramétrage de courbe elliptique visant des applications de passeport électronique et de l’administration électronique française

L'ANSSI publie un paramétrage de courbe elliptique adapté aux besoins en cryptologie des applications de passeport électronique et des applications de l'administration électronique française.

Publié le 21 Novembre 2011 Mis à jour le 21 Novembre 2011

La sécurisation des systèmes d’information repose pour partie sur des mécanismes cryptographiques symétriques et asymétriques. Dans le domaine de la cryptographie asymétrique, la cryptographie fondée sur les courbes elliptiques occupe une place croissante. L’emploi d’algorithmes de signature ou d’échange de clé fondés sur les courbes elliptiques est particulièrement adapté aux besoins des applications de passeport électronique et de nombreuses applications de l’administration électronique. Afin de répondre à de tels besoins, l’ANSSI publie un paramétrage de courbe elliptique au JO et encourage les concepteurs d’applications à utiliser cette courbe pour l’ensemble de leurs développements destinés à sécuriser des opérations sensibles.

Depuis une vingtaine d’années, l’on assiste au développement et au déploiement à grande échelle de mécanismes de cryptographie asymétrique afin de sécuriser les communications électroniques, notamment sur l’internet.

Problèmes difficiles et courbes elliptiques

Une grande proportion des signatures électroniques et des mécanismes asymétriques de chiffrement et d'échange de clé s'appuient sur des problèmes mathématiques issus de la théorie des nombres. La sécurité du système cryptographique RSA, dont l'utilisation est très répandue à ce jour, est ainsi liée au problème de la factorisation, c'est-à-dire au problème de trouver les facteurs premiers d’un grand nombre entier. D'autres schémas, échange de clé Diffie-Hellman, signature DSA, etc., sont liés au problème du logarithme discret dans un groupe d’entiers modulaires.

Concrètement, l’introduction de tels problèmes mathématiques en cryptologie permet la création de fonctions « à sens unique », dont le résultat est facile à calculer mais qu’il est difficile d’inverser. La sécurité des systèmes asymétriques s’appuie généralement sur de telles fonctions à sens unique. Ainsi, le choix de paramètres garantissant un bon niveau de sécurité dépend du temps et de la puissance de calcul nécessaires pour réaliser l’opération d’inversion. Les paramètres sont alors choisis de telle sorte que ce temps soit prohibitif. Plus le problème considéré est difficile, plus la taille des paramètres pourra être faible.

Le problème du logarithme discret mentionné plus haut peut se définir de manière générique en algèbre dans un groupe fini. À partir du milieu des années 1980, des chercheurs ont constaté la possibilité d'utiliser des structures mathématiques complexes, appelées courbes elliptiques, et de bâtir des systèmes cryptographiques fondés sur le problème du logarithme discret sur le groupe engendré par un point de ces courbes. Dans ces structures, le logarithme discret est (sous certaines conditions) un problème plus difficile que dans un groupe classique d’entiers modulaires. Par conséquent, pour un même système cryptographique fondé sur le problème du logarithme discret, il est possible d'utiliser des paramètres plus petits pour ceux basés sur les courbes elliptiques, pour un même niveau de sécurité.

En considérant que l'augmentation rapide de la puissance de calcul des attaquants potentiels conduit à augmenter la taille des paramètres utilisés dans les systèmes cryptographiques, l'utilisation de cryptographie basée sur les courbes elliptiques, moins coûteuse en termes de taille de paramètres, devrait se généraliser dans les années à venir.

Cryptographie basée sur les courbes elliptiques

Il existe plusieurs algorithmes cryptographiques basés sur les courbes elliptiques. Parmi les plus usités, l’on peut citer l’algorithme de signature ECDSA et l’algorithme d’échange de clé ECDH.

ECDSA (Elliptic Curve Digital Signature Algorithm) est un algorithme de signature utilisant les courbes elliptiques. C'est une adaptation de DSA, qui est un algorithme utilisant un groupe multiplicatif d'entiers modulaires. Tous deux sont basés sur le problème du logarithme discret, mais pour un même niveau de sécurité, les recommandations actuelles de l’ANSSI (courant jusqu’à 2020) sur la taille minimale du nombre d'éléments de la structure à utiliser pour l’algorithme ECDSA sont de 200 bits, alors qu’elles sont de 2048 bits pour DSA.

ECDH (Elliptic Curve Diffie-Hellman) est un algorithme d’échange de clé utilisant lui aussi le problème du logarithme discret sur courbes elliptiques. Comme ECDSA, cet algorithme est inspiré d’un algorithme classique initialement défini dans un groupe multiplicatif d’entiers modulaires. Afin de rendre la résolution du problème du logarithme discret sous-jacent hors de portée, les choix de paramètres sont les mêmes que précédemment, ce qui ici encore représente un gain d’un facteur dix pour l’algorithme basé sur les courbes elliptiques comparé à sa version multiplicative modulaire.

Cet écart au niveau de la taille des paramètres s’étend à tout algorithme dont la sécurité est liée au problème du logarithme discret sur des courbes elliptiques bien choisies plutôt que dans un groupe multiplicatif d’entiers modulaires.

Les applications des courbes elliptiques en cryptographie ne se limitent pas à l’adaptation d’algorithmes de signature ou d’échange de clé à des structures plus complexes, seule utilisation mentionnée ici en raison de son caractère primordial.

Paramétrage

Le paramétrage proposé correspond à une courbe générée de manière aléatoire et sélectionnée de façon à respecter les critères de sécurité usuels. Son dimensionnement suit les règles énoncées dans l'annexe B_1 du référentiel général de sécurité. En complément à sa description parue au JO, les développeurs souhaitant l'intégrer à leurs produits trouveront ici une version électronique de l’encodage selon le format DER de ce paramétrage, suivant la syntaxe ASN1 définie dans la norme ANSI X9.62.