34
1 Bruno Bonfils <[email protected]> Les infrastructures de clés publiques (PKI, IGC, ICP) JDLL 14 Octobre 2006 Lyon Bruno Bonfils <[email protected]>

Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

Embed Size (px)

Citation preview

Page 1: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

1

Bruno Bonfils <[email protected]>

Les infrastructures de clés publiques (PKI, IGC, ICP)

JDLL14 Octobre 2006

Lyon

Bruno Bonfils<[email protected]>

Page 2: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

2

Bruno Bonfils <[email protected]>

Plan

L'utilisation des certificats

Le rôle d'un certificat

Les autorités de confiance

Le principe de confiance

La structure d'un certificat

Une PKI

Un générateur de PKI libre, EJBCA

Page 3: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

3

Bruno Bonfils <[email protected]>

L'utilisation des certificats 1/2

Utilisation courante

HTTPs, POP3s, IMAPs, etc.

Email (S/MIME) (chiffrement et signature)

Signature d'objets (paquets, librairies, etc..)

D'autres utilisations

Tunnel VPN

Non répudiation (désaveu impossible)

Page 4: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

4

Bruno Bonfils <[email protected]>

L'utilisation des certificats 2/2

Des applications utilisateurs

Mozilla, Thunderbird, Kmail, etc.

De nombreux services peuvent utiliser des certificats

Apachechiffrement, authentification utilisateur

OpenSSH (patch requis)authentification utilisateur

Postfix, OpenLDAP, etc.

Page 5: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

5

Bruno Bonfils <[email protected]>

Le rôle d'un certificat

Chiffrement

clé privée

clé publique

Carte d'idendité électronique

nom (de la personne ou de la machine)

l'émetteur

Lors d'une communication basée sur SSL/TLS, l'idendité du client peut également être assurée (authentification)

Page 6: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

6

Bruno Bonfils <[email protected]>

Les autorités de confiance

Publient un certificat racine qui peut être inclus dans des applications

L'inclusion d'une autorité de confiance implique de faire confiance à tous les certificats qu'elle émet

Quelques exemples

Thawte, Verisign, etc..

Page 7: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

7

Bruno Bonfils <[email protected]>

Le principe de confiance 1/2

L'inclusion d'un certificat racine n'est pas une chose mineure, elle doit faire l'objet d'une attention particulière

L'ETSI fournit quelques recommandations

Existence légale (entreprise)

Solidité financière

Service juridique

Page 8: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

8

Bruno Bonfils <[email protected]>

Le principe de confiance 2/2

Les applications se doivent de fournir un document sur leurs politiques d'acceptation des certificats racines

Quelques exemples de politiques importantes

Debian (package ca-certificates)

Mozilla et dérivés (navigateur Web, client mail)

Page 9: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

9

Bruno Bonfils <[email protected]>

La structure d'un certificat 1/2

Les informations obligatoires

L'identifiant du destinataire du certificat

L'identifiant de l'émetteur

Une date de validité (début et fin)

Un numéro de série

Un identifiant est composé d'attribut

CN, O, OU, C, etc.

Mapping possible avec annuaire LDAP

Page 10: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

10

Bruno Bonfils <[email protected]>

La structure d'un certificat 2/2

Le standard X509v3 définit les extensions suivantes

Contrainte CA (autorise à signer d'autres certificats)

Une liste d'utilisation du certificatDigital Signature, time stamping

Non repudiation

Client, server authentication

URI du répondeur OCSP, de la CRL

Des noms alternatifs

Page 11: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

11

Bruno Bonfils <[email protected]>

Une PKI

Appellations : PKI, ICP, IGC

C'est un ensemble comportant de multiples acteurs (entités)

Une infrastructure technique

Des documents décrivant la politique

CP, PC (Politique de certification)

Cheminement du certificatémission

utilisation

Page 12: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

12

Bruno Bonfils <[email protected]>

Architecture d'une PKI

Entitésfinales

Utilisateurs PKI

Création d'une nouvelle entité(exemple : nouveau partenaire)

Administrateurs PKI

Page 13: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

13

Bruno Bonfils <[email protected]>

Architecture d'une PKI

Entitésfinales

Utilisateurs PKI

RA

Autorité d'enregistrement

Émission d'une demande de certificat

Administrateurs PKI

Page 14: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

14

Bruno Bonfils <[email protected]>

Architecture d'une PKI

Entitésfinales

Utilisateurs PKI

RA

CA

Autorité d'enregistrement

Autorité de certification

Vérification de la demandeet transfert à l'AC

Administrateurs PKI

Page 15: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

15

Bruno Bonfils <[email protected]>

Architecture d'une PKI

Administrateurs PKI

Dép

ôt

Entitésfinales

Utilisateurs PKI

RA

CA

Autorité d'enregistrement

Autorité de certification Envoie du certificat à l'entité

Publication du certificat

Page 16: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

16

Bruno Bonfils <[email protected]>

Architecture d'une PKI

Administrateurs PKI

Dép

ôt

Entitésfinales

Utilisateurs PKI

RA

CA

Listes des révocations (CRL)Vérification du statut (OCSP)

Autorité d'enregistrement

Autorité de certification

Page 17: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

17

Bruno Bonfils <[email protected]>

Les acteurs d'une PKI

Des entités finales (des utilisateurs, des services)

possesseur de un ou plusieurs certificats

Des autorités d'enregistrement

Valident et générent les demandes de certificats

Des autorités de certification

Définition des politiques (CP / PC)

Création des certificats

Page 18: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

18

Bruno Bonfils <[email protected]>

L'infrastructure technique

Une interface utilisateur, administrateur

généralement Web

peut être CLI

Publication (dépôt)

des certificats (LDAP)

des révocations, statuts (CRL, OCSP)

Des interfaces d'enrôlements

Navigateur web

Equipements VPN (SCEP)

Page 19: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

Exemple de PKI : EJBCA

● Générateur libre de PKI● Indépendant de la plateforme● Interopérable● S'adapte aux politiques● Peut gérer plusieurs certificats racines

Page 20: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

EJBCA, à propos

● Application Java (1.4, 1.5) EJB● Licence LGPL● Edité par la société PrimeKey (Suède)● Réactivité de développement● Développement spécifique possible● ~40 contributeurs● Utilisée par de grand comptes

Page 21: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

21

Bruno Bonfils <[email protected]>

Architecture système

JBoss

JRE

EJBCA

Extra libs

Batchs Utilisateurs Administrateurs

SGDB Annuaire

Page 22: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

22

Bruno Bonfils <[email protected]>

Architecture réseau

Page 23: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

23

EJBCA

Fonctionnalités

Installation simple (15 minutes)

OCSP (Online Certificate Status Protocol)

Vérification des révocations

SCEP (Simple Certificate Enrollment Protocol)

IOS (Cisco)

NSOS (NetScreen)

OpenSCEP

Page 24: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

24

EJBCA

Fonctionnalités

Supporte de nombreux SGBD via le mécanisme JDBC

MySQL

PostgreSQL

Mais aussi Oracle, Sybase, etc.

Permet la publicationStandard LDAP

Active Directory

Extensible via programmation

Page 25: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

25

EJBCA

Fonctionnalités

Approbation possiblePlusieurs administrateurs sont nécessaires pour effectuer une opération

Supporte des équipement hardware tel que nCipher

Accélération hardware

Approbation multiples

Interface ligne de commandeTraitements par lots

Opérations d'administrations

Page 26: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

26

La fonction CA

Gestion des certificats racines

Gestion des profils de certificats

Utilisation (keyUsage, Extended KeyUsage)Certificat serveur

Signature de courrier (SMIME)

Profil de publication

Taille de clé

Connaissances techniques requises

Page 27: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

27

Page 28: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

28

La fonction RA

Rôle

Gérer les demandes de certificats

Transférer les demandes de certificats

Connaissances techniques non requises

Valider la demande de certificat

Page 29: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

29

La fonction RA

Profil RA

Choix d'un profil de certificat

Champs du sujet (DN)choix des attributs disponibles (obligatoire ou facultatif)

présélection de valeur– Contraintes : champ fixe, liste de choix– Domaine de l'adresse mail

Choix du format (ex : PEM, PKCS12)

Page 30: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

30

Page 31: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

31

Page 32: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

32

Page 33: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

33

Bruno Bonfils <[email protected]>

Démonstration EJBCAQuestions / réponses

Page 34: Les infrastructures de clés publiques (PKI, IGC, ICP)asyd.net/talks/intro-aux-pki.pdf · IOS (Cisco) NSOS (NetScreen) OpenSCEP. 24 EJBCA Fonctionnalités Supporte de nombreux SGBD

RemerciementsLinagora et L'équipe de EJBCA (spécialement Tomas et Philip)

Yannick Quenec'hdu

En savoir plusSite RSA

Site Linagora sur les PKI

RFC, code source

Wikipedia