séminaire linid/linpki septembre 2011
DESCRIPTION
Présentations données lors du séminaire de LINAGORA intitulé : "Solutions d'identité et de sécurité Open Source LinID et LinPKI".Intervenants : - David Carella et Esteban Pereira, experts sécurité et identité, LINAGORATRANSCRIPT
WWW.LINAGORA.COMWWW.LINAGORA.COM
Solutions d’identité et de sécurité Solutions d’identité et de sécurité Open SourceOpen Source
LinID et LinPKILinID et LinPKI
David CARELLA et Esteban PEREIRA
Séminaire LinID & LinPKISeptembre 2011
2 2
Agenda
● Présentation LINAGORA
● LinID :
● Découvrir la version 1 de LemonLDAP (authentification SAML, Shibboleth ou OpenID)
● LinPKI :
● Partager vos fichiers volumineux de manière sécurisée avec LinShare
● Signature électronique en Open Source... c’est possible avec LinSign
3 3
Quelques clients
Métiers
LINAGORA : Présentation de la société
Évolution du CA (M€)Logiciels et services pour réussir les grands
projets du Libre
Paris – Lyon – Marseille – ToulouseBruxelles – San Francisco
Secteurs d’activités
4
Une gamme logicielle professionnelle
LINAGORA développe du logiciel libre. 100 % du code source est disponible.
Nos clients contribuent au développement des offres, à la pérennisation des produits et de leur communauté au travers des contrats de support.
Truffle 100/2010 : Linagora est le seul éditeur Open Source présent (90e position) – (Truffle 100 : classement des 100 premiers éditeurs de logiciels français).
Investissement en R&D en 2010 : > 2,5 M€
Messagerie collaborative
Gestion et fédération des
identités
Confiance numérique
Progiciel de gestion (ERP)
WWW.LINAGORA.COMWWW.LINAGORA.COM
Offre Identité LinIDOffre Identité LinID
Esteban PEREIRAExpert IAM LinID
Séminaire LinIDSeptembre 2011
6
Offre Identité : Vue d’ensemble
LinID est la seule suite logicielle de gestion d’identités complèteOpen Source, qui vous permet de gagner en efficacité et en sécurité
dans la gestion des données d’identité, d’accès et d’habilitation.
LINID DIRECTORY SERVER
LINID ACCESS & FEDERATION MANAGER
LINID DIRECTORY MANAGER
LINID PROVISONNING MANAGER
WWW.LINAGORA.COMWWW.LINAGORA.COM
Découvrir la version 1 de LemonLDAP ou comment uniformiser vos méthodes
d’authentification avec SAML, Shibboleth ou OpenID !
8
SOMMAIRE
● Présentation du WebSSO
● Le protocole SAML2
● Fonctionnement de LemonLDAP::NG
● Support du SAML2 et autres nouveautés
9
Le WebSSO
● SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique »
● Le WebSSO se consacre à l'authentification unique pour les applications Web, c'est-à-dire des applications client-serveur dont le client est un navigateur Web (IE, Firefox, etc.)
● Le principe de base est d'intercepter les requêtes entre le client et le serveur, et indiquer au serveur que le client est bien authentifié
● Techniquement, cela repose essentiellement sur la gestion d'une session SSO stockée au niveau du serveur WebSSO et liée à un cookie dans le navigateur de l'utilisateur
● Deux architectures complémentaires existent :
● WebSSO par délégation
● WebSSO par mandataire inverse
10
SSO par délégation
11
SSO par mandataire inverse
12
Autres fonctionnalités
● Le rôle standard du WebSSO est de propager l'authentification sur des applications Web
● En supplément, ces fonctionnalités sont souvent présentes dans les produits de WebSSO :
● Contrôle d'accès aux applications (qui a accès à quoi)
● Transfert d'informations complémentaires à l'identifiant de l'utilisateur (nom, mails, etc.)
● Gestion du mot de passe (interface de changement de mot de passe, réinitialisation, etc.)
13 13
Le protocole SAML
● SAML est un protocole destiné à la fédération d'identités
● La fédération d'identités a pour objectif de lier des fournisseurs de services (SP) et des fournisseurs d'identités au sein d'un ou plusieurs cercle de confiance (CoT)
● SAML c'est du SSO, mais aussi :
● Du SLO (Single Logout)
● Du partage d'attributs
● De l'autorisation (point de décision)
● ...
● Les standards d'origine SAML1, Liberty Alliance et Shibboleth convergent aujourd'hui vers SAML2
14 14
Concepts SAML
15 15
Concepts SAML
● Communication indirecte entre le SP et l'IDP via le navigateur de l'utilisateur avec différentes méthodes possibles :
● HTTP-Redirect
● HTTP-POST
● HTTP-Artifact (GET et POST)
● Communication directe entre le SP et l'IDP par SOAP
● Gestion de la sécurité des messages par XMLsec
● Possibilité de recherche des IDP par cookie de domaine commun (Common Domain Cookie)
● Gestion d'identifiants persistants, temporaires, ou lié à une donnée (mail par exemple)
● Gestion des contextes d'authentifications et de leur hiérarchie
16 16
Présentation de LemonLDAP::NG
● LemonLDAP::NG est un logiciel libre (licence GPL) hébergé chez OW2 : http://lemonldap.ow2.org
● Développé à l'origine par Xavier GUIMARD pour les besoins de la Gendarmerie nationale
● Produit basé sur Apache et mod_perl, entièrement écrit en Perl (moteur et interfaces)
● Fournit un portail d'accès dynamique et une interface d'administration
17 17
Portail d'authentification
18
Interface d'administration
19 19
Fonctionnement général
20 20
Applications compatibles
21 21
Autres applications compatibles
● Applications reposant sur la sécurité Apache (.htaccess) : Nagios, ...
● Applications reposant sur la sécurité Tomcat (users.xml) : Lutece, Probe, ...
● Applications utilisant HTTP Basic : Domino Web Access, Outlook Web Access, ...
● Applications compatibles SiteMinder
22 22
Exemple d'utilisation de SAML2
23 23
Les autres nouveautés de la version 1.0
● Fournisseur SAML2, CAS et OpenID
● Choix d'authentification : plusieurs modes peuvent être proposés à l'utilisateur (par exemple authentification LDAP ou OpenID)
● Configuration complète dans l'interface graphique
● Choix des thèmes du portail
● Handlers pour Sympa et Zimbra
● Auto-validation de formulaires
● Recherche récursive dans les groupes LDAP
● ...
WWW.LINAGORA.COMWWW.LINAGORA.COM
Offre Sécurité LinPKIOffre Sécurité LinPKI
David CARELLAExpert Sécurité PKI
Séminaire LinPKISeptembre 2011
25
Offre Sécurité : Vue d’ensemble
LinPKI instaure un environnement de confiance en Open Source.
Des solutions clés en main pour : authentifier les personnes et les machines, assurer la confidentialité au sein de votre SI, dématérialiser vos documents grâce à la signature électronique sécurisée.
WWW.LINAGORA.COMWWW.LINAGORA.COM
Partager vos fichiers volumineux de manière sécurisée avec LinShare
27
LinShare : Références
Références LinShare :
● Conseil d’État, 3 500 collaborateurs● INSERM (Institut national de la santé et de la recherche médicale), 13
000 utilisateurs (Web et plugin Outlook)● MIOMCT (Ministère de l’Intérieur, de l’Outre-mer, des Collectivités
territoriales et de l’Immigration), 100 000 agents (utilisation couplée avec OBM)
● CIRB (Centre d’Informatique pour la Région Bruxelloise)● Mairie de Marseille, partage avec des partenaires extérieurs● TGI (Techniques Gestion Informatique)
28 28
LinShare : Présentation
Spécialement conçue pour sécuriser les échanges dématérialisés des entreprises qui placent la confidentialité et la traçabilité au cœur de leurs problématiques d’échanges, LinShare apporte une solution simple à mettre en œuvre et totalement intuitive.
Utilisations de LinShare :
● Déposer des fichiers dans son espace personnel ;
● Partager des fichiers avec des collaborateurs internes ou externes ;
● Gérer les partages et les groupes ;
● Sécuriser les échanges (signature et chiffrement) ;
● Traçabilité des échanges (partages, téléchargements, etc.) ;
● Historique et reporting des actions ;
● Intégration et communication avec des applications externes (Outlook, Thunderbird, OBM).
29 29
LinShare : Dépôt de fichiers
Dépôt, mise à jour et suppression de fichiers,
Fonction de chiffrement et déchiffrement à usage personnel (coffre-fort) ou en sécurisation d’échange,
Ajout de commentaires et aperçu automatique en miniature des documents bureautiques.
30 30
LinShare : Partage de fichiers
Mise en place de partage vers des collaborateurs internes ou externes,
Association de groupes ou d’utilisateurs à un partage,
Partage simple ou sécurisé.
31 31
LinShare : Utilisateurs
Création de compte invité pour des dépôts temporaires,
Gestion des comptes (recherche, création, modification, suppression, autorisations),
Import d’utilisateurs depuis un annuaire, base de données, Active Directory.
32 32
LinShare : Groupes d’utilisateurs
Gestion des groupes d'utilisateurs
33 33
LinShare : Sécurité
● Contrôle du dépôt des fichiers :
● vérification du type de contenu et de la taille des fichiers déposés,
● intégration avec un service antivirus,
● horodatage via un appel à une autorité d’horodatage (TSA).
● Signature électronique de documents :
● création et vérification de signature XAdES, standard européen.
● Chiffrement de fichiers :
● par clé symétrique AES (déchiffrements possibles : en et hors ligne).
● Authentification :
● SSO (Single Sign-On),
● par mot de passe (via un annuaire LDAP ou Active Directory).
● Partage sécurisé par mot de passe temporaire.
34 34
LinShare : Traçabilité
● Historique de recherche utilisateur
● Audit administrateur et module de statistiques / supervision JMX
35 35
LinShare : Console d’administration web
Administration web :
● Personnalisation visuelle :
● message d’accueil,● logo entreprise ;
● Paramétrage des comptes ;
● Paramétrage de partage :
● taille de comptes,● taille de fichiers,● Règles d’expiration,● Filtrage MIME ;
● Paramétrage de sécurité :
● signature électronique,● chiffrement,● horodatage.
36 36
LinShare : Intégration applicative
● Plugin Outlook et extension Thunderbird, (cf. les captures ci-dessous)
● Intégration OBM (SSO, annuaire et contacts, webmail),
● API Web Service REST pour communiquer avec des composants externes :● plugin Alfresco, intégration applicative pour les partages de documents
signés, ...
37 37
LinShare : Intégration via son API REST
API REST et Web Service pour communiquer avec des composants externes. Plugin pour Outlook et Thunderbird.
38 38
LinShare : Éléments complémentaires
● Installation simplifiée et multi-système, via un assistant,
● Notification d’action envoyée par courriel :
● notification de partage,● accusé de téléchargement,● notification de mise à jour, etc.
● Filtre MIME de fichiers :
● autorisation, avertissement ou rejet.● Gestion des quotas utilisateurs,
● Temps de rétention des fichiers en relation avec leur taille :
● selon le volume des fichiers,● selon la durée de stockage.
● Compression de données lors de partages multiples,
● Compatibilité avec les annuaires du marché :
● Active Directory, OpenLDAP, Sun, Novell.
39 39
LinShare : Technique et licence
Techniques :
Application développée en Java JEE,
Indépendant des bases de données (PostgreSQL, MySQL, etc.),
Indépendant des systèmes d’exploitation (Windows, GNU/Linux, Solaris, etc.),
Nécessite au choix :– soit un conteneur Jetty ou Tomcat,– soit un serveur d’applications (JBoss, GlashFish, etc.).
Licence :Licence libre (open source) :
GNU Affero General Public License, version 3
Modèle économique :Souscription en support du produit via l’offre OSSA de LINAGORA,
Développement et intégration spécifique.
40 40
LinShare : Architecture fonctionnelle type
41 41
LinShare : Exemple de pré-requis logiciels
● Système d’exploitation : GNU/Linux DEBIAN Squeeze
● Serveur d’applications : Tomcat 6
● Environnement Java : Sun/Oracle JDK 6
● Base de données : PostgreSQL 8.4
● Outils de construction : Maven 2 (interne Linagora)
● Application de partage : LinShare 0.9
● Frontal web : Apache HTTP Server 2.2
WWW.LINAGORA.COMWWW.LINAGORA.COM
Signature électronique en Open Source... c’est possible avec LinSign
43
LinSign : Présentation (1/2)
L’application LinSign fournit un service de signature électronique de documents depuis le poste client.LinSign est conçu dans un esprit de généricité et de modularité vis-à-vis des applications. Elle peut être mise en œuvre de plusieurs façons regroupées en trois éditions.
LinSign Standalone
LinSign est utilisée comme un produit prêt à être utilisé sur le poste client. C’est une sorte de « boîte noire » existante sous plusieurs packagings, permettant plusieurs modes de déploiement :
① Installationhors connexion
② Déploiementpar Java Web Start
③ Exécution commeapplet, via un portail
44
LinSign : Présentation (2/2)
LinSign PortalLinSign est utilisée dans son portail web en mode distant et connecté, avec les navigateurs standards du marché.
LinSign API
La librairie LinSign API peut être intégrée dans toutes applications basées sur les frameworks web Tapestry, JSF, Seam et JSP.
Ainsi, un projet applicatif métier peut s’approprier LinSign en l’intégrant, voire en l’adaptant à ses propres besoins dans le cadre du développement d’une l’application (e.g. LinShare).
45
LinSign : Certification de sécurité
LinSign est réalisée selon sa cible de sécurité conformément au profil de protection « Application de création de signature électronique » des Critères Communs.
Certification CSPN (Certification de Sécurité de Premier Niveau)
Dans un premier temps, LinSign sera évaluée et certifiée dans le cadre de la CSPN (reconnue au niveau national, en France).
Cette certification est en cours (2011).
Contraintes sur SHA-256 et édition client autonome (Standalone).
Certification Critères Communs (futur)
Dans un second temps, LinSign sera évaluée et certifié dans le cadre des Critères Communs, au niveau EAL3+ (reconnus au niveau international).
Ces critères ont été pris en compte dès le début de la réalisation de LinSign.En revanche, cette certification elle-même fera l’objet d’un projet futur.
46
LinSign : Licence libre
La licence libre de l’application LinSign
LINAGORA a opté pour la licence AGPL v3 :
GNU Affero General Public License, version 3
Caractéristiques de la licence AGPL v3 :
● Elle est dérivée de la Licence publique générale GNU GPL,
● Elle couvre les interactions avec des produits propriétaires à travers un réseau comme Internet,
● La version 3 est compatible avec la version 3 de la GPL.
47
LinSign : Caractéristiques fonctionnelles
LinSign est configurable via un système de gestion de politiques de signature qui lui permet de :– s’adapter à de nombreux formats de documents à signer et de signature,
– supporter de nombreux divers types de magasins de certificats,
– garantir l’invariance de la sémantique des documents à signer.
Gestion des politiques de signature :– type de certificat X.509v3 (qualifié ou pas, usage de la clé, etc.) ;
– chaîne de certification : liste des AC acceptées ;
– politique de signature acceptée (identifiant OID) ;
– formats des éléments à signer (PDF, ODF Text, etc.) ;
– formats de la signature (PDF, XAdES, etc.) ;
– types de token (carte à puce, navigateurs web, etc.) ;
– types de signature (co-signature et contre-signature) [futur] ;
– paramètres techniques (algorithmes de signature et des condensés, etc.).
Invariance de la sémantique des documents :– support du format PDF/A (ISO 19005), contrôle de l’invariance, etc.
48
LinSign : Caractéristiques techniques (1/3)
49
LinSign : Caractéristiques techniques (2/3)
LinSign s’adapte à l’hétérogénéité des contextes applicatifs et des environnements clients :
● Windows, Macintosh, GNU/Linux, Unix ;● Navigateurs web : Firefox, Internet Explorer, Safari ;● Java JEE (serveurs de servlets).
Utilisation de certificats X.509 v3 :● Validation du certificat :
● AC de confiance, date de validité, usage de clé, etc.
Formats des documents à signer :● PDF et PDF/A,● OpenDocument Format Text,● Texte pur,● HTML,● XML,● Courriel.
50
LinSign : Caractéristiques techniques (3/3)
Utilisation de différents formats de signature :PDF/A, ODF Text, XAdES 1.3.2, XML-DSig, CMS/PKCS #7, S/MIME ;
Roadmap : PAdES, CadES, S/MIME.
Utilise différents supports pour la signature :Les cartes à puce IAS ECC : Gemalto, Oberthur, Sagem ;
Les tokens USB cryptographiques : Aladdin ;
Les magasins des navigateurs web : Mozilla NSS (Firefox), Microsoft CryptoAPI (Internet Explorer), Mac OS Keychain (Safari) ;
Fichiers PKCS #12 ;
Fichiers Java KeyStore (JKS).
Algorithmes cryptographiques supportés :Algorithme asymétrique : RSA (PKCS #1), clés : 1024 et 2048 bits ;
Fonctions de hachage : SHA-1, SHA-256.
51
LinSign : Signature standard XAdES
Signature XML-DSIG détachée
Signature au format XAdES ETSI TS 101 903 v1.3.2 (2006-03)
zip
<signature><reference><reference></signature>
a.pdf
SignedInfo
Signa-ture
KeyInfo
Signature XML-DSIG
Signedproperties
Unsignedproperties
Signature XAdES Propriétés XAdES signées : (SigningTime) (SigningCertificate) (SignaturePolicyIdentifier) (SignatureProductionPlace)? (SignerRole)?
52
LinSign : Environnement système et matériel
Machine virtuelle Java JRE/JDK 6Par défaut, Java JRE/JDK 6 ne supporte pas la signature XML SHA-256
avec Microsoft Windows. Le JDK [SunMSCapi] n’implémente pas :– la signature au format brut ;– la signature pour le SHA-256.
Sous GNU/Linux, le framework swing ne gère que l’environnement de bureau Gnome.
→ Pour compenser ces manques, des palliatifs ont été implémentés.
Interface standard PKCS #11Entièrement configurable : par exemple avec la carte cryptographique
Oberthur ID-One IAS ECC (compatible avec la carte du citoyen européen et les standards de signature électronique. La carte est en fin de certification EAL4+ pour la signature électronique).
Navigateur web FirefoxAccès au magasin sur tous les systèmes d’exploitation (Windows,
GNU/Linux, Mac OS, etc.) via la librairie Mozilla NSS.
53
LinSignLinSignCinématique d’une signature électronique
54
LinSign : Cinématique d’une signature électronique
Sept étapes pour signer des documents :
① Acception des mentions légales ;
② Choix de la politiques de signature ;
③ Sélection des fichiers à signer ;
④ Sélection du magasin de certificats ;
⑤ Sélection d’une clé de signature ;
⑥ Consentement à signer (« Lu et approuvé »), puis signature ;
⑦ Liste des fichiers signés.
WWW.LINAGORA.COMWWW.LINAGORA.COM
Merci de votre attentionMerci de votre attention
Contact : LINAGORA – Siège social
80, rue Roque de Fillol92800 PUTEAUX
FRANCETél. : 0 810 251 251 (tarif local)
Fax : +33 (0)1 46 96 63 64Mail : [email protected]
Web : www.linagora.com