Transcript
Page 1: La sécurité des communications avec GPG

La sécurité des communications avec

GPG

Eric HoguePHP Québec - 7 août 2014

Page 2: La sécurité des communications avec GPG

Agenda

1. Théorie2. Usage3. Toile de confiance

Page 3: La sécurité des communications avec GPG

Théorie

Page 4: La sécurité des communications avec GPG

Pourquoi?

Page 5: La sécurité des communications avec GPG

Au Canada?

Communications Security Establishment Canada

providing and protecting information

Page 6: La sécurité des communications avec GPG

Au Canada?

Page 7: La sécurité des communications avec GPG

The "Five Eyes"

● Australia● Canada● New Zealand● United Kingdom ● United States

Page 8: La sécurité des communications avec GPG

Espionage industriel

Page 9: La sécurité des communications avec GPG

Protéger les autres

● Journalistes● Militants (droits humains, Printemps arabe)● Dénonciateurs (Edward Snowden)

Page 10: La sécurité des communications avec GPG

Comment se protéger?

Page 11: La sécurité des communications avec GPG

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

Page 12: La sécurité des communications avec GPG
Page 13: La sécurité des communications avec GPG

Chiffrement à clé symétrique

Page 14: La sécurité des communications avec GPG
Page 15: La sécurité des communications avec GPG

Chiffrement à clé publique

Page 16: La sécurité des communications avec GPG

OpenPGP

Page 17: La sécurité des communications avec GPG

Usage

Page 18: La sécurité des communications avec GPG

Installation

Page 19: La sécurité des communications avec GPG

Installation

● Linux○ Déjà installé

● Windows○ Installé avec Cygwin○ Binaires: http://gpg4win.org/

● Mac○ Binaires: https://gpgtools.org/

● Compiler

Page 20: La sécurité des communications avec GPG

Création de clés

gpg --gen-key

Page 21: La sécurité des communications avec GPG

Création de clés

Page 22: La sécurité des communications avec GPG

Création de clés

Page 23: La sécurité des communications avec GPG

Création de clés

Page 24: La sécurité des communications avec GPG

Création de clés

Page 25: La sécurité des communications avec GPG

Finalement

Page 26: La sécurité des communications avec GPG

Certificat de révocation

Page 27: La sécurité des communications avec GPG

gpg --output revoke.asc --gen-revoke KeyId

Page 28: La sécurité des communications avec GPG
Page 29: La sécurité des communications avec GPG
Page 30: La sécurité des communications avec GPG

Publier sur un serveur de clés

Page 31: La sécurité des communications avec GPG

Obtenir l’identifiant de la clé

gpg --list-keys

Page 32: La sécurité des communications avec GPG

gpg --send-keys

Page 33: La sécurité des communications avec GPG

Exporter dans un fichier

gpg --armor --output gpg1.pgp --export [email protected]

Page 34: La sécurité des communications avec GPG

Importer une clé

Page 35: La sécurité des communications avec GPG

D’un fichier

gpg --import erichogue.gpg

Page 36: La sécurité des communications avec GPG

D’un serveur de clé

gpg --search-keys [email protected]

Page 37: La sécurité des communications avec GPG

Signer vs Crypter

Page 38: La sécurité des communications avec GPG

Clé privée pour signer

Page 39: La sécurité des communications avec GPG

Signergpg --clearsign originalFile.txt

Page 40: La sécurité des communications avec GPG

gpg --output originalFile.sig --detach-sign originalFile.txt

Page 41: La sécurité des communications avec GPG

Vérifier une signature

gpg --verify originalFile.sig originalFile.txt

Page 42: La sécurité des communications avec GPG

Clé publique pour crypter

Page 43: La sécurité des communications avec GPG

Crypter

gpg --output file.gpg --encrypt --recipient [email protected] file.txt

Page 44: La sécurité des communications avec GPG

Décrypter

gpg --output file.txt --decrypt file.gpg

Page 45: La sécurité des communications avec GPG

Enigmail

Page 46: La sécurité des communications avec GPG
Page 47: La sécurité des communications avec GPG
Page 48: La sécurité des communications avec GPG

Toile de confiance

Page 49: La sécurité des communications avec GPG

On doit vérifier les clés

Page 50: La sécurité des communications avec GPG
Page 51: La sécurité des communications avec GPG
Page 52: La sécurité des communications avec GPG

Confiance

● Confiance dans la validité de la clé● Confiance en la personne qui a signé une

clé

Page 53: La sécurité des communications avec GPG

Confiance dans la validité de la clé

0. Unknow - Inconnue1. None - Non vérifié 2. Marginal - Vérification rapide3. Full - Vérification poussée

Page 54: La sécurité des communications avec GPG

Confiance dans le signataire

1. Unknown - Inconnu2. None - Aucune confiance3. Marginal - La personne vérifie4. Full - La personne vérifie soigneusement5. Ultime - Ma clé

Page 55: La sécurité des communications avec GPG

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

Page 56: La sécurité des communications avec GPG

Marginale: 2 - Profondeur: 3Si on a pleine confiance en DharmaPleine validité: Blake, Dharma, Chloe, Francis

Page 57: La sécurité des communications avec GPG

Marginale: 2 - Profondeur: 3Si on a confiance marginale en Dharma et BlakePleine validité: Blake, Dharma, Chloe

Page 58: La sécurité des communications avec GPG

Marginale: 2 - Profondeur: 3Si on a Pleine confiance en Dharma, Chloe et ElenaPleine validité: Blake, Dharma, Chloe, Francis, Elena

Page 59: La sécurité des communications avec GPG

Confiance

gpg --edit-key [email protected]

Page 60: La sécurité des communications avec GPG
Page 61: La sécurité des communications avec GPG

Key Signing Party

Page 62: La sécurité des communications avec GPG

Imprimer les informations de la clé

http://openpgp.quelltextlich.at/slip.html

Page 63: La sécurité des communications avec GPG

Vérifier avec la clé locale

gpg --edit-key [email protected]

Page 64: La sécurité des communications avec GPG

Vérification de l’indentité

2 pièces d’identité

Page 65: La sécurité des communications avec GPG

Importer la clé

Page 66: La sécurité des communications avec GPG

Vérifier la clé

Page 67: La sécurité des communications avec GPG

Signer la clé

gpg --ask-cert-level --sign-key [email protected]

Page 68: La sécurité des communications avec GPG

Exporter la signature

$ gpg --armor --export [email protected] > gpg2_at_erichogue.ca.asc

$ gpg --sign --encrypt --recipient [email protected] gpg2_at_erichogue.ca.asc

Page 69: La sécurité des communications avec GPG

Recevoir une signature

$ gpg --decrypt gpg2_at_erichogue.ca.asc.gpg > gpg2_at_erichogue.ca.asc

$ gpg --import gpg2_at_erichogue.ca.asc

Page 70: La sécurité des communications avec GPG

Vérifier la signature et exporter

$ gpg --list-sigs [email protected]

$ gpg --send-keys 2D002C26

Page 71: La sécurité des communications avec GPG
Page 72: La sécurité des communications avec GPG

Plusieurs UUID sur la clé

● Signer les UUID individuellement ● Envoyer les signatures à l’adresse du UUID

Page 73: La sécurité des communications avec GPG

Exporter la clé dans un fichier

gpg --armor --output temp.pgp --export [email protected]

Page 74: La sécurité des communications avec GPG

Choisir le UUID à signer

Page 75: La sécurité des communications avec GPG

Signer

Page 76: La sécurité des communications avec GPG

Exporter, encrypter et effacer

$ gpg --armor --export …

$ gpg --sign --encrypt --recipient ...

$ gpg --delete-keys [email protected]

Page 77: La sécurité des communications avec GPG

Répéter pour chaque UUID

Page 78: La sécurité des communications avec GPG

Rafraichir les signatures

gpg --refresh-keys

Page 79: La sécurité des communications avec GPG

RessourcesGnuPG

https://www.gnupg.orgJeff Carouth

http://carouth.com/pgp/Email Self-Defense FSF

https://emailselfdefense.fsf.orgCryptoParty

http://www.cryptoparty.in/montreal

Page 80: La sécurité des communications avec GPG

Questions?Joind.in: https://joind.in/11578Twitter:

@ehogueBlog:

http://erichogue.ca

Page 81: La sécurité des communications avec GPG

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

Page 82: La sécurité des communications avec GPG

● 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


Recommended