Discussion:
verifier la signature d'un fichier
(trop ancien pour répondre)
Lulu
2020-05-24 15:22:27 UTC
Permalink
Bonjour,

Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).

Je tape : gpg --verify fichier_signature fichier_signé

Et ça couine :
gpg: aucune donnée OpenPGP valable n'a été trouvée.
gpg: impossible de vérifier la signature.
Veuillez vérifier que le fichier de signature (.sig ou .asc)
est bien le premier fichier indiqué sur la ligne de commande.

Après avoir lu la page de man de gpg, j'ai googlé un peu mais entre les
docs très théoriques, touffues et que je ne comprends qu'à moitié et
celles concernant le hashage de fichier, je ne trouve pas d'exemple
simple de commande me permettant de faire ce que je veux : vérifier
l'authenticité du fichier_signé.

Est-ce que j'ai tort de penser qu'il suffit d'avoir le fichier_signature
pour faire cela ?

Est-ce que je devrais inclure cette clé dans un trousseau de clés avant
de pouvoir l'utiliser ?

J'ai lu https://linuxfr.org/users/gouttegd/journaux/de-la-confiance-dans-le-monde-openpgp
Mais je me perds dans les notions de confiance, de certification (avec
ses attributs), de validité, etc...

Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).

Merci de votre aide.
Dominique
2020-05-25 03:28:47 UTC
Permalink
Post by Lulu
Bonjour,
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).
...
Post by Lulu
Merci de votre aide.
Bonjour,

Je ne vais pas t'être d'une grande aide directe (je ne connais pas
GNUGP), mais je lis précisément cette page qui pourrait t'intéresser :

https://linuxfr.org/news/bien-demarrer-avec-gnupg

Bonne lecture,
--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Lulu
2020-05-26 21:26:41 UTC
Permalink
Post by Dominique
Post by Lulu
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).
...
Post by Lulu
Merci de votre aide.
Je ne vais pas t'être d'une grande aide directe (je ne connais pas
https://linuxfr.org/news/bien-demarrer-avec-gnupg
Bonne lecture,
Merci pour le lien qui explique assez simplement le principe.
Maintenant, dans les commentaires, ceux qui signent et chiffrent des
fichiers s'envoient des mails à eux-mêmes tellement ils ont du mal à
trouver des personnes avec qui échanger des mails signés ;-))
dyrmak
2020-05-27 12:00:42 UTC
Permalink
En 20 lignes Lulu a écrit
Post by Lulu
Merci pour le lien qui explique assez simplement le principe.
Maintenant, dans les commentaires, ceux qui signent et chiffrent des
fichiers s'envoient des mails à eux-mêmes tellement ils ont du mal à
trouver des personnes avec qui échanger des mails signés ;-))
C'est le mail chiffrés qui sont les rares, une signature n'empêche
pas de lire un message, qu'il soit bidon ou pas.

dyrmak
--
Las llantas desinfladas
++++ --- ++++
Linux operating system
++++ --- ++++
Marc SCHAEFER
2020-05-25 06:34:16 UTC
Permalink
Post by Lulu
Je tape : gpg --verify fichier_signature fichier_signé
Que contient fichier_signature ?

Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.
Post by Lulu
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).
Exemple:

signer, mode signature détachée, ASCII armour:

$ gpg --sign --detach --armor toto

You need a passphrase to unlock the secret key for
user: "Marc SCHAEFER (GPG) <***@alphanet.ch>"
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31

toto est le fichier signé, toto.asc la signature format ancien:

$ file toto.asc
toto.asc: PGP signature Signature (old)

$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw==
=fY/V
-----END PGP SIGNATURE-----

Vérification:

$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) <***@alphanet.ch>"

ou:

$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) <***@alphanet.ch>"
Lulu
2020-05-26 21:29:54 UTC
Permalink
Post by Marc SCHAEFER
Post by Lulu
Je tape : gpg --verify fichier_signature fichier_signé
Que contient fichier_signature ?
Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.
$ file fichier_signature
exodus.asc: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Post by Marc SCHAEFER
Post by Lulu
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).
$ gpg --sign --detach --armor toto
You need a passphrase to unlock the secret key for
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31
$ file toto.asc
toto.asc: PGP signature Signature (old)
$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw==
=fY/V
-----END PGP SIGNATURE-----
$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
Merci pour l'exemple.
Lulu
2020-05-26 21:33:24 UTC
Permalink
Post by Marc SCHAEFER
Post by Lulu
Je tape : gpg --verify fichier_signature fichier_signé
Que contient fichier_signature ?
Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.
$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Post by Marc SCHAEFER
Post by Lulu
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).
$ gpg --sign --detach --armor toto
You need a passphrase to unlock the secret key for
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31
$ file toto.asc
toto.asc: PGP signature Signature (old)
$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw==
=fY/V
-----END PGP SIGNATURE-----
$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
Merci pour l'exemple.
Marc SCHAEFER
2020-05-27 06:17:25 UTC
Permalink
Post by Lulu
$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
ceci n'est pas une signature électronique GPG/PGP mais un hachage md5

PS: apprenez à citer svp.
denis.paris
2020-05-26 06:37:24 UTC
Permalink
Post by Lulu
Bonjour,
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).
Je tape : gpg --verify fichier_signature fichier_signé
gpg: aucune donnée OpenPGP valable n'a été trouvée.
gpg: impossible de vérifier la signature.
Veuillez vérifier que le fichier de signature (.sig ou .asc)
est bien le premier fichier indiqué sur la ligne de commande.
Après avoir lu la page de man de gpg, j'ai googlé un peu mais entre les
docs très théoriques, touffues et que je ne comprends qu'à moitié et
celles concernant le hashage de fichier, je ne trouve pas d'exemple
simple de commande me permettant de faire ce que je veux : vérifier
l'authenticité du fichier_signé.
Est-ce que j'ai tort de penser qu'il suffit d'avoir le fichier_signature
pour faire cela ?
Est-ce que je devrais inclure cette clé dans un trousseau de clés avant
de pouvoir l'utiliser ?
J'ai lu https://linuxfr.org/users/gouttegd/journaux/de-la-confiance-dans-le-monde-openpgp
Mais je me perds dans les notions de confiance, de certification (avec
ses attributs), de validité, etc...
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).
Merci de votre aide.
Tu ne donnes pas l'information principale: le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...
Nicolas George
2020-05-26 08:13:43 UTC
Permalink
Post by denis.paris
Post by Lulu
Je tape : gpg --verify fichier_signature fichier_signé
Comme Marc l'a signalé, nous avons besoin de savoir ce qu'il y a dans
fichier_signature. La sortie de file serait un bon début.
Post by denis.paris
le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...
Non, aucun rapport. Le fait d'être signé est globalement indépendant du fait
d'être chiffré.
Lulu
2020-05-26 21:39:21 UTC
Permalink
Post by Nicolas George
Post by Lulu
Je tape : gpg --verify fichier_signature fichier_signé
Comme Marc l'a signalé, nous avons besoin de savoir ce qu'il y a dans
fichier_signature. La sortie de file serait un bon début.
$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Post by Nicolas George
le fichier dont tu veux vérifier la signature est-il chiffré ou non?
Car ton message d'erreur semble indiquer que tu cherches à vérifier
un fichier en clair...
Non, aucun rapport. Le fait d'être signé est globalement indépendant du fait
d'être chiffré.
Ah... C'est bien ce qu'il me semblait.

Merci à tous pour votre aide.
Nicolas George
2020-05-26 22:52:25 UTC
Permalink
Lulu , dans le message
Post by Lulu
$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Ce n'est pas une signature électronique, c'est un haché. Un haché, c'est une
« signature » dans un sens légèrement différent, une « empreinte digitale »
qui dépend du fichier seul mais ne t'apprend rien à son sujet. Une signature
électronique, ça dépend aussi de celui qui la génère, ça prouve une
identité.

Comme ça fait quarante chiffres hexadécimaux, donc 160 bits, c'est un SHA-1.

Donc on peut le générer avec :

sha1sum fichier_signé

Et il suffit de comparer.

On pourrait aussi le vérifier avec « sha1sum -c fichier_de_haché », mais il
faudrait que le de haché contienne le nom du fichier à vérifier.

Le fait que tu puisses le générer toi-même montre que ce n'est pas une
signature. Une signature, tu peux la vérifier mais pas la produire, c'est
bien le principe.

Note aussi que SHA-1 est considéré cassé : on sait générer deux fichiers qui
ont le même SHA-1, et même deux fichiers utiles. Donc ça ne te protège pas
contre quelqu'un qui voudrait te faire prendre ses vessies pour ses
lanternes. Ça te protège probablement contre quelqu'un qui voudrait te faire
prendre ses vessies pour les lanternes d'autrui, mais il vaut mieux ne pas y
compter.

Tel quel, ça te protège très bien contre une altération accidentelle.
Lulu
2020-05-26 21:32:30 UTC
Permalink
Post by denis.paris
Tu ne donnes pas l'information principale: le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...
Je ne comprends pas pourquoi savoir si fichier est chiffré ou non serait
"linformation principale". Je ne vois pas la différence que ça pourrait
faire.

Le fait est qu'il s'agit d'un paquet deb non chiffré.
Loading...