Qu'est-ce que c'est ?

PKI (Public Key Infrastructure) est un système de gestion des clefs publiques qui permet de gérer des listes importantes de clefs publiques et d'en assurer la fiabilité,
pour des entités généralement dans un réseau. Elle offre un cadre global permettant d'installer des éléments de sécurité tels que la confidentialité, l'authentification, l'intégrité
et la non-répudiation tant au sein de l'entreprise que lors d'échanges d'information
avec l'extérieur.


Une infrastructure PKI fournit donc quatre services principaux:

    - fabrication de bi-clés.
    - certification de clé publique et publication de certificats.
    - Révocation de certificats.
    - Gestion la fonction de certification.

Techniquement :

Une infrastructure à clé publique utilise des mécanismes de signature et certifie des clés publiques qui permettent de chiffrer et de signer des messages ainsi que des flux de données, afin d'assurer la confidentialité, l'authentification, l'intégrité et la non-répudiation.

- Signature :

Dans la signature nous avons une bi-clé : une clé (privé) pour la création de siganture
et une clé (publique) pour la vérification de signature, pour signer un message voici comment
se passe:

  • 1) à l'aide de la clé privée de signature de l'expéditeur, une empreinte connue
    sous le nom "message digest" est générée par hachage en utilisant l'algorithme SHA-1 ou MD5, le plus utilisé étant SHA-1. Cette empreinte est ensuite cryptée avec cette clé privée de signature.

  • 2) on joint au message l'empreinte et le certificat contenant la clé publique de signature.

  • 3) le destinataire vérifie la validité du certificat et sa non révocation dans l'annuaire.

  • 4) le destinataire transforme l'empreinte avec la clé publique de signature ainsi validée. Cette opération permet de s'assurer de l'identité de l'expéditeur.

  • 5) ensuite le destinataire génère une empreinte à partir de message reçu en utilisant
    le même algorithme de hachage. Si les deux empreintes sont identiques, cela signifie que le message n'a pas été modifié.

    Donc la signature vérifie bien l'intégrité du message ainsi que l'identité de l'expéditeur.

Exemples d'algorithme de signature: RSA,DSA


- Défintions :

  • Confidentialité : Les informations échangées deviennent illisibles,cette confidentialité est assurée par le chiffrement
  • Authentification : identification de l'origine de l'information.
  • Non-répudiation : l'émetteur des données ne pourra pas nier être à l'origine
    du message.
  • Intégrité : fonction permettant d'assurer que l'information n'a pas subi de modification .

- Chiffrement :

    Il y a deux types de chiffrement possible :

  • Chiffrement à clé secrète (symétrique):
    L’émetteur utilise une clé pour chiffrer le message et le destinataire utilise la même clé
    (le même algorithme mais en sens inverse) pour déchiffrer le message.

  • Chiffrement à clé publique (asymétrique) :
    Un message chiffré avec une clé publique donnée ne peut être déchiffré qu’avec la clé privée correspondante.
    Par exemple si A souhaite envoyer un message chiffré à B, il le chiffrera en utilisant la clé publique de B (qui peut être publié dans l'annuaire). La seule personne qui déchiffre
    le message est le détenteur de la clé privée de B.

Exemples d'algorithme de chiffrement:

    - Symétrique: DES;AES
    - Asymétrique: RSA




    Organisation d'une PKI



Organisation d'une PKI

Dans une infrastructure à clé publique ; pour obtenir un certificat numérique, l'utilisateur
fait une demande auprès de l'autorité d'enregistrement. Celle-ci génère un couple de clé
(clé publique, clé privée), envoie la clé privée au client, applique une procédure et des critères définis par l'autorité de certification qui certifie la clé publique et appose sa signature
sur le certificat, parfois fabriqué par un opérateur de certification.

La Structure d'un Certificat numérique selon la norme X509

  • Version : indique à quelle version de X509 correspond ce certificat
  • Numéro de série : Numéro de série du certificat
  • Algorithme de signature: identifiant du type de signature utilisée
  • Emetteur : Distinguished Name (DN) de l'autorité de certification qui a émis ce certificat.
  • Valide à partir de: la date de début de validité de certificat
  • Valide jusqu'à : la date de fin de validité de certificat
  • Objet: Distinguished Name (DN) de détenteur de la clef publique
  • Clé publique : infos sur la clef publique de ce certificat
  • Contraintes de base : extensions génériques optionnelles
  • Utilisation de la clé : l'objet d'utilisation de la clé
  • Algorithme thumbprint : alogrithme de signature
  • Thumbprint : signature numérique de l'autorité de certification sur l'ensemble
    des champs précédents.

Exemple d'un Certificat X509 généré par OPENSSL


 


Gestion des clefs

L'utilisation de bi-clefs certifiés entraîne la nécessité de la publication en toute confiance
de la clef publique. Cette publication doit assurer la validité de clé et l'appartenance
de cette clé à la bonne personne. La publication des certificats (des clefs publiques)
est faite en utilisant les structures d'annuaires de type LDAP (Lightweight Directory Access Protocol) (RFC 2251), les certificats révoqués sont regroupés dans des listes de révocations (CRL) qui sont des structures de données signées et dont le format est défini par le protocole X509 V2, ce format peut permettre une distribution des CRL via les annuaires LDAP comme Netscape Directory Server d'iplanet ou bien openldap.


Quelques offres commerciales d'infrastructure à clé publique


Editeur
Offre
Baltimore Technologies Unicert
Entrust Technologies Entrust/PKI
keynectis PKI/offre initiale
TrustyCom TrustyKey
Sagem Confidence

 


PKI gratuite ( OpenPKI)

Editeur
Offre
http://www.openssl.org Openssl
http://www.idxpki.org IDX-PKI

 


L'utilisation du PKI

Prenons un exemple de l'authentification mutuelle : la partie cliente d'une application présente un certificat à la partie serveur, qui en vérifie la validité auprès de l'annuaire des certificats révoqués, à l'inverse, le serveur peut lui-même envoyer un certificat au client, ce qui permet
une authentification mutuelle, par exemple un web sécurisé.
Une telle procédure est intéressante pour un VPN (Virtual private Network), dans le cas
des équipements réseaux cette intégration est normalisée par le protocole IPSEC IKE
(Internet Key Exchange). Pour les intranets, les éditeurs de PKI s'appuient sur les protocoles SSL (Secure Socket Layers) que les navigateurs et les serveurs web supportent nativement.


Conclusion

Une PKI est une infrastructure qui se construit, c'est donc une structure à la fois technique
et administrative, avec 80% d'organisationnelle et 20% de technique.
Le domaine des PKI est intéressant : il est possible de les utiliser pour des applications
tels que mail chiffré, web sécurisé VPN (notamment IPSEC), commerce électronique...
Et comme les PKI intègrent la cryptographie à clef publique et certificat numérique,
elles peuvent se confier à des tiers de confiance et doivent recevoir l'agrément du
DCSSI
( Direction Central de la Sécurité des Systèmes d'Information), pour avoir une portée nationale.
Actuellement l'absence de standards pour l'implantation des PKI, engendre des problèmes d'interopérabilité entre les offres du marché.



Lexique

Autorité de certification : entité qui crée des certificats. C'est une autorité morale qui définit les règles d'entrée des ressources et des individus dans la PKI. En pratique, il s'agit de définir les critères et les modalités d'attribution de certificats numériques.

Autorité d'enregistrement : entité chargée de recueillir les demandes de certificats
et de contrôler l'identité de la personne ainsi que les critères d'attribution.

Certificat : Une identité électronique qui est émise par une tierce partie de confiance
pour une personne ou une entité réseau. Chaque certificat est signé avec la clé privée
de signature d'une autorité de certification. Il garantit l'identité d'un individu, d'une entreprise
ou d'une organisation. En particulier, il contient la clé publique de l'entité et des informations associées à cette entité.

Certificat Auto signé : un certificat auto signé contient comme tout certificat une clé publique. Sa particularité réside dans le fait que ce certificat est signé avec la clé secrète associée.
Dans ce cas précis, l'autorité de certification est donc le détenteur du certificat.

Certificat X.509 : Il s'agit d'une norme sur les certificats largement acceptée et conçue
pour supporter une gestion sécurisée et la distribution des certificats numériquement signés
sur le réseau Internet sécurisé. Le certificat X.509 définit des structures de données en accord avec les procédures pour distribuer les clés publiques qui sont signées numériquement
par des parties tierces.

Certificat X.509v3 : Les certificats X.509v3 ont des extensions de structures de données
pour stocker et récupérer des informations pour les applications, des informations sur les points de distribution des certificats, des CRLs et des informations sur les politiques de certification. Chaque fois qu'un certificat est utilisé, les capacités de X.509v3 permettent aux applications
de vérifier la validité de ce certificat. Il permet aussi à l'application de vérifier si le certificat est dans une CRL. Ces certificats et CRLs sont normalisés auprès de l'IETF dans la RFC 2459.

Clé : Une quantité utilisée en cryptographie pour chiffrer/déchiffrer et signer/vérifier
des données.

CRL : (Certificat Revocation List) se sont les listes de révocations de certificats.

Clé Publique : quantité numérique, attachée à une ressource ou un individu, qui la distribue
aux autres afin qu'ils puissent lui envoyer des données chiffrées ou déchiffrer sa signature.

Clé Privée : quantité numérique secrète attachée à une ressource ou à un individu,
lui permettant de déchiffrer des données chiffrées avec la clé publique correspondante
ou d'apposer une signature au bas de messages envoyés vers des destinataires.

Bi-clé : couple de clés composé d'une clé privée et d'une clé publique

MD5 : Message Digest 5 c'est un algorithme de hachage

RSA : Algorithme de chiffrement à clef publique et de signature inventé par R.Rivest, A.Shamir et l.Adleman

DSA :Digital Signature Algorithm.

AES :Advanced Encryption Standard.

SHA-1 : Secure Hash Algorithm Number 1.SHA est un algorithme de hachage

SSL : (Secure Socket Layer), c'est un protocole de sécurisation conçu par Netscape
qui se situe entre la couche transport (TCP) et les protocoles de la couche application.
Il assure les services de sécurité suivantes : confidentialité, 'intégrité et 'authentification
du serveur et du client.