LinSign : la signature électronique en Open Source

29
WWW.LINAGORA.COM WWW.LINAGORA.COM LinSign : la signature électronique en open source David CARELLA Expert Sécurité PKI [email protected]

description

Présentation donnée lors du salon Solutions Linux 2011.Animée par David CARELLA, Expert Sécurité PKI

Transcript of LinSign : la signature électronique en Open Source

Page 1: LinSign : la signature électronique en Open Source

WWW.LINAGORA.COMWWW.LINAGORA.COM

LinSign : la signature électroniqueen open sourceDavid CARELLA

Expert Sécurité [email protected]

Page 2: LinSign : la signature électronique en Open Source

2

L’offre Sécurité

Page 3: LinSign : la signature électronique en Open Source

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.

Page 4: LinSign : la signature électronique en Open Source

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.

Page 5: LinSign : la signature électronique en Open Source

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.

Page 6: LinSign : la signature électronique en Open Source

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

Page 7: LinSign : la signature électronique en Open Source

7

Signature électronique de documentsSignature électronique de documents

Page 8: LinSign : la signature électronique en Open Source

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

Page 9: LinSign : la signature électronique en Open Source

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).

Page 10: LinSign : la signature électronique en Open Source

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.

Page 11: LinSign : la signature électronique en Open Source

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.

Page 12: LinSign : la signature électronique en Open Source

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.

Page 13: LinSign : la signature électronique en Open Source

13

LinSign : Caractéristiques techniques (1/3)

Page 14: LinSign : la signature électronique en Open Source

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.

Page 15: LinSign : la signature électronique en Open Source

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.

Page 16: LinSign : la signature électronique en Open Source

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)?

Page 17: LinSign : la signature électronique en Open Source

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.

Page 18: LinSign : la signature électronique en Open Source

18 18

Cinématique d’une signature électronique

Page 19: LinSign : la signature électronique en Open Source

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.

Page 20: LinSign : la signature électronique en Open Source

20

LinSign : Étape 0 – Splash screen

Affichage du splash screen

Page 21: LinSign : la signature électronique en Open Source

21

LinSign : Étape 1 – Mentions légales

① Acception des mentions légales

Page 22: LinSign : la signature électronique en Open Source

22

LinSign : Étape 2 – Politiques de signature

② Choix de la politiques de signature

Page 23: LinSign : la signature électronique en Open Source

23

LinSign : Étape 3 – Fichiers à signer

③ Sélection des fichiers à signer

Page 24: LinSign : la signature électronique en Open Source

24

LinSign : Étape 4 – Magasin de certificats

④ Sélection du magasin de certificats

Page 25: LinSign : la signature électronique en Open Source

25

LinSign : Étape 5 – Clé de signature

⑤ Sélection d’une clé de signature

Page 26: LinSign : la signature électronique en Open Source

26

LinSign : Étape 6 – Signature

⑥ Consentement à signer (« Lu et approuvé »), puis signature

Page 27: LinSign : la signature électronique en Open Source

27

LinSign : Étape 7 – Les fichiers signés

⑦ Liste des fichiers signés

Page 28: LinSign : la signature électronique en Open Source

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 ;

Page 29: LinSign : la signature électronique en Open Source

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