Cette traduction est issue d'une contribution externe.
Projet Ägypten : DéveloppementInfrastructure
Comment tester KMail ou Mutt avec Ägypten?Seuls ceux qui ont une âme d'aventurier devraient suivre les instructions ci-dessous. Faisez attention d'utiliser des préfixes conformes à votre système. Utilisez "make; su - c 'make install'" au lieu de "make install" si les préfixes pointent vers un dossier où vous n'avez pas les droits nécessaires. Veuillez noter également que le développement est en pleine effervescence, et que suivre les instructions suivantes ne pourraient pas être entièrement adaptées. Si vous essayez la dernière version, n'hésitez pas à nous faire part de vos problèmes sur notre liste de diffusion. Vous devriez créer un utilisateur test, afin de garder votre courrier et votre configuration intacts. N'utilisez pas cette version avec des mots de passe importants ou lors pour chiffrer de messages sensibles. Compilation à partir de tar-ballsIl est nécessaire de disposer de KDE 3.0.0, ainsi que des paquets devel correspondant (recommandé). Autrement, vous pouvez toujours utiliser les tar-balls pour qt, arts, kdelibs et kdebase listées ci-dessous.Les tar-balls suivantes sont nécessaires (Bien que ce choix d'archives fonctionne, il est conseillé de surveiller la sortie de nouvelles versions) : Pour KMail : Le procédé de compilation ressemble à :
Compilation à partir du CVSNotez que pour Mutt, l'extension Aegypten n'est pas encore dans le CVS officiel de Mutt, mais uniquement disponible en tant que tar-ball séparée (voir ci-dessus).Si KDE 3.0.0 et les paquets devel correspondant sont installés, il suffit de récupérer admin, certmanager, mimelib, libkdenetwork et kmail du module CVS de kdenetwork: (ajustez CVSROOT sur votre miroir CVS préféré de kde) cvs co -l kdenetwork cd kdenetwork cvs up admin certmanager mimelib libkdenetwork kmail make -f Makefile.cvs ./configure --enable-debug=full --prefix=/quelque/part make installLa procédure complète est (vous pouvez utiliser des raccourcis pour certains modules, notamment par le biais de tar-balls) :
Utilisation de S/MIMESuivez ces étapes (vous pouvez sauter la génération de clefs, si vous voulez uniquement vérifier des messages signés ou en chiffrer un) afin de pouvoir utiliser les premières possibilités S/MIME (notez de nouveau que le développement est rapide et que les instructions peuvent changer. Cette liste est aussi incomplète : communiquez-nous les points où vous aimeriez plus de détails) :
Utilisation d'OpenPGP
Utilisation de SmartcardsLe projet Ägypten utilise
Configurez OpenSCVous devez installer un fichier opensc.conf dans {prefix}/etc; un exemple est uinclus dans opensc-0.6.1-wk-20020415/etc/. Nous utilisons la base de pcsc.Configurez le lecteur de SmartcardCe qu'il y a à faire est très dépendant de votre système.USB: lisez http://www.linux-usb.org/ pour savoir comment connecter votre lecteur USB. Cet exemple montre la démarche à suivre avec une Debian GNU/Linux Woody, Kernel 2.4.18 - le lien ci-dessus devrait être votre source première d'informations pour connecter votre lecteur USB! mknod ttyUSB0 c 188 0 # si cette entrée n'existe pas encore mount -t usbdevfs none /proc/bus/usb # si cette entrée n'existe pas encore apt-get install libtowitoko2 modprobe usb-uhci # pour installer l'usb, si ce n'est pas encore fait modprobe pl2303 # pour le lecteur Towitoko Chipcard apt-get install usbview # utilisez cette outil pour vérifier le fonctionnement des périphériques.V24: installez simplement libtowitoko2 et configurez le port série approprié. Préparation d'une carte pkcs15Notez : Il se peut que votre carte soit inutilisable - cela est généralement dû à un bogue ou un problème d'installation. Nous sommes assez chanceux à ce point, car seul un fichier sur une carte n'est plus supprimable.
opensc-explorer <<EOF cd 5015 del 9001 del 5002 del 5001 del 4404 del 4402 del 4401 del 5032 del 5031 del 0011 del 0001 cd .. del 5015 EOFSi vous voulez travailler avec les fichiers PIN crées sous 5015 DF, il faut que vous sachiez que vous devez utiliser CHV128 et CHV129 avec la commande d'opensc-explorer "ver" et "change". Utilisation d'une carte préparée pkcs15
DiscussionLes liens suivants ont pour but de cataloguer les différentes discussions autour des choix technologiques, notamment pour décider si le projet Ägypten suivra un chemin ou sur un autre.Intégration dans KMailL'intégration de S/MIME basé sur gpg et le support d'OpenPGP dans le projet Ägypten implique un suivi strict du calendrier, ainsi qu'une structure pour supporter d'autres MUAs non-KDE.Il est prévu de concilier ces deux aspects le mieux possible avec le développement de KDE. Ceci signifie qu'il faudrat réduire au maximum les parties existantes uniquement pour palier aux besoins d'Ägypten, et qui seront abandonnées plus tard, lorsque KDE sera plus avancé. Quelques activités de KDE dans un domaine identique ou voisin d'Ägypten :
Intégration à MuttUne tar-ball spéciale d'Ägypten intégré à Mutt est disponible sur le site ftp.gnupg.org (voir la description ci-dessus).Hormis Ägypten, d'autres extensions pour Mutt sont disponibles, tel que ce patche S/MIME pour Mutt. Celui-là est basé sur OpenSSL. KAdressbook supportant LDAPLa fonctionnalité LDAP permettra à l'utilisateur de rechercher une information en tapant un nom (ou une partie) dans un champs. En effet, l'application questionnera le serveur LDAP et affichera ensuite la liste des résultats. L'utilisateur pourra alors choisir d'ajouter une adresse à son carnet d'adresses local.Il a été décidé que l'application "KAddressbook" aurait la fonctionnalité LDAP, car elle utilise la bibliothèque la plus moderne et dont le développemen est le plus actif dans KDE -- libkabc. Le développement de l'alternative libkab a été officiellement arrêté. Comment gérer les certificats et LDAPBaseUn serveur LDAP peut en principe avoir un certificat smime associé à une entrée pour une personne. Cette entrée a aussi l'adresse email en attribut. Le plus important est que nous pouvons avoir plusieurs adresses email lors de la recherche d'une personne. Pour identifier le bon certificat, nous pouvons utiliser son empreinte.En principe, le certificat devrait contenir l'information rendant possible la découverte du point de distribution pour les CRLs du CA. Ce qui fait qu'en théorie, il ne faudrait pas spécifier le DNS et le numéro du port du serveur LDAP pour les CLRs. Ainsi, ce serait parfait d'avoir un certificat valide et le chemin sûr pour les certificats. En pratique, nous pourrions essayer les serveurs LDAP que nous avons utilisé pour les certificats dans le cas d'une recherche de CLR d'un certificat spécifique. Relation de KAddressbook's avec KmailUne idée de concept est que KAddressbook ne gère pas directement les certificats, car il dépendrait alors de gpgme pour la plupart des actions. Nous souhaitons que notre KAddressbook ne s'occupe que des personnes et de leurs adresses email lors d'une requête à un serveur ldap.Il transmet uniquement l'adresse email, ainsi que quelques détails supplémentaires à KMail. KMail doit alors décider s'il veut utiliser le chiffrage, et par quelle méthode. Si KMail choisit un chiffrage par s/mime, il se charge de trouver un certificat pour cette adresse email. Maintenant, KMail (peut-être en collaboration avec certmanager) appellera la routine de chiffrage pour rechercher un certificat adapté. Cette routine recherchera aussi des serveurs ldap externes, si KMail le lui demande. La raison pour laquelle l'empreinte doit être enregistrée en supplément dans KAddressbookDans le fond, il est clair que KMail peut être présenté avec un certain nombre de certificat pour une simple adresse email. La sélection du certificat adéquat doit être effectuée chaque fois par l'utilisateur, si nous ne nous souvenons pas de l'empreinte du certificat préféré. La bonne place pour l'enregister est dans KAdressbook, à mon avis.Inconvénient : deux listes de serveurs ldap à questionnerIl y a un inconvénient que KAdressbook et dirmngr (qui fait partie de la routine de chiffrage questionnant le serveur ldap), car les deux ont leurs listes de serveurs à questionner. Actuellement, nous pensons que c' est inévitable, si nous ne voulons pas rendre les choses encore plus compliquées. Théoriquement, il serait possible de synchroniser les préférences KDE et de la routine de chiffrage, mais cela impliquerait pas mal de complications.En conclusion, il semble que nous ayons besoin d'un GUI pour la liste de dirmngr séparé de l'outil de configuration des serveurs ldap pour KDE/KAdressbook. Conclusion pour l'implémentationNous avons besoin d'une solution pour KMail ou le certmanager, afin de transmettre des données complémentaires à KAdressbook, que KAdressbook pourrait rendre. En particulier, ces données comprendraient "use mime" et "cert with this fingerprint: xxx".KMail ou certmanager utiliseraient les fonctions de recherches de gpgme au cas où ils ne trouveraient pas de certificat approprié. Nous avons besoin d'un GUI pour la modification de la configuration de dirmngr, concernant les serveurs ldap à questionner lors de la recherche de certificats. SmartcardsBrève introductionICC ou Smartcards (cartes à puce) sont de véritables petits ordinateurs avec un OS utilisant une EEPROM au lieu d'un disque dur, et juste un I/O série, un jeu de commande standard simple et des fichiers protégés par ACL. Les noms de fichiers sont sur 16bits, vous avez des répertoires (appelés DFs) jusqu'à 4 niveaux et des fichiers réguliers (EFs). EFs may come in a transparent form, record structured or circular structured. Il y a des commandes pour la lecture et l'écriture de fichiers, pour vérifier les PINs, où les PIN sont enregistrés dans un fichier sur la CARD avec un ACL défini à NO-READ. Les cartes nécessaires pour Ägypten doivent pouvoir effectuer des opérations de cryptographie, tel que la génération MAC, signature et vérification de signature.La puce est basée normallement sur un 8051 mais améliorée avec un accélérateur de chiffrage. Si vous détachez la puce de la carte plastique, vous remarquerez que cette puce est derrière les contacts dorés. Ces contacts permet de fournir l'alimentation, la date et les données séries. SCdaemonLes avantages de SCdaemon:
Interface utilisateur (UI) pour SmartcardsUn aperçu des exigences de l'UI pour les cartes : La préparation de cartes (initialisation du système de fichiers de la carte) devrait être réalisée par un utilitaire externe, car il peut renvoyer un grand nombre de messages d'erreur etc. Un outil en ligne de commande est bien adapté à ce travail. Notez qu'en général, l'utilisateur n'a pas besoin de le faire, car il peut acheter des cartes déjà initialisées. S'il est nécessaire de faire une interface plus conviviale, il serait bien que quelqu'un se dévoue pour mener un tel projet. Pour enregistrer une clef sur la carte, la solution retenue est celle d'un OS bootable. Cependant, nous devrions être capable de le faire dans notre environnement, après l'affichage d'avertissements adéquats. Pour ceci, nous avons besoin d'une case à cocher (avec 'false' par défaut) dans le dialogue relatif à la génération de clef. Le reste est fait en utilisant pinentry. L'intéraction la plus classique avec SC, intervient lorsque l'utilisateur introduit sa carte. Le SCdaemon devrait la détecter, mais pour qu'il en soit ainsi, il faut qu'il soit démarré. La meilleure solution est d'indiquer à gpgsm de rechercher la carte - KDE pourrait incorper un service de notifications à chaque fois que l'état du lecteur de carte change, mais cette partie ne fait pas partie des buts du projet Ägypten. Dans la plupart des cas, gpg-agent/SCdaemon remarquera que la carte a déjà été utilisée et, du coup, l'accès à la carte est transparent. Cependant, pour les cartes nouvelles ou inconnues, nous sommes obligés de demander à l'utilisateur ce qu'il faut faire. Pour séparer cette tâche de l'UI, nous préferons utiliser pinentry. Après qu'un utilisateur est introduit sa carte, il verra apparaître un message, lui posant quelques questions à propos de celle-ci ("Ceci est une nouvelle carte - que veux-tu que j'en fasse?"). L'utilisateur peut répondre qu'il ne sait pas quoi faire, la boîte de dialogue disparaissant alors (mais elle réapparaitra à chaque fois que cette carte est réintroduit). Sinon, l'autre réponse est "Oui, je veux utiliser une clef secrète sur cette carte", après quoi gpg-agent demande le PIN, afin de vérifier qu'il est bien l'utilisateur légitime et enregistre la carte dans la base de données de clefs secrètes sur le disque. Si l'utilisation d'une clef secrète est nécessaire plus tard, gpg-agent cherchera dans sa base de clefs secrètes, et utilisera la clef enregistrée sur le disque ou (s'il y a une marque que la clef est sur une SC), demandera à l'utilisateur d'introduire la carte appropriée. Ainsi, le changement au niveau de l'UI est minimal et nécessite une case à cocher. Il reste encore la question de savoir comment désenregister une clef de la base de données, après qu'elle est expirée, ou qu'elle ne soit plus accessible. modules d'accès SmartcardLe projet Ägypten utilisera OpenSC pour incorporer les Smartcards. PCSC Lite du projet MUSCLE sera utilisé pour établir les principales fonctionnalités. Plus tard, PCSC sera remplacé par une nouvelle implémentation. La raison principale étant que la licence actuelle de PCSC n'est pas compatible avec l'un des objectifs fixés pou r a licence d'Ägypten (GPL). Un autre avantage d'OpenSC est que le code pkcs-15 fonctionne et que l'origine du code est claire.Une alternative à OpenSC est SCEZ, mais dans ce cas aussi, la licence (une vieille licence BSD avec des clauses publicitaire dans les archives actuelles) fait que nous préfèrons la licence LPGL d'OpenSC. Toutefois, les derniers développements de SCEZ sont placés sous deux licences, LPGL et la nouvelle BSD. Liens :
A Frequently Asked Questions list (FAQ) for alt.technology.smartcards
(outdated but still useful)
Guide pratique des Smart Card par W Rankl & W Effing Ce livre est aussi disponible en allemand, par Hanser (Handbuch der Chipkarten, 3. Auflage, ISBN 3-44621115-2). Comment utiliser une carte NetKeyPour les experts, il y a une description sur comment préparer une carte TeleSec NetKey.D'autres projets en corrélation ou présentant des points intéressantsX.509 Style Guide par Peter Gutmann Bibliothèque S/MIME en Freeware (SFL) (Le status de logiciel n'est pas clair, GPL partielle) HOWTO: Programmation S/MIME en Python avec M2Crypto
X.509 Path Validation Test Suite for Conformance tests for relying parties that validate X.509 certification paths at the National Institute of Standards and Technology.
Tutoriel Linux LDAP : Déploiement d'OpenLDAP - Installation et configuration (V1.2 / 2.0)
passerelle WWW pour serveur LDAP
OpenSSL Contient une implémentation libre de CA.
pyCA - X.509 CA Logiciel pour implémenter une autorité de certifications X.509/PKIX (utilise OpenSSL)
gpkcs11 cryptographic token access for Unix
|
LiensKMailMutt GnuPG Sphinx Intevation code g10 Klarälvdalens Datakonsult Bundesamt für Sicherheit in der Informationstechnik ContactVous pouvez contacter l'équipe du projet par l'intermédiaire de plusieurs listes de diffusions :gpa-dev (coordination technique) kmail (KMail) gnupg-devel (Développement de GnuPG) Coordination du projet : <bernhard@intevation.de> <jan@intevation.de> |
Cette traduction a été réalisée par Jérôme Pansanel <pansanel@chimie.u-strasbg.fr>.
Elle est basée sur la page anglaise du 2002/05/31 14:54:46.
Dernière modification de la page: $Date: 2003-01-27 12:11:36 $
Copyright (c) Intevation, Jerome Pansanel, la copie intérgrale et la distribution de cette page entière sont autorisées sur tous supports, si cette mention est préservée.