Perché il Web-of-Trust PGP / GPG non può essere automatizzato?

6

Abbiamo sentito molte lamentele su strumenti di crittografia difficili da utilizzare e idee recenti su Google come risolvere questo problema. Ho avuto un'altra idea su questo che sembra abbastanza ovvio, ma non ho trovato nulla a riguardo sul web.

L'idea sarebbe quella di automatizzare il Web-of-Trust di PGP allentando i requisiti di crittografia, seguendo Sicurezza opportunistica idea.

Il client di posta elettronica cercava automaticamente la chiave PGP di tutti i ricevitori nei keystore (prima i server di chiavi locali, quindi pubblici, forniti idealmente dal provider di posta elettronica ricevente) e crittografa la posta con queste chiavi. Idealmente, useremmo chiavi attendibili secondo gli standard regolari di PGP. Tuttavia, ricorreremo a qualsiasi chiave adatta con meno fiducia, fino a una chiave sconosciuta completa, se necessario.

Sul lato dell'invio, qualsiasi client di posta elettronica crea automaticamente una chiave PGP in locale e pubblica la parte della chiave pubblica sul server delle chiavi del provider di posta elettronica. Ovviamente il cliente deve fornire un modo per definire / importare la propria chiave per gli utenti avanzati.

Con questi valori predefiniti, avremmo più / più e-mail crittografate, di per sé un vantaggio discutibile (per aumentare i costi di sorveglianza).

L'unica idea "nuova" qui sarebbe quella di gestire automaticamente la fiducia sfruttando le ipotesi sociali. L'ipotesi principale sarebbe che due parti che si scambiano continuamente e-mail in qualche modo si conoscono e possono identificarsi a vicenda in base al contenuto delle e-mail scambiate. Con ogni scambio di email, i client di posta elettronica di entrambe le parti aumenterebbero il loro punteggio di fiducia interno per la chiave dell'altra parte. Questo punteggio di fiducia interno verrebbe applicato come i tradizionali livelli di confidenza del Web of Trust per creare un Web-of-Trust automatizzato.

Manterremo il punteggio di fiducia interno separato dal livello di confidenza tradizionale per due motivi:
1) Il punteggio di fiducia interno deve essere molto fine per consentire incrementi e calcoli automatici (ad esempio, intervallo di 0..1 con precisione IEEE-754).
2) I punteggi di trust con cassa automatica sono migliori di nessuno, ma non raggiungeranno mai i livelli di confidenza espliciti del Web-of-Trust tradizionale.

Per me, questo sembra un approccio adeguato per la parte pubblica del problema di gestione delle chiavi. Non risolve la parte privata (ad esempio ottenendo la chiave privata su tutti i dispositivi mobili). Inoltre ereditiamo tutti i problemi noti di PGP.

Sono abbastanza sicuro che mi manchi qualche grosso problema qui. Grazie per avermelo fatto notare.

    
posta werkderk 02.09.2014 - 00:34
fonte

3 risposte

7

Autorità di certificazione

The email client would automatically look up the PGP key of all receivers in key stores (first local, then public keyservers, ideally provided by the receiving email provider) and encrypt the mail with these keys. Ideally, we would use trusted keys by regular PGP standards. However, we would fall back to any suitable key with less trust, down to a complete unknown key if required.

Questa è una pessima idea. Tutti possono generare chiavi per ogni indirizzo di posta. Senza alcun percorso di fiducia, non hai la possibilità di decidere qual è la chiave giusta. Invece di ulteriori argomentazioni, dai un'occhiata ai risultati dei server chiave per [email protected] . Non aspettarti che qualsiasi di loro appartenga a chi dichiara di essere.

On the sending side, any email client would automatically create a PGP key locally and publish the public key part on the email provider's keyserver.

Ora stiamo seguendo un percorso più ragionevole. Ma: questo in qualche modo contraffa l'idea dietro OpenPGP. La fiducia non è definita da quale server delle chiavi è memorizzato, ma quali chiavi sono attendibili. Stai cercando un'autorità di certificazione (sì, alla fine praticamente la stessa cosa che usa X.509). Ce ne sono già alcuni nel mondo OpenPGP, dai un'occhiata a CAcert .

Il tuo provider potrebbe anche essere un'autorità di certificazione (in una certa misura, ti stai già fidando di lui). Per fare ciò, firmeresti e (pienamente) ti fidi della sua chiave di autorità di certificazione, in cambio firmi tutte le chiavi generate per i suoi stessi utenti. OpenPGP può fare tutto questo fuori dalla scatola; non c'è bisogno di cambiarlo. Devi solo far capire e implementare le persone.

Un Web Web of Trust

The only "new" idea here would be to automatically manage trust by exploiting social assumptions. The main assumption would be that two parties continuously exchanging emails somehow know each other and can identify each other by the contents of the mails exchanged. With each email exchange, the email clients of both parties would increase their internal trust score for the other party's key. This internal trust score would be applied like traditional Web-of-Trust confidence levels to build up an automated Web-of-Trust.

Ora stiamo arrivando a un concetto completamente diverso, che è già noto come pinning del certificato (ma non ho sentito di essere implementato per OpenPGP).

Sì, questo potrebbe essere ragionevole per le persone con cui hai già avuto contatti. Ma rende le cose molto più complicate, specialmente per quanto riguarda il calcolo della fiducia. Ciò richiederebbe un calcolo della fiducia probabilistico per poter gestire il gran numero di fiducia piuttosto bassa emessa da tale sistema, come proposto da Maurer et al. nel 1996: Modellazione di un'infrastruttura a chiave pubblica ; forse insieme all'emissione automatizzata di fiducia.

Conclusione

La tua prima proposta, i fornitori che agiscono come autorità di certificazione ha in effetti un certo fascino, è compatibile con OpenPGP e piuttosto facile da implementare. Non sono sicuro che Google abbia piani simili per il suo Fine per terminare il progetto .

For me, this seems like a suitable approach for the public part of the key management issue. It does not solve the private part (e. g. getting the private key to all mobile devices). We also inherit all known issues of PGP.

I modelli probabilistici sono già stati proposti quasi vent'anni fa, non c'era nessuno che li raccogliesse. Se fai scorrere le citazioni per la carta collegata sopra , sembra anche che un bel po 'di pubblicazioni sostengano di avere soluzioni per la tua proposta. Un grosso problema è che non sarebbe più compatibile con OpenPGP (come definito da RFC 4880) e l'introduzione di nuovi sistemi nel modo in cui ottengono l'accettazione non è molto semplice. Inoltre, è ancora più difficile capire cosa sta succedendo nei modelli probabilistici.

Un'altra cosa è che devi ancora insegnare alle persone come usare OpenPGP e capire il concetto di Web of Trust. Questo non è un problema tecnico (anche se potrebbe essere più complicato del necessario); non esiste una soluzione tecnica semplice per la sicurezza. Non basta far credere alle persone che la loro comunicazione sia sicura quando non sono in grado di capire cosa sta succedendo, le cose brutte accadono se qualcuno lo fa , o un orribile mazzo di chiavi non revocate e licenziate sui server delle chiavi.

Ulteriori note

  1. The internal trust score needs to be very fine-grained in order to allow automated increments and calculation (e. g. 0..1 range with IEEE-754 double precision).

Off topic su ciò che è realmente discusso in questo Q & A, ma comunque: questo non è un caso d'uso ragionevole per i valori a virgola mobile. I numeri in virgola mobile hanno un'alta risoluzione intorno a 0, ma questo si degrada rapidamente quando si va verso valori più grandi (mi è stato detto che puoi osservarlo in Minecraft, dove si verificano alcuni salti divertenti quando ti avvicini ai confini del mondo). Perché non basta mapparlo all'intero intero a 64 bit (probabilmente anche a 32 bit sarebbe più che bello) che occupa lo stesso spazio, ma con una risoluzione costante di tutti i valori. Usando variabili a virgola mobile dovresti limitarti a un intervallo di valori molto piccolo (0..1 probabilmente andrebbe bene, ma comunque devi tratta con effetti divertenti non troppo importanti per il calcolo probabilistico e spreca un po 'di memoria e potenza di calcolo.

    
risposta data 02.09.2014 - 08:51
fonte
1

È possibile per un tipo di "rete di fiducia automatizzata", e questo è DKIM.

DKIM funziona dal firmatario (proprietario del dominio) pubblica la chiave in DNS. Poiché solo il proprietario del dominio può pubblicare elementi in DNS, la sicurezza è acquisita in questo modo. Combinando questo con DNSSEC, hai una rete di fiducia completamente automatizzata per SIGNING.

Tuttavia, questo non è E2E. Invece, funziona come una carta d'identità standard.

Qui sto per fare un esempio di IRL:

Un governo o una banca asseriscono la tua identità e rilasciano una carta d'identità. Il verificatore di una carta d'identità FIDUCIA che il governo o la banca non rilascia carte d'identità con l'identità sbagliata, quindi sono fidate. Posso rilasciare le carte d'identità se voglio anch'io. Con il mio logo e il mio design. Quindi tocca alle persone se si fidano della mia emissione. L'emissione di carte d'identità "interne" è piuttosto comune in alcune società ad alta sicurezza, in cui la carta d'identità deve essere sempre visibile all'interno di aree ad alta sicurezza. Pertanto, se l'impiegato nel negozio, quando si acquista alcolici, si fida della Società che emette la carta d'identità interna, quindi l'impiegato può fidarsi della carta d'identità come quella emessa dal governo. (ma l'impiegato sarà accusato se scoprirà che la carta d'identità è stata falsamente rilasciata e che vende alcolici a un minore)

Lo stesso qui con DKIM. Quando si verifica l'identità utilizzando DKIM, si ha fiducia che il server di posta elettronica non firmi le e-mail che non sono autenticate (tramite IP o password, fino al server di posta per autenticare i propri utenti finali). Quindi, se abbiamo un indirizzo e-mail di esempio "[email protected]". Quando invio una mail tramite il mio server di posta, il mio server di posta firma questa mail usando la chiave DKIM per "sebbe.eu". Come destinatario, sia il tuo server di posta che il client di posta, puoi utilizzare l'intestazione della firma DKIM, cercare la chiave pubblica per "sebbe.eu" e fare la verifica. Ora sai per certo che è il server di "sebbe.eu" che ha firmato la posta. Ora tocca a te, se ti fidi del mio server per affermare effettivamente che "sebastian.nielsen" è effettivamente un membro di "sebbe.eu". Dipende se ti fidi di "sebbe.eu". Ciò a condizione che l'allineamento dell'identità sia rigoroso (ad esempio, il dominio del firmatario corrisponde al dominio "Da:" e MAIL FROM) Ciò significa che se sai che Im non pubblicherà indirizzi email nella forma "[email protected]" per gli utenti che non sono nominati firstname.lastname, allora puoi fidarti di una mail firmata DKIM da firstname.lastname @ sebbe.eu è in realtà da una persona di nome "cognome". Il trust circle è completo!

Poiché il contenuto della posta è anche firmato con DKIM, puoi essere certo che la posta non è stata modificata in transito dopo la firma.

Una buona idea è scambiare le chiavi pubbliche PGP usando la posta firmata DKIM. Allora sai per certo che è completamente sicuro. Non è necessario inserire alcuna rete di fiducia per utilizzare la struttura di trust DKIM per le chiavi pubbliche di Exchange.

Quindi DKIM con chiavi firmate DNSSEC, sono una forma di una rete di fiducia automatizzata completamente sicura, a patto che tu ti fidi del server di posta che firma.

    
risposta data 03.09.2014 - 07:17
fonte
0

Se un client di posta elettronica pubblica automaticamente informazioni sulla quantità di e-mail scambiate con ognuna, può mantenere privato il contenuto di tali e-mail, ma è ancora un problema.

Il cliente non dovrebbe dire a tutti chi chiede quante email ho scambiato con quale avvocato.

Ricorda il fiasco sulla privacy di Google Buzz quando Google ha utilizzato automaticamente i dati relativi alle e-mail scambiate per impostare la partecipazione pubblica degli account Buzz.

    
risposta data 02.09.2014 - 11:08
fonte

Leggi altre domande sui tag