La sécurité des
communications avec
GPG
Eric Hogue
PHP Québec - 7 août 2014
Agenda
1. Théorie
2. Usage
3. 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...
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: ht...
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
gpg1@erichogue.ca
Importer une clé
D’un fichier
gpg --import erichogue.gpg
D’un serveur de clé
gpg --search-keys gpg1@erichogue.ca
Signer vs Crypter
Clé privée pour signer
Signer
gpg --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
gpg2@erichogue.ca 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 - Inconnue
1. None - Non vérifié
2. Marginal - Vérification rapide
3. Full ...
Confiance dans le signataire
1. Unknown - Inconnu
2. None - Aucune confiance
3. Marginal - La personne vérifie
4. Full - L...
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 mar...
Marginale: 2 - Profondeur: 3
Si on a pleine confiance en Dharma
Pleine validité: Blake, Dharma, Chloe, Francis
Marginale: 2 - Profondeur: 3
Si on a confiance marginale en Dharma et
Blake
Pleine validité: Blake, Dharma, Chloe
Marginale: 2 - Profondeur: 3
Si on a Pleine confiance en Dharma, Chloe et
Elena
Pleine validité: Blake, Dharma, Chloe, Fra...
Confiance
gpg --edit-key gpg2@erichogue.ca
Key Signing Party
Imprimer les informations de la clé
http://openpgp.quelltextlich.at/slip.html
Vérifier avec la clé locale
gpg --edit-key gpg1@erichogue.ca
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 gpg2@erichogue.ca
Exporter la signature
$ gpg --armor --export gpg2@erichogue.ca >
gpg2_at_erichogue.ca.asc
$ gpg --sign --encrypt --recipie...
Recevoir une signature
$ gpg --decrypt gpg2_at_erichogue.ca.asc.gpg
> gpg2_at_erichogue.ca.asc
$ gpg --import gpg2_at_eric...
Vérifier la signature et exporter
$ gpg --list-sigs gpg2@erichogue.ca
$ gpg --send-keys 2D002C26
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
gpg1@erichogue.ca
Choisir le UUID à signer
Signer
Exporter, encrypter et effacer
$ gpg --armor --export …
$ gpg --sign --encrypt --recipient ...
$ gpg --delete-keys gpg1@er...
Répéter pour chaque UUID
Rafraichir les signatures
gpg --refresh-keys
Ressources
GnuPG
https://www.gnupg.org
Jeff Carouth
http://carouth.com/pgp/
Email Self-Defense FSF
https://emailselfdefens...
Questions?
Joind.in:
https://joind.in/11578
Twitter:
@ehogue
Blog:
http://erichogue.ca
Crédits
● _Bunn_
○ https://www.flickr.com/photos/weibunn/5444599491
● Marsmettnn Tallahassee
○ https://www.flickr.com/phot...
● Dakota
○ https://www.flickr.com/photos/dakotilla/2129004768
● Kaushik Narasimhan
○ https://www.flickr.com/photos/kaushik...
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
La sécurité des communications avec GPG
Prochain SlideShare
Chargement dans…5
×

La sécurité des communications avec GPG

758 vues

Publié le

Une introduction au chiffrement à l'aide de GPG. En commencant par un peu d'histoire, pour continuer avec l'usage de PGP. Puis terminer par les party de signature de clés

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
758
Sur SlideShare
0
Issues des intégrations
0
Intégrations
208
Actions
Partages
0
Téléchargements
14
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

La sécurité des communications avec GPG

  1. 1. La sécurité des communications avec GPG Eric Hogue PHP Québec - 7 août 2014
  2. 2. Agenda 1. Théorie 2. Usage 3. Toile de confiance
  3. 3. Théorie
  4. 4. Pourquoi?
  5. 5. Au Canada? Communications Security Establishment Canada providing and protecting information
  6. 6. Au Canada?
  7. 7. The "Five Eyes" ● Australia ● Canada ● New Zealand ● United Kingdom ● United States
  8. 8. Espionage industriel
  9. 9. Protéger les autres ● Journalistes ● Militants (droits humains, Printemps arabe) ● Dénonciateurs (Edward Snowden)
  10. 10. Comment se protéger?
  11. 11. 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
  12. 12. Chiffrement à clé symétrique
  13. 13. Chiffrement à clé publique
  14. 14. OpenPGP
  15. 15. Usage
  16. 16. Installation
  17. 17. Installation ● Linux ○ Déjà installé ● Windows ○ Installé avec Cygwin ○ Binaires: http://gpg4win.org/ ● Mac ○ Binaires: https://gpgtools.org/ ● Compiler
  18. 18. Création de clés gpg --gen-key
  19. 19. Création de clés
  20. 20. Création de clés
  21. 21. Création de clés
  22. 22. Création de clés
  23. 23. Finalement
  24. 24. Certificat de révocation
  25. 25. gpg --output revoke.asc --gen-revoke KeyId
  26. 26. Publier sur un serveur de clés
  27. 27. Obtenir l’identifiant de la clé gpg --list-keys
  28. 28. gpg --send-keys
  29. 29. Exporter dans un fichier gpg --armor --output gpg1.pgp --export gpg1@erichogue.ca
  30. 30. Importer une clé
  31. 31. D’un fichier gpg --import erichogue.gpg
  32. 32. D’un serveur de clé gpg --search-keys gpg1@erichogue.ca
  33. 33. Signer vs Crypter
  34. 34. Clé privée pour signer
  35. 35. Signer gpg --clearsign originalFile.txt
  36. 36. gpg --output originalFile.sig --detach-sign originalFile.txt
  37. 37. Vérifier une signature gpg --verify originalFile.sig originalFile.txt
  38. 38. Clé publique pour crypter
  39. 39. Crypter gpg --output file.gpg --encrypt --recipient gpg2@erichogue.ca file.txt
  40. 40. Décrypter gpg --output file.txt --decrypt file.gpg
  41. 41. Enigmail
  42. 42. Toile de confiance
  43. 43. On doit vérifier les clés
  44. 44. Confiance ● Confiance dans la validité de la clé ● Confiance en la personne qui a signé une clé
  45. 45. Confiance dans la validité de la clé 0. Unknow - Inconnue 1. None - Non vérifié 2. Marginal - Vérification rapide 3. Full - Vérification poussée
  46. 46. Confiance dans le signataire 1. Unknown - Inconnu 2. None - Aucune confiance 3. Marginal - La personne vérifie 4. Full - La personne vérifie soigneusement 5. Ultime - Ma clé
  47. 47. 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
  48. 48. Marginale: 2 - Profondeur: 3 Si on a pleine confiance en Dharma Pleine validité: Blake, Dharma, Chloe, Francis
  49. 49. Marginale: 2 - Profondeur: 3 Si on a confiance marginale en Dharma et Blake Pleine validité: Blake, Dharma, Chloe
  50. 50. Marginale: 2 - Profondeur: 3 Si on a Pleine confiance en Dharma, Chloe et Elena Pleine validité: Blake, Dharma, Chloe, Francis, Elena
  51. 51. Confiance gpg --edit-key gpg2@erichogue.ca
  52. 52. Key Signing Party
  53. 53. Imprimer les informations de la clé http://openpgp.quelltextlich.at/slip.html
  54. 54. Vérifier avec la clé locale gpg --edit-key gpg1@erichogue.ca
  55. 55. Vérification de l’indentité 2 pièces d’identité
  56. 56. Importer la clé
  57. 57. Vérifier la clé
  58. 58. Signer la clé gpg --ask-cert-level --sign-key gpg2@erichogue.ca
  59. 59. Exporter la signature $ gpg --armor --export gpg2@erichogue.ca > gpg2_at_erichogue.ca.asc $ gpg --sign --encrypt --recipient gpg2@erichogue.ca gpg2_at_erichogue.ca.asc
  60. 60. Recevoir une signature $ gpg --decrypt gpg2_at_erichogue.ca.asc.gpg > gpg2_at_erichogue.ca.asc $ gpg --import gpg2_at_erichogue.ca.asc
  61. 61. Vérifier la signature et exporter $ gpg --list-sigs gpg2@erichogue.ca $ gpg --send-keys 2D002C26
  62. 62. Plusieurs UUID sur la clé ● Signer les UUID individuellement ● Envoyer les signatures à l’adresse du UUID
  63. 63. Exporter la clé dans un fichier gpg --armor --output temp.pgp --export gpg1@erichogue.ca
  64. 64. Choisir le UUID à signer
  65. 65. Signer
  66. 66. Exporter, encrypter et effacer $ gpg --armor --export … $ gpg --sign --encrypt --recipient ... $ gpg --delete-keys gpg1@erichogue.ca
  67. 67. Répéter pour chaque UUID
  68. 68. Rafraichir les signatures gpg --refresh-keys
  69. 69. Ressources GnuPG https://www.gnupg.org Jeff Carouth http://carouth.com/pgp/ Email Self-Defense FSF https://emailselfdefense.fsf.org CryptoParty http://www.cryptoparty.in/montreal
  70. 70. Questions? Joind.in: https://joind.in/11578 Twitter: @ehogue Blog: http://erichogue.ca
  71. 71. 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
  72. 72. ● 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

×