35
M2: Fondements de la Sécurité :chiffre ment Université Paris II & LRI Michel de Rougemont [email protected] http://www.lri.fr/ ~mdr 1.Chiffrement et cryptographie 2. Signature Electronique Fonctions de hâchage Chiffrement clé secrète Chiffrement clé publique

M2: Fondements de la Sécurité :chiffrement

  • Upload
    kumiko

  • View
    41

  • Download
    1

Embed Size (px)

DESCRIPTION

M2: Fondements de la Sécurité :chiffrement. Chiffrement et cryptographie Signature Electronique Fonctions de hâchage Chiffrement clé secrète Chiffrement clé publique. Université Paris II & LRI Michel de Rougemont [email protected] http://www.lri.fr/~mdr. Sécurité. - PowerPoint PPT Presentation

Citation preview

Page 1: M2: Fondements de la Sécurité :chiffrement

M2: Fondements de la Sécurité :chiffrement

Université Paris II & LRI

Michel de Rougemont

[email protected]

http://www.lri.fr/~mdr

1. Chiffrement et cryptographie2. Signature Electronique• Fonctions de hâchage• Chiffrement clé secrète• Chiffrement clé publique

Page 2: M2: Fondements de la Sécurité :chiffrement

Sécurité

• Gestion d’accès par mot de passe– Login– Protection d’un sous-répertoire

• Chiffrement de cette information– Protection de login/passwd– Protection des messages– SSL (https)

• Signature : authentification– Théorie unifiée du chiffrement à clé

publique : schéma RSA– S/MIME– Gestion des certificats

Page 3: M2: Fondements de la Sécurité :chiffrement

Fondements

• Fonction facile ou difficile à calculer– Ce qui est autorisé est facile– Ce qui est non autorisé est difficile

mais pas impossible.

• Facile = calculable en temps polynomial = P-calculable

• Soit f(x)=y et n=|x|

f(x)calculer pour opérationsd' nb.xt kxn ncxntMaxT .pour

Page 4: M2: Fondements de la Sécurité :chiffrement

Fonction de hâchage

Outil important.

h : D I

Conditions sur h(x)Facile à calculerDifficile à inverserh(x+dx) =/= h(x)

Page 5: M2: Fondements de la Sécurité :chiffrement

Applications des fonctions de hâchage

Outil important. • MD4, MD5 (Message Digest) sur

128 bits• SHA sur 160 bits

Stocker les mots de passe: /etc/passwd sous Linux

Partager un secret à distance: (divorcer à distance)

Page 6: M2: Fondements de la Sécurité :chiffrement

Cryptographie à Clé secrète

SKC (Secret Key Cryptography)

DES (Data Encryption Standard)K=56 bitsM=64 bits

Permutations + XOR

A B

K K

Page 7: M2: Fondements de la Sécurité :chiffrement

Cryptographie à Clé secrète

Des(m,K)=c

Des(c,K) =m

K1

mp

xor f

Page 8: M2: Fondements de la Sécurité :chiffrement

Applications de DES

1. Identification (militaire Ami/ennemi)Message aléatoire rEnvoyer c=des(r,K) Personne testée calcule s=des(c,K) et envoie s.Test

1. Vérifier les mots de passe Client/Serveur NT

K=hash(passwd) sur 16 octets=K1.K2.K3

Message aléatoire =r =challengeClient envoie des(r,K1), des(r,K2) et des(r,K3) que le serveur vérifie Seules les valeurs cryptées sont transmises.

r=s ?

Page 9: M2: Fondements de la Sécurité :chiffrement

Chiffrement à clé publique

• But : Confidentialité et Authenticité

• Historique : militaire (1975) puis public

• Méthode publique ( clé)– Chiffrement à clé secrète : DES et

AES– Chiffrement à clé publique : RSA

Page 10: M2: Fondements de la Sécurité :chiffrement

Formes SSL

• Secure Socket Layer

Visa Number:

SSL

• HTTPS : Secure HTTP

Page 11: M2: Fondements de la Sécurité :chiffrement

SSL en pratique

Alice veut protéger le message envoyé à Bob.

Bob veut s ’assurer que le message vient d ’Alice

A B

Client Serveur HTTP

Client veut protéger son #VISA

4973 …. …. 9332

Page 12: M2: Fondements de la Sécurité :chiffrement

Système à clé publique

• Chaque client possède deux clés– clé publique (sur une page

WEB et donc connue de l ’ensemble)

– clé secrète (connue du seul client)

• Les deux clés sont utilisées

Page 13: M2: Fondements de la Sécurité :chiffrement

Cryptage à clé publique

• Facile vs. Difficile

• Paramètre : n= longueur des clés– 56 bits

– 128 bits

Page 14: M2: Fondements de la Sécurité :chiffrement

Solution RSA

• Solution au système à clé publique

• Rivest, Shamir, Adleman– MIT, 1976

Page 15: M2: Fondements de la Sécurité :chiffrement

Factorisation

• Multiplication A.B = C

47.71 =3337

• Factorisation C=A.B

3337 = ?.?

Page 16: M2: Fondements de la Sécurité :chiffrement

Nombres premiers

• (a,n)=1– a et n sont premiers entre eux

– Pgcd (a,n)=1

• N est premier : seuls diviseurs sont 1 et N.

• si a <n (Fermat)

• si a <n=p.q (Euler)

(n) 1 a

(n) 1 a1)-1)(q-(p

1-n

Page 17: M2: Fondements de la Sécurité :chiffrement

Congruences modulo n

• x.a = 1 (n) : x,a < n et x.a =k.n+1 par exemple x.3=1 (14)

• Solutions si (a,n)=1– si a=3, alors x=5 car

5.3=15=1.14 +1– si a=3, alors pas de solution

Page 18: M2: Fondements de la Sécurité :chiffrement

N=p.q où p,q sont premiers

• p=47, q=71, N=3337

• (p-1)(q-1)=46.70=3220

• choisir e (au hasard) tel que (e,(p-1).(q-1))=1

Page 19: M2: Fondements de la Sécurité :chiffrement

Clé publique

• (N,e) est la clé publique

• p=47, q=71, N=3337, (p-1)(q-1)=3220

• Soit e =79

Page 20: M2: Fondements de la Sécurité :chiffrement

Clé secrète : d

• Equation RSA détermine le lien entre clés publique et secrète:

• e.d = 1 (p-1)(q-1)– assuré d ’une solution

• p=47, q=71, N=3337, (p-1)(q-1)=3220

• e =79 impliquent d=1019

Page 21: M2: Fondements de la Sécurité :chiffrement

Chiffrement (Cryptage)

• Alice veut protéger le message envoyé à Bob.

• Clés d ’Alice (Na, ea ) et da

• Clés de Bob (Nb, eb ) et db

A B

Page 22: M2: Fondements de la Sécurité :chiffrement

Cryptage d ’Alice

• M= m1 m2 m3 …... mi. ………… mL

• Encodage C= c1 c2 c3 …... ci. ………… cL

• Encodage :

bebii Nmc )(

Page 23: M2: Fondements de la Sécurité :chiffrement

Exemple de message crypté

• M= m1 m2 m3 …... mi. ………… mL

688 232 687 966 668 3

• Encodage

• C = 1570 2756 2714 2276 2423 158

688 c 791

Page 24: M2: Fondements de la Sécurité :chiffrement

Décryptage de Bob

• Décodage de C= c1 c2 c3 …... ci. ………… cL

• Equation de décodage

• S= s1 s2 s3 …... si. ………… sL

bebdbib

dbii NmNcs

.

Page 25: M2: Fondements de la Sécurité :chiffrement

Message décodé =message initial

• Equation de décodage

m s ii

bebdbib

dbii NmNcs

.

ibqpk

iii mNmms )1)(1.(

.

bqpkii Nms .

1)1)(1.(

Page 26: M2: Fondements de la Sécurité :chiffrement

Exemple de message décrypté

• C = 1570 2756 2714 2276 2423 158

• Décodage S = s1 s2 s3 …... si. ………… sL

S= 688 232 687 966 668 3

688 c 791

688 c s 10191 1

Page 27: M2: Fondements de la Sécurité :chiffrement

Authentification

• Bob veut s ’assurer que le message vient bien d ’Alice.

• Clés d ’Alice (Na, ea ) et da

• Clés de Bob (Nb, eb ) et db

A B

Page 28: M2: Fondements de la Sécurité :chiffrement

Authentification d ’Alice

• Message cryptéC= c1 c2 c3 …... ci. ………… cL.

• Equation d ’authenfication

)(N ) (c a ad

iia

Page 29: M2: Fondements de la Sécurité :chiffrement

Décryptage et Authentification

• Authentification

(même principe que pour le cryptage)

• Décodage de C= c1 c2 c3 …... ci. ………… cL

S=M

)(N ) (c )(N )(a c ae d

iae

iiaaa

Page 30: M2: Fondements de la Sécurité :chiffrement

SSL : Secure Socket Layer

• A est le client du serveur B

• Idée générale:– B génère (aléatoirement) des

clés (Nb, eb ) et db et transmet (Nb, eb ) à A.

ClientServeur HTTP

4973 …. …. 9332

Page 31: M2: Fondements de la Sécurité :chiffrement

Cryptage SSL :

• A crypte avec (Nb, eb )

• B décrypte avec db (qu ’il est seul à connaître).

ClientServeur HTTP

4973 …. …. 9332

Page 32: M2: Fondements de la Sécurité :chiffrement

T.D. 2 M2

• Formulation du projet M1

• Concevoir les tables Mysql

• Protéger query.php sur votre site à l’aide de .htaccess

• Pour les projets informatiquesSpécifications de la partie 1 en PHP.

Page 33: M2: Fondements de la Sécurité :chiffrement

Projets:

• Présentation – Objectif– Quels services?– Quels usagers?

• Schéma de la Base de données Mysql– Combien de tables– Structures des tables

• Architecture HTML– Page d’index, pages principales, liens– Feuilles de style

• Scripts PHP– Liens entre page HTML et Base de données.

Page 34: M2: Fondements de la Sécurité :chiffrement

Projets

1. Outil query.php• Afficher le schéma des tables dans

une nouvelle fenêtre.• Feuilles de style dans l’affichage.

2. Outil FG ( f.php et g.php) pour éviter FTP.

• Concevoir une table à 3 champsNom, type, ProgrammeQui va stocker dans programme les

scripts à tester.Le script f.php lit un Nom et permet

d’éditer le programme ou de l’exécuter avec eval($p) ;

Page 35: M2: Fondements de la Sécurité :chiffrement

Projet XML

1. Correcteur XML

• PHP with dom

• Java with dom

• Interface pour naviguer dans un arbre XML

• Implémentation du correcteur