IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index index
suivant: La recette magique d'un monter: Les solutions de défense précédent: Les outils de diagnostique   Table des matières   Index

Sous-sections

Les outils de cryptage et d'authentification


IPsec

IPsec vise à prévenir les diverses attaques rendues possibles par le protocole IP, notamment empêcher un adversaire d'espionner les données circulant sur le réseau ou de se faire passer pour autrui afin d'accéder à des ressources ou données protégées.
Dans ce but, IPsec peut fournir, suivant les options sélectionnées, tout ou partie des services de sécurité suivants :
________________________________________________________________
Confidentialité des données et protection partielle contre l'analyse du trafic.
Les données transportées ne peuvent être lues par un adversaire espionnant les communications. En particulier, aucun mot de passe, aucune information confidentielle ne circule en clair sur le réseau. Il est même possible, dans certains cas, de chiffrer les en-têtes des paquets IP et ainsi de masquer, par exemple, les adresses source et destination réelles. On parle alors de protection contre l'analyse du trafic.
________________________________________________________________
Authenticité des données et contrôle d'accès continu.
L'authenticité est composée de deux services, généralement fournis conjointement par un même mécanisme : l'authentification de l'origine des données et l'intégrité. L'authentification de l'origine des données garantit que les données reçues proviennent de l'expéditeur déclaré. L'intégrité garantit qu'elles n'ont pas été modifiées durant leur transfert.
La garantie de l'authenticité de chaque paquet reçu permet de mettre en oeuvre un contrôle l'accès fort tout au long d'une communication, contrairement à un contrôle d'accès simple à l'ouverture de la connexion, qui n'empêche pas un adversaire de récupérer une communication à son compte. Ce service permet en particulier de protéger l'accès à des ressources ou données privées.
________________________________________________________________
Protection contre le rejeu
La protection contre le rejeu permet de détecter une tentative d'attaque consistant à envoyer de nouveau un paquet valide intercepté précédemment sur le réseau.
Ces services sont basés sur des mécanismes cryptographiques modernes qui leur confèrent un niveau de sécurité élevé lorsqu'ils sont utilisés avec des algorithmes forts.


Utilisation de Kerberos

Système de sécurité et d'authentification des utilisateurs du réseau local du MIT. Il ne semble pas avoir été piraté depuis sa mise en service, il y a une dizaine d'années. Le protocole Kerberos permet un chiffrement de l'ensemble des transactions entre applications adaptés pour l'utiliser. On trouve des versions dites kerberisées des outils telnet, ftp, fetchmail... Ce protocole fonctionne sur un contrôle de l'identité des clients, qui peuvent obtenir par la suite des tickets pour s'authentifier auprès des différents services présents sur le réseau. Toutes les transactions passant par Kerberos sont chiffrées, ce qui résout un ensemble de problèmes de sécurité. En revanche, le système impose sur les utilisateurs une certaine lourdeur, et, en dépit de sa fiabilité, ne peut être recommandé partout. Ce module détaille le fonctionnement du protocole Kerberos, et son implémentation sous Linux. Il décrit les modalités d'utilisation de Kerberos et de sa configuration, ainsi que les inconvénients qu'il occasionne. Ce module est susceptible d'intéresser les administrateurs de réseaux nécessitant une haute sécurité, et ceux désireux de découvrir la conception d'un protocole sécurisé et les parades possibles aux problèmes de sécurité.


Signature sécurisé de mail avec GnuPG

___________________________________________________________________
Introduction à GnuPG
___________________________________________________________________
Pourquoi utiliser GPG ?
Si l'intérêt de crypter ces fichiers et ces mails ne présente que peu d'attrait pour le grand public ne désirant pas jouer à James Bond, la cryptographie offre d'autres avantages plus tangibles comme par exemple:
________________________________________________________________
Possibilité de signer un mail
GPG permet à quelqu'un disposant de votre clef publique, (nous reviendrons plus tard sur les concepts de clés privée et publique), de vérifier que vous êtes vraiment la personne l'ayant envoyé. La cryptographie dans ce cas-ci remplit la fonction de signature numérique
________________________________________________________________
Possibilité de certifier un mail
Il est aussi possible par le même mécanisme que le précèdent de certifier que le contenu du mail n'a pas été modifie depuis son envoi. Il s'agit donc ici d'un scelle virtuel. La signature se présentera sous la forme d'un attachement mail et sera donc interprèté par votre client. Votre mail restera lisible comme par avant. GPG permet aussi bien sûr de crypter des mails et des fichiers.
___________________________________________________________________
Comment ça marche?
GPG s'appuie sur des algorithmes à clefs privé et publique. Sans rentrer dans trop de détails, signalons juste que des messages cryptés avec votre clef privée seront décrypter avec votre clef publique. Vous ne donnerez donc que votre clef publique a des tierces personnes, votre clef privée ne sera jamais divulguée d'où un énorme gain de sécurité par rapport a un système avec une seule clef. Ceci est pour la partie technique, mais le système repose sur un concept tout aussi important, les réseaux de Trusted keys. En effet, même si vous pouvez vérifier la signature d'un mail rien ne vous garantie que la personne qui vous l'a envoyé existe vraiment et que son identité correspond. Pour cela, par exemple pendant les réunions de LUG ou autre, les personnes s'échangent leurs fingerprint tout en vérifiant leurs papiers d'identités. Puis ils signent les clefs qu'ils ont vérifié. Quand on récupère une clef d'un serveur, on peut voire la liste des personnes ayant garantie l'identité de la personne, donc si par exemple, la clef a été signé par quelqu'un en qui vous avez confiance, vous pouvez considérer la clef comme valide. Il se crée donc un réseau de confiance.
___________________________________________________________________
Installation de GPG
___________________________________________________________________
Configuration initiale de GPG:
Tout d'abord il vous faudra générer votre clef:
________________________________________________________________
Exécuter GPG une première fois pour que les fichiers de configuration soit crée:
$> gpg
gpg: /home/seb/.gnupg: directory created
gpg: /home/seb/.gnupg/options: new options file created
gpg: you have to start GnuPG again, so it can read the new options file

________________________________________________________________
Puis une seconde fois pour générer les trousseaux de clefs privées et publiques.
$> gpg
gpg: /home/seb/.gnupg/secring.gpg: keyring created
gpg: /home/seb/.gnupg/pubring.gpg: keyring created

________________________________________________________________
Enfin exécutez:
_______________________________________________________________
$> gpg -gen-key
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection?
Tapez juste [entrer] a ce prompt
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024)
Pareil, restez avec le choix par défaut.
Requested keysize is 1024 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Idem, votre clef sera définitive par défaut.
Key does not expire at all
Is this correct (y/n)?
Taper [entrer] après avoir vérifier si les options sont correctes.
You need a User-ID to identify your key; the software constructs the
user id
from Real Name, Comment and Email Address in this form:
Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>?
Real name:
Il suffit ici de taper son prénom et nom.
mail address: |
Assez explicite
Comment:
C'est la place idéale pour y mettre votre nickname
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit |
Appuyer sur (O) si vous êtes satisfait.
You need a Passphrase to protect your secret key.
Enter passphrase:
_______________________________________________________________
Et voilà enfin le moment tant attendu ou vous entrerez votre mot de
passe, vu que celui ci vous servira à protéger votre identité, veuillez
choisir un mot de passe assez facile à retenir pour que vous n'ayez pas
à le noter quelque part et assez complexe pour éviter que quelqu'un ne
la devine, une mot de passe composé de caractères alphanumériques en
mixed case est parfait dans ces cas là.
| We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.+++++++++++++++..+++++++++++.+++++++++++++
++.++++++++++++++++++++.++++++++++.+++++++
++++++++......<+++++>..+++++.................
..................+++++
public and secret key created and signed.
Et voilà vos clefs ont été crées. Maintenant éditez /.gnupg/options et décommentez la ligne:
#keyserver wwwkeys.nl.pgp.net
Vous pouvez évidement mettre un autre serveur si vous disposez de son adresse. Il s'agit maintenant d'envoyer votre clef sur le serveur pour que les personnes, voulant récupérer votre clef publique n'aient besoin que de votre ID. Voyons tout d'abord plus en détail ces différents termes:
tapez:
$> gpg -list-keys
Normalement il devrait y avoir une seule clef, la votre.
/home/seb/.gnupg/pubring.gpg
---------------
pub 1024D/19E27067 2001-10-15 Seb (#####) <##########>
sub 1024g/B0418883 2001-10-15
* 1024D = la longueur de la clef
* 19E27067 = votre User ID.

et maintenant vous pouvez faire un
$> gpg -fingerprint 19E27067*
pub 1024D/19E27067 2001-10-15 Seb (#####) <#########<>
Key fingerprint = 767C 7E76 7142 FF87 .... 8788 7F47 .... 19E2 7067
sub 1024g/B0418883 2001-10-15

Vous avez sûrement remarqué que les 8 derniers caractères de votre fingerprint contient votre ID.
Donc, si vous voulez donner votre clef à quelqu'un il faudra lui donner votre fingerprint entier mais il n'aurait qu'à entrer votre ID et vérifié le reste du fingerprint.
Pour cela il faut évidement que votre clef soit sur un serveur, les serveurs sont relies entre eux a la manière des serveurs dns, il suffit donc de l'envoyer sur un des serveur.
$> gpg -send-key 19E27067*

Ajout de clef:
Vous avez récupérer le fingerprint d'un ami, après avoir vérifier ses papiers d'identités (cette vérification est obligatoire pour un fonctionnent du réseaux des trusted key).
Une fois devant votre ordinateur faites:
$> gpg -recv-key son_id

(rappel: son ID est les 8 derniers caractères de son fingerprint pour une clef 1024D) Puis:
$> gpg -fingerprint son_id

et vérifier si le fingerprint correspond bien a celui qu'il vous a donné. Maintenant que vous pouvez confirmer que son identité correspond bien à sa clef vous pouvez la signer
$> gpg -sign-key son_id

Et finalement, il faut faire savoir au serveur que vous avez signer la clef
$> gpg -send-key son_id

Ajout d'un UID:
Il arrive souvent qu'une même personne ait plusieurs comptes mails par exemple, un pour le travail, un personnel etc ...
Dans ce cas gpg permet d'associer plusieurs UID à la même personne. Pour cela il suffit de faire:
$> gpg -edit-key votre_id

la, tapez: adduid
À ce moment là, les mêmes questions que lors de la création de la clef seront posées à la différence qu'une nouvelle clef ne sera pas génèrée. il suffit de taper: save
pour quitter et sauvegarder les changements.
Vous pouvez voir les changements avec:
$> gpg -list-key

Et il faudra évidement mettre a jour la clef dans le serveur:
$> gpg -send-key votre_id

À noter que les nouveaux ``ids'' devront êtres signés aussi.
Intégration dans les clients mails:
* Dans Sylpheed:
Il suffit d'activer le support gpg dans l'onglet ``privacy'' des options.
Révoquer une clef:
Si votre clef est corrompue, plus utilisée ou compromise, il vous faudra la révoquer, mais pour cela il faut créer un certificat de révocation.
$> gpg -gen-revoke user_id
Create a révocation certificate for this key?
Please select the reason for the revocation:
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
0 = Cancel
(Probably you want to select 1 here)
Your decision?

next up previous contents index index
suivant: La recette magique d'un monter: Les solutions de défense précédent: Les outils de diagnostique   Table des matières   Index