Gestern habe ich in einem Beitrag zu Threema die These aufgestellt, dass nur offener Sourcecode vollkommenes Vertrauen in eine Applikation herstellen könne. Diese These wurde von einigen Lesern unterschrieben – andere waren aber auch kritisch: Open Source sei keine Garantie für Sicherheit.
Das hat mich dazu veranlasst, in meinem Kopf mal den „Reset“-Knopf zu drücken und das System „Threema“ neu zu bewerten – zunächst frei von persönlichen Idealvorstellungen. Die ideale Sicherheitsanwendung ist für mich nämlich quelloffen, damit ich oder andere eine Chance haben, die Sicherheit zu überprüfen. Das klingt zunächst plausibel, bringt aber auch Probleme mit sich, wie das Beispiel Threema ganz gut zeigt.
Für Android gibt es die App „APG“ (Android Privacy Guard), die die Verschlüsselungsfunktionen übernimmt. Der Open Source Mailclient K9 kann auf dann auf APG zugreifen. Diese Anleitung soll die Einrichtung der Verschlüsselung unter Android mit APG und die Aktivierung der Verschlüsselungsfunktion in der K9 Mail-App erklären.
Wer das Prinzip der PGP Verschlüsselung verstehen will, sollte sich den entsprechenden Abschnitt zu Beginn der meiner Anleitung zu Thunderbird ansehen.
E-Mail verschlüsseln macht nicht erst seit dem NSA Skandal Sinn. Es war schon immer sinnvoll, seine E-Mails zu verschlüsseln, sodass sie nicht von Fremden mitgelesen werden können. In diesem Beitrag will ich euch erklären, wie man eine einfache PGP Verschlüsselung in den Mailclient Mozilla Thunderbird integriert.
@Anfänger: Keine Angst, ist einfach er als es aussieht … ;)
Auch andere Mailclients und Webmail-Plattformen (GMX, web.de, etc) können mit einer PGP Verschlüsselung versehen werden. Für Mozilla Firefox gibt es beispielsweise das Addon „Mailvelope“ das einen Verschlüsselungsmechanismus in die Webmail-Plattformen verschiedenster Anbieter integriert (z.B. Googe Mail, GMX, web.de, Hotmail…).
Ist die Festplatte erst einmal mit LUKS verschlüsselt, kommt vielleicht auch einmal der Wunsch auf, das Passwort für die verschlüsselte Partition zu ändern. Das geht schnell und einfach über folgenden Befehl:
cryptsetup luksChangeKey /dev/sda3
Wobei /dev/sda3 die Festplattenpartition mit der LUKS-Verschlüsselung ist. Man wird aufgefordert, das zu ändernde Passwort einzugeben und danach ein neues zu wählen. Fertig.
LUKS unterstützt bis zu 8 „Schlüsselfächer“, d.h. es können bis zu 8 separate Passwörter angelegt werden, mit denen man Zugriff auf die verschlüsselte Partition bekommt. Wenn man beim Ändern des Passworts sichergehen will, dass nichts schiefgeht und Daten z.B. durch einen Stromausfall und unvollständige Änderungen unlesbar werden, kann man sich die Schlüsselfächer zunutze machen und die Passwortänderung in kleinen Schritten ausführen:
Zuerst wird ein weiteres Passwort neben dem aktuellen angelegt:
cryptsetup luksAddKey /dev/sda3
Nach der Eingabe eines bereits vorhandenen Passworts wird das neue Passwort angegeben. Im nächsten Schritt wird dann das alte Passwort entfernt, indem es nach folgendem Befehl eingegeben wird:
cryptsetup luksRemoveKey /dev/sda3
Jetzt existiert nur noch ein Schlüsselfach für das neue Passwort und ein Login über das alte Passwort ist nicht mehr möglich. => Passwort geändert!
… korrekt müsste es eigentlich heißen: „Arch verschlüsselt installieren“, denn tatsächlich wird nur die Arch Installation (Root-, Swap- und Homepartition) verschlüsselt. Die /boot Partition und der Bootloader müssen von der Verschlüsselung befreit werden, denn die Initialsysteme müssen ja auch ohne Passwort starten können ;)
In der Realität sieht es dann so aus, dass man vor dem Start von Arch Linux nach einem Passwort gefragt wird, um die entsprechende root-Partition zu entschlüsseln. Erst, wenn das richtige Passwort eingegeben wurde und die Partition entschlüsselt werden kann, ist es möglich, sich ganz normal über Benutzernamen und Passwort einzuloggen.
Vor allem bei Notebooks oder anderen mobilen Geräten ist eine Festplattenverschlüsselung empfehlenswert. Wird das Gerät gestohlen, hat der Dieb keine Chance, an persönliche Daten oder die Inhalte des Rootverzeichnisses zu kommen. Mit den unverschlüsselten Partitionen für den Bootvorgang kann man absolut nichts anfangen. Sie sind völlig uninteressant.
Meine erstes Arch überhaupt habe ich gleich verschlüsselt installiert und bin dabei auf ein paar Schwierigkeiten gestoßen. Im Arch Linux gibt es natürlich Anleitungen für eine einfache Installation und eine verschlüsselte Festplatte, aber eine komplette Anleitung „aus einem Guss“ fehlt. Manche Stellen bleiben unklar. Dennoch habe die verschlüsselte Arch Installation über das Wiki zum Laufen bekommen und seitdem läuft es einwandfrei. Weil die Einrichtung für Arch-Anfänger evtl. nicht immer einfach ist, biete ich auf dieser Seite eine komplette Anleitung für die Installation an, sodass man sich das Recherchieren und Suchen im Arch Wiki sparen kann und lediglich diese Anleitung befolgen muss.
Weil ich schon mehrmals zu meinem Artikel „Android startet nicht mehr nach Verschlüsselung und neuer ROM – Lösung“ gefragt wurde, wie man sein Android Smartphone überhaupt verschlüsseln kann, will ich das hier kurz erklären. Ab Version 4.0 unterstützt Android das Verschlüsseln des Telefonspeichers (Die eventuell vorhandene externe SD Karte bleibt unverändert!). Die Verschlüsselung kann eine Stunde oder länger dauern. Bereits vorhandene Daten und Apps bleiben erhalten; dennoch macht es Sinn, vorher ein Backup von wichtigen Daten zu machen. Damit der Verschlüsselungsvorgang gestartet werden kann, muss der Akku aufgeladen und das Smartphone mit dem Ladegerät verbunden sein, sodass der Vorgang nicht wegen eines leeren Akkus unterbrochen wird – dann kommt es nämlich zu Datenverlust.
Den Menüpunkt zum Verschlüsseln findet ihr in den Einstellungen unter „Sicherheit“ => „Telefon verschlüsseln“.
Zu beachten ist noch, dass ein Entsperren des Smartphones nach der Verschlüsselung nur noch mit Passwort oder Pin möglich ist. Muster, Face Unlock und Wischen können nicht mehr genutzt werden, weil diese Authentifizierungsverfahren zu unsicher sind. Das würde die Verschlüsselung wenig sinnvoll machen.
Die Passwörter für Entsperren und die Verschlüsselung sind voneinander unabhängig. Letzteres wird beim Hochfahren des Smartphones eingegeben, das andere Passwort / Pin nur zum entsperren. Natürlich kann man beide Male auch dasselbe Passwort verwenden.
Die Passwörter zum Entschlüsselung und zum Entsperren des Bildschirms sind identisch. Bevor verschlüsselt werden kann, muss die Displaysperre auf „Passwort“ oder „Pin“ umgestellt werden.
Und wie gesagt: Eine externe SD Karte – sofern vorhanden – wird nicht verschlüsselt. Nur die /data Partition des Telefonspeichers, in dem sich die persönlichen Daten befinden.
Mein Galaxy S3 mit Cyanogen Mod hatte ich vor einigen Monaten verschlüsselt. (Verschlüsselung von /data mit encfs) Hat soweit auch prima funktioniert, aber letzte Woche wollte ich einmal die Paranoid ROM ausprobieren. Hab mir also die ZIP heruntergeladen, auf meiner SD Karte abgelegt und diese dann per CWM Recovery geflashed – Ein großer Fehler, wie sich herausstellte.
PA ist gestartet und wollte ein Passwort zur Entschlüsselung meiner Daten auf dem Smartphone. Kam mir komisch vor, da ich eigentlich damit gerechnet hatte, dass /dada komplett überschrieben wird und die Verschlüsselung damit wegfällt. Hab dann trotzdem mein altes Passwort zur Entschlüsselung angegeben und es wurde auch akzeptiert. Wie üblich hat Android den Startvorgang fortgesetzt – zumindest sah es auf dem Display so aus. Es hat geladen, und geladen… und nicht ist passiert. Ich bin dann nochmal zurück ins Recovery und habe Cache und Nutzerdaten unter /data löschen wollen. Cache löschen hat wunderbar funktioniert, aber /data konnte nicht gelöscht werden. Zugriff verweigert. Warum auch immer.
Jetzt ging also nichts mehr. Kein Android Start, eine andere ROM hat auch nicht daran geändert, /data konnte ich nicht formatieren, weil „Kein Zugriff“. Sackgasse. Hab alles mögliche Versucht, alle möglichen Kombinationen von löschen und wieder aufspielen. Hat alles nicht geholfen.
Nach einiger Recherche bin ich dann auf folgende Lösung gekommen:
Google, Amazon, Twitter, Onlineshops… sie alle bieten eine verschlüsselte Verbindung zu ihren Servern an, wenn es um sensible Daten geht, die über das Internet ausgetauscht werden sollen. Mit OpenSSL und dem SSL Modul könnt ihr eurem eigenen Apache Webserver die Verschlüsselung beibringen.