[Tuto] Utiliser gpg pour le chiffrement
|
29-06-2016, 18h30
Message : #1
|
|
darcosion
Newbie Messages : 21 Sujets : 3 Points: 14 Inscription : Oct 2013 |
[Tuto] Utiliser gpg pour le chiffrement
Bonjour.
Je vous apporte un petit tutoriel fait à la main pour bien comprendre l'utilisation de Pretty Good Privacy ainsi que de son package linux nommé "gpg". D'abord, qu'est-ce que PGP et GPG ? PGP est un logiciel de cryptographie asymétrique qui est considéré comme la référence en matière de sécurité des chiffrements (il se base sur un standart "OpenPGP" qu'on va revoir plus tard). Malheureusement, "PGP" est placé comme licence propriétaire par symantec depuis un moment, c'est pourquoi on a crée GPG ("GNU Privacy Guard") qui est une implémentation totalement open-source de PGP et c'est ce que nous allons utiliser tout le long de ce tutoriel. Son utilisation est assez simple à comprendre : C'est un logiciel de gestion des identités, il permet de se créer un jeu de clé PGP liés à une identité (un mail principalement mais on peut aussi lier un jeu de clé à un site web ou à un compte xmpp par exemple) qui permet de signer un message, de le chiffrer, de déchiffrer des messages qui nous sont destinés et de vérifier des signatures. L'objectif de PGP est d'arriver à créer un WOT (Web Of Trust) où tout le monde aurais la clé publique de tout le monde et où chacun pourrais communiquer sans crainte de parler à une usurpation ou crainte que ses propos soit repris contre lui. Bien sur, c'est un peu utopique, mais le système a été conçus de manière à être extrêmement difficile à mettre en défaut si on l'utilise de la bonne façon. Son fonctionnement PGP fonctionne grâce à un principe de clé publique et privé définies par la cryptographique asymétrique. Chaque personne ayant une identité a une clé publique et une clé privée. Pour comprendre comment fonctionne la cryptographie utilisés je vais utiliser une métaphore très simple. Citation :Bob veut envoyer un message à Alice.Si vous avez suivit jusque là, vous avez compris une bonne partie du principe de fonctionnement des transmissions par chiffrement asymétrique. Mais, il faut bien comprendre une chose, c'est que c'est exemple est un peu imprécis. En réalité, il existe un procédé mathématique qui permet à Bob d'envoyer le coffre en le chiffrant directement avec le cadenas privé d'Alice sans avoir sa clé. Ce qui permet donc de faciliter l'échange et faisant un envoie unique. Si vous avez suivit, vous comprenez donc maintenant qu'il vous suffit d'avoir la clé publique de quelqu'un pour lui envoyer un message privé lisible uniquement par ceux qui possèdent sa clé privé. Un peu de pratique Bon, maintenant qu'on a pas mal discutés, passons à la pratique, on commence donc par installer le logiciel : Code : apt-get install pgpgpg Ensuite, on va générer nôtre premièré clé : Code : gpg --gen-key Citation :$ gpg --gen-key Par expérience, je vous conseille de sélectionner le type de clé numéro 1 qui vous permettra de signer et de chiffrer assez simplement et le plus sûrement. Au niveau de la taille 4096 est le mieux car les clé de 1024 bits sont actuellement considérés comme possiblement vulnérables. Il vaut mieux que vous ne créiez pas de clé sans une date de révocation de la clé (sinon, vous aurez l'air fin quand on pourra signer avec vôtre clé après vôtre mort)... Pour cela, mettez "10y", ça permettra de rendre vôtre clé inutilisable 10 ans plus tard. La passphrase est l'une des choses les plus importantes, si quelqu'un peut obtenir vôtre clé privé et cette passphrase, il est en mesure de se faire passer pour vous sans aucun moyen de prouver que vous êtes le vrai propriétaire de cette clé. Bien, maintenant que vous avez vôtre première clé, apprenons à nous en servir. Code : $ echo "les pates au beurre, c'est pas si mauvais" > exemple.txt Mais comment vérifier d'ailleurs ? Code : $ gpg exemple.txt.asc Aussi simple que ça. On peut voir d'ailleurs un joli "gpg: Good signature from "richard (identité IRL) <richard@dupont.net>". Maintenant, voyons comment exporter la clé PGP afin de la donner à tout ceux qui pourraient en avoir besoin. Code : gpg --export -armor richard J'espère que vous commencez à comprendre le fonctionnement. Je vous donne donc en vrac quelques autres commandes bien utiles, je compléterais en fonction de vos demandes (car il y a tant à dire sur ce logiciel...). Pour chiffrer : Code : $ gpg --output exemple.txt.gpg -armor --encrypt --recipient richard exemple.txt Code : $ gpg exemple.txt.gpg Voilà, si vous avez des questions, n'hésitez pas. |
|
04-07-2016, 16h28
Message : #2
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [Tuto] Utiliser gpg pour le chiffrement
Il manque un détail important: la date d'expiration est modifiable a posteriori.
La date d'expiration est inutile pour bloquer un attaquant en possession de la clef privée, puisqu'il peut renouveler la date d'expiration. Pour ça, il faut émettre une vraie révocation. En cas de destruction de la clef privée, un délai d'expiration de 10 ans est très long. C'est plus simple d'utiliser une durée courte comme 1 année, et de renouveler régulièrement l'expiration. |
|
04-07-2016, 16h41
Message : #3
|
|
darcosion
Newbie Messages : 21 Sujets : 3 Points: 14 Inscription : Oct 2013 |
RE: [Tuto] Utiliser gpg pour le chiffrement
(04-07-2016, 16h28)b0fh a écrit : Il manque un détail important: la date d'expiration est modifiable a posteriori.Uniquement par ceux qui possèdent la clé privé. Pour cela, il doit utiliser la commande : Code : gpg --edit-key Richard Et il obtiendra une invite de commande spécifique lui permettant de modifier totalement sa clé. Changer le mot de passe, la date d'expiration, le mail, etc... (04-07-2016, 16h28)b0fh a écrit : La date d'expiration est inutile pour bloquer un attaquant en possession de la clef privée, puisqu'il peut renouveler la date d'expiration. Pour ça, il faut émettre une vraie révocation.Cela ne sert pas à se protéger d'un vol de clé privé, mais d'augmentation de la puissance de calcule qui a terme permettra de casser le chiffrement de votre clé un peu comme on casse du WEP aujourd'hui. (04-07-2016, 16h28)b0fh a écrit : En cas de destruction de la clef privée, un délai d'expiration de 10 ans est très long. C'est plus simple d'utiliser une durée courte comme 1 année, et de renouveler régulièrement l'expiration.Oui, dans un cadre professionnel, c'est une bonne façon de faire pour avoir une protection maximal, mais on oblige pour cela tout nos contacte à mettre à jour leur trousseau chaque année ce qui peut-être rébarbatif s'ils ne sont pas liés à un serveur de clé via PKI. Dans mon exemple, je privilégie un peu de souplesse même si c'est à chacun de penser la façon dont il va gérer sa clé PGP. |
|
04-07-2016, 16h45
Message : #4
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [Tuto] Utiliser gpg pour le chiffrement
(04-07-2016, 16h41)darcosion a écrit :Eh bien ça ne protège de rien du tout, puisque quand l'attaquant aura assez de puissance de calcul pour casser la clef, il pourra mettre à jour la date d'expiration.(04-07-2016, 16h28)b0fh a écrit : La date d'expiration est inutile pour bloquer un attaquant en possession de la clef privée, puisqu'il peut renouveler la date d'expiration. Pour ça, il faut émettre une vraie révocation.Cela ne sert pas à se protéger d'un vol de clé privé, mais d'augmentation de la puissance de calcule qui a terme permettra de casser le chiffrement de votre clé un peu comme on casse du WEP aujourd'hui. |
|
04-07-2016, 16h57
Message : #5
|
|
darcosion
Newbie Messages : 21 Sujets : 3 Points: 14 Inscription : Oct 2013 |
RE: [Tuto] Utiliser gpg pour le chiffrement
(04-07-2016, 16h45)b0fh a écrit :Et devra donc redistribuer la clé avec toute la méfiance que cela implique.(04-07-2016, 16h41)darcosion a écrit :Eh bien ça ne protège de rien du tout, puisque quand l'attaquant aura assez de puissance de calcul pour casser la clef, il pourra mettre à jour la date d'expiration.(04-07-2016, 16h28)b0fh a écrit : La date d'expiration est inutile pour bloquer un attaquant en possession de la clef privée, puisqu'il peut renouveler la date d'expiration. Pour ça, il faut émettre une vraie révocation.Cela ne sert pas à se protéger d'un vol de clé privé, mais d'augmentation de la puissance de calcule qui a terme permettra de casser le chiffrement de votre clé un peu comme on casse du WEP aujourd'hui. Je privilégie la création d'une clé de rechange avec un plus haut niveau de chiffrement signé avec la clé qui va être révoqué, de cette façon, la date de la signature serais gage pour tous de confiance. La révocation sert à se débarrasser d'une clé en cas de compromission et non d'anticiper la compromission. |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Reconnaitre les hash ,chiffrement et code. | icarius | 0 | 841 |
13-07-2013, 20h31 Dernier message: icarius |
|
Encodage, Hashage, Chiffrement Symétrique et Asymétrique, Stégano | InstinctHack | 4 | 1,946 |
20-02-2013, 17h07 Dernier message: InstinctHack |
Utilisateur(s) parcourant ce sujet : 7 visiteur(s)