Security party

Documents de la soirée

Plan de la soirée
  1. Bienvenue à la HE-Arc (5mn)
  2. Présentation de la HE-Arc et de l'ISIC (10mn)
  3. PresentationSecurityParty (1h)
  4. 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)
  5. 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

  1. 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.
  2. déposer la clé publique sur un serveur de clé
  3. envoyer l'empreinte de la clé à l'organisateur de la conférence (de préférence empreinte (fingerprint) + identité (adresse e-mail et nom))
  4. 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:

  • 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!)
  1. installation (Ubuntu GNU/Linux)
    sudo apt-get install gnupg
    
  2. 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!
  3. 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
    
  4. 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
  5. 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

  1. l'organisateur collecte les différentes clés publiques (ou empreintes + identité)
  2. 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)
  3. il crée deux hâchages sha1 et md5sum de cette liste
  4. il envoie le tout avec quelques informations de ce qu'il faudra faire.

PreparationListeCleSignee

Déroulement à la conférence

  1. 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.
  2. 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
  3. 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:
  1. télécharger la clé du serveur de clé
  2. 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
  3. signer la clé si tout est correct avec votre/vos clé(s)
  4. 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

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
Topic revision: r10 - 26 Oct 2009, MarcSCHAEFER
 

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback