• Aucun résultat trouvé

Emetteur Msg

CONTRIBUTION ET IMPLÉMENTATION

4. ECC et cryptographie 1 Définition

Afin d’assurer un niveau de sécurité appréciable en utilisant un système ECC, il faut trouver un problème difficile à résoudre comme le problème de la factorisation d’un produit en ses facteurs premiers, utilisé par le système RSA. Pour cela, nous considérons l’équation suivante : Q = [k] P où Q, P ∈ Ep et k < p. Comme souligné déjà plus haut, il est

aisé de calculer Q connaissant k et P mais il est très ardu et voire impossible pour un k assez grand, de déterminer k sachant P et Q. Ce problème est le problème du logarithme discret, très difficile à résoudre dans le contexte des courbes elliptiques. La cryptographie sur les courbes elliptiques (ECC) se base sur ce problème pour l’échange de clés, le chiffrement et même la signature des messages entre deux entités communicantes. Elle a été présentée indépendamment par [53] et [69] au milieu des années 80, et récemment, ECC attire l’attention des chercheurs en raison de la taille trop courte de ses clés pour un niveau de sécurité égal ou supérieur aux autres systèmes de sa catégorie (RSA, Diffie- Hellman…etc.).

On sait que le principe de la cryptographie publique repose sur un couple de clés (publique, privée) et son secret est la difficulté de retrouver la clé privée à partir de la clé publique. Plusieurs problèmes mathématiques ont été utilisés dans la cryptographie publique pour atteindre ce secret et qui doivent respecter certaines exigences, notamment celles liées à la taille des clés, le temps de traitement et la quantité de mémoire utilisée. Dans le système ECC, le problème employé est celui du logarithme discret, reposant sur des clés de tailles réduites, des temps de traitement raisonnables et des capacités de stockage moins importantes. Les ECC conviennent bien aux RcSF car elles respectent leurs contraintes en calculs, en temps de traitements, en capacités de stockage et en consommation d’énergie.

4.2. Echange de clés

Soit un grand nombre premier p et deux paramètres a, b satisfaisant l’équation (y2 mod p) = ((x3 + ax + b) mod p). a et b permettent de définir un Ep (a, b) d’ordre n très

élevé. On choisit au hasard un point de départ G (x1, y1) dans Ep (a, b) qu’on rendra

publique avec Ep (a, b). L’échange de clés entre les deux entités communicantes A et B se

réalise comme suit :

- A choisit x < n et B choisit y < n respectivement comme clés secrètes.

- A calcule sa clé publique PA = [x] G et B calcule également sa clé publique

PB = [y] G.

- A et B échangent publiquement leurs clés publiques PA et PB.

- A génère sa clé privée K (A, B) = [x] PB et B génère sa clé privée K (A, B) = [y] PA.

- La clé K (A, B) est la clé symétrique partagée de manière sécurisée par A et B.

4.3. Taille des clés

Dans un système cryptographique, la taille des clés représente le paramètre essentiel pour mesurer son niveau de sécurité. Or, plus la taille des clés augmentent, l’attaquant prendra plus de temps à retrouver le secret de la clé et casser le système cryptographique surtout quand il s’agit d’attaques génériques basées sur la recherche exhaustive ou sur la technique du paradoxe des anniversaires (on cite particulièrement les algorithmes de Pohlig-Hellman [76] et de Pollard-Rho [81]). Pour un système cryptographique basé sur les ECC, une sécurité de 280 opérations exigera des corps d’ordre minimum de 2160, c'est-à- dire choisir un nombre premier p ≥ 160 bits. Si on généralise pour une sécurité 2n

opérations, il faut créer des nombres premiers de taille supérieure ou égale à 2*n. Une petite comparaison avec le système RSA [35], ce dernier étant considéré comme le système de cryptage le plus utilisé dans sa catégorie, et pour une sécurité de 280 opérations, ECC nécessite des clés de 160 bits tandis que RSA nécessite des clés de 1024 bits. Autrement dit, pour une sécurité égale, les clés utilisées par RSA sont sept fois plus longues que les clés utilisées par ECC. Encore, pour une sécurité de 2112 et 2128 opérations, ECC nécessite des clés de 224 et 256 bits respectivement, tandis que RSA nécessite des clés de 2048 et 3072 bits respectivement. Le tableau ci-dessous résume cette comparaison.

Figure 5.6 : Etapes d’établissement de clés symétriques

Génération des paramètres p, a, b et G de la courbe elliptique communs à A et B

A B Génération du secret x Calcul de PA = [x] G Génération du secret y Calcul de PB = [y] G PA PB

Calcul de KAB = [y] PA Calcul de KAB = [x] PB

Réception de PA

Réception de PB

Niveau de sécurité (nombre d’opérations)

Taille des clés Durée de vie du crypto-système RSA ECC 280 1024 160 Environ 04 années 2112 2048 224 Environ 20 années 2128 3072 256 Environ 30 années 4.4. Avantages et inconvénients

Le tableau (5.6) présente les avantages et les inconvénients de la cryptographie sur les courbes elliptiques.

Avantages Inconvénients

+ Taille des clés inférieure pour une sécurité égale.

+ Calculs moins lourds.

+ Utilisation moindre de mémoire.

+ La taille des clés croit moins vite que les autres systèmes pour une meilleure sécurité. + Permet à la fois l’échange de clés, le chiffrement et la signature.

+ Convient aux systèmes embarqués.

+ Basé sur le problème du logarithme discret difficile et appartenant à la classe des

problèmes NP.

+ Cryptanalyse par algorithmes exponentiels.

- Complexes.

- Nécessite des travaux

d’optimisation essentiellement destinés aux systèmes mobiles. Tableau 5.5 : Taille des clés des systèmes RSA et ECC pour une sécurité égale [35]

Au travers de toutes les comparaisons faites sur le système ECC et les autres systèmes de cryptage asymétrique, on conclut que l’utilisation de la cryptographie sur les courbes elliptiques convient aux réseaux de capteurs sans fil pour la taille réduite de ses clés et pour tous les autres avantages cités dans le tableau ci-dessus. Son utilisation est encore plus importante dans la résolution du problème d’échange de clés jusque là considéré comme le point faible des systèmes cryptographiques et des schémas de gestion de clés. La sécurité de cet échange de clé est plus élevée et fournit des clés de taille réduite tant que les problèmes de la classe NP le resteront.

La section suivante sera consacrée à la présentation de notre solution pour le routage de données et la sécurité des communications, en utilisant un système hybride basé sur le système cryptographique ECC pour l’établissement des clés symétriques entre les entités communicantes et leur utilisation pour sécuriser l’échange de données.