Verschlüsselung in Bit Chest

Bit Chest hat eine starke Verschlüsselung als einen der Kernpunkte des Dienstes, da wir wissen dass viele der Daten, die in Bit Chest gespeichert werden, privat und persönlich sind und auch so behandelt werden sollten. Nach langer Recherche und Überlegung haben wir uns entschlossen, AES-256 im EAX-Modus zu benutzen. Dazu verwenden wir einen Schlüssel der zufällig generiert, aus dem Passwort erzeugt oder vom Benutzer selbst eingegeben werden kann.

Und was bedeutet das jetzt alles?

Verschlüsselung

Die Verschlüsselung der Daten in Ihren Dateien benutzz den Advanced Encryption Standard (AES) mit einer Schlüssellänge von 256 Bits. Dieser Algorithmus bietet die stärkste standardisierte Verschlüsselung, und es gibt keine bekannten Angriffe gegen AES-256, so dass wir davon ausgehen, dass AES-256 für die absehbare Zukunft sehr sicher ist. Da wir in Bit Chest Daten für sehr lange Zeit aufbewahren wollen ist es sehr wichtig, dass wir einen Algorithmus nutzen, der sehr viel Sicherheit bietet, auch wenn dieser Algorithmus ein bisschen langsamer oder speicherintensiver sein sollte. Hier scheint AES-256 die richtige Wahl zu sein.

Leider reicht die Verschlüsselung alleine noch nicht aus, wir benötigen zusätzlich noch eine Authentifizierung der Daten.

Authentifizierung

Authentifizierung von Daten bedeutet, dass beim Verarbeiten die Daten deren Echtheit überprüft werden kann. Es soll also festgestellt werden, ob Daten bei der Übertragung oder Speicherung beschädigt oder verändert wurden. Dieser Schritt ist sehr wichtig, da sonst ein Angreifer versuchen könnte, auch ohne Kenntnis des Schlüssels Daten in Ihr System einzuschleusen. In asymmetrischen Verschlüsselungssystemen wie RSA und PGP heißt dieser Schritt “Signierung” und kann sehr leicht durchgeführt werden, indem die beiden Schlüssel einfach vertauscht benutzt werden. In einem symmetrischen Verfahren wie AES gibt es aber nur einen Schlüssel, so dass die Authentifizierung der Daten komplizierter ist.

Wir haben uns entschlossen, auch hier dem Standard zu folgen, indem wir EAX benutzen, einen standardisierten Verschlüsselungs- und Authentifizierungsmodus, der AES als Grundbaustein benutzt. EAX bietet genau die Eigenschaften, die wir benötigen, nämlich die einfache Verschlüsselung und gleichzeitige Signierung der Daten mit einem Sicherheits-Tag, der an die Daten angehängt wird. Da die Sicherheit von EAX beweisbar auf die Sicherheit der darunter liegenden Blockchiffre AES zurückgeführt werden kann, erhalten wir die Authentifizierung hier ohne Abstriche in der Sicherheit.

Mit diesem System haben wir also alle Daten verschlüsselt und authentifiziert, so dass wir wissen, dass die Daten von niemandem gelesen oder verändert werden können, solange der Schlüssel geheim bleibt. Und der Schlüssel ist genau die letzte Komponente unseres Sicherheitssystems.

Der Schlüssel

Leider ist der Schlüssel auch gleichzeitig der komplizierteste Teil des Sicherheitssystems, da hier die Sicherheit der gesamten Daten liegt. Wir haben daher zwei Anforderungen an den Schlüssel: Er muss so nah wie möglich an zufälligen Daten sein, so dass ein Angreifer den Schlüssel nicht herleiten oder erraten kann. Und er muss sicher aufbewahrt und eingegeben werden können, um die Daten ver- und entschlüsseln zu können.

Der zweite Punkte ist hier sehr wichtig: wenn der Schlüssel für die Daten verloren geht, ist der Zugang zu den Daten verloren und kann auch nicht wieder hergestellt werden, so dass die gespeicherten Dateien nutzlos werden. Da hier eine Abwägung zwischen Sicherheit und Komfort getroffen werden muss, bieten wir drei verschiedene Arten der Schlüsselverwaltung an.

Sie erstellen den Schlüssel selbst

Der für Bit Chest sicherlich einfachste Weg ist es, die Schlüsselerzeugung und -Verwaltung Ihnen, also dem Benutzer zu überlassen. Das bedeutet, dass Sie dafür verantwortlich sind, einen guten Schlüssel zu erzeugen, ihn aufzubewahren und bei jeder Konfiguration einzugeben. Das ist aufwändig für Sie, aber auch extrem sicher, da Sie den Schlüssel in der Hand haben. Der Schlüssel verlässt nie Ihren Computer, so dass Sie sicher sein können, dass niemand außer Ihnen davon Kenntnis erhält. Das bedeutet aber auch, dass Sie die Verantwortung haben: Verlieren Sie den Schlüssel, so verlieren Sie auch den Zugang zu den Daten.

Wenn Ihnen die Sicherheit Ihrer Daten sehr wichtig ist, dann empfehlen wir diese Methode.

Der Schlüssel wird aus Ihrem Passwort erzeugt.

Interessanterweise gibt es schon ein Stück Information, das Sie zur Authentifizierung und Sicherung benutzen: Ihr Passwort. Da Bit Chest lediglich einen Hash-Wert Ihres Passwortes speichert, aus dem das Passwort nicht errechnet werden kann, speichert Bit Chest Ihr Passwort also nie selbst. Daher können wir Ihr Passwort an dieser Stelle noch einmal benutzen, und zwar um einen AES-Schlüssel zu erstellen. Dafür nutzen wir den bekannten bcrypt-Algorithmus, der aus Ihrem Passwort einen passenden Schlüssel für AES erzeugt. So können nur Sie den Schlüssel erstellen, und auch die Konfiguration erfolgt einfach über Ihr Passwort.

Die Sicherheitsanforderung für Ihr Passwort bleibt jedoch bestehen: Verlieren Sie Ihr Passwort, sind auch die Daten unwiederbringlich verloren.

Wir erzeugen einen Schlüssel zufällig für Sie

Die dritte Art ist schließlich, dass Bit Chest einen Schlüssel für Sie erzeugt und diesen auch verwaltet. Das bedeutet aber, dass der Schlüssel an Bit Chest übertragen und dort gespeichert werden muss. Jeder, der Zugang zu Ihrem Konto oder Ihren Daten hat, kann dann also den Schlüssel benutzen. Es kann also prinzipiell passieren, dass der Schlüssel entwendet wird oder wir ihn an die Polizei übergeben müssen, dieser Modus bietet also ein klein bisschen weniger Sicherheit als die anderen beiden Varianten. Dafür erreichen wir jedoch ein bisschen mehr Komfort: Die Einrichtung des Kontos wird einfacher, der Schlüssel wird automatisch und sicher erzeugt und der Verlust des Passwortes ist nicht mehr so schlimm. So lange Sie Zugang zu Ihrem Emailkonto haben, haben Sie also auch Zugang zu Ihren Daten.

Da ein normaler Benutzer die gängigen Komfort-Funktionen eines modernen Webservice erwartet, ist diese Art die Standardeinstellung für Bit Chest-Konten.

Sie haben die Wahl

Es gibt hier also eine Abwägung zwischen Sicherheit und Komfort, und wir müssen einen Kompromiss zwischen diesen beiden Extremen finden. Am einen Ende steht die absolute Sicherheit, erreicht durch manuelle Schlüsselverwaltung  hierbei fällt aber auch die Verantwortung komplett auf den Benutzer. Am anderen Ende steht die reduzierte Sicherheit (was jedoch nur in Extremfällen eine Rolle spielt), die dafür jedoch komfortable und einfache Benutzung erlaubt. Natürlich wird bei der Einrichtung des Kontos weitere unterstützende Informationen und Werkzeuge angeboten, die Ihnen helfen, die richtige Wahl zu treffen.

Und wie Sie auch entscheiden mögen: Ihre Daten sind in jedem Fall sicher und geschützt verwahrt.