SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
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 corps 2. 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.


                                                                                                                 1
- 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 cryptanalyse 1 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


                                                                                                2
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



                                                                                                3
chaotique 4, 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 chaotiques 5. 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 :
    .
u = F (u ) avec u(t) = ( u1(t), ……., un(t) ) et F(u) = ( F1(u), ………, Fn(u) ).

                                                             .                 .
On scinde ce système en deux sous-systèmes x = G ( x, y ) et y = H ( x1 , y )
                                                                         1
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.


                                                                                                4
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 y 1 (t ) avec le signal y1 (t ) . 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 y1 (t ) donc             x1 (t ) et x1 (t ) 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)




                                                                                                       5
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 x = f ( x, s (t )) , avec s(t) une porteuse quelconque d’ordre s = h(x) ou s = h( x) . 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 :
.
x = −10 x + s (t )
.
y = 28 x − y − xz
.
z = xy − 2.666 z

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.




                                                                                              6
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.




                                                                                                  7
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,




                                                                                             8

Contenu connexe

Tendances

[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
Insight Technology, Inc.
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
オラクルエンジニア通信
 

Tendances (20)

Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]
Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]
Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]
 
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
 
Revista Prosoft
Revista ProsoftRevista Prosoft
Revista Prosoft
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
 
collection framework in java
collection framework in javacollection framework in java
collection framework in java
 
Analysis of Database Issues using AHF and Machine Learning v2 - AOUG2022
Analysis of Database Issues using AHF and Machine Learning v2 -  AOUG2022Analysis of Database Issues using AHF and Machine Learning v2 -  AOUG2022
Analysis of Database Issues using AHF and Machine Learning v2 - AOUG2022
 
Parallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQLParallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQL
 
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
 
Threads in Java
Threads in JavaThreads in Java
Threads in Java
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTS
 
Team Foundation Server入門
Team Foundation Server入門Team Foundation Server入門
Team Foundation Server入門
 
Oracle DB 19c: SQL Tuning Using SPM
Oracle DB 19c: SQL Tuning Using SPMOracle DB 19c: SQL Tuning Using SPM
Oracle DB 19c: SQL Tuning Using SPM
 
Sublime text 極速應用教學
Sublime text 極速應用教學Sublime text 極速應用教學
Sublime text 極速應用教學
 
Interpreter Design Pattern
Interpreter Design PatternInterpreter Design Pattern
Interpreter Design Pattern
 
Analysis of Database Issues using AHF and Machine Learning v2 - SOUG
Analysis of Database Issues using AHF and Machine Learning v2 -  SOUGAnalysis of Database Issues using AHF and Machine Learning v2 -  SOUG
Analysis of Database Issues using AHF and Machine Learning v2 - SOUG
 
Oracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub ImplementationOracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub Implementation
 
Same plan different performance
Same plan different performanceSame plan different performance
Same plan different performance
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応
 

Similaire à SéCurité Fonctions Chaotiques

Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
Le paradigme cybernétique et systémique, Introduction aux théories de la comm...Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
Amar LAKEL, PhD
 
Etude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signatureEtude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signature
Yassine Nasser
 

Similaire à SéCurité Fonctions Chaotiques (20)

Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
Le paradigme cybernétique et systémique, Introduction aux théories de la comm...Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
Le paradigme cybernétique et systémique, Introduction aux théories de la comm...
 
Sécurité Des Nanomachines
Sécurité Des NanomachinesSécurité Des Nanomachines
Sécurité Des Nanomachines
 
CyberséCurité Et Vie PrivéE
CyberséCurité Et Vie PrivéECyberséCurité Et Vie PrivéE
CyberséCurité Et Vie PrivéE
 
Protocoles d'acces aleatoires
Protocoles d'acces aleatoiresProtocoles d'acces aleatoires
Protocoles d'acces aleatoires
 
Quelques
QuelquesQuelques
Quelques
 
Cryptologie
Cryptologie Cryptologie
Cryptologie
 
On the Dynamics and Synchronization of a Class of Nonlinear High Frequency Ch...
On the Dynamics and Synchronization of a Class of Nonlinear High Frequency Ch...On the Dynamics and Synchronization of a Class of Nonlinear High Frequency Ch...
On the Dynamics and Synchronization of a Class of Nonlinear High Frequency Ch...
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Baromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdfBaromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdf
 
MasterClass Intelligence Artificielle et Sécurité FIC 2019
MasterClass Intelligence Artificielle et Sécurité FIC 2019MasterClass Intelligence Artificielle et Sécurité FIC 2019
MasterClass Intelligence Artificielle et Sécurité FIC 2019
 
8-securite_reseaux.pdf
8-securite_reseaux.pdf8-securite_reseaux.pdf
8-securite_reseaux.pdf
 
Etude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signatureEtude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signature
 
TliliLynda.pdf
TliliLynda.pdfTliliLynda.pdf
TliliLynda.pdf
 
Ch1
Ch1Ch1
Ch1
 
Gestion des vulnérabilités dans l'IoT
Gestion des vulnérabilités dans l'IoTGestion des vulnérabilités dans l'IoT
Gestion des vulnérabilités dans l'IoT
 
Notes
NotesNotes
Notes
 
SSL.pdf
SSL.pdfSSL.pdf
SSL.pdf
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphia
 
Transvision 2014 - projections algorithmiques
Transvision 2014  - projections algorithmiquesTransvision 2014  - projections algorithmiques
Transvision 2014 - projections algorithmiques
 

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 corps 2. 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. 1
  • 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 cryptanalyse 1 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 2
  • 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 3
  • 4. chaotique 4, 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 chaotiques 5. 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 : . u = F (u ) avec u(t) = ( u1(t), ……., un(t) ) et F(u) = ( F1(u), ………, Fn(u) ). . . On scinde ce système en deux sous-systèmes x = G ( x, y ) et y = H ( x1 , y ) 1 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. 4
  • 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 y 1 (t ) avec le signal y1 (t ) . 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 y1 (t ) donc x1 (t ) et x1 (t ) 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) 5
  • 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 x = f ( x, s (t )) , avec s(t) une porteuse quelconque d’ordre s = h(x) ou s = h( x) . 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 : . x = −10 x + s (t ) . y = 28 x − y − xz . z = xy − 2.666 z 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. 6
  • 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. 7
  • 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, 8