SéCurité Fonctions Chaotiques

8

Click here to load reader

description

Projet d\'étude lors d\'un module de sécurité sous la tutelle de Michel Riguidel à l\'ENSTP

Transcript of SéCurité Fonctions Chaotiques

Page 1: SéCurité Fonctions Chaotiques

1

Les approches de sécurité par les fonctions chaotiques et le chaos.

Valentin Paquot

Rappel Historique La notion de fonction chaotique apparaît au début du XXème siècle dans les travaux d’Henri Poincaré1 sur la physique des corps2. Cependant il faut attendre les années 60 pour que cette notion soit approfondie. Pourquoi un tel laps de temps ? D’une part, il s’agissait d’un concept précurseur ; de l’autre il était matériellement très difficile d’établir un lien entre tous les travaux des chercheurs qui avaient travaillé sur le sujet. Il fallait en effet pour cela réaliser un nombre immense d’opérations, ce qui n’a été possible qu’avec l’apparition de l’ordinateur en 1960. En 1963, le météorologue Edward Lorenz prouve le caractère non linéaire des conditions météorologiques, un infime changement de l’état initial pouvant entraîner une évolution totalement différente (ce qui lui inspira le fameux postulat du battement d’aile de papillon). Avec cette découverte les travaux d’Henri Poincaré connurent un regain d’intérêt et en 1975 le mathématicien James Yorke emploie pour la première fois le terme de « chaos »3. I] Introduction L’informatique et les réseaux de communication sont devenus des composantes indispensables de la vie personnelle et professionnelle d’un nombre croissant de personnes. Leur « bon fonctionnement » est donc vital. La notion de « bon fonctionnement » des ordinateurs et des réseaux de communication se situe à deux niveaux (du point de vue de la sécurité). Elle comprend :

• les obligations légales : la protection des données à caractère personnel (CNIL) ; • les obligations professionnelles : fiabilité, disponibilité, performances, protection des

données (intégrité et confidentialité), protection des accès (authentification), assurance sur l’interlocuteur (authentification, signature…).

La difficulté à respecter cette double exigence s’est accrue dans les années 80, lorsque de plus en plus de systèmes informatiques sont passés en mode réparti (et non plus centralisé), et aussi avec l’explosion d’Internet. Il est clair que les risques augmentent proportionnellement au nombre de connectés au réseaux. La protection totale n’existant pas, il faut définir des politiques de sécurité : quels aspects privilégier et à quels coûts ?

1 Henri Poincaré (1854-1912), célèbre mathématicien et physicien français. 2 Théorie selon laquelle trois corps soumis à l’attraction universelle ont un mouvement lié à leur position de départ. 3 Cryptanalyse : science qui éprouve la valeur d’un algorithme de cryptage en essayant de le casser.

Page 2: SéCurité Fonctions Chaotiques

2

- A quelle politique de sécurité s’appliquent les fonctions chaotiques ? La fonction de sécurité la plus répandue de nos jours est le chiffrement. Pour être efficace, cette fonction de sécurité doit garantir les exigences suivantes : Confidentialité, Authentification, Intégrité et Non Répudiation. Mais les algorithmes de chiffrement actuels (qu’ils soient à clé symétrique ou asymétrique) tels que RSA, DES, ECC, RC4, Cipher (jusqu'à la version 4) ont déjà été cassés et sont donc devenus sans garantie. Certes les algorithmes de remplacement tels que Cipher5 ou AES n’ont pas encore été cassés, mais dès que la prochaine génération de microprocesseur le permettra, ils ne feront pas long feu. En effet, plus les ordinateurs sont puissants, plus la méthode Brute Force est efficace et plus les algorithmes de chiffrement sont vulnérables. La cryptographie chaotique constitue l’une des alternatives développée durant la dernière décennie (avec la cryptographie quantique). La cryptographie quantique, bien qu’incassable, présente un défaut majeur : son coût fait qu’elle ne permet pas de débit à plus de quelques kbits/s. En revanche, la cryptographie chaotique supporte des débits de l’ordre du Gbits/s. C’est donc cette solution qui va être privilégiée dans la plupart des cas. Nous allons maintenant voir comment cette cryptographie chaotique répond aux exigences de sécurité et aux contraintes, à savoir une résistance très grande à la cryptanalyse combinée au maintien de tous les attributs nécessaires aux algorithmes de chiffrement. II] Le chiffrement à l’aide des fonctions chaotiques Le cryptage parfait, selon la théorie de Shannon, serait celui où il existerait autant de clés que de messages à communiquer. Mais cette solution s’avère trop gourmande en ressources (en effet il y aurait autant de clés que de données). D’où l’intérêt de la nouvelle solution apportée par les fonctions chaotiques qui permet de créer des clés petites, mais non répétitives. L’idée de départ de l’utilisation des fonctions chaotiques est très bien illustrée par le postulat de Lorenz. Un système à comportement chaotique est d’ailleurs appelé système de Lorenz. Ce type de système est extrêmement sensible aux conditions initiales. Un système dynamique à comportement chaotique donnera ainsi des trajectoires totalement différentes pour deux ensembles de valeurs initiales très proches. Les prévisions de trajectoire sont donc virtuellement impossibles, la cryptanalyse1 ne pouvant pas casser les chiffrements chaotiques en se basant sur une éventuelle répétitivité du signal transmis. Avant de voir comment est appliquée la cryptographie par chaos dans les transferts numériques, une description mathématique est nécessaire.

1) Les fonctions chaotiques

Comme déjà signalé, les fonctions chaotiques ont un comportement virtuellement imprévisible à moins de connaître l’état initial et la fonction d’évolution. Comment une fonction non déterministe peut-elle être utilisée pour des fonctions de sécurité ? Il est important d’abord de distinguer deux types d’actions chaotiques : d’une part, les fonctions purement chaotiques qui ne sont aucunement modélisables dans le temps et qui produisent le signal que l’on appelle en physique communément « bruit blanc », et d’autre part les fonctions chaotiques déterministes. Ces dernières sont modélisables par des systèmes

Page 3: SéCurité Fonctions Chaotiques

3

d’équations. Le système d’équation qui modélise un comportement chaotique déterministe est appelé système dynamique non linéaire. C’est cette non linéarité qui rend le comportement chaotique imprévisible à un œil extérieur (par exemple une attaque de type man in the middle). Pour simplifier les explications, nous allons aborder le problème sous un angle mathématique. A chaque système dynamique, linéaire ou non, est associée une trajectoire. Ce qui distingue les systèmes dynamiques linéaires des systèmes dynamiques non linéaires sont leurs différents attracteurs. Un attracteur est l’ensemble des points de l’espace vers lequel convergent toutes les trajectoires du système dynamique. Dans un système linéaire, les attracteurs sont faciles à modéliser. Il est donc possible d’obtenir l’ensemble des points de convergence du système et de prédire les évolutions. En matière de sécurité, cela signifie qu’il est possible, au bout d’un certain temps, de déchiffrer un message chiffré par une fonction issue d’un système dynamique linéaire. C’est cette prédictibilité qui a rendu caduque l’utilisation du chiffrement par de tels systèmes comme moyen de sécurité. En revanche, les systèmes dynamiques non linéaires ont des attracteurs sous forme de fractales. Ce type particulier d’attracteur rend l’évolution des trajectoires totalement dépendante des conditions initiales, il est donc impossible, sans les connaître, de prédire les trajectoires de fonctions issues d’un tel système. De plus, les trajectoires d’un tel système sont infinies. Donc, même en y passant beaucoup de temps et en essayant de déduire l’état initial par comparaison des évolutions, il est impossible de les prédire. Les trajectoires d’un système dynamique non linéaire sont en apparence aléatoires, ce qui rend la sécurité quasi-totale. Maintenant que nous avons vu pourquoi les fonctions chaotiques déterministes sont imprévisibles, nous allons voir comment on peut les utiliser dans une perspective de sécurité. Si de telles fonctions sont imprévisibles, comment est-il possible de déchiffrer un message qui aurait été codé par une telle fonction ?

2) Utilisation des fonctions chaotiques

Les fonctions chaotiques possèdent de nombreuses utilisations potentielles, mais pour l’instant encore peu d’utilisations réelles. Nous présenterons seulement leurs utilisations en matière de sécurité des réseaux de communication numériques et informatique, et nous laisserons de côté toutes les utilisations en sciences du vivant, en physique (optique surtout) ainsi que la compression par fonctions chaotiques. En matière de sécurité, l’utilisation principale des fonctions chaotiques est liée à la cryptographie. Ces usages sont encore pour la plupart au stade expérimental, mais ils obéissent à peu près tous aux principes suivants :

- choix d’une fonction chaotique de chiffrement ; - superposition du signal chaotique au flux de données transmises ; - le récepteur soustrait le bruit chaotique au signal (il connaît les caractéristiques

du générateur de chaos et est donc à même de recréer la composante chaotique du signal).

La grande difficulté pour la mise en place d’un tel système réside dans la synchronisation des deux interlocuteurs. En effet, afin de ne pas influer sur les conditions initiales de la fonction

Page 4: SéCurité Fonctions Chaotiques

4

chaotique4, l’émetteur et le récepteur doivent être identiques (au niveau du chiffrement). La moindre désynchronisation entraîne la création d’une mauvaise composante chaotique de déchiffrement et rend le message illisible. Il est donc crucial de bien choisir la fonction chaotique de chiffrement. En effet, si l’on prend une fonction chaotique au sens large, elle ne sera pas reproductible du tout par le récepteur et ce dernier ne pourra pas filtrer le bruit induit. Il faut donc choisir une fonction chaotique déterministe, c'est-à-dire une fonction chaotique modélisable. Dans la pratique, les fonctions les plus utilisées sont les suites chaotiques ou bien les dérivées chaotiques5. Une fois que l’on s’est assuré de la reproductibilité de la fonction chaotique, la superposition du bruit chaotique au signal transmis est triviale. Mais il reste encore à synchroniser le récepteur. C’est en 1990, suite aux travaux de T. Carroll et L. Pecora (Synchronization in chaotic systems) que sont apparues les premières méthodes de synchronisation entre deux interlocuteurs à comportement chaotique. Il existe plusieurs méthodes de synchronisation d’interlocuteurs à comportement chaotique. Nous allons essayer d’expliquer le fonctionnement des principales (nous n’étudierons pas les méthodes par retour négatif ni à conduite sporadique).

2.1) La méthode Caroll et Pécora

Cette méthode repose sur le principe que chaque système chaotique possède au moins un exposant de Lyapunov et est instable. Il est donc impossible de synchroniser tels quels deux systèmes chaotiques. Or, deux systèmes chaotiques sont dits synchrones s’ils sont asymptotiquement identiques quand t tend vers l’infini. Pour ce faire, il est nécessaire de placer l’émetteur en maître du récepteur, afin qu’il force la synchronisation du récepteur. Il est aussi nécessaire de scinder le système maître en deux sous-systèmes en répartissant les variables dynamiques dans les deux sous-systèmes, puis de les mettre en cascade. Soit :

)(.

uFu = avec u(t) = ( u1(t), ……., un(t) ) et F(u) = ( F1(u), ………, Fn(u) ).

On scinde ce système en deux sous-systèmes ),(1

.

yxGx = et ),( 1

.yHy x=

avec x(t) = ( u1(t), ……., um(t) ) = ( x1(t), ……., xm(t) ) et y(t) = ( um+1(t), ……., un(t) ) = ( y1(t), ……., yp (t) ) tels que m+p=n. 4 Conditions très sensibles comme nous l’avons vu dans l’introduction. 5 Confer le système de Lorenz.

Page 5: SéCurité Fonctions Chaotiques

5

Nous obtenons donc l’équivalence suivante :

Ensuite nous dupliquons ces deux sous-systèmes et nous les mettons en cascades, soient ^G et

^H ces deux sous-systèmes. Il faut synchroniser le signal )(1

^ty avec le signal )(1 ty . Voici le

système que nous obtenons.

Si l’on considère l’ensemble du système comme étant un système unique, on peut réaliser une synchronisation par cascade. Il faut en effet que les exposants de Lyapunov du sous-système

^G soient négatifs, or ce dernier est guidé par la fonction )(1 ty donc )(1 tx et )(1

^tx se

synchronisent. Le sous-système^

H peut alors être synchronisé par cascade. En effet la stabilité obtenue par la synchronisation du système ^

G est suffisante pour entraîner la synchronisation de ce dernier (sous réserve bien sûr que les conditions initiales des systèmes maîtres et esclaves soient identiques)

Page 6: SéCurité Fonctions Chaotiques

6

2.2) La méthode par décomposition active-passive Cette méthode introduite par L. Kocarev et U. Parlitz, utilise un système chaotique autonome et le transforme en système chaotique non autonome.

Posons ))(,(.

tsxfx = , avec s(t) une porteuse quelconque d’ordre )(xhs = ou )(.

xhs = . La synchronisation se fait entre x et une réplique (signal réponse) sur la même porteuse s(t). x(t) bien sûr peut avoir un comportement chaotique vu qu’il est sur une onde chaotique (s(t)). Prenons un exemple basé sur un système de Lorenz :

zxyz

xzyxy

tsxx

666.2

28

)(10

.

.

.

−=

−−=

+−=

Avec pour porteuse s(t)=h(x)=10y, grâce à une fonction de Lyapunov, le réplique se synchronise avec son signal source, quelle que soit la porteuse choisie. On voit donc qu’avec cette méthode, il est possible de choisir un nombre infini de porteuses ou de fonctions h(x), alors que la première méthode (Caroll et Pécora) ne permettait qu’un nombre fini, et même restreint, de décompositions en sous-systèmes. Ce qui rend cette méthode beaucoup plus flexible et puissante que la précédente.

III] Avantages et limites de la cryptographie par fonction chaotique Bien implémenté (les fonctions chaotiques choisies sont très importantes) le chiffrement par fonctions chaotiques offre une sécurité supérieure à tous les algorithmes actuels tout en conservant des débits très élevés (des tests ont été réalisés jusqu’à 3Gbits/s). En effet, les ordinateurs évoluant très rapidement, leur puissance de calcul leur permettra d’ici peu de casser les algorithmes actuellement résistants (les chiffrement les plus coriaces qui ont cédé à la cryptanalyse nécessitent quand même plus de 20 ans de calcul pour le déchiffrement). La cryptographie par fonction chaotique est beaucoup plus puissante que tous les chiffrements actuels. De par la nature non déterministe de son générateur de clé, il est virtuellement impossible de craquer un chiffrement par chaos. La principale limite de la cryptographie par fonction chaotique est la complexité de cette méthode. Un tel chiffrement utilise davantage de ressources et de temps d’ordinateur que les chiffrements actuels. Cependant, il n’est pas impossible de poser l’hypothèse que les individus désirant avoir une sécurité de haut niveau possèdent des ordinateurs récents et donc puissants ; la différence d’utilisation de ressources avec les autres algorithmes devient alors peu importante.

Page 7: SéCurité Fonctions Chaotiques

7

Or, il a été démontré sur des machines récentes que la vitesse de codage via la cryptographie par chaos pouvait monter à 3Gbits/s, alors que son principal concurrent, la cryptographie quantique, reste pour l’instant bloqué au niveau du Kbits/s. De plus, contrairement au chiffrement quantique, la cryptographie par fonctions chaotiques ne nécessite pas de changement onéreux de machines - même s’il est vrai que, pour une utilisation plus simple, il est préférable que les récepteurs et émetteurs soient identiques au niveau sécurité du moins. Un autre intérêt de la cryptographie par fonctions chaotiques est la possibilité de sécuriser à haut niveau une communication multipoints, avec un chiffrement unique, rendant ainsi le broadcast crypté beaucoup plus simple à mettre en place. De plus, dans les communications non filaires il est intéressant de noter l’augmentation des canaux disponibles dans le CDMA grâce aux fonctions chaotiques, canaux non seulement plus nombreux mais surtout plus confidentiels du fait de la réduction des chemins multiples, et c’est le point qui nous intéresse sur le plan de la sécurité. IV] Commentaires personnels J'ai volontairement centré cette étude sur le chiffrement, alors que les fonctions chaotiques permettent aussi la non répudiation et l'authentification (chaque utilisateur a son propre signal chaotique) ainsi que l'intégrité d'un message. En effet si ce dernier venait à être altéré le déchiffrement serait alors impossible. Même si ces fonctions découlent du chiffrement par fonctions chaotiques, j'ai décidé de ne pas les développer et de me focaliser sur le principe du chiffrement par fonctions chaotiques. Rédiger cet article sur le chiffrement par fonctions chaotiques m’a beaucoup apporté. Dans un premier temps, j’ai été convaincu par le chiffrement chaotique, même si certains aspects techniques me gênaient. Après y avoir davantage travaillé, j’ai eu davantage de doutes sur la pertinence du chiffrement par fonction chaotique. Pour l’instant, le chiffrement par fonctions chaotiques offre une sécurité de haut niveau mais elle n’est pas absolue. En effet, dès lors que nous posons des algorithmes de chiffrement, nous diminuons la dimension de l’espace chaotique et, de ce fait, nous augmentons l’importance des « points invariants » (points très stables). Lorsque ces points très stables ont une pondération suffisante, il existe alors des mini-trajectoires cycliques. Le chiffrement n’est alors plus totalement aléatoire et devient partiellement prévisible. Bien sûr, ces mini-trajectoires sont peu nombreuses et sur un flot important, elles ne représentent qu’une très faible part des données chiffrées,- une part qui s’avère souvent négligeable dans la plupart des utilisations non critiques. Mais le but de la sécurité est d’être fiable dans toutes les situations. La sécurité ne fonctionne pas selon le postulat « dans le doute je laisse passer » mais selon le postulat inverse « dans le doute je refuse l’accès ». Un autre problème réside dans l’échange des informations initiales. En effet, à moins de disposer de boîtiers de chiffrement/déchiffrement identiques (configurés au même endroit puis transportés de manière sécurisée chez les différents utilisateurs), il faut communiquer ces informations à l’interlocuteur. Bien sûr, il s’agit d’un simple échange,et il existe des méthodes fiables pour transmettre ces informations, en particulier en utilisant une cryptographie quantique qui est très pratique pour un simple échange d’informations.

Page 8: SéCurité Fonctions Chaotiques

8

L’évolution des approches en chiffrement chaotique dans les prochaines années sera cruciale pour le monde de la sécurité. C’est pourquoi de nombreux laboratoires de recherches partout dans le monde font travailler des équipes sur le sujet. Des chercheurs de l'université de Bar Ilan (Israël) ont ainsi par exemple récemment mis au point une méthode de chiffrement basée sur deux systèmes chaotiques et deux systèmes neuronaux, les systèmes chaotiques générant des clés aléatoires alors que les systèmes neuronaux permettent la synchronisation. Il reste à vérifier si cette méthode est applicable. L’amélioration de la synchronisation constitue un des champs de progrès possibles du chiffrement chaotique. En la rendant plus efficace, il serait possible d’augmenter le nombre de dimensions des fonctions chaotiques utilisées dans le chiffrement. V] Références [1] Wikipedia [2] http://tout-pour-la-science.com/ [3] Projet Transchaos, Lesia-Insa Toulouse, CNRS Télécom, Ircom, MM Fournier-Prunaret, Larger et Quéré [4] www.01net.com [5] Notion de chaos approche dynamique et problème d’identification, Inria, D. Gueguan [6] Méthodes de Cryptographie en Physique Quantique et Physique du Chaos, GTL-CNRS Télécom, MM Larger, Merolla et Goedgebuer [7] Implementing symmetric cryptography using chaos functions, Indian Institute of Technology, MM Bose et Banerjee [8] http://inls.ucsd.edu/ [9] http://www.chaos.umd.edu/ [10] The synchronization of chaotic systems,