990 likes | 1.43k Views
Infrastructures à Clefs publiques Public Key Infrastructure (PKI) Stéphane Natkin 2006. Les ICP. Au cœur des mécanismes de sécurité basés sur la cryptographie à clefs publiques: Echange des clefs de session Signature et authentification. Différentes utilisation d’une ICP.
E N D
Infrastructures à Clefs publiquesPublic Key Infrastructure(PKI)Stéphane Natkin2006
Les ICP Au cœur des mécanismes de sécurité basés sur la cryptographie à clefs publiques: • Echange des clefs de session • Signature et authentification
Différentes utilisation d’une ICP • Il peut s’agir d’un moyen interne d’authentification des ressources et des personnes, ainsi que le support de la gestion de clefs de chiffrement. • Il peut s’agir, dans le cadre d’un accord contractuel entre entités, d’un moyen support d’authentification et de chiffrement, mais également d’une signature électronique faisant foi dans les rapports entre les signataires des contrats. • Enfin il peut s’agir d’une infrastructure support de la signature électronique de droit public. Une signature générée à partir d’un bi clefs de l’infrastructure doit donc être valide devant les tribunaux au même titre que la signature manuelle
NOM Clef Signature Validité Extensions a Alice Valida Para Bob b Parb Validb Charles Parc c Validc ANNUAIRE DES CERTIFICATS AC: autorité de certification Norme de représentation des certificats X509 Norme de protocole d’accès: LDAP
Une structure signée SignerInfo ::= SEQUENCE { version CMSVersion, sid SignerIdentifier, digestAlgorithm DigestAlgorithmIdentifier, signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL, signatureAlgorithm SignatureAlgorithmIdentifier, signature SignatureValue, unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL } SignerIdentifier ::= CHOICE { issuerAndSerialNumber IssuerAndSerialNumber, subjectKeyIdentifier [0] SubjectKeyIdentifier } SignedAttributes ::= SET SIZE (1..MAX) OF Attribute UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute Attribute ::= SEQUENCE { attrType OBJECT IDENTIFIER, attrValues SET OF AttributeValue } AttributeValue ::= ANY SignatureValue ::= OCTET STRING
Serial Number :005 • Issuer : CA0 • Subject : CA0 • Clef publique d’Alice • Signature du certificat par CA0 • Serial Number :125 • Issuer : CA0 • Subject : CA1 • Clef publique de CA1 • Signature du certificat par CA0 • Serial Number :224 • Issuer : CA1 • Subject : Alice • Clef publique d’Alice • Signature du certificat par CA1 Une chaîne de certification
Un certificat X509 • serialNumber CertificateSerialNumber : Numéro de certificat unique pour une autorité donnée. • signature AlgorithmIdentifier : Il existe différents algorithmes de signature numérique utilisant des clés publiques des clés privées et des fonctions de hachage variées. Ce champ décrit l'algorithme retenu par l’autorité de certification pour signer le certificat. • issuer Name : C'est le nom de l’autorité de certification qui a émise et signé le certificat. Ce nom est codé selon une syntaxe le la norme d’annuaire X500 (DN Distinguished Name). • validity Validity : Définit la période de validité du certificat comme l'indique clairement le type validity décrit en ASN1 Validity ::=SEQUENCE{ notBefore UTCTime, notAfter UTCTime } • subject Name, C'est le nom au format DN de l’entité possesseur du certificat, qui à l’usage de la clef privée correspondant à la clef publique définie dans le champ suivant. • subjectPublicKeyInfo Contient le nom du crypto système asymétrique auquel se rapporte le certificat et la clef publique correspondante • Les champs extension
Un certificat X509 (2) Certificate ::= SIGNED { SEQUENCE{ version [0] IMPLICIT Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL, -- If present, version must be v2 or v3 subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL -- If present, version must be v2 or v3 extensions [3] Extensions OPTIONAL -- If present, version must be v3 -- } } Version ::= INTEGER { v1(0), v2(1), v3(2) } CertificateSerialNumber ::= INTEGER AlgorithmIdentifier ::= SEQUENCE { algorithm ALGORITHM.&id({SupportedAlgorithms}), parameters ALGORITHM.&Type ({SupportedAlgorithms} {@algorithm}) OPTIONAL } SupportedAlgorithms ALGORITHM ::= { ... } Validity ::= SEQUENCE { notBefore UTCTime, notAfter UTCTime } SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } Time ::= CHOICE { utcTime UTCTime, generalizedTime GeneralizedTime } SIGNED { ToBeSigned } ::= SEQUENCE { toBeSigned ToBeSigned, encrypted ENCRYPTED { HASHED {ToBeSigned }} }
Extensions • SubjectType : Précise si le possesseur (subject) est un utilisateur du certificat ou s’il s’agit d’un certificat de signature d’une autorité de certification. • Keyattributes précise diverses données sur la clef publique. • KeyUsage est l’extension la plus importante. Elle décrit le ou les utilisations autorisées du certificat. • privateKeyUsagePeriod permet de limiter l’usage des clefs privées avant l’expiration du certificat • subjectKeyIdetifier et authorityKeyIdentifier permettent de donner un numéro unique à ces deux clefs.
Période de validité du dernier certificat signé avec Caut Période de validité de la clef privée associée à Caut Période de validité de Caut T+t/2 T+t Renouvellement des clefs
Infrastructure à clefs publiques (PKI)Fonctionnalités • Modules RA/LRA : Autorité d ’enregistrement locale des clients Elle enregistre la demande de certificat et les renseignements associés • Module CA : Autorité de Certification Elle contrôle l ’identité du demandeur et génère le certificat, écrit dans l ’annuaire et la carte à puce, écrit dans la carte la clef privée • Module DIR : Annuaire LDAPv3 de Netscape Sert à publier les certificats • Module TTS : Horodateur sécurisé par carte • Module PERS : personnalisation des dispositifs de sécurité utilisateurs: cartes à puce, disquettes
Carte Annuaire de référence des certificats et de CRL Personnalisation Autorité de Certification Autorité d’enregistrement locale Horodateur Certifié Garde Barrière Serveur de certificats et de CRL Disquette Internet/ Intranet Utilisateurs Clients ou serveurs Garde Barrière Station Base locale de certificats Autorité d ’enregistrement déportée
FONCTIONNEMENT DES INFRASTRUCTURES À CLEFS PUBLIQUES(PKI) Autorité d ’enregistrement (RA) Carte Personnalisation Autorité de Certification X.509 Carte Autorité Annuaire de certificats et de CRL Horodateur Certifié Disquette Client Internet/ Intranet Serveur Station Client Station
l’Autorité de Certification (AC ou CA Certification Authority) C’est le cœur du système. Elle a la responsabilité de la qualité du service de certification, définie par un document qui doit être connu de tous les utilisateurs des certificats : La Politique de Certification (PC) (Certification Policy PC). • Celle ci peut être précisée par des DPC (Déclaration de Procédures de Certifications) (Certification Practice Statement CPS). • Une PC est une déclaration d’engagement qui doit permettre à un tiers de juger s’il peut utiliser un certificat pour une application donnée.
L’autorité d’enregistrement (AE) L’AC peut déléguer tout ou partie de la réalisation des fonctions dont elle est responsable. La fonction qui est le plus souvent déléguée est celle de l’Autorité d’Enregistrement (AE ou RARegistration Authority). • L’autorité d’enregistrement collecte les demandes de certificats avec le informations nécessaires aux vérification d’identité. • Elle transmet cette demande à l’AC et sert d’intermédiaire pour la distribution de supports physiques de certificats (cartes à puces par exemple) et de mot de passes utilisés dans les échanges avec les utilisateurs. • Elle peut servir également d’intermédiaire pour les révocations (en cas de perte de cartes par exemple).
Autres composants Tiers de séquestre : Opérateur qui fournit les moyens de déchiffrer un message quand le détenteur des clefs de déchiffrement ne peut ou ne veut pas le déchiffrer et que les nécessités ou la loi l’y oblige. Un tiers de séquestre, séquestre donc des clefs de déchiffrement. Horodatage de confiance: Il s’agit d’offrir un accès à un serveur de temps permettant de dater de documents faisant l’objet de signatures électroniques. Les propriétés de ce serveur doivent couvrir les attaques d’anti et post datage du document.
CONTRÔLE DES CERTIFICATS Toutes entités impliquées dans un schéma à clef publique doit détenir la clef publique de l ’autorité de certification. Tout accès à un certificat doit être contrôlé: Vérifier que la signature est valide Vérifier que la date courante est dans la période de validité Pour éviter les rejeux de certificats invalidés le serveur d ’annuaire doit : Soit s’authentifier Soit dater et signer sa réponse Soit transmettre périodiquement des listes de révocation datée et signées
CONTRÔLE DES CERTIFICATS Procédure Contrôler_Certificat(in :certificat, out : statut) Début % Soit C=(Autor,125,Alice,a,01/01/2001-31/12/2002,Sig) le certificat % Etape 1 % Contrôle de la signature de l’autorité % Si Sig incorrecte alors statut := “la signature est incorrecte, le certificat n’est pas valide ” ; retour ; Sinon % comme les données contenues dans le certificat ont été générée par Autor et n’ont pas été altérée, % passer à l’étape 2 ; fsi Etape 2 % Contrôle de la date de validité du certificat % Si (date_courante<01/01/2001 ou date_courante>31/12/2002) statut := “ certificat périmé ” ; retour ; Sinon passer à l’étape 3 ; fsi
CONTRÔLE DES CERTIFICATS Etape 3 % Récupération de la liste de révocation % Exécuter CRL_Req(Bob) ; Attendre CRL_Rep(Bob,CRL, statut) ; Si (statutOK) passer l’étape 3 % jusqu’à ce qu’une liste ait été récupérée% Sinon passer à l’étape 4 ; fsi Etape 4 %Vérification de la validité de la liste% % Soit CRL= (Autor, liste,date_de_mise à jour,Sig) la liste récupérée % Etape 4.1 % Vérifier la signature de la liste :% Si signature fausse Aller à l’étape 3 % Pour récupérer une liste correcte % Sinon Etape 4.2 % Vérifier la fraîcheur de la liste % Si (date_courante>date_de_mise_à_jour+ Période) Alors % Période est la période de rafraîchissement des listes déclarées par Autor (24h par exemple), la liste est trop ancienne% Aller à l’étape 3 % Pour récupérer une liste fraîche % fsi fsi
CONTRÔLE DES CERTIFICATS Etape 5 % Vérification de la non-répudiation du certificat d’Alice% Si (125liste) statut := “ certificat d’Alice est révoqué ” ; retour ; Sinon % certificat valide % statut :=OK ; retour ; fsi fin
STOCKAGE DES CLEFS ASYMÉTRIQUES Clef publique de l’autorité, ne doit pas pouvoir être modifiée: Dans le code en dur , sur un support fiable (carte à puce) Clef privée de l ’utilisateur, ne doit pas pouvoir être lue: sur un support confidentiel (carte à puce) ou un fichier chiffré avec un mot de passe (local au poste ou sur disquette) Certificat de l ’utilisateur: Annuaire+support local ou carte ou disquette Annuaire: Annuaire central+version locales (cache, annuaire privé
Autorité Internationale Certificat auto-signé Autorité nationale Certificat signé par l’autorité internationale Autorité nationale Certificat signé par l’autorité internationale Autorité professionnelle ou commerciale Certificat signé par l’autorité nationale Agent de l’état Certificat signé par l’autorité nationale Personne morale Certificat signé par l’autorité professionnelle ou commerciale Individus Certificat d’identité signé par un agent de l’état Personnel/ Clients/ Fournisseurs Certificat signé par la personne morale Services Web Certificat signé par la personne morale Objets informatiques Certificat signé par l’utilisateur Objets informatiques Certificat signé par l’utilisateur ou un objet prestataire de service Clefs de session SYSTÈME ASYMÉTRIQUE:HIÉRARCHIE DES AUTORITÉS DE CERTIFICATION(CHAÎNE DE CERTIFICATION)
ACA BSE Alice ACA.PC BSE.PE BSE.OS Bob Charles Dominique Eponine Françoise Gérard Henri Certification croisée
CA Alice CA Alice Requête signée Requête signée Réponse chiffrée Réponse signée Mot de passe (Par la poste) Alice RA CA Requête Requête signée Se présente physiquement au RA Réponse signée Réponse Récupération des certificats (1)
Alice RA CA Requête Requête signée + mot de passe chiffré Se présente physiquement au RA Mot de passe Requête authentifiée avec le mot de passe Réponse Récupération des certificats (2) CMP (Certificate Management Protocol) RFC 2510 et 2511 CMC (Certificate Management Protocol using CMS) la RFC 2797.
La politique de certification • L’objectif général du service offert, • Les types de certificats délivrés et leurs usages • L’organisation des composants de l’ICP • La hiérarchie de certification • les principes de gestion du cycle de vie d’un certificat et en particulier les contrôles d’identité réalisés lors de la délivrance et les conditions et moyens d’une révocation • Les principes de publication des certificats et des listes de révocation • Les engagements en matière de performance, disponibilité, intégrité et confidentialité des données gérées La RFC 2527 propose un plan type et décrit ce que doit obligatoirement contenir ce document
Classes De Certification • Classe 0:applicable aux systèmes et objets informatiques • Classe 1 :applicable aux employés des études notariales et composantes de l’ICP • Classe 2 :applicable aux notaires en exercices • Classe 3 : applicable aux autorités de certification R.E.AL.
Chaîne De Certification Du R.E.AL Signature des LAR Certificats Signé par l ’AC Signature des LCR Certificat Auto Signé Certificats Signé par l’OSC Autorité de Certification Racine (Niveau 0) CSN Autorité OSC Niveau 1 ADSN LCR LAR Titulaire membre Niveau 2 Titulaire abonné Niveau 2 Titulaire machine Niveau 2 Titulaire AC Niveau 1 CSN Gestion OSC Niveau 1 ADSN Serveur Temps T T S Niveau 1 ADSN
Certificat • Type de certificats • .Authentification : certificats destinés à l’authentification forte des entités (personnes, ordinateurs, objets informatiques) par les applications électroniques sécurisées • .Signature des documents: certificats utilisés pour la signature (des documents) numériques et sa vérification • .Chiffrement des données : certificats utilisés pour l’encodage (cryptage) des données et des clés de session • .Signature des certificats : certificats utilisés pour la signature des certificats
Carte R.E.AL • Type de cartes R.E.AL • Une carte autorité AC contenant un certificat auto-signé de classe 3, qui sert à signer les certificats de niveau 1 • 3 cartes autorité OSC, ( une carte de l’entité d’horodatage, une carte de l’entité de fabrication contient un certificat de signature des certificats de niveau 2 et des LCR, et une carte de l’entité de gestion pour le contrôle des signatures des demandes de fabrication et de révocations) • Une carte titulaire AC contient un certificat de signature de classe 2, qui sert à signer les ordres de fabrication et de révocation • Des cartes titulaires machine contenant tous les certificats de classe 0 • Des cartes titulaires physique contenant tous les certificats de classe 1 • Des cartes de notaire en exercice contenant des certificats de signature de classe 2 et des certificats d’authentification et de chiffrement de classe 1
ICP dans son Environnement Transmission des codes PIN aux Titulaires Autorité de Certification .Mise en œuvre de la PC et DPC Validation des demandes de cartes R.E.AL ICP Opérateur de Service de Certification Édition des LCR Édition des certificats valide Génération des cartes et codes PIN Certificats Autorité OSC Niveau 1 Horodatage Signature des certificat de niveau 2 Signature des LCR ADSN Signature des LAR Ordres de fabrications Ordres de révocations Accusés de réception Publication des LCR Transmission des demandes de récupération des cartes et code PIN Transmission des demandes de cartes R .E.AL Transmission des demandes de révocations Accusés de réception Transmission des cartes R.E.AL Autorité d’Enregistrement Vérification et Enregistrement des Demandes de cartes R.E.AL. Remise des cartes R.E.AL aux Titulaires Abonnées Consultation des LAR Consultation des LCR Demande de carte R.E.AL. Demande de révocation Demande de récupération Remise des cartes R.E.AL Certificat Racine AC niveau 0 Signature des certificats de niveau 1 Signature de la LAR CSN CertificatTitulaire AC Niveau 1 Signature des ordres de fabrication Signature des ordres de révocation CDN CRN CSN LA R LCR Autorité d’Enregistrement Autorité d’Enregistrement Titulaire Titulaire Titulaire Titulaire
Autorité De Certification • Rôles • Mettre en œuvre la PC et la DPC • Générer sa clé privée, les clés de l’OSC (clé de génération des cartes et la clé de l’horodatage) et ceux des titulaires AC, • Vérifier les données d’enregistrement, de génération, de renouvellement, et de révocation des cartes R.E.AL • Respecter les contrôles de conformité et de remédier aux non-conformités qu’il révèle, • Signer et transmettre les ordres de fabrication des cartes R.E.AL. À l’OSC • Signer la liste des autorités de certification révoquées • Archiver les demandes de création et de révocation des cartes R.E.AL., • Révoquer une composante de l’ICP dans le cas d’un échec de contrôle de conformité • Fournir les renseignements sur les certificats pour toute demande de notaire • Réception des demandes de révocation d’urgence
Autorité De D ’Enregistrement • Rôles • Vérifier l'identité, la véracité des pièces justificatives, et l’exactitude des mentions qui établissent l’identité des personnes voulant obtenir une carte R.E.AL • Vérifier la validité des pièces justificatives pour les titulaires machines • Vérifier l'identité et habilitation des demandeurs de cartes R.E.AL • Recevoir les cartes R.E.AL. des abonnés • Délivrer les cartes R.E.AL à leurs titulaires après la signature du registre • Réceptionner, vérifier l’exactitude, et enregistrer les demandes de révocations • Transmettre les demandes de création et de révocation des cartes R.E.AL avec copies des pièces justificatives, à l ’AC (autorité de certification) dans les délais • Transmettre périodiquement à l’AC l’ensemble des pièces relatives à la vie des certificats • Transmettre les demandes de récupérations des cartes R.E.AL bloquées et des codes dans les délais
Opérateur De Service De Certification • Rôles • La réception des ordres de fabrication des cartes R.E.AL • La génération des cartes R.E.AL. et code PIN en respectant les règles établies dans la PC et la présente DPC • La transmission des cartes aux AE • La transmission des codes PIN aux titulaires • La livraison et la maintenance des kits de sécurité utilisés par les abonnés du R.E.AL • La réception des ordres de révocation de l’AC • La publication des certificats valides • La publication des LCR • L’assistance en ligne pour la mise en œuvre des moyens mis à la disposition des abonné(e)s
Opérateur De Service De Certification • Rôles • La gestion de l’ensemble du cycle de vie des certificats émis pour les abonnés • L’archivage des certificats et des LCR • La gestion des journaux et des archives informatiques • La fourniture à l ’AC des moyens d'accès aux journaux et aux archives • L’horodatage • La récupération des cartes R.E.AL en cas de blocage et des codes PIN en cas d’oublie • La garantie à travers le R.E.AL. d’un accès continu à l’ensemble des certificats
Opérateur De Service De Certification • Obligation en matière de sécurité de l’information • Conserver et protéger en confidentialité les données confidentielles relatives aux titulaires, en particulier les causes de révocations • Garantir la validité et l’intégrité des données publiées (annuaire des certificats valides et LCR) • Garantir l’intégrité des certificats stockés dans les cartes à puces R.E.AL • Garantir l’intégrité des transferts des cartes R.E.AL aux AE • Garantir l’intégrité des transferts des codes PIN aux titulaires • Garantir l’intégrité des clés privées • Contrôler les accès aux données publiées
Opérateur De Service De Certification • Obligation en matière de disponibilité de l’information • Respect de la fréquence de publication des certificats valides et des listes de révocations, • Respect des délais transmission des codes PIN aux titulaires, et des cartes R.E.AL aux AE • Respect du délai de récupération des archives
Déclaration Des Pratiques De Certification De L’osc • Organisation interne de l’OSC • Contrôle du personnel de l’OSC • Contrôle de sécurité physique • Contrôle de sécurité du système de traitement des informations • Contrôle de conformité (audit) de l’OSC
Organisation Interne De L’oscHéritage Fonctionnel Président de l’OSC Administrateur Responsable de l’horodatage Responsable de gestion Responsable de fabrication Responsable de sécurité Ingénieur système Responsable de publication Opérateur de publication Opérateur de gestion Opérateur de fabrication Agent de sécurité
Contrôle Du Personnel De L'osc • Clauses de confidentialité • Procédures interne de fonctionnement • Enquête sur le passé professionnel/personnel • Compétenence qualification et fréquence de formation • Les sanctions • Documentations fournies au personnel
LesProcédures • Procédure IV: génération et transmission des ordres de fabrication à l’osc • Procédure V: génération des cartes R.E.AL et codes PIN • Procédure VI: transmission des cartes R.E.AL aux AE • Procédure VII: transmission des codes PIN aux titulaires • Procédure XIII: génération et transmission des ordres de révocations à l’OSC • Procédure xiv:traitement des révocations
LesProcédures • Procédure xvi:publication des LCR • Procédure xviii:enregistrement et transmission des demandes de récupération à l’osc • Procédure xix:traitement de la demande de récupération • Procédure xxi:renouvellement des cartes R.E.AL • Procédure xxii:demande d’informations • Procédure XXVII: journalisation des évènements • Procédure XXVIII: archivages
Les Procédures • Procédure XXXI: changement des clés de l’OSC • Procédure XXXII: plans d’urgences • Procédure XXXIII: révocation du certificat racine • Procédure XXXV: révocation des certificats de l’OSC • Procédure XXXVI: cessation d’activité ou fin de vie de la composante • Procédure xxxvii:indemnisation par l’ICP
COMPOSANTS (1) • Les autorités d'enregistrement (notées AE) collectent les informations nécessaires à l’identification des utilisateurs et vérifient leurs droits pour les communiquer aux AC. • Les autorités de certification (notées AC) ont pour principale fonction de signer les certificats et de communiquer au centre de publication les certificats de clés publiques. Les AC assurent la révocation des certificats qui ne sont plus de confiance, ainsi que la mise en publication de la liste des certificats révoqués (CRL). • Le Centre de Publication (noté CP) assure, sur demande des AC, la publication des certificats et des listes de révocation au sein de l’IGC et pour les applications utilisatrices.
COMPOSANTS (2) • Le Centre de Génération de Clés (noté CGC) assure, sur demande de l'AC, la génération de bi-clés. Il transmet alors la clé publique à l'AC pour certification • Une Base de Données(noté BD) qui contient tout les biens sensibles de la TOE : les clés privées, les évènements d’audit, les codes PIN et les codes de déblocage des exploitants, les attributs de sécurité des exploitants et des rôles. Tous ces biens sont chiffrés à l’aide de clés symétriques, de plus, certains d’entre eux sont protégés en intégrité.
REFERENCE A DES PROFILS DE PROTECTION • PP_AC : Profil de protection pour une autorité de certification dans le cadre d’une infrastructure de gestion de clés. • PP_AE : Profil de protection pour une autorité d'enregistrement pour une infrastructure de gestion de clés. • PP_IGC : Profil de protection pour une infrastructure de gestion de clés. • PP_RCIGC Profil de protection pour les ressources cryptographiques d'une infrastructure de gestion de clés.