Retourner au contenu. Retourner à la navigation

 

GNUPG introduction à la cryptographie et utilisation de GnuPG

by tiara @ 12/05/2008
GnuPG ( aussi connu sous le nom GPG) est l’issue d’un projet GNU et de l’implémentation du projet OpenPGP (projet semi-libre). Cet outil vous permet de chiffrer, déchiffrer et de signer vos données. Nous allons voir dans cet article comment utiliser GnuPG sous OpenSUSE : Gérer les clefs; Chiffrer, déchiffrer des données; Comment configurer Thunderbird pour signer ou chiffrer des messages.

Notions importantes de la cryptographie

Clefs Publique/ Privées/ Partagées:


Il existe deux types de chiffrement : symétrique et asymétrique.

Ce concept est important car très répandu dans le monde de la sécurité et des services réseaux sous Linux : à savoir: openssl, ldap, apache et bien d’autres.

La maitrise de ces concepts est donc essentielle pour tout administrateur Linux digne de ce nom. La sécurité est partout !

Chiffrement Asymétrique:


Nous commencerons donc avec le concept de clé asymétrique.

Chaque utilisateur possède deux clés: une publique et l’autre privée connu seulement de l’utilisateur lui-même.

 


User1 possède donc une clé publique et une clé privée.

User2 possède une clé public et une clé privée.

La clé publique comme son nom l’indique est publique (...). Il est donc dans leur intérêt de partager cette clé avec tout le monde afin de pouvoir communiquer, par la suite de manière sécurisée (chiffrement asymétrique).

Comment partager cette clé ?

Au moyen du chiffrement symétrique comme nous le verrons dans le chapitre suivant ou alors sur une clé USB, CD-ROM, mails..etc.

Ainsi à la fin de la transaction User1 possède la clé publique de User2 et inversement. Chaque utilisateur possède donc trois clé.


Le principe du chiffrement asymétrique :

Si User1 chiffre un fichier avec la clé publique de User2 (User2.pub), alors seul User2 peut déchiffrer ce fichier à l’aide de sa clé privée (User2.priv) que lui seul possède et ne partage surtout pas !

De même, si User2 chiffre un fichier avec la clé publique de User1 (User1.pub), alors seul User1 peut déchiffrer ce fichier à l’aide de sa clé privée (User1.priv) que lui seul connait et ne partage surtout pas !

Vous suivez ?

Donc si User1 veut envoyer des fichiers à User2 il suffit des les chiffrer avec la clé publique de User2 et de lui envoyer ses fichiers à travers n’importe quel support (mail, ftp, http, clef USB). De cette manière, même si le fichier est intercepté il ne pourra être lu par personne ne possédant la clé privée correspondant à la clé publique User2.pub, soit User2.priv.

Il ne suffit qu’à User2 de déchiffrer son fichier avec sa clé privée, simple mais efficace.

Cette façon de faire est très sécurisée, cependant elle demande énormément de ressources pour des transferts tels que SSH où tout le dialogue entre les deux machines se fait de manière chiffrée.

C’est pour cela que l’on utilise un compromis entre les ressources et la sécurité qui est le cryptage symétrique.

Algorithmes courants pour le cryptage asymétrique:

RSA, DSA, El-Gamal


Chiffrement Symétrique:


Le principe du chiffrement symétrique :

Il n’y a plus qu’une seule et unique clé pour chiffrer et déchiffrer. Le récepteur ainsi que l’envoyeur partagent la même clé durant la transaction.

Vous voyez le problème ?

C’est beaucoup moins sécurisé. En effet, si cette clé est interceptée par un utilisateur malicieux ; c’est tout le trafic qui est mis en péril. Cependant elle est aussi beaucoup moins gourmande en ressources et donc beaucoup plus performante.

C’est là que le compromis devient intéressant : on utilise le cryptage asymétrique pour échanger cette clé symétrique au début de la transaction (très sécurisé donc très peu de chance de l’intercepter). Puis on continue la transaction avec un cryptage symétrique.

J’ai écris cette brève description pour expliquer clairement la différence entre les deux cryptographies. Si vous souhaitez plus d’informations, je vous redirige sur ce lien :

http://en.wikipedia.org/wiki/Cryptography

Algorithmes courants pour le cryptage symétrique :

DEA, Triple-DES, CAST, Blowfish, Twofish, AES128,AES192,AES256


Chiffrement/ Signature:


Une autre notion importante à comprendre dans GPG est la différence entre le chiffrement et la signature.

La signature ne chiffre en rien vos données ou vos messages à la différence du chiffrement par clé (symétrique et asymétrique).

L’intérêt de signer un message est important car il prouve que vous êtes bien celui qui a écrit et envoyé ce message.

De nos jours en effet, il devient très simple d’usurper l’identité internet de quelqu’un au moyen des ghostmails par exemple.

Cela devient dangereux si vous êtes l’employé d’une société et que de fausses données sensibles sont envoyées à votre insu.

Avec les signatures, aucuns problème de ce type ne peut arriver !

De plus, vous êtes sûr que personne n’a modifié le contenu du message.

Quelle est la procédure ?

Il existe deux phases durant la signature :

Hashage :

Première étape:

Hasher un message. L’utilité de cette opération est d’obtenir un Message Digest du message original. Quel est donc ce mot étrange ? Le Message Digest est simplement un résumé du message en quelques lignes. C’est bien beau tout ça mais comment on peut être sûr que le message digest n’a pas été changé et qu’on est bien l’auteur du message ?

Chiffrement :

On retrouve notre principe de clé asymétrique.

Vous vous souvenez du premier chapitre ? Utilisateur possède deux clés : une publique et l’autre privée. La procédure ici est inversée : L’utilisateur chiffre le message digest avec sa clé privée et envoie le message au destinataire qui peut vérifier avec la clef public de l’utilisateur qui lui a envoyé le message que celui ci est bien l’utilisateur qu’il prétend être.

Vous devriez avoir envie de signer vos message après cette petite lecture non ?

Ok, maintenant on va être en mesure de comprendre et de maîtriser GPG !

Par tiara Dernière modification 09/06/2008 15:03
Navigation
Actualités
03/12/2008 Songbird 1.0
20/10/2008 Société Générale se met au vert
15/09/2008 Sortie de la version VLC 0.9.2
23/06/2008 Opération du libre à Nantes !
23/06/2008 OpenSuse 11
Plus d'actualités...
Articles
22/05/2008 Première approche de Qmail
19/05/2008 Test de la distribution Elive 1.0 Gem
14/05/2008 GNUPG introduction à la cryptographie et utilisation de GnuPG
21/02/2008 GNU / Screen
03/09/2007 The Linux File System Encryption API
More articles
Tips
28/04/2008 Mozilla Firefox : Google Talk et Facebook Chat
22/04/2008 Sed : Rechercher du texte entre deux chaines de caractères
04/04/2008 Gérer son(ses) écran(s) avec xrandr
26/03/2008 Tips sur l'historique de vos commandes
13/02/2008 Linux-Unix Cheat Sheets
More tips
Codes
09/04/2008 Chapitre 13 - Administration DNS et DHCP
09/04/2008 Chapitre 06 - Service web avec Apache
04/04/2008 Chapitre 09 - PureFTPd
04/04/2008 Chapitre 06 - Scripting Bash
01/04/2008 Chapitre 20 - Haute Disponibilité
More codes
Courses
13/09/2006 Module 3
23/02/2006 Module 2
23/02/2006 Module 1
More courses
Formation Linux

Supinfo Training Center has the first Linux Certification. The training is 13 days and allow you to pass the LPI 101 and 102.

more info
 
 
Vous êtes ici :
Articles GNUPG introduction à la cryptographie et utilisation de GnuPG Notions importantes de la cryptographie