Quando si ricevono e-mail, a volte vedo quanto segue:
-----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-----
Da quello che ho capito, una firma digitale funziona nel modo seguente:
- Il contenuto del messaggio è sottoposto a hash per fornire un output a lunghezza fissa dell'intero contenuto.
- L'hash che viene generato viene quindi crittografato con la chiave privata dei mittenti (PS: pensavo che la chiave pubblica fosse usata per crittografare le cose, contesto differente?)
- Il processo precedente crea una firma digitale che viene trasmessa con il messaggio originale
- Il ricevitore utilizza la chiave pubblica per decrittografare il testo cifrato per restituire l'hash e quindi esegue il hash del messaggio per vedere se è lo stesso
Il problema che non riesco a capire è la parte della chiave pubblica, nell'esempio sopra di Mitre, non c'è nessuna chiave pubblica inviata per decifrare la firma. Quindi, come faccio a verificare questa firma? Vedo che hanno fornito un link "Chiave PGP disponibile" ma questo link contiene l'ID della chiave. Cos'è questo ID chiave ed è ciò di cui ho bisogno per trovare la chiave pubblica?