Hinweis: ChatSecure – Jabber/XMPP Client für Android mit Dateiversand

Glückwunsch an die Entwickler_innen vom Guardian Project, sie haben mit ChatSecure den ersten mir bekannten XMPP/Jabber Client für Android unter einer Open Source Lizenz herausgebracht, der Datei/Fotoversand unterstützt.

Tatsächlich war es das Fehlen der letzteren Funktion, was viele Whatsapp Nutzer_innen, welche ich von den Vorzügen selbstinstallierter XMPP Server (bzw. ‘vertrauenwürdigen’, dezentralen, …) und OTR Verschlüsselung überzeugen wollte, davon abhielt, auch nur eine XMPP Client App auf ihrem Android Gerät zu installieren.

ChatSecure kann selbstverständlich noch einiges mehr, als nur Dateien zu versenden, neben OTR Verschlüsselung, einer einfachen Möglichkeit sich über Orbot/einen Proxy zu verbinden, Verschlüsselung der lokalen Daten, unterstützt die App auch Gruppen Chats und hat noch einige weitere schicke Featues.

Die App gibt es bereits im PlayStore und als apk auf der Homepage des Projektes, und im F-Droid Repository.

Hinweis: Deaktiviert Javascript im TorBrowserBundle!

Berichten zufolge wurde nicht nur der Betreiber von Tor Freedom Hosting festgenommen, welcher große Teile der Tor hidden services hostete (u.a. wohl TorMail) und eine große Anzahl von hidden services ist nicht mehr erreichbar, sondern es wurden angeblich  seit einigen Tagen (?) auch Javascript Angriffe auf das TorBrowserBundle auf diversen Tor hidden services installiert.
Die Angriffe gehen wohl vom FBI aus, welches es auf die Vertriebsstrukturen von Kinderpornografie abgesehen hat, dies ist laut Heise.de zumindest der Grund für die Festnahme von Eric Eoin Marques.

Die Entscheidung der Tor Entwickler_innen Javascript im TorBrowserBundle standardmäßig zu aktivieren fällt ihnen offenbar gerade auf die Füße. Auch wenn die Intention durch leichtere Handhabung mehr Nutzer_innen für das BrowserBundle zu gewinnen sicherlich auch nicht ganz unsinnig war.

Betroffen sind laut ersten Analysen nur Windows Nutzer_innen, Ziel des Angriffs ist scheinbar die Aufhebung der Anonymität von TorBrowserBundle Nutzer_innen mittels eines Cookies (Vgl. http://www.twitlonger.com/show/n_1rlo0uu , http://pastebin.mozilla.org/2777139 )

Insofern NoScript im BrowserBundle installiert ist, kann Javascript leicht seitenabhängig kontrolliert werden (Youtube Tutorial). Die wichtigste Einstellung sollte zunächst sein Scripte allgemein zu verbieten! Danach kann Javascript auf ‘vertrauenswürdigen’ Seiten wieder aktiviert werden.

Momentan scheinen wie gesagt nur Tor hidden services die zum Vertrieb von Kinderpornos genutzt wurden betroffen zu sein, was durchaus auch sein positives hat, allerdings zeigt der Angriff die generelle Angreifbarkeit der Anonymität im Tor Netzwerk. Dies zeigt insbesondere nach Snowdens Enthüllungen, dass es um Techniken der Überwachung zu trotzen schlecht steht.

Update [05.08.13] Auf dem Blog des TorProject gab es eine weitere Stellungnahme zu der Attacke, dabei wurde klargestellt, dass die aktuellen TorBrowserBundles nicht von der ausgenutzen Sicherheitslücke betroffen sind (Vgl. security announcement).

Die Owncloud 5 Encryption App

Die Ankündigung von Frank Karlitscheck auf der Owncloud Announcement Maillinglist, dass die neue Encryption App in Owncloud 5 fertig für den produktiven Einsatz ist, habe ich zum Anlass genommen die App auszuprobieren.
Wie gewohnt kann Encryption App (0.4) von Administrator_innen unter Apps aktiviert werden. Danach werden die Daten der Nutzer_innen beim nächsten Einloggen mit deren Log-in Passwort (AES-128) verschlüsselt (werden die Daten mit anderen Nutzer_innen oder über einen Link geteilt haben diese selbstverständlich auch Zugriff, das funktioniert mit entsprechend verschlüsselten file-keys, welche für jede Datei erstellt werden) , d.h. es sollte Wert auf vernünftige Passwörter gelegt werden.
Die Dateien sind dann einzeln verschlüsselt, die Dateinamen bleiben unverschlüsselt. Der Zugriff mit SyncClient und Android App waren kein Problem.
Wichtig zu wissen ist, dass es sich (wie in diesem Artikel beschrieben) um eine serverseitige Verschlüsselung handelt, d.h. die Serveradministrator_innen bzw. Personen die die Kontrolle über den Server haben, können potenziell auf die unverschlüsselten Daten zugreifen, was den Nutzen der Encryption App doch etwas fragwürdig erscheinen lässt. Zumindest scheint die Verschlüsselung des private Key mit den Passwörtern der Nutzer_innen einen gewissen Schutz im Falle von Datendiebstahl zu bieten, allerdings bin ich auch kein_e Verschlüssselungsexpert_in. Ansonsten wird im oben genannten Artikel darauf verwiesen, dass die Verschlüsselung bei der Nutzung der ‘external storage app’ einen Schutz für die Daten bietet, welche damit beispielsweise bei Dropbox hochgeladen werden. Außerdem wird auf die Möglichkeit verwiesen in die Verschlüsselungsarchitektur zu einem späteren Zeitpunkt auch clientseitige Verschlüsselung zu integrieren, bleibt zu hoffen, dass dies tatsächlich irgendwann passiert.
Auf jeden Fall ist es gut zu sehen, das die Verschlüsselung in Owncloud 5 Fortschritte macht!

Android – verschlüsselt telefonieren mit RedPhone

Nachdem Twitter im Januar diesen Jahres “TextSecure“, eine Software die es erlaubt SMS zu verschlüsseln, unter einer GPL Lizenz veröffentlicht hat, folgt jetzt der Quellcode der Software “RedPhone“, welche verschlüsselte VoIP Telefonate zwischen Android Telefonen erlaubt. Beide Programme wurden ursprünglich von der Firma Whisper Systems entwickelt,welche von Twitter aufgekauft wurde.

RedPhone verschlüsselt die Telefonate mit SRTP. Die Daten laufen verschlüsselt über RedPhone Server, welche auch für die Initiierung von Telefonaten notwendig sind. Da es sich um VoIP handelt ist eine Datenverbindung notwendig, was aber mittlerweile nur noch wenige Nutzer_innen abschrecken sollte. Nähere Informationen zur Architektur und Verschlüsselung gibt es im Github Wiki des Projekts.

Kurzinfo: Owncloud 4 released

Nach vier monatiger Entwicklungszeit ist Owncloud 4 fertig. Es gibt zahlreiche Verbesserungen gegenüber der Vorgängerversion. Sicherlich sind die Möglichkeit die eigenen Dateien zu verschlüsseln und die Versionierung zwei der wichtigsten Neuerungen, jedoch bei weitem nicht die einzigen. Mehr Infos zum Release gibt es auf blog.karlitschek.de.

GnuPG-Verschlüsselung mit Nautilus funktioniert wieder

Die GnuPG-Plugins für Nautilus und Gedit (seahorse-plugins) sind mit Ubuntu 11.10 aus den Paketquellen verschwunden. (siehe dieser Artikel). Jetzt gibt es mit Ubuntu 12.04 zumindest wieder ein GnuPG-Plugin für Nautilus. Das zu installierende Paket heißt

seahorse-nautilus

Nach der Installation muss Nautilus neu gestartet werden, das erledigt der Befehl

nautilus -q

im Terminal, alternativ hilft auch ab- und wieder anmelden.

Danach sollten bei einem Rechtsklick auf eine Datei oder einen Ordner die Optionen “Verschlüsseln …” und “Signieren” vorhanden sein.

crypto.cat – die Verschlüsselung sicher tanzen

Über crypto.cat – eine WebApp für verschlüsselte (Gruppen-)Chats – habe ich bereits vor einiger Zeit berichtet. Heute habe ich gelesen, dass sich Entwickler_innen auf dem Wall Street Journal Data Transparency Hackathon eine nette Funktion für die in Entwicklung befindliche craypto.cat Android App CryptocatBot ausgedacht haben. Die Zufallszahlen welche crypto.cat für die Verschlüsselung benötigt (für jede Sitzung werden neue Keys erstellt) werden hier nicht (wie bei der WebApp) durch möglichst wahlloses tippen auf der Tastatur erzeugt sondern durch tanzen / Bewegung.

Das ist meiner Meinung nach mal eine echt schicke und sinnvolle Einsatzmöglichkeit für die in (so gut wie?) allen Smartphones vorhandenen Bewegungssensoren.

Anmerkung: Im letzten Artikel über crypto.cat war ich nicht auf die Lizenz eingegangen unter welcher der Quellcode steht, das möchte ich bei dieser Gelegenheit nachholen. Crypto.cat ist unter der AGPL3 lizensiert (vorher war es eine CC BY-NC-SA 3.0), der Quellcode ist auf Github verfügbar.

crypto.cat – sicher und unkompliziert online chatten

catCrypto.cat ist eine WebApp, welche es ermöglicht, unkompliziert mit mehreren Personen verschlüsselt zu chatten.

Die Verschlüsselung (AES-256) der Daten (es ist auch möglich kleine Dateien auszutauschen) erfolgt im Browser selbst, so dass der Server niemals unverschlüsselte Daten zu sehen bekommt. Zudem werden nach 60 Minuten Inaktivität alle angefallenen Daten sicher vom Server gelöscht. (Mehr zum eingesetzten Verschlüsselungsverfahren, etc. -> Spec). Private und öffentliche Schlüssel werden dementsprechend für jede Sitzung neu generiert.

Um zu chatten kann auf www.crypto.cat ein neuer Chat angelegt, bzw. einem vorhandenen Chat beigetreten werden. Chatpartner_innen brauchen lediglich die URL des offenen Chats (bsp. https://crypto.cat/?c=3hitqj6v) um diesem beitreten zu können. (Der letzte Teil der URL hinter dem “=” ist der Name des Chats.)

Nach dem ein Nickname gewählt wurde, braucht crypto.cat für die sicherer Verschlüsselung Zufallsdaten, deshalb muss vor dem Betreten des Chats kurz wild in die Tasten gehauen werden, das ist aber auch alles was die Nutzer_innen von der ablaufenden Verschlüsselung mitbekommen (müssen).

Innerhalb des Chats ist es möglich durch einen Klick auf einen Nutzer_innennamen weitere Optionen zu erhalten. Unter Anderem können hier die Fingerprints der Nutzer_innen gefunden und verglichen werden.

cryptocat_options

Crypto.cat gibt es auch als Plugin für Chrome/Chromium damit ist es möglich das Programm im Browser laufen zu lassen, allerdings habe ich das nicht getestet, weil Google hierfür eine Anmeldung fordert.

Ist die Swap Partition verschlüsselt?

Ubuntu bietet bei der Installation und auch beim anlegen neuer Nutzer_innen die Möglichkeit das eigene Home-Verzeichnis zu verschlüsseln. Ein Sicherheitsproblem bei dieser Methode stellt die Swap Partition dar. Dort können während des Betriebs Nutzer_innen Daten ausgelagert werden. Werden diese während dem Herunterfahren nicht verschlüsselt, oder zumindest ‘sicher’ gelöscht, können u.U. (eigentlich verschlüsselte) Daten von dort ausgelesen werden.

Offensichtlich wird die Swap Partition jedoch von Ubuntu mit verschlüsselt, wenn ein verschlüsseltes Home-Verzeichnis angelegt wird (auch wenn die Meinungen dazu auf askubuntu.com/ auseinander gehen).

Mit folgendem Befehl ist es möglich  zu testen ob die eigene Swap Partition verschlüsselt ist

sudo blkid | grep swap

sieht die Ausgabe so aus

/dev/mapper/cryptswap1: UUID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" TYPE="swap"

(und nicht so:

/dev/sdax: UUID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" TYPE="swap")

ist die Swap Partition verschlüsselt. Sollte dies nicht der Fall sein, kann die Verschlüsselung mit

sudo ecryptfs-setup-swap

nachgeholt werden.

Am sichersten ist selbstverständlich die Komplettverschlüsselung des Systems, was beispielsweise während der Alternate Installation möglich ist. Hiermit erübrigen sich die Verschlüsselung von Home-Verzeichnis und Swap Partition. Allerdings wird hierdurch das System verlangsamt und das beim Bootvorgang einzugebende Passwort ist (im Normalfall) immer gleich, was beispielsweise bei Mehrbenutzer_innen Systemen unpraktisch sein kann.

Update Die Verschlüsselung der Swap Partition (nach der obigen Anleitung) hat zur Folge, dass das System nicht mehr in den Ruhezustand versetzt werden kann.

SMS verschlüsseln mit TextSecure

Auf Netzpolitik.org habe ich entdeckt, dass die Android Software ‘TextSecure’, welche von der Firma WhisperSystems entwickelt wurde, nach dem Aufkauf der Firma durch Twitter unter einer GPL Lizenz veröffentlicht wurde.

‘TextSecure’ verschlüsselt alle SMS, welche damit gesendet und empfangen werden im Speicher des Android Smartphones. Außerdem ist es möglich SMS vor dem Versand für die / den Empfänger_in zu verschlüsseln.

Empfängt man eine SMS von einer Person welche auch ‘TextSecure’ installiert hat, schlägt dieses vor eine verschlüsselte Session zu starten. Hierfür werden zunächst Schlüssel zwischen beiden Geräten ausgetauscht, danach erkennt man die verschlüsselten Nachrichten an einem kleinen Schlüsselsymbol, neben den Nachrichten und auf dem senden Knopf.

Innerhalb einer verschlüsselten Session ist es möglich über das Menü ‘Secure Session Options‘ aufzurufen und hier unter ‘Verify Recipient Identity‘ gegenseitig die Fingerabdrücke über einen sicheren Kanal (bspw. Telefonat) zu vergleichen. Hierdurch wird sichergestellt, dass der Schlüssel auch tatsächlich von der Person kommt von der er kommen soll.

Die Software befindet sich übrigens noch in der Beta Phase, sie kann also noch fehlerhaft sein.

In einem ersten Test kam es bei mir zu einem Fehler beim Schlüsseltausch und TextSecure meldete nicht existierende Sessions, das Problem ließ sich aber durch einen Neustart der Session beheben.

Unter https://www.transifex.net/projects/p/textsecure/resource/core-app-strings/ haben sich Leute daran gemacht ‘TextSecure’ zu übersetzten.

Update [08.01.2012] Die Anzahl möglicher Zeichen wird durch die Verschlüsselung stark reduziert. Statt 160 Zeichen sind in einer mit TextSecure verschlüsselten SMS nur 60 Zeichen möglich.
An dieser Stelle ist die Software hoffentlich noch ausbaufähig.