Signatures

Pour info La signature d'un message exige la saisie de la phrase de passe de la clé privée à chaque fois.

Rappel des différentes générations de signatures

"message" correspond à un fichier texte contenant le message à signer.

# cat message
Ceci est un message signé.

# gpg --sign message

Un nouveau fichier message.gpg est généré contenant le message et la signature au format binaire.
Pour lire le contenu du message, il faut obligatoirement utiliser gpg avec l'option --decrypt.
En effet, le message n'est pas chiffré, il est seulement signé, mais étant au format binaire, seule l'option --decrypt est capable de vérifier la signature et d'afficher le message en clair.

# gpg --clearsign message

Un nouveau fichier message.asc est généré contenant le message et la signature au format ASCII.

# gpg --detach-sign message

Un nouveau fichier message.sig est généré contenant uniquement la signature au format binaire.

#  gpg --detach-sign --armor message

Un nouveau fichier message.asc est généré contenant uniquement la signature au format ASCII.

Pour modifier le nom du fichier généré, il faut utiliser l'option -o nomDuFichier (ou --output).

# gpg --detach-sign --armor -o signature.asc message

Il est possible de signer un message sans passer par l'intermédiare de fichiers (entrées/sorties)

# echo "Ceci est un message signé." | gpg --clearsign

You need a passphrase to unlock the secret key for
user: "Jean Michel A Peu Près <jm@apeupres.fr>"
2048-bit RSA key, ID 219FE958, created 2015-09-11 (main key ID 0D6FE738)

gpg: gpg-agent is not available in this session
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ceci est un message signé.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJV9enkAAoJED/atMwhn+lYiz8H+wc1peA+zFNh0pI0Xl9LaCng
2BPlhod4MYO7yAJTKh76MHx1pXZAjPRZdvQf7WockS9gyHC2/h3MGcFMJZ4LAYdQ
16LfwCC2ip08FsiWuIjnAdC+qEcvLVM6MkH5iiKVgLRnwn7b7oqp9M/mwQGb8JmA
gxRwMTDZxxSBHjjIKPtbOzzN/Wp308WQiI1G0d/uM+GE8JmOQcGAz2pNS/i01KbR
7ft0RUGOtdlnZOyBpuTl90CEkEhFjICvoyB3EEoXAR+DorxhgRUGeGliZzgoKSeU
cWsGlMaigvofC67xSaWacIpk/GOv0hZUPMR9EqmKuCDqSHpcrnWX3W2JWYqwkZM=
=XBKV
-----END PGP SIGNATURE-----

Copier/coller le message signé dans un mail au format texte (tout le contenu de -----BEGIN PGP SIGNED MESSAGE----- jusqu'à -----END PGP SIGNATURE-----).

Pour info Pour envoyer la sortie vers un fichier, utiliser l'option -o monFichier (--output).

Exemple d'un fichier signé puis altéré volontairement afin de simuler un piratage.

On signe le fichier message

# gpg --armor --detach-sign message

On vérifie la signature du fichier message.
L'option --verify prend en premier paramètre le nom du fichier contenant la signature (si la signature est dans un fichier à part) et le nom du fichier signé en second paramètre.

# gpg --verify message.asc message
gpg: Signature made Sun 13 Sep 2015 11:40:49 PM CEST using RSA key ID 219FE958
gpg: Good signature from "Jean Michel A Peu Près <jm@apeupres.fr>"

La signature est correcte.
On altère le fichier message pour simuler un piratage du fichier.

# echo "" >> message

On vérifie à nouveau la signature du fichier.

# gpg --verify message.asc message
gpg: Signature made Wed 16 Sep 2015 07:14:28 PM CEST using RSA key ID 219FE958
gpg: BAD signature from "Jean Michel A Peu Près <jm@apeupres.fr>"

Le résultat nous indique que la signature est incorrecte.
Nous avons la preuve que le fichier d'origine a été altéré.

Franchement, c'est quand même pas si compliqué de signer un fichier et c'est quand même plus sécurisant.

Et si maintenant on le chiffrait, ce fichier ...

Etiquettes: