Sunday, August 27. 2006Sicheres E-Mail Teil 5: Signieren von E-MailsIn den bisherigen Artikeln dieser Serie ging es um die Verschlüsselung von Mailverbindungen. Nun geht es um die Signierung (in diesem Teil) und die Verschlüsselung (im nächsten Teil) der eigentlichen Inhalte. Dazu verwenden wir X.509-Zertifikate, die für den jeweiligen Benutzer ausgestellt werden. Mit diesen User-Zertifikaten können wir folgendes tun:
Damit man praktisch mit User-Zertifikaten arbeiten kann, sollte man zwei Mailaccounts (dh unterschiedliche Mailadressen haben), welche je ein eigenes Zertifikat erhalten. Im folgenden sollen die beiden “test1@example.com” und “test2@example.com” heissen. Erstellen der User-ZertifikateBenutzer sollten im Prinzip ihre Schlüssel und CSRs selbst erstellen, damit die Vertraulichkeit auch gegenüber der CA (respektive dem CA-Administrator) gewährleistet ist. Wir halten das Beispiel hier aber einfach, indem die CA auch gleich Schlüssel und CSR erstellt: openssl genrsa -out usrcerts/test1.key.pem 1024 openssl req -config conf/usr.cnf -new -key usrcerts/test1.key.pem -out usrcerts/test1.csr.pem Wie gehabt stellt die CA basierend auf dem CSR das Zertifikat aus (wobei wir nun die User-CA verwenden): openssl ca -config conf/usr.cnf -in usrcerts/test1.csr.pem -out usrcerts/test1.cert.pem Erstellen der PKCS#12-DateiDamit Anwender das Zertifikat und den privaten Schlüssel in ihren Mailclient oder ihren Browser einfügen können, benötigt man eine Datei im sogenannten PKCS#12-Format. Diese Datei wird die folgenden Objekte enthalten:
Das CA-Zertifikat ist nicht zwingend notwendig. Es ist aber sehr praktisch, denn beim Importieren des User-Zertifikats der PKCS#12-Datei in den Browser oder den Mailclient wird damit auch gleich das CA-Zertifikat importiert. Da die PKCS#12-Datei den privaten Schlüssel enthält, muss sie entsprechend geschützt werden. In unserem Fall verwenden wir ein Passwort, aber andere Mechanismen sind denkbar. Das Passwort dürfen wir dem Benutzer natürlich nicht in der gleichen Mail wie die PKCS#12-Datei zustellen… openssl pkcs12 -export -inkey usrcerts/test1.key.pem -in usrcerts/test1.cert.pem -certfile cacerts/usr.cert.pem -out usrcerts/test1.p12 Hier muss man ein Passwort für die .p12-Datei angeben, das wir in den späteren Imports benötigen werden. Importieren in ThunderbirdAlle Zertifikatsaufgaben erledigt man in Thunderbird unter Edit / Preferences / Privacy / Security / View Certificates (unter Windows liegt das Preferences-Menü unter Tools, und nicht under Edit). Dort können wir einen Benutzer-eigenen Schlüssel importieren:
In der Spalte “Purposes” steht eventuell “<Issuer Not Trusted>”. Falls das der Fall ist, wurde das CA-Zertifikat ebenfalls mit importiert (das heisst, es war noch nicht vorhanden). Diesen “Issuer Trust” kann man nun festlegen:
Damit Thunderbird weiss, für welches Account welches Zertifikat verwendet werden soll, müssen wir das definieren:
Importieren in Lotus NotesDie Lotus Notes-eigene PKI beruht auf einem eigenen Standard, der auf eine Zeit vor X.509 zurückgeht. Konzeptionell sind sich Notes- und X.509-Zertifikate aber sehr ähnlich. Unabhängig davon kann Lotus Notes sehr gut mit X.509-Zertifikaten umgehen. Wir importieren das PKCS#12-Paket auf folgendem Weg:
E-Mail signierenWenn wir in Thunderbird von test1@example.com an test2@example.com senden, können wir die Nachricht signieren:
Hier sollte “not found” stehen, da “test1@example.com” das Zertifikat von “test2@example.com” nicht kennt. Falls beide Zertifikate im gleichen Mailprogramm importiert wurden, “kennen” sich die beiden natürlich schon.
Prüfen von SignaturenDer Empfänger wird eine – je nach Mailprogramm unterschiedliche – Benachrichtigung erhalten, dass die empfangene Nachricht digital signiert ist und ein bisher unbekanntes Zertifikat enthält. Bei Lotus Notes sieht das so aus:
Wir wählen “Cross Certify”. Beim Öffnen wird in der Statuszeile wie bei mit der Notes-eigenen PKI signierten Mails der Status angezeigt:
In Thunderbird erhalten wir Auskunft über die Signatur unter View / Message Security Info:
Trackbacks
Trackback specific URI for this entry
No Trackbacks
|
QuicksearchBlog abonnierenBlog AdministrationRights & Wrongs |
