Posso inviare e-mail crittografate usando Mail e certificati autofirmati?

1

Voglio poter inviare e-mail firmate e crittografate tra un Mac tramite Mail e un altro Mac usando Thunderbird, utilizzando certificati autofirmati su entrambe le estremità. Ero abituato a farlo, ma nel corso degli anni le cose sono diventate più difficili da entrambe le parti. Per far funzionare l'estremità di Thunderbird, ora devo creare un'autorità di certificazione autofirmata e usarla per creare un certificato di posta elettronica. Ma non riesco a far funzionare la crittografia sul terminale Mail. (Penso che Apple l'abbia rotto a Mountain Lion.) Nel mio portachiavi sul lato Mail, ho la CA dall'estremità Thunderbird, che è contrassegnata come attendibile, e il certificato e-mail creato da quella CA, che dice "Questo certificato è valido". Ma quando creo un'e-mail che va all'altro Mac, il pulsante di crittografia non è attivo.

Ho letto da qualche parte che il segreto è aggiungere l'estensione "chiave cifratura" quando si crea il certificato, e l'ho fatto, ma non funziona ancora.

    
posta JWWalker 05.06.2014 - 07:02
fonte

2 risposte

1

C'è una ragione per cui stai provando questo particolare approccio?

Se la tua vera domanda è come inviare email firmate e crittografate, io uso GPG (attraverso GPGTools). C'è un plug-in che funziona con Thunderbird ma io uso Apple's Mail.

    
risposta data 07.08.2014 - 18:13
fonte
1

Posso solo rispondere alla parte Mac Mail di questa domanda perché non voglio testare la parte di Thunderbird.

Sto solo scrivendo questa parte per le persone che non hanno familiarità con la crittografia asimmetrica:

In questa forma di crittografia sono necessarie due chiavi, una privata e una pubblica. Un certificato in tal senso non è altro che la chiave pubblica ma ha più informazioni di una semplice chiave, indica chi sei, la tua organizzazione, ecc. Il privato non deve mai essere mai perso e donato agli altri. Se è necessario ricominciare da capo e chi lo ha rubato può decifrare tutto, quindi tienilo salvato e protetto da password. Di solito i certificati sono firmati dalle cosiddette Autorità di certificazione e spesso prendono denaro per il loro servizio. Questo è il motivo per cui alcune persone creano i propri certificati CA e autofirmati, il che è più economico.

Il modo in cui funziona la crittografia della posta elettronica è che tu invii a qualcuno la tua chiave pubblica (certificato) firmando la tua e-mail con essa. Puoi firmare qualsiasi e-mail, perché non viene fatto alcun danno assegnando la tua chiave pubblica. Allora questa altra persona ha la tua chiave pubblica e ti cripta una e-mail con questa chiave. Da questo momento in poi nessuno, oltre all'NSA con un possibile computer Quantum, può decrittografare questo messaggio in un ragionevole lasso di tempo dato la lunghezza della chiave corretta. Oppure alcune persone si infiltrano nelle attuali librerie di crittografia come il bug HEARTBLEED (heartbeat), che potrebbe essere stato intenzionale e chissà quante altre backdoor ci sono. I certificati di solito hanno una durata limitata e devono essere rinnovati di tanto in tanto.

Quindi le cose da portare via: hai bisogno di una chiave pubblica e privata e ne dai solo quella pubblica.

Ecco cosa ho fatto:

  1. Crea una CA root e una CA di firma (non è necessario, ma è quello che ho fatto) e ho usato questo ottimo tutorial per questo: CA a più livelli in link

  2. Poi ho cambiato il mio openssl.conf in modo tale che Mac Mail mi permetta di usare anche la crittografia certificata per la posta elettronica.

    Il bit importante è avere keyUsage ed extKeyUsage

    [ v3_req ]
    
    # Extensions to add to a certificate request
    
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment,       dataEncipherment
    extKeyUsage = emailProtection, Apple .Mac email signing, Apple .mac email encryption
    

    Per le persone a cui piacciono le specifiche, leggi questo link , ma non troverai le parti specifiche per MacOS al suo interno.

  3. Creata la chiave privata e il certificato:

    openssl req -newkey rsa:4096 -keyout <e-mail>.key -config openssl.cnf -out <e-mail>.req -days 3650
    
    openssl ca -config openssl.cnf -out <e-mail>.crt -infiles <e-mail>.req
    

    Potresti sostenere che dieci anni sono troppo lunghi come durata della vita del certificato, ma volevo avere qualcosa che funziona ora e tra 10 anni o anche meno, questo modo di crittografia non funzionerà comunque. Non volevo rinnovare i certificati tutto il tempo mentre li ho creati per tutta la mia famiglia.

    Se qualcosa va storto in questo processo, puoi revocare il certificato da:

    openssl ca -config openssl.cnf -revoke <e-mail>.crt
    

    Si dovrebbe anche creare crls, ma non l'ho fatto neanche io.

  4. Chiavi convertite in formato p12

    openssl pkcs12 -export -in <e-mail>.crt -inkey <e-mail>.key -out <e-mail>.p12
    
  5. Importato p12 sul KeyChain su OS X 10.9.4 (13E28)

  6. Contrassegnato come attendibile

  7. Certificato associato con account di posta nelle preferenze di MacOS Mail in Informazioni account nel campo Certificato TLS. Invia mail ad un altro indirizzo di posta che abbia anche un certificato e una chiave e firmi il messaggio con la mia chiave pubblica, beh Mail di MacOS ha fatto questo per me.

  8. Ricevuto la posta e rispedisci la mia prima posta crittografata.

Quello che è successo a me quando ho provato la procedura con mia moglie era che il simbolo del lucchetto nella mia mail di risposta alla prima mail firmata era in grigio e io ero perplesso. Ciò significava che non potevo crittografare le email. Il motivo era che ho ricevuto la mail firmata che mia moglie mi aveva inviato, ma non segnavo qui la firma come attendibile nel portachiavi MacOS, poiché tutte le firme che si ricevono finiscono anche lì. Dopo averlo contrassegnato come affidabile e riavviato, Mail ha funzionato perfettamente.

Forse qualcuno o anche la persona che chiede può aggiungere la parte di Thunderbird a questa risposta.

    
risposta data 07.08.2014 - 18:00
fonte

Leggi altre domande sui tag