31
PKI et Certification Ahmed Serhrouchni ENST’Paris CNRS

PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

Embed Size (px)

Citation preview

Page 1: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

PKIet

Certification

Ahmed Serhrouchni

ENST’Paris

CNRS

Page 2: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

2

PlanPlan

La cryptographie asymétrique.

Infrastructure à Clé publique (PKI).

Modèle de Confiance.

Structure du Certificat numérique.

Conclusion

Page 3: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

3

Cryptographie asymétrique et gestion des clés

Problèmes:

Distribution des clés• Obtenir la clé publique d’une autre entité

• Distribuer sa propre clé publique

Révocation • Révoquer une clé publiée

• Déterminer si une clé publiée est valide ou non

Page 4: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

4

Distribution des clés publiques

1.1. Alice envoie sa clé publique à Bob

2.2. Mallet intercepte la clé et la remplace avec sa propre clé

3.3. Mallet peut décrypter tout le trafic et générer des signatures falsifiées

Alice Bob

Alice Bob Mallet

/

Page 5: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

5

Distribution des clés publiques (suite)

Une autorité de certification (CA) résout ce problème:

• Alice envoie sa clé publique au CA

• Alice prouve qu’elle détient la clé privée correspondant à la clé publique envoyée

• Le CA vérifie l’identité d’Alice

• Le CA signe l’ensemble: clé publique et identité d’Alice avec sa clé privée, le document signé est appelé certificat

Quand Bob reçoit le certificat d’Alice, il est sûr que la clé qui y est certifiée est celle d’Alice

Page 6: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

6

C’est quoi un certificat numérique ?

Structure de données liant différents éléments au moyen de la signature d’une autorité de confiance

Page 7: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

7

Infrastructure à clé publique (PKI)

D’après le standard X.509:

CA Répertoire

Utilisateur final

Publie /

Publie la révocation

Demande / Émet

Mais:•Le CA doit vérifier les détails de chaque utilisateur•Risques pour la sécurité du CA

Page 8: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

8

Infrastructure à clé publique (suite)

Autorité d’enregistrement (RA)•Intermédiaire entre  détenteur de clé et CA•Vérifie les requêtes des utilisateurs et les transmet au CA•Le niveau de vérification dépend de la politique de certification (CPS) mise en œuvre

CA Répertoire

Utilisateurs finaux

Publie /

Publie la révocation

Demande / Émet

RA

Page 9: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

9

Composants d’une PKI

• Principaux– Autorité de certification CA– Autorité d’enregistrement RA– Annuaire de publication– Administrateurs

• Complémentaires– Base de données– Serveur d’horodatage.– Serveur HTTP, SMTP, POP.

Page 10: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

10

Modèle de confiance dans X.509

•Infrastructure hiérarchique

•Possibilité de certification entre 2 CAs appartenant à des arbres différents, c’est la co-certification

1

3

54

2

1 CA

Utilisateur final

CA11

3

5

2

CA2CA1 co-certifie CA2

Page 11: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

11

Certificats X.509

Principal format utilisé pour les certificats

Norme:• ITU-T X.509, ou ISO/IEC 9594-8

Versions successives:• 1988 : v1• 1993 : v2 = v1 + 2 nouveaux champs• 1996 : v3 = v2 + extensions

Page 12: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

12

Version (V1)

Serial Number (V1)

Signature Algorithm Identifier (V1)(pour la signature de l’émetteur du certificat)

Issuer (V1) (Nom X500 du CA)

Validity (V1)(Dates début et fin du certificat)

Subject (V1)(Nom X500 du détenteur)

SubjectPublicKeyInformation (V1)(Identificateur de l’algorithme et clé publique)

IssuerUniqueIdentifier (V2)

SubjectUniqueIdentifier (V2)

Extensions (V3)

Signature digitale du CA

Structure d’un certificat X.509

Génération de la signature

Clé privée du CA

Page 13: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

13

Structure d’un certificat X.509

– IssuerUniqueIdentifieidentifie de façon unique la clé utilisée par le CA pour signer le certificat (cas où le CA a utilisé plusieurs clés depuis sa mise en œuvre)

– SubjectUniqueIdentifierDifférencie entre plusieurs clés publiques, issues par le même CA, appartenant à un même détenteur

Page 14: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

14

Structure d’un certificat X.509

Page 15: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

15

Extensions d’un Certificat X.509

Le concept d’origine des certificats X.509 est de relier l’identité d’une entité à une clé publique

Nouvelles situations: besoin d’avoir d’autres informations que l’identité

Solution: Introduction de blocks de données pouvant supporter n’importe quel type d’informations pour satisfaire des besoins locaux

Page 16: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

16

Extensions d’un Certificat X.509 (suite)

Rajout de nouveaux champs sans la modification de la définition ASN.1 d’un certificat

Permettre le rajout d’extensions selon le besoin des implémentations

L’identificateur d’une extension est défini selon ITU-T Rec. X.660 | ISO/IEC 9834-1

Identificateur Extension1 Flag critique (1 ou 0) Valeur Extension1

Identificateur Extension2 Flag critique (1 ou 0) Valeur Extension2

Identificateur Extension3 Flag critique (1 ou 0) Valeur Extension3

Page 17: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

17

Extensions d’un Certificat X.509 (suite)

Les extensions sont classées en 4 catégories:

Les extensions d’information sur la clé et la politique de sécurité

Les extensions d’informations sur le détenteur et l’émetteur

Les extensions de contraintes sur le chemin de certification

Les extensions de révocation

Page 18: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

18

Extensions d’information sur la clé et la politique de sécurité

Key Usage: définit l’utilisation de la clé certifiée• digitalSignature• nonRepudiation• keyEncipherment• keyAgreement• keyCertSign/cRLSign

Extended Key Usage: autres cas d’utilisation • ServerAuthentication• clientAuthentication• codeSigning• emailProtection• timeStamping

Page 19: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

19

Extensions d’information sur la clé et la politique de sécurité (suite)

Private Key usage Period: définit les dates début et fin de validité de la clé privée

• Une signature peut être valide pour 10-20 années, mais la clé privée doit être utilisée uniquement pour 1 ou 2 années

Page 20: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

20

Extensions d’information sur la clé et la politique de sécurité (suite)

Certificate Policies

Informations sur la politique du CA sous laquelle le certificat a été émis

X.509 délègue à la politique du CA tout ce qui concerne la sémantique de confiance du certificat

• Plusieurs politiques servent pour protéger le CA de toute responsabilité« Verisign disclaims any warranties … Varisign makes no representation that any CA or user to which it has issued a digital ID is in fact the person or the organisation it claims to be… Verisign makes no assurances of the accuracy, authenticity, integrity, or reliability of information »

Page 21: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

21

Extensions d’informations sur le sujet et l’émetteur

Alternative Name (Subject / Issuer) ou General Name

• Nom rfc822 (adresse mail)• Nom DNS (Nom DNS d’une machine)• uniformResourceIdentifier (URL)• Adresse IP• Adresse X.400• Nom EDI• OID• Toute autre forme de nom …

Page 22: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

22

Extensions d’informations sur le sujet et l’émetteur (suite)

Subject directory attributes • Transporte une séquence d’attributs concernant le

sujet du certificat: un rôle, une appartenance à un groupe, une autorisation, un numéro de téléphone…

Page 23: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

23

Extensions de contraintes sur le chemin de certification

Basic Constraints• Précise si le certificat émis est un certificat de CA ou pas

• Si le certificat émis est un certificat de CA, une « Distance de certification » est définie

Name Constraints• utilisé dans les certificats de CAs• indique un espace de noms où tous les noms des sujets

ultérieurs dans le chemin de certification doivent figurer

Policy Constraints• Identification explicite de la politique de sécurité

Page 24: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

24

Extensions de révocation

CRL Distribution Points• identifie les points de distribution de la CRL

Freshest CRL• identifie la CRL qui a les informations les plus récentes

Page 25: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

25

Travaux Pratiques

Expérimentation et mise en œuvre de la cryptographie

Page 26: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

26

Travaux Pratiques

• Objectifs:– Génération de clés publiques/privés– Génération de certificat– Signature numérique– Chiffrement et signature au format smime– Chiffrement symétrique

Page 27: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

27

Outils à utiliser

• Openssl : libraire de cryptographie et de services liés à la signature et chiffrement

• Openssl supporte également un client et serveur SSL

• Développé initialement sous le nom de SSLeay par Eric Young

• Référence et documention:– http://www.openssl.org

Page 28: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

28

Comment installer openssl?

• Sur plateforme Unix récupérer la distribution sous format tar après désarchivage, la compiler puis installer

• Sur plateforme Windows aller sur le site de www.opensa.org et récupérer la distribution de apache incluant la librairie openssl (très rapide à installer)

Page 29: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

29

Commandes à utiliser

• Genrsa

• Req

• CA

• Smime

• X509

• Rsa

• pkcs12

Page 30: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

30

Premier objectif que tout le monde doit atteindre

• Générer une paire de clés• Générer un certificat auto signé• Transmettre la clé publique à son correspondant

(certificat)• Signer un fichier avec sa clé privé, le chiffrer

avec la clé du correspondant et le lui transmettre (le format du fichier est du smime)

Page 31: PKI et Certification Ahmed Serhrouchni ENSTParis CNRS

31

Deuxième objectif

• Générer un certificat

• Générer une clé privé au format pkcs12

• Importer cette clé au niveau du browser ou de Outlook express.