web-dev-qa-db-fra.com

Vérifiez la signature numérique sans clé publique clé dans la signature

Lors de la réception de courriels, je vois parfois ce qui suit:

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

I found an integer overflow in PHP, in the conversation of dates to "Julian Day Count" function.

The commit, with a PoC can be found here: https://github.com/MegaManSec/php-src/commit/a538d2f5605798422f2746636 ecdc300f8ebcaa1
Use CVE-2015-1353.

CVE assignment team, MITRE CVE Numbering Authority M/S M300 202 Burlington
Road, Bedford, MA 01730 USA [ PGP key available through
http://cve.mitre.org/cve/request_id.html ]

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (SunOS)

iQEcBAEBAgAGBQJUw/LpAAoJEKllVAevmvmsiYoH/Ag+n/8x+blfJyccUhjt39bp
nRxsuZw2MIx7COJcoufIxeycu2YGnm1O9RxZBA9lKmVYjb0wjMi9yHogcWkT8UOo 
i93ARMw7V6UFp1nV+2Kv5BgVh2EcwEBXyDkKkcaN2l68Dm3nRoApMB4i4m7G67BC 
K2T1L4eq1orQCNaR7n4hup2155pHZbLqZQRMAYn5EGQPr/+zPjgq+PQKes631US5 
SXrnthRKOAfZk9QVIlxf5t1JfVvC3Cta0HgETTaXJ8TbqEAA5AXw8hl+RmhWgFnI 
Cto73LM+iiA1tyxDXdXnfdRqV/uxmqK+FCgO6asyCuT7EYOpBZ74Wmq1z+RVJRc=
=VLR4 
-----END PGP SIGNATURE-----

De ce que je comprends une signature numérique fonctionne de la manière suivante:

  1. Le contenu du message est haché pour fournir une sortie de longueur fixe de l'ensemble du contenu.
  2. Le hachage généré est ensuite crypté avec la clé privée des expéditeurs (PS: Je pensais que la clé publique a été utilisée pour crypter des choses, un contexte différent?)
  3. Le processus ci-dessus crée une signature numérique transmise avec le message d'origine
  4. Le récepteur utilise la clé publique pour déchiffrer le CIPHERText pour renvoyer le hachage, puis a haché le message pour voir si c'est le même

Le problème que je ne peux comprendre est la partie clé publique, dans l'exemple ci-dessus de Mitre, il n'y a pas de clé publique qui m'a été envoyé pour déchiffrer la signature. Alors, comment puis-je continuer à vérifier cette signature? Je peux voir qu'ils ont fourni un lien "Touche PGP disponible à travers", mais ce lien contient l'identifiant de clé. Quel est cet identifiant de clé et c'est ce que j'ai besoin de trouver la clé publique?

6
W Khan

Je n'ai pas beaucoup d'intérieur dans PGP ou GPG, mais je peux vous dire comment cela fonctionnerait avec simple RSA.

Si vous souhaitez signer quelque chose, vous le cryptez avec votre clé privée, quiconque reçoit ce message peut le déchiffrer avec votre clé publique et sait ainsi que quelqu'un qui a la clé privée a envoyé ce message (espérons que vous avez la clé privée).

Si les deux avaient des touches RSA, vous pouvez le chiffrer avec votre clé privée, puis la crypter avec la clé publique de la personne que vous souhaitez envoyer le message. Le récepteur décrypte ensuite le message en conséquence et vous avez un message qu'une seule personne peut s'ouvrir et qu'une seule personne aurait pu être envoyée.

Pour autant que je comprenne PGP et GPG, ils ont haché les messages avec une clé secrète, puis ils chiffrent cette clé avec RSA.

Pour vos problèmes avec les clés: il existe des serveurs de clé publique (par exemple, MIT: https://pgp.mit.edu/ )

1
yamm