LinSign : la signature électronique en Open Source
description
Transcript of LinSign : la signature électronique en Open Source
WWW.LINAGORA.COMWWW.LINAGORA.COM
LinSign : la signature électroniqueen open sourceDavid CARELLA
Expert Sécurité [email protected]
2
L’offre Sécurité
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 LinSignLinSign – 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 LinShareLinShare 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.
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’enregistrementLinRA 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.
5
Composition de l’offre Sécurité (3/3)
LinSecure – Coffre-fort électronique pour le jeu en ligneLinSecure 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 électroniqueSignServer 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.
6 6
LinPKI : Exemple de fonctionnalité
Un Utilisateur dépose un document électronique
LinPKISignature
L’utilisateur signe le document avec son certificat via le composant de signature de LinSign
LinPKIValidation
Le service de validation vérifie le certificat numérique du client qui a signé le document
LinPKISignature
Le serveur de signature ajoute des éléments de signature : éléments de validation, horodatage, contre ou co-signature.
LinPKIHorodatage
Horodatage des signatures
Archivage des documents
Cinématique d’une signature client et serveur, avec horodatage
7
Signature électronique de documentsSignature électronique de documents
8
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 – Édition client autonome
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
9
LinSign : Présentation (2/2)
LinSign Portal – Édition portailLinSign est utilisée dans son portail web en mode distant et connecté, avec les navigateurs standards du marché.
LinSign API – Édition librairie à intégrer
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).
10
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.
11
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.
12
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.
13
LinSign : Caractéristiques techniques (1/3)
14
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.
15
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 2011 : 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.
16
zip
LinSign : Signature standard XAdES
Signature XML-DSig détachée
Signature au format XAdES ETSI TS 101 903 v1.3.2 (2006-03)
<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)?
17
LinSign : Environnement système et matériel
Machine virtuelle Java JRE/JDK 6
Par défaut, Java JRE/JDK 6 ne supporte pas la signature XML SHA-256avec 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 #11
Entiè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. Cette carte est certifiée Critères Communs EAL4+ pour la signature électronique).
Navigateur web Firefox
Accès au magasin sur tous les systèmes d’exploitation (Windows, GNU/Linux, Mac OS, etc.) via la librairie Mozilla NSS.
18 18
Cinématique d’une signature électronique
19
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.
20
LinSign : Étape 0 – Splash screen
Affichage du splash screen
21
LinSign : Étape 1 – Mentions légales
① Acception des mentions légales
22
LinSign : Étape 2 – Politiques de signature
② Choix de la politiques de signature
23
LinSign : Étape 3 – Fichiers à signer
③ Sélection des fichiers à signer
24
LinSign : Étape 4 – Magasin de certificats
④ Sélection du magasin de certificats
25
LinSign : Étape 5 – Clé de signature
⑤ Sélection d’une clé de signature
26
LinSign : Étape 6 – Signature
⑥ Consentement à signer (« Lu et approuvé »), puis signature
27
LinSign : Étape 7 – Les fichiers signés
⑦ Liste des fichiers signés
28
LinSign : Outils de vérification
● Outil de vérification de signature XAdES
● Cet outil fait partie de l’offre LinSign ;
● Permet de faire une vérification technique d’une signature électronique au format XAdES ;
WWW.LINAGORA.COMWWW.LINAGORA.COM
Merci de votre attention
Contact : LINAGORA – Siège social80, rue Roque de Fillol
92800 PUTEAUXFRANCE
Tél. : 0 810 251 251 (tarif local)Fax : +33 (0)1 46 96 63 64
Courriel : [email protected] : www.linagora.com