Verschlüsselung ohne Backdoor

shrax

Stammuser
Hi,

meine Frage ist simpel.
Wenn man Beispielsweiße diesen Artikel glauben schenkt, ist es durchaus möglich das auch in TrueCrypt ein Backdoor eingebaut ist.
Der Autor redet davon, das TrueCrypt zwar OpenSource ist, diesen Source aber nie wirklich jemand komplett analysiert hat.

Angry Cloud: Die Dropbox Policy und der falsche Heiland Truecrypt - netzsheriff.de


Nun wollte ich fragen, ob es denn Algorithmen und Software gibt mit denen man Dateien verschlüsseln kann die komplett analysiert und sicher sind. Also von mehreren Leuten in verschiedenen Communitys als sicher eingestuft sind, ohne Backdoors von Seite Regierungen oder sonst etwas.

Und die zweite Frage lautet, ob denn AES wie hier
Der Verschlüsselungsstandard AES: Das “Geschenk” der US-Regierung für die Welt? - recentr.com
wirklich theoretisch Hintertürchen enthalten kann, oder kann man das ausschließen?

Da diese Frage wahrscheinlich recht laienhaft ist, möchte ich dazu sagen das ich durchaus versucht habe in Suchmaschinen Antworten zu finden. Leider wiederspricht sich hier alles, und ich würde gerne einmal hören was Leute die sich damit auskennen hier in einem Forum sagen.

Sollte gefragt werden warum das ganze, mir geht es nicht darum unbedingt eine Verschlüsselung zu finden die von keiner Regierung dieser Welt geknackt werden könnte, sondern rein das Interesse ob denn Lösungen existieren die rein logisch unknackbar wären und bei denen ein Backdoor ausgeschlossen werden kann (damit meine ich, das die Verschlüsselung selbst unknackbar ist, und nicht das diese nicht durch z. B. BruteForce geknackt werden kann).

Dazu sei gesagt dass ich mir das Fachwissen und Verständnis fehlt selber solche Algorithmen zu durchblicken, die Frage kommt also durchaus von einem Laien auf diesen Gebiet.


Gefunden habe ich z. B. das One-Time-Pad, mir geht es aber um Verschlüsselungen von Dateien wie es mit z. B. TrueCrypt möglich ist.
 

SchwarzeBeere

Moderator
Mitarbeiter
Wichtig ist, dass du zwischen theoretischen Verfahren und Implementierungen unterscheidest. In einer Implementierung wirst du oft Angriffspunkte finden, beispielsweise Seitenkanalattacken oder Memory-Leaks. Diese Angriffe kannst du aber nicht gegen ein theoretisches Verfahren anwenden. Dort kannst du nur mit bekannten, mathematischen Methoden an die Überprüfung heran gehen. Jetzt kann es aber natürlich sein, dass die NSA einen effektiven Algorithmus zur Lösung des DL-Problems kennt und damit diverse, von uns als sicher angenommene Verfahren brechen kann. Ansonsten bleiben nur diverse Bruteforce-Verfahren - oder Angriffe auf die Implementierung. Eins kann ich aber sagen: Die üblichen Verfahren kann man als mehr oder minder sicher ansehen, da sie schon oft überprüft wurden. DES ist uralt (und sollte aufgrund seiner Schlüssellänge nur eingeschränkt verwendet werden, z.B. als 3DES), AES hat auch schon einige Jahre auf dem Buckel (beides symmetrische Verschlüsselungen), RSA und ellitische Kurven (asymmetrische Verschlüsselung) bauen auf mathematischen Problemen auf, für die es noch keine Lösung gibt und können daher auch als recht sicher eingestuft werden.

Nächstes Problem: Wem vertraust du? Bist du paranoid und vertraust nur den Menschen, die du persönlich getroffen hast? Oder traust du den Entwicklern vom Firefox, die ihrerseits mehrere duzenden CAs vertrauen? Warum vertraust du dann nicht den Truecrypt-Entwicklern? Es gibt Mittel und Wege, beispielsweise The Orange Book oder Common Criteria oder den Evaluation Assurance Level. Die sind aber meist teuer, da der Sourcecode oder das Programm theoretisch von dritten Parteien geprüft werden muss. Gleichzeitig besitzen auch diese Methoden und Zertifizierungen diverse Kritikpunkte.

Wenn du dir deine Verschlüsselung also nicht selbst sicher implementieren kannst bleibt dir nur, einer dritten Person (EAL, CC, ..) zu vertrauen oder direkt dem Entwickler, der zumindest den Sourcecode zur Überprüfung zur Verfügung stellt. Und dass Truecrypt schon Gegenstand vieler wissenschaftlicher Überprüfungen war zeugt hier wohl von einer gewissen Vertrauenswürdigkeit. Oder du verwendest andere Software, die aber meist ähnliche Probleme hat und die auch schon oft wegen diverser Mängel kritisiert wurden, beispielsweise GnuPG und Konsorten.
 
Zuletzt bearbeitet:

GrafZahl

Member of Honour
das problem der sicherheit lässt sich damit nicht abhandeln ...

vgl. Communication Theory of Secrecy Systems (C. E. Shannon)

Shannon weißt implizit nach, dass es neben OTP kein anderes System geben kann das "perfect secrecy" erfüllt ... ein system mit dieser eigenschaft hat immer die eigenschafft des unendlich großen schlüssels bei unendlich großen klartexten ...

OTP ist nachweißlich das einzige unknackbare system ...


zum thema backdoors ...

mal eine andere betrachtungsweise ...

eine backdoor, einmal in einen standard wie AES eingebaut, wäre nicht mehr entfernbar ...

spinnen wir die idee mal weiter:

Hypothese: Die USA haben es geschafft erfolgreich eine bislang unentdeckte backdoor in AES zu schmuggeln ...

welche absicht wird damit verfolgt? ein Vorteil für die USA ... wird AES eingesetzt, kann man mitlesen ... wirtschafts spionage ... militärische spionage ... etc ...

welchen preis zahlt man dafür? ... die usa setzen selbst in militärischen und wirtschaftlichen belangen auf AES ... würde eine backdoor existieren, und diese jemals verraten oder zufällig aufgedeckt, riskieren die USA damit ihre eigenen geheimnisse ... wie unangenehm sowas werden kann, weiß man nicht erst seit der botschafts depeschen geschichte ...

von daher wird vermutlich die frage erlaubt sein, ob das wirklich ein akzeptables kosten/nutzen verhältnis darstellt ... sicherheitstechnisch wäre das nicht die frage ob so eine backdoor hoch geht ... es wäre nur die frage wann es passiert ... russisch roulette mit der nationalen sicherheit? ... die amis mögen in vielerlei hinsicht bekloppt sein, aber das traue ich ihnen dann doch nicht so ganz zu ...
 

shrax

Stammuser
Ersteinmal ein kurzes sorry das ich so spät Antworte.


Das sind natürlich jetzt sehr viele Infos, für die ich mir erstmal Zeit nehmen muss diese komplett zu hinterdenken. Vorallem

Nächstes Problem: Wem vertraust du? Bist du paranoid und vertraust nur den Menschen, die du persönlich getroffen hast? Oder traust du den Entwicklern vom Firefox, die ihrerseits mehrere duzenden CAs vertrauen? Warum vertraust du dann nicht den Truecrypt-Entwicklern? Es gibt Mittel und Wege, beispielsweise The Orange Book oder Common Criteria oder den Evaluation Assurance Level. Die sind aber meist teuer, da der Sourcecode oder das Programm theoretisch von dritten Parteien geprüft werden muss. Gleichzeitig besitzen auch diese Methoden und Zertifizierungen diverse Kritikpunkte.
das ist natürlich Interesannt, vorallem das mit diesen Zertifizierungen wusste ich nicht. Wobei ich dazu sagen muss das es nicht direkt darum geht ob den TrueCrypt entwicklern vertraut wird, sondern ob die Leute in den Links die ich gepostet habe recht haben, das der SourceCode von TrueCrypt zwar OpenSource ist, aber nie wirklich untersucht wurde? Was bedeuten würde das man auch wenn alle sagen "Yeahr, TrueCrypt ist opensource also bestimmt total sicher111" eigentlich von keinem besonderen mehrwert gegenüber closed-source Sprechen kann.

Ich bin in der Programmierung recht neu und hab nicht die kenntnisse zu beurteilen wie umfangreich es wäre ein Programm wie TrueCrypt anhand des Source den die Entwickler zu verfügung stellen zu untersuchen. Ich gehe aber davon aus, das alleine um zu prüfen ob z. B. AES richtig implementiert wurde höhere Mathematische kenntnisse braucht, neben den 'normalen' Programmierkenntnissen.




vgl. Communication Theory of Secrecy Systems (C. E. Shannon)

Shannon weißt implizit nach, dass es neben OTP kein anderes System geben kann das "perfect secrecy" erfüllt ... ein system mit dieser eigenschaft hat immer die eigenschafft des unendlich großen schlüssels bei unendlich großen klartexten ...

OTP ist nachweißlich das einzige unknackbare system ...
Gut, also ist OTP das einzige unknackbare system. Aber dennoch gehen wir ja zum heutigen Stand davon aus, das AES vielleicht theoretisch knackbar ist, praktisch aber nicht ohne das Passwort zu kennen.

Hypothese: Die USA haben es geschafft erfolgreich eine bislang unentdeckte backdoor in AES zu schmuggeln ...

welche absicht wird damit verfolgt? ein Vorteil für die USA ... wird AES eingesetzt, kann man mitlesen ... wirtschafts spionage ... militärische spionage ... etc ...

welchen preis zahlt man dafür? ... die usa setzen selbst in militärischen und wirtschaftlichen belangen auf AES ... würde eine backdoor existieren, und diese jemals verraten oder zufällig aufgedeckt, riskieren die USA damit ihre eigenen geheimnisse ... wie unangenehm sowas werden kann, weiß man nicht erst seit der botschafts depeschen geschichte ...

von daher wird vermutlich die frage erlaubt sein, ob das wirklich ein akzeptables kosten/nutzen verhältnis darstellt ... sicherheitstechnisch wäre das nicht die frage ob so eine backdoor hoch geht ... es wäre nur die frage wann es passiert ... russisch roulette mit der nationalen sicherheit? ... die amis mögen in vielerlei hinsicht bekloppt sein, aber das traue ich ihnen dann doch nicht so ganz zu ...
Das war für mich jetzt ein wirklich interesannter Ansatz und ein gutes Argument. Danke.

Und wenn wir dann noch weitergehen und davon ausgehen das die USA vielleicht ein Backdoor in AES hat, das es erlaubt mit zuhilfenahme von sehr starker Rechenpower die Verschlüsselung (damit meine ich wohl das Passwort, denke ich) schneller als auf normalen wege zu bekommen, und statt 10 Jahre vielleicht nur 10 Tage braucht? Damit wäre das Backdoor selbst wenn es aufkommt für 98% aller Menschen unknackbar, für die USA jedoch 'relativ' schnell möglich an den Inhalt zu kommen.

Wäre doch ein interesannter weiterführender Gedanke auf deine Hypothese, oder?
 

Tsjuder

Stammuser
Ich bin in der Programmierung recht neu und hab nicht die kenntnisse zu beurteilen wie umfangreich es wäre ein Programm wie TrueCrypt anhand des Source den die Entwickler zu verfügung stellen zu untersuchen. Ich gehe aber davon aus, das alleine um zu prüfen ob z. B. AES richtig implementiert wurde höhere Mathematische kenntnisse braucht, neben den 'normalen' Programmierkenntnissen.
Ist schon länger her, dass ich das AES mal von Hand rechnen musste an der Uni, aber so schwer ist die Mathematik wirklich nicht dahinter. Diese MixColumns Funktion mit dem GF 2^8 ist etwas "irritierend", aber in der Anwendung für AES musste man auch nicht so ganz kapieren was das überhaupt ist, daher denke ich kann man da ruhig mal in den Code gucken, wenn man es will.
 

CDW

Moderator
Mitarbeiter
Halb-OT (zum "selberprüfen"):

Das wäre mein liebstes Gegenbeispiel für "Open Source ist sicher!!!":
The Underhanded C Contest
Not A Number - Underhanded C: The Leaky Redaction
(Code soll Teile eines Bildes "schwärzen" und dabei eine "Backdoor" implementieren)

Man muss also nicht nur die Programmiersprache auf einem Niveau deutlich über dem "Hellau World" beherrschen, sondern auch "im Thema drin" sein + die spezifischen Implementierungsdetails kennen.
Anderes Beispiel wäre der Debian random number bug:
Debian -- Security Information -- DSA-1571-1 openssl
Da wurden wohl Änderungen ohne den Kontext genau zu kennen vorgenommen 'Random number generator, uninitialised data and valgrind.' - MARC (wie auch immer - es hat nicht umsonst länger gedauert, bis das bemerkt wurde und war an sich eine recht gute "Backdoormöglichkeit").
 

GrafZahl

Member of Honour
Und wenn wir dann noch weitergehen und davon ausgehen das die USA vielleicht ein Backdoor in AES hat, das es erlaubt mit zuhilfenahme von sehr starker Rechenpower die Verschlüsselung (damit meine ich wohl das Passwort, denke ich) schneller als auf normalen wege zu bekommen, und statt 10 Jahre vielleicht nur 10 Tage braucht? Damit wäre das Backdoor selbst wenn es aufkommt für 98% aller Menschen unknackbar, für die USA jedoch 'relativ' schnell möglich an den Inhalt zu kommen.

Wäre doch ein interesannter weiterführender Gedanke auf deine Hypothese, oder?
bleibt die frage wer die entsprechende rechenleistung zur verfügung hätte ...

hypothese: die ammis haben entsprechend viel rechenleistung ...

... nur die ammis? wie schauts aus mit anderen? chinesen? russen?

die annahme dass sich ausser den ammis niemand nen rechnerpool leisten kann der groß genug wäre ist gerade mit hinblick auf die weltwirtschaft etwas ... naiv ... selbst für amerikanische internetausdruckende senatoren ... die sind vermutlich mit historischen beispielen fürs wettrüsten vertraut ... :D

wenn man sich cloud systeme wie amazons EC2 ansieht, wird rechenleistung in durchaus beachtlicher größenordnung selbst für privatleute erschwinglich ...

wenn rechenleistung die einzige größe sein soll die da limitierend wirkt, schmilzt die gerade mit rasanter geschwindigkeit weg ...

und dann? adieu informationsvorteil ...
 

DerW

Stammuser
Wenn man dem Team von Ubuntu Privacy Mix Vertrauen schenken darf, sind die eingesetzten Verschlüselungsverfahren wohl recht korrekt implementiert (und damit nach dem aktuellen Stand als sicher geltend), nur mit den Schlüsseldateien gibt es potentielle Probleme (https://www.privacy-cd.org/en/tutorials/analysis-of-truecrypt).
Auch hier ist allerdings die Frage, ob die Autoren (Mark Preetorius und scheinbar 3 weitere nicht näher genannte Leute) auch die notwendigen Qualifikationen haben, das alles korrekt zu beurteilen.
 
Oben