la sécurité des communications avec gpg
TRANSCRIPT
La sécurité des communications avec
GPG
Eric HoguePHP Québec - 7 août 2014
Agenda
1. Théorie2. Usage3. Toile de confiance
Théorie
Pourquoi?
Au Canada?
Communications Security Establishment Canada
providing and protecting information
Au Canada?
The "Five Eyes"
● Australia● Canada● New Zealand● United Kingdom ● United States
Espionage industriel
Protéger les autres
● Journalistes● Militants (droits humains, Printemps arabe)● Dénonciateurs (Edward Snowden)
Comment se protéger?
Chiffrement
“Le chiffrement est un procédé de cryptographie grâce auquel on souhaite rendre la compréhension d'un document impossible à toute personne qui n'a pas la clé de (dé)chiffrement.”
http://fr.wikipedia.org/wiki/Chiffrement
Chiffrement à clé symétrique
Chiffrement à clé publique
OpenPGP
Usage
Installation
Installation
● Linux○ Déjà installé
● Windows○ Installé avec Cygwin○ Binaires: http://gpg4win.org/
● Mac○ Binaires: https://gpgtools.org/
● Compiler
Création de clés
gpg --gen-key
Création de clés
Création de clés
Création de clés
Création de clés
Finalement
Certificat de révocation
gpg --output revoke.asc --gen-revoke KeyId
Publier sur un serveur de clés
Obtenir l’identifiant de la clé
gpg --list-keys
gpg --send-keys
Exporter dans un fichier
gpg --armor --output gpg1.pgp --export [email protected]
Importer une clé
D’un fichier
gpg --import erichogue.gpg
Signer vs Crypter
Clé privée pour signer
Signergpg --clearsign originalFile.txt
gpg --output originalFile.sig --detach-sign originalFile.txt
Vérifier une signature
gpg --verify originalFile.sig originalFile.txt
Clé publique pour crypter
Crypter
gpg --output file.gpg --encrypt --recipient [email protected] file.txt
Décrypter
gpg --output file.txt --decrypt file.gpg
Enigmail
Toile de confiance
On doit vérifier les clés
Confiance
● Confiance dans la validité de la clé● Confiance en la personne qui a signé une
clé
Confiance dans la validité de la clé
0. Unknow - Inconnue1. None - Non vérifié 2. Marginal - Vérification rapide3. Full - Vérification poussée
Confiance dans le signataire
1. Unknown - Inconnu2. None - Aucune confiance3. Marginal - La personne vérifie4. Full - La personne vérifie soigneusement5. Ultime - Ma clé
Une clé est valide si:
1. Elle est signé par○ Vous○ une clé en qui on a pleine confiance○ 3 clés avec une confiance marginale
2. Il faut passer par un max de 5 clés
Marginale: 2 - Profondeur: 3Si on a pleine confiance en DharmaPleine validité: Blake, Dharma, Chloe, Francis
Marginale: 2 - Profondeur: 3Si on a confiance marginale en Dharma et BlakePleine validité: Blake, Dharma, Chloe
Marginale: 2 - Profondeur: 3Si on a Pleine confiance en Dharma, Chloe et ElenaPleine validité: Blake, Dharma, Chloe, Francis, Elena
Confiance
gpg --edit-key [email protected]
Key Signing Party
Imprimer les informations de la clé
http://openpgp.quelltextlich.at/slip.html
Vérification de l’indentité
2 pièces d’identité
Importer la clé
Vérifier la clé
Signer la clé
gpg --ask-cert-level --sign-key [email protected]
Exporter la signature
$ gpg --armor --export [email protected] > gpg2_at_erichogue.ca.asc
$ gpg --sign --encrypt --recipient [email protected] gpg2_at_erichogue.ca.asc
Recevoir une signature
$ gpg --decrypt gpg2_at_erichogue.ca.asc.gpg > gpg2_at_erichogue.ca.asc
$ gpg --import gpg2_at_erichogue.ca.asc
Plusieurs UUID sur la clé
● Signer les UUID individuellement ● Envoyer les signatures à l’adresse du UUID
Exporter la clé dans un fichier
gpg --armor --output temp.pgp --export [email protected]
Choisir le UUID à signer
Signer
Exporter, encrypter et effacer
$ gpg --armor --export …
$ gpg --sign --encrypt --recipient ...
$ gpg --delete-keys [email protected]
Répéter pour chaque UUID
Rafraichir les signatures
gpg --refresh-keys
RessourcesGnuPG
https://www.gnupg.orgJeff Carouth
http://carouth.com/pgp/Email Self-Defense FSF
https://emailselfdefense.fsf.orgCryptoParty
http://www.cryptoparty.in/montreal
Questions?Joind.in: https://joind.in/11578Twitter:
@ehogueBlog:
http://erichogue.ca
Crédits● _Bunn_
○ https://www.flickr.com/photos/weibunn/5444599491● Marsmettnn Tallahassee
○ https://www.flickr.com/photos/95453036@N08/10679984646● Adam Hart-Davis
○ https://en.wikipedia.org/wiki/File:PRISM_logo_(PNG).png● CSEC
○ http://www.cse-cst.gc.ca/home-accueil/history-histoire/crest-insigne-eng.html● Dustin Ginetz
○ https://www.flickr.com/photos/dustinginetz/11295570955● Meme Binge
○ https://www.flickr.com/photos/memebinge/14471353850● Benjamin D. Esham
○ https://commons.wikimedia.org/wiki/User:Bdesham● Tim Gage
○ https://www.flickr.com/photos/timg_vancouver/200625463● Jon Callas
○ https://www.flickr.com/photos/joncallas/13178714304● Richard Garside
○ https://www.flickr.com/photos/richard-g/3549285383● xaedes & jfreax & Acdx
○ https://en.wikipedia.org/wiki/File:PGP_diagram.svg● Marcell Dietl
○ https://www.flickr.com/photos/marcelldietl/9655297991● Cedward Brice
○ https://www.flickr.com/photos/cedwardbrice/6335893651
● Dakota○ https://www.flickr.com/photos/dakotilla/2129004768
● Kaushik Narasimhan○ https://www.flickr.com/photos/kaushiknarasimhan/4504860888
● Merrick Monroe○ https://www.flickr.com/photos/naughtymerrick/3170981560
● Alex○ https://www.flickr.com/photos/40987321@N02/5580348753
● Sebastien Wiertz○ https://www.flickr.com/photos/wiertz/4563720850
● sodaro,k○ https://www.flickr.com/photos/sodarok/3104549807
● Anita Ritenour○ https://www.flickr.com/photos/puliarfanita/3360463235
● msr○ https://www.flickr.com/photos/msr/239037005
● s.yume○ https://www.flickr.com/photos/syume/6026704607
● Philo Nordlund○ https://www.flickr.com/photos/philon/2477878611
● Feral78○ https://www.flickr.com/photos/emmettgrrrl/7165744402
● Till Krech○ https://www.flickr.com/photos/extranoise/278465198
Crédits