algorithmes à clé publique jean-marc robert · 2016. 6. 10. · premier algorithme à clé...

44
Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI

Upload: others

Post on 30-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Cryptologie

Algorithmes à clé publique

Jean-Marc Robert

Génie logiciel et des TI

Page 2: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 2

Plan de la présentation

Introduction

Cryptographie à clé publique

Les principes essentiels

La signature électronique

Infrastructures à clé publique

Notions en vrac

Les applications

Conclusions

Page 3: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 3

Cryptographie à clé publique – asymétrique

Méthode permettant à une personne connaissant la clé

publique d’une autre personne de lui envoyer des messages de

façon sécurisée.

Cette seconde personne connaissant la clé privée associée à sa

clé publique peut déchiffrer les messages qui lui ont été

envoyés.

La confidentialité des messages dépend de l’authenticité de la

clé publique et de la robustesse de l’algorithme utilisé.

Page 4: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 4

Cryptographie traditionnelle a ses problèmes

Si deux intervenants veulent s’échanger de l’information

confidentielle, ils doivent en premier lieu s’échanger une clé

secrète de façon sécurisée.

Rencontre personnelle.

Parties de clé envoyées par des canaux séparés.

La clé correspond au ou-exclusif de deux séquences envoyées séparément.

Si N intervenants veulent s’échanger des informations sans

l’aide d’un tiers, chaque intervenant doit avoir une clé

différente avec chacun des autres intervenants.

2

NClés = n * (n-1)/2

Page 5: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 5

Cryptographie à clé publique – Principe

La cryptographie à clé publique ou asymétrique est basée sur un

concept très différent.

Chaque intervenant possède une clé publique.

Cette clé peut être connue de tous. Par exemple, disponible dans un répertoire accessible

publiquement.

Toute personne connaissant cette clé peut envoyer un message chiffré au propriétaire de

cette clé.

Chaque intervenant possède une clé privée.

Cette clé doit demeurer confidentielle.

Cette clé est liée (mathématiquement) à la clé publique correspondante.

Cette clé permet de déchiffrer tout message chiffré avec la clé publique correspondante.

Concept présenté par Diffie et Hellman en 1976.

Page 6: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 6

Cryptographie à clé publique – Avantages

Si N intervenants veulent s’échanger des informations sans

l’aide d’un tiers, chaque intervenant doit avoir une clé publique

unique connue de tous. Donc, N clés sont suffisantes.

Les clés publiques doivent être distribuées de façon

authentifiée, mais non confidentielle.

Beaucoup plus simple et moins coûteux.

Page 7: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 7

Fonctions à sens unique – One-way functions

Une fonction à sens unique est une fonction dont il est facile

d’obtenir le résultat …

… mais difficile, voire impossible, à partir du résultat

d’obtenir les arguments initiaux.

Les exemples sont nombreux.

Briser un œuf.

Mélanger un pot de peinture blanche et un pot de peinture rouge.

Calculer le ou-exclusif de deux chaines de bits dont une des deux

chaines est aléatoire – one-time pad.

Page 8: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 8

Fonction à sens unique computationnelle

Computationally one-way function

Une fonction à sens unique computationnelle est une fonction

dont il est facile d’obtenir le résultat …

… mais difficile en un temps raisonnable à partir du résultat

d’obtenir les arguments initiaux.

Par exemple,

Multiplication de deux « grands » nombres premiers.

Page 9: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 9

Concours élémentaire

Trouver les deux facteurs premiers des produits suivants:

35

5 × 7

221

13 × 17

4453

61 × 73

503807

521 × 967

50123093

7297 × 6869

Page 10: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 10

Concours RSA-640

Trouver les deux facteurs premiers du produit suivant:

31074182404900437213507500358885679300373460228427

27545720161948823206440518081504556346829671723286

78243791627283803341547107310850191954852900733772

4822783525742386454014691736602477652346609

=

16347336458092538484431338838650908598417836700330

92312181110852389333100104508151212118167511579

×

1900871281664822113126851573935413975471896789968

515493666638539088027103802104498957191261465571

Effort de 6 mois de calcul équivalent à 30 années de calcul

d’une machine 2.2GHz-Opteron-CPU [F. Bahr et al., 2006]

Page 11: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 11

Fonction à sens unique computationnelle

à porte dérobée

Computationally one-way trapdoor function

Une fonction à sens unique computationnelle à porte dérobée

est une fonction dont il est facile d’obtenir le résultat …

… mais difficile en un temps raisonnable à partir du résultat

d’obtenir les arguments initiaux …

… à moins d’en connaître la clé ouvrant la porte dérobée.

Page 12: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 12

Premier algorithme à clé publique – RSA

Cet algorithme a été proposé en 1977 par Rivest, Shamir et

Adleman pour répondre aux concepts de Diffie-Hellman.

Cet algorithme est basé sur une fonction à sens unique computa-

tionnelle à porte dérobée:

Soient p et q deux grands nombres premiers d’au moins 512 bits.

Soit N = p × q.

Soient e et d tels que ed ≡1 mod φ (N).

Fonction de Euler φ (N) = (p – 1) × (q – 1).

Clé publique: N et e.

Généralement, e est égal à 3 ou 216 + 1 (par choix).

Clé privé: d ou (p, q) – équivalent.

Page 13: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 13

Chiffrement RSA – L’équation qui vaut des milliards

Soit M un message à chiffrer Entier entre 0 et N – 1.

Le chiffrement de M:

Le déchiffrement du cryptogramme:

Note: connaissant p et q, il existe un autre algorithme de déchif-frement plus efficace utilisant le théorème du reste chinois (CRT). Mais c’est la version longue de l’histoire.

NMMEC e

Ne mod,

NCCDM d

Nd mod,

Page 14: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 14

Chiffrement RSA – Les mathématiques

Le problème mathématique sur lequel est basé le chiffrement

RSA est connu sous le nom de « Racine modulaire

discrète » (Discrete Modular Root).

Toujours pas de solution.

Page 15: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 15

Chiffrement RSA

Bien que l’algorithme soit simple, il est très coûteux en

ressources.

Par exemple, une carte à puce peut calculer

Une itération AES ou DES en 1 à 5 millisecondes (voir nanosecondes

avec un accélérateur matériel)

Un déchiffrement RSA (considérant les optimisations matérielles et

logicielles) en 100-300 millisecondes !!!

Page 16: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 16

Échange de clés

Puisque les chiffrements à clé publique sont trop coûteux, ils

servent généralement à échanger des clés secrètes.

Système hybride

Le message est chiffré rapidement grâce à une clé secrète DES ou AES.

Cette clé secrète ne sert que pour un message. C’est une clé de session.

Première alternative: La clé de session est chiffrée grâce à un

algorithme de cryptographie à clé publique tel que RSA.

Deuxième alternative: La clé de session est obtenue grâce à un proto-

cole d’échange de clé tel que Diffie-Hellman.

Page 17: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 17

Échange de clés – Chiffrement RSA

Supposons qu’Alice veuille envoyer un message M à Bob.

Alice choisit une clé de session K au hasard (p.e. DES – 56 ou 112 bits.)

Alice chiffre le message M avec cette clé K.

Alice chiffre K avec la clé publique de Bob.

Alice envoie les deux cryptogrammes à Bob.

64 bits

64 bits

DESK

64 bits

64 bits

DESK

Texte en clair M

Cryptogramme du message

00 02 [ Padding sans 00 ] 00 Clé K RSA

Bob

longueur de la clé N

Cryptogramme

Page 18: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 18

Cryptographie à clé publique a ses problèmes

Le chiffrement RSA a un problème important:

Les clés publiques doivent être authentiques.

Les clés publiques ne doivent pas demeurées confidentielles

comme les clés privées ou les clés secrètes, mais elles doivent

être certifiées comme étant authentique.

Page 19: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 20

RSA – Man-in-the-middle

Lorsque deux intervenants veulent échanger des informations pour échanger une clé de session grâce à RSA, ils se doivent d’authentifier leur partenaire.

Alice: Voici ma clé publique

Bob: Voici la clé de session chiffrée

The man-in-the-middle

Page 20: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 21

Signature numérique (Digital signature)

L’authentification d’un message grâce à un Message Authenti-

cation Code (MAC) permet au destinataire de vérifier l’intégrité

du message et l’authenticité de l’envoyeur.

Toutefois, il n’est pas possible de déterminer si l’envoyeur ou

le destinataire a réellement envoyé le message.

Puisque les deux intervenants possèdent la clé secrète utilisée pour

calculer le MAC, ils peuvent être tous les deux l’envoyeur.

Page 21: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 22

Signature numérique (Digital signature)

La signature numérique permet de:

s’assurer de l’intégrité du message;

de vérifier l’origine du message (non-repudiation).

Page 22: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 23

RSA – Signature numérique

La signature digitale RSA est la notion duale du chiffrement RSA.

Le signature du message M:

Puisque le signataire est le seul possédant sa clé privée, il est le seul pouvant

signer.

La vérification de la signature:

Puisque tous les intervenants peuvent obtenir la clé publique, ils peuvent

tous vérifier la signature.

NSignatureSignatureEMessage e

Ne mod,

NMMDSignature d

Nd mod,

Page 23: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 24

Infrastructures à clé publique

La cryptographie à clé publique repose essentiellement sur

l’authenticité des clés publiques.

Ces clés n’ont pas forcément besoin d’être transmises de façon

confidentielle, mais elles se doivent d’être transmises de façon

à s’assurer de leurs authenticités.

Sources non-réfutables en qui les intervenants peuvent avoir

confiance.

Page 24: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 25

Modèles d’infrastructure

Modèle hiérarchique

Infrastructure à clé publique (ICP) – Public key infrastructure (PKI).

Utilisé par les organismes commerciaux et gouvernementaux.

Réseau de confiance (Web of trust)

Modèle distribué sans autorité centrale.

Utilisé par le logiciel PGP.

Page 25: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 26

Modèle hiérarchique

Le modèle repose sur une autorité certifiant les clés des divers

intervenants.

Le rôle de l’autorité de certification (Certification Authority –

CA) est de s’assurer de la validité de la correspondance entre

un nom d’une personne et une clé publique.

Le CA émet des certificats X.509 aux personnes qu’elle a pu authentifier.

Une personne faisant confiance à un CA devrait pouvoir

identifier toutes les personnes authentifiées par ce CA.

Page 26: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 27

Modèle hiérarchique – Certificats X.509v3

Certificate Version

Serial Number

Algorithm ID

Issuer

Validity Not Before

Not After

Subject

Subject Public Key Info Public Key Algorithm

Subject Public Key

Issuer Unique Identifier (Optional)

Subject Unique Identifier (Optional)

Extensions (Optional)

Certificate Signature Algorithm

Certificate Signature

Identification de la personne

Signature du contenu par le CA

Page 27: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 28

Modèle hiérarchique – Certificat du CA

Distribution du certificat du CA à tous les intervenants.

Certificat autosigné c.-à-d. que le CA signe son propre certificat.

Le certificat est distribué de façon sécurisée – p.e. avec le système

d’exploitation.

Page 28: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 29

Modèle hiérarchique – Certificat du client

Chaque intervenant s’inscrit au CA afin qu’il puisse être identifié

par un autre intervenant.

L’intervenant reçoit un certificat l’identifiant signé par le CA.

Voici mon nom, ma clé et mes preuves

Voici le certificat X.509 d’Alice signé par CA

CA

Page 29: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 30

Modèle hiérarchique – Identification

Chaque intervenant ayant un certificat peut « prouver » son

identité à tout autre intervenant ayant confiance au CA.

Bob peut posséder le certificat de plusieurs CA afin de pouvoir

identifier plusieurs intervenants.

J’accepte votre certificat

Voici mon nom et ma clé (voici mon certificat)

Validation du certificat

d’Alice grâce au certificat

du CA.

Page 30: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 31

Page 31: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 32

Modèle hiérarchique – La hiérarchie

Afin de permettre une plus grande flexibilité, les CA peuvent s’organiser en hiérarchie. Il suffit alors de faire confiance au root CA pour identifier tous les intervenants.

Root CA

Certificate chain

Page 32: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 33

Modèle hiérarchique – Certificate chain

Une chaîne de certificats est composée:

Du certificat de l’intervenant

Du certificat du CA1 qui a authentifié l’intervenant

Du certificat du CA2 qui a authentifié CA1

Du certificat du CA3 qui a authentifié CA2

Du certificat du CAk qui a été authentifié par le Root CA

Ainsi, tout intervenant ayant le certificat du Root CA peut

remonter la chaîne et identifier l’intervenant initial.

La confiance est transitive.

Page 33: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 34

Modèle hiérarchique – Problèmes

Comment identifier et authentifier un intervenant pour un CA?

Niveaux de certificats

Comment distribuer de façon sécurisée le certificat d’un Root CA?

Comment faire pour révoquer un certificat?

Vérification en ligne?

Comment intégrer les certificats dans une application usager?

Quel usager a les compétences pour comprendre et analyser un certificat?

Page 34: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 35

Modèle du réseau de confiance

Ce modèle du réseau de confiance est simple et sans autorité

centrale.

C’est le modèle qu’utilise PGP – Pretty Good Privacy.

Chaque intervenant construit son réseau de confiance.

Il peut décider de faire confiance à un autre intervenant qui lui donne

directement son certificat.

Par exemple, vérification de l’empreinte du certificat par téléphone.

Il peut décider de faire pleine confiance à tout intervenant « connu » par

un autre intervenant en qui il a pleine confiance.

Plusieurs variantes de cette règle existent:

Doit être connu par plus d’un intervenant en qui il a pleine confiance.

Peut avoir une confiance relative en ce nouvel intervenant.

Page 35: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 36

Modèle du réseau de confiance – Problèmes

Est-ce que les amis de mes amis sont mes amis?

Idéal pour un milieu informel, mais non pour une application

où le cadre juridique est important.

Bancaire

Gouvernemental

Page 36: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 37

Notions en vrac – Près de 30 ans de recherche

Elliptic-Curve Cryptosystem

Systèmes cryptographiques très performants (longueurs de clé)

Cryptosystème ElGamal

Algorithme de chiffrement et de signature basé sur le problème du logarithme discret.

DSA – Digital Signature Algorithm

Standard américain basé sur une variante de ElGamal

Cryptosystème de Rabin

Cryptosystème de Paillier

Cryptographie à clé publique probabiliste

Algorithmes à divulgation nulle (Zero-knowledge proofs)

Page 37: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 38

La cryptographie – mais où?

IPSec + IKE (Internet Key Exchange)

Authentification du serveur + Échange de clé

Signature RSA, DSA, …

Chiffrement (AES, 3DES, DES, …) de la communication

SSL/TLS

Authentification du serveur + Échange de clé

RSA, DH, …

Chiffrement (AES, 3DES, DES, …) de la communication

Page 38: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 39

La cryptographie – mais où?

SSH

Authentification du serveur + Échange de clé

DH

Empreinte de la clé publique présentée à l’usager

Configuration de la clé publique du serveur sur le poste client

Certificat à clé publique

Authentification du client (facultatif)

Chiffrement (AES, 3DES, DES, …) de la communication

Client courriel – Outlook, PGP

Signature des messages – RSA, DSA

Chiffrement des messages – AES, 3DES, DES, …

Page 39: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 40

Conclusions

La cryptographie est un outil essentiel afin de s’assurer de la

confidentialité, l’authenticité et de l’intégrité des actifs

informationnels.

Règle d’or #1 : ne jamais développer un nouvel algorithme

cryptographique. Utiliser ceux qui sont disponibles depuis un

certain temps. Older is better.

Règle d’or #2: avant de déployer une solution cryptographique, il

faut comprendre l’architecture de sécurité et son implémentation:

Confiance en qui?

Gestion des clés adéquate (génération, entreposage, rotation, …)

Implémentation logicielle et ses vulnérabilités

Page 40: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 41

Supplémentaires

Page 41: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 42

Échange de clé – Diffie-Hellman

Premier algorithme présenté en 1976.

Algorithme permettant à deux intervenants d’obtenir une clé secrète de

façon sécurisée en utilisant un canal de communication authentifié

(tel que le téléphone).

Ne permets pas de chiffrer directement un message comme RSA.

Ce système est basé sur une fonction à sens unique computa-

tionnelle:

Soit p un grand nombre premier d’au moins 1024 bits.

Soit g un « générateur ».

Les paramètres g et p sont connus de tous.

Page 42: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 43

Échange de clé – Diffie-Hellman

1. Alice choisit x au hasard.

2. Alice envoie gx mod p à Bob.

3. Après la réception du message de Bob,

Alice calcule la (gy mod p)x mod p.

4. La clé secrète peut être utilisée pour

chiffrer un message.

1. Bob choisit y au hasard.

2. Bob envoie gy mod p à Alice.

3. Après la réception du message d’Alice,

Bob calcule la (gx mod p)y mod p.

4. La clé secrète peut être utilisée pour

chiffrer un message.

Alice: gx mod p

Bob: gy mod p

= gxy mod p = gxy mod p

Page 43: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 44

Échange de clé DH – Les mathématiques

Le problème mathématique sur lequel est basé l’échange de clé

DH est connu sous le nom de « logarithme discret » (Discrete

Logarithm Problem).

Très longue histoire.

Toujours pas de solution.

Page 44: Algorithmes à clé publique Jean-Marc Robert · 2016. 6. 10. · Premier algorithme à clé publique –RSA Cet algorithme a été proposé en 1977 par Rivest, Shamir et Adleman

Jean-Marc Robert, ETS Cryptologie - Clé publique - A08 45

DH – Man-in-the-middle

Lorsque deux intervenants veulent échanger des informations pour obtenir une clé de session grâce à DH, ils se doivent d’authentifier leur partenaire.

Alice: Voici mes données pour la clé

Bob: Voici mes données pour la clé

The man-in-the-middle