Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. Signatures numériques pour les paquetages RHN

Tous les paquetages distribués via RHN devraient avoir une signature numérique. Une signature numérique est créée avec une clé privée unique et peut être vérifiée avec la clé publique correspondante. Après la création d'un paquetage, le RPM source (SRPM) et le RPM peuvent être signés numériquement avec une clé GnuPG. Avant l'installation du paquetage, la clé publique est utilisée pour vérifier que le paquetage a été signé par un tiers de confiance et que le paquetage n'a pas changé depuis sa signature.

3.2.1. Génération d'une paire de clés GnuPG

Une paire de clés GnuPG est composée des clés privées et publiques. Pour générer une paire de clés, saisissez la commande suivante en tant que super-utilisateur sur l'invite du shell :
gpg --gen-key
Si vous exécutez cette commande en tant qu'un utilisateur normal, vous verrez le message suivant :
gpg: Warning: using insecure memory!
Ce message apparaît parce que les utilisateurs normaux ne peuvent pas bloquer les pages de mémoire. Vu que vous souhaitez que personne d'autre ne possède votre clé privée GnuPG ou votre phrase-mot de passe privée, vous devez générer la paire de clés en tant que super-utilisateur. Le super-utilisateur peut bloquer les pages de mémoire, ce qui signifie que les informations ne seront jamais écrites sur disque.
Après avoir exécuté la commande pour générer la paire de clés, vous verrez un écran de présentation contenant les options de clés similaire à l'exemple suivant :
	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
	Foundation, Inc.  This program comes with ABSOLUTELY NO
	WARRANTY. This is free software, and you are welcome to
	redistribute it under certain conditions. See the file COPYING
	for details. Please select what kind of key you want: (1) DSA
	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
	Your selection?
Acceptez l'option par défaut : (1) DSA and ElGamal. Cette option vous permet de créer une signature numérique et de crypter/décrypter avec deux types de technologies. Saisissez 1, puis appuyez sur Entrée.
Ensuite, choisissez la taille de la clé, qui est la longueur de la clé. Plus la clé est longue, plus vos messages seront résistants contre les attaques. Créer une clé d'au moins 1024 octets est recommandée.
L'option suivante vous demande de spécifier combien de temps vous souhaitez que votre clé soit valide. Si vous choisissez une date d'expiration, souvenez-vous que toute personne qui utilise votre clé publique doit également être informée de son expiration et donnée une nouvelle clé publique. Il est recommandé de ne pas sélectionner de date d'expiration. Si vous ne choisissez pas de date, le système vous demandera de confirmer votre décision :
Key does not expire at all Is this correct (y/n)?
Appuyez sur y pour confirmer votre décision.
Votre prochaine tâche est de fournir un ID utilisateur contenant votre nom, votre adresse électronique et un commentaire facultatif. Chaque valeur est demandée individuellement. Lorsque vous avez terminé, le système vous présentera un résumé des informations que vous avez saisies.
Une fois que vous acceptez vos choix, vous saisirez une phrase-mot de passe.

Note

Tout comme vos mots de passe de compte, une bonne phrase-mot de passe est essentielle pour une sécurité optimale dans GnuPG. Mélangez les lettres majuscules et minuscules et/ou incluez des ponctuations.
Une fois que vous saisissez et vérifiez votre phrase-mot de passe, vos clés sont générées. Un message similaire à l'exemple suivant sera affiché :
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. 

+++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
++++++++++++++++++++++++++++++++++++++..........................++++
Lorsque toute activité sur l'écran cesse, vos nouvelles clés sont placées dans le répertoire .gnupg dans le répertoire personnel de root. Cet emplacement est du au fait que vous avez exécuté la commande en tant que super-utilisateur. Pour lister vos clés root, utilisez la commande suivante :
gpg --list-keys
La sortie est similaire à l'exemple suivant :
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
Pour obtenir votre clé publique, utilisez la commande suivante :
gpg --export -a 'Your Name' > public_key.txt
Votre clé publique est écrite dans le fichier public_key.txt.
Cette clé publique est assez importante. Elle est la clé qui doit être déployée sur tous les systèmes client qui reçoivent les logiciels clients via up2date. Les techniques pour déployer cette clé dans une organisation sont examinées dans le Guide de configuration du client de Red Hat Network.