• Aucun résultat trouvé

Frédéric Gava (MCF) gava@u-pec.fr

N/A
N/A
Protected

Academic year: 2022

Partager "Frédéric Gava (MCF) gava@u-pec.fr"

Copied!
66
0
0

Texte intégral

(1)

Introduction à la

sécurité Informatique

Frédéric Gava (MCF) gava@u-pec.fr

LACL, bâtiment P2 du CMC Université de Paris-Est Créteil 61 avenue du Général de Gaulle

94010 Créteil cedex

(2)

Communications Sécurisées

(3)

3/47

Problèmes de sécurité (1)

Internet :

confidentialité anonymat

authentification (s’agit-il bien du site de ma banque ?)

Signature électronique

vérifiable authentique

non-répudiation (je n’ai jamais signé ce texte...)

Vote électronique

Chaque vote est confidentiel

On ne peut pas connaître des résultats partiels

Seuls les électeurs peuvent voter et une seule fois

(4)

4/47

Problèmes de sécurité (2)

Paiement par carte bleue

Est-ce qu’il s’agit d’une vraie carte ?

Est-ce que le montant débité sera égal au montant crédité ? Est-ce que le code secret est bien protégé ?

Décodeur, Vérification de l’abonné

Impossibilité de retransmettre les données décodées à une tierce personne

Mise à jour de l’abonnement

(5)

5/47

Problèmes de sécurité (3)

Porte monnaie électronique

Pas de création de fausse monnaie

Pas de création de faux porte-monnaie

Base de données sécurisée

Seules les personnes habilitées ont accès à la vue partielle à laquelle elles ont droit

Les données peuvent être échangées entre un médecin, un laboratoire, un hôpital

Mise à jour possible des données

(6)

6/47

Propriétés de la sécurité

Secret : Est-ce qu’un participant malhonnête peut connaître une donnée confidentielle ?

Authentification : À qui parle-t-on vraiment ?

Anonymat : Peut-on savoir qui communique avec qui ?

Équité : Lors de la signature d’un contrat, est-ce que l’un des signataires peut obtenir un avantage sur l’autre ?

Bon délais : le temps de faire la transaction est il résolu ou non ?

Non-répudiation: est-ce que je peux arrêter une transaction commerciale non résolue (finalement la non signature du contrat) ?

Comment faire ?

primitives cryptographiques

Quelques protocoles simples avec chiffrement (protocoles cryptographiques, on suppose un réseau non sûr)

La vérification de la sûreté des protocoles : l’analyse de logiciels critiques en général

(7)

Chiffrement et Cryptographie

(8)

8/47

Objectifs

Cryptologie :

Compression réduire la taille d’un message Chiffrement cacher le contenu d’un message

Hachage créer une empreinte unique d’un message Stéganographie cacher l’existence d’un message Signature prouver l’origine d’un message

Cryptographie et sécurité :

Confidentialité respect des autorisations d’accès (chiffrement) Intégrité preuve de non altération (hachage)

Authentification preuve d’identité (signature, déchiffrement) Non-répudiation preuve d’une transaction (signature)

Disponibilité accès légitime possible

(9)

9/47

Références

Crypto :

A. J. Menezes and P. C. van Oorschot and S. A. Vanstone.

Handbook of Applied Cryptography. CRC Press, 1996.

B. Schneier. Cryptographie appliquée. Vuibert, 1996.

Compression (non vue en cours)

K. Sayood. Introduction to data compression. Morgan Kaufmann publishers, 2000.

E. Incerti. Compression d’images, algorithmes et standards.

Vuibert, 2003.

(10)

10/47

Avertissement

La cryptographie est un sujet complexe

Les techniques sont justifiées mathématiquement

Cette partie de cours est destiné à des non- mathématiciens il ne donne donc qu’une vision partielle du sujet :

Attention aux fausses bonnes idées Attention à la mise en œuvre

Toujours suivre les recommandations des standards (normes IEEE, WWW etc.)

Faire appel aux spécialistes en case de doute

(11)

11/47

Histoire du chiffrement

A part le calcul numérique, l’informatique a été fortement stimulée par la sécurité de l’information.

Certains moyens de sécurisation de l’information ont été utilisés depuis les temps anciens, à savoir la stéganographie et la cryptographie.

La stéganographie étymologiquement veut dire écriture

cachée.

(12)

12/47

Premières méthodes

Dans ses Histoires, Hérodote (486-425 BC) raconte comment vers 440 BC on rasa la tête d'un esclave, puis on y tatoua un message qui devint invisible après que les cheveux aient repoussé. Le but était de lancer une révolte contre les Perses.

Énée le Tacticien (env. 350 BC) proposa de cacher un message dans un autre texte en changeant la hauteur des lettres ou en perçant des petits trous au dessus ou en dessous des lettres du message de couverture.

Cette technique, toujours utilisée au 17ème siècle, fut améliorée par Wilkins qui utilisa des encres invisibles pour inscrire ces petits points au lieu de faire des trous. Cette dernière idée fut reprise par les espions allemands durant les deux guerres mondiales.

(13)

13/47

Le chiffrement

Jules César (Caius Julius Caesar)

-100 -44

César utilisait un chiffrement de substitution qui décale les lettres de l’alphabet :

Un décalage de 1 transforme « IBM » en « HAL » (nom de l’ordinateur fou dans « 2001, a space odyssey » de Kubrick)

Un décalage de 7 transforme « MOT » en « TVA »

(14)

14/47

Histoire du chiffrement

1940, le chiffrement par machine, exemple Enigma.

Disque de chiffrement (Léone Battista Alberti en 1466)

Mais sujet à des analyses statiques

1940, le chiffrement par machine, exemple Enigma.

Début de la cryptanalyse.

(15)

15/47

La cryptographie et les machines

1939 Enigma : machine de chiffrement allemand

1940 La Bomba : machine électro-mécanique des Alliés pour le décryptage

(16)

16/47

Le décryptage

Ces 2 Polonais ont cassé la première Enigma militaire, développé les premiers éléments de la cryptanalyse moderne et construit une machine mécanique « Bomba » qu’ils ont utilisée pour ce décryptage. Turing améliora la machine et s’en servit au Bletchley Park (le centre britannique de l’interception et du décryptage pendant la guerre 1939-1945) pour systématiquement décoder les messages de l’aviation nazi

Marian Adam Rejewski

(1905 1980) Henryk Zygalski (1906-1978)

Alan Turing (1912-1954)

(17)

17/47

Stéganographie

(rappel : cacher l’existence d’un message ) le numérique offre de nouveaux supports :

bits de poids faible dans les images, le son bourrage et bits réservés dans les protocoles alignement dans les programmes compilés fins de clusters inutilisées

etc.

Combinable à la cryptographie Autres Applications :

tatouage numérique

vente de musiques/images sans DRM résistance aux transformations

compression avec perte

redimensionnement d’image

(18)

18/47

Exemples

Lettre de Georges Sand à Frédéric Chopin (ou Alfred de Muset suivant les rumeurs)

Je suis très émue de vous dire que j'ai bien compris l'autre soir que vous aviez toujours une envie folle de me faire danser. Je garde le souvenir de votre baiser et je voudrais bien que ce soit là une preuve que je puisse être aimée par vous. Je suis prête à vous montrer mon affection toute désintéressée et sans cal- cul, et si vous voulez me voir aussi vous dévoiler sans artifice mon âme toute nue, venez me faire une visite.

Nous causerons en amis, franchement.

Je vous prouverai que je suis la femme sincère, capable de vous offrir l'affection la plus profonde comme la plus étroite en amitié, en un mot la meilleure preuve dont vous puissiez rêver, puisque votre âme est libre. Pensez que la solitude où j'ha- bite est bien longue, bien dure et souvent difficile. Ainsi en y songeant j'ai l'âme grosse. Accourrez donc vite et venez me la faire oublier par l'amour où je veux me mettre.

Réponse :

Quand je mets à vos pieds un éternel hommage Voulez-vous qu'un instant je change de visage ? Vous avez capturé les sentiments d'un cour Que pour vous adorer forma le Créateur.

Je vous chéris, amour, et ma plume en délire Couche sur le papier ce que je n'ose dire.

Avec soin, de mes vers lisez les premiers mots Vous saurez quel remède apporter à mes maux.

Bien à vous, Eric Jarrigeon

Finalement:

Cette insigne faveur que votre cour réclame Nuit à ma renommée et répugne mon âme.

(19)

19/47

Exemples (2)

(20)

20/47

Exemples (3)

En ne gardant que les 2 bits les moins significatifs de chaque composante de couleur

(21)

21/47

Chiffrement aujourd’hui

Utilisation de problème algorithmique dure (en temps de calcul). Essentiellement basé sur les nombres premiers (divisible que par 1 et par eux-même)

Exemple, le chiffrement RSA :

Soit n = p*q avec p et q qui sont premiers Soit e qui est publique et un d qui sera privé

Chiffrement : pour tout x on calcul (x^e modulo n) Déchiffrement : pour tout y on calcul y^d modulo n

Casser le chiffrement revient à calculer un d tel que x=y^d où d=e^(-1) modulo φ(n)

Exemple, le chiffrement de Diffie-Hellman

étant donné A=g^a et B=g^b (a,b,g sont premiers) calculer DH(a,b)=g^(a*b)

(22)

22/47

Conséquences

Casser ce type de cryptage est très très très très très long, exponentiel en la taille de la clés

Exemple (taille de la clés, temps logarithmique) :

(512 bits, 58) (1024 bits, 80) (2048 bits, 111) (4096 bits, 149) (8192 bits, 156)

Environ 2^60 ans pour une clés de 1024 bits soit environ

11529215046 milliards d’années

(23)

23/47

Principe du chiffrement

Chiffrement symétrique : on utilise la même clés pour chiffrer et pour déchiffrer

Chiffrement asymétrique : on chiffre avec la clés publique et on déchiffre avec la clés privée

Chiffrement Écrivain

Clef

Bonjour !

Lecteur

Bonjour !

Déchiffrement Clef

ahkyerbjher

Chiffrement Écrivain

Clef publique

Bonjour !

Lecteur

Bonjour !

Déchiffrement Clef privée

ahkyerbjher

(24)

24/47

La signature électronique

Signature Frédéric

Clef

Frédéric

Nicole

Frédéric

Vérification Clef

ahkyerbjher

(25)

25/47

Déterminisme et pseudo-aléa

Suite aléatoire le prochain élément ne peut être prédit

Nonce: valeur « fraîche » en pratique : valeur aléatoire et suffisamment longue

Problème :

Tout algorithme est déterministe Générateur pseudo-aléatoire :

une graine

fonction random : gn (gn +1,rn )

la suite (r0,r1,...) est indistinguable d’une suite aléatoire mais elle est reproductible si la valeur de g0 est connue attention aux cycles i.e. périodes (voir exemples)

nouveau problème (plus simple) : trouver une graine aléatoire

sources d’aléa : le matériel (frappes au clavier, bruit thermique, lancer des pièces (coins), etc.)

Collecté par l’OS sous Unix : /dev/random et /dev/urandom

Le générateur d’aléa et un composant critique (bug mozilla)

(26)

26/47

Ex. de fonctions génératrices

Historique, la méthode de Von Neumann. Exemple

Graine (seed)=1111 1111^2 = 1234321

chiffres du milieu : 3432. C'est la sortie du générateur.

3432^2 = 11778624

chiffres du milieu : 7786

Méthode de Fibonacci

avec x(0) et x(1) en entrée.

avec x(1)....x(k-1) en entrée.

Générateurs congruentiels linéaires (1948, Lehmer)

(27)

27/47

Fonctions génératrices (2)

La période = m (au max) au maximum de m Exemple :

RANDU (IBM) a=65539 c=0 m=2^31 (Biaisé) de Robert Sedgewick a=31415821 c=1 m=10^8 Standard a=16807 c=0 m=2^31-1

Exemple avec (a=25, c=16, m=256)

X0=10 la suite : 10, 10, 10, 10, 10, ...

X0=11 11, 35, 123, 19, 235, 3, 91, 243, 203, 227, 59, 211, 171, 195, 27, 179, 139, 163, 251, 147, 107, 131, ...

X0=12 12, 60, 236, 28, 204, 252, 172, 220, 140, 188, 108, 156, 76, 124, 44, 92, 12, 60, 236, 28, 204, 252, 172, ...

Bcp de gens ont fait ce type de générateur (C++, Unix etc.)

(28)

28/47

Autre méthodes

Simulation numérique (rapide) :

Exemples utilisant les congruences

Mersenne Twister

Cryptographie :

Yarrow Fortuna

Blum Blum Shub (mais lent) ISAAC

STRANDOM MUGI

Unix: /dev/random et /dev/urandom

(29)

29/47

Yarrow

J. Kelsey, B. Schneier, N. Ferguson (1999) pour Mac OS X mais remplacé par FORTUNA

(30)

30/47

Blum Blum Shub

avec M=p*q, le produit de deux grands nombres premiers p et q et la sortie de l'algorithme est le (ou les) bit le moins significatif de xn.

p et q, congruents à 3 modulo 4

En 1986 par Lenore Blum, Manuel Blum et Michael Shub

(31)

Protocoles cryptographiques

(32)

32/47

Objectifs et applications

Objectifs :

Secret

Authentification d'un message (ou d'une entité) Fraîcheur (anti-rejeu)

Accord non répudiable Équité

Anonymat

Applications :

Communication secrète (SSL de https, SSH, GSM,...) Authentification d'agents (Login, OTP, GSM,...)

Signature de contrats électroniques Paiement par carte à puce

Paiement en ligne Paiement hors-ligne TV payante

Vote électronique

(33)

33/47

Définitions

Secret : Un protocole assure le secret d'une donnée s si un intrus ne peut pas déduire s

Authentification de message : un protocole permet à un agent A d'authentifier un message m s'il peut connaître de façon sûre l'émetteur de m

Authentification d'entité : Un protocole permet à un agent A d'authentifier un agent B si à la fin de la session réussie, A a la garantie qu'il a bien réalisé le protocole avec B

Fraîcheur : Pendant une session d'un protocole, une donnée

est fraîche si l'on peut garantir qu'elle n'a pas été utilisée

dans une autre session par un des acteurs

(34)

34/47

Quelques notations

Soient :

M, M1, et M2 des messages K une clé

A et B des agents

I : l’Intru ou Invader (l’attaquant)

On notera:

M1.M2 ou M1,M2 : le message constitué de M1 et M2 {M}K : M est chiffré par avec la clé K

A envoie le message M à B A B : M

I envoie le message M à B en se faisant passer pour A I(A) -> B : M :

(35)

35/47

Le modèle (Dolev-Yao)

Crypto parfaite : {M}

K

n’est pas déchiffrable pour celui qui n’a pas la clé K

Généralement, on suppose un attaquant sur le réseau tel que :

il est capable de lire tout les messages capable d’introduire des messages

capable de décomposer/recomposer des messages

Si l’attaquant connaît M et K alors il peut mettre sur le réseau {M}K

Si l’attaquant lit {A, NA} alors il peut avoir {A} et {NA}

On lui suppose une « connaissance » initial (nom des

agents A, B, leurs clés publiques etc.)

(36)

36/47

Chiffrement

Chiffrement symétrique :

K

AB

= K

AB-1

Bon rapport Volume données à chiffrer / Temps de chiffrement

Une clé par couple d'acteur

Chiffrement asymétrique

K

A

la clé publique de A, K

A-1

la clé privée de A {{M}

K

}

K-1

= {{M}

K-1

}

K

= M

Inutilisable pour le chiffrement de gros volumes de données

Deux clés par acteur

(37)

37/47

Principes de bases des protocoles

Envoi d'un secret de A à B (premier essai) A B : {s}

KB

Si l'on considère un chiffrement parfait, seul B peut lire s Mais de qui vient s ?

Deuxième essai

A B : {s.A}KB

Et que fait un intrus dans ces conditions ? I(A) -> B : {sI.A}KB

Troisième essai

A B : {s.A.{s}K-1A}KB

B authentifie s comme étant émis par A

Mais... I peut faire accepter de nouveau s par rejeu

(38)

38/47

suite

A B : {s.A.{s}K-1A}KB

I(A) B : {s.A.{s}K-1A}KB

quatrième essai

B A : {A.B.N

1

}

KA

« challenge de B » A B : {s.A.B.N

1

}

KB

réponse de A au challenge de B

{s.A.B.N

1

}

KB

frais

B authentifie s comme étant émis par A

B authentifie A au cours de la session

(39)

39/47

Fonctions injective de hachage (SHA, MD5 ...) Hash

|hash(d)| << |d|

Statistiquement:

pour d1, d2 : hash(d1) ≠ hash(d2) si d1 ≠ d2

collisions théoriquement possibles (condensé sur n bits probabilité de collision = 1/2n

impossible à deviner

bon hash: si d1 ≈ d2 alors surtout pas hash(d1) ≈ hash(d2)

hash

-1

(d) est très difficile (impossible) à calculer

(40)

40/47

Contrôle d’intégrité

Toute erreur de copie est détectée

OK A = A’ et h(A)’ = h(A’)

Non A ≠ A’ ou h(A) ≠ h(A)’ et alors h(A)’ ≠ h(A’)

(41)

41/47

Application

Gestion des mots de passe sous Unix:

même empreinte passwd = passwd’

le mot de passe n’est jamais stocké

mots de passe identiques empreintes di ff érentes

(42)

42/47

Échange de secret

On peut utiliser la clef k=12897897

La pièce qui l’accuse est {chandelier}12897897

Ah ah, la clés est 12897897 donc peux déchiffrer et j’accuse le Colonel Moutarde d’avoir tué Madame Rose avec un chandelier !

Maître Alice Maître Bob

Procureur

(43)

43/47

Chiffrement commutatif

{chandelier}ClefAlice

{{chandelier} CleAlice}ClefBob {chandelier}ClefBob

Danger, le procureur peut lire la donnée confidentielle si l’intercepte la communication

{chandelier}ClefAlice

{{chandelier} CleAlice}ClefProc {chandelier}ClefProc

Mauvaise idée : si on peut chiffrer et déchiffrer dans n’importe quel ordre…

(44)

44/47

Clef secrète partagée

une seule clef de chiffrement par communication, échangée au préalable

n participants n

2

clefs

problème pour l’échange des clefs

symétrique ↔ chiffrement et déchiffrement

identiques

(45)

45/47

Application: téléphone rouge

Message M[ ] suite de m bits Clef K[ ] suite de k bits

Chiffrement : C[i]=M[i] ⊕ K[i%k] pour 0 ≤ i< m

Déchiffrement : M’[i] = C[i] ⊕ K[i%k] pour 0 ≤ i<m Inviolable si la clef est :

aléatoire

à usage unique

de la longueur du message (k=m)

Utilisé entre les États-unis et l’Union soviétique (les

clefs voyageaient par valises diplomatiques…)

(46)

46/47

Paiement par CB

1) L’acheteur introduit sa carte

2) Le commerçant saisit le montant m de la transaction sur le terminal.

3) Le terminal authentifie la carte

4) L’acheteur donne son code à la carte

Si m dépasse 100 Euros (dans seulement 20% des cas) : le terminal demande l’authentification de la carte à la banque La banque donne l’autorisation.

(47)

47/47

Clef publique (confidentialité)

Chiffré avec PubB déchiffrable avec PrivB uniquement

N’importe qui peut communiquer confidentiellement avec Bob

L’espion connaît PubB mais ne peut pas déchiffrer

(48)

48/47

Clef publique (authentification)

(ou la non-répudiation)

Chiffré avec PrivA déchiffrable avec PubA uniquement (Alice peut s’authentifier auprès de n’importe qui)

L’espion peut déchiffrer et authentifier Alice

Combinable avec la technique précédente

(49)

49/47

Publique ou partagée

Avantages:

moins de clefs nécessaires (n contre n

2

) pas de secret partagé (confiance)

confidentialité, authentification et non-répudiation

Inconvénients:

beaucoup plus lent (facteur ≈ 1000)

il faut authentifier les clefs publiques (certificats) Clefs de sessions :

clef secrète aléatoire, jamais réutilisée (fresh Nonce) l´échangée par cryptographie à clef publique

(50)

50/47

Signature

Avantages sur le chiffrement du texte complet

empreinte plus petite chiffrement plus rapide contrôle d’intégrité

condensé authentifié

N’importe qui peut vérifier l’authenticité

(51)

51/47

Certificat (norme X.509)

les autorités de certifications se certifient entre elles

leurs certificats sont largement distribués (navigateurs, OS, etc.) niveau de certification ↔ qualité des vérifications (et de prix …)

(52)

52/47

Authentification par challenge

Sans mot de passe

(53)

53/47

Des attaques (1)

La force brute :

recherche de toutes les possibilités (ex : toutes les clefs) la combinatoire peut rendre cette attaque impraticable

DES : clefs de 56 bits moins d’un jour (> 20×109 clefs/s)

Blowfish : clef de 448 bits 276 353 796 896 297 200 451 485 844 334 398 205 983 651 385 537 892 936 476 470 147 936 137 126 911 464 488 353 750 715 971 452 747 954 594 864 143 166 071 siècles

plus des algos de crypto: +1 bits temps de calcul×2

Attaque par dictionnaire :

recherche uniquement des clefs probables utilisation d’un dictionnaire (liste de mots)

combinaisons et transformations (mot de passe m0T 2 p4Ss3 !)

un mot de passe ne doit jamais être un mot

(54)

54/47

Contre-mesures

Exploiter la combinatoire quand c’est possible

clefs plus longues

clefs plus variées (majuscules, minuscules, chiffres, ponctuations)

Augmenter le coût de l’échec :

cartes bancaires blocage après trois échecs codes PIN des mobiles idem

délai après un login erroné de plus en plus long

Jamais rien de prévisible

pas de mot existant login, ”password”, 1234, . . .

attention à l’ingénierie sociale date de naissance, nom du chien, …

« 1Svqcdl’H » « une souris verte qui courrait dans l’herbe »

(55)

55/47

Attaques (2)

Attaques mathématiques :

Cryptanalyse statistique

Recherche de propriétés statistiques du chiffré, liées à celle du texte en clair régularités des chiffrements mise en œuvre

Cryptanalyse linéaires

Recherche d’approximations des fonctions de chiffrement par des fonctions affines

Attaques sur DES

Cryptanalyse différentielle

recherche de comportements non aléatoires par analyse de la propagation de perturbations du texte en clair dans le texte chiffré

attaques sur Blowfish

(56)

56/47

Attaques (3)

Attaques par canaux auxiliaires

Exploitation de caractéristiques de l’implantation d’un système cryptographique logicielle ou matérielle

temps d’exécutions, consommation électrique, chauffe, émissions électromagnétiques, prédiction de branchement, . . .

Algorithme de Monte-Carlo ou Las Vegas (utilisé le « coup de chance »)

Attaque temporelle de RSA dans OpenSSL :

déchiffrement de g calcul de gd % n plus long si g < q que si g > q (n = q ×p)

optimisations des algorithmes d’exponentiation modulaire

q approchable par essais successifs en partant du bit de poids fort clef privée de taille k 1000×k essais (1024 bits en 2h)

(57)

57/47

Masquage de RSA

RSA blinding

Protection contre les attaques temporelles

Sans supprimer les optimisations d’algorithmes Sans introduire de nouveaux canaux auxiliaires Principe

déchiffrement de x = re ×g % n (r aléatoire) extraction du résultats par xe/r % n

le déroulement du calcul ne dépend plus de g surcoût de 2%

Technique générale en cryptographie pour supprimer les

canaux auxiliaires

(58)

58/47

Attaque (4)

par choix du texte en clair

Alice veut faire signer M par Bob

génère r aléatoire et calcule M’= (M×r )e % n Demande à Bob de signer M’ (message anodin) Bob renvoie S’= (M’)d % n

Alice calcule S = S’/r % n signé de M (facile à calculer)

en pratique nécessite aussi une attaque sur un hachage

ne jamais signer un texte choisi par un tiers (introduction d’un nonce)

Attaque de RSA en mode signature

(59)

59/47

Pb d’un protocole à clés publique

Protocole d’authentification (prouvé l’un et l’autre leurs identités respectives dans un réseau non sûr) inventé par Needham-Schroeder en 1978

Longtemps utilisé par les CB

Possède une faille terrible mais heureusement résolue

Cette attaque est « man in the middle »

Il a fallu 17 ans pour l’imaginer et ce rendre compte

que l’étude des protocoles cryptographiques est un

vrai challenge (pas un protocole au monde n’est à

100% sûr …)

(60)

60/47

Le protocole d’origine

On note :

A pour Alice, B pour Bob et P pour le méchant procureur

NA la signature électronique d’Alice (idem pour Bob et le procureur)

ClésAlice pour la clés publique de chiffrement de Alice (idem pour Bob et le procureur)

Le fonctionnement :

Questions :

Est-ce que NB est secret entre Alice et Bob ?

Lorsque Bob reçoit le message de Alice, est-ce que le message provient réellement d’Alice ?

Voyons comment biaiser le système, l’attaque « man in the middle »

{A, NA}ClefBob {NA, NB}ClefAlice

{NB}ClefBob

(61)

61/47

Traduction

(62)

62/47

L’attaque (1)

{A,NA}ClefProc {A,NA}ClefBob

{NA,NB}ClefAlice {NA,NB}ClefAlice

{NB}ClefProc {NB}ClefBob

(63)

63/47

L’attaque (2)

En fait, Maître Alice souhaite parler au Procureur et celui-ci va se faire passer pour Alice auprès de Maître Bob « à l’insu de son plein grès ». Il peut ensuite lui soutirer ce qu’il désire…gnark gnark…

Une solution ?

Oui, il faut rajouter le nom du destinateur (Bob)

dans la réponse du destinateur

(64)

64/47

Attaques (5)

rejeu

renvoi de données interceptées auparavant

injection de paquets ARP (68 octets) dans WEP

Contournement (attaque de l’infrastructure de la cryptographie)

non effacement du texte en clair, compromission de la machine, ingénierie inverse, ingénierie sociale, . . .

clefs faibles affaiblissent la cryptographie, ou devinables

certaines clefs DSA de OpenSSL sur Debian/Linux entre 2006 (v.0.9.8c-1) et 2008 (v.0.9.8g-9), affaiblissement des S-boxes (DES) de Blowfish sur un nombre réduit de tours

générateur d’aléas

sa faiblesse peut entraîner des failles

cassage de DSA dans le J2SDK, clefs faibles OpenSSL, contournement des canaris (stack cookies) dans XP-SP2

biais (propriétés imprévues du crypto-système)

factorisation de n = p ×q si |p| |q|

(65)

65/47

Sûreté et sécurité

Des tests ne suffisent pas car on peut ne pas tester un cas sensible. Penser au :

régulateurs de vitesse des voitures régulateurs cardiaques

Ariane 5 (explosion pour le vol inaugurale le 11/12/2002 à cause d’un bug logiciel et d’une faille dans le protocole)

Il faut donc des preuves formelles pour la sûreté et la sécurité des logiciels (et donc des vies humaines)

Très difficile de prouver toutes les propriétés

Impossible de savoir s’il l’on a pas oublié une dernière propriété

Même si l’on sait très bien crypté, on ne sait pas encore très bien dire (on connaît déjà des exemples) si on ne peut pas casser le chiffrement grâce à plusieurs messages dans le protocole…

Exemples :

Le système de protection par zones des DVD : 1 semaine pour trouver des kit tout fait de cassage sur Internet

Les protocoles WIFI : on trouve des logiciels tout fait sur Internet qui vous donne la clés du réseau…

(66)

66/47

Futur ?

La recherche en Informatique actuel s’intéresse de très près à ce type de problèmes avec :

des logiciels de preuves formelles (automatique ou assisté par le programmeur pour les cas difficiles

La définition de nouveau protocole et chiffrement de plus en plus sophistiqué et donc de plus en plus dure à casser

Elle ne pourra jamais (mais qui sait ?) contrecarrer les pirates informatiques qui utilisent :

la force pour obtenir les mots de passes

la bêtise des gens à donner des mots de passes trop simples (nom du chat, date de naissance, etc.)

le baratin pour tromper les gens (j’suis inspecteur des impôts, donnez moi … pour que je puisse bien vérifier vos comptes)

Références

Documents relatifs

En fonction de ce que vous cherchez, il peut être utile de commencer par une lecture en diagonale pour avoir une idée du sujet du document et savoir si vous avez des chances

Lorsque Alice se connecte sur le site A avec l'identifiant de session que lui a communiqué le Site B, Oscar a alors accès au compte d'Alice grâce à l'identifiant

En gros : plus on a de processeurs plus il faut de gros problèmes sinon on fait perdre du temps au processeurs (par rapport à une machine parallèle avec

• In general, skeletons work one list of data : a stream in the parallel semantics. • Typical examples : pipeline,

Champ: agents de la fonction publique présents dans un emploi principal en France en 2012 et en 2013, y compris bénéficiaires de contrats aidés et hors militaires. Lecture : parmi

Le chiffrement demande de pouvoir vérifier que de « très grands » nombres sont des nombres premiers, pour pouvoir trouver p et q, mais aussi que le produit de ces deux très

Cette relation contient un enregistrement pour chaque exemplaire de disque possédé par la médiathèque ; chaque exemplaire est identifié par son code (CodOuv) et

Figure 4 : Évolution hebdomadaire des hospitalisations pour grippe en France métropolitaine de la se- maine 40/2015 à la semaine 02/2020* : nombre de cas graves admis en réanimation 1