Fai attenzione a non far rimbalzare un messaggio di mancato recapito. Altrimenti, puoi eseguire l'auto-DDOS sul tuo server di posta.
Potrebbe essere più sicuro, almeno nei primi mesi di sperimentazione, che anziché rimandare le e-mail, le accetterei ma consegnare il messaggio con un grande avvertimento che l'e-mail non è stata firmata correttamente, e potrebbe essere stata un tentativo di phishing e che il destinatario non deve agire sulla posta elettronica a meno che non verifichi le informazioni in esso contenute tramite altri mezzi sicuri.
Se un utente malintenzionato riusciva a ottenere la chiave privata di un utente, allora sarebbe stato abbastanza in profondità nella macchina di quella persona che qualsiasi cosa facesse quella persona sarebbe sospetta, qualunque sia il sistema che stai usando. Quindi questo non è un problema di cui ti devi preoccupare. Inoltre, richiedere le firme ti dà la possibilità di identificare la persona che ha fatto trapelare le proprie chiavi private e disciplinare / riqualificare quella persona. Puoi anche revocare facilmente quella chiave, mentre l'aggressore dovrebbe cercare il sistema di qualcun altro da rompere.
Una CA non dovrebbe emettere un certificato di posta elettronica a meno che non possa provare il controllo dell'indirizzo di posta elettronica. Tutte le CA pubbliche pubblicano la propria Dichiarazione di pratica dei certificati, che specifica in che modo convalidano l'identità di qualcuno prima di firmare un certificato per quella persona. Puoi scegliere una CA con un CPS accettabile e limitare la superficie di attacco in modo che il tuo server di posta si fidi solo di quella particolare CA per la posta all'interno del tuo dominio. Se non si fida di alcuna CA pubblica, è anche possibile eseguire una CA interna in modo che non sia necessario affidarsi a una terza parte per l'identificazione del dipendente interno.
Of course only a valid users key is accepted, not *, so allowed keys are whitelisted.
Invece di autorizzare direttamente le chiavi utente, suggerirei invece le chiavi di elenco attendibile (CA / Web of Trust) in bianco. Solo i server le cui chiavi pubbliche sono certificate dal verificatore sarebbero accettate dal server di posta. Questo separa la responsabilità tra i verificatori e l'amministratore del server di posta e consente di aggiungere / rimuovere persone senza ridistribuzione / riconfigurazione del server di posta. Ad esempio, puoi addestrare le risorse umane per diventare il tuo verificatore di identità e sarebbero responsabili della firma e della revoca dei certificati man mano che le persone vengono e lasciano la società.