StartMail Technisches White Paper

 

Eigentümer Alex van Eesteren
Version 1.0.7
Datum 07.09.2016

 

Inhaltsverzeichnis

  1. Einleitung.
  2. Überblick über StartMail
  3. Konstruktionserwägungen.

3.1.      Webmail vs. Desktop-Client.

3.2.      Clientseitige vs. Serverseitige Verschlüsselung.

3.3.      Clientseitige vs. serverseitige Schlüsselspeicherung.

3.4.      Leistung und Information zu Fehlerbehebung vs. Datenschutz.

3.5.      Open Source vs. Closed Source Software.

  1. Sicherheitsmaßnahmen.

4.1.      Prozesse und Grundsätze.

4.1.1.       Entwicklungsprozess.

4.1.2.       Open Source.

4.1.3.       Kryptographie.

4.2.      Servicearchitektur.

4.2.1.       Allgemeine Architektur.

4.2.2.       User-Tresor.

4.2.3.       Webmail-Features.

4.2.4.       Wiederherstellung.

4.2.5.       Business-Accounts.

4.2.6.       IMAP und mobile Geräte.

4.2.7.       Infrastruktursicherheit.

  1. Fazit
  2. Literaturhinweise.

 

1.         Einleitung

In den letzten Jahren – insbesondere im Jahr 2013 – haben uns zahlreiche Ereignisse gezeigt, dass unsere Alltagskommunikation für Lauscher äußerst wertvoll ist. E-Mails gehören zu den heikelsten Services in puncto Datenschutz, die User online verwenden und es ist keine leichte Aufgabe, die Kommunikation privat zu halten. Zwar existieren bereits leistungsstarke Standards wie SSL / TLS und OpenPGP, doch die Verwendung und korrekte Einrichtung derselben kann für viele unerfahrene User schwierig sein. Da viele Menschen die Einrichtung und Verwendung von Verschlüsselung mit einer langwierigen Einarbeitungszeit assoziieren, kommunizieren sie weiterhin über unsichere Plattformen.

Das Ziel von StartMail ist, dieses Problem zu lösen. Wir sehen Privatsphäre als fundamentales Menschenrecht an und haben uns der Aufgabe gestellt, dem durchschnittlichen User Privatsphäre und Sicherheit zu bieten. StartMail wurde entwickelt, um den Menschen zu helfen, ihr Recht auf Privatsphäre mithilfe leistungsfähiger Verschlüsselung für ihre tägliche E-Mail-Kommunikation zurückzuerobern.

StartMail bringt dieselbe Anwenderfreundlichkeit für Unternehmen, die ihre Daten schützen müssen und Datenschutzbestimmungen wie HIPPA einhalten. In einem separaten Abschnitt erläutern wir, wie wir PGP unternehmerfreundlich gestalten, indem wir die üblichen PGP-Usability-Probleme überwinden.

StartMail wurde von den Menschen hinter den Privatsphäre-Suchmaschinen StartPage.com und Ixquick.com begründet. Die Entwicklung dauerte mehr als drei Jahre und war ein natürlicher Schritt vom Angebot einer privaten Internet-Suche hin zum Angebot für private und sichere E-Mail-Kommunikation.

Dieses Dokument erläutert die von uns getroffenen Entscheidungen in Bezug auf Sicherheitspraktiken und den Privatsphäre-Schutz unserer User. Zuerst bieten wir einen kurzen Überblick über unsere Leistungen, danach listen wir die wichtigsten Entscheidungen in Bezug auf unsere Erwägungen zur Konstruktion während der Gestaltung unserer Service-Architektur auf. Schlussendlich beschreiben wir die getroffenen Entscheidungen im Detail, mit dem Hauptaugenmerk auf sicherheitsorientierte Vorsichtsmaßnahmen und Funktionen.

Nach oben.

2.         Überblick über StartMail

StartMail ist eine Plattform für sichere E-Mail-Kommunikation. Auf unseren Service kann sowohl von einem Web-Interface aus zugegriffen werden als auch über das traditionelle IMAP-Protokoll, das mit bestehenden E-Mail-Clients kompatibel ist.

Versierte Anwender mit ausreichend Wissen und Erfahrung können von der erweiterten Funktionalität profitieren: Zum Beispiel bietet StartMail diesen Usern die Möglichkeit, ihren Wiederherstellungscode selbstständig zu speichern, ihren bestehenden OpenPGP-Schlüssel zu importieren und zu verwalten oder auch alle OpenPGP-Interaktionen manuell zu behandeln, um StartMail zur Übermittlungsplattform für ihre eigene sichere Kommunikation zu machen.

Wir wollen sichere Kommunikation so transparent wie möglich machen. Zu diesem Zweck wird Open PGP verwendet. Versierte User haben die Möglichkeit, auf alle Kryptographie bezogenen Funktionen zu verzichten und ihre Kryptographie eigenständig zu behandeln und dann über IMAP auf ihre E-Mails zuzugreifen. Standardmäßig bietet StartMail jedoch die folgenden Sicherheitsfunktionen für User:

  • Asymmetrische Verschlüsselung und Signatur mit OpenPGP – sowohl für StartMail-User als auch für Nicht-StartMail-User.
  • Symmetrische (Frage & Antwort)-Verschlüsselung für User, die kein PGP verwenden.
  • Operative Gesellschaft und Rechtsträger strikt außerhalb der US-Gerichtsbarkeit.
  • Minimale Datenspeicherung über User und Verzicht auf Tracking-Cookies, wie in unseren sehr strengen Datenschutzrichtlinien [1] beschrieben.
  • Alle Daten im Besitz des Users, einschließlich E-Mails, Präferenzen und Anti-Spam-Profile werden im “User-Tresor” verschlüsselt gespeichert.
  • Eingehende E-Mails für User werden augenblicklich für die spätere Zustellung , wenn der User seinen User-Tresor öffnet, mithilfe des öffentlichen Schlüssel des “Queue-Schlüsselpaars” verschlüsselt.

Nach oben.

3.         Konstruktionserwägungen

Während der Entwicklung von StartMail wurden wir vor mehrere Herausforderungen in Bezug auf Sicherheit, Datenschutz und Userfreundlichkeit gestellt. In diesem Abschnitt werden wir die relevantesten Entscheidungen behandeln.

3.1.    Webmail vs. Desktop-Client

Unser Ziel bei der Entwicklung von StartMail war es, einen anfängerfreundlichen OpenPGP-Client zu erschaffen. Wir entschieden uns aus mehreren Gründen, einen Webmail-Client statt einer Desktop- (oder mobilen) Anwendung anzubieten. Erstens haben sich viele E-Mail-User daran gewöhnt, über einen Browser auf ihre E-Mails zuzugreifen. Zweitens, da die User erwarten, von verschiedenen Geräten aus auf Ihre E-Mails zugreifen zu können, gestattet die Webmail Lösung eine Alternative zu OS-spezifischen Anwendungen und erlaubt ihnen, von der weiten Verbreitung zu profitieren, die Browser bieten. Schlussendlich gibt es bereits sichere OpenPGP kompatible Desktop-Clients, die für die Verwendung von StartMail über IMAP konfiguriert werden können.

Die StartMail Web-Anwendung ist ein PGP-fähiger Mail-Client für das Web. Trotzdem unterstützen wir auch traditionelle E-Mail-Clients, die mit IMAP funktionieren.

Nach oben.

3.2.    Clientseitige vs. Serverseitige Verschlüsselung

Grundsätzlich können OpenPGP-Operationen (wie Ver- und Entschlüsselung) sowohl auf dem Server als auch auf dem Client erfolgen. In StartMail finden alle OpenPGP-Operationen serverseitig statt.

Wir haben uns entschieden, Die Kryptographie auf dem Server durchzuführen, nachdem wir die clientseitige Möglichkeit gewissenhaft geprüft haben. Wir lehnten dies ab, weil OpenPGP-Operationen in einem Web-Browser in einem JavaScript-Kontext stattfinden, die absolut nicht die richtige Umgebung für Kryptographie ist. Eine Reihe von zwingenden Gründen, warum dies der Fall ist, beschreibt die NCC Group in diesem ausgezeichneten Artikel:

https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/.

Zu den Gründen, clientseitige kryptographische Operationen abzulehnen, zählen:

  • Browser-JavaScript ist nicht bereit für die Kryptographie hinsichtlich der Programmierung von Primitiven wie eine zuverlässige Quelle von Zufallszahlen, mathematischen Funktionen usw.
  • Die Formbarkeit der JavaScript-Laufzeitumgebung bedeutet, dass die Zukunftssicherheit von einem Teil eines JavaScript-Codes unmöglich zu gewährleisten ist: Der Server, der JavaScript bereitstellt, könnte leicht eine Hintertür im Code platzieren oder der Code selbst könnte während der Laufzeit durch ein anderes Script modifiziert werden. Dies verlangt von den Usern das gleiche Maß an Vertrauen in den Server, der JavaScript bereitstellt, das sie in die serverseitige Kryptographie setzen.
  • JavaScript wird in einer Umgebung ausgeführt (Browser), über das der Programmierer extrem wenig Kontrolle hat. Unter diesen Bedingungen ist es schwierig bis unmöglich, eine sichere Speicherverwaltung bereitzustellen, gegen Timing-Angriffe zu schützen, usw. bereitzustellen.

In einfachen Worten: JavaScript ist eine schlechte Umgebung für den Umgang mit solch heiklen Operationen wie Kryptographie. Darüber hinaus kann ein JavaScript-Code, der in einem Browser läuft, auch von anderen Teilen eines im gleichen Browserfenster laufenden Teils eines JavaScript-Codes beeinflusst werden und manchmal sogar von anderen Webseiten.

Diese Bedingungen machen es uns unmöglich, dass gleiche Maß an Sicherheit wie durch die Bereitstellung von serverseitiger Kryptographie zu gewährleisten.

Ein häufig zitierter Vorteil der clientseitigen Kryptographie – zumindest in der Theorie – ist, dass weder der Server noch der E-Mail-Anbieter Zugang zum privaten OpenPGP-Schlüssel des Users hat, was das benötigte Vertrauen des Users in den E-Mail-Anbieter reduziert. In der Praxis ist dieser Sicherheitsvorteil jedoch illusorisch. Die einzige Gelegenheit, bei der private OpenPGP-Schlüssel tatsächlich nicht in Kontakt mit irgendeinem Server oder einem zur Verfügung gestellten Server-Code kommt ist, wenn die Kryptographie über eine native Desktop-Anwendung (z. B. GnuPG oder GPGtools) durchgeführt wird. StartMail unterstützt dies bereits vollständig mittels IMAP.

Clientseitige Kryptographie-Operationen in einem Webbrowser, die JavaScript nutzen, bieten nur einen oberflächlichen Schutz vor einem Server, der gefährdet ist oder böswillige Absichten verfolgt. Dies liegt daran, dass der ausgeführte JavaScript-Code direkt von jenem Server empfangen wird. Auf diese Weise wird der Browser zu einer serverseitigen Erweiterung für bestimmte Operationen.

Wir sehen die Client-Seite (Browser) vs. Server-Seite-Debatte als sich verändernde Größe und werden weiterhin nach technologischen Errungenschaften Ausschau halten, die es uns ermöglichen, unsere Entscheidung zu überdenken. Vor allem im Bereich browserbasierter Kryptographie verändern sich die Verfügbarkeit und die Qualität der Programmbibliotheken sehr schnell. Wir werden die Umsetzung einer clientseitigen Lösung in Erwägung ziehen, sobald Browser-Systeme und verfügbare Software zur nötigen Reife weiterentwickelt wurden, um vertrauenswürdige kryptographische Operationen zu bieten.

Die Vertrauensfrage bleib immer, egal ob OpenPGP-Operationen nun im Browser oder auf dem Server stattfinden. Aus diesem Grund glauben wir, dass die „echte Client-Seite“ (native Desktop) die sicherste Option ist. Sie gibt den Anwendern die vollständige Kontrolle über ihre OpenPGP-Schlüssel-Verwaltung und Kryptographie-Operationen in einer Umgebung, die für diesen Zweck besser geeignet ist als der Browser. Es existieren nach wie vor offensichtliche Probleme mit der Anwendererfahrung, der Setup-Komplexität und einem möglichen Datenverlust in Desktop-Clients. Da die volle Kompatibilität bei der Verbindung zu StartMail via IMAP gewährleistet ist, wollen wir auch die sicherste browser-basierende Lösung anbieten, die möglich ist.

Nach oben.

3.3.    Clientseitige vs. serverseitige Schlüsselspeicherung

Unabhängig davon, wo die Verschlüsselung und Entschlüsselung stattfinden, ist eine Diskussion über OpenPGP-Schlüsselspeicherung in Ordnung. Clientseitige Schlüsselspeicherung bedeutet, dass der private OpenPGP-Schlüssel dauerhaft auf dem Computer des Anwenders gespeichert wird (im Gegensatz zur Speicherung auf dem Server). Die Anwender speichern den Schlüssel entweder dauerhaft im Browser oder sie tragen ihren Schlüssel mit sich und stellen ihn bei Bedarf dem Browser zur Verfügung.

Browser verfügen über keine sichere Möglichkeit, OpenPGP-Schlüssel zu speichern, die unsere Standards erfüllen. Darüber hinaus verwendet die große Mehrheit der Menschen noch immer veraltete Browser. Was in anderen Zusammenhängen mit “graceful degradation” [2] gelöst werden könnte (z.B. das Zurückgreifen auf eine alternative CSS-Eigenschaft, wenn der Browser die neuere nicht unterstützt), ist in einem Sicherheitsmodell einfach keine Option. Bis diese Situation nicht besser ist, bevorzugen wir, die PGP-Schlüssel unserer Anwender nicht den Gefahren der Lagerung im Browser auszusetzen. Zumal wir uns (aus den oben beschriebenen Gründen) für den serverseitigen Ansatz für den Umgang mit kryptographischen Operationen entschieden haben, sehen wir kein überzeugendes Argument, die Schlüssel Browsern preiszugeben.

Es ist wohl nicht notwendig zu erwähnen, dass die Idee, dass Anwender ihre OpenPGP-Schlüssel mit sich tragen, ein potentielles Sicherheitsrisiko darstellt. Viele User hätten weder das Wissen noch die Geduld, um die notwendigen Vorkehrungen zu treffen, dass ihre Schlüssel nicht überflüssig vervielfacht oder unsicher gelagert werden.

Nach oben.

3.4.    Leistung und Information zu Fehlerbehebung vs. Datenschutz

Das Behalten eines Protokolls von Aktivitäten auf unseren Servern kann sehr nützlich für Fehlerbehebungen, Leistungs- und Sicherheitsverbesserungen sein. Doch bei der Entscheidung, welche Daten protokolliert werden, entscheiden wir immer zu Gunsten der Privatsphäre und Sicherheit unserer User.

Ein essenzielles Beispiel hierfür ist unser Ansatz im Umgang mit Spamfilter-Profildaten. Zusammen mit den Standard-Algorithmen verwenden wir Metadaten, um reale Beispiele zu erhalten, was User als Spam ansehen und was nicht. Wir haben uns entschieden, diese Informationen im persönlichen Tresor des Users zu speichern (nachfolgend beschrieben), anstatt sie allgemein zu speichern, um die gesamte Effektivität unserer Spamfilter zu verbessern. Etwas anderes zu tun würde bedeuten, dass Teile von E-Mails unserer User dem ganzen System zur Verfügung stünden, was unsere Verpflichtung, dem Datenschutz oberste Priorität einzuräumen, verletzen würde.

Eine ähnliche Situation besteht bei der Suchindexierung. Damit die Suchfunktion schnell reagieren kann, müssen E-Mails indexiert werden und die Indizes müssen aktuell sein. Dies kann zu jedem Zeitpunkt geschehen, vorausgesetzt es geschieht bereits, bevor der User eine Suche startet. Im Falle von StartMail können die Suchindizes nur aktualisiert werden, wenn der User eingeloggt ist. Ist er nicht eingeloggt, sind E-Mails und Indizes verschlüsselt im User-Tresor gespeichert und die Indexierungsoperationen können nicht stattfinden. Diese Einschränkung, die uns zur Indexierung von E-Mails ausschließlich nach dem Login beschränkt, bietet für unsere User bessere Privatsphäre und Sicherheit, während sie nur einen kleinen Nachteil in der Funktionalität mit sich bringt.

Nach oben.

3.5.    Open Source vs. Closed Source Software

Der StartMail Quellcode setzt sich aus Open Source- und Closed Source-Komponenten zusammen. Die Open Source-Komponenten bestehen hauptsächlich aus infrastrukturellen Codes (beispielsweise Linux Betriebssystem und OpenPGP Cryptographic Suite) sowie Bibliotheken für unsere Web-Anwendung, wie zum Beispiel jQuery und AngularJS. Der Code, den wir geschrieben haben, um den Webmail-Service bereitzustellen, die User-Tresore verwalten zu können und Redundanzen zu bieten, ist Closed Source.

Open Source-Codes bieten gewisse Vorteile in Sachen Sicherheit, da eine Vielzahl von Menschen Zugriff auf den Quellcode haben und helfen können, ihn noch sicherer zu machen, indem sie Audits durchführen und Sicherheitslücken melden. Wir glauben allerdings, dass diese Vorteile nur bei großen Projekten zutreffen, die von einer etablierten Community unterstützt werden. Wenn ein Projekt noch zu klein ist, um die Aufmerksamkeit externer Sicherheitsexperten zu gewinnen, kann das Veröffentlichen des Quellcodes Risiken bergen, die jegliche Vorteile bei Weitem überwiegen. Potenzielle Angreifer gewinnen auf diesem Wege eine mächtige, zusätzliche Waffe: Den Quellcode der Anwendung.

Aus diesem Grund haben wir uns aus Sicherheitsgründen entschlossen, unseren Quellcode nicht zu veröffentlichen und unabhängige Prüfer zu engagieren, die unsere Datenschutz- und Sicherheitsmaßnahmen belegen sollen. Wenn StartMail wächst, kann es durchaus dazu kommen, dass die Vorteile bei einer Veröffentlichung unseres Quellcodes gegen etwaige Risiken überwiegen und wir unsere Entscheidung noch einmal überdenken.

Nach oben.

4.         Sicherheitsmaßnahmen

Im vorherigen Abschnitt beschrieben wir die Design-Entscheidungen, die im Laufe der Entwicklung von StartMail getroffen wurden. In diesem Abschnitt begutachten wir nun die Sicherheitsmaßnahmen, die die Organisation, Entwicklung, Instandhaltung und Systemarchitektur beeinflussen.

4.1.    Prozesse und Grundsätze

Die Priorität von StartMail lag von Anfang an ganz klar bei Sicherheit und Datenschutz. Doch egal wie sicher ein System in der Theorie auch ist, wenn ein kritischer Dienst Schwachstellen aufweist, können Angreifer selbst sorgfältig durchdachte Sicherheitsmaßnahmen überwinden. Mit diesem Gedanken im Hinterkopf starteten wir einen sicherheitsorientierten Entwicklungsprozess, um gewährleisten zu können, dass keine Schwächen im System auftreten, wenn sich der Code in der Entwicklung befindet oder instandgehalten wird. Des Weiteren etablierten wir zahlreiche Verteidigungsschichten, um mögliche Schäden so gering wie möglich zu halten.

Nach oben.

4.1.1.   Entwicklungsprozess

Ein sicherer Code ist eine Top-Priorität bei einem Projekt wie StartMail. Natürlich existieren diverse Maßnahmen, um die Folgen potentieller Schwachstellen in unserer Software zu schmälern.

Wir haben zahlreiche Maßnahmen etabliert, um sicherzustellen, dass interne und externe Prüfer eine objektive Einschätzung des StartMail-Codes vornehmen können:

  • Die Programmierer, die an StartMail arbeiten, wurden für sichere Entwicklung ausgebildet und haben Erfahrung auf dem Gebiet.
  • Ein qualitativ hochwertiger, gut strukturierter und lesbarer Code ist essentiell in Sachen Sicherheit. Darum geben wir unser Bestes, um zu gewährleisten, dass Gutachter die Struktur und Funktionsweisen unseres Codes problemlos verstehen und sich auf das Finden von Schwachpunkten konzentrieren können.
  • Jede Codezeile wird von mehreren, voneinander unabhängigen Entwicklern auf Qualität und Sicherheit geprüft, ehe sie der Codebasis hinzugefügt wird. Entdeckte Probleme in dieser Phase resultieren in der Ablehnung des Codes: Er kann nicht in den Quellcode aufgenommen werden, bevor der Fehler nicht berichtigt wurde.
  • Sicherheitsexperten, die nicht zum Entwickler-Team gehören, führen Sicherheits-Audits des Codes durch. Dasselbe gilt für externe Bibliotheken.
  • Die Entwicklungs-Infrastruktur (code repository, issue tracker, review tooling) kommt ausschließlich beim StartMail-Projekt zum Einsatz und ist nur für Teammitglieder und Begutachter zugänglich.

4.1.2.   Open Source

Wir glauben, dass die Verwendung von Open Source Bibliotheken und Werkzeugen im Gegensatz zu jenen, die von kommerziellen Instanzen kontrolliert werden, oft die sicherere Wahl ist. Stabile Communitys stehen hinter der Entwicklung solcher Werkzeuge und die frei zugängliche Quelle erlaubt uns eine interne Prüfung, bevor wir uns dazu entschließen, sie in unsere Anwendung einzubinden. Das ist der Hauptgrund, weshalb wir, zusätzlich zu dem Code, den wir selbst schreiben, ausschließlich Gebrauch von Open Source-Komponenten machen.

Nachdem die Entwickler dieser Werkzeuge Unterstützung brauchen, um ihre Arbeit fortführen zu können, hat StartMail bereits an mehrere Open Source-Projekte gespendet, darunter auch LibreSSL [3].

4.1.3.   Kryptographie

Das Rad in Sachen Kryptographie (und Sicherheit im Allgemeinen) neu zu erfinden, ist immer eine sehr schlechte Idee [4]. Es ist nicht bloß unnötig, sondern auch potentiell gefährlich. Die Geschichte zeigt, dass man in der Kryptographie am besten auf Standardwerkzeuge- und Bibliotheken sowie bewährte Algorithmen zurückgreift, die der genauen Prüfung der akademischen und Open Source Communities standgehalten haben. Die meisten Entwickler sind sich dessen bewusst, doch das eigentliche Problem ist recht nuanciert. Neben den Dingen, die wir am besten Kryptographie-Experten überlassen, stechen diese Kategorien am deutlichsten hervor:

  1. Kryptographie-Algorithmen für Verschlüsselung, Entschlüsselung und Hashing. Es ist keine besonders gute Idee zu versuchen, AES, RSA oder SHA-2 zu ersetzen.
  2. Kryptographische Protokolle wie PBKDF2, HMAC, SSL, und diverse PKCS-Standards. Selbst beim Verwenden bewährter kryptographischer Algorithmen ist es normalerweise unklug, neue Schemata einzubringen.
  3. Kryptographische Implementierungen. Auch, wenn man Gebrauch von kryptographischen Muster-Algorithmen macht und sich im Rahmen des bewährten Protokolls bewegt, ist eine Implementierung niemals unerheblich. Solche Aufgaben überlassen wir Open Source-Bibliotheken, die von einer Community geprüft werden. Im Fall von OpenSSL, dem viel zu wenig Aufmerksamkeit seitens der Sicherheits-Commuity [5] geschenkt wurde, verfolgen wir die Entwicklungen genau und ziehen in Betracht, OpenSSL so bald wie möglich durch einen geeigneten Ersatz abzulösen.

Nach oben.

4.2.    Servicearchitektur

Der vorherige Abschnitt widmet sich den Sicherheitsmaßnahmen auf organisatorischer Ebene und der Prozessebene. In diesem Abschnitt erklären wir unsere Überlegungen in Bezug auf die generelle Architektur, Webmail, Kontowiederherstellungs-Methoden, Business-Accounts und IMAP.

4.2.1.   Allgemeine Architektur

4.2.1.1.    TLS and PFS

Um mit unseren Usern sicher kommunizieren zu können, verschlüsseln wir jede Verbindung mittels TLS-Protokoll. Die genauen Details der Verschlüsselung einer Verbindung zu StartMail hängen davon ab, worauf sich Server und Client während des Errichtens der TLS-Verbindung einigen. Durch die Konfiguration von sicheren Präferenzen, haben die Clients, die diese Anforderungen unterstützen (also alle aktuellen Clients) sichere Verbindungen zu uns. Unsere Server sind mit den folgenden Anforderungen konfiguriert:

  • Verlange ein wichtiges, kryptographisches Merkmal namens Perfect Forward Secrecy (PFS). Die Wichtigkeit von PFS wird unten erläutert. In der Praxis heißt das, dass unsere Server Dife Hellman-basierte Authentifizierungs-Chiffren wie ECDHE bevorzugen.
  • Unterstütze nur Hashing-Algorithmen, die keine bekannten Schwachstellen aufweisen, die in der Praxis ausgenützt werden könnten, also kein MD5.
  • Bevorzuge den Gebrauch der neuesten Version von TLS: 1.2. Dies erlaubt uns das Benutzen stärkerer Verschlüsselungschiffren (wie beispielsweise AES-GCM) und schützt vor den meisten Attacken auf Blockchiffren, die im Laufe der letzten zwei Jahre veröffentlicht wurden.
  • Bevorzuge starke Blockchiffren (AES-GCM) über RC4. Für Rückwärtskompatibilität mit älteren Clients sind beide verfügbar, wenn aber ein neuerer Client eine Verbindung herstellt, wird AES-GCM verwendet.
  • Verwende mindestens 128 Bit Schlüsselmaterial in Blockchiffren und Streamchiffren (AES-GCM and RC4).

Eine vollständige Auswertung unserer TLS-Verbindung und Praktiken finden Sie in unserem SSL Labs report [6].

In jedem Fall, in dem PFS nicht verwendet wird, besteht das Risiko, dass der frühere, verschlüsselte Verkehr gefährdet wird. Das kann passieren, wenn der private Schlüssel eines Systems (sei es durch Hacking, Diebstahl, oder auf Anordnung einer Behörde) kompromittiert wird und die Personen, die den Schlüssel erbeutet haben, im Besitz von Aufzeichnungen des früheren Verkehrs zwischen Client und Server sind. Perfect Forward Secrecy schützt vor dieser Bedrohung, indem es verhindert, dass der bisherige Verkehr entschlüsselt wird, selbst wenn der Schlüssel kompromittiert wurde.

StartMail verwendet die Zertifikate von Buypass, einem norwegischen Zertifizierer. Ein Zertifizierungs-Unternehmen außerhalb der USA gibt uns mehr Sicherheit, dass die StartMail-Zertifikate nicht durch eine Regierungsanordnung kompromittiert werden.

Nach oben.

4.2.1.2.    Verschlüsselung bei Übermittlung und Speicherung

Alle Verbindungen zu (und zwischen) StartMail-Servern sind durch eine TLS-Verschlüsselung geschützt. Obwohl die Verbindung während der Übertragung verschlüsselt ist, empfehlen wir, die E-Mails mithilfe von OpenPGP selbst zu verschlüsseln, sodass sie verschlüsselt auf dem Server gelagert oder gefahrlos über weniger seriöse externe Anbieter geliefert werden können. OpenPGP ist besonders wichtig für die Kommunikation mit anderen, deren E-Mail-Anbieter sich nicht dem Datenschutz und der Sicherheit verschrieben haben und wenn User via IMAP auf ihre E-Mails zugreifen (und dementsprechend Kopien ihrer E-Mails auf einem Gerät speichern).

Das folgende Diagramm illustriert den Unterschied zwischen dem Verschlüsseln der Verbindung und dem Verschlüsseln der eigentlichen Daten, und warum beides wichtig ist.

4.2.1.3.    Header-Stripping

Als weiteres Datenschutz-Feature haben wir einige Header-Stripping-Funktionen für eingehende und ausgehende E-Mails hinzugefügt.

Sowohl für ein- als auch für ausgehende E-Mails haben wir folgende Maßnahmen ergriffen:

  • Verschleierung lokaler IP-Adressen und Hostnamen. Dies geschieht, damit keine Informationen über die Infrastruktur preisgegeben wird.
  • Zurückweisen von E-Mails, die von gesperrten Absenderadressen kommen. Zum Beispiel E-Mails die angeblich von administrator@startmail.com oder ähnlichen Adressen eingehen.

Speziell für ausgehende E-Mails befreien wir die Header von folgenden Informationen:

  • User-Agent
  • X-Mailer
  • Ursprungs-IP
  • X-Enigmail-Version
  • X-Virus-Scanned
  • X-Pgp-Agent
  • Empfangen
  • Mime-Version

Nach oben.

4.2.1.4.    Ratenbegrenzung

Wir haben Ratenbegrenzungs-Features etabliert, um das System vor Passwort brute-forcing (Ausprobieren verschiedener Passwörter) und username enumeration (Aufzählen von Usernamen) zu schützen. Durch eine kurzzeitige (weniger als eine Stunde) Speicherung von IP-Adressen werden potenzielle Angreifer identifiziert und die Versuche, Passwörter zu erraten, reduziert. Dies geschieht in Übereinstimmung mit unserer Datenschutzerklärung.

4.2.2.   User-Tresor

Userdaten werden in sogenannten User-Tresoren gespeichert, die im Grunde nichts anderes sind als komplett verschlüsselte LUKS volume [7].Nachdem User ihr Kontopasswort eingegeben haben, haben sie für die Dauer der Session Zugriff auf ihre Inhalte.

Ist der Tresor geschlossen, kann keine Person auf dessen Inhalte zugreifen, selbst wenn sie anderweitig Zugang zum Server hat.

Aufgrund unseres User-Tresor-Systems müssen wir weder die Passwörter unserer User noch zerlegte Versionen derselben speichern – also tun wir es nicht. Anstatt das Passwort eines Users zu überprüfen, verwenden wir es ganz einfach für dessen Versuch, den Tresor zu öffnen. Gelingt es, war das Passwort korrekt. Selbstverständlich sind entsprechende Sicherheitsmaßnahmen vorhanden, die uns vor Timing-Angriffen schützen, wenn wir auf diese Art und Weise die Zugangsberechtigungen prüfen.

Nach oben.

4.2.2.1.    Was speichern wir in User-Tresoren?

Wir speichern die E-Mails der User und alle privaten Angaben zum Userkonto im eigenen User-Tresor des Users (Details finden Sie in unseren Datenschutzrichtlinien). Das bedeutet, dass jedes Mal, wenn ein User auf seinen Posteingang zugreifen will, er erst den Account, also seinen User-Tresor öffnen muss.

4.2.2.1.1   E-Mail

E-Mails werden im User-Tresor gelagert, sobald sie an einen Account zugestellt wurden. Natürlich können Nachrichten, die eingehen, während der User ausgeloggt ist, nicht zugestellt werden, ehe er seinen User-Tresor manuell öffnet, indem er sich einloggt.

Da wir wollen, dass Daten nur für die rechtmäßigen Eigentümer zugänglich sind, wird ein zusätzliches OpenPGP-Schlüsselpaar für jeden User generiert, das als “queue keypair” fungiert. Der private Schlüssel wird innerhalb des User-Tresors gespeichert und der öffentliche Schlüssel ist dem Mailer Service zugänglich. Wenn Post für einen User eintrifft, wird diese mithilfe seines queue’s public key verschlüsselt und in einer Warteschleife gespeichert. Sobald der Tresor geöffnet wird (durch das Einloggen des Users), werden diese Mails vom queue’s private key entschlüsselt und in den Posteingang des Users verschoben.

HINWEIS: Das Queue-Schlüsselpaar ist *vollkommen getrennt* vom OpenPGP-Schlüsselpaar des Accounts, das für die Kommunikation verwendet wird.

Natürlich ist der End-to-End-Schutz bereits gegeben, wenn der Absender der Nachricht sich dazu entschließt, sie mithilfe von OpenPGP zu verschlüsseln, was wir prinzipiell immer empfehlen. Der Prozess, den wir oben beschreiben, ist lediglich eine zusätzliche Sicherheitsebene.

4.2.2.1.2   Spam und Metadaten

StartMail ermöglicht den Usern, ihren bayesschen Spam-Filter zu trainieren, indem sie E-Mails im Webmail-Interface als Spam oder Nicht-Spam markieren. Die mit dem Spamfilter-Training verbundenen Metadaten werden als sensible Userdaten betrachtet, da sie zumindest einen Teil der Inhalte der E-Mails eines Users enthalten. Aus diesem Grund werden diese Daten im User-Tresor aufbewahrt. Das bedeutet, dass niemand außer dem User Zugriff auf diese Daten hat und dass jeder User seinen eigenen, persönlich trainierten Spam-Filter hat.

4.2.2.1.3    Schlüsselbund

Wenn sich User bereiterklären, von den OpenPGP-Features im StartMail Webmail-Interface Gebrauch zu machen, wird auch ihr Schlüsselbund im User-Tresor gespeichert. Sie können andere (öffentliche wie private) Schlüssel für die Kommunikation mit anderen Usern zu ihrem Schlüsselbund hinzufügen.

Nach oben.

4.2.3.   Webmail-Features

Wir bieten über unsere Webmail-Plattform verschiedene Features an, die die Sicherheit von Nachrichten erhöhen. In diesem Kapitel zeigen wir Details über die Implementierung dieser Features auf.

4.2.3.1.    Symmetrische Verschlüsselung (F&A-Nachrichten)

Symmetrisch verschlüsselte Nachrichten können erstellt werden, indem eine E-Mail geschrieben und F&A als Verschlüsselungsoption gewählt wird.

Das Senden einer F&A-Nachricht ist dem Senden einer verschlüsselten E-Mail sehr ähnlich, mit nur ein paar Unterschieden:

  • Die Nachricht wird mithilfe der OpenPGP symmetrisch verschlüsselt; die Antwort dient als Schlüssel.
  • Die Verschlüsselung wird mit GnuPG im symmetrischen Modus unter Verwendung der CAST-5-Chiffre durchgeführt, in dem die Antwort auf die Frage die an GnuPG gelieferte Passphrase ist. Cast-5 ist die von GnuPG v1.0 & v2.0 verwendete Standard-Chiffre.
  • Im Gegensatz zu einer klassischen, asymmetrisch OpenPGP-verschlüsselten Nachricht, die für alle öffentlichen Schlüssel der Empfänger verschlüsselt werden muss, ist diese Verschlüsselungs-Option für jegliche Empfänger verfügbar – selbst jene, die keinen öffentlichen OpenPGP-Schlüssel importiert haben.
  • Wenn der vorgesehene Empfänger der Nachricht kein User von StartMail ist, wird die Nachricht nicht als tatsächliche E-Mail versendet. Stattdessen:
    • Wird sie verschlüsselt auf unseren Servern gespeichert.
    • Eine Benachrichtigungs-E-Mail wird dem Empfänger übermittelt. Diese Mitteilung beinhaltet einen Link zu einem StartMail-Server.
    • Wenn der Empfänger auf den Link in der Benachrichtigungs-Mail klickt, erscheint die Frage des Absenders mitsamt einer Aufforderung, die richtige Antwort einzugeben. Die Antwort muss jener entsprechen, die vom Sender spezifiziert wurde.
    • Der Empfänger hat bloß fünf (5) Versuche, die richtige Antwort einzugeben. Hat er alle Chancen vertan, ist die Nachricht nicht länger zugänglich. Dies ist eine Maßnahme gegen Brute-Forcing.
    • Hat der Empfänger die richtige Antwort eingegeben, ist er oder sie imstande, die Inhalte der F&A-Nachricht einzusehen und – auf sicherem Wege – über dasselbe Interface eine Antwort zu senden.
    • Wenn der Sender die OpenPGP-Funktion in StartMail aktiviert hat, wird die (optionale) Antwort mit dessen öffentlichem Schlüssel asymmetrisch verschlüsselt.

Ist der vorgesehene Empfänger ein StartMail-User, wird die Nachricht intern als normal verschlüsselte Nachricht verschickt. Die in StartMail eingebettete OpenPGP-Funktion erlaubt dem Empfänger, die Nachricht über das Web-Interface durch das Beantworten der Frage zu entschlüsseln.

Als zusätzliche Sicherheitsmaßnahme werden F&A-Nachrichten nach einer vorab festgelegten Zeitspanne automatisch von den StartMail-Servern gelöscht. Die User können einen Zeitrahmen zwischen einem Tag bis zu drei Monaten bis zum Ablauf wählen. Dieser Ablauf bezieht sich ausschließlich auf F&A-Nachrichten, die an Nicht-StartMail-User gesendet wurden. Da wir die Nachrichten für StartMail-User sicher innerhalb ihres User-Tresors speichern, besteht keine Notwendigkeit (bzw. hätten wir auch keine Möglichkeit), die Nachrichten nach der eingestellten Zeit zu löschen.

Nach oben.

4.2.3.2.    OpenPGP

Wir bieten OpenPGP functionality [8] in unserem Webmail-Interface an. OpenPGP ist ein Standard-Protokoll, näher beschrieben in RFC 4880 [9]. Laut dem OpenPGP-Standard werden zwei separate Schlüssel für das Ver- und Entschlüsseln von Daten verwendet. Jeder User hat sein eigenes Schlüsselpaar: Einen privaten Schlüssel, der zusammen mit einem geheimen Passwort verwendet wird, um Daten und Dateien zu entschlüsseln, und einen öffentlichen Schlüssel, der zur Weitergabe an andere entwickelt wurde. Nachrichten mit einem speziellen öffentlichen Schlüssel können ausschließlich mit dem dazugehörenden privaten Schlüssel entschlüsselt werden.

Sobald User ihre OpenPGP-Funktionen aktivieren, werden sie dazu aufgefordert, entweder ein neues Schlüsselpaar zu generieren oder ein bereits bestehendes zu importieren.

4.2.3.2.1   Neue OpenPGP-Schlüssel

Wir verwenden das Standard-GnuPG-Tool, um ein neues Schlüsselpaar (einen privaten und einen öffentlichen Schlüssel) auf unseren Servern zu generieren. Die dem Schlüsselpaar zugeordnete E-Mail-Adresse ist selbstverständlich die StartMail-Adresse des Users.

Die generierten Schlüssel sind 4096-bit RSA-Schlüssel.

4.2.3.2.2   Importierte OpenPGP-Schlüssel

User, die bereits ein OpenPGP-Schlüsselpaar besitzen, können dieses in StartMail importieren. Die StartMail-Adresse muss dem Schlüsselpaar vor dem Import zugeordnet werden.

4.2.3.2.3   OpenPGP Schlüssel-Management

Das grundlegende Schlüssel-Management ist in der Web-Anwendung von StartMail verfügbar:

  • Ändern der Passphrase des privaten Schlüssels
  • Schlüssel importieren/exportieren
  • Schlüssel neu generieren
4.2.3.2.4   Passphrasen zwischenspeichern

Der private OpenPGP-Schlüssel ist verschlüsselt auf dem Server im User-Tresor gespeichert. Zusätzlich ist der Schlüssel selbst immer mit einer Passphrase verschlüsselt. Die Verwendung von OpenPGP im Web-Interface bedeutet, dass die Passphrase des privaten Schlüssels der Applikation zur Verfügung stehen muss, sodass Verschlüsselungs- und Entschlüsselungs-Operationen auf dem Server stattfinden können. Wann immer die Passphrase benötigt wird, werden die User zur Eingabe aufgefordert und können optional wählen, dass sie in Erinnerung bleibt. Die verfügbaren Optionen für die Zwischenspeicherung der Passphrase sind:

  • Niemals
  • 5 Minuten
  • 30 Minuten
  • 120 Minuten
  • Bis zum Logout

Wenn die Zwischenspeicherung-Option gewählt wurde, wird die Passphrase verschlüsselt und in-memory auf dem Servers gespeichert. Der Verschlüsselungs-Schlüssel für die Passphrase ist in einem Browser-Cookie gespeichert. Das bedeutet, dass ein Angreifer, der Zugriff auf die Cookies eines Users gewinnt, die Passphrase selbst trotzdem nicht wiederherstellen kann.

Natürlich ist die sicherste – wenn auch etwas umständliche – Option, die Passphrase überhaupt nicht zwischenzuspeichern. Aber diese Entscheidung überlassen wir unseren Usern.

Nach oben.

4.2.3.2.5   OpenPGP Key Directory

Wenn User ihre OpenPGP-Operationen von StartMail abwickeln lassen, wird der öffentliche Schlüssel automatisch in ein internes Schlüsselverzeichnis aufgenommen. Wenn der User eine verschlüsselte E-Mail an einen anderen StartMail-Userverstellt, der ebenfalls OpenPGP in StartMail eingerichtet hat, wird der öffentliche Schlüssel des Empfängers aus dem Schlüsselverzeichnis abgerufen. User können sich in ihren Einstellungen aus diesem Schlüsselverzeichnis abmelden.

HINWEIS: Die öffentlichen Schlüssel werden weder mit StartMail-Usern geteilt, noch sind sie öffentlich zugänglich. Sie werden nur verwendet, um die Kommunikation von StartMail-Usern *untereinander* transparent zu verschlüsseln. Die User haben jedoch die Möglichkeit, ihre öffentlichen OpenPGP-Schlüssel auf den MIT OpenPGP Key Server [10] hochzuladen.

4.2.3.2.6   Signieren und Verifizieren einer Signatur

Zusammen mit E-Mail-Verschlüsselung und Entschlüsselung bieten wir im StartMail Web-Interface die Möglichkeit, E-Mails mit OpenPGP Signaturen zu signieren. Das Signieren von E-Mails ist sehr wichtig: Es erlaubt, die Identität des Absenders zu überprüfen, indem es sicherstellt, dass der Absender der verschlüsselten E-Mail der Eigentümer des privaten Schlüssels ist, der mit seiner E-Mail-Adresse übereinstimmt. Standardmäßig werden auch alle über das StartMail Web-Interface versendeten OpenPGP-verschlüsselten E-Mails signiert.

Das StartMail Web-Interface liefert die visuelle Rückmeldung über die Gültigkeit der E-Mail-Signaturen und warnt User, wenn sich Nachrichten mit einer ungültigen Signatur erhalten. Um die Signaturen anderer StartMail-User zu überprüfen, wird deren öffentlicher OpenPGP-Schlüssel automatisch von dem im vorigen Abschnitt erwähnten Schlüsselverzeichnis abgerufen.

4.2.3.2.7   OpenPGP-Schlüsselbund im Tresor

Wie bereits erwähnt ist eines der im User-Tresor gespeicherten Items der OpenPGP Schlüsselbund. Das ist wichtig, denn ohne den Tresor zu öffnen, steht das Schlüsselpaar des Besitzers dem System nicht zur Verfügung. Der Schlüsselbund enthält das Schlüsselpaar des Users und alle anderen Schlüssel, die er hochgeladen oder importiert hat.

4.2.3.2.8   OpenPGP und BCC-Empfänger

Mit traditionell PGP-verschlüsselten E-Mails ist die Verwendung des BCC-Feldes, um Empfänger zu deklarieren, die anderen verborgen bleiben sollen, nicht möglich. Dies erklärt sich aus der Tatsache, dass eine verschlüsselte Nachricht auch die Schlüssel-ID enthält, für die die Nachricht verschlüsselt wurde. Jeder Empfänger, der von der Schlüssel-ID weiß, kann herausfinden, wer in die Nachricht inkludiert ist, indem er die gelisteten Schlüssel in der verschlüsselten Nachricht untersucht.

Es gibt mehrere Möglichkeiten, diesen Datenlecks vorzubeugen. Wir haben uns entschieden, alle BCC-Empfänger von einer Nachricht zu entfernen, die über unseren Webmail-Service gesendet wird. Anschließend erstellen und verschlüsseln wir eine separate E-Mail für jeden individuellen BCC-Empfänger und nehmen sie vollständig aus der gesendeten Original-Nachricht aus. Auf diese Art sickern keinerlei Informationen über die BCC-Empfänger an die anderen Haupt-Empfänger durch.

4.2.3.2.9   PGP-Nachricht-Arten (MIME/Inline)

Wir übernehmen vollständig die PGP/MIME-Nachrichtenstruktur bei allen ausgehenden Nachrichten, da dies alle Dateianhänge sauber verschlüsselt, ohne Metadaten über sie preiszugeben. Außerdem ist es zuverlässiger bei Nicht-ASCII-Text und funktioniert ordnungsgemäß mit HTML-E-Mail.

Schlussendlich wird PGP/MIME generell als die am besten geeignete Methode betrachtet und ermöglicht allen E-Mail-Clients, die Nachricht ordnungsgemäß anzuzeigen, unabhängig davon, ob sie PGP unterstützen oder nicht.

Wenn wir eine Nachricht empfangen, die mit PGP/Inline verschlüsselt oder signiert wurde, können wir sie korrekt entschlüsseln (sofern wir Zugriff auf den zugehörigen privaten Schlüssel haben) und Signaturen verifizieren (sofern wir Zugriff auf den öffentlichen Schlüssel haben). Wenn wir PGP/Inline-Antworten beantworten oder weiterleiten, konvertieren wir sie in PGP/MIME.

Obwohl PGP/MIME dafür bekannt ist, von einigen älteren E-Mail-Clients nicht unterstützt zu werden, legen wir Wert auf die Datenschutz- und Sicherheitsverbesserungen dieser Struktur und erachten diese als wichtiger als die Kompatibilität mit Clients, deren MIME-Kompatibilität eingeschränkt ist.

Nach oben.

4.2.3.3.    Virus-Scanning

Bei den meisten E-Mail-Services werden verschlüsselte E-Mails nicht auf Viren gescannt. StartMail hingegen scannt verschlüsselte Nachrichten auf Viren, sobald sie über das StartMail-Webinterface entschlüsselt werden. Gefundene Nachrichten, die einen Virus enthalten, werden im Postfach des Users behalten, sie werden jedoch unzugänglich (obwohl sie nach wie vor via IMAP heruntergeladen werden können) und der User wird auf die Gefahr hingewiesen.

4.2.4.   Wiederherstellung

Die Möglichkeiten zur Wiederherstellung unterscheiden sich für Business-Accounts und Persönliche Konten. Für Persönliche Konten bieten wir Wiederherstellungsmöglichkeiten für das vom User gewählte Kontopasswort. Für Business-Accounts bieten wir auch eine Methode für die Wiederherstellung von PGP-Passphrasen der Sub-Accounts (Business-Account-Mailboxen), die wir weiter unten im Abschnitt Business-Accounts erläutern.

4.2.4.1.    Passwort-Wiederherstellung für Persönliche Konten

Sollten User jemals die Passphrase ihres Accounts vergessen, bieten wir zwei Möglichkeiten, sie wiederherzustellen:

  • Mit einem Wiederherstellungs-Code
  • Mit einem Link zum Zurücksetzen an die Wiederherstellungs-E-Mail-Adresse

Bei der Anmeldung können die User zwischen dem Beziehen eines Wiederherstellungs-Codes und dem Einrichten einer Wiederherstellungs-E-Mail-Adresse wählen. Der Wiederherstellungs-Code wird angeboten, wenn sich der User entscheidet, keine Wiederherstellungs-E-Mail-Adresse zu wählen und zu bestätigen.

Es ist wichtig zu beachten, dass – unabhängig von der Wahl des Users – automatisch ein Code durch das System generiert wird. Der User ist komplett verantwortlich für dessen sichere Verwahrung. Wenn der User keine Wiederherstellungs-E-Mail-Adresse angibt und bestätigt, wird StartMail den Code nicht speichern. Wenn der User eine Wiederherstellungs-E-Mail-Adresse angibt und bestätigt, speichert StartMail den Code verschlüsselt. Wir erläutern diesen Prozess in diesem Abschnitt genau.

Nach oben.

4.2.4.1.1   Wiederherstellung mit einem Wiederherstellungs-Code

Der bei der Anmeldung erhaltene Wiederherstellungscode kann verwendet werden, um das Konto manuell zurückzusetzen, falls der User sein Konto-Passwort vergisst.

StartMail speichert keine Wiederherstellungscodes für Konten, die keine Wiederherstellungs-E-Mail-Adressen festgelegt haben. Aus diesem Grund können unsere Mitarbeiter Usern nicht weiterhelfen, wenn sie ihren Wiederherstellungscode verloren haben. Es ist uns technisch nicht möglich, Konten manuell zurückzusetzen und selbst wenn es möglich wäre, hätten wir keine Möglichkeit, die Identität der Person zu überprüfen, die um eine Wiederherstellung gebeten haben.

Einen Wiederherstellungscode auf diese Weise herauszugeben würde bedeutet, dass sich die Verantwortung für sichere Speicherung zum User hin verschiebt. Wir empfehlen, dass technisch weniger versierte Anwender, die eventuell Schwierigkeiten beim sicheren Speichern des Wiederherstellungscodes haben könnten, eine Wiederherstellungs E-Mail-Adresse angeben und StartMail das Speichern und Wiederherstellen für sie erledigen lassen, falls dies nötig sein sollte.

4.2.4.1.2   Wiederherstellung mit einer Wiederherstellungs-Adresse
Addressprüfung

Nach der Anmeldung und dem Festlegen einer Wiederherstellungs-Adresse wird eine Überprüfungs-E-Mail an die Wiederherstellungs-Adresse gesendet. Es ist sehr wichtig, diese E-Mail zu bestätigen, da dieser Schritt StartMail erlaubt, das Eigentumsrecht an der E-Mail-Adresse zu prüfen, die zur Wiederherstellung angegeben wurde. Sobald die Adresse geprüft ist, kann der User damit das Zurücksetzen beantragen, falls nötig.

HINWEIS: Die User müssen ihre Wiederherstellungs-Adresse bestätigen, bevor sie versuchen, ihr Konto zurückzusetzen. Andernfalls sind wir nicht in der Lage, mit dem Prozess fortzufahren.

Speicherung des Wiederherstellungs-Codes

Der Wiederherstellungscode wird automatisch vom Server generiert und unter Verwendung multipler Verschlüsselungsschichten in einer OpenPGP-verschlüsselten Datei gespeichert (im nächsten Abschnitt wird erklärt, warum dies wichtig ist). Niemand, inklusive StartMail Support-Mitarbeiter oder Administratoren, hat Zugriff zum unverschlüsselten Wiederherstellungscode oder kann manuell einen, einem beliebigen Konto zugehörigen, Wiederherstellungscode erzeugen.

Wir halten es für sehr wichtig, den Wiederherstellungscode vor menschlichem Zugriff zu schützen. Der Wiederherstellungscode verleiht jedem, der ihn besitzt, die Macht, das Passwort eines Kontos zurückzusetzen. Ein Angreifer, der im Besitz eines solchen Codes wäre, könnte das Konto vollständig übernehmen. Wir ergreifen jede notwendige Vorsichtsmaßnahme um sicherzustellen, dass ihn nur der rechtmäßige Besitzer erhält.

Zum Entschlüsseln wird mehr Personen als eine benötigt

Der Genehmigungsprozess für eine Wiederherstellungsanforderung ist nicht vollständig automatisiert. Für die Entschlüsselung und um die Anfrage zu bestätigen werden zwei verschiedene, hochrangige Mitglieder des Management-Teams benötigt (um eine Verschlüsselungsschicht zu entfernen). Die beteiligten Personen befinden sich auf verschiedenen Kontinenten (Europa und USA), um sie unter verschiedenen Rechtsordnungen zu halten.

Dies ist nötig, um zu verhindern, dass eine einzelne Person die Macht hat, eine Anfrage zu genehmigen. Sollte die Autorität einer Person kompromittiert werden, ist für die Kontowiederherstellung immer eine zusätzliche Interaktion erforderlich.

Sobald der zweite Manager die Wiederherstellungsanfrage anerkannt und das Wiederherstellungsfile mit seinem Schlüssel entschlüsselt hat, wird die daraus resultierende Datei an das StartMail System weitergeleitet, das für die Entfernung der letzten Verschlüsselungsschicht verantwortlich ist und den Wiederherstellungscode an die bestätigte Wiederherstellungs-Adresse versendet.

Nach oben.

4.2.4.2.    Kontowiederherstellung

Der Kontowiederherstellungs-Prozess erfordert die Passwortänderung eines User-Tresors. Der Tresor ist ein LUKS volume [7] mit mehreren Schlüssel-Slots: Ein Slot wird für die Authentifizierung verwendet, ein anderer für die Wiederherstellung. Eine erfolgreiche Wiederherstellung führt zu folgendem Ergebnis:

  • Der Tresor wird mit dem Schlüssel, der dem Wiederherstellungs-Slot entspricht, aufgesperrt
  • Der alte Authentifizierungs-Slot wird durch Eingabe eines neuen Passwortes überschrieben
  • Der alte Wiederherstellungs-Slot wird überschrieben, indem ein neuer Wiederherstellungscode generiert wird.

4.2.5.   Business-Accounts

Business-Accounts sind für Unternehmen und Einzelpersonen, die eine eigene Domain besitzen und die StartMail verwenden möchten, um ihre domain-basierenden E-Mails zu verwalten. Ein Business-Account verfügt ebenfalls über einige spezielle Features, auf die wir in diesem Kapitel eingehen.

Nach oben.

4.2.5.1.    Wiederherstellung

Mit herkömmlichem PGP ist bei Verlust einer Passphrase der Zugriff auf verschlüsselte E-Mails nicht mehr möglich, was für eine Firma ein potenzielles Katastrophenszenario ist. StartMail hat Business-Account-Adminis für die Wiederherstellung von PGP-Passphrasen und Konto-Passwörter konstruiert. Aus Sicherheitsgründen können StartMail-Mitarbeiter keine Passphrasen und Passwörter zurücksetzen, auf nicht aufgrund eines Gerichtsbeschlusses.

4.2.5.1.1   Masterschlüssel-Erzeugung

Während des Account-Setups erhält der Business-Account Administrator einen “Masterschlüssel”. Dieser Masterschlüssel ist eine zufällig generierte Passphrase für ein besonderes Schlüsselpaar (RSA), der ebenfalls alle Passwörter und Passphrasen schützt, die zu einem Business-Account gehören. Wir haben uns entschieden, diesen Masterschlüssel zu generieren, um unsere User vor der Wahl eines unsicheren zu bewahren, das leicht zu erraten wäre, denn es wäre äußerst unklug, die enorme Macht dieses Schlüssels zu unterschätzen. Der zuständige Business-Account Administrator sollte aus demselben Grund eine höchst vertrauenswürdige Person sein.

Der Masterschlüssel wird dem Business-Account Administrator ein Mal während des ersten Setups für den Business-Account angezeigt und muss sicher verwahrt werden, denn jeder, der den Masterschlüssel verwendet, wird vom StartMail-System als vertrauenswürdiger Business-Account Administrator betrachtet. Der Masterschlüssel kann weder vom Unternehmen selbst noch vom StartMail-Team wiederhergestellt werden.

4.2.5.1.2   Konto-Passwörter-Wiederherstellung

Jedes Mal, wenn ein Business-user ein neues Mitarbeiterkonto erstellt, generiert das StartMail-System automatisch einen Konto-Wiederherstellungscode. Dieser Wiederherstellungscode ist mit einem zufälligen Schlüssel verschlüsselt, der wiederum mithilfe des Masterschlüssels verschlüsselt ist. Dieser verschlüsselte Wiederherstellungscode wird in einer sicheren StartMail-Datenbank gespeichert.

Wenn das Passwort eines Mitarbeiterkontos verloren wurde, kann der Business-Account Administrator das Konto wiederherstellen, indem er den Masterschlüssel und ein neues Passwort eingibt. Wenn der Masterschlüssel korrekt ist, wird der primäre LUKS-Passphrasen-Slot mit dem neuen Passwort überschrieben. Der Business-Account Administrator kann dem User des Mitarbeiterkontos das neue Passwort übermitteln.

Business-Account Administratoren können mit diesen Schritten zur Kontowiederherstellung auch ihre eigenen Konto-Passwörter wiederherstellen. Die Wiederherstellung kann vom Administrator-Interface aus vorgenommen werden (im eingeloggten Zustand) und über die StartMail-Wiederherstellungsseite (im ausgeloggten Zustand). Ersteres ist anwenderfreundlich; letzteres hilft einem ausgesperrten Administrator, den Zugriff wiederzuerlangen.

Nach oben.

4.2.5.1.3   PGP-Schlüssel-Wiederherstellung

Unser Ziel ist es, Unternehmen zur Verwendung von PGP zu befähigen, ohne sich über die herkömmlichen Anwender-Schwierigkeiten Sorgen zu machen. Da eines der häufigsten Probleme mit PGP jenes ist, dass ein User seine PGP-Passphrase vergisst, haben wir eine spezielle Lösung für Business-Accounts umgesetzt.

Auch hier verwenden wir den Masterschlüssel – diesmal, um die PGP-Schlüssel aller Mitarbeiterkonten zu verschlüsseln. Jedes Mal, wenn ein User eines Mitarbeiterkontos ein PGP-Schlüsselpaar erstellt oder importiert, speichert StartMail das Schlüsselpaar automatisch mit dem Masterschlüssel verschlüsselt in der Datenbank, unter Verwendung der Mitarbeiterkonto Passwort-Methoden wie vorhin beschrieben.

Business-Account Administratoren können die PGP-Schlüsselpaare über das StartMail Administrator-Interface wiederherstellen, indem sie den Masterschlüssel angeben und eine “temporäre Wiederherstellungs”-PGP-Passphrase eintragen. Wenn der Masterschlüssel korrekt ist, übermittelt StartMail automatisch das wiederhergestellte Schlüsselpaar per E-Mail an den User des Mitarbeiterkontos. Dieser kann das Schlüsselpaar im Anschluss einfach von der E-Mail importieren und eine neue Passphrase festlegen.

Wir erachten die Verwendung einer E-Mail für diese PGP-Passphrase als angemessen, den das PGP-Schlüsselpaar wird direct in den Posteingang des Users übermittelt und verschlüsselt gespeichert – entweder im User-Tresor oder in der Posteingangs-Warteschleife. Darüber hinaus wird das Schlüsselpaar weiterhin durch den Masterschlüssel geschützt.

4.2.5.1.4   Datenschutz und Sicherheits-Erwägungen

StartMails einzigartiges PGP-Passphrasen Wiederherstellungs-System für Business-Accounts behandelt PGP-Schlüssel so privat wie es für eine Firma sein muss, nicht für den End-User. Wir haben uns für diesen Ansatz entschieden, weil Unternehmensinformationen generell dem Unternehmen gehören und jederzeit für die Firma zugänglich sein sollten. Dieser Ansatz unterstützt auch die gemeinsame Verwendung von Accounts und PGP-Schlüssel in der Büroumgebung. Wir empfehlen, die Angestellten dahingehend zu warnen, dass sie ihre Accounts nicht versehentlich dazu verwenden, persönliche Informationen zu kommunizieren, deren Weitergabe ihnen unangenehm wäre.

Unternehmen, die sich bei der Behandlung von PGP-Schlüssel als Unternehmenseigentum nicht wohl fühlen, können PGP komplett außerhalb des Bereichs von StartMail mithilfe von IMAP und clientseitigem PGP verwenden.

4.2.5.2.    Spezielle E-Mail-Adressen

Alle Domains, die E-Mails verwalten, müssen standardmäßig mindestens E-Mails an abuse@… und postmaster@… Adressen erhalten. Beide sind meist aus technischen Gründen erforderlich. Für jede Domain, die in einem Business-Account verlinkt (und verifiziert) ist, richten wir beide Adressen als Standard-Aliase für Administrator-Accounts ein.

Nach oben.

4.2.6.   IMAP und mobile Geräte

User, die über einen separaten E-Mail-Client zugreifen möchten, können dies immer über IMAP tun. Der IMAP-Zugriff ist standardmäßig deaktiviert und kann im Bereich Einstellungen aktiviert werden.

HINWEIS: Viele User greifen über einen separaten E-Mail-Client auf ihre E-Mails zu und sind an das POP3-Protokoll gewöhnt. IMAP funktioniert auf eine sehr ähnliche Weise, ist aber so konzipiert, dass es Nachrichten so lange auf dem Remote-Server speichert, bis sie gelöscht werden, statt sie immer auf den Client-Rechner herunterzuladen und vom Server zu löschen.

IMAP (im Gegensatz zu POP3) gliedert sich natürlicher in die E-Mail-Ansicht im StartMail-Webinterface ein und ermöglicht es den Usern, dennoch von der sicheren Speicherung zu profitieren, die das User-Tresor-System bietet.

Wir empfehlen, jedes externe Gerät, das sich via IMAP mit StartMail verbindet, separate zu konfigurieren. Sobald User ein (benanntes) Gerät hinzufügen, erhalten sie eine spezifische Kombination aus Username, Passwort und IMAP-Serverinformationen, mit denen das Gerät konfiguriert werden kann.

Das Erstellen von separaten IMAP-Anmeldeinformationen für jedes Gerät bietet mehrere Vorteile, falls eines der IMAP-fähigen Geräte (Laptop, Telefon) kompromittiert ist:

  • Ein Angreifer, der in Besitz von gültigen IMAP Anmeldeinformationen ist, hat nur Zugriff auf die Nachrichten des Users. Es besteht keine Gefahr, dass das komplette StartMail-Konto in diesem Szenario von einem Angreifer übernommen werden könnte.
  • IMAP-Konten können voneinander unabhängig deaktiviert werden.

Das Erstellen von unterschiedlichen Passwörtern für jedes mit StartMail verbundenen Gerätes bietet auch einen Überblick, welche externen Dienste auf StartMail zugreifen. Sollte einer dieser Dienste verloren oder veraltet sein oder nicht mehr verwendet werden, ist es einfach, das Gerät zu entfernen und den Zugriff zu entziehen.

4.2.6.1.    Automatisches Deaktivieren eines Gerätes

Nach mehreren erfolglosen Authentifizierungsversuchen wird der IMAP-Zugriff auf ein Gerät deaktiviert. User können überprüfen, ob ein Gerät deaktiviert ist, indem Sie sich in Ihr StartMail-Konto einloggen, auf die Seite Einstellungen – Mobile/IMAP wechseln und überprüfen, ob das betreffende Gerät als deaktiviert markiert ist.

Sobald ein Gerät deaktiviert wurde, kann es nicht erneut aktiviert werden. Ein deaktiviertes Gerät kann der User als „neues“ Gerät wieder hinzugefügt werden.

4.2.7.   Infrastruktursicherheit

Unsere Infrastruktur liegt in den Niederlanden und wurde gebaut, um die Sicherheitsanforderungen des StartMail-Services zu unterstützen.

Als allgemeine Regel isolieren wir die Dienstleistungen und Komponenten so weit wie möglich von unseren Anwendungen, um den möglichen Schaden, den ein Angreifer anrichten kann, so gering wie möglich zu halten. So werden User-Tresore in Bezug auf die Infrastruktur auf anderen Servern als Web-Servern gespeichert. Sie kommunizieren miteinander über eine sehr begrenzte API, um die Schäden zu minimieren, die von jemandem angerichtet werden, der einen Web-Server kompromittiert.

Darüber hinaus haben wir alle Standard-Sicherheitsvorkehrungen getroffen, die in einer sicheren Hosting-Umgebung erwartet werden wie interne (PFS) TLS-Kommunikation, strenge Firewalls, Festplattenverschlüsselung auf allen Maschinen usw. Wir haben auch zusätzliche Maßnahmen ergriffen, um Protokolle zu anonymisieren, wie sie im Detail in unserer Datenschutzerklärung beschrieben sind.

Schlussendlich verwenden wir aktive Protokollierung und Alarmierung, integriert mit einem Kernel-Level-Audit-System, das uns bei anormalen Aktivitäten auf unseren Servern warnt. Diese Protokolle werden regelmäßig auf Aktivitäten überprüft, die auf eine Kompromittierung hinweisen könnten. Darüber hinaus führt eine ausbleibende Bestätigung von Audit-Log-Nachrichten zu einem selbstständigen Überwachungs-Alarm.

Nach oben.

5.         Fazit

Die Menschen hinter StartMail verfügen über langjährige Erfahrung mit datenschutzfreundlichen Dienstleistungen. Unser Ziel war es, einen E-Mail-Service zu schaffen, der das Versprechen „Verschlüsselung leicht gemacht“ wirklich hält und Menschen hilft, Ihr Recht auf sichere und private Kommunikation wiederzuerlangen. Eine Plattform zu schaffen, die verschlüsselte E-Mail-Kommunikation für durchschnittliche Anwender ermöglicht, war ein Prozess, nach der optimalen Kombination aus Userfreundlichkeit, Datenschutz und Sicherheit zu suchen.

Wir verwenden bewährte Kryptographie-Bibliotheken und setzen auf Standard-Implementierung, um die zugrundeliegenden Sicherheitsstruktur zu schaffen. Unser Entwicklungsprozess ist zur Gänze auf die Beseitigung von Schwachstellen fokussiert, bevor sie unserer Codebasis hinzugefügt werden. Unser sehr strenger (und komplexer) Kontowiederherstellungsprozess verhindert, dass unser Personal die Fähigkeit hat, Konten zurückzusetzen. Eines der wichtigsten Features von StartMail ist der persönliche User-Tresor, der uns erlaubt, alle dem User gehörenden Daten verschlüsselt zu speichern.

Wir haben unsere Entscheidungen sorgfältig durchdacht, wie z. B. die Wahl der serverseitigen Kryptographie versus browserbasierten JavaScript-Lösungen. Wir haben sorgfältig erwogen, wo der private OpenPGP-Schlüssel gespeichert werden kann, um auch für technisch nicht versierte Anwender maximale Sicherheit zu gewährleisten. Wir haben die Verbesserung unserer Such- und Spamerkennungsalgorithmen gegen den Schutz der E-Mail-Inhalte abgewogen und überlegt, ob wir den StartMail Source-Code freigeben sollen oder ob die Quelle geschlossen bleibt. In jedem Fall, in dem wir die Wahl hatten, entschieden wir uns – und werden es immer tun – für jene Alternative, die die Sicherheit und Privatsphäre unserer User bevorzugt.

Unsere Vorgehensweise bei der Einführung neuer Technologien in unser System ist sehr konservativ. Wir verlassen uns nur auf bewährte Lösungen, denen die kryptographische Gemeinschaft vertraut, die Privatsphäre unserer User sicher zu schützen. Gleichzeitig haben wir ein wachsames Auge für neue Möglichkeiten, um unsere Sicherheitsmaßnahmen zu verbessern. In regelmäßigen Abständen bewerten wir unsere Entscheidungen im Hinblick auf neue verfügbare Technologien, um auch weiterhin den sichersten und modernsten Service zu bieten.

Nach oben.

6.         Literaturhinweise

1: https://www.startmail.com/privacy “StartMail Privacy Policy”

2: https://en.wikipedia.org/wiki/Fault_tolerance “Fault tolerance” (Graceful degradation is a particular type of implementing fault tolerance)

3: http://www.openbsdfoundation.org/contributors.html “OpenBSD contributors list”

4: http://www.openbsdfoundation.org/contributors.html  “Why shouldn’t we roll our own?”

5: http://www.openbsd.org/papers/bsdcan14-libressl/ “LibreSSL – The first 30 days”

6: https://www.ssllabs.com/ssltest/analyze.html?d=startmail.com “StartMail Qualys SSL Labs report”

7: https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup “Linux Unified Key Setup”

8: http://en.wikipedia.org/wiki/Pretty_Good_Privacy “PGP Encryption”

9: http://tools.ietf.org/html/rfc4880 “RFC 4880”

10: https://pgp.mit.edu/ “MIT PGP Public Key Server”

Nach oben.