Implémentation libre de Liberty Alliance. Frédéric Péters <fpeters@entrouvert.com>



Documents pareils
Liberty Alliance pour FederID. Pierre Cros

st etienne.fr

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Tour d horizon des différents SSO disponibles

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Formation SSO / Fédération

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

SAML et services hors web

Single Sign-On open source avec CAS (Central Authentication Service)

Emmanuel Dreyfus, janvier 2011 Emmanuel Dreyfus, janvier 2011

Authentification et contrôle d'accès dans les applications web

Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

ENVOLE 1.5. Calendrier Envole

Gestion des identités

CAHIER DES CHARGES D IMPLANTATION

REAUMUR-ACO-PRES. Wifi : Point et perspectives

DESCRIPTION DU PLUGIN D AUTHENTIFICATION AVEC CAS POUR SPIP

Cédric Ouvry Bibliothèque nationale de France Liberty Alliance Deployment Workshop Paris December 7, 2005

Introduction aux architectures web de Single Sign-on

La gestion des identités dans l'éducation Nationale, état des lieux et perspectives

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

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

Guide Share France. Web Single Sign On. Panorama des solutions SSO

Authentification EoleSSO

Sécurisation des architectures traditionnelles et des SOA

La gestion de l'identité en ligne

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

LemonLDAP::NG. LemonLDAP::NG 1.2. Clément OUDOT RMLL 9 juillet 2012

Support de sources d'authentification multiples dans un portail de travail collaboratif

Mémoire de fin d'études

Architectures de fédération d'identités et interopérabilité

Secure Java Card for Federate Identity Management

EoleSSO EOLE 2.3. Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr) révisé : Septembre 2014

Sécurité des applications Retour d'expérience

Introduction. aux architectures web. de Single Sign-On

Séminaire EOLE Dijon 23/24 novembre Architecture Envole/EoleSSO

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

La fédération d identités, pourquoi et comment? Olivier Salaün, RENATER ANF Mathrice 2014

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

CAS, un SSO web open source. 14h35-15h25 - La Seine A

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

La gestion des identités au CNRS Le projet Janus

Les technologies de gestion de l identité

Service d'authentification LDAP et SSO avec CAS

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

«Clustering» et «Load balancing» avec Zope et ZEO

d authentification SSO et Shibboleth

Fédération d'identités et propagation d'attributs avec Shibboleth

Hébergement de sites Web

Référentiel Général d'interopérabilité

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Système de Gestion de Ressources

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

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

Sécurisation d une application ASP.NET

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Evolutions du guichet de la fédération et gestion des métadonnées SAML

Oauth : un protocole d'autorisation qui authentifie?

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

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

educa.id Gestion d'identité et d'accès

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

WebSSO, synchronisation et contrôle des accès via LDAP

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

Groupe de travail Gestion des identités Les usages et les services ATELIER 2

SP5 Sécurité Lot 5.1 Analyse des besoins et de l existant

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

«Outils de gestion pour TPE CRM / ERP»

Règlement pour les fournisseurs de SuisseID

Authentification et Gestion des Identités. Jean-Noël Colin

IDENTITÉ DIGITALE FÉDÉRÉE

Outils de développement collaboratif

DESCRIPTION DU COMPOSANT

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Service de lettre électronique sécurisée de bpost. Spécificités techniques

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

SÉCURITÉ POUR LES ENTREPRISES UN MONDE NUAGEUX ET MOBILE. Sophia-Antipolis 01/07/2013 Cyril Grosjean

CATALOGUE DES FORMATIONS LANGUES

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

CAS, la théorie. R. Ferrere, S. Layrisse

Chapitre 4: Introduction au Cloud computing

Intervenants. Problématiques annexes Les données personnelles dans le cadre de l administration électronique. Démonstration Questions - Réponses

JRES 2005 : La mémorisation des mots de passe dans les navigateurs web modernes

Programmation Web. Introduction

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

EJBCA Le futur de la PKI

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

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

Présentation du logiciel Free-EOS Server

Installation d OpenVPN

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

Mise en place SSO. Mise en place SSO. 1. Installation de Tomcat sur le serveur OCR (Windows) 2. Ajout des librairies. by LegalBox

les techniques d'extraction, les formulaires et intégration dans un site WEB

1. Présentation de WPA et 802.1X

Signature électronique. Romain Kolb 31/10/2008

Retour sur les déploiements eduroam et Fédération Éducation/Recherche

Présentation d Epicard

Transcription:

Lasso Implémentation libre de Liberty Alliance Frédéric Péters <fpeters@entrouvert.com>

Vandœuvre Projet «carte de vie quotidienne» de l'adae Carte démocr@tics Standards PKCS11/15, X.509, etc. Respect de la vie privée Qu'y stocker? rien ou un minimum

Mauvais exemple belge Certificat X.509 Nom, prénom, adresse, etc. Numéro d'identification au registre national Consigne «il vous est communiqué, vous ne pouvez pas le stocker»

Pas assez Consultation de la population Besoin d'anonymat Éviter l'identifiant unique qui permettrait corrélation Solution propre? Existant?

Liberty Alliance Consortium fondé mi 2001 par Sun Plus de 160 membres Sun, IBM, Nokia, France Telecom, etc. Alternative au projet Passport de Microsoft standard ouvert. Une norme, pas un site Validé par l'union Européenne sur l'aspect «vie privée» «Working document on online authentication services» adopté le 29 janvier 2003

Obstacles à Liberty Pas de solutions libres Implémentation de référence par Sun mais uniquement 1.0 SourceID, accès au source mais pas libre Maintenant, libre, licence semblable à la GPL Solutions existantes Intégration difficile, très peu de flexibilité

Développement de Lasso Prototype en Python (juillet 2003) Réimplémentation en C (février 2004)

Les acteurs 3 types d'acteurs : l'utilisateur : personne physique ou morale qui peut acquérir une identité ; le fournisseur d'identité (IdP) : crée, et gère l'identité des utilisateurs, et les authentifie auprès des fournisseurs de service ; le fournisseur de services (SP) : fournit des services aux utilisateurs une fois qu'ils sont authentifiés par un fournisseur d'identité.

Single Sign On L'identification unique (Single Sign On ou SSO) permet à un utilisateur de s'identifier auprès d'un IDP, et d'être ensuite automatiquement identifié sur tous les SP appartenant à son cercle de confiance. Les différents SP ne peuvent communiquer directement entre eux à propos d'un utilisateur.

Le Single Sign On Liberty 260 pages de specs (au moins) mais aussi Single Logout, Défédération, etc. basée sur SAML (standard de l'oasis) http://www.projectliberty.org/specs/ Différents «profils» Artifact : 5 flèches

Lasso

Caractéristiques fonctionnelles Bibliothèque Algorithmes spécifiés par Liberty Pas de couche stockage Pas d'obligation de base de données, de schéma de tables particuliers, etc. Pas de couche transport Utilisation de celles de l'applicatif Pas de couche authentification Du ressort de l'applicatif

Testée sous GNU/Linux, FreeBSD, Mac OS X et Microsoft Windows Caractéristiques techniques Bibliothèque écrite en C Rapide Compatible avec un maximum de langages Java, Perl, PHP, Python tout à fait fonctionnels, C# en route Utilisation de SWIG pour ces bindings Seulement quelques jours pour porter vers un nouveau langage Multi-plateforme

Bibliothèques S'appuie sur des bibliothèques courantes, écrites en C et libres : GLib et Gobject: portabilité, listes, dictionnaires, structures objet en C http://www.gtk.org libxml2: traitement XML http://www.xmlsoft.org XMLSec: XML Signature, XML Encryption http://www.aleksey.com/xmlsec/ OpenSSL: crypto http://www.openssl.org

XMLSec, recommandation W3C <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="..."/> <SignatureMethod Algorithm="..."/> <Reference URI="#_2816FDE05EB330F05FEAC8E98D8A3E30"> <Transforms> <Transform Algorithm="..."/> <Transform Algorithm="..."/> </Transforms> <DigestMethod Algorithm="..."/> <DigestValue>+5jOoBkeDMh6xTuMmJtsedleKHs=</DigestValue> </Reference> </SignedInfo> <SignatureValue>JgbQRybCsH1/734DSFKsdfsdxcwxc...</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIEKzCC23sdAZE2Sqwdsdsdszr1...</X509Certificate> </X509Data> </KeyInfo> </Signature>

Interopérabilité Testée avec SourceID Liberty 2.0 beta demo application http://www.sourceid.org http://lasso.entrouvert.org/interoperability Prochainement: Événements «conformance» de Liberty Alliance Avril ou juin

Licence Licence GNU GPL Copyright exclusif Entr'ouvert Donc: Utilisation possible dans les applications ayant une licence compatible avec la GPL Utilisation possible dès lors que l'application n'est pas distribuée Autre cas? licence payante, nous consulter

Performances (1) 92% du temps passé dans OpenSSL Énormes gains possibles avec processeurs dédiés mais un petit Opteron (1,6GHz) assure déjà 140 requêtes/secondes

Performances (2)

Contrôle qualité http://lasso.entrouvert.org/buildbox

Applications IdPC Un IDP en CGI & C PostgreSQL, authentification HTTP ou par certificat X.509 SPC Un SP en CGI & C Souk implémentation de référence de Lasso

Applicatifs Démocr@tics Fournisseur d'identité : http://identification.lesdemocratics.net Consultations de la population : http://consultation.lesdemocratics.net Formulaires administratifs : http://formulaires.lesdemocratics.net Téléfact : télépaiement des factures parascolaires (CGI en C) Site principal de la mairie (ColdFusion)

Intégration de Lasso dans un SP Initialisation du SP /* C */ LassoServer *server; server = lasso_server_new(metadata, private_key, secret_key, certificate); lasso_server_add_provider(server, LASSO_PROVIDER_ROLE_IDP, idp_metadata, public_key, certificates_chain); # Python server = lasso.server(metadata, private_key, secrserver.addprovideret_key, certificate) server.addprovider addprovider(lasso.providerroleidp, idp_metadata, public_key, certifacates_chain)

Intégration de Lasso dans un SP Envoi d'une demande d'authentification login = lasso.login(server) login.initauthnrequest initauthnrequest(provider_id, lasso.http_method_redirect) login.request.ispassive = False login.request.nameidpolicy = "federated" login.request.consent = lasso.lib_consent_obtained login.buildauthnrequestmsg buildauthnrequestmsg() # reply with redirect, example in CGI: print 'Location:', login.msgurl

Intégration de Lasso dans un SP Traitement de l'assertion login = lasso.login Login(server) login.initrequest initrequest(query_string) login.buildrequestmsg buildrequestmsg() # send login.msgbody to login.msgurl (SOAP) login.processresponsemsg processresponsemsg(response) nameidentifier = login.nameidentifier.content # retrieve user account and session from # nameidentifier login.setidentityfromdump setidentityfromdump(identity_dump) login.setsessionfromdump setsessionfromdump(session_dump) login.acceptsso acceptsso() # store login session and identity

Développement Public Liste : lasso-devel@lists.labs.libre-entreprise.org Bug tracking : http://labs.libre-entreprise.org/projects/lasso

Futur Serveur d'attributs (ID-WSF) en cours de développement Compatibilité SAML 2.0 Scalp Intégration dans un maximum d'applications libres SPIP, WordPress, webcalendar, mailman, sympa, etc. Compatibilité Shibboleth (universités)?

Questions / Réponses http://lasso.entrouvert.org