Come si differenzia PGP da S / MIME?

67

S / MIME è un sistema astratto per la crittografia di tipo MIME generale, mentre PGP è più per la posta elettronica? Perché dovrei scegliere uno sull'altro o posso utilizzarlo entrambi contemporaneamente?

    
posta Tyler Gillies 05.10.2011 - 06:14
fonte

6 risposte

63

Riepilogo: S / MIME e PGP forniscono entrambi "e-mail sicure" ma utilizzano codifiche, formati, strumenti utente e modelli di distribuzione delle chiavi distinti.

S / MIME si basa su MIME e CMS . MIME è un modo standard per inserire dati arbitrari in e-mail, con un "tipo" (un'indicazione esplicita di ciò che i dati dovrebbero significare) e migliaia di miliardi di regole di codifica e altri dettagli di interoperabilità. CMS significa "Sintassi dei messaggi crittografici": è un formato binario per la crittografia e la firma dei dati. CMS si affida ai certificati X.509 per la distribuzione delle chiavi pubbliche. X.509 è stato progettato per supportare la PKI gerarchica top-down: un piccolo numero di certificati di "autorità di certificazione di root" (cioè i segnali di identificazione) per molti utenti (o eventualmente CA intermedie); un certificato utente contiene il suo nome (in un contesto di posta elettronica, il suo indirizzo email) e la sua chiave pubblica, ed è firmato da una CA. Qualcuno che desidera inviare un'email a Bob utilizzerà il certificato di Bob per ottenere la sua chiave pubblica (necessaria per crittografare l'e-mail, in modo che solo Bob sia in grado di leggerlo); verificare la firma sul certificato di Bob è un modo per assicurarsi che l'associazione sia autentica, cioè questa è davvero la chiave pubblica di Bob, non la chiave pubblica di qualcun altro.

PGP è in realtà un'implementazione dello standard OpenPGP (storicamente, OpenPGP era definito come un modo per standardizzare ciò che -esistente software PGP , ma ora ci sono altre implementazioni, in particolare l'opensource gratuito GnuPG ). OpenPGP definisce i propri metodi di crittografia (simile nella funzionalità al CMS) e i formati di codifica, in particolare un livello di codifica chiamato "Armatura ASCII" che consente ai dati binari di viaggiare indenni nelle e-mail (ma è anche possibile mix MIME e OpenPGP ). Per la distribuzione di chiavi pubbliche, OpenPGP si basa su Web of Trust : puoi vederlo come una PKI decentralizzata in cui tutti sono potenziali CA . La base di sicurezza di WoT è ridondanza : puoi fidarti di una chiave pubblica perché è stata firmata da molte persone (l'idea è che se un attaccante "non può ingannare tutti per un molto tempo ").

Teoricamente , in un contesto aziendale, WoT non funziona bene; la PKI gerarchica X.509 è più appropriata, perché può essere fatta per abbinare la struttura decisionale delle aziende previste, mentre WoT fa affidamento sui dipendenti che prendono le proprie decisioni in merito alla sicurezza.

In pratica , sebbene la maggior parte dei software di emailing implementino già S / MIME (anche Outlook Express ha implementato S / MIME per circa un decennio), il processo di registrazione del certificato è complesso con interazioni con entità esterne e richiede alcuni interventi manuali. Il supporto di OpenPGP di solito richiede l'aggiunta di un plug-in, ma quel plugin ha tutto ciò che è necessario per gestire le chiavi. La Web of Trust non viene realmente utilizzata: le persone si scambiano le loro chiavi pubbliche e assicurano l'associazione su un altro supporto (ad esempio la "chiave dell'impronta digitale", un valore hash della chiave, al telefono). Quindi le persone conservano una copia delle chiavi pubbliche delle persone con le quali scambiano di solito le e-mail (nel "portachiavi" di PGP), che garantisce sicurezza appropriata e senza problemi. Quando ho bisogno di scambiare email sicure con i clienti, uso PGP in questo modo.

OpenPGP viene anche utilizzato, come formato di firma, per altre attività non di posta elettronica, come la firma digitale di pacchetti software in alcune distribuzioni Linux (almeno Debian e Ubuntu lo fanno).

    
risposta data 05.10.2011 - 14:45
fonte
12

Tutti gli IP sono progettati per facilitare il flusso sicuro e regolare della trasmissione dei dati in rete. S / MIME e PGP sono entrambi protocolli utilizzati per l'autenticazione e la privacy dei messaggi su Internet. PGP, acronimo di Pretty Good Privacy, è un programma di crittografia e decrittografia dei dati che offre privacy e autenticazione crittografica per la trasmissione di dati su Internet. PGP è ampiamente utilizzato per la firma, la crittografia e la decrittografia dei dati elettronici per massimizzare i problemi di sicurezza dello scambio di dati. Il protocollo S / MIME fa riferimento a Estensioni di posta Internet sicure / multiuso. S / MIME è stato recentemente incluso nelle ultime versioni dei browser Web di rinomate aziende di software come Microsoft e Netscape ed è stato ampiamente accettato da molti rivenditori in tutto il mondo. È anche guidato come standard per la crittografia a chiave pubblica e la firma dei dati MIME. S / MIME è basato su uno standard IETF e più comunemente definito nei documenti RFC. S / MIME fornisce l'autenticazione, l'integrità dei messaggi e il non disconoscimento dei servizi di sicurezza di origine e dati per le applicazioni di trasmissione elettronica dei dati.

S / MIME è molto simile a PGP e ai suoi predecessori. S / MIME deriva dal formato di dati PKCS # 7 per i messaggi e dal formato X.509v3 per i certificati. La crittografia PGP utilizza una combinazione seriale di hashing, compressione dei dati, crittografia a chiave simmetrica e crittografia a chiave pubblica.

Durante l'utilizzo di PGP, un utente ha la possibilità di fornire direttamente una chiave pubblica a un altro utente o il secondo utente può ottenere la chiave pubblica dal primo utente. PGP non impone una politica per la creazione di fiducia e quindi ogni utente è libero di decidere la durata della fiducia nelle chiavi ricevute. Con S / MIME, il mittente o il destinatario non si affidano in anticipo allo scambio di chiavi e condividono un certificatore comune su cui entrambi possono fare affidamento.

S / MIME è considerato superiore a PGP dal punto di vista amministrativo a causa della sua forza, del supporto per la gestione centralizzata delle chiavi tramite i server certificati X.509 e il supporto esteso del settore. PGP è più complicato dal punto di vista dell'utente finale, perché richiede plug-in o download aggiuntivi per funzionare. Il protocollo S / MIME consente alla maggior parte dei fornitori di inviare e ricevere e-mail crittografate senza utilizzare software aggiuntivo.

S / MIME è conveniente grazie alla trasformazione sicura di tutte le applicazioni come fogli di calcolo, grafica, presentazioni, filmati ecc., ma PGP è stato creato per risolvere i problemi di sicurezza di semplici messaggi di posta elettronica o di testo. S / MIME è anche molto conveniente in termini di costi.

Riepilogo: I protocolli S / MIME e PGP utilizzano diversi formati per lo scambio di chiavi. PGP dipende dallo scambio di chiavi di ciascun utente. S / MIME utilizza certificatori gerarchicamente convalidati per lo scambio di chiavi. PGP è stato sviluppato per affrontare i problemi di sicurezza di semplici messaggi di testo. Ma S / MIME è progettato per proteggere tutti i tipi di allegati / file di dati. Al giorno d'oggi, S / MIME è noto per dominare il settore elettronico sicuro perché è incorporato in molti pacchetti commerciali di posta elettronica. I prodotti S / MIME sono più facilmente disponibili e a prezzi inferiori rispetto ai prodotti PGP.

    
risposta data 02.12.2012 - 04:10
fonte
7

Se "leggi tra le righe" nelle voci di wikipedia potresti avvicinarti a una risposta. S / MIME :

is a standard for public key encryption and signing of MIME data

dove MIME è lo standard per trasportare più di un semplice testo ASCII sul sistema di posta SMTP originale. Integrate S / MIME con i vostri certificati digitali, acquistati (quindi timbrati e certificati da una CA) o prodotti localmente (quindi autofirmati).

Come per PGP, descriverei come un'applicazione esterna che gestisce la crittografia / firma che può integrarsi in modo trasparente con la tua applicazione di posta elettronica e fornire tali servizi. Ogni utente riceve la sua coppia di chiavi pubblica-privata e la utilizza per tutte le operazioni.

Come sottolineato da @chris, i modelli di fiducia su cui ciascuno opera sono leggermente diversi ma IMHO questo non rende l'uno o l'altro meno sicuro.

In pratica le due soluzioni hanno chiavi più o meno intercambiabili. È possibile utilizzare una coppia di chiavi emesse da PGP con S / MIME dell'applicazione di posta elettronica e (credo) viceversa. Qualcuno per favore correggimi su quest'ultimo ...

Il principale fattore decisivo per me sarebbe il costo:

PGP : soluzione software che soddisfa le tue esigenze + costi di rinnovo del software + costi amministrativi per scambi di chiavi

rispetto a:

S / MIME : costo amministrativo per l'esecuzione di un server di certificazione per certificati prodotti localmente + costi amministrativi per la distribuzione di chiavi pubbliche O per il costo di acquisto di certificati da una commissione CA + costi di rinnovo

Non dimenticare che la maggior parte dei client di posta elettronica supporta già S / MIME "out of the box", riducendo i costi originali in questo caso.

    
risposta data 05.10.2011 - 10:26
fonte
0

S / MIME dipende dalla PKI SSL: hai un certificato SSL con la tua chiave pubblica, e il fatto che sia firmato da un'autorità di certificazione (CA) "dimostra" che è davvero la tua chiave. D'altra parte, PGP non ha una PKI: si controlla se la chiave pubblica di una persona gli appartiene davvero se gli si dice mentre mostra il passaporto (key signing party) o se si fidano della chiave perché molti altri hanno fatto questo controllo e firmato la sua chiave.

Con i recenti sviluppi nella sicurezza della CA, direi che c'è una grande ragione per non fidarsi di S / MIME :-) Mentre il modello di "web of trust" di PGP non è così semplice come S / MIME, fornisce molta più sicurezza se fai lo sforzo.

Entrambi i sistemi finiscono per utilizzare la crittografia asimmetrica a proposito, differiscono in realtà sul modo in cui viene stabilita la fiducia in una chiave pubblica.

    
risposta data 05.10.2011 - 09:02
fonte
0

Alcuni anni dopo, ma credo che dovrebbe essere importante. In Europa, le firme digitali devono utilizzare CMS a causa delle estensioni definite (CAdES, XAdES, ecc.).

Pertanto, PGP è inutile in quel campo e S / MIME è l'unica strada da percorrere.

    
risposta data 12.09.2018 - 22:22
fonte
0

Aggiunta di una prospettiva dal 2018: efail è successo. Aggiunge alcune prospettive interessanti, poiché all'inizio sia OpenPGP che S / MIME erano vulnerabili. Ma OpenPGP è in gran parte risolto a causa di tutte le implementazioni importanti che rendono obbligatorio l'MDC (controllo del rilevamento delle modifiche). Sebbene il problema per S / MIME sia, non c'è niente come MDC. Quindi rimane vulnerabile. Da quello che ho capito è un argomento importante per favorire l'OpenPGP decentralizzato rispetto a S / MIME.

    
risposta data 21.01.2019 - 23:01
fonte