E-Mail und digitale Signatur

Ein gutes Einführungs-Video.

Die digitale Signatur einer E-Mail hat mit den bekannten E-Mail-Signaturen (oft ASCII-Zeichnungen, Adress- und Kontaktdaten) nichts zu tun, der Inhalt dieser E-Mail-Signaturen ist - im Gegensatz zur digitalen Signatur - Teil der Nachricht und kann genauso leicht gefälscht werden wie die Nachricht selbst. Elektronische Signatur wiederum ist ein rechtlicher Begriff aus dem Bereich des Signaturgesetzes (SigG).

Allgemeine Informationen

Mit digital signierten und/oder verschlüsselten E-Mails kann man die Kommunikation per E-Mail deutlich sicherer machen, wobei es 2 Stufen gibt:

  1. Mit digital unterschriebenen E-Mails wird sichergestellt, dass die E-Mail tatsächlich von der angegebenen Absendeadresse (bzw. der damit verbundenen Person) kommt (Authentizität) und dass sie nicht verändert wurde (Integrität). Damit ergibt sich dann auch automatisch die Nichtabstreitbarkeit (Non-Repudiation).
    Achtung: Für HTML-E-Mails mit externen Daten (CSS-Dateien oder Bildern auf Webservern) kann die Integrität nicht garantiert werden, da sich diese Daten unabhängig von der E-Mail ändern könnten! Einer von vielen Gründen, warum man HTML-E-Mails nicht verwenden sollte.
  2. Mit digital verschlüsselten E-Mails wird zusätzlich sicher gestellt, dass die E-Mail nur vom Empfänger gelesen werden kann, da die E-Mail mit seinem öffentlichen Schlüssel (asymmetrisch) chiffriert wurde. Die Nachricht ist dann (in vertretbarer Zeit) nur mit dem zugehörigen privaten Schlüssel dekodierbar (Vertraulichkeit). Ohne diesen privaten Schlüssel ist die E-Mail auch für den berechtigten Empfänger nicht mehr lesbar!

Bei nicht signierten E-Mails können Sie i. Allg. nie sicher sein, von wem die Nachricht kommt und ob sie verändert wurde!
Bei nicht verschlüsselten E-Mails wissen Sie nie, wer das noch lesen kann.

Unabhängig von der Verwendung einer Ende-zu-Ende-Verschlüsselung (E2EE mit S/MIME, PGP, …) sollten E-Mails möglichst sicher transportiert werden: der SMTP-Server („outgoing Mailserver“) sollte unbedingt SMTPS oder Mail Submission unterstützen (und die Verwendung - wie an der TU Graz - erzwingen), der IMAP-Server („incoming Mailserver“) sollte IMAPS beherrschen (und die Verwendung ebenfalls erzwingen) und auch die Übertragung zwischen dem absendenden und dem empfangenden Server sollte nur verschlüsselt (ESMTP/TLS) erfolgen.

Neben einer echten End-to-end-Lösung gäbe es noch die Möglichkeit mit Gateways zu arbeiten, die die Nachrichten signieren und (nach Möglichkeit) verschlüsseln, der Vorteil gegenüber der Verwendung von ESMTP und z. B. DKIM ist aber gering, es wird eventuell eine Vertraulichkeit vermittelt, die gar nicht gegeben ist, weil die Nachricht dann ab dem Gateway im Klartext vorliegt (was dafür wiederum die Untersuchung der E-Mails auf Malware oder Spam ermöglicht, was bei End-to-end-Verschlüsselung zentral nicht möglich ist).

Empfehlung

E-Mails sollten wenn möglich immer digital signiert sein, digital verschlüsselt aber nur dann, wenn es der Inhalt aufgrund

  • gesetzlicher Bestimmungen (z. B. Datenschutzgesetz) oder
  • organisatorischer Bestimmungen (Klassifizierung) oder
  • persönlicher Bedürfnisse (Vertraulichkeit)

erfordert.

Es gibt 2 verbreitete Varianten von digitalen E-Mail-Signaturen:

  1. PGP/MIME - eine Erweiterung von (Open)PGP bzw. GnuPG.
    Arbeitet mit selbst erzeugten Schlüsselpaaren.
  2. S/MIME
    Standard für (hierarchisch) beglaubigte Zertifikate.

Beide Varianten arbeiten mit asymmetrischer Verschlüsselung (public key/private key) und für beide Varianten gibt es für viele E-Mail-Programme Zusätze, mit denen das transparent in den E-Mail-Client integriert werden kann. So kann z. B. das Programm Thunderbird mit S/MIME direkt umgehen, das Add-on Enigmail für PGP ist inzwischen auch fixer Bestandteil. Für Webmail-Versionen, die PGP nicht direkt unterstützen (z. B. OWA) gibt es z. B. die Browsererweiterung Mailvelope.
Mit (Open)PGP bzw. GnuPG arbeitet man nur mit selbst erzeugten Schlüsselpaaren, die Erweiterung PGP/MIME sorgt dann dafür, dass auch Anhänge mitverschlüsselt werden. Für den Standard S/MIME gibt es eine ganze Reihe von Zertifikatsanbietern (Certifcate Authority - CA), die dann die Zugehörigkeit eines öffentlichen Schlüssels zu einer Person bestätigen (und i. Allg. auch das Schlüsselpaar erzeugen). Einige dieser CAs bieten Zertifikate auch gratis an.

Der Hauptunterschied ist also, dass man im einen Fall (S/MIME) einem Zertifikatsanbieter (und allen von ihm ausgestellten Zertifikaten) vertraut, im anderen Fall (PGP) braucht man gegenseitiges Vertrauen bzw. gibt es ein WoT: man beglaubigt die Schlüssel von Leuten, die man kennt (Keysigning-Party), wodurch man dann auch den Schlüsseln unbekannter Personen vertrauen kann (A vertraut B, A sieht, dass B auch C vertraut und damit kann A nun C ebenfalls vertrauen).

Bei beiden Varianten muss man außerdem darauf vertrauen, dass die kryptographischen Methoden fehlerfrei implementiert wurden und dass es für die zugrundeliegenden mathematischen Funktionen nicht unbekannte Lösungsansätze gibt bzw. dass es keine Hardware gibt, mit der sich das mathematische Problem deutlich schneller als geschätzt lösen lässt (Quantencomputer!).

Woher bekomme ich ein S/MIME-Zertifikat?

GÉANT (das europäische Wissenschaftsnetz) trifft im Rahmen von TCS mit CAs Vereinbarungen, wodurch alle ausgewiesenen Angehörigen der TU Graz einfach und gratis S/MIME-Zertifikate für die vom ZID verwalteten E-Mail-Adressen bestellen können.

Wenn eine ausgewiesene Person mehrere Profile hat (etwa Bedienstete und Studierende), dann kann sie derzeit nur für die Bediensteten-E-Mail-Adresse ein Zertifikat bestellen. Weiters dürfen wir nur Zertifikate für Adressen ausstellen, für die wir zentral die Zuordnung Person ⇔ E-Mail-Adresse garantieren können, das sind alle Adressen auf den zentralen E-Mail-Servern des ZID.
Diese Zertifikate sind personenbezogen, d. h. über das genannte Interface kann man daher keine Zertifikate für funktionsbezogene E-Mail-Adressen (z. B. postmaster, office, …) beziehen, sollten solche benötigt werden, stellen Sie bitte einen entsprechenden Antrag.

Sollten Sie für eine andere Adresse (z. B. Ihre Adresse am Instituts-E-Mail-Server) ein S/MIME-Zertifikat benötigen, dann müssen Sie sich an einen der vielen Anbieter wenden, einige wenige bieten das auch noch immer gratis an, z. B. Actalis S.p.A. (Gültigkeit: 1 Jahr) oder auch WISeID (Gültigkeit: 3 Monate).

top

Verwendung von S/MIME-Zertifikaten

Wie oben erwähnt gibt es 2 Möglichkeiten der Verwendung: die digitale Unterschrift und die Verschlüsselung.

Für die digitale Unterschrift braucht der Absender A nur sein Schlüsselpaar: von der Nachricht, die er versenden möchte, wird ein Hash (eine Art Fingerabdruck) erzeugt und dieser mit dem privaten Schlüssel des Absenders verschlüsselt und dann zusammen mit dem öffentlichen Schlüssel des Absenders A an die Nachricht angehängt.
Der Empfänger B kann dann verifizieren, ob die E-Mail tatsächlich vom Absender A stammt (entweder, weil auch er dem Zertifikatsanbieter oder über das WoT dieser Unterschrift vertraut).
Weiters kann B überprüfen, ob die Nachricht unverändert ist, indem auch er den Hash-Wert erzeugt und mit dem mitgesandten Hash-Wert, den er mit dem öffentlichen Schlüssel des Absenders A entschlüsselt, vergleicht (das macht das E-Mail-Programm automatisch und zeigt das Ergebnis an).

Um Nachrichten verschlüsseln zu können braucht man den öffentlichen Schlüssel des Empfangers.
Im obigen Beispiel hat B den öffentlichen Schlüssel von A ja bereits in der letzten E-Mail von A erhalten. B kann nun die gesamte Nachricht mit dem öffentlichen Schlüssel von A verschlüsseln und mit seinem eigenen privaten Schlüssel signieren (auch das geschieht bei entsprechender Einstellung durch das E-Mail-Programm völlig automatisch).
A kann dann die Nachricht von B mit seinem eigenen privaten Schlüssel entschlüsseln und verfügt nun ebenfalls über den öffentlichen Schlüssel von B, ab sofort können sie somit (völlig automatisch) verschlüsselt kommunizieren.
Wenn schon die erste E-Mail verschlüsselt werden muss, muss man zuerst irgendwie zum öffentlichen Schlüssel des jeweils anderen kommen - das funktioniert entweder durch eine PKI (bei PGP z. B. durch sogenannte Public Key Server) oder einfacher, indem diese Schlüssel z. B. auf der Homepage hinterlegt werden (für PGP am besten im ASCII-Format, für S/MIME im DER- oder PEM-Format) - Beispiel: PGP und S/MIME. In diesem Fall muss der Schlüssel händisch importiert werden, insofern ist es einfacher, wenn A B einfach um eine signierte E-Mail bittet.

Moderne E-Mail-Clients signieren und ver- bzw. entschlüsseln nach Installation der eigenen Zertifikate und Aktivierung der Funktion ganz automatisch ohne weiteres Zutun des Absenders und des Empfängers und zeigen nur das Ergebnis (gültig oder nicht gültig) an. D. h. nach einem relativ kleinen Konfigurationsaufwand läuft das Senden und Empfangen ab wie gewohnt, nur bekommt man auch bei jeder E-Mail dann angezeigt, ob alles in Ordnung ist und bei verschlüsselten E-Mails kann man sicher sein, dass diese von sonst niemand gelesen werden kann, verschlüsselte E-Mails an die eigene Adresse können also auch z. B. von den Administratoren nicht gelesen werden, verliert man aber das Zertifikat (Rechnertausch!) oder vergisst man das zugehörige Kennwort, dann kann man diese Informationen auch selbst nicht mehr lesen.

Leider können aber manche (Webmail-)Clients (GMX?) nicht wirklich damit umgehen und zeigen statt einem Symbol für eine gültige Unterschrift ein Attachment an, das diese Clients dann nicht öffnen können - sollten Sie also auf einen Anhang smime.p7s angesprochen werden, der nicht geöffnet werden kann, weisen Sie auf Ihre digitale Unterschrift hin!

top

Verifizierung von TCS-Zertifikaten mit Thunderbird

Damit Thunderbird diese Unterschriften automatisch verifizieren kann, müssen Sie in der Zertifikatsverwaltung eventuell erst bestätigen, dass Sie diese GÉANT-Zertifikate für E-Mail-Signatur akzeptieren.

  • Falls Sie selbst ein Zertifikat wie oben beantragt haben, dann sind auch die anderen notwendigen Zertifikate bereits in Ihrem Zertifikatsstore, Sie müssen die Zertifikate nun eventuell aber noch explizit akzeptieren.
  • Falls Sie selbst kein Zertifikat von GÉANT verwenden, die der anderen Benutzer aber akzeptieren wollen, müssen Sie die GÉANT-Zertifikatshierarchie erst installieren. Laden Sie dazu auch die entsprechenden Intermediate-Zertifikate herunter (z. B. „C=NL, O=GEANT Vereniging, CN=GEANT Personal CA 4“ → unter „crt.sh ID“ steht die ID „2475255043“ → „Download Certificate: PEM“), wechseln in Thunderbird z. B. über die Kontoverwaltung in den Bereich S/MIME-Sicherheit und wählen „Zertifikate verwalten …“. Sie importieren dort das heruntergeladene Zertifikat, das Sie nun noch für E-Mails akzeptieren müssen.

Um die Zertifikate für E-Mail zu akzeptieren wechseln Sie in der Zertifikatsverwaltung in den Reiter „Zertifizierungsstellen“ und über „The USERTRUST Network“ wählen Sie das „GÉANT Personal CA“. Über „Vertrauen bearbeiten…“ bestätigen Sie dann, dass Sie diese Zertifikate für E-Mails akzeptieren.

Ihr E-Mail-Client sollte Ihnen dann anzeigen, ob eine E-Mail verschlüsselt oder nur signiert ist und ob die Signatur stimmt.
Wenn eine Signatur als ungültig angezeigt wird, kann das mehrere Ursachen haben, Details dazu erfahren Sie, wenn Sie das entsprechende Symbol anklicken.
Mögliche Gründe können z. B. sein:

  • ein abgelaufenes Zertifikat,
  • ein Zertifikat, das nicht zum Absender passt,
  • ein Zertifikat, das Ihr E-Mail-Programm nicht kennt oder dem Sie (bzw. Ihr E-Mail-Client) nicht vertrauen, oder aber
  • wenn die E-Mail nach dem Absenden verändert wurde.
Kritisch ist in erster Linie, wenn die E-Mail nachträglich verändert wurde, was bei HTML-E-Mails mit externen Inhalten für diese externen Inhalte aber nicht überprüft werden kann.

top