• Aucun résultat trouvé

Outils cryptographiques

V. Générateurs aléatoires et pseudo-aléatoires

VI.3 Fiabilité des systèmes cryptographiques .1 Problème des clefs

Pour que le système soit fiable, il est nécessaire que les clés de chiffrement utilisées soient suffisamment sûres. Avec les protocoles actuels, la sûreté d‟une

Chapitre 2 : Outils cryptographiques

29

clé dépend de sa longueur. Cependant, plus la clé est longue, plus la transaction ou la communication va être lente. Il existe donc un compromis entre sécurité, et rapidité. Enfin, pour déchiffrer un document sans posséder la clé, il est nécessaire de disposer d‟ordinateurs dont la puissance de calcul est très élevée pour casser le protocole. La ”dépense” nécessaire pour casser le protocole doit donc être disproportionnée par rapport à la valeur de l‟information protégée. Aujourd‟hui, une clef de longueur 1024 bits (longueur typiquement utilisée pour le protocole RSA), nécessiterait plusieurs milliards d‟années de calcul pour être cassée. Cependant, ce système dépend de l‟évolution de la technique. Un algorithme jugé incassable aujourd‟hui ne le sera peut-être plus dans quelques années. Le Challenge RSA 5, lancé en 1997, et qui consistait à casser par force brute un message chiffré par un algorithme RC5 à clef de 64 bits, a été remporté en 2002 par le projet Distributed.net [Web12]. L‟opération aura duré cinq années, mais elle prouve que des clefs de 64 bits peuvent être cassées et qui plus est, par des entreprises non étatiques. Le projet Distributed.net fédérait des milliers d‟internautes, afin d‟utiliser le temps libre de leur ordinateur pour tester la totalité des clefs possibles. C‟est le 14 juillet 2002 que le PIII-450 d‟un internaute de Tokyo a renvoyé la clef. Celle-ci était ”0x63DE7DC154F4D039” et produisait le texte clair suivant : « The unknown message is : some things are better left unread ».

On estime, aujourd‟hui, que la longueur de clef d‟un protocole symétrique ne doit jamais descendre en dessous de 90 bits, pour que le chiffrement reste sûr. Les fonctions de chiffrement sont supposées rendre impossible le décryptage d'un message clair sans la clef. A fortiori, elles doivent protéger le secret des clefs.

VI.3.2 Principe de Kerckhoffs [Sti03]

Une fonction de chiffrement E est une fonction bijective qui transforme un message clair m en un message chiffré c = E(m). Si un attaquant connaît c, il doit être très difficile de retrouver m (chiffrement partiellement cassé) ou E(.) (chiffrement totalement cassé). De plus, E est une fonction paramétrée par une clé secrète k appartenant à l‟espace K des clés possibles.

Etant donné que l‟ensemble des fonctions bijectives de {0,1} vers {0,1} est de cardinal 2N!, l‟ignorance de l‟adversaire est quantifiée par log2(2N!) bits. Cette ignorance est bien sûr utopique, car quelque soient les précautions prises, en pratique, l‟attaquant finit par acquérir une certaine quantité d‟informations sur la communication chiffrée, ce qui lui permet de monter des attaques. Avec l‟hypothèse de la seule ignorance de la clef, casser le chiffrement, revient à tester les K clefs possibles ou attaque par force brute. L‟ignorance du cryptanalyste est réduite à log2(K) bits où K est la taille de la clef, ce qui est plus réaliste.

D'une manière générale, on suppose toujours que le cryptanalyste connaît le détail des algorithmes, fonctions mathématiques ou protocoles employés dans un crypto-système. Même si ce n'est pas toujours le cas en pratique, il serait risqué de se baser sur le secret des mécanismes utilisés pour assurer la sécurité d'un système.

Chapitre 2 : Outils cryptographiques

30

En 1883 dèjà, A. Kerckhoffs, présente une série de principes élémentaires devant être suivis pour assurer la sécurité d‟un crypto-système. On ne retient aujourd‟hui que le suivant : « toute méthode de chiffrement doit être supposée connue de l‟adversaire, la sécurité du système ne doit reposer que sur le secret de la clef ».

Le principe de Kerckhoffs est une heuristique qui se défend par deux arguments : - Il existe des algorithmes cryptographiques publics qui n‟ont pas été cassés à ce

jour, par exemple, RSA et DES.

- Il existe des algorithmes propriétaires (i.e. qui violent le principe de Kerckhoffs) qui ont été cassés.

L‟exemple le plus illustratif est certainement la machine Enigma pendant la seconde guerre mondiale.

VI.3.3 Sécurité inconditionnelle

La sécurité inconditionnelle implique que la connaissance du message chiffré n‟apporte aucune information sur le message en clair. Dans ce cas, la seule attaque possible est la recherche exhaustive de la clef secrète. Une cryptanalyse possible est d‟utiliser la répétition de la clef et de rechercher des motifs dans le texte chiffré. Ceci montre que clef secrète doit être au moins aussi longue que le texte en clair pour obtenir une sécurité inconditionnelle. Le seul système de chiffrement qualifié de inconditionnellement sûr est le chiffre de Vernam(1917) qui utilise justement une clef aussi longue que le texte clair. C‟est pour cette raison qu‟on le désigne par « chiffrement par masque jetable » (One time pad). Il est basé sur la relation suivante :

M, K / |M| = |K| : (M  K)  K = M Dans ce cas la fonction de chiffrement est : EK(M) = M  K et la fonction de déchiffrement est : DK(C) = C  K Tous les autres systèmes sont théoriquement cassables.

En pratique, on utilise des systèmes de chiffrement pratiquement sûrs c'est-à-dire des systèmes pour lesquels un message chiffré ne permet de retrouver ni la clef secrète ni le message clair en un temps humainement raisonnable. La question n‟est plus de savoir si l‟attaquant trouvera la clef, mais quand il la trouvera. Par exemple, pour un ordinateur de 1Ghz, c'est-à-dire à 109 opérations par seconde et une clef de 128 bits, il y a 2128 soit environ 3,4x1038 possibilités de clefs à tester, ce qui donne 3,4x1031 secondes. A titre de comparaison, l‟âge de l‟univers est estimé à 15 milliard x 365 x 24 x 3600 = 4,7x1017secondes.

Chapitre 2 : Outils cryptographiques

31

Conclusion

Ce chapitre fait une incursion dans le domaine très vaste de la cryptographie. Le lien commun entre ce domaine et celui du marquage numérique est l‟étude de la sécurité. Il nous a semblé utile de cerner d‟abord les notions cryptographiques de base pour ne pas tomber dans le piège de refaire par marquage des fonctionnalités que la cryptographie propose déjà. Il y a derrière cette idée un certain principe de précaution: le marquage est une science jeune comparée à la cryptographie aux primitives déjà éprouvées. Si le marquage est utile, c‟est en complément de la cryptographie, comme nous le proposerons dans une de nos contributions. Ce chapitre montre également qu‟il existe en sécurité de grands principes dont le plus classique est celui de Kerckoffs. Cette partie sert donc d‟introduction par l‟exemple au thème du chapitre suivant.

32

Chapitre 3