Groupe Ad-hoc Messagerie Sécurisée



Documents pareils
IGC-CPS2bis. Gabarits des certificats X.509. des Classes 4, 5 et mars Version mars 2012 Document ASIP-Santé Page 1 / 34

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Politique de Certification Pour les Certificats de classe 0 et 4 émis par l autorité de certification Notaires PUBLIÉ

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Politique de Certification

Annexe 8. Documents et URL de référence

Les certificats numériques

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Définition d une ICP et de ses acteurs

Architectures PKI. Sébastien VARRETTE

NORMES TECHNIQUES POUR UNE INTEROPERABILITE DES CARTES D IDENTITE ELECTRONIQUES

Politique de Certification Autorité de Certification Signature Gamme «Signature simple»

La sécurité des Réseaux Partie 7 PKI

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

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

ROYAUME DU MAROC Politique de certification - Autorité de Certification Externe -

SERVICES ELECTRONIQUES DE CONFIANCE. Service de Cachet Electronique de La Poste

Politique de Certification de l'ac "ALMERYS SIGNATURE AND AUTHENTICATION CA NC" Référentiel : Sous-Référentiel : Référence : Statut :

Politique de Certification et Déclaration des pratiques de certifications de l autorité Tunisian Server Certificate Authority PTC BR

LEGALBOX SA. - Politique de Certification -

POLITIQUE DE CERTIFICATION DE L AC : Crédit Agricole Cards and Payments

TheGreenBow IPsec VPN Client. Guide de Déploiement Options PKI. Site web: Contact:

POLITIQUE DE CERTIFICATION DE L AC : Crédit Agricole Cards and Payments

POLITIQUE DE CERTIFICATION DE L'AC KEYNECTIS SSL RGS * (authentification serveur) Date : 12/08/2011

MEMENTO Version

CA SIC Directives de certification Certificate Practice Statement (CPS) du SIC Customer ID CA 1024 Level 2

Politique de certification et procédures de l autorité de certification CNRS

Définition des Webservices Ordre de paiement par . Version 1.0

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Cadre de Référence de la Sécurité des Systèmes d Information

POLITIQUE DE CERTIFICATION AC RACINE JUSTICE

Modèle de sécurité de la Grille. Farida Fassi Master de Physique Informatique Rabat, Maroc May 2011

Autorité de Certification OTU

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Politique de Référencement Intersectorielle de Sécurité (PRIS)

PKI PKI IGC IGC. Sécurité des RO. Partie 4. Certificats : pourquoi?

Utilisation des certificats X.509v3

Plateforme PAYZEN. Définition de Web-services

Public Key Infrastructure (PKI)

RÉFÉRENTIEL GÉNÉRAL DE SÉCURITÉ

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

NORME INTERNATIONALE

Gestion des Clés Publiques (PKI)

Completed Projects / Projets terminés

Livre blanc. Sécuriser les échanges

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Autorité de Certification OTU

La sécurité dans les grilles

28/06/2013, : MPKIG034,

Politique de Certification - AC SG TS 2 ETOILES Signature

Supervision des réseaux

Une introduction à SSL

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Cours 14. Crypto. 2004, Marc-André Léger

Politique de Certification de l'ac INFRASTRUCTURE Profil Signature de jetons d horodatage

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

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

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Livre blanc. Signatures numériques à partir du cloud fondements et utilisation

EJBCA PKI Open Source

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Signature électronique. Romain Kolb 31/10/2008

EJBCA PKI. Yannick Quenec'hdu Reponsable BU sécurité

Certificats et infrastructures de gestion de clés

Certificats Numériques Personnels RGS et/ou ETSI

ScTools Outil de personnalisation de carte

Certificats OpenTrust SSL RGS et ETSI

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Déclaration des Pratiques de Certification Isabel

Technologies de l information Techniques de sécurité Systèmes de management de la sécurité de l information Vue d ensemble et vocabulaire

Ordonnance sur les services de certification électronique

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

DATE D'APPLICATION Octobre 2008

Rapport de certification

CERTEUROPE ADVANCED V4 Politique de Certification V1.0 Diffusion publique

Guide de déploiement d'un mécanisme De SmartCardLogon par carte CPS Sur un réseau Microsoft

Gestion des clés cryptographiques

Date : 16 novembre 2011 Version : 1. 2 Nombre de pages : 13

Rapport de certification

Du 03 au 07 Février 2014 Tunis (Tunisie)

EJBCA Le futur de la PKI

Le protocole SSH (Secure Shell)

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

CONVENTION INDIVIDUELLE D HABILITATION. «société d assurance indépendante» (Convention complète)

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

EMV, S.E.T et 3D Secure

Sécurité des réseaux sans fil

POLITIQUE DE CERTIFICATION. Autorité de certification «CERTEUROPE ADVANCED CA V3»

ISO/IEC TR Première édition Numéro de référence ISO/IEC TR 90006:2013(F) ISO/IEC 2013

CONVENTION INDIVIDUELLE D HABILITATION. «Expert en automobile indépendant» (convention complète)

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

DUT. Vacataire : Alain Vidal - avidal_vac@outlook.fr

Network WPA. Projecteur portable NEC NP905/NP901W Guide de configuration. Security WPA. Méthode d authentification supportée

Manuel pour la participation au réseau e-lp

Concilier mobilité et sécurité pour les postes nomades

Titres de créances NégOciables Refonte Informatique et organisationnelle

Transcription:

Groupe Ad-hoc Messagerie Sécurisée CISSI SOUS-COMMISSION n 1 FORMULAIRE DOCUMENT REFERENCE AHMS-26 Titre Formats des certificats associés aux politiques de certification PC 2. Version 2.0 Date 10 mai 1999 Origine Groupe AHMS/CERTIFICAT Nom du fichier Certificat.doc Etat X Document final Draft Administration Compte-rendu Présentation Groupe Ad-hoc Messagerie Sécurisée

Table des matières 1 Introduction 4 1.1 LES CERTIFICATS 4 1.2 LES LISTES DE CERTIFICATS REVOQUES (CRL) 5 1.3 POURQUOI SPECIFIER LES CERTIFICATS ET LES LISTES DE CERTIFICATS REVOQUES? 5 1.4 LA NOTATION ASN.1 6 2 Références 7 2.1 REFERENCES BIBLIOGRAPHIQUES 7 2.2 ACRONYMES 8 3 Que sont les certificats et listes de certificats révoqués (CRL)? 8 3.1 CERTIFICAT 8 3.1.1 PROFIL D UN CERTIFICAT 9 3.1.2 LES CHAMPS DE BASE 10 3.1.3 CHAMPS APPORTES PAR LA VERSION 2 10 3.1.4 EXTENSIONS DE CERTIFICAT 10 3.2 LES LISTE DE CERTIFICATS REVOQUES (NOTEES CRL) 14 3.2.1 PROFIL D UNE CRL 15 3.2.2 LES CHAMPS DE BASE 16 3.3 LES EXTENSIONS D ENTREE DE CRL 16 3.4 LES EXTENSIONS DE CRL 16 4 Champs de base du certificat 17 5 Extensions de certificat 23 5.1 AUTHORITYKEYIDENTIFIER 23 5.2 SUBJECTKEYIDENTIFIER 24 5.3 KEYUSAGE 26 5.4 EXTENDEDKEYUSAGE 29 5.5 PRIVATEKEYUSAGEPERIOD 30 5.6 CERTIFICATE POLICIES 31 5.7 POLICYMAPPINGS 33 5.8 SUBJECTALTNAME 34 5.9 ISSUERALTNAME 35 5.10 SUBJECTDIRECTORYATTRIBUTES 36 5.10.1 DEFINITION DES CERTIFICATS D ATTRIBUTS 36 5.10.2 UTILISATION DE CERTIFICATS D ATTRIBUTS 38 5.11 BASICCONSTRAINTSSYNTAX 39 5.11.1 LE CHAMP CA 40 5.11.2 LE CHAMP PATHLENCONSTRAINT 40 5.12 NAMECONSTRAINTSSYNTAX 41 5.12.1 FONCTIONNEMENT DE L EXTENSION 42 5.13 POLICYCONSTRAINTSSYNTAX 44 5.13.1 REQUIREEXPLICITPOLICY 44 5.13.2 INHIBITPOLICYMAPPING 45 5.14 CRLDISTRIBUTIONPOINTS 46-1 -

6 Champs de base de listes de certificats révoqués (CRL) 49 7 Extensions d entrée de CRL 52 7.1 REASONCODE 52 7.2 HOLDINSTRUCTIONCODE 55 7.3 INVALIDITYDATE 56 7.4 CERTIFICATEISSUER 57 7.4.1 EXEMPLE D UTILISATION DE L EXTENSION CERTIFICATEISSUER 58 8 Extensions de CRL 59 8.1 AUTHORITYKEYIDENTIFIER 59 8.2 ISSUERALTNAME 61 8.3 CRLNUMBER 62 8.4 ISSUINGDISTRIBUTIONPOINT 63 8.5 DELTACRLINDICATOR 66 9 Conclusion 68 9.1 POINTS RESOLUS 68 9.2 QUESTIONS OUVERTES 68 10 Annexes 70 10.1 FORMALISME DES TABLEAUX DES CHAPITRES 4. ET 6. 70 10.2 FORMALISME DES TABLEAUX DES CHAPITRES 5., 8. ET 9. 71 10.3 CODE ASN.1 DU FORMAT D UN CERTIFICAT ET DE CRL 72-2 -

Avant-Propos Le document est le résultat de travaux menés au sein du sous-groupe CERTIFICAT, émanant du groupe Ad Hoc Messagerie Sécurisée de la Sous-Commission Chiffre de la CISSI (Commission Interministérielle de la Sécurité des Systèmes d Information). - 3 -

Format des certificats associés aux politiques de certification PC 2 1 Introduction Ce document présente une définition du format d un certificat de clé publique de type X.509v3, tel qu il est défini dans la norme [9594-8]. Il se propose de spécifier les certificats utilisés par les administrations françaises, dans le cadre des politiques de certification définies dans le document [PC2]. Les définitions des termes utilisés dans ce document se trouvent dans le chapitre 2 (Définitions) des Procédures et Politiques de Certification de Clés [PC2]. Les chapitres 1, 2 et 3 de ce document proposent une approche pédagogique des certificats et listes de certificats révoqués (CRL). Les chapitres 4 à 8, proposent, pour les certificats et leurs extensions d une part, et les CRL, les extensions d entrées et les extensions de CRL d autre part, les définitions normatives des différents champs ainsi que les résultats des travaux du groupe de travail CERTIFICAT. Ces résultats se manifestent, selon le cas, soit sous la forme du contenu précis du champ, sous la forme de contraintes régissant son contenu ou par le choix d utilisation du champ ou son caractère critique. 1.1 Les certificats Un certificat de clé publique crée un lien de confiance entre l identité d un porteur de certificat, sa clé publique, la période de validité du certificat et d autres informations. Il est signé par un «fournisseur de certificat». D après la norme [9594-8], un certificat possède les propriétés suivantes : - tout utilisateur ayant accès à la clé publique de l autorité de certification peut recouvrer la clé publique qui est certifiée ; - aucune partie autre que l autorité de certification ne peut modifier le certificat sans que cela ne soit détecté (les certificats sont infalsifiables). Le format X.509v3 donne le profil d un certificat tel qu il est décrit dans la norme [9594-8]. Ce format est utilisé dans les politiques de certification définies par [PC2]. Une description précise du contenu d un certificat ainsi que les problématiques qu il soulève est donnée dans le chapitre 3.1. - 4 -

1.2 Les listes de certificats révoqués (CRL) Lorsqu un certificat n est plus de confiance, il doit être révoqué. Les utilisateurs potentiels de ce certificat doivent être informés du nouveau statut du certificat afin de ne plus l utiliser. Pour cela, le service de publication de l infrastructure de gestion de clés publie des listes de certificats révoqués (notée CRL). Les listes de certificats révoqués utilisées dans le cadre des politiques de certification définies dans [PC2] respectent le profil de CRL v2 normalisé donné par l ISO [9594-8]. Une description précise du profil d une CRL ainsi que les problématiques qu elle peut soulever est donnée au chapitre 3.2. 1.3 Pourquoi spécifier les certificats et les listes de certificats révoqués? Dans sa version 1, le certificat de type X.509, publiée en 1988 comme une partie des recommandations X.500. est composé d un ensemble de champs, nommés dans ce document «champs de base». Ces champs de base sont présents dans les deux versions suivantes du format X.509. Lors de la révision de la recommandation X.500 en 1993, deux champs supplémentaires ont été ajoutés aux champs de base, donnant ainsi la version 2. Ces deux nouveaux champs, optionnels, permettent de spécifier un identificateur unique du fournisseur de certificat et du porteur de certificat. La version 3 du format X.509, parue en juin 1996, offre la possibilité d ajouter des extensions (aucune, une ou plusieurs) au format de certificat de la version 2. Ces extensions peuvent être choisies parmi celles proposées par la norme ou bien définies pour les besoins d une implémentation particulière, auquel cas elles sont appelées «extensions privées». L une des problématiques liées à une infrastructure de gestion de clés est de définir le profil d un certificat, en répondant, entre autres, aux questions suivantes : - Quelle est la version du certificat X.509 utilisé? - Le certificat intègre-t-il des extensions? - Si oui, lesquelles? - Quelles extensions sont obligatoires? La définition d un profil de certificat adéquat à un type d application consiste à trouver un compromis entre : - la sécurité recherchée : plus il y a de contraintes, moins il y a de possibilités de détourner un certificat pour des applications non autorisées, - la taille : toutes les extensions de certificat proposées par la norme [9594-8] ne sont pas utiles à tous les types d application. Le surdimensionnement d une certificat par intégration de toutes les extensions, entraînerait une occupation de place en mémoire inutile, ainsi qu une perte de temps lors du traitement d un certificat. - 5 -

- les informations nécessaires : si le certificat ne doit pas être surdimensionné, il doit tout de même tenir compte des besoins propres à une application. Les informations nécessaires doivent être identifiées et incluses dans le certificat. - l intelligibilité du certificat par les autres implémentations du format X.509v3. Dans la mesure où l interprétation de certaines extensions peut différer selon les implémentations, un système (générateur ou vérificateur de certificat) doit être capable de comprendre et d interpréter les certificats reçus et émis. - l interopérabilité recherchée : le format du certificat fait partie intégrante de la politique de certification [PC2]. Il conditionne l interopérabilité au niveau technique (par exemple, si un certificat utilise une extensions critique que le vérificateur ne connaît pas) et au niveau politique (deux politiques ne seront équivalentes que si leurs définitions respectives le sont aussi). Ce document vise à spécifier un format de certificat et de listes de certificats révoqués adaptés aux besoins des infrastructures de gestion de clés des administrations françaises. 1.4 La notation ASN.1 L ISO décrit à travers le modèle OSI (Open Systems Interconnection) une architecture standardisée régissant les interconnections de systèmes informatiques. La description de ce système complexe nécessite un haut niveau d abstraction. La méthode utilisée dans le cadre de l OSI pour spécifier des objets abstraits est appelée ASN.1 (Abstract Syntax Notation One). L ensemble de règles utilisé pour représenter des objets tels que des chaînes de «1» et de «0» est nommée «BER» (Basic Encoding Rules). ASN.1 est une notation souple qui permet de définir un grand nombre de types de données, qu ils soient simples, tels que des entiers ou des chaînes de bits, basés sur des structures telles que des ensembles ou des séquences, ou complexes, c'est-à-dire définis à partir de types simples et de structures. BER décrit comment représenter ou coder les valeurs de chaque type ASN.1 comme par exemple un octet (une chaîne de 8 bits). Il y a le plus souvent plusieurs façons de coder en BER une valeur donnée. Un autre ensemble de règles, le «DER» (Distinguished Encoding Rules), sous-ensemble du BER, donne une manière unique de coder les valeurs ASN.1. L ensemble de règles DER est utilisé pour des applications dans lesquelles une seule manière de coder une valeur est requise, comme c est le cas pour la signature numérique lorsqu elle est codée à partir des valeurs ASN.1. (En effet, une même information codée par deux méthodes différentes rendra deux signatures différentes, et empêchera tout vérification d intégrité). Par conséquent, la description du certificat X.509 telle qu elle est donnée dans ce document devra être codée en ASN.1 DER. - 6 -

L annexe 10.3 de ce document donne tous les types de valeurs et classes d objets ASN.1 utilisés dans la norme [9594-8] pour décrire les certificats de clés publiques et listes de certificats révoqués. 2 Références 2.1 Références bibliographiques [8825-1] ISO/IEC 8825-1 (1995) - «Information Technology ASN.1 Encoding Rules : Specifications of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER). [RFC 2459] «Internet X.509 Public Key Infrastructure, Certificate and CRL Profile» (Janvier 1999) - Internet Engineering Task Force (IETF) - Network Working Group. [LAYMAN] A Layman s Guide to a subset of ASN.1, BER and DER. [PC2] Procédures et Politiques de Certification de Clés Groupe Ad Hoc Messagerie Sécurisée de la Sous-Commission Chiffre de la CISSI. [9834-1] ISO/IEC 9834-1 (1993) : «Information technology Open Systems Interconnection Procedures for the operation of OSI Registration Authorities : General procedures» (Egalement ITU-T : Recommandation X.660). [9594-1] ISO/IEC 9594-1 (1995) - «Information Technology Open Systems Interconnection : The Directory : Overview of concepts, Models and Services» (Egalement Recommandation ITU-T X.500). [9594-5] ISO/IEC 9594-5 (1995) «Information Technology Open systems interconnection The directory : Protocol Specifications Second Edition» (Egalement ITU-T recommandation X.519). [9594-8] ISO/IEC 9594-8 (juin 1997) «Information Technology Open systems interconnection The directory : authentication framework.» (Egalement ITU-T : Recommandation X.509 (1997)). NF ISO/CEI 9594-8 (novembre 1996) : «Technologies de l information Interconnexions de systèmes ouverts (OSI) L annuaire : Cadre d authentification». - 7 -

2.2 Acronymes AC CRL PMA OID Autorité de certification Certificate Revocation List (Liste de Certificats Révoqués) Policy Management Authority (cette entité doit être définie plus précisément par le groupe AHMS. Pour l instant, elle peut être assimilée à l autorité administrative décrite dans document [PC2]). Object Identifier. 3 Que sont les certificats et listes de certificats révoqués (CRL)? 3.1 Certificat Les informations spécifiées dans ce chapitre sont relatives aux certificats de clés publiques tels qu il sont décrits dans la norme [9594-8]. - 8 -

3.1.1 Profil d un certificat CERTIFICAT Contenu du certificat Version Numéro de série Informations sur la signature du certificat par l AC (algorithmes et paramètres) Nom du fournisseur du certificat Période de validité du certificat Nom du porteur de certificat Informations sur la clé publique (valeur de la clé publique, algorithme et paramètres) Nom unique du fournisseur de certificat Nom unique du porteur de certificat Identifiant du type de l extension Identifiant du type de l extension Identifiant du type de l extension Criticité (oui / non) Criticité (oui / non) Criticité (oui / non) Valeur Valeur Valeur Algorithme de signature du certificat par l AC * Algorithme Paramètres Signature numérique du contenu du certificat Valeur de la signature numérique du certificat par l AC (*) : on remarque qu à ce niveau, la référence à l algorithme n est pas protégée, alors que dans le contenu du certificat la même information apparaît et est protégée (informations sur la signature du certificat par l AC (algorithmes et paramètres)). - 9 -

3.1.2 Les champs de base Les champs de base d un certificat renseignent les informations suivantes : - Version - Numéro de série - Informations sur la signature du certificat par l AC (algorithmes et paramètres) - Nom du fournisseur du certificat - Période de validité du certificat - Nom du porteur de certificat - Informations sur la clé publique (valeur de la clé publique, algorithme et paramètres). Le tableau du chapitre 4 donne une définition de ces différents champs. Lorsque cela est possible, leur contenu est précisé. 3.1.3 Champs apportés par la version 2 Les deux champs apportés par la version 2 sont optionnels et peuvent s ajouter aux champs de base. Ils rendent possible la réutilisation d un nom (qu il s agisse du porteur de certificat ou de son fournisseur) à travers le temps. Le premier champ donne un identificateur unique du porteur de certificat. Le second permet de spécifier un identificateur unique du fournisseur de certificat. 3.1.4 Extensions de certificat La possibilité d ajouter des extensions à un certificat a été ajoutée par la version 3 de la norme [9594-8]. Une implémentation de la norme choisira parmi les extensions proposées dans cette norme celles qui sont pertinentes à son application et ajoutera aux champs de base du certificat les extensions choisies. La séquence contenue d extension(s) adjointe aux champs de base du certificat est une collection ordonnée d éléments dont le cardinal peut être nul. Par conséquent, un certificat X.509v3 peut ne contenir aucune extension. Si la norme définit plusieurs types d extensions, d autres extensions, dites «privées» peuvent être ajoutées pour correspondre aux besoins d une implémentation particulière. Chacune de ces extensions est caractérisée par trois informations : - l identifiant de l extension considérée, donnée par la norme (cf. 10.3), - le fait qu elle soit critique ou non, (cf. 3.1.4.2), - la valeur de l extension, propre à un certificat. - 10 -

Il peut être noté que le profil d un certificat est une caractéristique de la politique de certification. Par conséquent, si l extension précisant la politique de certification utilisée pour générer le certificat est critique, aucun problème d interopérabilité ni de reconnaissance de certificat ne se pose. En effet, si le système vérificateur connaît et pratique cette même politique de certification, alors il connaît également le format du certificat reçu. 3.1.4.1 Les différents types d extension Les extensions de certificat permettent de spécifier plus précisément les caractéristiques suivantes : - Informations sur les clés, - Informations sur les politiques, - Fournisseur et porteur de certificat, - Contraintes sur le chemin de certification. Le tableau du chapitre 5 donne une définition de chacune des extensions par type. Il précise également si, dans le cadre des infrastructures des administrations, l extension doit être utilisée, critique, et quel doit être son contenu (lorsqu il est possible de renseigner cette information). 3.1.4.2 Définition d une extension critique Le fait qu une extension soit critique rend obligatoire la conformité du certificat aux informations contenues dans l extension. Lorsqu une implémentation traitant un certificat ne reconnaît pas une extension, si l indicateur de criticité est FAUX, alors l implémentation peut ignorer cette extension. Si l indicateur de criticité est VRAI, les extensions non reconnues doivent entraîner la non-validation du certificat. Autrement dit, dans un certificat, une extension critique non reconnue doit entraîner l échec de la validation d une signature utilisant ce certificat. Si un élément inconnu apparaît dans une extension, et que l extension n est pas marquée critique, ces éléments inconnus doivent être ignorés selon les règles de l extensibilité documentée en dans la norme [9594-5]. Des extensions spécifiques peuvent être définies à travers une recommandation de l ITU-T ou par un organisme qui en exprime le besoin. L identificateur de l objet qui identifie une extension peut alors être défini selon la procédure décrite dans la norme [9834-1]. 3.1.4.3 Traitement des extensions de certificats Cette annexe présente un ensemble de cas d école destinés à montrer le fonctionnement d extensions critiques. Pour cela, prenons l exemple d un message envoyé par Alice à Bob. Alice émet un message signé avec sa propre clé privée. Pour vérifier cette signature, Bob a besoin de la clé publique de Alice. Pour cela, il utilise le certificat d Alice, contenant les informations suivantes : - 11 -

CERTIFICAT d ALICE Contenu du certificat Champs de base : ( ) Extensions : 001 (Private Key Usage Period) 002 (Subject Alt Name) 003 (Certificate Policies) 004 (Basic Constraint Syntax) Non critique du 01/01/99 au 31/12/99 Non critique «dupont@admin.fr» Critique «PC2_A2» Critique AC = non Longueur max = 0 Algorithme de signature du certificat par l AC Signature numérique du contenu du certificat Lors de la vérification du certificat d Alice, Bob rencontre un ensemble d extensions (numérotées de 001 à 004) qu il doit traiter. Les hypothèses de travail sont les suivantes : - Bob ne reconnaît pas la syntaxe des extensions 001 et 004. - Bob reconnaît la syntaxe des extensions 002 et 003. 3.1.4.3.1 Traitement de l extension 001 L extension 001 donne la période d usage possible de la clé privée de signature du correspondant. Par hypothèse, Bob ne reconnaît pas cette extension.! Il ne traite pas l extension. L extension 001 n est pas critique.! Il passe à l extension suivante et continue sa vérification. 3.1.4.3.2 Traitement de l extension 002 L extension 002 donne une autre forme de dénomination du porteur de certificat que celle utilisée dans les champs de base (Subject Name). - 12 -

Par hypothèse, Bob reconnaît cette extension.! Il traite l extension.! Il vérifie son contenu : - si le nom alternatif de son correspondant est dupont@admin.fr, l extension est validée. - sinon, l extension n est pas validée. L extension n est pas critique.! Que l extension soit validée ou non, Bob passe à l extension suivante et continue sa vérification. 3.1.4.3.3 Traitement de l extension 003 L extension 003 permet d indiquer l identifiant de la politique de certification utilisée pour générer le certificat. Par hypothèse, Bob reconnaît cette extension.! Il traite l extension.! Il vérifie son contenu : - si la politique appliquée est effectivement «PC2_A2», l extension est validée. - sinon, l extension n est pas validée. L extension est critique.! Si l extension a été validée, Bob passe à l extension suivante (ou valide le certificat, s il s agit de la dernière extension).! Si l extension n a pas été validée, il rejette l extension et donc le certificat. Il arrête le traitement du certificat. 3.1.4.3.4 Traitement de l extension 004 On suppose que la politique utilisée est bien celle mentionnée dans l extension 003, à savoir PC2_AC. L extension est alors validée et Bob passe au traitement de l extension 004. L extension 004 indique si le porteur de certificat est une autorité de certification. Si c est le cas, est-elle capable d émettre des certificats pour d autres AC (longueur max. supérieure ou égale à 1) ou seulement pour des utilisateurs (longueur max. nulle)? Les valeurs choisies pour l exemple montrent qu Alice est un utilisateur final et qu elle ne peut émettre de certificat pour d autres entités. Par hypothèse, Bob ne reconnaît pas cette extension.! Il ne traite pas l extension. L extension est critique.! Il rejette l extension et donc le certificat.! Il arrête le traitement du certificat. Par conséquent, deux cas ont pu cause l invalidation du certificat d Alice : - soit le contenu d une extension critique n est pas vérifié, - 13 -

- soit une extension critique n est pas reconnue. Ce cas d école a donc permis de montrer en quoi le fait de rendre critique une extension pouvait influer sur la vérification d un certificat. Les scénarios précédents présentent le traitement d une extension telle qu il est défini dans la norme. Cependant, la vérification des certificats et le traitement des extensions peuvent être privés et dépendre de l implémentation. 3.2 Les liste de certificats révoqués (notées CRL) Les informations spécifiées dans ce chapitre sont relatives aux listes de certificats révoqués tels qu il sont décrits dans la norme [9594-8]. - 14 -

3.2.1 Profil d une CRL CRL Contenu de la CRL Version Informations sur la signature de la CRL par l AC (algorithmes et paramètres) Nom du fournisseur de la CRL Date d émission de la CRL Date d émission de la prochaine CRL Nom du porteur de certificat Liste des certificats révoqués Extensions d entrée de CRL Numéro de série du certificat révoqué Date de révocation Identifiant du type de l extension Identifiant du type de l extension Criticité (oui / non) Criticité (oui / non) Valeur Valeur Extensions d entrée de CRL Numéro de série du certificat révoqué Date de révocation Identifiant du type de l extension Identifiant du type de l extension Criticité (oui / non) Criticité (oui / non) Valeur Valeur Extensions de CRL Identifiant du type de l extension Criticité (oui / non) Valeur Identifiant du type de l extension Criticité (oui / non) Valeur Algorithme de signature de la CRL * Algorithme Paramètres Signature numérique du contenu de la CRL Valeur de la signature numérique de la CRL par l AC - 15 - (*) : on remarque qu à ce niveau, la référence à l algorithme n est pas protégée, alors que dans le contenu de la CRL, la même information apparaît et est protégée ( Informations sur la signature de la CRL (algorithmes et paramètres)).

3.2.2 Les champs de base Les champs de base d une CRL renseignent les informations suivantes : - Version - Informations sur la signature de la CRL par l AC (algorithmes et paramètres) - Nom du fournisseur de la CRL - Date de l émission de la CRL - Date de l émission de la prochaine CRL - Liste de certificats révoqués composée de - le numéro de série du certificat révoqué - la date de révocation. Le tableau du chapitre 8 donne une définition de ces différents champs. Lorsque cela est possible, leur contenu est précisé. 3.3 Les extensions d entrée de CRL Une implémentation de la norme X.509 choisira parmi les extensions proposées dans cette norme celles qui sont pertinentes à son application et les ajoutera aux champs de base. La version 2 du profil des listes de certificats révoqués admet deux types d extensions : des extensions d entrée de CRL et des extensions de CRL. Une extension d entrée de CRL qualifie un certificat révoqué, c'est-à-dire une entrée de la liste de certificats révoqués. Une extension d entrée de CRL ne qualifie que l entrée à laquelle elle est associée et en doit affecter que le certificat identifié dans cette entrée. Lorsqu une implémentation traite une CRL qui ne reconnaît pas une extension d entrée de CRL critique, elle doit supposer, au minimum, que le certificat identifié a été révoqué, qu il n est plus valide et les mesures conséquentes édictées dans la politique de certification doivent être prises. 3.4 Les extensions de CRL Une extension de CRL qualifie la liste de certificats révoqués dans son ensemble. Lors de la vérification d une liste de certificats révoqués, aucune supposition ne doit être faite sur le fait que la liste des certificats est ordonnée ou non, sauf si cela est une clause de la politique de certification. Le fait d imposer le tri des certificats inclus dans une CRL peut réduire le temps de parcours de ces listes. Lorsqu une implémentation ne reconnaît pas une extension de CRL critique, elle doit supposer que les certificats identifiées ont été révoqués et ne sont plus valides. Cependant, dans ce dernier cas, comme il se peut que la liste ne soit pas complète, les certificats qui ne sont pas identifiées comme étant révoqués ne peuvent pas être supposés comme valides. Dans ce cas, la politique de certification doit préciser les mesures à prendre en conséquence. - 16 -

Rappel : les certificats et listes de certificats révoqués décrits dans ce document sont codés conformément aux règles de l ASN.1 DER [8825-1]. 4 Champs de base du certificat Le formalisme du tableau suivant est explicité dans l annexe 10.1. n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.1 Certificate Cette structure représente l ensemble du certificat. Elle est composée des structres 4.2, 4.30 et 4.33. 4.2 tobesigned Cette structure est composée des champs 4.3 à 4.29. Ce sont les informations contenues dans cette structure qui seront signées. 4.3 version La norme X.509 définit le format d un certificat. 3 versions successives ont été normalisées. cf. 1.3. 4.4 serialnumber Le numéro de série du certificat est une valeur entière, unique pour une AC (dont le nom est donné en 4.9. Il identifie de manière unique un certificat émis par une AC donnée. 4.5 signature Cette structure, composée de la structure 4.6., donne des informations sur l algorithme de signature utilisé par l AC pour signer le certificat. 2 (pour version 3). Les certificats utilisés dans le cadre des politiques de certification définies dans PC2 respecteront la recommandation X.509v3. Le numéro de série pourra être obtenu par l utilisation d une fonction «one-way». Dans ce cas, l unicité du numéro de série sera vérifiée. Le numéro de série doit être protégé en termes de cardinalité et d ordre. Pour les certificats d AC : la PMA est responsable de l unicité des numéros de série des autorités de certification qu elle gère. - 17 -

n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.6 algorithmidentifier Cette structure est composée des champs 4.7 et 4.8. Cette information est identique au champ 4.30. 4.7 algorithm Ce champ précise l identificateur de l algorithme utilisé pour signer le certificat en cours. 4.8 parameters opt. Les paramètres associés à un algorithme cryptographique sont caractéristiques de l usage de l algorithme dans un domaine particulier propre. 4.9 issuer Ce champ contient le nom du fournisseur du certificat de d autorité de certification qui signe le certificat courant. Deux certificats se distinguent à la fois par le numéro de série du certificat (4.4) et par le nom de l autorité de certification l ayant émis (4.9). 4.10 validity Cette structure est composée des champs 4.11 et 4.14. Elle précise la période de validité du certificat. Oui OID de l algorithme utilisé pour signer le certificat. Si l algorithme requiert des paramètres, ce champ doit être utilisé. Le nom de l autorité de certification signataire du certificat. Selon l usage possible de la clé à certifier, l algorithme peut différer. Ce champ est donc lié à l extension keyusage, ligne 6 du tableau des extensions. Cet OID ainsi que sa définition peuvent être répertoriés dans un registre. Par exemple, l enregistrement au niveau international à l ISO suit la procédure [9834-1]. La PMA peut être chargée de l enregistrement des algorithmes auprès d un registre. Lors de la définition d un OID (par exemple à l enregistrement), il doit être précisé si les paramètres qui le caractérisent font partie intégrante de son identification ou non. Ainsi, soit ils sont connus des deux parties, soit ils doivent être précisés dans ce champ. A titre d exemple, les paramètres associés au DSA sont p, q et g. Le nom utilisé peut être de type Distinguished Name tel qu il est défini par la norme [9594-1]. Quelque soit le type de nommage choisi, le système de vérification doit pouvoir reconnaître les noms de type Distinguished Name. Dans le cas de PC2_AC : la PMA est responsable de l unicité des noms des autorités de certification qu elle gère. - 18 -

n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.11 notbefore Cette structure, composée des champs 4.12 ou 4.13, permet de préciser la date à partir de laquelle le certificat de clé publique est valable. 4.12 UTCTime chx Le format UTCTime décrit une date de la manière suivante : YYMMDDHHMMZ (le Z (Zoulou) ou signifiant que les dates sont exprimées en heures GMT). 4.13 GeneralizedTime chx Le format UTCTime décrit une date de la manière suivante : YYYYMMDDHHMMZ (le Z (Zoulou) signifiant que les dates sont exprimées en heures GMT). 4.14 notafter Cette structure composée des champs 4.12 ou 4.13 permet de préciser la date à partir de laquelle le certificat de clé publique n est plus valable. 4.15 UTCTime ou Oui Non Le format UTCTime est utilisé. Ne pas générer de certificat dont les secondes sont 00. chx cf. ligne 4.12. Oui Le format UTCTime est utilisé. Ne pas générer de certificat dont les secondes sont 00. 4.16 GeneralizedTime chx cf. ligne 4.13. Non cf. 4.13. L IETF ainsi que l ISO recommandent d utiliser UTCTime jusqu en 2049. Après, le type Generalized Time doit être utilisé. Certaines implémentations ne connaissent pas la possibilité de choisir entre UTCTime et GeneralizedTime. cf. 4.12. La date de fin de période de validité doit nécessairement être postérieure à la date de début de validité (cf. 4.11). De plus, elle doit être inférieure à la date de fin de validité du certificat de l AC émettrice du certificat. - 19 -

n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.17 subject Ce champ contient le nom du porteur de certificat, c'est-à-dire le propriétaire de la clé publique à certifier. La norme précise qu une AC ne doit pas générer de certificats pour deux utilisateurs différents et ayant le même nom contenu dans le champ subject. 4.18 subjectpublickeyinfo Cette structure est composée des champs 4.19 et 4.22. Cette structure contient les informations sur la clé publique du porteur de certificat. 4.19 algorithmidentifier Cette structure est composée des champs 4.20 et 4.21. Elle spécifie l algorithme qui utilise la clé publique du porteur. 4.20 algorithm Ce champ précise l identificateur de l algorithme qui utilise la clé publique du porteur. Le nom du porteur de certificat. OID de l algorithme auquel est dédiée la clé publique du porteur. 4.21 parameters opt. cf. 4.8. Oui Si l algorithme requiert des paramètres, ce champ doit être utilisé. 4.22 subjectpublickey Ce champ contient le train de bits de la clé publique à certifier. 4.23 issueruniqueidentifier opt. Ce champ donne un identificateur unique du porteur de certificat. Il rend possible la réutilisation du nom d un fournisseur de certificat (une AC) à travers le temps. Le nom utilisé peut être de type Distinguished Name, tel qu il est défini par la norme [9594-1]. Quelque soit le type de nommage choisi, le système de vérification doit pouvoir reconnaître les noms de type Distinguished Name. Pour les AC : lorsque le porteur du certificat est lui-même une AC, la PMA est responsable de l unicité des noms des autorités de certification qu elle gère. Selon l usage possible de la clé à certifier, l algorithme peut différer. Ce champ est donc lié à l extension keyusage, ligne 6 du tableau des extensions. L OID d un algorithme peut être enregistré auprès d un registre. Par exemple, un enregistrement au niveau international à l ISO suit la procédure [9834-1]. cf. 4.8. Valeur de la clé publique (format : BIT STRING). Non L utilisation de ce champ est déconseillée, car elle entraîne le besoin de gérer l unicité des noms utilisés dans ce champ. Or, la gestion de l unicité d un nom d AC est régie par les spécifications indiquées en 4.9. - 20 -

n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.24 subjectuniqueidentifier opt. Ce champ donne un identificateur unique de l autorité de certification. Il rend possible la réutilisation du nom d un porteur de certificat à travers le temps. 4.25 extensions 4.26 Extension opt. 4.27 extnid 4.28 critical 4.29 extnvalue 4.30 algorithmidentifier Cette séquence est composée des lignes 4.31 et 4.32. Elle spécifie l algorithme qui utilise la clé publique du porteur. Non L utilisation de ce champ est déconseillée, car elle entraîne le besoin de gérer l unicité des noms utilisés dans ce champ. Or, la gestion de l unicité d un nom de porteur de certificat est régie par les spécifications indiquées en 4.17. Le paragraphe 3.1.4 détaille les modes de fonctionnement des extensions de certificat. Le chapitre 5 donne les différentes extensions définies par la norme [9594-8] et précise quelles sont les recommandations du groupe CERTIFICAT concernant leur utilisation. 4.31 algorithm cf. ligne 4.7. OID de l algorithme utilisé pour signer le certificat. A ce niveau, les informations sur l algorithme utilisé pour signer le certificat ne sont pas protégées, contrairement aux informations sur l algorithme (structure définie en 4.6) qui elles, sont signées. Aucune vérification n est requise pour vérifier la cohérence de l information non protégée (4.31) et l information protégée (4.6). Pour vérifier un certificat, le système de vérification doit utiliser l algorithme mentionné en 4.6. 4.32 parameters opt. cf. ligne 4.8. Non Dans la mesure où les paramètres de l algorithme utilisé pour signer le certificat ont déjà été mentionnés à la ligne 4.8, de préférence, ce champ ne doit pas être rempli. - 21 -

n Champs définis par la norme Sous-Groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 4.33 signaturevalue Ce champ contient une signature numérique calculée à partir du codage ASN.1 DER de la structure tobesigned. Le code ASN.1 DER de la structure tobesigned est utilisé comme une entrée à la fonction de signature. La valeur de cette signature est ensuite encodée en ASN.1 comme un «BIT STRING» et incluse dans le champ de signature du certificat.[ietf]. BIT STRING - 22 -

5 Extensions de certificat Le formalisme des tableaux suivants est explicité dans l annexe 10.2. 5.1 AuthorityKeyIdentifier Dans le cadre de [PC2], cette extension doit être utilisée. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.1.1 AuthorityKeyIdentifier NC Cette séquence identifie la clé publique à utiliser pour vérifier la signature d un certificat. Elle permet de distinguer des clés différentes utilisées par une même AC (par exemple en cas de renouvellement de clé). La clé peut être identifiée soit par un identificateur de clé explicite (cf. 5.1.2) soit par l association d un numéro de certificat avec le nom de l autorité de certification du certificat de cette clé publique (cf. 5.1.3 et 5.1.4). 5.1.2 KeyIdentifier opt. Ce champ contient un identificateur unique pour un porteur de certificat de la clé publique certifiée. Oui NC L utilisation de cette extension permet d accélerer la recherche du certificat de clé publique utilisé par l AC pour signer un certificat (par exemple, en cas de recouvrement de période lors d un renouvellement de clé). Oui De préférence, on utilise ce champ plutôt que les champs 5.1.3 et 5.1.4 pour identifier une clé publique particulière d un fournisseur de certificat. - 23 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.1.3 ou AuthorityCertIssuer opt. Ce champ contient le nom de l autorité de certification ayant émis le certificat correspondant à la clé publique utilisée. 5.1.4 AuthorityCertSerialNumber opt. Ce champ contient le numéro de série du certificat de la clé publique utilisée pour signer le certificat courant. Non Les informations 5.1.3 et 5.1.4 permettent, ensemble, d identifier de manière unique un certificat et donc une clé publique associée. Ces deux champs fournissent une seule information, information qu il est possible de renseigner en n utilisant qu un champ (5.1.2). La gestion de l unicité du 5.1.2 étant aisée (un porteur de certificat, qu il s agisse d un utilisateur final ou d une AC, doit gérer pour son propre compte l unicité des numéros de série de ses différentes clés publiques), le champ 5.1.2 devra être utilisé pour désigner une clé publique particulière. Non 5.2 SubjectKeyIdentifier Dans le cadre de [PC2], cette extension doit être utilisée pour les certificats dont le porteur est une AC. Son utilisation est libre pour les certificats d utilisateurs finaux. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires - 24 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.2.1 SubjectKeyIdentifier NC Ce champ identifie la clé publique qui en train d être certifiée. Il permet de distinguer plusieurs clés utilisées par un même porteur de certificat (par exemple, en cas de renouvellement de clé). Cet identificateur doit identifier de manière unique une clé parmi celles utilisées par un porteur de certificat. Oui pour les AC Libre pour les UF NC Pour les AC : contient l identificateur de la clé certifiée. Lorsque le porteur de certificat est luimême une autorité de certification, cette extension doit être utilisée. - 25 -

5.3 KeyUsage Dans le cadre de [PC2], cette extension doit être utilisée pour tous les certificats. De plus, elle doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.3.1 KeyUsage OC Donne une ou plusieurs fonctions de sécurité auxquelles la clé publique est destinée. Ce champ permet de spécifier plusieurs services de sécurité. 5.3.2 digitalsignature pour vérifier les signatures numériques dont les buts sont autres que ceux identifiés lignes 5.3.3, 5.3.7 et 5.3.8. 5.3.3 nonrepudiation pour vérifier les signatures numériques utilisées afin de fournir un service de nonrépudiation qui protège contre le fait qu un signataire puisse nier avoir commis une action (cet usage ne peut pas être utilisé pour la signature de certificats ou de CRL.) Oui C Certaines combinaisons de services de sécurité nuisent à la sécurité de l IGC, et sont déconseillés ou prohibés par les politiques de certification. Le paragraphe suivant (*) propose les combinaisons de services de sécurité acceptables pour une même clé publique. La politique de certification mise en œuvre, l algorithme utilisant la clé publique et l usage du certificat sont des paramètres liés entre eux. Ainsi, si la clé est dédiée à un usage de signature, l algorithme correspondant permettra de faire de la signature, et la politique de certification utilisée devra être adaptée aux services de signature. Valeur 0 ou 1. Valeur 0 ou 1. - 26 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.3.4 keyencipherment pour chiffrer des clés ou d autres informations de sécurité, comme par exemple une clé de transport. 5.3.5 dataencipherment pour chiffrer des données utilisateurs, autres que les clés ou d autres informations de sécurité. 5.3.6 keyagreement pour utiliser comme clé publique de négociation de clé. 5.3.7 keycertsign pour vérifier la signature d une AC sur un certificat. 5.3.8 crlsign pour vérifier la signature d une AC sur une CRL. 5.3.9 encipheronly clé publique de négociation de clé seulement pour une utilisation de chiffrement de données quand le champ keyagreement est aussi positionné à 1 (ce qui signifie qu avec un autre usage de clé que keyagreement, le positionnement de ce champ à 1 est indéfini). 5.3.10 decipheronly clé publique de négociation de clé seulement pour une utilisation de déchiffrement quand le champ keyagreement est positionné à 1 (ce qui signifie qu avec un autre usage de clé que le keyagreement, le positionnement de champ à 1 est indéfini). Valeur 0 ou 1. Valeur 0 ou 1. Valeur 0 ou 1. Valeur 0 ou 1. Valeur 0 ou 1. Valeur 0 ou 1. Valeur 0 ou 1. 0 pour les utilisateurs finaux 1 pour les AC. 0 pour les utilisateurs finaux 1 pour les AC. Le contenu proposé suppose que toutes les AC sont capables de signer des listes de certificats. (*) Les usages possibles de la clé peuvent être spécifiés par l intermédiaire d une extension. Cette extension, utilisée de façon critique dans le cadre de [PC2] permet de séparer des fonctions de sécurité dont le cumul pourrait provoquer des failles de sécurité. - 27 -

Ainsi les politiques de certification décrites dans le document [PC2] requièrent la séparation des quatre types de bi-clés : Les bi-clés de signature, dont la clé privée est utilisée à des fins de signature, et la clé publique à des fins de vérification, Les bi-clés de certification, dont la clé privée est utilisée par une AC à des fins de signature de certificats ou de signature d informations de révocation de ces certificats et la clé publique à des fins de vérification de ces mêmes informations. Les bi-clés d échange de clés ou de transport de clés, par lesquels le transport des clés secrètes (symétriques) est effectué (les clés secrètes étant celles mises en œuvre pour chiffrer ou déchiffrer un message protégé en confidentialité), Les bi-clés de confidentialité, grâce auxquels des données sont chiffrées, dans un but de protection de leur confidentialité. «Key Usage» Usage de la clé Fonction de signature Fonction de certification (signature de certificats / CRL). Combinaisons valides Fonction de chiffrement de clé Fonction de chiffrement de données Fonction de négociation de clé digitalsignature Signature X numérique nonrepudiation Non répudiation X keyencipherment Chiffrement de clé X dataencipherment Chiffrement de X données keyagreement Négociation de clés X keycertsign Clé de signature de X certificat crlsign Signature de CRL X encipheronly Chiffrement seul decipheronly Déchiffrement seul Tout sous-ensemble des différentes combinaisons proposées est également acceptable. - 28 -

5.4 extendedkeyusage Dans le cadre de [PC2], cette extension ne doit pas être utilisée. De plus, elle doit être non critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.4.1 extendedkeyusage opt. OC Ce champ indique un ou plusieurs usage(s) possible(s) de la clé publique certifiée, lorsque ceux proposés en 5.3.1 sont insuffisants. 5.4.2 KeyPurposeId opt. De nouveaux types d usage peuvent être définis. Ce champ y fait référence par l intermédiaire d un identificateur d objet. Non NC Ce champ n est pas utilisé. Pour l instant, aucun autre usage n est proposé. Les usages définis en 5.3.1 conviennent aux besoins actuels. Non Cet OID ainsi que sa définition peuvent être répertoriés dans un registre. - 29 -

5.5 PrivateKeyUsagePeriod Dans le cadre de [PC2], cette extension doit être utilisée pour tous les certificats de signature. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.5.1 PrivateKeyUsagePeriod NC Ce champ définit la période d utilisation de la clé privée correspondant à la clé publique certifiée. Il n est applicable que pour les clés de signature. Oui pour les certifi cats de signat ure NC Ce champ n est utilisé que lorsque l indicateur digitalsignature est utilisé. 5.5.2 notbefore Ce champ donne la date de début d usage possible de la clé privée correspondant à la clé publique certifiée. 5.5.3 GeneralizedTime opt. Oui Cette date doit être comprise dans l intervalle défini par la période de validité du certificat (entre les dates fixées en 4.11 et 4.14). 5.5.4 notafter Ce champ donne la date de fin d usage possible de la clé privée correspondant à la clé publique certifiée, c'est-à-dire la date à partir de laquelle cette clé privée ne peut plus être utilisée pour signer. 5.5.5 GeneralizedTime opt. Oui Cette date doit être comprise dans l intervalle défini par la période de validité du certificat (entre les dates fixées en 4.11 et 4.14). De plus, elle doit être supérieure à la date définie en 5.5.2. - 30 -

5.6 certificate Policies Dans le cadre de [PC2], cette extension doit être utilisée pour tous les certificats. Cette extension doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.6.1 certificate Policies OC Cette séquence composée de structures du type de celle définie en 5.6.2 donne une liste de politiques de certification qui s appliquent au certificat. Ces politiques sont reconnues par l autorité de certification. 5.6.2 PolicyInformation Cette structure, composée des champs 5.6.3 et 5.6.4, identifie une politique en particulier. 5.6.3 policyidentifier Ce champ contient l identificateur de la politique de certification utilisée pour émettre le certificat. 5.6.4 policyqualifiers opt. Ce type contient les valeurs des qualificateurs de politiques pour la politique précisée dans le champ 5.6.3. Oui C Le traitement d un certificat dépend de la politique avec laquelle il a été émis. L identificateur d une politique de certification peut être enregistré auprès d un registre. Par exemple, un enregistrement au niveau international à l ISO suit la procédure [9834-1]. Non Un qualificateur de politique doit contenir la sémantique des valeurs possibles, ainsi qu une indication sur le fait que ce qualificateur doit être accompagné ou non d une valeur. Il permet d affiner la description d une politique au niveau même du certificat, mais implique la définition et éventuellement l enregistrement de qualificateurs dans un registre commun - 31 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.6.5 policyqualifierid Ce champ donne l identificateur de caractéristiques associées à une politique. 5.6.6 qualifier opt. Ce champ permet de préciser la valeur du qualificateur nommé en 5.6.5. - 32 -

5.7 policymappings Dans le cadre de [PC2], cette extension est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.7.1 policymappings NC Ce champ, qui ne peut être rempli que dans les certificats d AC permet d indiquer si dans un chemin de certification, l une des politiques de certification mentionnée en 5.6.3 (issuerdomainpolicy) peut être considérée comme équivalente à une autre politique de certification (subjectdomainpolicy), nommée en 5.7.4. 5.7.2 PolicyMappingsSyntax 5.7.3 issuerdomainpolicy opt. Ce champ identifie une politique de certification qui est reconnue par le fournisseur du certificat et qui peut être vue comme équivalente. 5.7.4 subjectdomainpolicy opt. Ce champ identifie une politique de certification reconnue par le porteur de certificat. Libre NC L équivalence de deux politiques est faite à l initiative de l AC génératrice du certificat et n implique pas forcément qu un accord préalable ait été effectué. Oui Utilisé dans les certificats d AC lorsque l extension est utilisée. Oui Utilisé dans les certificats d AC lorsque l extension est utilisée. - 33 -

5.8 subjectaltname Dans le cadre de [PC2], cette extension est libre d utilisation. Cette extension est non critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.8.1 subjectaltname OC Ce champ contient un ou plusieurs noms alternatifs pour le porteur de certificat, exprimé sous diverses formes possibles. 5.8.2 GeneralName Libre 5.8.3 othername Libre 5.8.4 rfc822name Libre 5.8.5 dnsname Libre 5.8.6 x400address Libre 5.8.7 directoryname Libre 5.8.8 edipartyname Libre 5.8.9 nameassigner opt. Libre 5.8.10 partyname Libre 5.8.11 uniformresourceidentifier Libre 5.8.12 ipaddress Libre 5.8.13 registeredid Libre Libre NC Cette autre dénomination apporte une information supplémentaire (par exemple, l e-mail) dont l usage n est pas clair. Il convient de ne pas l utiliser pour retrouver ou parcourir un chemin de certification de confiance, mais de ne tenir compte de cette information qu à titre indicatif. - 34 -

5.9 issueraltname Dans le cadre de [PC2], cette extension est libre d utilisation. Cette extension est non critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.9.1 issueraltname OC Ce champ contient un ou plusieurs noms Libre NC cf. 5.8.1. alternatifs pour le fournisseur de certificat, exprimé sous diverses formes possibles. 5.9.2 GeneralName Libre 5.9.3 othername Libre 5.9.4 rfc822name Libre 5.9.5 dnsname Libre 5.9.6 x400address Libre 5.9.7 directoryname Libre 5.9.8 edipartyname Libre 5.9.9 nameassigner opt. Libre 5.9.10 partyname Libre 5.9.11 uniformresourceidentifi Libre er 5.9.12 ipaddress Libre 5.9.13 registeredid Libre - 35 -

5.10 subjectdirectoryattributes Dans le cadre de [PC2], cette extension est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.10.1 subjectdirectoryattributes NC Ce champ permet d associer tout annuaire d attributs souhaité pour le porteur du certificat courant. Libre NC cf. Annexe 6.2 L extension subjectdirectoryattributes permet de faire pointer un certificat sur un ou plusieurs certificats d attribut. 5.10.1 Définition des certificats d attributs Les définitions données ci-dessous sont extraites de la norme [9594-8]. «Un ensemble d attributs d un utilisateur associé à un ensemble d autres informations, rendu non modifiable par la signature numérique utilisant la clé privée de l autorité de certification qui l a généré.» Certains attributs, relatifs à un porteur de certificat peuvent être associés dans une structure séparée définie comme un certificat d attribut. Un certificat d attribut est une structure séparée d un certificat de clé publique X.509 d un porteur de certificat. Un sujet peut avoir plusieurs certificats d attribut associés à chacun de ses certificats de clé publique. Les échanges entre un porteur et une AC traitant de la génération de certificats d attribut ne sont pas traités par la norme [9594-8].. Un certificat d attribut est composé des champs suivants : version Numéro de version (version 1) subject Nom du sujet basecertificateid soit le numéro de série du certificat de base (auquel ce certificat d attribut est associé). - 36 -

subjectname soit le nom du porteur de certificat (auquel ce certificat d attribut est associé). issuer Information sur l AC fournisseur de l attribut. issuer Nom de l AC serial Numéro de série du certificat de l AC issueruid Identificateur de l AC signature Spécification sur la signature utilisée pour signer ce certificat d attributs (nom de l algorithme et paramètres). serialnumber Numéro de série unique (a priori, pour un porteur de certificat donné). attrcertvalidityperiod Période durant laquelle le certificat est considéré comme valide. notbeforetime Début de période de validité du certificat d attributs notaftertime Fin de période de validité du certificat d attributs attributes (séquence d attributs) Ce champ contient un ensemble d attributs qui doivent être reconnus à l intérieur du domaine concernant un porteur de certificat. issueruniqueid Identifie de façon unique le fournisseur du certificat d attribut, dans le cas où le nom de ce fournisseur ne serait pas suffisant. extensions Permet d ajouter de nouveaux champs à un certificat d attributs. Un utilisateur peut obtenir un ou plusieurs certificats d attribut d une ou plusieurs AC. Chaque certificat d attribut contient le nom de l AC qui l a générer. Les certificats d attribut peuvent être révoqués avant le fin de leur période de validité si les attributs ne sont plus valables. Les certificats d attribut peuvent être révoqués sans que cela n ait d impact sur le certificat de clé publique. Les listes de révocation sont conservées dans un attribut de type «AttributeCertificateRevocationList». - 37 -

5.10.2 Utilisation de certificats d attributs Les certificats d attributs apportent donc des informations complémentaires sur le porteur d un certificat. Par ce biais, les droits associés à un porteur, comme par exemple la possibilité de passer des contrats jusqu à une somme donnée peuvent être véhiculées. Cependant, le choix d utiliser des certificats d attribut est coûteux en termes techniques. En effet, l utilisation de certificats d attributs requiert de la part d une implémentation, la vérification de ce type particulier de certificat (processus ralentissant le traitement d un certificat), le parcours d un chemin de certification (le plus souvent autre que celui d un certificat de clé publique), la gestion de listes de révocation de certificats d attributs, éventuellement l intervention d une autorité dédiée à la génération et la gestion des certificats d attributs, etc. Le choix d utiliser ou non des certificats d attributs doit être le fruit d un compromis entre le besoin d intégrer certains types d informations dans un certificat et les conséquences et contraintes techniques qui en découlent. L extension subjectdirectoryattribute, reliant un certificat à un ou plusieurs certificat(s) d attributs est définie comme non critique dans la norme [9594-8]. Les profils de certificats décrits dans ce document n incluent pas le traitement des certificats d attributs. D après le rapport de l ETSI sur la Standardisation de la signature électronique, (Etude du groupe ETSI TC Security TTP Ad Hoc Group, version 4.1 du 16/09/98, le concept d autorités d attributs est en cours de discussion. Un certificat d attribut est lié à un certificat d utilisateur et contient des attributs relatifs à un utilisateur. Il peut être de courte durée (validité d au plus un jour), afin que la révocation ne soit pas nécessaire. A la date de rédaction de ce document, les informations normatives ne sont pas stabilisées ni complètes. Les prochaines version de ce document tiendront compte de l évolution des études sur les certificats d attribut. - 38 -

5.11 BasicConstraintsSyntax Dans le cadre de [PC2], cette extension est utilisée pour tous les certificats. Cette extension doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.11.1 BasicConstraintsSyntax OC Cette structure indique si le porteur du certificat peut se comporter comme AC, et donc si ce porteur de certificat peut être émettre d autres certificats de clés publiques. Si tel est le cas, une contrainte sur la longueur maximale du chemin de certification doit être spécifiée. Oui C cf. Annexe 6.3 5.11.2 ca Ce booléen qui indique si ce certificat peut être utilisé pour vérifier des signatures de certificat, autrement dit si le porteur de certificat peut se comporter comme une AC ou non. 5.11.3 pathlenconstraint opt. Ce champ donne le nombre maximal de certificats d AC qui peuvent suivre ce certificat dans un chemin de certification. Lorsque ce nombre vaut 0, cela signifie que le porteur de ce certificat ne peut générer de certificats que pour des utilisateurs finaux. Ce champ ne doit être rempli que lorsque l item précédent (5.11.2) est vrai, c'est-àdire lorsqu il s agit du certificat d une AC. 0 pour les utilisateurs finaux 1 pour les AC. Oui Doit être rempli (valeur de 0 à max) si le champ 5.11.2 est à 1. - 39 -

Le fonctionnement de cette extension est détaillé dans les chapitres suivants. 5.11.1 Le champ ca Le premier champ de cette extension (ca) précise si le certificat correspondant est celui d'une autorité de certification (notée AC) ou celui d'un utilisateur final (noté UF). Dans le cas d'un certificat d'ac et dans ce cas seulement, les deux champs de l'extension qui suivent permettent de cloisonner de manière fine les possibilités de certification de chaque autorité de certification. Considérons par exemple une IGC disposant des AC suivantes : Une AC racine (par exemple BANQUE) Plusieurs AC principales (par exemple BRANCHE_FR, BRANCHE_GB, BRANCHE_DK) Plusieurs AC secondaires (par exemple AGENCE_75, AGENCE_92,...) Il est clair que ces AC n'ont pas toutes les mêmes possibilités en matière de certification. 5.11.2 Le champ pathlenconstraint Ce second champ est relatif au pouvoir de certification d'une AC. Il s'agit d'un nombre qui exprime la profondeur de certification possible. Dans notre exemple, on pourrait imaginer que les AC secondaires ont comme pouvoir de certification 0, c'est-à-dire qu'elles ne peuvent émettre que des certificats d'utilisateurs finaux. Les AC principales auraient un pouvoir de certification de 1, c'est-à-dire qu'elles sont capables d'émettre un certificat pour une autorité de certification secondaire. L'AC racine quant à elle aurait un pouvoir de certification de 2, c'est-à-dire qu'elle est capable d'émettre un certificat pour une autorité de certification principale. La vérification de ce champ se fait sur tous les certificats de la chaîne de certification. Ainsi, le certificat de l'utilisateur final est d'abord vérifié. Il s'agit d'un certificat émis par son AC secondaire de rattachement. Cette AC secondaire de rattachement est elle même certifiée par une AC primaire. Il convient donc de vérifier que ce certificat de l'ac secondaire a bien été émis pour une utilisation d'autorité de certification (champ ca à 1). Mais il faut aussi vérifier que l'ac primaire qui a émis le certificat est bien habilitée à le faire. Cette AC primaire est certifiée par l'ac racine. Il convient donc de vérifier sur son certificat que le champ ca vaut bien 1 et que cette AC a une autorisation de certification supérieure à 1 (champ pathlenconstraint supérieur ou égal à 1). - 40 -

5.12 NameConstraintsSyntax Dans le cadre de [PC2], cette extension est libre d utilisation pour les certificats d AC et ne doit pas être utilisée pour les certificats d utilisateurs finaux. Lorsqu elle est utilisée, cette extension doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.12.1 NameConstraintsSyntax OC Ce champ, qui ne peut être utilisé que dans les certificats d AC, indique un espace de nommage à l intérieur duquel tous les noms de porteurs de certificats doivent se trouver dans les certificats inférieurs d un chemin de certification. cf. 5.12.1. 5.12.2 permittedsubtrees opt. Définit le sous-arbre d une hiérarchie de nommage à l intérieur duquel l AC porteur de certificat a le droit d émettre des certificats. 5.12.3 GeneralSubtree 5.12.4 base Précise le type de nom utilisé comme repère pour la hiérarchisation du domaine de certification. Libre pour les certifi cats d AC. Non pour les autres Oui C cf. Annexe 6.3 Le plus souvent, le nom utilisé pour satisfaire ce champ est le DN. 5.12.5 minimum Valeur comprise entre 0 et max. Si rien n est précisé, la valeur de 0 est mise par défaut. 5.12.6 maximum opt. Oui 5.12.7 excludedsubtrees opt. Définit le sous-arbre d une hiérarchie de nommage à exclure. Oui - 41 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.12.8 GeneralSubtree 5.12.9 base 5.12.10 minimum Valeur comprise entre 0 et max. Si rien n est précisé, la valeur de 0 est mise par défaut. 5.12.11 maximum opt. Oui Le chapitre 5.12.1 décrit le fonctionnement de l extension NameConstraintsSyntax à travers un exemple. 5.12.1 Fonctionnement de l extension L'extension NameConstraintsSyntax permet de définir les noms des certificats qui sont certifiables par l'ac. Il est possible d'indiquer les sousarbres de certification autorisés (permittedsubtrees) et ceux qui sont interdits (excludedsubtrees). Il est recommandé d'utiliser plutôt les sousarbres autorisés pour limiter le pouvoir d'une AC. Ces deux champs sont tous les deux définis par un type GeneralSubtree qui comprend trois champs : 1. base: la racine du sous-arbre. 2. minimum: la profondeur minimale (par défaut 0). 3. maximum: la profondeur maximale (optionnel). Dans l exemple donné en 5.11.1, on pourrait avoir la politique suivante : une AC primaire aurait un certificat avec comme sous-arbre autorisé base=fr/banque/branche_fr une AC secondaire aurait un certificat avec comme sous-arbre autorisé base=fr/banque/branche_fr/agence_75-42 -

on pourrait aussi imaginer que l'ac racine ait un certificat avec comme sous-arbre exclu des arbres particuliers, par exemple : base=fr/banque/branche_dk minimum=1 ce qui permettrait de rendre l'ac principale correspondante quasi-autonome. Cet exemple est uniquement destiné à faire comprendre de quelle manière les extensions de contraintes d'un certificat d'ac permettent de limiter le pouvoir de chaque AC dans une IGC. - 43 -

5.13 PolicyConstraintsSyntax Dans le cadre de [PC2], cette extension est libre d utilisation. Lorsqu elle est utilisée, cette extension doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.13.1 PolicyConstraintsSyntax OC Ce champ requiert l identification d une politique de certificat explicite, et/ou inhibe la possibilité d utiliser le croisement de politique dans un chemin de certification. 5.13.2 requireexplicitpolicy 5.13.3 SkipCerts opt. Donne le nombre de certificats que l on peut parcourir dans un chemin de certification, en utilisant une politique de certification valable (certificatepolicies). cf. 5.13.1. 5.13.4 inhibitpolicymapping 5.13.5 SkipCerts opt. Donne le nombre de certificats d AC qu il faut parcourir avant d autoriser le croisement de politiques. cf. 5.13.2. Libre C Oui Oui 5.13.1 requireexplicitpolicy Ce champ est de type SkipCerts, c'est-à-dire un entier. Il indique le nombre de certificats successifs dans la chaîne de certification, qui doivent respecter l'une des politiques de certification acceptées dans le champ certificatepolicies. - 44 -

5.13.2 inhibitpolicymapping Ce champ est de type SkipCerts, c'est-à-dire un entier. Il indique le nombre de certificats successifs dans la chaîne de certification, qui ne peuvent pas utiliser de politiques de certification croisée telles que définies dans le champ policymappings. - 45 -

5.14 CRLDistributionPoints Dans le cadre de [PC2], cette extension est libre d utilisation. Lorsqu elle est utilisée, cette extension doit être critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.14.1 CRLDistributionPoints OC Cette extension peut être utilisée par des certificats d AC ou d utilisateurs finaux. Il identifie le point de distribution des CRL ou les points auxquels l utilisateur d un certificat doit se référer pour vérifier que le certificat n a pas été révoqué. Un utilisateur de certificat peut obtenir une CRL à partir d un point de distribution ou il peut obtenir la CRL complète à partir du service de publication de l AC. De préférence et pour des questions de rapidité de traitement, une CRL distribuée à travers un point de distribution de CRL ne doit contenir qu un sous-ensemble de la totalité des certificats générés par une AC ou peut contenir des données de révocation pour plusieurs AC. Cette séquence, composée des structures 5.14.2, 5.14.5 et 5.14.14, propose une séquence (de 1 à max) de points de distribution. 5.14.2 distributionpoint opt. Cette structure, composée des champs 5.14.3 ou 5.14.16 identifie un emplacement à partir duquel la CRL peut être obtenu. Libre NC Oui - 46 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.14.3 fullname Cette structure composée des champs 5.14.3 et 5.14.16 contient le nom de l emplacement où se trouve la CRL associée à ce certificat, c'est-à-dire la CRL qui contiendrait potentiellement ce certificat s il était révoqué. 5.14.4 GeneralName 5.14.5 othername 5.14.6 rfc822name 5.14.7 dnsname 5.14.8 x400address 5.14.9 directoryname 5.14.10 edipartyname 5.14.11 nameassigner opt. 5.14.12 partyname 5.14.13 uniformresourceidentifi er 5.14.14 ipaddress 5.14.15 registeredid 5.14.16 namerelativetocrlissuer 5.14.17 reasons opt. Ce champ indique les raisons de la Oui révocation couvertes par cette CRL. SI ce champ est absent, le point de distribution de CRL correspondant doit publier tous les certificats révoqués, indépendamment de leurs motifs de révocation. 5.14.18 ReasonFlags 5.14.19 unused Libre 5.14.20 keycompromise Libre 5.14.21 cacompromise Libre - 47 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 5.14.22 affiliationchanged Libre 5.14.23 superseded Libre 5.14.24 cessationofoperation Libre 5.14.25 certificatehold Libre 5.14.26 crlissuer opt. Ce champ indique le nom du générateur et signataire de la CRL. Si ce champ est inutilisé, aucun nom n est précisé dans ce champ, il est positionné par défaut au nom de l AC génératrice du certificat courant. Oui - 48 -

6 Champs de base de listes de certificats révoqués (CRL) Le formalisme du tableau suivant est explicité dans l annexe 10.1. n Nom du champ Sous-groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 6.1 CertificateList Cette structure est composée des structures 6.3, 6.19 et 6.22. 6.2 signed 6.3 tobesigned Cette structure est composée des champs 6.4 à 6.18, c'est-à-dire d un ensemble de champs relatifs à la CRL, accompagné d un ensemble d extensions de CRL. Cette structure est signée (par l algorithme précisé en 6.19). 6.4 version Numéro de version de la CRL. Oui «1» (pour version 2) 6.5 signature Cette structure, composée de la structure 6.6, donne des informations sur l algorithme de signature utilisé par le fournisseur de la CRL pour signer cette même CRL. 6.6 AlgorithmIdentifier Cette structure est composée des champs 6.7 et 6.8. Cette information est identique à celle de la ligne 6.19. 6.7 algorithm Ce champ précise l identificateur de l algorithme utilisé pour signer la CRL. OID de l algorithme utilisé pour signer la CRL. Cet OID ainsi que sa définition peuvent être répertoriés dans un registre. Par exemple, l enregistrement au niveau international à l ISO suit la procédure [9834-1]. Par exemple, la PMA peut être chargée de l enregistrement des algorithmes auprès d un registre. - 49 -

n Nom du champ Sous-groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 6.8 parameters opt. Les paramètres associés à un algorithme cryptographique sont caractéristiques de l usage de l algorithme dans un domaine particulier propre. 6.9 issuer Ce champ contient le nom du fournisseur de la CRL, c'est-à-dire le signataire de cette liste. 6.10 thisupdate Ce champ renseigne la date à laquelle la CRL a été émise, c'est-à-dire la date à laquelle le fournisseur désigné en 6.9 a signé la CRL. 6.11 GeneralizedTime 6.12 nextupdate opt. Ce champ contient la date prévue de génération prochaine d une CRL. 6.13 GeneralizedTime 6.14 revokedcertificates Cette séquence contient une liste (de taille inconnue) de structures composées des champs 6.15, 6.16 et 6.17. Oui Si l algorithme requiert des paramètres, ce champ doit être utilisé. Le nom de l autorité de certification signataire de la CRL. Lors de la définition d un OID (par exemple à l enregistrement), il doit être précisé si les paramètres qui le caractérisent font partie intégrante de son identification ou non. Ainsi, soit ils sont connus des deux parties, soit ils doivent être précisés dans ce champ. A titre d exemple, les paramètres associés au DSA sont p, q et g. Le nom utilisé peut être de type Distinguished Name tel qu il est défini par la norme [9594-1]. Quelque soit le type de nommage choisi, le système de vérification doit pouvoir reconnaître les noms de type Distinguished Name. Dans le cas de PC2_AC : la PMA est responsable de l unicité des noms des autorités de certification qu elle gère. Libre Ce champ influe sur la politique de certification, de même que la politique conditionne ce champ. - 50 -

n Nom du champ Sous-groupe Certificat Optionnel Définition Utilisé Contenu Commentaires 6.15 usercertificate Ce champ contient le numéro de série du certificat révoqué. 6.16 revocationdate Date de la révocation, c'est-à-dire date à laquelle l acte de révocation a été exécutée par l AC. 6.17 crlentryextensions opt. Extension d entrée de CRL. Extension apparaissant à chaque occurrence de certificat révoqué (cf. 3.3). 6.18 crlextensions opt. Extensions de CRL, c'est-à-dire de la structure complète (cf. 3.4). Un certificat est identifié de manière unique par le couple constitué de son numéro de série et de l AC qui l a émis. Par défaut, si aucune précision n est donnée (notamment à travers une extension d entrée de CRL, cf. 7.4), il faut considérer que le fournisseur du certificat nommé dans cette liste est le fournisseur même de la CRL. Cette date n a de sens que si elle est inférieure à la date de fin de validité du certificat. De même, cette date doit être antérieure à la date d émission de la CRL (cf. 6.10). L utilisation d extensions d entrées de CRL est spécifiée dans le chapitre 7. L utilisation d extensions de CRL est spécifiée dans le chapitre. 6.19 algorithmidentifier 6.20 algorithm Ce champ précise l identificateur de l algorithme utilisé pour signer la CRL. 6.21 parameters opt. cf. ligne 6.8. Les paramètres de l algorithme utilisé pour signer le certificat ont déjà été mentionnés à la ligne 6.8. De préférence, ce champ ne doit pas être rempli. 6.22 signaturevalue Ce champ contient une signature numérique calculée à partir du codage ASN.1 DER de la structure tobesigned. Le code ASN.1 DER de la structure tobesigned est utilisée comme une entrée à la fonction de signature. la valeur de cette signature est ensuite encodée en ASN.1 comme un «BIT STRING» et incluse dans le champ de signature de la CRL [IETF]. BIT STRING - 51 -

7 Extensions d entrée de CRL Une CRL propose une liste de certificats contenant un ensemble de certificats révoqués. Pour chaque entrée de cette liste, il est possible d ajouter ou non des «extensions d entrée» qui ne caractérisent que l entrée qu elles qualifient et uniquement celle-ci. Il est possible de n ajouter aucune extension et de se contenter des champs 6.15 et 6.16 pour identifier un certificat révoqué. Tous les certificats nommé dans la séquence 6.14 n ont pas nécessairement les mêmes extensions, ni le même nombre d extensions. Le formalisme des tableaux suivants est explicité dans l annexe 10.2. 7.1 reasoncode Dans le cadre de [PC2], l extension «reasoncode» doit être utilisée. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.1.1 reasoncode NC Cette extension d entrée de CRL identifie la cause de la révocation d un certificat. Cette cause de révocation peut être utilisée par les applications pour décider, sur la base de la politique de certification, comment réagir aux différents types de révocation. 7.1.2 CRLReason Cette énumération est composée des champs 7.1.3 à 7.1.10. 7.1.3 unspecified est utilisé lorsque la cause de révocation n est pas spécifiée. Oui NC Le cumul de causes de révocation ne doit pas être possible. Ainsi, un seul des champs parmi ceux cités de 7.1.3 à 7.1.10 doit être positionné à 1. En terme de taille mémoire utilisée, il est préférable de ne pas utiliser l extension plutôt que donner une cause de révocation non spécifiée. - 52 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.1.4 keycompromise est utilisé pour révoquer un certificat d utilisateur final ; il indique qu il y a compromission ou suspicion de compromission de la clé privée du porteur de certificat ou d autres informations apparaissant dans le certificat. 7.1.5 cacompromise est utilisé pour révoquer un certificat d AC ; il indique qu il y a compromission ou suspicion de compromission de la clé privée du porteur de certificat d AC ou d autres informations apparaissant dans le certificat d AC. 7.1.6 affiliationchanged indique que le nom du porteur de certificat ou une autre information dans le certificat a été modifiée mais qu il n y a pas de suspicion de compromission de clé privée. 7.1.7 superseded indique que le certificat a été remplacé mais qu il n y a pas de suspicion de compromission de clé privée. 7.1.8 cessationofoperation indique que le certificat n est plus nécessaire pour les besoins pour lesquels il a été émis, mais qu il n y pas de suspicion de compromission de clé privée. - 53 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.1.9 certificatehold permet de mettre le certificat «en attente». Lorsque cette cause de révocation est utilisée pour un certificat, il est possible de faire figurer à travers l extension 7.2, les mesures à prendre avant l utilisation d un certificat «en attente». Un certificat peut sortir de son état d attente de différentes manières : - il peut être marqué comme révoqué (pour une raison autre que «certificate Hold»). Dans ce cas, la date de révocation doit être la date à laquelle il a été mis en attente (et non pas la date à laquelle son statut est passé de «en attente» à «révoqué». De plus, si l extension holdinstructioncode a été utilisé, elle doit être supprimée. - il peut être explicitement supprimé de la CRL et donc redevenir valide. 7.1.10 removefromcrl seulement utilisé avec les delta-crl. Ce champ indique que cette entrée peut être supprimée de la CRL soit, en raison de l expiration du certificat, soit parce que la période d attente (cf. 7.1.1.9) arrive à sa fin. Le fait de mettre en attente un certificat permet de pouvoir procéder à une révocation anticipée, par exemple, lorsque le processus d authentification avant révocation ne peut être mis en œuvre de manière fiable à un instant donné, le certificat est mis en attente. Dès que l authentification est régularisée, et que le procédure est menée à bien, la révocation peut avoir lieu. Dans le cas où le certificat n est finalement pas révoqué, il redevient valide et aucune trace ni dans la CRL ni dans le certificat ne permet de dire si le certificat a été mis en attente pendant une période donnée. Une entrée de CRL ayant cette cause de révocation doit être utilisée dans une delta-crl dont la CRL de base correspondante contient une entrée où le même certificat est nommé avec pour cause de révocation «certificatehold» (7.1.9). - 54 -

7.2 holdinstructioncode Dans le cadre de [PC2], l extension «holdinstructioncode» est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.2.1 instructioncode NC Cette extension d entrée de CRL permet d inclure l identificateur d une instruction enregistrée pour indiquer les mesures à prendre lorsque le certificat que qualifie cette extension est «en attente» (cf. 7.1.9). Elle n est applicable qu à une entrée ayant une cause de révocation «certificatehold». 7.2.2 Holdinstruction Libre NC L utilisation de cette extension implique l existence d un registre associant un identificateur à diverses instructions. Aucun identificateur standard n est défini dans la norme [9594-8]. Par contre, l IETF a défini trois identifiants standards signifiant les instructions suivantes : - appeler le générateur du certificat ou rejeter le certificat, - rejeter le certificat - aucune instruction. L utilisation du statut «on hold» (en attente) permet de rendre le service de suspension de certificat tel qu il est défini dans le document [PC2]. - 55 -

7.3 invaliditydate Dans le cadre de [PC2], cette extension est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.3.1 invalidity Date NC Cette extension permet d indiquer la date à laquelle la compromission de la clé privée a été connue ou suspectée ou à partir de laquelle le certificat doit être considéré comme invalide. Cette date doit être antérieure à la date de révocation exprimée en 6.16. Libre NC Un certificat d une signature postérieure à cette date doit être refusé. Cependant, cette date ne doit pas suffire à elle seule, à permettre la non répudiation. En particulier, cette date peut être donnée par le possesseur de la clé privée et il est possible que cette personne déclare une fausse date pour répudier un usage antérieur de la clé. Cette date peut être antérieure à la date d émission de la dernière CRL. - 56 -

7.4 certificateissuer Dans le cadre de [PC2], l extension «certificateissuer» est utilisée. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 7.4.1 certificateissuer C Cette structure, composée de la structure 7.4.2 Identifie le fournisseur du certificat associé à une entrée dans une CRL indirecte, c est à dire une CRL qui à pour valeur indirectcrl dans l extension issuingdistributionpoint. 7.4.2 GeneralName 7.4.3 othername 7.4.4 rfc822name 7.4.5 dnsname 7.4.6 x400address 7.4.7 directoryname Oui C 7.4.8 edipartyname 7.4.9 nameassigner 7.4.10 partyname 7.4.11 uniformresourceidentifi er 7.4.12 ipaddress 7.4.13 registeredid - 57 -

7.4.1 Exemple d utilisation de l extension certificateissuer L utilisation de cette extension diffère selon que la CRL contienne des certificats révoqués émis par l AC signataire de la CRL (l AC génère une liste de ses propres certificats révoqués) ou selon qu elle contienne des certificats révoqués émis par une autre AC. Le tableau suivant donne l exemple d une liste d entrées de CRL en précisant le nom de l AC émettrice du certificat. La colonne «Extension certificateissuer» précise la valeur qui est effectivement indiquée dans le champ certificateissuer. Dans la colonne «Nom de l autorité de certification du certificat révoqué déduite», précise quelle est, d après le champ certificateissuer, l AC émettrice du certificat nommé dans le champ «Numéro de série du certificat». Liste de certificats révoqués Champs de base d entrée de CRL Numéro de série du certificat Date de révocation Extensions d entrée de CRL ( ) Extensions d entrées de CRL Extension certificate Issuer Nom de l autorité de certification du certificat révoqué déduite ex : 002 ex : 01/01/97 ( ) ------- (*) AC signataire de la CRL ex : 006 ex : 02/06/99 ( ) ------- (*) AC signataire de la CRL ex : 001 ex : 03/01/98 ( ) ex : Autorité_A Autorité_A ex : 008 ex : 01/04/99 ( ) ------- (*) Autorité_A ex : 003 ex : 09/01/98 ( ) ------- (*) Autorité_A ex : 008 ex : 01/05/97 ( ) ex : Autorité_B Autorité_B (*) Lorsque le champ n est pas renseigné, une valeur est prise par défaut : - s il s agit de la première entrée de la liste, alors le signataire de la CRL est également l émetteur du certificat nommé. - pour toutes les autres entrées de la liste, l émetteur du certificat est le dernier nommé dans la liste. Dans le cas où la liste inclut des certificats révoqués émis par une autre AC que l AC signataire de la CRL, le champ 8.4.30 définissant la CRL comme «indirecte» doit être utilisé. - 58 -

8 Extensions de CRL Au sein de chaque CRL, il est possible de n ajouter aucune extension, ou bien d en ajouter une ou plusieurs. Les chapitres suivants présentent les extensions de CRL telles qu elles sont définies dans la norme [9594-8]. Le formalisme des tableaux suivants est explicité dans l annexe 10.2. 8.1 AuthorityKeyIdentifier Dans le cadre de [PC2], l utilisation de cette extension est obligatoire. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 9.1.1 AuthorityKeyIdentifier NC Cette séquence identifie la clé publique à utiliser pour vérifier la signature de la CRL. Elle permet de distinguer des clés différentes utilisées par une même AC (par exemple en cas de renouvellement de clé). La clé peut être identifiée soit par un identificateur de clé explicite (ligne 8.1.2) soit par l association d un numéro de certificat avec le nom de l autorité de certification du certificat de cette clé publique (lignes 8.1.3 et 8.1.4). 8.1.2 KeyIdentifier opt. Ce champ contient un identificateur unique pour un porteur de certificat de la clé publique certifiée. Oui NC L utilisation de cette extension permet d accélérer la recherche du certificat de clé publique utilisé par l AC pour signer une CRL (par exemple, en cas de recouvrement de période lors d un renouvellement de clé). Oui De préférence, on utilise ce champ plutôt que les champs 8.1.3 et 8.1.4 pour identifier une clé publique particulière d un fournisseur de certificat. - 59 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.1.3 ou AuthorityCertIssuer opt. Ce champ contient le nom de l autorité de certification ayant émis le certificat correspondant à la clé publique utilisée. 8.1.4 AuthorityCertSerialNumber opt. Ce champ contient le numéro de série du certificat de la clé publique utilisée pour signer le certificat courant. Non Les informations des lignes 8.1.3 et 8.1.4 permettent, ensemble, d identifier de manière unique un certificat et donc une clé publique associée. Ces deux champs fournissent une seule information, information qu il est possible de renseigner en n utilisant qu un champ (8.1.2). La gestion de l unicité du 8.1.2 étant aisée (un porteur de certificat, qu il s agisse d un utilisateur final ou d une AC, doit gérer pour son propre compte l unicité des numéros de série de ses différentes clés publiques), le champ 8.1.2 devra être utilisé pour désigner une clé publique particulière. Non - 60 -

8.2 issueraltname Dans le cadre de [PC2], l extension «issueraltname» est libre d utilisation. Dans le cas où elle est utilisée, elle doit être non critique. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.2.1 issueraltname OC Ce champ contient un ou plusieurs noms alternatifs pour le fournisseur de la CRL, exprimé sous diverses formes possibles. 8.2.2 GeneralName Libre 8.2.3 othername Libre 8.2.4 rfc822name Libre 8.2.5 dnsname Libre 8.2.6 x400address Libre 8.2.7 directoryname Libre 8.2.8 edipartyname Libre 8.2.9 nameassigner opt. Libre 8.2.10 partyname Libre 8.2.11 uniformresourceidentifi Libre er 8.2.12 ipaddress Libre 8.2.13 registeredid Libre Libre NC Autre forme de dénomination du fournisseur de la CRL que celle utilisée en en 6.9. Cette autre dénomination apporte une information supplémentaire (par exemple, l e-mail) dont l usage n est pas clair. Il convient de ne pas l utiliser pour retrouver ou parcourir un chemin de certification de confiance, mais de ne tenir compte de cette information qu à titre indicatif. - 61 -

8.3 CRLNumber Dans le cadre de [PC2], l extension «CRL Number» doit être utilisée. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.3.1 CRLNumber NC Donne un nombre croissant séquentiel pour chaque CRL émise par un fournisseur de CRL Oui NC Ce champ permet à un utilisateur de CRL de déterminer s il a déjà vu et traité les CRL générées avant celleci. A partir de ce numéro, il doit également vérifier que celle qu il reçoit est postérieure à celle dont il dispose. - 62 -

8.4 issuingdistributionpoint Dans le cadre de [PC2], l extension «issuingdistributionpoint» est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.4.1 IssuingDistributionPoint C Cette extension identifie un point de distribution de sous-ensembles de cette CRL, et indique le périmètre de ces sousensembles. Elle est composée de la structure 8.4.2. 8.4.2 IssuingDistPointSyntax Cette séquence qualifie un ensemble de points de distribution d un sous-ensemble d une CRL. Chaque point de distribution est qualifié par les champs 8.4.3, 8.4.18, 8.4.19, 8.4.20, 8.4.21 8.4.3 distributionpoint opt. Cette structure, composée du champ 8.4.4 contient le nom du point de distribution exprimé sous une ou plusieurs formes possible(s). 8.4.4 fullname choix Cette structure composée de la structure 8.4.5 contient le nom de l emplacement où se trouve un sous-ensemble de cette même CRL. 8.4.5 GeneralName 8.4.6 othername Libre C La possibilité de répartir les informations contenues dans une CRL par type d informations contenues permet d accélérer les recherches lors de la vérification de la validité d un certificat. En effet, plutôt que de consulter une liste contenant un très grand nombre d entrées, un vérificateur peut ne consulter qu un sous-ensemble de la CRL, correspondant à ses besoins. L utilisation de cette extension est donc conseillée mais non obligatoire. Oui Libre - 63 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.4.7 rfc822name 8.4.8 dnsname 8.4.9 x400address 8.4.10 directoryname 8.4.11 edipartyname 8.4.12 nameassigner opt. Libre 8.4.13 partyname 8.4.14 uniformresourceidentifi er 8.4.15 ipaddress 8.4.16 registeredid 8.4.17 namerelativetocrlissuer choix Libre 8.4.18 onlycontainsusercerts A l emplacement désigné en 8.4.3, se trouve un sous-ensemble de cette CRL, ne contenant que des certificats révoqués d utilisateurs finaux. 8.4.19 onlycontainscacerts A l emplacement désigné en 8.4.3, se trouve un sous-ensemble de cette CRL, ne contenant que des certificats révoqués d AC. 8.4.20 onlysomereasons opt. A l emplacement désigné en 8.4.3, se trouve un sous-ensemble de cette CRL, ne contenant que des certificats révoqués pour la raison citée en 8.4.21. Si ce champ est absent, la CRL contient des certificats révoqués quelle qu en soit la cause. 8.4.21 CRLReason cf. 7.1.2. cf. 7.1.2. 8.4.22 unspecified cf. 7.1.3. cf. 7.1.3. 8.4.23 keycompromise cf. 7.1.4. cf. 7.1.4. 8.4.24 cacompromise cf. 7.1.5. cf. 7.1.5. - 64 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.4.25 affiliationchanged cf. 7.1.6. cf. 7.1.6. 8.4.26 superseded cf. 7.1.7. cf. 7.1.7. 8.4.27 cessationofoperation cf. 7.1.8. cf. 7.1.8. 8.4.28 certificatehold cf. 7.1.9. cf. 7.1.9. 8.4.29 removefromcrl cf. 7.1.10. cf. 7.1.10. 8.4.30 indirectcrl Ce champ indique si la CRL contient des certificats révoqués émis par d autres AC (c'est-à-dire d autres AC que le générateur de la CRL). Par défaut, ce champ est positionné à FAUX, c'est-à-dire que par défaut, la CRL émise ne contient que des certificats révoqués émis par l AC génératrice de la CRL. Lorsque ce champ est VRAI (c'est-àdire lorsque la CRL contient également des certificats d autres AC), l extension certificateissuer doit être utilisée, selon les spécifications exprimées en 7.4. - 65 -

8.5 deltacrlindicator Dans le cadre [PC2], l extension «deltacrlindicator» est libre d utilisation. n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.5.1 deltacrlindicator C Cette extension identifie la CRL comme étant uniquement une delta-crl. Une delta-crl ne fait apparaître dans la liste que les différences apportées à une CRL complète prise pour référence. C La taille d une delta-crl est sensiblement moins importante que la CRL complète. L utilisation de delta- CRL permet d accélérer la vérification du traitement d une liste de certificats, aussi bien du point de vue de son chargement (à partir du service de publication, par exemple) que de sa consultation (recherche d un certificat particulier). Lorsqu un delta-crl est émise, l AC doit également générer une CRL complète. - 66 -

n Nom de l extension Sous-groupe Certificat Optionnel Critique Définition Utilisé Critique Contenu Commentaires 8.5.2 BaseCRLNumber Ce champ identifie le numéro de la CRL de base qui a été utilisée comme point de départ à la génération de cette delta-crl. Lorsqu un vérificateur utilise une delta-crl, il doit vérifier qu il dispose bien de la CRL de base. Cette CRL dont le numéro apparaît dans ce champ. S il ne connaît pas la CRL de base, il doit alors se procurer cette CRL complète. Cependant, il peut également rechercher une delta-crl antérieure et vérifier qu elle correspond à une CRL complète qu il possède. Ainsi, dès qu il rencontre une delta-crl dont il connaît la CRL de base, il doit récupérer l ensemble des CRL émises depuis, jusqu à la delta-crl la plus récente. Cette méthode peut provoquer un gain de temps conséquent dès lors que la CRL de base atteint une taille importante. - 67 -

9 Conclusion La rédaction de ce document a permis au sous-groupe de travail «CERTIFICAT» d aborder les problèmes relatifs aux contenus des certificats de clés publiques et listes de certificats révoqués. Si certains points ont été résolus, plusieurs points délicats ont été identifiés. Certaines question sont aujourd hui ouvertes et ne trouvent pas de solution dans l état de l art actuel. 9.1 Points résolus L utilisation des extensions de certificats, de CRL ou d entrée de CRL ainsi que les champs définis comme «optionnels» par la norme [9594-8] est libre. L objet de ce document, entre autres, était de fixer, pour chaque champ, s il était utile et nécessaire. Dans certains cas, la réponse du groupe a cette question a été de laisser le libre choix au système implémentant le format X.509 d utiliser ou non ces champs ou extension. Cela signifie qu il n est pas indispensable pour un système d utiliser cette extension. Par exemple, l utilisation de l extension issueraltname peut être utile si le fournisseur de certificat est connu sous un autre nom, s il a besoin de préciser son adresse e-mail, son adresse IP, etc. mais renseigner cette information n est pas indispensable. Par conséquent, son utilisation est libre. Dans un souci de minimiser les difficultés d intégration lors du déploiement d une IGC, aucune obligation n est donnée dans ce document concernant l utilisation d un type de nom particulier. Ainsi, si l utilisation de noms de type Distinguished Name n est pas obligatoire, il est conseillé d utiliser de type de noms, dont la structure hiérarchique permettra de fixer plus facilement des contraintes de nommage (extension nameconstraints) et qui, étant normalisé, sera plus facilement exploitable par un système de vérification. Cette étude a tout de même permis de soulever un problème plus général quant aux règles utilisées pour décrire un nom, problème reporté au 9.3. 9.2 Questions ouvertes Les réflexions du groupe ont montré que trois points n admettent pas aujourd hui de solutions évidentes. La gestion des listes de certificats révoqués peut être différentielle. Il s agit alors de gérer les différences entre deux listes. Cette différence s appelle alors delta-crl. L exploitation des delta-crl implique la connaissance des listes de référence ayant servi à la calculer. L avantage d une delta-crl est de ne contenir que les modifications faites à la liste de référence. Sa taille est donc réduite, ce qui accélère son traitement. Cependant, si le vérificateur ne connaît pas la CRL de référence, on en revient à télécharger une liste complète. De plus, le traitement d une delta-crl n étant pas le même que celui d une CRL, le système vérificateur doit être capable de gérer deux types de CRL. L utilisation de delta- CRL a donc de lourdes conséquences sur un système de vérification, conséquences qu il faut prévoir et apprendre à gérer avant de les intégrer. Il n existe pas, aujourd hui, de produit implémentant les delta-crl. - 68 -

Les certificats d attributs (cf. 5.10) apportent des informations complémentaires sur le porteur d un certificat.il s agit donc de trouver un compromis entre la souplesse que peuvent apporter les certificats d attributs des problèmes concernant par exemple le changement de statut ou de fonction d un porteur de certificat, et l implication de ces attributs sur la complexité des IGC. Dans la mesure où aucun produit n intègre aujourd hui de certificats d attributs, il n est pas aisé d estimer l usage futur des attributs. Si aucune contrainte n est imposée sur le format des noms utilisés dans un certificat (cf. 8.1), il semblerait souhaitable que les administrations disposent d un système unique de nommage. Pour résoudre ces problèmes, des travaux connexes doivent être menés à un niveau interministériel. Cette étude a démontré que les certificats et CRL de type X.509 offraient un format adapté aux besoins de l administration, moyennant les spécifications et contraintes reportées dans ce document. Si certains points doivent être résolus en fonction de l existant ou des besoins d une administration particulière, d autres sont aujourd hui en attente de propositions du marché ainsi que d un complément normatif. Conformément à son mandat, ce document s intègre dans le chapitre 4.6 des politiques de certification décrites dans [PC2] qui disposent désormais d un format pour ses certificats et listes de certificats révoqués, adapté aux besoins de l administration. - 69 -

Groupe Certificat 10 Annexes 10.1 Formalisme des tableaux des chapitres 4. et 6. n Numéro de ligne dans le tableau Champs définis par la norme Nom du champ tel qu il est défini dans la norme Notation utilisée pour les champs Les informations figurant sous cette rubrique sont tirées de la norme [9594-8]. Cette rubrique précise le caractère optionnel ou non d une champ tel qu il est définit dans la norme, ainsi que sa définition. Optionnel Contient le caractère optionnel ou non d un champ, tel qu il est défini dans la norme. opt. le champ est optionnel (blanc) le champ est obligatoire Définition Contient la définition du champ. Dans la plupart des cas, il s agit d une traduction de la définition donnée dans la norme. Sous-Groupe Certificat Les informations figurant sous cette rubrique sont les résultats des travaux du sousgroupe de travail Certificat. Cette rubrique précise les choix d utilisation, les contenus et les commentaires associés à ce champ. Utilisé Si le champ est défini comme optionnel dans la première colonne «optionnel», alors cette rubrique précise si le champ est utilisé ou non. Oui le champ doit être utilisé Non le champ ne doit pas être utilisé. Libre le libre choix est donné d utiliser ou non un champ donné. Contenu Contient la valeur ou une valeur possible pour ce champ. Nom d un champ défini par une structure Lorsqu un champ est défini par un ensemble de caractéristiques, c'est-à-dire qu il représente un type, il est inscrit en «gras». Nom de champ final Lorsqu un champ est final (c'est-à-dire qu il n est pas composé d autres champs mais doit être directement renseigné, il est inscrit en caractère «normal». Commentaires Contient des préconisations, remarques ou commentaires émises par le groupe de travail et relatives à ce champ. - 70 -

Groupe Certificat 10.2 Formalisme des tableaux des chapitres 5., 8. et 9. n Numér o de ligne dans le tableau Champs définis par la norme Nom du champ tel qu il est défini dans la norme Les informations figurant sous cette rubrique sont tirées de la norme [9594-8]. Cette rubrique précise le caractère optionnel ou non d une champ tel qu il est définit dans la norme, ainsi que sa définition. Optionnel Contient le caractère optionnel ou non d un champ, tel qu il est défini dans la norme. opt. le champ est optionnel (blanc) le champ est obligatoire Critique Définit si l extension doit être positionnée comme critique ou non. C normativement critique NC normativement non critique OC optionnellement critique. Définition Contient la définition du champ. Dans la plupart des cas, il s agit d une traduction de la définition donnée dans la norme. Sous-Groupe Certificat Les informations figurant sous cette rubrique sont les résultats des travaux du sous-groupe de travail Certificat. Cette rubrique précise les choix d utilisation, les contenus et les commentaires associés à ce champ. Utilisé Si le champ est défini comme optionnel dans la première colonne «optionnel», alors cette rubrique précise si le champ est utilisé ou non. Dans le cas du nom d une extension (première ligne des tableaux 7.1 à 7.14 et 9.1 à 9.6 cette rubrique est utilisée pour préciser si oui ou non l extension est utilisée. Oui le champ doit être utilisé Non le champ ne doit pas être utilisé. Critique Contient la valeur ou une valeur possible pour ce champ. C quand le champ est normativement critique, ou, si le sous-groupe décide de le marquer comme critique (champ normativement OC). NC quand le champ est normativement non critique, ou, si le sous-groupe décide de le marquer comme non critique (champ normativement OC). Cont enu Conti ent la valeu r ou une valeu r possi ble pour ce cham p. Comme ntaires Contient des remarque s ou comment aires émises par le groupe de travail et relatives à ce champ. Notation utilisée pour les champs Nom d un champ défini par une structure Lorsqu un champ est défini par un ensemble de caractéristiques, c'est-à-dire qu il représente un type, il est inscrit en «gras». Nom de champ final Lorsqu un champ est final (c'est-à-dire qu il n est pas composé d autres champs mais doit être directement renseigné, il est inscrit en caractère «normal». - 71 -

Groupe Certificat 1 2 10.3 Code ASN.1 du format d un certificat et de CRL 3 4 Authentication Framework in ASN.1 (This annex forms an integral part of this Recommendation International Standard) 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 This annex includes all of the ASN.1 type, value, and information object class definitions contained in this Directory Specification, in the form of the two ASN.1 modules AuthenticationFramework and CertificateExtensions. AuthenticationFramework {joint-iso-ccitt ds(5) module(1) authenticationframework(7) 3} DEFINITIONS ::= BEGIN -- EXPORTS All -- -- The types and values defined in this module are exported for use in the other ASN.1 modules contained -- within the Directory Specifications, and for the use of other applications which will use them to access -- Directory services. Other applications may use them for their own purposes, but this will not constrain -- extensions and modifications needed to maintain or improve the Directory service. IMPORTS id-at, informationframework, upperbounds, selectedattributetypes, basicaccesscontrol, certificateextensions FROM UsefulDefinitions {joint-iso-ccitt ds(5) module(1) usefuldefinitions(0) 3} Name, ATTRIBUTE FROM InformationFramework informationframework ub-user-password FROM UpperBounds upperbounds AuthenticationLevel FROM BasicAccessControl basicaccesscontrol UniqueIdentifier, octetstringmatch FROM SelectedAttributeTypes selectedattributetypes certificateexactmatch, certificatepairexactmatch, certificatelistexactmatch FROM CertificateExtensions certificateextensions ; --basic certificate definition Certificate ::= SIGNED{SEQUENCE{ version [0] 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-72 -

Groupe Certificat 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 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 } -- Definition of the following information object set is deferred, perhaps to standardized -- profiles or to protocol implementation conformance statements. The set is required to -- specify a table constraint on the parameters component of AlgorithmIdentifier. SupportedAlgorithms ALGORITHM ::= {... } Validity ::= SEQUENCE { notbefore Time, notafter Time } SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectpublickey BIT STRING } Time ::= CHOICE { utctime UTCTime, generalizedtime GeneralizedTime } Extensions ::= SEQUENCE OF Extension -- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the -- specification of those individual extensions shall include the rules for the significance of the order therein Extension ::= SEQUENCE { extnid EXTENSION.&id ({ExtensionSet}), critical BOOLEAN DEFAULT FALSE, extnvalue OCTET STRING -- contains a DER encoding of a value of type &ExtnType -- for the extension object identified by extnid -- } ExtensionSet EXTENSION ::= {... } EXTENSION ::= CLASS { &id OBJECT IDENTIFIER UNIQUE, &ExtnType } WITH SYNTAX { SYNTAX &ExtnType IDENTIFIED BY &id } -- other certificate constructs Certificates ::= SEQUENCE { usercertificate Certificate, certificationpath ForwardCertificationPath OPTIONAL} ForwardCertificationPath::= SEQUENCE OF CrossCertificates CrossCertificates ::= SET OF Certificate CertificationPath ::= SEQUENCE { usercertificate Certificate, thecacertificates SEQUENCE OF CertificatePair OPTIONAL} CertificatePair ::= SEQUENCE { forward [0] Certificate OPTIONAL, - 73 -

Groupe Certificat 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 reverse [1] Certificate OPTIONAL -- at least one of the pair shall be present -- } -- certificate revocation list (CRL) CertificateList ::= SIGNED { SEQUENCE { version Version OPTIONAL, -- if present, version must be v2 signature AlgorithmIdentifier, issuer Name, thisupdate Time, nextupdate Time OPTIONAL, revokedcertificates SEQUENCE OF SEQUENCE { usercertificate CertificateSerialNumber, revocationdate Time, crlentryextensionsextensions OPTIONAL } OPTIONAL, crlextensions [0] Extensions OPTIONAL }} attribute certificate AttributeCertificationPath ::= SEQUENCE { attributecertificate AttributeCertificate, acpath SEQUENCE OF ACPathData OPTIONAL } ACPathData ::= SEQUENCE { certificate [0] Certificate OPTIONAL, attributecertificate [1] AttributeCertificate OPTIONAL } attributecertificate ATTRIBUTE ::= { WITH SYNTAX AttributeCertificate EQUALITY MATCHING-RULE attributecertificatematch ID id-at-attributecertificate } AttributeCertificate ::= SIGNED {AttributeCertificateInfo} AttributeCertificateInfo ::= SEQUENCE { associated with a Public Key Certificate }, -- associated with a name issuer version Version DEFAULT v1, subjectchoice { basecertificateid [0] IssuerSerial, -- subjectname [1] GeneralNames GeneralNames, -- CA issuing the attribute certificate signature AlgorithmIdentifier, serialnumber CertificateSerialNumber, attcertvalidityperiodattcertvalidityperiod, attributes SEQUENCE OF Attribute, issueruniqueiduniqueidentifier OPTIONAL, extensions Extensions OPTIONAL } IssuerSerial ::= SEQUENCE { issuer GeneralNames, serial CertificateSerialNumber, issueruid UniqueIdentifier OPTIONAL} AttCertValidityPeriod ::= SEQUENCE{ notbeforetimegeneralizedtime, notaftertimegeneralizedtime } attributecertificatematch MATCHING-RULE ::= { SYNTAX AttributeCertificateAssertion ID id-mr-attributecertificatematch } AttributeCertificateAssertion ::= SEQUENCE { subject [0] CHOICE { basecertificateid [0] IssuerSerial, - 74 -

Groupe Certificat 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 subjectname [1] Name} OPTIONAL, issuer [1] Name OPTIONAL, attcertvalidity [2] GeneralizedTime OPTIONAL, atttype [3] SET OF AttributeType OPTIONAL} --At least one component of the sequence must be present -- attribute types -- userpassword ATTRIBUTE ::= { WITH SYNTAX OCTET STRING (SIZE (0..ub-user-password)) EQUALITY MATCHING RULE octetstringmatch ID id-at-userpassword } usercertificate ATTRIBUTE ::= { WITH SYNTAX Certificate EQUALITY MATCHING RULE certificateexactmatch ID id-at-usercertificate} cacertificate ATTRIBUTE ::= { WITH SYNTAX Certificate EQUALITY MATCHING RULE certificateexactmatch ID id-at-cacertificate } crosscertificatepair ATTRIBUTE ::= { WITH SYNTAX CertificatePair EQUALITY MATCHING RULE certificatepairexactmatch ID id-at-crosscertificatepair } authorityrevocationlist ATTRIBUTE ::= { WITH SYNTAX CertificateList EQUALITY MATCHING RULE certificatelistexactmatch ID id-at-authorityrevocationlist } certificaterevocationlistattribute ::= { WITH SYNTAX CertificateList EQUALITY MATCHING RULE certificatelistexactmatch ID id-at-certificaterevocationlist } attributecertificaterevocationlist ATTRIBUTE ::= { WITH SYNTAXCertificateList ID id-atattributecertificaterevocationlist} -- information object classes -- ALGORITHM ::= TYPE-IDENTIFIER -- parameterized types -- ENCRYPTED-HASH { ToBeSigned } ::= BIT STRING ( CONSTRAINED BY { -- must be the result of applying a hashing procedure to the DER-encoded (see 8.7) octets -- -- of a value of -- ToBeSigned -- and then applying an encipherment procedure to those octets -- }) ENCRYPTED { ToBeEnciphered }::= BIT STRING ( CONSTRAINED BY { -- must be the result of applying an encipherment procedure -- -- to the BER-encoded octets of a value of -- ToBeEnciphered}) SIGNATURE { ToBeSigned } ::= SEQUENCE { algorithmidentifier AlgorithmIdentifier, encrypted ENCRYPTED-HASH { ToBeSigned }} SIGNED { ToBeSigned } ::= SEQUENCE { tobesigned ToBeSigned, COMPONENTS OF SIGNATURE { ToBeSigned }} -- object identifier assignments -- - 75 -

Groupe Certificat 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 id-at-userpassword OBJECT IDENTIFIER::={id-at 35} id-at-usercertificate OBJECT IDENTIFIER::={id-at 36} id-at-cacertificate OBJECT IDENTIFIER::={id-at 37} id-at-authorityrevocationlist OBJECT IDENTIFIER::={id-at 38} id-at-certificaterevocationlist OBJECT IDENTIFIER::={id-at 39} id-at-crosscertificatepair OBJECT IDENTIFIER::={id-at 40} id-at-attributecertificate OBJECT IDENTIFIER::={id-at 58} END -- Certificate Extensions module CertificateExtensions {joint-iso-ccitt ds(5) module(1) certificateextensions(26) 0} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- EXPORTS ALL -- IMPORTS id-at, id-ce, id-mr, informationframework, authenticationframework, selectedattributetypes, upperbounds FROM UsefulDefinitions {joint-iso-ccitt ds(5) module(1) usefuldefinitions(0) 3} Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE FROM InformationFramework informationframework CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION FROM AuthenticationFramework authenticationframework DirectoryString FROM SelectedAttributeTypes selectedattributetypes ub-name FROM UpperBounds upperbounds ORAddress FROM MTSAbstractService {joint-iso-ccitt mhs(6) mts(3) modules(0) mts-abstract-service(1) version-1994 (0) } ; -- Unless explicitly noted otherwise, there is no significance to the ordering -- of components of a SEQUENCE OF construct in this specification. -- Key and policy information extensions -- authoritykeyidentifier EXTENSION ::= { SYNTAX AuthorityKeyIdentifier IDENTIFIED BY id-ce-authoritykeyidentifier } AuthorityKeyIdentifier ::= SEQUENCE { keyidentifier [0] KeyIdentifierOPTIONAL, authoritycertissuer [1] GeneralNamesOPTIONAL, authoritycertserialnumber [2] CertificateSerialNumber OPTIONAL } ( WITH COMPONENTS {..., authoritycertissuer PRESENT, authoritycertserialnumber PRESENT} WITH COMPONENTS {..., authoritycertissuer ABSENT, authoritycertserialnumber ABSENT} ) KeyIdentifier ::= OCTET STRING subjectkeyidentifier EXTENSION ::= { SYNTAX SubjectKeyIdentifier IDENTIFIED BY id-ce-subjectkeyidentifier } SubjectKeyIdentifier ::= KeyIdentifier keyusage EXTENSION ::= { - 76 -

Groupe Certificat 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 SYNTAX KeyUsage IDENTIFIED BY id-ce-keyusage } KeyUsage ::= BIT STRING { digitalsignature (0), nonrepudiation (1), keyencipherment (2), dataencipherment (3), keyagreement (4), keycertsign (5), crlsign (6), encipheronly (7), decipheronly (8) } extkeyusage EXTENSION ::= { SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId IDENTIFIED BY id-ce-extkeyusage } KeyPurposeId ::= OBJECT IDENTIFIER privatekeyusageperiod EXTENSION ::= { SYNTAX PrivateKeyUsagePeriod IDENTIFIED BY id-ce-privatekeyusageperiod } PrivateKeyUsagePeriod ::= SEQUENCE { notbefore [0] GeneralizedTime OPTIONAL, notafter [1] GeneralizedTime OPTIONAL } ( WITH COMPONENTS {..., notbefore PRESENT} WITH COMPONENTS {..., notafter PRESENT} ) certificatepolicies EXTENSION ::= { SYNTAX CertificatePoliciesSyntax IDENTIFIED BY id-ce-certificatepolicies } CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation PolicyInformation ::= SEQUENCE { policyidentifier CertPolicyId, policyqualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL } CertPolicyId ::= OBJECT IDENTIFIER PolicyQualifierInfo ::= SEQUENCE { policyqualifierid CERT-POLICY-QUALIFIER.&id ({SupportedPolicyQualifiers}), qualifier CERT-POLICY-QUALIFIER.&Qualifier ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL } SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::= {... } CERT-POLICY-QUALIFIER ::= CLASS { &id OBJECT IDENTIFIER UNIQUE, &Qualifier OPTIONAL } WITH SYNTAX { POLICY-QUALIFIER-ID &id [QUALIFIER-TYPE &Qualifier] } policymappings EXTENSION ::= { SYNTAX PolicyMappingsSyntax IDENTIFIED BY id-ce-policymappings } PolicyMappingsSyntax ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { issuerdomainpolicy CertPolicyId, subjectdomainpolicy CertPolicyId } - 77 -

Groupe Certificat 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 supportedalgorithms ATTRIBUTE ::= { WITH SYNTAX SupportedAlgorithm EQUALITY MATCHING RULE algorithmidentifiermatch ID id-at-supportedalgorithms } SupportedAlgorithm ::= SEQUENCE { algorithmidentifier AlgorithmIdentifier, intendedusage [0] KeyUsage OPTIONAL, intendedcertificatepolicies[1] CertificatePoliciesSyntax OPTIONAL } -- Certificate subject and certificate issuer attributes extensions -- subjectaltname EXTENSION ::= { SYNTAX GeneralNames IDENTIFIED BY id-ce-subjectaltname } GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName GeneralName ::= CHOICE { othername [0] INSTANCE OF OTHER-NAME, rfc822name [1] IA5String, dnsname [2] IA5String, x400address [3] ORAddress, directoryname [4] Name, edipartyname [5] EDIPartyName, uniformresourceidentifier [6] IA5String, ipaddress [7] OCTET STRING, registeredid [8] OBJECT IDENTIFIER } OTHER-NAME ::= TYPE-IDENTIFIER EDIPartyName ::= SEQUENCE { nameassigner [0] DirectoryString {ub-name} OPTIONAL, partyname [1] DirectoryString {ub-name} } issueraltname EXTENSION ::= { SYNTAX GeneralNames IDENTIFIED BY id-ce-issueraltname } subjectdirectoryattributes EXTENSION ::= { SYNTAX AttributesSyntax IDENTIFIED BY id-ce-subjectdirectoryattributes } AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute -- Certification path constraints extensions -- basicconstraints EXTENSION ::= { SYNTAX BasicConstraintsSyntax IDENTIFIED BY id-ce-basicconstraints } BasicConstraintsSyntax ::= SEQUENCE { ca BOOLEAN DEFAULT FALSE, pathlenconstraint INTEGER (0..MAX) OPTIONAL } nameconstraints EXTENSION ::= { SYNTAX NameConstraintsSyntax IDENTIFIED BY id-ce-nameconstraints } NameConstraintsSyntax ::= SEQUENCE { permittedsubtrees [0] GeneralSubtrees OPTIONAL, - 78 -

Groupe Certificat 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 excludedsubtrees [1] GeneralSubtrees OPTIONAL } GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree GeneralSubtree ::= SEQUENCE { base GeneralName, minimum [0] BaseDistance DEFAULT 0, maximum [1] BaseDistance OPTIONAL } BaseDistance ::= INTEGER (0..MAX) policyconstraints EXTENSION ::= { SYNTAX PolicyConstraintsSyntax IDENTIFIED BY id-ce-policyconstraints } PolicyConstraintsSyntax ::= SEQUENCE { requireexplicitpolicy [0] SkipCerts OPTIONAL, inhibitpolicymapping [1] SkipCerts OPTIONAL } SkipCerts ::= INTEGER (0..MAX) CertPolicySet ::= SEQUENCE (1..MAX) OF CertPolicyId -- Basic CRL extensions -- crlnumber EXTENSION ::= { SYNTAX CRLNumber IDENTIFIED BY id-ce-crlnumber } CRLNumber ::= INTEGER (0..MAX) reasoncode EXTENSION ::= { SYNTAX CRLReason IDENTIFIED BY id-ce-reasoncode } CRLReason ::= ENUMERATED { unspecified (0), keycompromise (1), cacompromise (2), affiliationchanged (3), superseded (4), cessationofoperation (5), certificatehold (6), removefromcrl (8) } instructioncode EXTENSION ::= { SYNTAX HoldInstruction IDENTIFIED BY id-ce-instructioncode } HoldInstruction ::= OBJECT IDENTIFIER invaliditydate EXTENSION ::= { SYNTAX GeneralizedTime IDENTIFIED BY id-ce-invaliditydate } -- CRL distribution points and delta-crl extensions -- crldistributionpoints EXTENSION ::= { SYNTAX CRLDistPointsSyntax IDENTIFIED BY id-ce-crldistributionpoints } CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint DistributionPoint ::= SEQUENCE { - 79 -

Groupe Certificat 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 distributionpoint [0] DistributionPointName OPTIONAL, reasons [1] ReasonFlags OPTIONAL, crlissuer [2] GeneralNames OPTIONAL } DistributionPointName ::= CHOICE { fullname [0] GeneralNames, namerelativetocrlissuer [1] RelativeDistinguishedName } ReasonFlags ::= BIT STRING { unused (0), keycompromise (1), cacompromise (2), affiliationchanged (3), superseded (4), cessationofoperation (5), certificatehold (6) } issuingdistributionpoint EXTENSION ::= { SYNTAX IssuingDistPointSyntax IDENTIFIED BY id-ce-issuingdistributionpoint } IssuingDistPointSyntax ::= SEQUENCE { distributionpoint [0] DistributionPointName OPTIONAL, onlycontainsusercerts [1] BOOLEAN DEFAULT FALSE, onlycontainscacerts [2] BOOLEAN DEFAULT FALSE, onlysomereasons [3] ReasonFlags OPTIONAL, indirectcrl [4] BOOLEAN DEFAULT FALSE } certificateissuer EXTENSION ::= { SYNTAX GeneralNames IDENTIFIED BY id-ce-certificateissuer } deltacrlindicator EXTENSION ::= { SYNTAX BaseCRLNumber IDENTIFIED BY id-ce-deltacrlindicator } BaseCRLNumber ::= CRLNumber deltarevocationlist ATTRIBUTE ::= { WITH SYNTAX CertificateList EQUALITY MATCHING RULE certificatelistexactmatch ID id-at-deltarevocationlist } -- Matching rules -- certificateexactmatch MATCHING-RULE ::= { SYNTAX CertificateExactAssertion ID id-mr-certificateexactmatch } CertificateExactAssertion ::= SEQUENCE { serialnumber CertificateSerialNumber, issuer Name } certificatematch MATCHING-RULE ::= { SYNTAX CertificateAssertion ID id-mr-certificatematch } CertificateAssertion ::= SEQUENCE { serialnumber [0] CertificateSerialNumber OPTIONAL, issuer [1] Name OPTIONAL, subjectkeyidentifier [2] SubjectKeyIdentifierOPTIONAL, authoritykeyidentifier [3] AuthorityKeyIdentifier OPTIONAL, certificatevalid [4] Time OPTIONAL, privatekeyvalid [5] GeneralizedTimeOPTIONAL, subjectpublickeyalgid [6] OBJECT IDENTIFIEROPTIONAL, - 80 -

Groupe Certificat 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 keyusage [7] KeyUsage OPTIONAL, subjectaltname [8] AltNameTypeOPTIONAL, policy [9] CertPolicySetOPTIONAL, pathtoname [10] Name OPTIONAL } AltNameType ::= CHOICE { builtinnameform ENUMERATED { rfc822name (1), dnsname (2), x400address (3), directoryname (4), edipartyname (5), uniformresourceidentifier (6), ipaddress (7), registeredid (8) }, othernameform OBJECT IDENTIFIER } certificatepairexactmatch MATCHING-RULE ::= { SYNTAX CertificatePairExactAssertion ID id-mr-certificatepairexactmatch } CertificatePairExactAssertion ::= SEQUENCE { forwardassertion [0] CertificateExactAssertion OPTIONAL, reverseassertion [1] CertificateExactAssertion OPTIONAL } ( WITH COMPONENTS {..., forwardassertion PRESENT} WITH COMPONENTS {..., reverseassertion PRESENT} ) certificatepairmatch MATCHING-RULE ::= { SYNTAX CertificatePairAssertion ID id-mr-certificatepairmatch } CertificatePairAssertion ::= SEQUENCE { forwardassertion [0] CertificateAssertion OPTIONAL, reverseassertion [1] CertificateAssertion OPTIONAL } ( WITH COMPONENTS {..., forwardassertion PRESENT} WITH COMPONENTS {..., reverseassertion PRESENT} ) certificatelistexactmatch MATCHING-RULE ::= { SYNTAX CertificateListExactAssertion ID id-mr-certificatelistexactmatch } CertificateListExactAssertion ::= SEQUENCE { issuer Name, thisupdate Time, distributionpoint DistributionPointName OPTIONAL } certificatelistmatch MATCHING-RULE ::= { SYNTAX CertificateListAssertion ID id-mr-certificatelistmatch } CertificateListAssertion ::= SEQUENCE { issuer Name OPTIONAL, mincrlnumber [0] CRLNumber OPTIONAL, maxcrlnumber [1] CRLNumber OPTIONAL, reasonflags ReasonFlags OPTIONAL, dateandtime Time OPTIONAL, distributionpoint [2] DistributionPointName OPTIONAL } algorithmidentifiermatch MATCHING-RULE ::= { SYNTAX AlgorithmIdentifier ID id-mr-algorithmidentifiermatch } -- Object identifier assignments -- id-at-supportedalgorithms OBJECT IDENTIFIER ::={id-at 52} - 81 -

Groupe Certificat 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 id-at-deltarevocationlist OBJECT IDENTIFIER ::={id-at 53} id-ce-subjectdirectoryattributes OBJECT IDENTIFIER ::={id-ce 9} id-ce-subjectkeyidentifier OBJECT IDENTIFIER ::={id-ce 14} id-ce-keyusage OBJECT IDENTIFIER ::={id-ce 15} id-ce-privatekeyusageperiod OBJECT IDENTIFIER ::={id-ce 16} id-ce-subjectaltname OBJECT IDENTIFIER ::={id-ce 17} id-ce-issueraltname OBJECT IDENTIFIER ::={id-ce 18} id-ce-basicconstraints OBJECT IDENTIFIER ::={id-ce 19} id-ce-crlnumber OBJECT IDENTIFIER ::={id-ce 20} id-ce-reasoncode OBJECT IDENTIFIER ::={id-ce 21} id-ce-instructioncode OBJECT IDENTIFIER ::={id-ce 23} id-ce-invaliditydate OBJECT IDENTIFIER ::={id-ce 24} id-ce-deltacrlindicator OBJECT IDENTIFIER ::={id-ce 27} id-ce-issuingdistributionpoint OBJECT IDENTIFIER ::={id-ce 28} id-ce-certificateissuer OBJECT IDENTIFIER ::={id-ce 29} id-ce-nameconstraints OBJECT IDENTIFIER ::={id-ce 30} id-ce-crldistributionpoints OBJECT IDENTIFIER ::={id-ce 31} id-ce-certificatepolicies OBJECT IDENTIFIER ::={id-ce 32} id-ce-policymappings OBJECT IDENTIFIER ::={id-ce 33} -- deprecated OBJECT IDENTIFIER ::={id-ce 34} id-ce-authoritykeyidentifier OBJECT IDENTIFIER ::={id-ce 35} id-ce-policyconstraints OBJECT IDENTIFIER ::={id-ce 36} id-ce-extkeyusage OBJECT IDENTIFIER ::={id-ce 37} id-mr-certificateexactmatch OBJECT IDENTIFIER ::={id-mr 34} id-mr-certificatematch OBJECT IDENTIFIER ::={id-mr 35} id-mr-certificatepairexactmatch OBJECT IDENTIFIER ::={id-mr 36} id-mr-certificatepairmatch OBJECT IDENTIFIER ::={id-mr 37} id-mr-certificatelistexactmatch OBJECT IDENTIFIER ::={id-mr 38} id-mr-certificatelistmatch OBJECT IDENTIFIER ::={id-mr 39} id-mr-algorithmidentifiermatch OBJECT IDENTIFIER ::={id-mr 40} -- The following OBJECT IDENTIFIERS are not used by this specification: -- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7}, -- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13}, -- {id-ce 22}, {id-ce 25}, {id-ce 26} END - 82 -