• Aucun résultat trouvé

2.4 Autres conversions g´en´eriques

2.1.3 Alternatives ` a RSA

complexit´e. En effet, une source naturelle de fonctions `a sens-unique est la classe des probl`emes N P-complets. Cependant, tout probl`eme N P-complet ne convient pas, car la N P-compl´etude provient des instances difficiles, qui peuvent ˆetre rares. Pour des applications cryptographiques, il faut des probl`emes n’admettant que des instances difficiles (ou tout du moins avec une infime proportion d’instances faciles).

Les probl`emes utilis´es sont alors le probl`eme dusac `a doset le probl`eme dud´ecodage de codes correcteurs d’erreurs lin´eaires al´eatoires. Le premier a conduit `a de nombreuses propositions, `a commencer par Merkle et Hellman [78], mais toutes ont ´et´e cass´ees par la suite. La th´eorie des codes correcteurs d’erreurs a conduit `a une proposition de Mc Eliece [77], peu utilisable pour des raisons d’efficacit´e et de taille.

Il a fallu attendre 1985 pour une r´eelle alternative `a RSA, dans la lign´ee de la proposition de Diffie et Hellman. Elle est venue de El Gamal [39], et est bas´ee sur le probl`eme du logarithme discret qui consiste `a r´esoudre l’´equationy =gx, pour uny donn´e, dans le groupe engendr´e par g. Le chiffrement consiste simplement `a masquer le message avec la cl´e Diffie-Hellmanc=m×K, o`u (a, A) est le couple de cl´es priv´ee/publique du destinataire, et B =gb est transmis avec c.

Cette nouvelle approche est tr`es importante, car finalement assez g´en´erique. En effet, elle ne se limite pas aux sous-groupes cycliques de ?p, les premiers utilis´es, mais `a tout groupe o`u le probl`eme du logarithme discret est difficile. Ainsi, Miller et Koblitz [80,67,68,69] ont sugg´er´e d’utiliser les courbes elliptiques, ainsi que les Jacobiennes de courbes hyper-elliptiques. D’autres structures alg´ebriques plus complexes sont ´egalement sugg´er´ees.

2.2 La cryptographie conventionnelle

Qu’est donc devenue la cryptographie sym´etrique dans tout cela ? En effet, la cryptographie asym´etrique semble beaucoup plus int´eressante, et capable de r´esoudre tous les probl`emes que

l’on se pose. Cependant, son principal inconv´enient r´eside dans son coˆut calculatoire. Comme l’ont d´emontr´e les exemples pr´esent´es pr´ec´edemment, les sch´emas asym´etriques font essentielle-ment appel `a des calculs sur des grands nombres (de 512 bits, `a 1024 bits, voire 2048 bits) et sont donc tr`es consommateurs de puissance de calcul. Ainsi, ne sont-ils pas adapt´es au chiffrement de grosses quantit´es de donn´ees, ou de flux `a haut d´ebit.

La cryptographie conventionnelle n’a par cons´equent pas ´et´e d´elaiss´ee, bien au contraire, puisqu’elle comble parfaitement les lacunes de la cryptographie asym´etrique, avec une efficacit´e et des d´ebits de chiffrement incomparablement plus ´elev´es. Ainsi, en pratique, on chiffre une cl´e de session `a l’aide d’un proc´ed´e asym´etrique, permettant `a l’´emetteur de transmettre un secret

´eph´em`ere `a son destinataire, puis le message ou le flux sont chiffr´es de fa¸con sym´etrique avec ce secret commun (on parle de proc´ed´es de chiffrementhybrides).

3 L’authentification

Les probl`emes de confidentialit´e semblent donc globalement r´esolus, avec le caract`ere pratique du chiffrement asym´etrique, et l’efficacit´e du chiffrement sym´etrique. Qu’en est-il du probl`eme de l’authentification ? Ce dernier est couramment ´etudi´e sous deux aspects : l’authentification interactive (la preuve d’identit´e, pour un contrˆole d’acc`es) et la signature, qui doit satisfaire la propri´et´e de non-r´epudiation.

3.1 Authentification interactive.

La cryptographie sym´etrique permet de remplir cette fonctionnalit´e, en montrant sa capacit´e

`a chiffrer, ´equivalente `a la connaissance de la cl´e secr`ete. Cependant, ceci ne convient qu’entre deux personnes qui poss`edent un secret en commun.

La cryptographie asym´etrique permet de r´esoudre ce probl`eme de fa¸con beaucoup plus

´el´egante. En effet, pour prouver son identit´e, il suffit de prouver sa connaissance de la cl´e priv´ee associ´ee `a sa cl´e publique. En 1985, Goldwasser, Micali et Rackoff [54] ont propos´e une tech-nique g´en´erale de preuve de connaissance d’un secret, sans rien r´ev´eler sur ce secret : les preuves interactives de connaissance zero-knowledge.

L’ann´ee suivante, Fiat et Shamir [41] pr´esentent un protocole efficace de preuve de connais-sance d’une racine carr´ee modulaire. C’est-`a-dire qu’´etant donn´en, un module RSA, et un carr´e y∈ ?n(obtenu par exemple pary=x2modn), un individu qui connaˆıtx, une racine carr´ee de y, peut convaincre interactivement toute personne de sa connaissance de cex, sans ne rien r´ev´eler sur ce dernier. Il est `a remarquer que le calcul d’une racine carr´ee modulaire est ´equivalent `a la factorisation du module.

En 1989, Schnorr [115] pr´esente un protocole efficace de preuve de connaissance d’un loga-rithme discret. Conjointement `a ce protocole d’authentification interactive, Schnorr a propos´e une version non-interactive, conduisant `a un sch´ema de signature.

3.2 Signature num´erique.

Une signature num´erique doit prouver l’identit´e de l’´emetteur d’un message, et garantir la non-r´epudiation. Le cryptosyst`eme RSA permet ´egalement la signature d’un message. En effet, en inversant les m´ecanismes, c’est-`a-dire que le d´echiffrement du message, qui est accessible uni-quement `a qui connaˆıt la factorisation du module, devient le proc´ed´e de signature. En revanche, le chiffrement ´etant public, en chiffrant la signature produite, tout le monde doit retomber sur le message. ´Etant donn´e que seul celui en possession de la cl´e priv´ee peut signer (en raison de la difficult´e du d´ecryptement), une signature valide ne peut ˆetre attribu´ee `a personne d’autre, ce qui garantit la non-r´epudiation. La capacit´e `a d´echiffrer avec RSA prouve la connaissance de la cl´e priv´ee.

Comme fait avec le sch´ema de Schnorr, toute preuve interactive de connaissance peut ˆetre rendue non-interactive, afin de garantir toutes les propri´et´es souhait´ees pour un sch´ema de

4. Les preuves de s´ecurit´e 7

signature. Les ´Etats-Unis ont normalis´e une variante du sch´ema de signature de Schnorr, sous le nom de DSA (Digital Signature Algorithm) [86]. Puis r´ecemment, une norme a adopt´e une version sur les courbes elliptiques [1,87].

4 Les preuves de s´ecurit´e

Malheureusement, bien que ces deux normes reposent sur le logarithme discret, aucune preuve ne garantit qu’un fraudeur n’a d’autre solution que de casser le probl`eme du logarithme discret.

Suite `a de nombreuses attaques de sch´emas (aussi bien de signature que de chiffrement) bas´es sur des probl`emesa priori difficiles, qui exploitaient des faiblesses dans la construction globale, ces derni`eres ann´ees, la tendance g´en´erale des travaux en cryptologie est d’apporter des preuves de validit´e de la construction.

Ainsi, on montre qu’un attaquant, pour effectuer une fraude, n’a pas d’autre moyen que de r´esoudre le probl`eme math´ematique sous-jacent. Pour cela, on pr´esente une r´eduction d’une instance du probl`eme math´ematique en une attaque du syst`eme : un attaquant peut ˆetre utilis´e comme sous-programme pour r´esoudre le probl`eme math´ematique (la factorisation, le logarithme discret, etc).

On tente ainsi de r´epondre de fa¸con effective au principe de Kerckhoffs sur l’inattaquabilit´e mat´erielle, sinon math´ematique . Un certain nombre de sch´emas r´epondent d´ej`a `a ce principe, sous r´eserve de l’impossibilit´e mat´erielle de r´esoudre certains probl`emes bien identifi´es en temps raisonnable.

Remarque 1. Les preuves de s´ecurit´e pour les sch´emas d’authentification (identification inter-active, et signature) ont ´et´e trait´ees dans la th`ese de doctorat [100]. Le pr´esent m´emoire traite essentiellement des preuves de s´ecurit´e pour le chiffrement asym´etrique.

5 Les infrastructures de gestion de cl´es

La combinaison de la cryptographie sym´etrique/asym´etrique r´epond `a de nombreux besoins, notamment sur Internet, d’authenticit´e et de confidentialit´e. Un certain nombre de normes ont d’ailleurs ´et´e ´etablies pour appliquer les techniques de chiffrement et de signature au courrier

´electronique, aux sessions s´ecuris´ees du WEB (SSL, Secure Socket Layer), aux protocoles TCP et IP. Elles n´ecessitent alors la gestion de plusieurs millions de cl´es publiques.

Le statut de la cl´e priv´ee est clair, puisque chaque utilisateur doit la conserver en lieu sˆur.

En revanche, comment lier une cl´e publique `a son propri´etaire ? La r´eponse apport´ee par la cryptographie est la signature : il suffit de faire signer l’ensemble identit´e-cl´e publique par une autorit´e, poss´edant une cl´e publique. Cette derni`ere est elle-mˆeme sign´ee avec l’identit´e de cette autorit´e par une autorit´e sup´erieure, etc. En bout de chaˆıne, on fait appel `a une cl´e publique de niveau hi´erarchique maximal, connue des navigateurs. Cette suite de signatures est appel´ee certificat : une infrastructure de gestion de cl´es publiques doit donc g´erer le cycle de vie des cl´es et des certificats, de leur g´en´eration `a l’expiration, en tenant compte de la r´evocation. Cette derni`ere implique la mise `a jour de bases de donn´ees contenant la liste des cl´es invalides, laliste de r´evocation des certificats (ou CRL, Certificate Revocation List). Cette nouvelle technologie, les PKI (Public Key Infrastructure), est urgente `a mettre en place. Elle est indispensable pour profiter pleinement des garanties apport´ees par les sch´emas cryptographiques, et notamment la non-r´epudiation, si importante pour des transactions ´electroniques.

6 Conclusion

En aurait-on fini avec les probl`emes de s´ecurit´e, grˆace `a la cryptographie ? Malheureusement, pas encore ! Mˆeme si nombre de probl`emes admettent dor´enavant des solutions, elles restent

souvent partielles. En effet, avec la cryptographie asym´etrique et les preuves de s´ecurit´e, le niveau de s´ecurit´e devient quantifiable, ce qui est d’ailleurs le sujet de ce m´emoire. Cependant de nombreuses questions sont encore ouvertes :

– les preuves de s´ecurit´e rel`event d’une approche r´ecente, et donc de nombreux probl`emes sont encore sans solution prouv´ee ;

– pour des raisons d’efficacit´e du protocole final, la plupart des preuves de s´ecurit´e font des hypoth`eses sur certains objets, et donc sur les attaquants. Ainsi, trouver des protocoles pratiques avec des preuves compl`etes de s´ecurit´e reste un d´efi ;

– mˆeme avec des hypoth`eses assez fortes, la cryptographie asym´etrique prouv´ee reste coˆ uteu-se sur des dispositifs portables de faible puissance de calcul, tels que les cartes `a puce. L’ef-ficacit´e reste donc un objectif majeur pour permettre l’introduction de la cryptographie, et donc de la s´ecurit´e, `a tous les niveaux ;

– la s´ecurit´e inconditionnelle , sans hypoth`ese math´ematique et sans limite calculatoire de l’attaquant, est impossible (r´esultat de Shannon). Ainsi, la plupart des protocoles cryp-tographiques `a cl´e publique reposent sur la factorisation ou le logarithme discret. Des alternatives `a la th´eorie des nombres sont n´ecessaires pour pallier un ´eventuel algorithme r´evolutionnaire de factorisation. Quelques tentatives ont vu le jour, mais n’ont pas encore r´eellement convaincu.

La cryptographie moderne a donn´e un nouvel ´elan `a la cryptographie conventionnelle. Une th´eorie a commenc´e `a se d´evelopper, permettant de prouver la s´ecurit´e du chiffrement sym´etrique contre certains types d’attaques [130,131]. Mais il ne s’agit que d’un d´ebut de th´eorie, importante

`a d´evelopper pour compl´eter les sch´emas asym´etriques prouv´es.

Toutes les applications appel´ees `a se d´evelopper sur Internet, telles que le commerce ´electro-nique ou le vote ´electro´electro-nique, posent de nouveaux probl`emes de s´ecurit´e, notamment l’anonymat.

La cryptographie peut ´egalement r´epondre `a ces besoins, mais la complexit´e des protocoles mis en jeu est de plus en plus grande. La s´ecurit´e effective devient alors tr`es d´elicate `a ´etudier. Le formalisme pr´esent´e dans ce m´emoire permet de simplifier les preuves et donc d’envisager d’aller plus loin dans les sch´emas analysables et prouvables.

Preuves de s´ ecurit´ e

Sommaire

1 Introduction . . . . 9

2 La s´ecurit´e prouv´ee . . . . 9

2.1 Les fonctions `a sens-unique, `a trappe . . . . 9

2.2 La g´en´eration des cl´es et le syst`eme cryptographique . . . . 11

2.3 Les notions de s´ecurit´e . . . . 11

2.4 Les r´eductions . . . . 12

3 Probl`emes difficiles et r´eductions efficaces . . . . 13

3.1 La th´eorie de la complexit´e : la s´ecurit´e asymptotique . . . . 13

3.2 La s´ecurit´e exacte . . . . 14

3.3 La s´ecurit´e pratique . . . . 14

4 Le mod`ele de l’oracle al´eatoire . . . . 14

5 Conclusion . . . . 15

1 Introduction

La s´ecurit´e parfaite, ou inconditionnelle, n’est pas possible dans le contexte asym´etrique, puisque les conventions publiques et le message chiffr´e d´efinissent un message clair unique, que le destinataire est cens´e ˆetre le seul `a pouvoir retrouver. Alors, `a d´efaut de syst`emes math´ematiquement inattaquables, Kerckhoffs pr´econise des syst`emes mat´eriellement in-attaquables. Mais le mat´eriellement inattaquable est malheureusement difficile `a formaliser.

Ainsi, pendant longtemps, l’approche a ´et´e heuristique : on propose un nouveau syst`eme, les cryptanalystes s’acharnent dessus, d´etectent des faiblesses au niveau du probl`eme difficile sous-jacent, du sch´ema ou des informations transmises par le possesseur du secret. Les crypta-nalystes parvenaient souvent `a une attaque partielle, voire `a un cassage total, mais dans des d´elais variables. Ainsi, une telle d´emarche de proposition-attaque n’est pas satisfaisante.

Si la cryptographie asym´etrique ne peut fournir une s´ecurit´e inconditionnelle, on doit donc faire au moins une hypoth`ese : l’existence d’une fonction `a sens-unique, voire d’une fonction

`a sens-unique `a trappe. L’objectif des preuves de s´ecurit´e est de se contenter de cette seule hypoth`ese : le m´ecanisme utilis´e n’affaiblit pas la difficult´e du probl`eme sous-jacent.

2 La s´ecurit´e prouv´ee

La th´eorie de la complexit´e a d´ej`a ´etudi´e cette probl´ematique pour montrer que deux probl`emes sont aussi difficiles `a r´esoudre. En effet, montrer que l’hypoth`ese de la difficult´e du probl`eme sous-jacent est suffisante pour que le sch´ema garantisse la notion de s´ecurit´e sou-hait´ee revient `a montrer que r´esoudre ce probl`eme et attaquer le syst`eme cryptographique sont aussi difficiles : un algorithme qui r´esout l’un permet de r´esoudre l’autre, modulo une r´eduction polynomiale. On a donc besoin de ces trois ingr´edients : un probl`eme difficile (l’hypoth`ese cal-culatoire), une notion de s´ecurit´e `a casser pour le syst`eme cryptographique, puis une r´eduction.

2.1 Les fonctions `a sens-unique, `a trappe

Une premi`ere hypoth`ese importante pour la cryptographie asym´etrique est l’existence de fonctions `a sens-unique. Intuitivement, il s’agit de fonctions faciles `a ´evaluer, mais difficiles `a inverser. Elles formalisent la notion de probl`eme difficile. Une d´efinition plus pr´ecise est fournie ci-dessous.

D´efinition 2 (Fonction polynomiale). Une fonction f : → est polynomiale si,

∃n∈ ,∃K ∈ ,∀k > K, f(k)≤kn.

D´efinition 3 (Fonction n´egligeable). Une fonctionf : → + estn´egligeable si,

∀n∈ ,∃K ∈ ,∀k > K, f(k)<1/kn.

D´efinition 4 (Fonction `a sens-unique). Une fonction f est `a sens-unique si elle peut ˆetre

´evalu´ee en temps polynomial, mais ne peut ˆetre invers´ee en temps polynomial. Soit, il existe un algorithme d’´evaluation E fonctionnant en temps polynomial Timek(E) sur une entr´ee de taille k :

∃n∈ ,∃Ke ∈ ,∀k > Ke,Timek(E)≤kn, o`u

Timek(E) = max

|x|=ktime{E(f, x)} et ∀x,E(f, x) =f(x).

Mais pour pour tout algorithmeA, fonctionnant en temps polynomialTimek(A), sa probabilit´e de succ`esSuccowk (A) dans l’inversion (contrer laone-wayness, d’o`uow) de la fonction f, sur des entr´ees de taillek est n´egligeable : pour tout A,

∃n∈ ,∃Kt ∈ ,∀k > Kt,Timek(A)≤kn⇒ ∀n∈ ,∃Ks ∈ ,∀k > Ks,Succowk (A)<1/kn, o`u

Timek(A) = max

|x|=ktime{A(f(x))} et Succowk (A) = Pr

|x|=k[f(A(f(x))) =f(x)].

Par la suite, on consid´erera des familles de fonctionsfik, o`ukd´esigne le param`etre de s´ecurit´e, reli´e `a la taille de l’entr´ee, et iun param`etre d’indexation.

D´efinition 5 (Famille de fonctions `a sens-unique). Une famille de fonctions (fik) est dite famille de fonctions `a sens-unique si

– il existe un algorithme d’´evaluationEen temps polynomialTimek(E) en la taille de l’entr´ee :

∃n∈ ,∃Ke ∈ ,∀k > Ke,Timek(E)≤kn, o`u (avec iet x pris dans les espaces finis convenables)

Timek(E) = max

i,x time{E(k, i, x)} et ∀i, x,E(k, i, x) =fik(x) ;

– pour tout algorithme A, fonctionnant en temps polynomial Timek(A), sa probabilit´e de succ`es Succowk (A) dans l’inversion des fonctionsfik est n´egligeable : pour toutA,

∃n∈ ,∃Kt ∈ ,∀k > Kt,Timek(A)≤kn

⇒ ∀n∈ ,∃Ks ∈ ,∀k > Ks,Succowk (A)<1/kn, o`u (avec iet x pris dans les espaces finis convenables)

Timek(A) = max

i,x timen

A(k, i, fik(x))o

et Succowk (A) = Pr

i,x

h

fik(A(k, i, fik(x))) =fik(x)i . De telles fonctions seront suffisantes pour la signature. Mais on peut aussi d´efinir le deuxi`eme outil de base de la cryptographie asym´etrique, n´ecessaire pour le chiffrement, les familles de fonctions `a sens-unique `a trappe.

2. La s´ecurit´e prouv´ee 11

D´efinition 6 (Famille de fonctions `a sens-unique `a trappe). Une famille de fonctions (fik, tki) est ditefamille de fonctions `a sens-unique `a trappe si la famille (fik) est `a sens-unique, mais l’informationtki (appel´eetrappe) permet une inversion ais´ee de chaque fonctionfik: il existe un algorithme d’´evaluation E en temps polynomialTimek(E) en la taille de l’entr´ee, soit

∃n∈ ,∃Ke ∈ ,∀k > Ke,Timek(E)≤kn, o`u (avec iet y pris dans les espaces finis convenables)

Timek(E) = max

i,y timen

E(k, i, tki, y)o

et ∀k, i, x, fik(E(k, i, tki, fik(x))) =fik(x).

Remarque 7. On pourra consid´erer des algorithmes probabilistes, qui ont acc`es `a une s´equence de bits al´eatoires, appel´ee ruban al´eatoire et souvent not´ee ω. Dans ce cas, la distribution al´eatoire du ruban est ajout´ee aux espaces de probabilit´es. Par la suite, tous les algorithmes seront alors suppos´es ´eventuellement probabilistes, et le ruban al´eatoireωsera sous-entendu dans tout espace de probabilit´e, et dans toutes les entr´ees des algorithmes (voire parfois explicitement inclus, lorsque leur contrˆole sera n´ecessaire).

2.2 La g´en´eration des cl´es et le syst`eme cryptographique

En fonction du param`etre de s´ecurit´e, une fonction `a sens-unique (´eventuellement `a trappe) permet de d´efinir les cl´es publique et priv´ee de chaque utilisateur : un algorithme de g´en´eration de cl´esG prend comme argument le param`etre de s´ecurit´ek, puis d´efinit al´eatoirement (`a l’aide de son ruban al´eatoire ω) les cl´es publique pk et priv´ee sk : (pk,sk)← G(1k). On va consid´erer ci-dessous les deux situations les plus classiques. Elles serviront d’exemples de base dans la suite de ce chapitre.

1. Cas d’une famille de fonctions `a sens-unique (fik) : G choisit un index al´eatoire i, ce qui d´efinit la fonction f = fik. Il choisit ´egalement un ´el´ement x al´eatoire qui constitue la cl´e priv´ee, sk = x. La description de la fonction f (ou la paire (k, i)) ainsi que y = f(x) constituent la cl´e publique, pk= (k, i, y).

2. Cas d’une famille de fonctions `a sens-unique `a trappe (fik, tki) :G choisit un index al´eatoire i. La description de la fonction fik (ou simplement la paire (k, i), puisque l’on peut rendre la description des fonctionsfik publique) constitue la cl´e publique,pk= (k, i), tandis que la trappetki est la cl´e priv´ee, sk=tki.

Puis les algorithmes cryptographiques utilisent ces cl´es selon leurs fonctionnalit´es.

2.3 Les notions de s´ecurit´e

Les notions de s´ecurit´e des syst`emes cryptographiques peuvent ˆetre d´efinies dans le mˆeme formalisme que ci-dessus : on consid`ere les attaquants, vus comme des machines de Turing, ou des algorithmes probabilistes, avec certains objectifs, tels que le recouvrement de la cl´e priv´ee, le d´ecryptement de chiffr´es ou la falsification de signatures. On note doncWin l’´ev´enement qui d´efinit un succ`es.

Si on consid`ere, par exemple, l’objectif de retrouver la cl´e priv´ee (ou une cl´e priv´ee ´equivalen-te), `a la vue des informations publiques (`a savoir la cl´e publique dans le sc´enario le plus

´el´ementaire), alorsWin= [A(pk)∈ {sk}].

Mais retrouver la cl´e priv´ee est un objectif tr`es ambitieux, et pas forc´ement n´ecessaire. Ainsi des objectifs plus subtils ont ´et´e d´efinis en fonction des garanties souhait´ees de la part des diff´erentes primitives cryptographiques. De plus, l’attaquant peut obtenir plus d’information que la seule cl´e publique. Par cons´equent, de fa¸con orthogonale aux objectifs de l’attaquant, on d´efinit les moyens mis `a sa disposition.

Ainsi, lesnotions de s´ecurit´ed’une primitive cryptographique sont d´efinies par la combinai-sons de deux aspects :

– l’objectif de l’attaquant ;

– les moyens mis `a sa disposition. Ceci d´efinit parfois le type de l’attaque mise en œuvre par l’adversaire.

Formellement, comme on l’a vu, l’objectif de l’attaquant d´efinit un ´ev´enement probabiliste `a satisfaire. Quant aux moyens, ils sont mod´elis´es par l’acc`es `a des oracles qui r´epondent correcte-ment, en temps constant, `a toute question de l’attaquant. Dans le cas du chiffrecorrecte-ment, l’attaquant

Formellement, comme on l’a vu, l’objectif de l’attaquant d´efinit un ´ev´enement probabiliste `a satisfaire. Quant aux moyens, ils sont mod´elis´es par l’acc`es `a des oracles qui r´epondent correcte-ment, en temps constant, `a toute question de l’attaquant. Dans le cas du chiffrecorrecte-ment, l’attaquant

Documents relatifs