Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR EXCHANGING KEYS BY INDEXATION IN A MULTIPATH NETWORK
Document Type and Number:
WIPO Patent Application WO/2009/077598
Kind Code:
A1
Abstract:
Method making it possible to generate encryption keys and to exchange the parameters making it possible to generate said keys in a network comprising n entities X wishing to exchange data, characterized in that it comprises at least the following steps: o the n entities elect a common generator of arrays (G M (λ)), o at least one of the entities X communicates these values (λ i) via several different routing paths Ci, plus a reference random number N x, N y, o each entity X, Y generates an array T s, o each entity X, Y composes a secret key on the basis of the array (T s) generated and on the basis of several values indexed by several pairs ((i, j),(k,l);...;(o, p)) of said array so as to create its secret value, o the encrypted random number of a first entity X is returned to a second entity Y, one of the n entities X, Y at least compares the consistency of the two values N x after decryption with its own key Kxs.

Inventors:
GRALL ERIC (FR)
SINTES NICOLAS (FR)
Application Number:
PCT/EP2008/067923
Publication Date:
June 25, 2009
Filing Date:
December 18, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THALES SA (FR)
GRALL ERIC (FR)
SINTES NICOLAS (FR)
International Classes:
H04L9/08
Foreign References:
US20070014400A12007-01-18
US20020106087A12002-08-08
US4802220A1989-01-31
Other References:
SCHNEIER B ED - SCHNEIER B: "Applied Cryptography, PASSAGE", APPLIED CRYPTOGRAPHY : PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C, NEW YORK, NY : JOHN WILEY & SONS, US, 1 January 1996 (1996-01-01), pages 518 - 520, XP002309845, ISBN: 978-0-471-12845-8
JOHN CLARK; JEREMY JACOB, A SURVEY OF AUTHENTICATION PROTOCOL LITERATURE, November 1997 (1997-11-01)
Attorney, Agent or Firm:
DUDOUIT, Isabelle et al. (22 avenue Aristide Briand, Arcueil Cedex, FR)
Download PDF:
Claims:

REVENDICATIONS

1 - Procédé permettant de générer des clés de chiffrement et d'échanger les paramètres permettant de générer lesdites clés dans un réseau comprenant n entités X souhaitant échanger des données caractérisé en ce qu'il comporte au moins les étapes suivantes :

• les n entités élisent un générateur de tableaux ( G M (A) ) commun, ledit tableau étant défini comme une fonction dépendante d'un ensemble de paramètres (A 1 ) où la valeur A 0 est désignée comme la valeur initiale x o et au moins une des entités X communique ces valeurs (A 1 ) via plusieurs chemins Ci différents de routage, plus un aléa de référence λ/*, λ/ Y vers une autre entité Y avec laquelle elle souhaite échanger des informations,

• chaque entité X, Y génère un tableau T s de dimension mxm à partir du générateur à valeurs A 1 , en découpant les résultats du générateur en blocs de k bits Avec x } = T k (G 14 (A)) et T s = [ Xj \ où r, (G 14 (A)) définit la fonction de formatage en blocs de k bits du tableau τ s

• chaque entité X, Y compose une clé secrète à partir du tableau (T s ) généré et à partir de plusieurs valeurs indexées par plusieurs couples {{i, j},{k,l},...;{o,p)) dudit tableau afin de créer sa valeur secrète κ x s

via une fonction H tel que κ x s = n{{i,j},{k,l);...;{o,p)),

κ Y s = H (( / J) ; (* , / } ,...; ( » >/ » )) .

• les couples d'indexation choisis pour générer la clé secrète sont choisis par l'entité X, Y ou transmis par une entité via les N différents chemins de routage, afin de permettre à une entité Y, X de construire le même élément secret ( K s ),

• l'aléa d'une première entité X est retournée à une deuxième entité Y, l'aléa étant chiffré par la clé de la deuxième entité, Y communique à l'entité X l'aléa ou « nonce » référencé N x chiffrée par sa clé

K ¥ s , et/ou X communique à l'entité Y son aléa λ/ γ chiffré par la clé

K x s générée par X,

• une des n entités X, Y au moins compare la cohérence des deux valeurs N x après déchiffrement avec sa propre clé K x s .

2 - Procédé selon la revendication 1 , caractérisé en ce que les valeurs des paramètres (A 1 ) sont choisies par une seule entité A et en ce que les couples d'indexation sont transmis par cette même entité A vers les autres entités du réseau et en ce que l'entité A génère sa valeur secrète ( ^ A s ) via une fonction H tel que K A s = n{{i, j);{k,l},...;{o, p)) :

• l'entité A communique les couples d'indexation choisis via les N différents chemins de routage afin de permettre à l'entité B de construire le même élément secret (K s ) :

• Chemin 1 (de A vers B) : le couple (/, j) ,(L1 , C1 ) • Chemin 2 (de A vers B) : le couple (jt,/),(L2, C3)

• Chemin N+7 (de A vers B) : le coup\e(o,p), (Li, Cj)

• l'entité B crée sa clé secrète K B S = u((i, j},(k,l);...;(o,p)) à partir des paramètres d'indexation récupérés, puis communique à l'entité A l'aléa ou « nonce » référence N A chiffrée par sa clé K B S ,

• l'entité A compare la cohérence des deux valeurs N A après déchiffrement avec sa propre clé K S A .

3 - Procédé selon la revendication 1 , caractérisé en ce que pour deux entités A, B échangeant des informations, le procédé comporte les étapes suivantes : le choix des paramètres, c'est-à-dire soit les paramètres! du générateur G M (A) de tableau est partagé entre lesdites entités A, B ; échanger lesdits paramètres en utilisant n chemins distincts : o Chemin 1 (de A vers B) : les valeurs N A ,A 1 ,

o Chemin 2 (de A vers B) : les valeurs N A2 , o .... o Chemin n-1 (de B vers A) : les valeurs N B ,A n , o Chemin n (de B vers A) : les valeurs N B ,A n , - l'entité B retourne le Nonce N A de l'entité A, A en retour, communique à l'entité B le nonce référence N chiffrée par sa clé K A S ,

- l'entité B compare la cohérence des deux valeurs N B après déchiffrement avec sa propre clé K B S .

4 - Procédé selon la revendication 1 , caractérisé en ce que l'échange entre deux entités comprend les étapes suivantes : l'entité A communique une partie des couples d'indexation C A = {{i, j);{k,l},...;{o,p)) , et l'entité B lui communique une autre partie

C B = {{q,r},{s,t);...;{u,v)) , le calcul de la clé secrète entre les deux parties est effectué par l'application de la fonction H sur la totalité des couples d'indexation choisis par les deux entités: K s = H((ï, j);{k,l),...;{o, p);{q,r);{s,t);...;{u,v)) . o Chemin 1 (de A vers B) : valeur (/, j) , o Chemin 2 (de A vers B) : valeur (k,l), o o Chemin m (de A vers B) : valeur (o,p) o Chemin m+1 (de B vers A) : valeur {q,r), o .... o Chemin n (de B vers A) : valeur (w,v) .

5 - Procédé selon l'une des revendications 1 à 4, caractérisé en ce que le réseau comporte N entités et les échanges sont effectuées en « multicast » ciblant les entités devant créer le secret commun en groupe de confiance.

6 - Procédé selon l'une des revendications 1 à 5, caractérisé en ce que les valeurs des paramètres λ sont projetées vers un ensemble équivalent en utilisant une fonction sécurisée possédant des propriétés cryptographiques telles qu'un attaquant ne puisse recalculer les valeurs des paramètres initiaux.

7 - Procédé selon l'une des revendications 1 à 5, caractérisé en ce que l'on utilise pour le générateur de tableau un des générateurs pris dans la liste suivante : la transformée de Mojette, une équation chaotique de type Chua ou Lorentz, un générateur basé sur une équation polygonale de type correcteur d'erreurs.

8 - Procédé selon l'une des revendications 1 à 7, caractérisé en ce que la fonction H est une fonction de hachage ou une fonction de concaténation.

9 - Procédé selon l'une des revendications 1 à 8, caractérisé en ce qu'il utilise une fonction redondante comme fonction de projection.

10 - Procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il est appliqué dans un sous réseau IP, et en ce que le format du protocole est défini comme suit :

Identifiant Trame : ESG, (ESG : Echange de Secret par Générateur) Identifiant du générateur : IG Identifiant de la fonction de projection (option) : IPHY Valeur du Nonce : No

Identifiant des champs du générateur : IDP

Les données : Data, Valeurs du paramètre segment (Paramètres X 1 ou S 1 ).

Description:

PROCEDE POUR ECHANGER DES CLES PAR INDEXATION DANS UN

RESEAU MULTI CHEMIN

L'invention concerne un procédé et système permettant de générer des clés de chiffrement dans un réseau de communication et d'échanger des clés par indexation dans un réseau multi chemin.

Elle est notamment utilisée dans les réseaux ad hoc, réseau dont la configuration des nœuds peut évoluer dans le temps. Le principe est applicable sur tous les types de réseau pouvant héberger du routage multi-chemin. Elle est utilisée, par exemple, dans les réseaux maillés plus connus sous l'acronyme anglo-saxon Mesh, les réseaux IP de type MPLS abréviation anglo-saxonne de Multi-Protocol Label Switching. La dispersion des éléments ne dépend que du principe de distribution des éléments sur plusieurs routes.

Différentes méthodes sont connues pour remédier au problème de la sécurité lors d'échanges de données entre plusieurs utilisateurs, ou encore entre un utilisateur et un système, ou encore entre deux systèmes. Les réseaux concernés sont des réseaux fixes ou des réseaux Ad hoc. Pour mémoire, les réseaux Ad hoc sont formés via l'auto configuration des tables de routage de chacun des nœuds communicants faisant partie intégrante du réseau.

Dans un réseau fixe, le problème de la sécurité est généralement résolu via des systèmes d'infrastructures de gestion de clés (connus sous l'abréviation IGC) permettant le partage d'une clé symétrique ou d'un certificat (clé asymétrique) entre les entités du réseau communicant. Cette généralisation n'est pas toujours souhaitable vue la complexité de mise en œuvre d'une infrastructure de type IGC. Dans ce contexte, la sécurisation d'un canal entre deux utilisateurs doit pouvoir faire face à un nombre important d'attaques sans l'aide externe d'une IGC.

Dans un réseau ad hoc, le problème est d'autant plus important que la notion d'infrastructure de clés est pratiquement inexistante du fait même de la

mobilité et de la volatilité de la topologie ad hoc. En effet, un réseau ad hoc est un réseau dans lequel le routage des informations est effectué par les nœuds composant le réseau. Il n'existe donc pas d'infrastructures fixes de routage permettant la connaissance de la topologie globale du réseau. Chacun des nœuds du réseau se comporte comme un routeur avec ces nœuds voisins. Dans ce cadre, les problèmes techniques à résoudre sont de plusieurs ordres, par exemple : o chacun des nœuds doit pouvoir, à un instant donné, connaître une partie de la topologie du réseau afin de pouvoir communiquer avec un nœud destinataire. Ce problème est résolu en partie par des protocoles dit proactifs et réactifs, ces termes étant connus de l'Homme du métier. o la confiance dans le réseau est un des problèmes majeurs dans le cadre des réseaux ad hoc. En effet, les informations de routage, et les informations utilisateurs circulent via des nœuds de communication privés, donc avec un niveau de confiance nul. Le réseau Ad hoc étant par nature mobile, aucun système de confiance basé sur la centralisation d'informations tel qu'une infrastructure de clés publiques ne peut être réalisé dans ce contexte. En effet, la validation doit être effectuée par le système de confiance.

Dans le cas d'un réseau fixe, pour résoudre le problème de sécurité lors d'échanges de données, il est connu d'utiliser le protocole d'échange de clés IKE (abrégé Internet Key Exchange), qui permet le partage d'un secret commun afin de sécuriser l'échange entre deux entités. Ce protocole est décrit par le RFC 2409 de I 1 I ETF disponible à l'adresse Internet www.ietf.org/rfc/rfc2409.txt. Les inconvénients du standard IKE sont de plusieurs sortes : o d'une part la longueur des échanges entre les deux partenaires qui occasionne une surcharge dans la bande passante du réseau, o d'autre part, il ne permet la vérification du secret qu'à partir d'une clé ou d'un certificat pré partagé via un moyen organisationnel hors communication,

o de plus, ce protocole n'est pas adapté à une gestion d'un réseau ad hoc et est donc vulnérable à une attaque de type MIM (Men In The Middle).

Un système bancaire peut utiliser un principe de masques jetables, construits par des valeurs dans un tableau, et servant à la création d'un mot de passe via la mise en relation de leurs coordonnées (connu sous l'abréviation anglo-saxonne « One Time Pad ou Masque Jetable »). Le procédé est utilisé de manière statique, et ne permet pas toujours d'atteindre des niveaux de sécurité requis par certaines applications. Malgré tous les avantages qu'ils procurent, les systèmes et les procédés selon l'art antérieur présentent les inconvénients suivants :

• dans le cas du tableau de valeur mis en œuvre dans le domaine bancaire, ce tableau est statique et ne peut donc être régénéré à chacune des sessions. De plus, la taille du tableau de valeurs est relativement petit et ne permet pas la formation d'éléments secrets de forte sécurité.

• cet état de l'art permet de partager un secret entre deux entités d'un réseau fixe, via une liaison simple de routage. Par contre ce secret est validé par le chiffrement et la vérification du dit secret par une clé pré partagée (PSK - Pre-Shared Key) ou par un certificat fourni par une infrastructure de gestion de clés (IGC ou Public Key Infrastructure, PKI).

L'invention décrite ci-après repose sur un principe de définition d'une clé secrète ou clé de session (contexte symétrique) commune, en considérant la capacité du réseau à offrir plusieurs chemins de routage entre au moins deux entités communicantes.

L'invention concerne un procédé permettant de générer des clés de chiffrement et d'échanger les paramètres permettant de générer lesdites clés dans un réseau comprenant n entités X souhaitant échanger des données caractérisé en ce qu'il comporte au moins les étapes suivantes :

• les n entités élisent un générateur de tableaux (G M (A) ) commun, ledit tableau étant défini comme une fonction dépendante d'un

ensemble de paramètres (A 1 ) où la valeur A 0 est désignée comme la valeur initiale * o et G M (à) = f(A n , x 0 ) = f(A n ) = f(à);

• au moins une des entités X communique ces valeurs ( A 1 ) via plusieurs chemins Ci différents de routage, plus un aléa de référence N*, λ/ γ vers une autre entité Y avec laquelle elle souhaite échanger des informations,

• chaque entité X, Y génère un tableau T s de dimension mxm à partir du générateur à valeurs A 1 , en découpant les résultats du générateur en blocs de k bits Avec x } = T k (G M (λ)) et T s = [JCJ où Y k (G M (λ)) définit la fonction de formatage en blocs de k bits du tableau T s

• chaque entité X, Y compose une clé secrète à partir du tableau (T s ) généré et à partir de plusieurs valeurs indexées par plusieurs couples ((i, j},(k,l},...;(o,p)) dudit tableau afin de créer sa valeur secrète K x s via une fonction H tel que :

K X S = κ((i,j},(k,l},...;(o,p)) , K Y S = u((i,j}, (k,l},...;(o,p))

• les couples d'indexation utilisés pour générer la clé secrète sont choisis par l'entité X, Y ou transmis par une entité via les N différents chemins de routage, afin de permettre à une entité Y, X de construire le même élément secret ( K s ),

• l'aléa d'une première entité X est retournée à une deuxième entité Y, l'aléa étant chiffré par la clé de la deuxième entité, Y communique à l'entité X l'aléa ou « nonce » référencé N x chiffrée par sa clé K ¥ s , et/ou X communique à l'entité Y son aléa λ/ γ chiffré par la clé K x s générée par X,

• une des n entités X, Y au moins compare la cohérence des deux valeurs N x après déchiffrement avec sa propre clé K x s .

D'autres caractéristiques et avantages apparaîtront à la lecture de la description détaillée donnée à titre d'exemple et non limitative qui suit faite en regard de dessins annexés qui représentent : o La figure 1 , un tableau de valeurs générées par un générateur au niveau d'une première entité échangeant des informations avec une deuxième entité, o La figure 2, l'indexation des valeurs pour la composition de la clé ou secret, o La figure 3, un exemple de réseau multi chemins, avec une première entité A communiquant avec une deuxième entité B, o La figure 4, l'envoie des paramètres du générateur G M de l'entité A vers l'entité B en utilisant plusieurs chemins, o La figure 5, la communication des couples d'indexation de l'entité A vers l'entité B, par les différents chemins, o La figure 6 une variante de la figure 5 dans laquelle les couples d'indexation sont transmis pour une partie par l'entité A et pour l'autre partie par l'entité B, o La figure 7 le protocole d'échange mis en oeuvre pour n entités, et o La figure 8, le format du protocole IP.

En résumé, le protocole de génération et d'échanges de clés selon l'invention consiste notamment à échanger des paramètres permettant de générer de manière dynamique un tableau de valeurs servant à créer un élément secret entre deux entités, la génération de tableaux étant effectuée au niveau de chacune des entités amenées à échanger des informations entre elles de manière sécuritaire.

Le procédé selon l'invention concerne donc un protocole d'échange de clés secrètes mettant en œuvre un mécanisme de distribution de générateurs de tableaux désigné {G M {λ) ) entre deux ou plusieurs entités afin que chacune des entités puissent former un tableau appelé [T s ). A partir de ce tableau {T s ), les entités vont alors composer un secret commun via l'échange de

couple d'index (correspondant à une colonne/ligne) du tableau (T s ), par exemple l'ensemble de couples {(i, j},(k,l},...;(o,p)} afin de créer unitairement une clé secrète symétrique entre les deux entités qui servira au chiffrement du canal de communication. Le générateur sera défini par une opération mathématique à coefficients (A 1 ), par un mécanisme d'indexation permettant un choix de plusieurs valeurs dans un tableau dynamiquement créé par le générateur (G M {λ) ), et par une opération de génération d'un secret à base des valeurs du tableau choisies précédemment. Les figures 1 , 2, 3, 4 et 5 illustrent une mise en œuvre du procédé selon l'invention.

Une entité qui va mettre en œuvre le procédé comporte des moyens d'émission de données, des moyens de réception et un processeur permettant d'exécuter les différentes étapes décrites ci-après pour différents modes de réalisation.

Le procédé utilisé est basé sur la mise en œuvre de plusieurs phases décrites ci-après. Afin de simplifier la compréhension de l'invention, le premier exemple de mise en œuvre du procédé concerne deux entités souhaitant échanger des informations de manière sécurisée. Phase 1

Dans l'exemple de la figure 3, deux entités A et B se mettent d'accord sur le type de générateurs mathématiques. Dans le cadre de cette invention, de nombreuses possibilités peuvent être mises en œuvre pour le générateur (G M (λ) ). La condition nominale pour le choisir est que le générateur doit pouvoir être défini comme une fonction dépendante d'un ensemble de paramètres (A 1 ). Ces générateurs se présenteront sous la forme d'une fonction de plusieurs paramètres (A 1 ) où la valeur A 0 sera désignée comme la valeur initiale ^ 0 et G M (à) = f(à n ,x 0 ) = /(A n ) = f(à);

II est possible d'utiliser comme générateur la transformée de Mojette connue de l'Homme du métier. Cette transformée mathématique de Radon discrète permet de projeter un exemple de données d'un espace de dimension N sur

un espace de dimension N-1. Cette transformée possède les propriétés nécessaires de « morcellement » et de « sécurité » dans le cadre du procédé selon l'invention et de la notion de fantômes associés. Dans le cadre de la transformée de Mojette, un fantôme est défini comme un élément structurant tel que sa projection vis à vis de la transformée de Mojette dans la direction de construction soit nulle. Le principe de fantômes est utilisé dans la présente invention afin de construire des ensembles de projections cohérentes entre elles afin de générer des tableaux parfaitement reconstructibles dans cet ensemble donné. Cela permet donc de disposer d'un système générateur pondéré au sens (A 1 ) par plusieurs fantômes

Mojette afin de construire une base de tableaux prédictibles par Application de la Mojette Inverse. « Réf. O.Philippé, Représentation Multiple de l'Information Mojette, Thèse de doctorat, Sciences pour l'ingénieur, 1995 ». Un autre générateur est basé sur une équation chaotique de type Chua ou Lorentz (Réf. Pierre Berge, Yves Pomeau & Christian Vidal ; L'ordre dans le chaos - Vers une approche déterministe de la turbulence, Hermann -1988). L'oscillateur de Chua est le prototype des oscillateurs électroniques présentant une transition de la périodicité au chaos. Il est basé sur des équations différentielles utilisant des éléments non linéaires dont la transition vers un attracteur étrange ou non asymptotiquement non stable repose sur le choix de plusieurs paramètres.

Une autre possibilité est d'utiliser un générateur basé sur une équation polygonale de type correcteur d'erreurs. Phase 2 Dans la première variante de l'invention, une des deux entités sera maître dans l'échange entre les deux utilisateurs. L'entité A choisira les paramètres du générateur (A 1 ) permettant une génération par le générateur (G M (A) ) de valeurs avec un niveau élevé de sécurité.

Dans le cas du générateur chaotique, ces valeurs correspondront à une génération d'attracteur étrange, donc chaotique ou asymptotiquement non stable. Dans le cas de la transformée Mojette, ces paramètres

correspondront à une séquence de projections « fantômes » permettant de générer des séquences de projections cohérentes.

Phase 3

L'entité A communiquera ces valeurs (X 1 ) via plusieurs chemins Ci différents de routage (figure 5), plus un Nonce (aléa) de référence N A . Les valeurs ( X 1 ) seront soit envoyées directement, soit elles seront projetées vers un ensemble équivalent ( S 1 ) via une fonction ψ tel que S 1 = ψ(λ : ). Cette fonction pourra posséder entre autre, des propriétés de redondance, ou des propriétés de complexité mathématique au sens cryptographique tel qu'un attaquant ne puisse recalculer facilement les valeurs (X 1 ) à partir de l'ensemble ( S 1 ) : S 1 = ψ(λ, ). o Chemin 1 (de A vers B) : les valeurs N A ,X 1 , ou N A ,S 1 o Chemin 2 (de A vers B) : les valeurs N A 2 , ou N A ,S 2 o .... o Chemin n (de A vers B) : les valeurs N A , X n , ou N A , S n

Dans la description, les équations et le protocole seront décrits avec les paramètres X 1 , en considérant que l'utilisation des paramètres S 1 ne sont qu'une généralisation du principe de l'invention. En effet, les paramètres S 1 ne sont que l'ensemble des possibles projections d'une fonction ψ sur les paramètres d'entrée X 1 du générateur G M (X) , avec notamment la fonction unitaire X 1 = S 1 = ^[X 1 ) qui à chaque paramètre^ associe lui-même. L'utilisation des paramètres S 1 via la fonction de projection ψ permet, via une opération supplémentaire dans le protocole S 1 = ψ[X j ), d'ajouter une ou plusieurs propriétés (mathématiques) propres à la fonction de projection ψ au protocole. Phase 4

Les deux entités vont alors générer un tableau (T s ) de dimension mxm

(figure 1 ) à partir du générateur à valeurs (X 1 ), en découpant les résultats du générateur en blocs de /c bits comme ci-après :

avec X 1 = T k (G M (à)) et r. ≈ ^ f , où r k (G M (A)) définit la fonction de formatage en blocs de k bits du tableau T s . Cette fonction étant connue dans le domaine technique de l'invention, elle ne sera pas décrite.

Tableau (TJ

Phase 5

L'entité A va composer une clé secrète à partir du tableau [T 3 ) généré et à partir de plusieurs valeurs indexées par plusieurs couples {{i, j},{k,l},...;{o,p)) du tableau. En considérant le tableau ci-dessus, l'entité A va prendre des couples d'index {{i, j},{k,l},...;{o,p)), correspondant à la ligne et à la colonne du tableau (figure 2) afin de créer sa valeur secrète [K A s ) via une fonction H tel queK A s = H((i, j);(k,l},...;(o,p))

De façon plus générale, la fonction H permet à partir des plusieurs éléments d'entrées de générer un élément de sortie unique (ou à faible valeur d'apparition statistique), ce qui est le cas des fonctions de hachage : u = κ{x; y,...; z) . Dans le cas général, cette fonction H peut être une fonction de hachage de type SHA 256, ou plus simplement une fonction de concaténation. Dans le cas d'un générateur Mojette G M (à) cette fonction H sera une transformée Mojette inverse notée M "1 .

Le tableau II ci-dessous représente les couples choisis

Phase 6

L'entité A va communiquer les couples d'indexation choisis via les N différents chemins de routage (figure 5) afin de permettre à l'entité B de construire le même élément secret ( K s ) :

• Chemin 1 (de A vers B) : le couple (/, j) ,(L1 , C1 )

• Chemin 2 (de A vers B) : le couple (JU),(L2, C3)

• Chemin N+7 (de A vers B) : le coup\e(o,p), (Ln, Cn).

Phase 7

L'entité B va alors créer sa clé secrète K B S = H((i, j},(k,l},...;(o,p)) à partir des paramètres d'indexation récupérés, puis va communiquer à l'entité A l'aléa ou « nonce » référence N A chiffrée par sa clé K B S . L'entité A comparera la cohérence des deux valeurs N A après déchiffrement avec sa propre clé K S A .

S'il y a cohérence entre les deux valeurs, alors la clé secrète générée pourra être utilisée pour chiffrer et sécuriser des échanges de données ou le canal de communication. Le principe peut facilement être adapté afin que les deux entités partagent le choix des paramètres, c'est-à-dire soit les paramètres! du générateur G M (A) . Dans ce cas, il existe une authentification mutuelle entre les acteurs via les aléas ou « Nonces » partagés entre les deux entités :

o Chemin 1 (de A vers B) : les valeurs N ,X 1 , ou N ,S 1 o Chemin 2 (de A vers B) : les valeurs N A ,A 2 , ou N A 2 o .... o Chemin N-1 (de B vers A) : les valeurs N B n ,ou N B n o Chemin N (de B vers A) : les valeurs N B , A n , ou N B , δ n

En effet, à la fin de la mise en œuvre du procédé, de même que l'entité B retourne le Nonce N A de l'entité A, A en retour, communiquera à l'entité B le nonce référence N chiffrée par sa clé K A S . L'entité B comparera la cohérence des deux valeurs N B après déchiffrement avec sa propre clé K B s .

La figure 6 représente une variante de mise en œuvre de l'invention dans laquelle la communication des couples d'indexation définis précédemment s'effectue en partie par l'entité A et pour une autre partie par l'entité B. L'entité A ne communique qu'une partie des couples d'indexation C A = {{i, j);{k,l},...;{o,p)) , et l'entité B lui communique une autre partie C B = {{q,r},{s,t);...;{u,v)) . Cette variante permet à chacune des entités d'être impliquée dans le processus de création de clés. En effet, le calcul de la clé secrète entre les deux parties se fera alors par l'application de la fonction H sur la totalité des couples d'indexation choisis par les deux entités: K s = n{{i, j),{k,l),...;{o, p);{q,r),{s,t),...;{u,v)) .

• Chemin 1 (de A vers B) : valeur (i, j) ,

• Chemin 2 (de A vers B) : valeur (k, l), •

• Chemin m (de A vers B) : valeur (o,p) • Chemin m+1 (de B vers A) : valeur {q,r) ,

• Chemin n (de B vers A) : valeur (u, v) .

La figure 7 représente l'extension du procédé selon l'invention pour un échange entre N unités. La figure 7 illustre le cas où N=3. Les communications ne se feront plus de manière univoque (ou unicast), mais sur des messages (multicast) ciblant les autres entités devant créer le secret commun du groupe de confiance formé par eux. Dans l'exemple présenté figure 7, l'entité A communiquera les valeurs (A 1 ) aux deux autres entités du groupe de confiance, B et C. Dans ce cadre, chacune des entités (A, B, et C) créera ses couples de valeurs et les communiquera à chacune des entités paires (A vers B et C ; B vers A et C ; C vers A et B).

Le procédé décrit ci-avant ne fournit pas de mécanismes de protection particulier, excepté la distribution multichemin, permettant de protéger la communication des paramètres A 1 du générateur entre au moins deux entités. Une variante du procédé consiste à utiliser un principe d'échange à trois passes décrit par SHAMIR dans le livre « Cryptographie Appliqué, B.Schneier, Thomson Publishing, Chap.16, Protocole à trois passes de SHAMIR (Réf. « John Clark and Jeremy Jacob ; A survey of Authentication protocol literature, November 1997 ») avec un algorithme cryptographique commutatif, et une phase de message supplémentaire sera nécessaire en les deux entités par rapport au protocole originel.

En définissant la fonction de projection ψ comme une factorisation modulo p proche de RSA, dans laquelle :

Soit p un grand nombre premier tel que p -\ possède un grand nombre premier. Toutes les entités possèdent une clé de chiffrement et de déchiffrement e et d devant être premier avec p -1 , et ed ≡ 1. La fonction de projection ψ est alors définie comme :

ψ(JC) = / mod p , avec a = c pour l'émission, a = d en réception.

Dans ce contexte, le protocole d'échange peut être défini en suivant un schéma décrit précédemment avec les phases suivantes :

L'entité A communiquera les valeurs S 1 via des différents chemins de routage (figure 4), plus un aléa « Nonce » de référence. Les valeurs S 1 sont les projections via la fonction ψ : S 1 = ψ(λ } )= (A 1 )" mod p ;

• Chemin 1 (de A vers B) : les valeurs N A ,S 1 , avec a = c , • Chemin 2 (de A vers B) : les valeurs N A , S 2 , avec a = c ,

• Chemin n (de A vers B) : les valeurs N A ,S n , avec a = c .

L'entité B projettera les valeurs S 1 avec sa propre fonction ψ définit de la même manière que ci-dessus. On aura les valeurs de projection de B définit par : Co 1 = ψ(S } )= (S ι ) β mod p , avec β = e pour l'émission, β = o en réception.

Puis B va renvoyer ces valeurs ^ vers l'entité A sur des chemins multiples.

• Chemin 1 (de B vers A) : les valeurs N B ω 1 , avec β = e ,

• Chemin 2 (de B vers A) : les valeurs N B 2 , avec β = e ,

• Chemin n (de B vers A) : les valeurs N B n , avec β = e .

L'entité A va déchiffrer les valeurs ω ι avec sa clé a = d , et connaissant les valeurs S 1 , il va pouvoir récupérer la clé de chiffrement e de l'entité B (en effet, les fonctions ψ sont commutatives), et va alors l'utiliser afin de chiffrer les valeurs du générateur A 1 de manière sécurisée :

• Chemin 1 (de A vers B) : les valeurs S 1 , avec a = e ,

• Chemin 2 (de A vers B) : les valeurs S 2 , avec a = e , •

• Chemin n (de A vers B) : les valeurs S n , avec a = e . L'entité B va déchiffrer les valeurs S 1 avec sa clé de déchiffrement β = o , et va récupérer les valeurs A 1 Uu générateur afin de créer le tableau comme décrit dans le protocole originel.

II est aussi possible selon une autre variante de réalisation, de mettre en œuvre des mécanismes de redondance particulière en cas d'interception d'un des paramètres X 1 du générateur entre les deux entités. Dans ce cadre, une variante est de définir en tant que fonction de projection ψ une fonction redondante intégrant des mécanismes de redondance permettant de définir des paramètres S 1 composés à partir des paramètres X 1 . Cela permettra alors aux deux entités de ne devoir récupérer qu'une partie des paramètres S 1 afin de recomposer les paramètres X 1 , et donc de reconstituer le générateur G M (X) . A cet effet, il est possible de citer l'exemple de la transformée Mojette ou du code Reed Solomon, possédant ces propriétés de redondance afin de définir la fonction ψ . Les paramètres S 1 sont alors définis comme : S 1 = ψ(X J ) , avec 0 < j < n et

0 < i < m , tel que une partie k des paramètres S 1 puissent recomposer tous les paramètres X 1 , avec 0 < k < n .

La figure 8 représente le format du protocole dans le cas d'une implémentation du procédé selon l'invention sous un réseau IP sous forme d'une option Ipv4 ou Ipv6. Dans le cadre d'un réseau IP ou équivalent, nous pouvons mettre en œuvre le protocole distribué d'échange de clés en l'intégrant de manière représentative (figure 4) dans la donnée du format du protocole.

Identifiant Trame : ESG, (ESG : Echange de Secret par Générateur)

Identifiant du générateur : IG Identifiant de la fonction de projection (option) : IPHY

Valeur du Nonce : No

Identifiant des champs du générateur : IDP

Les données : Data, Valeurs du paramètre segment (Paramètres X 1 ou S 1 ).

Le procédé et le système selon l'invention présentent notamment les avantages listés ci-après. Cette solution de protocole résout d'une part le

problème de l'obligation de possession d'une clé pré partagée entre les entités communicantes et d'autre part le risque d'attaque MIM (Men In The Middle) liée au partage Diffie-Hellman, en proposant un mécanisme de diffusion d'un générateur de secret {G M {λ) ) sur plusieurs chemins de routage (figure 3), en diffusant le générateur via ces paramètres directeurs sur les différents chemins.

Ce protocole ne nécessite pas de clé ou de certificat pré-partagé entre les deux entités. Chaque entité doit pouvoir recalculer le secret commun à partir d'un ensemble redondant de parties du secret original et vérifier la cohérence de ce secret entre les deux entités.

Ce protocole peut répartir la charge des requêtes de la négociation de clés sur plusieurs chemins. Le protocole lui-même ne prend que deux messages par partenaire (Phase 1 et Phase 2).