Security party
Documents de la soirée
Plan de la soirée
- Bienvenue à la HE-Arc (5mn)
- Présentation de la HE-Arc et de l'ISIC (10mn)
- PresentationSecurityParty (1h)
- La parole au délégué de CAcert (5-10mn)
- CAcert
- état actuel de l'acceptance
- la procédure CAP (assurance (vérification d'identité) CAcert)
- Ensuite, en parallèle:
- assurance (vérification d'identité) CAcert
- vérification d'identité réseaux de confiance GPG/PGP
Références
Préparation avant la séance
Réseau de confiance GPG/PGP
Introduction
Un réseau de confiance peut être vu comme un ensemble de chemins de confiance menant d'une clé à une autre. S'il existe, cela signifie qu'il y a une certaine
probabilité que l'identité liée à cette clé est correcte. Plus le nombre de chemins est grand et moins la longueur de ces chemins est grande, plus la probabilité
que l'identité est sûre de manière forte est grande.
Donc, on a intérêt à
faire signer sa clé GPG/PGP par le plus de personnes possibles.
Travail à effectuer par vous, par avance
- créer une clé (paire de clé) si ce n'est pas encore fait, avec éventuellement un certificat de révocation qui sera conservé séparément et précieusement.
- déposer la clé publique sur un serveur de clé
- envoyer l'empreinte de la clé à l'organisateur de la conférence (de préférence empreinte (fingerprint) + identité (adresse e-mail et nom))
- après réception du résumé de toutes les clés envoyé par l'organisateur de la conférence (liste de clés), vérifier son empreinte (hash) et l'imprimer
Résumé technique
Introduction
L'outil présenté ici est GPG sous GNU/Linux (p.ex. Ubuntu). Mais il y a d'autres possibilités:
- gnupg existe sous Microsoft Windows et Mac OS X. Une fois installé, les commandes sont les mêmes (sous un interprète de commande, respectivement Microsoft
CMD.EXE
et Mac OS X Terminal).
- des outils graphiques (GUI) existent également. Il permettent les mêmes manipulations (création de clé, de révocation, signatures de clés, signatures de messages, chiffrement, déchiffrement)
Dans tous les cas, un concept central est le "keyring" (trousseau de clés). Tout logiciel maintiendra
deux trousseaux séparés: un trousseau de clés publiques, et un trousseau pour vos clés privées
(à garder obligatoirement secret!). Parfois un mot de passe ou une phrase (passphrase) peuvent
être utilisés pour protéger la clé privée. Des informations de confiance sont généralement également
sauvegardés d'une manière ou d'une autre.
En aucun cas il ne faut déposer les clés privées sur un système non sécurisé! Ni les envoyer à autrui!!!
Installation et création des clés
Résumé technique avec l'outil
gnupg
(si vous utilisez un autre logiciel, une autre interface, veuillez vous référer au manuel utilisateur!)
- installation (Ubuntu GNU/Linux)
sudo apt-get install gnupg
- création de la paire de clés (publique, privée)
gpg --gen-key
ensuite, un dialogue survient, voici un exemple:
skypeuser@reliant:/data/home/skypeuser$ gpg --gen-key
gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: directory `/home/skypeuser/.gnupg' created
gpg: new configuration file `/home/skypeuser/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/skypeuser/.gnupg/gpg.conf' are not yet active du
ring this run
gpg: keyring `/home/skypeuser/.gnupg/secring.gpg' created
gpg: keyring `/home/skypeuser/.gnupg/pubring.gpg' created
Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection?
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 5y
Key expires at Fri Oct 3 19:30:24 2014 CEST
Is this correct? (y/N) y
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
Real name: Marc SCHAEFER
Email address: schaefer@alphanet.ch
Comment: Test Key, will be deleted
You selected this USER-ID:
"Marc SCHAEFER (Test Key, will be deleted) <schaefer@alphanet.ch>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /home/skypeuser/.gnupg/trustdb.gpg: trustdb created
gpg: key 8F180522 marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2014-10-03
pub 1024D/8F180522 2009-10-04 [expires: 2014-10-03]
Key fingerprint = B9BB 7EBF 5649 0348 0C3E 4BD3 1620 980F 8F18 0522
uid Marc SCHAEFER (Test Key, will be deleted) <schaefer@alphanet.ch>
sub 4096g/5A079D0D 2009-10-04 [expires: 2014-10-03]
Votre nouvelle clé est donc identifiée par un numéro et une empreinte!
- envoi de la clé sur un serveur de clé
skypeuser@reliant:/data/home/skypeuser$ gpg --send-key 8F180522
gpg: sending key 8F180522 to hkp server subkeys.pgp.net
- envoi des données (les lignes générées par gpg à la création de la clé, ici commençant par "pub 1024D/8F1180522" et finissant par "sub 4096g/..." à l'organisateur
- la vérification de la liste sera expliquée lors de l'envoi de la liste.
NB: une pratique usuelle est de créer deux clés: une à utiliser tous les jours, avec une validité assez courte (1 an p.ex.). Une avec une validité très longue, qui ne sert
qu'à signer la clé de travail chaque année. Vous ne faites que signer la clé longue!
Préparation de la liste
But: optimiser la vérification de plusieurs identités
- l'organisateur collecte les différentes clés publiques (ou empreintes + identité)
- il crée une liste, au format texte ou PDF (en PDF: moins de risque de bug de logiciels, genre encodage UTF8/Latin-1, etc)
- il crée deux hâchages sha1 et md5sum de cette liste
- il envoie le tout avec quelques informations de ce qu'il faudra faire.
PreparationListeCleSignee
Déroulement à la conférence
- l'organisateur affichera sur l'écran de projection les hâchages sha1 et md5 de la liste de clés, à vérifier par chacun, informer en cas de problème! Ne jamais tenir compte d'une liste dont l'empreinte ne correspond pas.
- l'organisateur fera l'appel de toutes les personnes figurant sur la liste de clés et leur demandera de confirmer si les clés mentionnant leur nom et l'empreinte figurant sur la liste sont correctes: à défaut (personne non présente ou empreinte incorrecte) l'organisateur demandera à tous de biffer ces entrées de la liste des clés
- une "ronde" sera organisée pour permettre à chacun de vérifier (en notant p.ex. un OK à côté sur la liste) l'identité de chacune des autres personnes
- p.ex. carte d'identité suisse, permis de conduire (avec photo)
Travail à effectuer par vous, après la conférence
Si et si seulement le hâchage (l'empreinte) correspond et que l'OK pour l'identité est présent:
pour toutes les clés non biffées de la liste de clés:
- télécharger la clé du serveur de clé
- vérifier le nom, l'adresse e-mail et l'empreinte de la clé par rapport à la liste de clés, et si un OK y figure
- signer la clé si tout est correct avec votre/vos clé(s)
- envoyer par e-mail la clé signée à l'adresse e-mail indiquée
NB: ne pas réenvoyer la clé une fois signée sur le serveur de clé. C'est à la personne concernée de le faire. Cela permet aussi d'assurer que c'est bien cette
personne qui est "au bout du fil". De préférence, effacer toute référence à cette clé de votre keyring (vous chargerez la clé complétée d'un serveur de clé à la prochaine utilisation). Si vous vous trompez ce n'est cependant pas très grave.
ExempleProcedureSignature
Références
"Assurance" (vérification d'identité) CAcert
de préférence:
en bref:
- CAcert: prendre au moins 1 moyen d'identification avec photographie (carte d'identité, passeport, permis de conduire), de préférence 2
- s'il y a des différences dans l'orthographe de votre nom (SCHAEFER/SCHAFER) prenez le plus de moyens d'identification possible
commentaires
- CCA - Convention et conditions générales de participation à la communauté Cacert.org
- autres documents
Thawte
Ce service gratuit sera très bientôt
supprimé! Il n'y a donc plus de sens à proposer des vérifications par ce biais.
--
MarcSCHAEFER - 03 Oct 2009