LinPKI EJBCA : une PKI open source en route vers la certification Critères Communs
1. LinPKI EJBCA : une PKI open source en route
vers la certification Critères Communs
David CARELLA
Expert Sécurité PKI
dcarella@linagora.com
WWW.LINAGORA.COM
3. Composition de l’offre Sécurité (1/3)
Offre LinPKI
L’offre LinPKI – composée des offres EJBCA et LinRA – constitue l’offre de sécurité
de Linagora. Par sa modularité et sa complétude, elle répond à la plupart des
besoins en matière de confiance numérique en termes d’infrastructure de sécurité
SI.
Produit LinSign
LinSign – application de signature électronique de documents – se décline en
3 éditions : LinSign Standalone, LinSign Portal, LinSign API.
LinSign est en cours de certification CSPN auprès de l’ANSSI.
Produit entièrement conçu et développé par LINGORA.
Produit LinShare
LinShare est une application de partage de fichiers sécurisé, qui comporte
également un coffre-fort électronique.
LinShare se distingue par sa simplicité d’utilisation et son extensibilité avec les
plugins suivants : module de signature LinSign, plugin « Send & Share » pour
Thunderbird et Outlook.
Produit entièrement conçu et développé par LINGORA.
3
4. Composition de l’offre Sécurité (2/3)
EJBCA – Infrastructure de gestion de clés (PKI)
EJBCA est une infrastructure de gestion de clés (en anglais, PKI : Public Key
Infrastructure) complète, interopérable et intégrable avec tout SI.
EJBCA permet de gérer des autorités de certification (AC) via les principaux HSM
(Hardware Security Modules) du marché.
EJBCA peut également être combinée avec un système de gestion de cartes à puce –
CMS : Card Management System –, pour constituer la solution idéale de production
d’identités électroniques.
LinRA – Autorité d’enregistrement
LinRA fournit une autorité d’enregistrement web (en anglais, RA : Registration
Authority) évoluée et simple d’utilisation qui rendra vos utilisateurs autonomes pour la
gestion de leurs certificats numériques : génération, retrait, révocation,
recouvrement, etc.
4
5. Composition de l’offre Sécurité (3/3)
LinSecure – Coffre-fort électronique pour le jeu en ligne
LinSecure est un coffre-fort électronique pour les applications de jeu en ligne. Cette
application est conçue et réalisée par Linagora.
LinSecure – conforme ARJEL (Autorité de régulation du jeu en ligne) – est cours de
certification CSPN (Certification de sécurité de premier niveau) auprès de l’ANSSI
(Agence nationale de sécurité des systèmes d’information).
SignServer – Notarisation électronique
SignServer est une application serveur de notarisation électronique qui permet de
signer et horodater des documents électroniques.
SignServer est le complément idéal à LinSign pour fournir une solution
d’administration de la preuve électronique.
5
7. PKI EJBCA : Références clients en France
● Les plus grands clients de Linagora qui utilisent EJBCA :
● CEVA Santé Animale
● JCDecaux
● Société Générale
● La Direction générale des impôts
● La Direction générale de l’armement
● Le GIE Cartes Bancaires
● La Gendarmerie nationale
● Atos Worldline
7
8. PKI EJBCA : Références clients à l’international
Plus de 6 000 références à travers le monde :
Fortune 100 company (USA), authentification de plus de 150 millions utilisateurs
General Motors (USA)
AT&T (USA)
Commfides (Norvège), cartes nationales d’identité (eID)
ZhuHai Local Taxation Bureau (Chine)
Edicom (Espagne), cartes nationales d’identité (eID)
Grupo Safa (Espagne)
Multicert (Portugal), émission de plus de 4,4 millions de certificats qualifiés
Evaltec (Brésil)
Bankgirocentralen BGC AB (Suède), émission de plus de 5 millions de certificats
par mois, pour les citoyens suédois (eID) et les clients bancaires (BankID), pour
sécuriser les transactions en ligne
National Swedish Police Board (Suède)
Ericsson AB (Suède)
8
9. PKI EJBCA : Principe d’une PKI
Une PKI est une architecture de confiance constituée d’un ensemble de
systèmes fournissant des services permettant la gestion du cycle de vie des
certificats numériques.
Les fonctions d’une PKI :
● émettre des certificats à des entités préalablement authentifiées ;
● maintenir les certificats, et les révoquer le cas échéant ;
● établir, publier et respecter des pratiques de certification pour établir un
espace de confiance ;
● rendre les certificats publics par le biais de services d’annuaires ;
● éventuellement, gérer les clés, fournir les services d’archivage et de
recouvrement.
9
10. PKI EJBCA : Le produit open source EJBCA
EJBCA c’est quoi ?
EJBCA est une PKI (Public Key infrastructure) ou IGC (Infrastructure de gestion de clés) sous
licence open source (LGPL) développée en Java JEE.
EJBCA bien plus qu’une PKI
EJBCA fournit à la fois les fonctions classiques que l’on retrouve dans la plupart des PKI du
marché. mais elle fournit en également un serveur OCSP, un serveur d’horodatage et un serveur
de signature. Chaque composant peut être déployé de manière autonome ou intégrée dans
EJBCA.
EJBCA un générateur de vos besoins
EJBCA a été construit comme un générateur, permettant de répondre rapidement et sans
développement complémentaire aux contraintes liées aux certificats ou au SI de l’entreprise. Le
générateur permet de créer des profils de certificat, des formats de requête, de personnaliser
des cartes à puce ou de tokens USB.
EJBCA est une infrastructure de sécurité modulable pour faire face aux
nouvelles opportunités d’affaires et flexibles pour s’adapter aux différents
niveaux d’assurances souhaités.
10
11. PKI EJBCA : Les composants d’une PKI ouverte
L’offre de Linagora en terme de certificat, est complétée par une offre d’application permettant
d’étendre la sécurité applicative du SI. Pour une informations complètes voir les plaquettes produit.
● Signature électronique de fichiers
● Offre de signature poste client et portail avec LinSign,
● Offre de partage de fichiers sécurisés avec LinShare.
● Authentification unique SSO
● Offre d’authentification unique web avec LemonLDAP,
● Offre de fédération d’identité avec FederID..
● Réseau privé virtuel (VPN)
● Offre complète de sécurisation de réseau,
● Deux types de VPN :
– IPsec (Openswan),
– SSL (OpenVPN et SSLExplorer).
● Authentification Wifi (802.X)
● Offre complète de 802.1 Wired NAP avec FreeRadius.
11
12. PKI EJBCA : Particularités et points forts
L’infrastructure de gestion de clés LinPKI EJBCA se différencie des autres
solutions de PKI sur les points suivants :
● Solution distribuée en open source (licence LGPL) ;
● Processus automatique d’identification des utilisateurs dans l’environnement de la
PKI ;
● Simplicité des interfaces et des fonctions pour les utilisateurs non initiés aux PKI ;
● Refonte des composants Windows pour faciliter l’intégration des certificats dans
les environnements Microsoft ;
● Moteur de cinématique graphique pour adapter les cinématiques aux besoins des
entreprises ;
● Outils d’intégration des gestionnaires d’identités pour la gestion des droits sur
l’entité d’enrôlement (SSO, IAM, etc.) ;
● Provisonning d’identités depuis des référentiels de données ;
● Interface personnalisable (texte, feuilles de style, images, etc.).
12
14. PKI EJBCA : Architecture fonctionnelle (2/3)
EJBCA propose quatre niveaux fonctionnels
Chaque ou l’ensemble des niveaux fonctionnel peut être déployé de manière
unitaire ou consolidée sur une même machine ou dans une autre application.
● Guichet publique ou autorité d’enregistrement locale (AEL)
Elle est composée d’éléments permettant de réaliser des requêtes de certificat, de révocation ou pour
récupérer des éléments publics de la PKI, tels les certificats d’AC, LCR (CRL), certificat utilisateur, etc.
Les méthodes d’appel fournies par EJBCA sont les suivantes :
● au format web, par le biais de page à intégrer dans un intranet ou de manière autonome ;
● au format ligne de commande, permet en complément de réaliser des opérations
d’administration ;
● sous forme d’API Java à intégrer dans des composants métiers ;
● sous forme de client ou d’accès par un des protocoles supportés par EJBCA ;
● par le biais du protocole SCEP pour les routeurs.
● Autorité de l’IGC ou autorité de certification (AC) :
Elles sont responsables de la délivrance et de la révocation des certificats :
● une même instance peut gérer plusieurs AC racines et AC subordonnées (sans limite de nombre) ;
● les clés peuvent être conservées sur des boîtiers cryptographiques (cf. caractéristiques), sur
cartes à puce cryptographiques ou dans la base de données.
14
15. PKI EJBCA : Architecture fonctionnelle (3/3)
Entité administrative ou autorité d’enregistrement (AE)
Elle englobe les fonctions de gestion de la PKI, telles les fonctions d’authentification,
de gestion de vie des certificats, de journalisation, de publication et de paramétrages
de la PKI.
En complément, elle permet de définir le format des entités publiques et le contenu
des certificats. Les fonctions incluses dans l’AE sont :
● gestion des profils de certificats et d’entités ● gestion des profils pour les cartes à puce et
(création de modèles de formulaire), les tokens USB cryptographiques,
● gestionnaire de clés (séquestre et ● demande, rejet et validation des requêtes de
recouvrement), certificat et de révocation,
● définition du service de publication, ● processus de gestion du renouvellement,
● gestion des administrateurs et des droits ● gestionnaire de journaux (paramétrage,
associés. consultation, exportation, etc.).
Composants additionnels
Ces composants sont proposés en compléments de la PKI EJBCA, l’ensemble de leurs
fonctionnalités n’est pas décrit dans ce document.
• Services de validation de certificats :
• Serveur OCSP, permet de fournir immédiatement le statut d’un certificat,
• Service XKMS (XML Key Management Spec.) – X-KISS (XML Key Information Service Spec.).
15
17. PKI EJBCA : Architecture applicative (2/2)
EJBCA est découpée en trois couches :
● Couche présentation
Elle fournit les interfaces aux clients et administrateurs pour les appels vers les
autorités de certification (AC) et vers les autorités d’enregistrement (AE).
● Une couche applicative
Elle englobe les fonctions métiers de la PKI, elle comprend les éléments suivants :
● les fonctions d’authentification, de gestion de vie des certificats, de
journalisation, de publication et de paramétrages de la PKI ;
● en complément, elle fournit un gestionnaire de clés (séquestre et
recouvrement).
● Une couche de données
Elle permet de stocker l’ensemble des données de la PKI dans une base de données :
● il est possible de connecter un ou plusieurs annuaires (LDAP, Active Directory,
etc.) pour la publication des données publiques (utilisateurs, certificats,
LCR/CRL, etc.).
17
18. PKI EJBCA : Interface d’administration
Console d’administration web d’EJBCA
Accès par authentification forte.
18
19. PKI EJBCA : Indépendance
EJBCA est indépendant des systèmes d’exploitation, des serveurs
applicatifs et des bases de données :
● EJBCA se déploie sur la plupart des systèmes d’exploitation :
● Unix, GNU/Linux, FreeBSD, Solaris, Windows ;
● EJBCA fonctionne sur un serveur d’applications, il est compatible
avec les grands produits du marché, tels que :
● JBoss, JOnAS, GlassFish, OC4J, WebLogic, WebSphere ;
● EJBCA est compatible avec les bases de données supportées par les
serveurs d’applications, les bases suivantes sont supportées :
● MySQL, PostgreSQL, Oracle, DB2, MS-SQL, Hypersoniq, Derby, Sybase,
Informix, Ingres.
19
20. PKI EJBCA : Les normes et standards
EJBCA est développée au plus près des standards, elle supporte les
recommandations des organismes suivants :
● ITU (International Telecommunication Union) pour les normes ITU-T
X.509v3 (certificats numériques) et CRLv2 (listes des certificats
révoqués), ainsi que X.500 et X.520 (annuaires LDAP),
● IETF (Internet Engineering Task Force) pour X.509v3 (certificats
numériques) et CRLv2, ainsi que les protocoles SCEP (Simple Certificate
Enrollment Protocol) et CMP (Certificate Management Protocol),
● PKCS (Public-Key Cryptography Standards), spécifications des
laboratoires RSA, pour les certificats (PKCS #7, PKCS #9, PKCS #10, PKCS
#12, etc.) et les tokens cryptographiques (PKCS #11),
● W3C (World Wide Web Consortium) pour les technologies orientées
architecture (SOA), telles XML-DSig (signature numérique) ou XKMS pour
la validation et l’enregistrement des certificats.
Le respect des standards garantit l’interopérabilité.
20
21. PKI EJBCA : Certification et conformité
Certification Critères Communs
● La librairie CESeCore – cœur de sécurité d’EJBCA – est en cours de certification
Critères Communs, niveau EAL4+, et est utilisée depuis la version 4 d’EJBCA ;
● La certification de la librairie CESeCore est planifiée pour août 2011 ;
● La certification Critères Communs de l’application EJBCA elle-même sera
planifiée ultérieurement. Toute proposition de partenariat est la bienvenue.
● La société PrimeKey – éditeur d’EJBCA – porte la certification de la librairie
CESeCore au sein du consortium CESeCore (www.CESeCore.eu).
Conformité au RGS
● Les fonctionnalités d’EJBCA permet d’assurer la conformité au Référentiel
général de sécurité français (RGS) selon :
● les politiques de certification ;
● les profils de certificats X.509v3 (RFC 5280) ;
● les modules de sécurité matériels HSM (interface PKCS #11) ;
● les mécanismes cryptographiques : algorithmes et tailles de clés.
21
22. PKI EJBCA : Linagora et PrimeKey
La société suédoise PrimeKey est à l’origine du logiciel EJBCA et
participe activement à la communauté au travers du financement de cinq
développeurs à plein temps et du pilotage des contributions extérieures.
LINAGORA est en contact régulier avec la communauté EJBCA et en
particulier la société PrimeKey.
● Nos deux sociétés ont choisi de s’associer pour adresser le marché
français de l’IGC au travers d’un accord commercial qui se décline
suivant trois axes :
● Action de marketing sur le marché français : LINAGORA prend en charge
la communication sur EJBCA ;
● Financement conjoint de certains développements : par exemple,
LINAGORA a financé le développement en mars 2005 de l’interface avec
les modules cryptographiques de la société nCipher ;
● Collaboration sur les projets et en particulier en terme de réassurance
pour le support niveau 3 sur la solution EJBCA.
LINAGORA contribue très régulièrement au projet EJBCA.
22
23. PKI EJBCA : Caractéristiques
● Fonctions ● Entités
- Multiple AC et niveaux d’AC subordonnées par instance
- Autorité de certification (AC)
- Génération de certificat de manière individuel ou par lot
- Autorité d’enregistrement (AE)
- Génération de certificat en mode centralisé et décentralisé
- Gestionnaire de clés (séquestre et renouvellement)
- Administration par Web Service, interface web ou interface en
ligne de commande (CLI) - Autorité d’enregistrement locale publique (AEL)
- Support multilingue : anglais, français, allemand, portugais, - Serveur de validation OCSP interne ou externe
suédois, espagnol, italien, chinois - Gestionnaire de cartes à puce et tokens USB
- Gestion de profils de certificats - Service de journalisation sécurisé
- Gestion de profils d’entités - Service de publication LDAP
- Gestion des AC CVC et certificats ePassport - Service de notification par courriel
- Plusieurs niveaux d’administrateurs par AC et par fonctions
- API support HSM ● Support
- Serveur d’applications : JBoss, JOnAS, GlassFish, OC4J,
● Protocoles et standards WebLogic, WebSphere
- Certificats X.509v3 et CRL v2 (RFC 5280) - Système d’exploitation : Unix, GNU/Linux, FreeBSD, Solaris,
- OCSP (protocole de validation, RFC 2560) Windows
- XKMS (validation et enregistrement de clés en XML) - Base de données : MySQL, PostgreSQL, Oracle, DB2, MS-SQL,
- CMP (protocole de gestion de certificats, RFC 4210) Hypersoniq, Derby, Sybase, Informix, Ingres
- PKCS et CMS - Annuaire LDAP : Sun Directory Server, OpenLDAP, Active
- Horodatage (RFC 3161) Directory, LDAPv3
- Certificats qualifiés (RFC 3739) - Module HSM : nCipher nShield/netHSM, Bull Trustway, SafeNet
- SCEP (protocole d’enrôlement de certificats) Luna SA, SafeNet ProtectServer, Utimaco CryptoServer, AEP
Keyper, ARX CoSign
- CRMF (RFC 4211)
- LDAP v3 - Cluster et monitoring
23