Samstag, 19. Oktober 2013

Emails verschlüsseln mit S/MIME und eigens erstellten RSA Schlüssel

Es ist relativ einfach ein Zertifikat zum Verschlüssel zu erstellen, wenn man manches aus der Hand geben möchte. So kann man z.B. bei Comodo ein kostenlosess Zertifikat erstellen lassen. Siehe https://www.comodo.com/home/email-security/security-software.php Jedoch habe ich den Anspruch, dass ich den privaten Schlüssel stelle und ihn nicht von jemanden erstellen lassen möchte.

Dafür sind ein paar Schritte von nöten, deshalb habe ich diese hier zusammengefasst. Ich habe die Bilderstrecke etwas ausgeweitet damit selbst triviale Schritte erklärt werden.

In dieser Anleiitung benutzte ich Outlook 2013, aber auch Thunderbird unterstützt nativ S/MIME.

Es geht eigentlich nur darum, dass an Emails solche Icon zu sehen sind.


Diese symbolieren unterschrieben und/oder verschlüsselte Emails. Anders als PGP bzw. GPG ist diese Funktionlaität jedoch in Outlook und Thunderbird nativ eingebaut.

Dann lass und mal anfangen ...

Voraussetzung 

Ich empfehle alle Passwörter in KeePass zu speichern, mit AutoType lasse sich diese auch sehr komfortable in den Dialogen automatisch eintippen.

Als erster TrueCrypt Container erstellen, damit schützenswerte Informationen nicht unverschlüsselt irgendwo rumliegen.


Schlüssel erstellen

Privaten RSA Schlüssel erstellen mit OpenSSL
.\openssl.exe genrsa -out v:\private.public.pem 4096.\openssl.exe genrsa -out v:\private.key 4096




CertificateSigningRequest (CSR) zu deutsch Zertifikatsregistrierungsanforderung erstellen.
Wikipedia: Der CSR enthält den öffentlichen Schlüssel eines Schlüsselpaares und muss von der Registrierungsstelle (Registration Authority) auf Authentizität geprüft werden.
.\openssl.exe req -new -key V:\private.public.pem -out V:\CertificateSigningRequest.csr -config "C:\Program Files (x86)\GnuWin32\share\openssl.cnf"
.\openssl.exe req -new -key V:\private.key -out V:\CertificateSigningRequest.csr -config "C:\Program Files (x86)\GnuWin32\share\openssl.cnf"




Zertifikat beantragen

Auf der Seite von GlobalSign gibt es die Möglichkeit die gesamten Vorgang an einem temporären Zertifikat zu testen. https://www.globalsign.com/de-de/personalsign/


Formular ausfüllen


Wichtig, hier die option auswählen, dass wir selber den privaten Schlüssel stellen.
I will use a PKCS10 to generate the public/private keypair during certificate pickup 


Das Pickup Password festlegen.


Jetzt muss man nur noch auf die Email von Global Sign warten.


Und schon erhalten wir die ersten Email "Welcome to GlobalSign" von no_reply@globalsign.com






Und noch eine Email "PersonalSign 30 Day Demo Order Received for ___" von no_reply@globalsign.com





Und eine dritte Email "Order ID PC2013______ GlobalSign PersonalSign 1 <Test> - Approve Application" von approval@globalsign.com. In dieser ist ein Bestätigungslink!


Jetzt bekomme wir endlich die Email um das Zertifiakt abzuholen. "Your certificate is ready for collection PC2013______"
Da es sich um ein Testzertifiakt handelt ist gültig zeitlich sehr beschränkt.

Additional Certificate Information
--------------------------------------------------

Expiration Date:           11/18/2013
Cancellation Period:       10/26/2013
------------------------------
--------------------

Und schon dürfen wir das pickup Password eingeben


Wir öffnen den erstellten CertificateSigningRequest.csr in einem Texteditor.



und kopieren diesen in die Webseite


Nun können wir zwei Dateien runterladen, einmal unsere Zertifikat und das Zertifikat der Certification Authority (CA).





Eingeloggt in GlobalSign lässt sic
  • CERTIFICATE REQUEST (CSR)
    • Unsere Aufforderung damit unser öffentlicher Schlüssel signiert wird.
  • CERTIFICATE (PEM)
    • Dieses Format ist am weitestens verbreitet, kann technisch auch dne privaten Schlüssel beinhalten.
  • CERTIFICATE (PKCS7)
    •  Nicht so wie verbreitet, kann nur ein Zertifikat beinahlten und technisch keinen privaten Schlüssel.
runterladen. Hier ein kurzer Artikel zu den verschiedenen Formaten http://myonlineusb.wordpress.com/2011/06/19/how-to-convert-certificates-between-pem-der-p7bpkcs7-pfxpkcs12/


Integration Windows


Nun können wir mit der Hilfe vom Zertifikat von GlobalSign unsere PKCS12 Zertifikat erstellen.
.\openssl.exe pkcs12 -export -inkey V:\private.public.pem -out q:\PersonalCert.p12 -in V:\PC201310195269.cer
Achtung, die Datei PersonalCert.p12 beinhaltet auch den privaten Schlüssel.



Das PKCS12 Zertifikat können wir durch das Kontextmenü installieren.



Hier empfehle ich die Möglichkeit es Passwortschützes zu wählen.





Und schon sind wir an der Stelle wo wir ein Passwort für unser Public/Privat Zertifikats wählen können.



Einstellungen in Outlook

Nun starten wir Outlook und öffnen die Optionen.

Und öffnen das Trust Center und gehen wir zu den Einstellungen


Hier können die verschiedenen Zertifikate hinterlegt werden. Wir erzeugen einen neuen Eintrag und wählen das gerade Importierte Zertifikat aus.








Wenn wir nun im Outllook eine Email signieren wollen oder auf eine verschlüsselte Email zugreifen wollen, kommt folgender Aufforderung das Passwort einzugeben.


Eine Email zu signieren ist nun relativ einfach gemacht, man muss dies nur unter Optionen auswählen.
Wenn man nun eine Email verschlüssen möchte, muss man dies natürlich mit den öffentlichen  Schlüssel vom Empänger machen.

Hierzu öffnet man den entsprechenden Kontakt im Outlook und fügt dort den öffentlichen Schlüssel dieser Perosn hinzu.


Nun kann man dieser Person auch verschlüsselt Emails zusenden.








Keine Kommentare:

Kommentar veröffentlichen

Über mich