Kreacher
Erfahrenes Mitglied
- 169
1. Einleitung:
E2EE (Ende-zu-Ende-Verschlüsselung) gibt es für WhatsApp-Chats schon seit Mitte 2016, genauer gesagt April 2016. Damit sind eure Chats zu euren Chatpartnern verschlüsselt und nur für euch beide lesbar.
Ende 2021 hat WhatsApp eine weitere Sicherheitsstufe eingeführt, die sehr essenziell ist: nun können auch die von WhatsApp gemachten Chatbackups inklusive aller Medien E2E-verschlüsselt werden. Die Einstellung hierzu befindet sich (für Android-Geräte) in den WA-Einstellungen unter Chats --> Chat-Backup --> herunterscrollen bis zum Ende der Seite.
Wie WhatsApp's Backup-Management im Allgemeinen funktioniert und warum es dringend empfohlen ist, diese neue Backup-Verschlüsselung zu aktivieren, möchte ich im folgenden Artikel ausführen.
2. Wie ein Backup & dessen Wiederherstellung funktioniert:
Der WhatsApp-Client speichert Daten seiner App an zwei verschiedenen Orten auf dem Endgerät.
Zum einen benötigt WhatsApp Zugriff auf all eure Chats und andere Daten & Einstellungen, die während des Betriebs der App anfallen. Dafür richtet sich WhatsApp (wie alle anderen aktiven Apps auf eurem Gerät) einen eigenen Ordner ein, der aber von euch im Normalfall nicht zugänglich ist, um die Stabilität und Sicherheit der App weiterhin zu gewährleisten. Auch andere Apps haben auf diesen Bereich i.d.R. keinen Zugriff aus denselben Gründen.
Dieser Ordner befindet sich daher im Systemverzeichnis von Android, auf das ihr nur dann Zugriff habt, wenn ihr Root-Rechte (d.h. vollständige Administrationsrechte) über euer Gerät habt. Der Normaluser hat dies nicht - noch dazu zerstört Root in den meisten Fällen die Herstellergarantie unwiderruflich. Die uneingeschränkte Freiheit geht also oftmals mit einem nicht unerheblichen Preis einher.
Das Systemverzeichnis von WhatsApp befindet sich unter: system/data/data/com.whatsapp/
Darin befinden sich mehrere Unterordner, darunter einer namens "databases" und einer namens "files". Im Database-Ordner ist, wie der Name schon vermuten lässt, eine SQLite-basierte Datenbank namens "msgstore.db" vorhanden, welche sämtliche Informationen über alle geschriebenen und empfangenen Nachrichten, Chats, Audio- & Videoanrufe, gesendete und empfangene Medien und vieles mehr beinhaltet. Damit WhatsApp im Betrieb jederzeit Zugriff darauf hat und Änderungen daran vornehmen kann (etwa neue eingegangene Nachrichten darin niederzuschreiben), ist diese Datenbank und alles Weitere, was sich in diesem Systemverzeichnis befindet, unverschlüsselt, d.h. es besteht freier Zugang zu jeder Zeit. Eine Verschlüsselung ist aufgrund der durch das Android-Systemverzeichnis vorhandenen Barriere, die im Normalfall auch nur mit Root-Rechten durchbrochen werden kann, daher auch nicht notwendig.
Der zweite Ort, an dem WA Dateien ablegt, ist außerhalb des Root-Systemverzeichnisses im herkömmlichen Media Store-Bereich. Bis Android 11 speicherte WhatsApp auf der ersten Ebene des Smartphones
einen weiteren Systemordner, der ebenfalls einen Ordner namens "databases" sowie einen namens "media" (und weitere, die aber hier nicht weiter relevant sind) enthält.
Ab Android 11 und höher ist dieser Order nun fortan zwei Ebenen tiefer zu finden, nämlich unter:
Wird nun in WhatsApp ein Backup ausgelöst (entweder automatisch oder durch Drücken der „Backup“-Taste in den Einstellungen), legt WhatsApp eine fast identische Kopie der frei-zugänglichen Datenbank „msgstore.db“ im Rootverzeichnis an und speichert sie im obigen, nun frei-zugänglichen Media-Store-Bereich. Da dieser im Gegensatz zum Systemverzeichnis im Root-Bereich nicht mehr geschützt ist vor äußeren Zugriffen, wird diese Kopie der Datenbank von WhatsApp mittels AES-GCM-256 verschlüsselt. Erkennbar ist dies an der jeweiligen Dateiendung, die im Laufe der Jahre von ursprünglich *crypt zu mittlerweile *crypt14 angestiegen ist. Das vollständige, lokal gespeicherte und verschlüsselte Backup ist also demnach eine „msgstore.db.crypt14“-Datei, die sich im Media-Store-Bereich des Smartphones und je nach Android-Version entweder direkt auf der ersten Ebene, oder 2 Ebenen tiefer befindet.
Die Schlüsseldatei zum Verschlüsseln und Entschlüsseln dieser verschlüsselten crypt14-Datenbank ist eine 158-Byte große Datei namens „key“, die sich ebenfalls wie die unverschlüsselte System-Datenbank im nicht zugänglichen Rootverzeichnis im Ordner „files“ befindet. Um Zugang zu einem verschlüsselten crypt14-Backup zu bekommen, entweder um die darin gespeicherten Chats extern am PC zu betrachten oder um sie in WhatsApp wiederherstellen zu lassen, muss also zwingend die dazugehörige Key-Datei vorhanden sein.
Wichtig: ein Kopieren der crypt-14-Backup-Dateien auf den PC sichert demnach logischerweise NICHT automatisch auch die so dringend dazu gehörige Key-Datei, die ohne Rootrechte ansonsten nur noch mit Hilfe der sog. Android Debug Bridge (ADB) auf älteren Android-Versionen zugänglich ist: dabei wird mit Hilfe eines einfachen Python-Scripts eine alte Legacy-WhatsApp-Version auf das Smartphone gespielt und dann mittels ADB-Pull sowohl die Key-Datei als auch die im Systemverzeichnis sitzende, unverschlüsselte WhatsApp-Systemdatenbank samt weiterer Systemdateien aus dem WhatsApp-Systemordner gezogen, womit man dann auch ohne Root freien Zugang zur Datenbank und der Key-Datei zur Entschlüsselung der crypt14-Backup-Datei hat.
Unterstützt die Android-Version ADB nicht mehr und bestehen zudem auch keine Root-Rechte, gibt es Stand jetzt keine mir bekannte Möglichkeit, die Key-Datei aus dem „Root-Gefängnis“ zu kopieren, um sie somit den gesicherten Crypt14-Backups zur Entschlüsselung mit beizulegen. Die Backup-Dateien sind ohne Key-Datei somit extern nicht entschlüsselbar und damit nichts weiter als Datenmüll. Eine Brute-Force-Methode würde bei Crypt14 beim heutigen Technologiestand Jahrmillionen (!) benötigen.
3. Lokales Backup vs. Google Drive Backup
Beim lokalen Backup (d.h. wenn WhatsApp nicht mit Google Drive verknüpft ist), werden also schlichtweg leicht abgespeckte Kopien der WhatsApp-Systemdatenbank angelegt und diese mit Hilfe eines 158-Byte-Keys in crypt14 AES verschlüsselt und im obigen Media-Store-Bereich abgelegt. Dies passiert auch unabhängig vom aktiven Auslösen des Backups – so legt WhatsApp automatisch jede Nacht um 02.00 Uhr ein lokales Backup an, genau genommen der letzten 7 Tage. Die dazugehörigen Mediendateien werden separat im Ordner „Media“ gespeichert.
Ist WhatsApp mit Google Drive verknüpft, erfolgt das Backup sowohl lokal, wie oben beschrieben, als auch zusätzlich im verknüpften Google-Drive-Konto. Auch hier beinhaltet das Backup neben anderen Dateien hauptsächlich die jeweiligen msgstore.db.crypt14-Datenbanken, die die Chatinhalte enthalten, sowie die dazugehörigen Mediendateien. Allerdings erfolgt das Backup auf Google Drive nicht verschlüsselt. Zwar ist die eigentliche Chat-Datenbank aufgrund von crypt14 weiterhin verschlüsselt und einzelne Nachrichten sind so für Google nicht einsehbar, die Mediendateien wie Bilder, Sprachnachrichten, Videos, etc. werden aber voll und ganz unverschlüsselt hochgeladen.
Zudem – und das ist essenziell – wird die dazugehörige 158-Byte-große Key-Datei NICHT hochgeladen, welche zur Entschlüsselung der crypt14-Datenbank notwendig ist, denn sonst hätte Google alles, was sie bräuchten, um eure Chats einsehen zu können.
Daraus kann nun schlussgefolgert werden, dass auch das Google Drive Backup (wie auch das lokale Backup) ohne die dazugehörige Key-Datei nutzlos ist, zumindest wenn man die msgstore.db.crypt14-Backup-Datei außerhalb von WhatsApp einsehen möchte oder darin Änderungen, etwa das Zusammenführen verschiedener WhatsApp-Chatstände, vornehmen möchte.
4. Wiederherstellung eines Backups
Dies erfolgt, wie das Erstellen eines Backups, auf denselben 2 Arten: entweder lokal oder via Google Drive.
Die spannende Frage hierbei ist aber nun: wenn die Key-Datei zur Entschlüsselung des Backups weder lokal noch auf Google Drive gespeichert wird, woher stammt nun also der Schlüssel, um ein Backup auf einem neuen oder werks-resetteten Smartphone wiederherstellen zu können?
Es gibt hierbei grundsätzlich zwei Hypothesen bzw. Annahmen:
Ein Blick in das offizielle WhatsApp Security Whitepaper offenbart, dass der Key von den WhatsApp-Servern abgerufen wird. Es befindet sich demnach auf den WhatsApp-Servern eine Kopie des Schlüssels, der zur Entschlüsselung eures Backups notwendig ist und mit dessen Hilfe WhatsApp ein eingespieltes Backup erkennt und zur Wiederherstellung freigibt.
Aus Datenschutzsicht könnte dieser Umstand allerdings ziemlich problematisch werden, denn prinzipiell bestünde die (wenn auch vermutlich eher geringe, aber nicht unmögliche) Wahrscheinlichkeit, dass WhatsApp bzw. Meta, die ja bereits im Besitz eures Keys sind, über Google dann auch noch in nicht-offizieller Art und Weise in den Besitz eures verschlüsselten Backups gelangen könnte, oder im umgekehrten Fall, dass Google zusätzlich zum Backup auch noch in Besitz des notwendigen Keys zur Entschlüsselung gelangen könnte…
Nutzer von WhatsApp haben somit letztlich keine andere Wahl, als darauf zu vertrauen, dass WhatsApp bzw. Google dies nicht tut…
Abschließend lässt sich also festhalten, dass zur erfolgreichen Wiederherstellung eines Backups der dafür passende Key vom WhatsApp-Server abgerufen werden muss. Nur wenn dieser Key mit dem Backup übereinstimmt, gelingt eine Wiederherstellung.
4.1 Warum werden etwas ältere Backups von WhatsApp trotz Key dann aber plötzlich nicht mehr erkannt?
Wer versucht hat, ein etwas älteres Backup in WhatsApp einzuspielen, wird früher oder später feststellen, dass WhatsApp nicht immer jedes ältere Backup erkennt und eine Wiederherstellung scheitert und das obwohl die Handynummer dieselbe ist und das Backup definitv euch gehört. Der Grund hierfür findet sich ebenfalls im WhatsApp Security Whitepaper und ist einer der elementarsten Sicherheitsmechanismen, die beim Thema Verschlüsselung zum Einsatz kommen: Key-Rotation.
Key-Rotation bedeutet (hier erheblich vereinfacht ausgedrückt), dass WhatsApp in periodischen Abständen die Schlüssel, die für ein Backup verwendet wurden, austauscht bzw. rotiert, sodass ein Schlüssel nie zu lange Zeit für ein Backup verfügbar ist. Im laufenden Betrieb bekommt der Nutzer davon nichts mit. Spätestens aber, wenn versucht wird, ein nun älteres Backup wiedereinzuspielen, wird man eventuell merken, dass dies nicht mehr klappt, denn WhatsApp hat zwischenzeitlich den Key rotiert und da der alte Key aufgrund seiner Position im Root-Systemverzeichnis für die meisten Normal-Nutzer überhaupt nicht oder nur schwer zugänglich ist, wurde dieser Key in 99,9% der Fälle demnach auch nie gesichert. Die Folge: die alten Backups sind fortan nichts weiter als Datenmüll und unbrauchbar - ein Schicksal, das auch viele User hier im Forum immer wieder ereilt.
5. Crypt15 bzw. Backup-Ende-zu-Ende-Verschlüsselung als Lösung
Seit 2021 bietet Meta für WhatsApp nun zusätzlich zur Chat-Verschlüsselung auch eine Backup-E2E-Verschlüsselung an. Die Vorteile liegen auf der Hand:
Mit dieser Aktivierung haben anschließend nicht einmal mehr WhatsApp oder Backup-Dienstleister wie Google-Drive auf das Backup oder auf den Backup-Verschlüsselungsschlüssel Zugriff. Aber dies ist noch nicht alles, denn im Gegensatz zu crypt14 werden beim E2E-verschlüsselten Backup von Seiten WhatsApp keinerlei Keys mehr rotiert, was bedeutet, dass ihr nun selbst fortan zu 100% Eigentümer und Verwalter eures Keys für eure Backups seid. Zwar wird auch hier die Key-Datei auf den WhatsApp-Servern gespeichert, um sie abrufen zu können – aber (und das ist nun der entscheidende Vorteil) die Key-Datei ist im Vergleich zum crypt14-Backup nun selbst verschlüsselt und heißt hier nun „encrypted_backup_key“. WhatsApp selbst kann also ohne euren Schlüssel weder etwas mit eurem Backup, noch mit dem dafür zur Entschlüsselung notwendigen Key etwas anfangen.
Beim E2E-verschlüsselten Backup gibt es dabei zwei verschiedene Möglichkeiten:
Wenn das E2E-verschlüsselte Backup aktiviert wird, generiert das System einen zufällig und eindeutigen Verschlüsselungsschlüssel, welcher das Backup schützt. Dabei kann der zufällig generierte Schlüssel entweder manuell oder mit einem Benutzerpasswort gesichert werden.
1.) Verschlüsselung mittels Benutzerpasswort
Entscheidet sich nun eine Person für ein Benutzerpasswort, wird der Schlüssel in einem sogenannten Backup Key Vault gespeichert, der auf einer Komponente basiert, die als Hardware-Sicherheitsmodul (HSM) bezeichnet wird. HSM ist eine spezialisierte, sichere Hardware, die zum Speichern von Verschlüsselungsschlüsseln verwendet werden kann. Benötigt eine Person Zugriff auf das Backup, muss sie zuerst mittels eigenem Passwort den eigentlichen Verschlüsselungsschlüssel aus dem HSM-basierten Backup Key Vault abrufen. Dank des HSM-basierten Backup Key Vault ist es nicht einmal WhatsApp möglich, den Verschlüsselungsschlüssel zu lesen. WhatsApp weiß lediglich, dass ein Schlüssel vorhanden ist. Ebenfalls wird der Schlüssel nach einer begrenzten Anzahl erfolgloser Zugriffsversuche dauerhaft unzugänglich gemacht. Die Sicherheitsmaßnahme schützt demnach also vor Brute-Force-Versuchen.
Verwendet eine Person für das Backup also ein Passwort, so wird dieses im HSM-basierten Backup Key Vault gesichert. Der Prozess beim Abrufen des Backups sieht damit folgendermaßen aus:
2.) Verschlüsselung manuell mittels 64-stelligem Zahlen-Key
Wird ohne Passwort gearbeitet, so muss die Person den 64-stelligen, zufällig-generierten Schlüssel manuell eingeben, um das Backup zu entschlüsseln und darauf zuzugreifen.
Für maximale Unabhängigkeit von jeglichen externen Akteuren empfehle ich immer diese Option, denn auch wenn WhatsApp’s Backup Key Vault mittels HSM auf drei verschiedenen Servern in 3 verschiedenen Kontinenten abgelegt wird, so ist euer Key dabei nach wie vor immer noch an eine externe Struktur gebunden.
Bei der manuellen Verschlüsselung mittels 64-stelligem Key hingegen habt ihr diesen direkt und gebt diesen bei jeder Wiederherstellung eines Backups auch selber manuell ein. Ihr seid damit also völlig unabhängig und vollständig zu 100% eigener Verwalter und Aufbewahrer eures Keys. Analog dazu kann damit auch jedes beliebige lokale crypt15-Backup extern am PC oder mit sonstigen Tools oder Software geöffnet und eure Chats jederzeit eingesehen und ggf. auch bearbeitet werden.
Zusammengefasst lässt sich abschließend also festhalten, dass es unbedingt empfohlen ist, die Backup-E2EE in den Einstellungen zu aktivieren und damit euren eigenen 64-stelligen Master-Key zu generieren und euch so von WhatsApp vollständig zu emanzipieren. Erstellt davon einen Screenshot und/oder druckt ihn euch aus und bewahrt ihn sicher auf, denn wenn der abhanden kommt, kann nicht einmal mehr WhatsApp euch helfen - dann sind eure Backups definitiv verloren und auch eine Wiederherstellung funktioniert dann nicht mehr!
E2EE (Ende-zu-Ende-Verschlüsselung) gibt es für WhatsApp-Chats schon seit Mitte 2016, genauer gesagt April 2016. Damit sind eure Chats zu euren Chatpartnern verschlüsselt und nur für euch beide lesbar.
Ende 2021 hat WhatsApp eine weitere Sicherheitsstufe eingeführt, die sehr essenziell ist: nun können auch die von WhatsApp gemachten Chatbackups inklusive aller Medien E2E-verschlüsselt werden. Die Einstellung hierzu befindet sich (für Android-Geräte) in den WA-Einstellungen unter Chats --> Chat-Backup --> herunterscrollen bis zum Ende der Seite.
Wie WhatsApp's Backup-Management im Allgemeinen funktioniert und warum es dringend empfohlen ist, diese neue Backup-Verschlüsselung zu aktivieren, möchte ich im folgenden Artikel ausführen.
2. Wie ein Backup & dessen Wiederherstellung funktioniert:
Der WhatsApp-Client speichert Daten seiner App an zwei verschiedenen Orten auf dem Endgerät.
Zum einen benötigt WhatsApp Zugriff auf all eure Chats und andere Daten & Einstellungen, die während des Betriebs der App anfallen. Dafür richtet sich WhatsApp (wie alle anderen aktiven Apps auf eurem Gerät) einen eigenen Ordner ein, der aber von euch im Normalfall nicht zugänglich ist, um die Stabilität und Sicherheit der App weiterhin zu gewährleisten. Auch andere Apps haben auf diesen Bereich i.d.R. keinen Zugriff aus denselben Gründen.
Dieser Ordner befindet sich daher im Systemverzeichnis von Android, auf das ihr nur dann Zugriff habt, wenn ihr Root-Rechte (d.h. vollständige Administrationsrechte) über euer Gerät habt. Der Normaluser hat dies nicht - noch dazu zerstört Root in den meisten Fällen die Herstellergarantie unwiderruflich. Die uneingeschränkte Freiheit geht also oftmals mit einem nicht unerheblichen Preis einher.
Das Systemverzeichnis von WhatsApp befindet sich unter: system/data/data/com.whatsapp/
Darin befinden sich mehrere Unterordner, darunter einer namens "databases" und einer namens "files". Im Database-Ordner ist, wie der Name schon vermuten lässt, eine SQLite-basierte Datenbank namens "msgstore.db" vorhanden, welche sämtliche Informationen über alle geschriebenen und empfangenen Nachrichten, Chats, Audio- & Videoanrufe, gesendete und empfangene Medien und vieles mehr beinhaltet. Damit WhatsApp im Betrieb jederzeit Zugriff darauf hat und Änderungen daran vornehmen kann (etwa neue eingegangene Nachrichten darin niederzuschreiben), ist diese Datenbank und alles Weitere, was sich in diesem Systemverzeichnis befindet, unverschlüsselt, d.h. es besteht freier Zugang zu jeder Zeit. Eine Verschlüsselung ist aufgrund der durch das Android-Systemverzeichnis vorhandenen Barriere, die im Normalfall auch nur mit Root-Rechten durchbrochen werden kann, daher auch nicht notwendig.
Der zweite Ort, an dem WA Dateien ablegt, ist außerhalb des Root-Systemverzeichnisses im herkömmlichen Media Store-Bereich. Bis Android 11 speicherte WhatsApp auf der ersten Ebene des Smartphones
/storage/emulated/0/WhatsApp/
einen weiteren Systemordner, der ebenfalls einen Ordner namens "databases" sowie einen namens "media" (und weitere, die aber hier nicht weiter relevant sind) enthält.
Ab Android 11 und höher ist dieser Order nun fortan zwei Ebenen tiefer zu finden, nämlich unter:
/storage/emulated/0/Android/media/com.whatsapp/WhatsApp/
Wird nun in WhatsApp ein Backup ausgelöst (entweder automatisch oder durch Drücken der „Backup“-Taste in den Einstellungen), legt WhatsApp eine fast identische Kopie der frei-zugänglichen Datenbank „msgstore.db“ im Rootverzeichnis an und speichert sie im obigen, nun frei-zugänglichen Media-Store-Bereich. Da dieser im Gegensatz zum Systemverzeichnis im Root-Bereich nicht mehr geschützt ist vor äußeren Zugriffen, wird diese Kopie der Datenbank von WhatsApp mittels AES-GCM-256 verschlüsselt. Erkennbar ist dies an der jeweiligen Dateiendung, die im Laufe der Jahre von ursprünglich *crypt zu mittlerweile *crypt14 angestiegen ist. Das vollständige, lokal gespeicherte und verschlüsselte Backup ist also demnach eine „msgstore.db.crypt14“-Datei, die sich im Media-Store-Bereich des Smartphones und je nach Android-Version entweder direkt auf der ersten Ebene, oder 2 Ebenen tiefer befindet.
Die Schlüsseldatei zum Verschlüsseln und Entschlüsseln dieser verschlüsselten crypt14-Datenbank ist eine 158-Byte große Datei namens „key“, die sich ebenfalls wie die unverschlüsselte System-Datenbank im nicht zugänglichen Rootverzeichnis im Ordner „files“ befindet. Um Zugang zu einem verschlüsselten crypt14-Backup zu bekommen, entweder um die darin gespeicherten Chats extern am PC zu betrachten oder um sie in WhatsApp wiederherstellen zu lassen, muss also zwingend die dazugehörige Key-Datei vorhanden sein.
Wichtig: ein Kopieren der crypt-14-Backup-Dateien auf den PC sichert demnach logischerweise NICHT automatisch auch die so dringend dazu gehörige Key-Datei, die ohne Rootrechte ansonsten nur noch mit Hilfe der sog. Android Debug Bridge (ADB) auf älteren Android-Versionen zugänglich ist: dabei wird mit Hilfe eines einfachen Python-Scripts eine alte Legacy-WhatsApp-Version auf das Smartphone gespielt und dann mittels ADB-Pull sowohl die Key-Datei als auch die im Systemverzeichnis sitzende, unverschlüsselte WhatsApp-Systemdatenbank samt weiterer Systemdateien aus dem WhatsApp-Systemordner gezogen, womit man dann auch ohne Root freien Zugang zur Datenbank und der Key-Datei zur Entschlüsselung der crypt14-Backup-Datei hat.
Unterstützt die Android-Version ADB nicht mehr und bestehen zudem auch keine Root-Rechte, gibt es Stand jetzt keine mir bekannte Möglichkeit, die Key-Datei aus dem „Root-Gefängnis“ zu kopieren, um sie somit den gesicherten Crypt14-Backups zur Entschlüsselung mit beizulegen. Die Backup-Dateien sind ohne Key-Datei somit extern nicht entschlüsselbar und damit nichts weiter als Datenmüll. Eine Brute-Force-Methode würde bei Crypt14 beim heutigen Technologiestand Jahrmillionen (!) benötigen.
3. Lokales Backup vs. Google Drive Backup
Beim lokalen Backup (d.h. wenn WhatsApp nicht mit Google Drive verknüpft ist), werden also schlichtweg leicht abgespeckte Kopien der WhatsApp-Systemdatenbank angelegt und diese mit Hilfe eines 158-Byte-Keys in crypt14 AES verschlüsselt und im obigen Media-Store-Bereich abgelegt. Dies passiert auch unabhängig vom aktiven Auslösen des Backups – so legt WhatsApp automatisch jede Nacht um 02.00 Uhr ein lokales Backup an, genau genommen der letzten 7 Tage. Die dazugehörigen Mediendateien werden separat im Ordner „Media“ gespeichert.
Ist WhatsApp mit Google Drive verknüpft, erfolgt das Backup sowohl lokal, wie oben beschrieben, als auch zusätzlich im verknüpften Google-Drive-Konto. Auch hier beinhaltet das Backup neben anderen Dateien hauptsächlich die jeweiligen msgstore.db.crypt14-Datenbanken, die die Chatinhalte enthalten, sowie die dazugehörigen Mediendateien. Allerdings erfolgt das Backup auf Google Drive nicht verschlüsselt. Zwar ist die eigentliche Chat-Datenbank aufgrund von crypt14 weiterhin verschlüsselt und einzelne Nachrichten sind so für Google nicht einsehbar, die Mediendateien wie Bilder, Sprachnachrichten, Videos, etc. werden aber voll und ganz unverschlüsselt hochgeladen.
Zudem – und das ist essenziell – wird die dazugehörige 158-Byte-große Key-Datei NICHT hochgeladen, welche zur Entschlüsselung der crypt14-Datenbank notwendig ist, denn sonst hätte Google alles, was sie bräuchten, um eure Chats einsehen zu können.
Daraus kann nun schlussgefolgert werden, dass auch das Google Drive Backup (wie auch das lokale Backup) ohne die dazugehörige Key-Datei nutzlos ist, zumindest wenn man die msgstore.db.crypt14-Backup-Datei außerhalb von WhatsApp einsehen möchte oder darin Änderungen, etwa das Zusammenführen verschiedener WhatsApp-Chatstände, vornehmen möchte.
4. Wiederherstellung eines Backups
Dies erfolgt, wie das Erstellen eines Backups, auf denselben 2 Arten: entweder lokal oder via Google Drive.
Die spannende Frage hierbei ist aber nun: wenn die Key-Datei zur Entschlüsselung des Backups weder lokal noch auf Google Drive gespeichert wird, woher stammt nun also der Schlüssel, um ein Backup auf einem neuen oder werks-resetteten Smartphone wiederherstellen zu können?
Es gibt hierbei grundsätzlich zwei Hypothesen bzw. Annahmen:
- Der Schlüssel wird von einer externen Quelle gesendet
- Der Schlüssel wird auf dem Gerät des Nutzers generiert
- Der Schlüssel wird von den Servern von Google gesendet
- Der Schlüssel wird von den Servern von WhatsApp gesendet
Ein Blick in das offizielle WhatsApp Security Whitepaper offenbart, dass der Key von den WhatsApp-Servern abgerufen wird. Es befindet sich demnach auf den WhatsApp-Servern eine Kopie des Schlüssels, der zur Entschlüsselung eures Backups notwendig ist und mit dessen Hilfe WhatsApp ein eingespieltes Backup erkennt und zur Wiederherstellung freigibt.
Aus Datenschutzsicht könnte dieser Umstand allerdings ziemlich problematisch werden, denn prinzipiell bestünde die (wenn auch vermutlich eher geringe, aber nicht unmögliche) Wahrscheinlichkeit, dass WhatsApp bzw. Meta, die ja bereits im Besitz eures Keys sind, über Google dann auch noch in nicht-offizieller Art und Weise in den Besitz eures verschlüsselten Backups gelangen könnte, oder im umgekehrten Fall, dass Google zusätzlich zum Backup auch noch in Besitz des notwendigen Keys zur Entschlüsselung gelangen könnte…
Nutzer von WhatsApp haben somit letztlich keine andere Wahl, als darauf zu vertrauen, dass WhatsApp bzw. Google dies nicht tut…
Abschließend lässt sich also festhalten, dass zur erfolgreichen Wiederherstellung eines Backups der dafür passende Key vom WhatsApp-Server abgerufen werden muss. Nur wenn dieser Key mit dem Backup übereinstimmt, gelingt eine Wiederherstellung.
4.1 Warum werden etwas ältere Backups von WhatsApp trotz Key dann aber plötzlich nicht mehr erkannt?
Wer versucht hat, ein etwas älteres Backup in WhatsApp einzuspielen, wird früher oder später feststellen, dass WhatsApp nicht immer jedes ältere Backup erkennt und eine Wiederherstellung scheitert und das obwohl die Handynummer dieselbe ist und das Backup definitv euch gehört. Der Grund hierfür findet sich ebenfalls im WhatsApp Security Whitepaper und ist einer der elementarsten Sicherheitsmechanismen, die beim Thema Verschlüsselung zum Einsatz kommen: Key-Rotation.
Key-Rotation bedeutet (hier erheblich vereinfacht ausgedrückt), dass WhatsApp in periodischen Abständen die Schlüssel, die für ein Backup verwendet wurden, austauscht bzw. rotiert, sodass ein Schlüssel nie zu lange Zeit für ein Backup verfügbar ist. Im laufenden Betrieb bekommt der Nutzer davon nichts mit. Spätestens aber, wenn versucht wird, ein nun älteres Backup wiedereinzuspielen, wird man eventuell merken, dass dies nicht mehr klappt, denn WhatsApp hat zwischenzeitlich den Key rotiert und da der alte Key aufgrund seiner Position im Root-Systemverzeichnis für die meisten Normal-Nutzer überhaupt nicht oder nur schwer zugänglich ist, wurde dieser Key in 99,9% der Fälle demnach auch nie gesichert. Die Folge: die alten Backups sind fortan nichts weiter als Datenmüll und unbrauchbar - ein Schicksal, das auch viele User hier im Forum immer wieder ereilt.
5. Crypt15 bzw. Backup-Ende-zu-Ende-Verschlüsselung als Lösung
Seit 2021 bietet Meta für WhatsApp nun zusätzlich zur Chat-Verschlüsselung auch eine Backup-E2E-Verschlüsselung an. Die Vorteile liegen auf der Hand:
Mit dieser Aktivierung haben anschließend nicht einmal mehr WhatsApp oder Backup-Dienstleister wie Google-Drive auf das Backup oder auf den Backup-Verschlüsselungsschlüssel Zugriff. Aber dies ist noch nicht alles, denn im Gegensatz zu crypt14 werden beim E2E-verschlüsselten Backup von Seiten WhatsApp keinerlei Keys mehr rotiert, was bedeutet, dass ihr nun selbst fortan zu 100% Eigentümer und Verwalter eures Keys für eure Backups seid. Zwar wird auch hier die Key-Datei auf den WhatsApp-Servern gespeichert, um sie abrufen zu können – aber (und das ist nun der entscheidende Vorteil) die Key-Datei ist im Vergleich zum crypt14-Backup nun selbst verschlüsselt und heißt hier nun „encrypted_backup_key“. WhatsApp selbst kann also ohne euren Schlüssel weder etwas mit eurem Backup, noch mit dem dafür zur Entschlüsselung notwendigen Key etwas anfangen.
Beim E2E-verschlüsselten Backup gibt es dabei zwei verschiedene Möglichkeiten:
Wenn das E2E-verschlüsselte Backup aktiviert wird, generiert das System einen zufällig und eindeutigen Verschlüsselungsschlüssel, welcher das Backup schützt. Dabei kann der zufällig generierte Schlüssel entweder manuell oder mit einem Benutzerpasswort gesichert werden.
1.) Verschlüsselung mittels Benutzerpasswort
Entscheidet sich nun eine Person für ein Benutzerpasswort, wird der Schlüssel in einem sogenannten Backup Key Vault gespeichert, der auf einer Komponente basiert, die als Hardware-Sicherheitsmodul (HSM) bezeichnet wird. HSM ist eine spezialisierte, sichere Hardware, die zum Speichern von Verschlüsselungsschlüsseln verwendet werden kann. Benötigt eine Person Zugriff auf das Backup, muss sie zuerst mittels eigenem Passwort den eigentlichen Verschlüsselungsschlüssel aus dem HSM-basierten Backup Key Vault abrufen. Dank des HSM-basierten Backup Key Vault ist es nicht einmal WhatsApp möglich, den Verschlüsselungsschlüssel zu lesen. WhatsApp weiß lediglich, dass ein Schlüssel vorhanden ist. Ebenfalls wird der Schlüssel nach einer begrenzten Anzahl erfolgloser Zugriffsversuche dauerhaft unzugänglich gemacht. Die Sicherheitsmaßnahme schützt demnach also vor Brute-Force-Versuchen.
Verwendet eine Person für das Backup also ein Passwort, so wird dieses im HSM-basierten Backup Key Vault gesichert. Der Prozess beim Abrufen des Backups sieht damit folgendermaßen aus:
- Das Passwort wird eingegeben, welches verschlüsselt und durch den Backup Key Vault verifiziert wird.
- Nach der Überprüfung des Passworts sendet nun der HSM-basierte Backup Key Vault den Verschlüsselungsschlüssel zurück an die Person, welche WhatsApp bedient.
- Mit dem Verschlüsselungsschlüssel kann die Person jetzt auf das eigene Backup zugreifen.
2.) Verschlüsselung manuell mittels 64-stelligem Zahlen-Key
Wird ohne Passwort gearbeitet, so muss die Person den 64-stelligen, zufällig-generierten Schlüssel manuell eingeben, um das Backup zu entschlüsseln und darauf zuzugreifen.
Für maximale Unabhängigkeit von jeglichen externen Akteuren empfehle ich immer diese Option, denn auch wenn WhatsApp’s Backup Key Vault mittels HSM auf drei verschiedenen Servern in 3 verschiedenen Kontinenten abgelegt wird, so ist euer Key dabei nach wie vor immer noch an eine externe Struktur gebunden.
Bei der manuellen Verschlüsselung mittels 64-stelligem Key hingegen habt ihr diesen direkt und gebt diesen bei jeder Wiederherstellung eines Backups auch selber manuell ein. Ihr seid damit also völlig unabhängig und vollständig zu 100% eigener Verwalter und Aufbewahrer eures Keys. Analog dazu kann damit auch jedes beliebige lokale crypt15-Backup extern am PC oder mit sonstigen Tools oder Software geöffnet und eure Chats jederzeit eingesehen und ggf. auch bearbeitet werden.
Zusammengefasst lässt sich abschließend also festhalten, dass es unbedingt empfohlen ist, die Backup-E2EE in den Einstellungen zu aktivieren und damit euren eigenen 64-stelligen Master-Key zu generieren und euch so von WhatsApp vollständig zu emanzipieren. Erstellt davon einen Screenshot und/oder druckt ihn euch aus und bewahrt ihn sicher auf, denn wenn der abhanden kommt, kann nicht einmal mehr WhatsApp euch helfen - dann sind eure Backups definitiv verloren und auch eine Wiederherstellung funktioniert dann nicht mehr!
Zuletzt bearbeitet: