Una firma e-mail aumenta la sicurezza?

3

Sto usando Thunderbird con Enigmail. Ha sia la crittografia che la firma delle opzioni per l'invio di e-mail PGP - ma perché è necessaria una firma e-mail? Mi sembra eccessivo! Alice e Bob possono utilizzare PGP per scambiare una chiave simmetrica, quindi utilizzare questa chiave per crittografare le e-mail tramite AES.

Quando Eve non conosce la chiave, non può modificare il testo cifrato per modificare il messaggio di Alice o di Bob o inviare un falso messaggio che la richiesta proviene da Alice o Bob perché quando provano a decifrare quella email con la chiave scambiata prima, la decrittografia fallisce.

Penso che anche il MAC sia uno spreco di energia. Qual è il punto delle firme qui per ogni nuova email?

    
posta Alice 13.12.2013 - 16:10
fonte

6 risposte

4

Una chiave simmetrica può sicuramente trasmettere dati in modo sicuro da Alice e Bob. Quando usano una chiave simmetrica, possono essere certi che:

  • la posta non è stata manomessa durante il transito
  • la posta non è stata visualizzata in transito

Lo scambio di chiavi PGP permetterà loro di trovare un modo per fidarsi l'un l'altro, tradizionalmente in un Web of Trust modello. Il trucco con PGP è che fino alle versioni successive, non c'era autorità credibile su cui dipendevano sia Alice che Bob: questa è la grande variazione tra PGP e un sistema PKI che fornisce firme e crittografie nella maggior parte dei client di posta elettronica.

I problemi sono in diverse parti:

  • in uno scambio di chiavi simmetrico, vi è un rischio aggiunto con ogni persona che conosce la chiave. Se Alice e Bob vogliono inviare nuovamente la posta a Charlie, dovranno condividere la chiave di crittografia simmetrica con Charlie o Alice o Bob dovranno creare un'altra chiave di crittografia per l'invio di Charlie. Se ci saranno più mail tra Alice, Bob e Charlie, potrebbero esserci 3 chiavi (Alice / Bob, Bob / Charlie, Alice / Charlie) - questo aumenta in modo esponenziale man mano che più persone partecipano alla conversazione.

  • la crittografia punto-punto non dimostra la mancanza di manomissione tra i punti. Se Bob invia una mail ad Alice, e Alice viene rimandata e inoltra la posta a Charlie dicendo "Guarda cosa ha scritto Bob!", Non ci sono prove che la posta provenga effettivamente da Bob se la crittografia è stata da Bob ad Alice e poi da Alice a Charlie. Alice avrebbe potuto simularlo o modificarlo. Tuttavia, se Bob avesse firmato la posta ad Alice, e poi Alice avesse inoltrato la posta di Bob a Charlie, Bob non avrebbe potuto facilmente affermare che Alice lo avesse incasinato, a patto che la firma rimanesse intatta. L'e-mail e la firma possono essere archiviati indefinitamente e in chiaro con questo metodo di sicurezza.

  • La crittografia asimmetrica (tipica crittografia e-mail quando si utilizza un client di posta) si basa sull'avere a disposizione un repository di credenziali conosciute di altri utenti e sapere esattamente quale coppia di chiavi utilizzare per instradare una posta a un determinato destinatario . Ciò attenua il problema di distribuzione delle chiavi: ho un repository sicuro di metodi sicuri da inviare a chiunque nel sistema e non abbiamo dovuto scambiare le chiavi. Se qualcuno perde la coppia di chiavi, solo le mail che hanno ricevuto saranno compromesse. Se usassimo una coppia di chiavi simmetriche come gruppo, tutte le comunicazioni di gruppo sarebbero a rischio.

Tutto ciò che ho detto, l'impostazione di coppie di chiavi e servizi di directory che servono le credenziali del certificato per un gruppo di persone è un'attività non banale. Creare un certificato autofirmato è abbastanza semplice, ma anche piuttosto inutile: il valore è averlo in un sistema con una fiducia condivisa proveniente da una fonte comune, e la creazione di quel sistema e il suo mantenimento richiede un certo sforzo.

Non è eccessivo, ma non è facile - quindi è il tipo di cosa che ti preoccupa quando c'è un valore nel non ripudio (Bob non può negare che ha inviato la posta), e la comunicazione privata attraverso un gruppo più ampio di persone. Per due persone il valore è molto, molto più piccolo.

    
risposta data 13.12.2013 - 23:50
fonte
3

Le firme e-mail consentono ad altri di dimostrare che un'email è:

  • effettivamente da te
  • non modificato durante il trasporto

Se non ti interessa, non firmare.

    
risposta data 13.12.2013 - 18:03
fonte
3

La sola crittografia non fornisce l'integrità dei dati. Pertanto, abbiamo bisogno di utilizzare qualcosa come un MAC o una firma digitale per fornire controlli di integrità. Potresti essere interessato a leggere questo. Esiste un attacco in grado di modificare il testo cifrato pur continuando a decrittografarlo?

    
risposta data 14.12.2013 - 03:59
fonte
2

Le e-mail firmate non offrono alcuna sicurezza di prima mano. Tutto ciò che (possono) portare è fiducia nel mittente e quindi il messaggio. Puoi usare questo trust per decidere se è (in) sicuro di fare qualsiasi cosa con il suo contenuto, ma è comunque una tua decisione.

Gestione chiave

Se un'organizzazione di 100 persone desidera comunicare, ciascuna coppia dovrà scambiare (e mantenere!) tali chiavi, diverse migliaia in tutto. Usando la crittografia pubblico-privato, tutto ciò di cui hanno bisogno sono 100 coppie di chiavi.

Inoltre, sarai in grado (o potresti essere in grado) di comunicare con chiunque si fida della tua chiave (come ottenerlo dipende da OpenPGP e X.509) e l'altro sa per certo chi tu siamo. Di sicuro. Non c'è modo di farlo senza incontrare la crittografia simmetrica.

Inoltre: ci sono applicazioni in cui si desidera firmare, ma non crittografare. Come "firmare" utilizzando la crittografia simmetrica per il pubblico: mailing list, pacchetti software, ...?

Crittografia simmetrica in OpenPGP

Alla fine, OpenPGP non è altro che un wrapper che mette la fiducia e la gestione delle chiavi attorno alla crittografia simmetrica che viene utilizzata per le prestazioni accettabili durante la crittografia (OpenPGP è un sistema crittografico ibrido, la crittografia pubblico-privata è molto costosa per la crittografia di grandi dimensioni dati, la firma cripta solo una somma hash dei dati e quindi non richiede la crittografia simmetrica).

    
risposta data 13.12.2013 - 16:59
fonte
2

Potresti farlo con le chiavi simmetriche, ma poi:

  • Dovresti scambiare le chiavi prima con ogni persona con cui vuoi comunicare - quindi perché non utilizzare PGP direttamente su ogni messaggio?
  • Non saresti in grado di (facilmente) firmare un messaggio che vada a più persone, poiché dovresti avere una chiave AES per ogni persona, e quindi devi "firmare" il messaggio più volte
  • Non saresti in grado di firmare un messaggio diretto al pubblico in generale (ad esempio un annuncio di rilascio)
  • Non vi sono motivi validi per farlo poiché, come hai sottolineato, sarebbe comunque necessario uno scambio di chiavi asimmetrico

Inoltre, non è sufficiente per crittografare un messaggio per garantire l'autenticità. In particolare, con cifrari in streaming (o cifrari a blocchi in modalità CTR), posso facilmente cambiare un bit specifico senza rovinare il messaggio. Quindi, se so cosa stai scrivendo, posso cambiare il messaggio con qualsiasi altra cosa. Con i codici a blocchi, posso almeno danneggiare il messaggio in modo casuale - potrebbe essere un cambiamento evidente, ma è un cambiamento. Esistono vari altri attacchi che hanno scarso impatto pratico o sono rilevanti solo in casi molto specifici, ma in criptazione non si corrono rischi inutili. Se qualcosa mostra punti deboli, lo aggiusti. Infine, ci sono casi d'uso (es. Annuncio di rilascio, vedi sopra) dove vuoi firmare ma non crittografare un messaggio - quindi la necessità di firme, e quando le hai già, le usi per tutto invece di firmare metà dei messaggi modo e metà dei messaggi nell'altro modo.

    
risposta data 13.12.2013 - 23:05
fonte
0

Immagina che Alice voglia inviare a Bob un'e-mail in modo sicuro. Cerca un Open WLan e manda l'email. Nel momento in cui riceve l'e-mail, Bob non è online.

Non c'è tempo per Bob di inviare ad Alice una chiave per la crittografia simmetrica. Se Alice e Bob sono online allo stesso tempo possono usare un protocal come Jabber con OTR con il fatto che entrambi sono online allo stesso tempo.

    
risposta data 15.12.2013 - 02:11
fonte

Leggi altre domande sui tag