È possibile verificare un messaggio con firma PGP e crittografato senza decifrarlo?

7

Supponiamo di avere un messaggio PGP e voglio sapere chi lo ha inviato, è possibile farlo se ho il messaggio crittografato RSA, due possibili mittenti (e le loro chiavi pubbliche che hanno firmato e crittografati con) ma io non hai le chiavi private? Non è solo una firma, l'intestazione dice: --BEGIN PGP MESSAGE--.

    
posta ter345 13.12.2011 - 00:32
fonte

3 risposte

11

Se ti capita di avere messaggi cifrati casuali che non sono stati crittografati con la tua chiave pubblica (e quindi non puoi decifrare il messaggio), allora la risposta è no. Le firme devono essere contenute all'interno del blob dei dati crittografati altrimenti non è possibile verificare nulla di credibile. Ecco perché.

(Innanzitutto, assicuriamoci di essere sulla stessa pagina: crittografate un messaggio usando una chiave pubblica e firmate con una chiave privata. Non avrete mai (!) le chiavi private di qualcun altro perché altrimenti l'intero meccanismo di protezione cade a parte).

La crittografia è protezione da intercettazioni. La firma è la non-ripudio del mittente, il che significa che il mittente non può dire di non averlo inviato.

Per verificare il mittente di un messaggio firmato e crittografato (l'ordine conta qui), è necessario prima decifrare il messaggio perché la firma è parte del messaggio crittografato. Decifrare il messaggio non ti dirà nulla riguardo al mittente dato che chiunque può criptare un messaggio con la tua chiave pubblica.

Una volta decodificato il messaggio, puoi estrarre la firma e verificarla utilizzando le chiavi pubbliche che hai per quei possibili mittenti.

Tuttavia, ciò che non è possibile determinare è se la stessa persona HA EFFETTIVAMENTE firmato e crittografato il messaggio in virtù del fatto che una parte del processo (crittografia) utilizza informazioni interamente pubbliche senza informazioni specifiche sul mittente.

Se la chiave privata del mittente è caduta in mani sbagliate, tutte le puntate sono disattivate.

    
risposta data 13.12.2011 - 01:35
fonte
7

Di solito uno firma il testo in chiaro e poi lo crittografa. È impossibile convalidare una firma senza inserire i dati originali. Se i dati originali sono in chiaro, devono prima essere decodificati.

Se hai avuto un caso di utilizzo speciale in cui hai accettato per qualche motivo che fosse più sensato convalidare il testo cifrato, potresti far firmare al messaggio l'altra parte dopo averlo crittografato.

    
risposta data 13.12.2011 - 02:32
fonte
3

Una firma è semplicemente un hash del contenuto firmato che viene crittografato con la chiave privata. La decrittografia dell'hash con la chiave pubblica dimostra chi lo ha crittografato, mentre è stata eseguita nuovamente la funzione di hashing sui dati firmati e confrontandola con l'hash salvato è come si verifica che il contenuto non sia stato modificato.

Con questa comprensione, le firme si applicano ai flussi di bit binari, non al concetto astratto di messaggi. Affinché una firma convalidi, il blocco dei bit non deve essere stato alterato. Ciò significa che può teoricamente convalidare la firma su un messaggio crittografato senza decrittografarlo, ma ciò significherebbe che il testo cifrato dovrebbe essere firmato, non il testo in chiaro. Non è impossibile, ma non è nemmeno comune.

    
risposta data 13.12.2011 - 10:33
fonte

Leggi altre domande sui tag