Gruppenchat: OTP-Verschlüsselung

P

Programmer78

Doppel-As
Hallo,

wegen der "Data is the new Oil"-Thematik und Big-Data" sollte man ja seine privaten Kommunikationen verschlüsseln. Das geht ganz gut mit bisher existierenden Lösungen, aber nur mit einer Person.

Eigentliche Frage:
Könnte man nicht einen vertraulichen Gruppenchat aufbauen, wo eine Gruppe von Personen mit einer gleichen OTP-Zufallsdatendatei kommunizieren kann?

Ab hier ausführlicher, kann übersprungen werden....

Natürlich muss sich die Gruppe vorher getroffen haben und One-Time-Pad Daten ausgetauscht haben. Außerdem muss sichergestellt werden, dass für die Verschlüsselung nicht die schon verwendeten OTP-Daten verwendet werden (OTP eben).

Müsste man nicht nur die Positionsdaten der verwendeten OTP-Zufallsdaten auf einen Server übertragen?

Beispiel:

Person A schreibt eine Nachricht:

Diese wird auf seinem PC verschlüsselt. Die zur Verschlüsselung benutzte Zeichenkette wird durch eine Adressbeschreibung auf den Server übertragen und mit den schon verwendeten verglichen. Falls schon verwendet, wird solange probiert, bis eine "freie" Zeichenkette gefunden wurde, die noch nicht benutzt wurde. Die Adressbeschreibung der Zeichenkette wird an die schon existierende (Datei) auf dem Server angehangen.


Person B antwortet auf die Nachricht:
Sein PC hat verschlüsselt und überträgt seine zur Verschlüsselung verwendete Adressbeschreibung der Roh-Datendatei an den Server, falls dieser Adressbereich schon verwendet wurde, wird ein neuer Adressbereich übertragen, bis ein Bereich nicht verwendet wurde. Erst dann wird die eigentliche verschlüsselte Zeichenkette übertragen und der Adressbereich in der Datei der verwendeten angehängt.

Die verschlüsselten Daten würden dann vielleicht so aussehen:

Adressbereich Nachricht
38f:572334:572477 01000110101101011000011010101101010011111010110101111111101

Adressanfragen:
37d:43477:43545
12a:32891:32948
.
.


Alternative wäre noch wenn jeder eine OTP-Zufallsdatei mitbringt und an jeden verteilt. Dann müsste halt jede Datei ausprobiert werden oder vorher einem "Nick" zugeordnet werden. Oder es wird mit jeder Datei entschlüsselt und durch eine Worterkennung wird die richtige Entschlüsselung angezeigt.

mhh, vielleicht gibt es ja auch schon andere Lösungen? Wollte mich aber schon auf OTP beschränken, da der Schlüsselaustausch ja kein Problem darstellt, wenn man sich persönlich trifft. Es können ja gleich 50MB getauscht werden, das reicht je nach Kommunikation für mehrere Jahre. Gut, mit Windows eher unsicher, weil Endungen *.otp bestimmt gleich weitergeleitet werden ; ) aber mit Linux?
 
Hallo,
Das geht ganz gut mit bisher existierenden Lösungen, aber nur mit einer Person.
Das stimmt so nicht, viele der modernen Lösungen bieten ebenfalls die Möglichkeit eines Gruppenchats an. Tox z.B.; Die berühmte OTR Bibliothek bietet - so weit ich mich erinnere - auch eine Möglichkeit des Schlüsselaustausches mit mehreren Personen an; Notfalls kann man Nachrichten auch mit GnuPG an mehrere Empfänger verschlüsseln.

Wollte mich aber schon auf OTP beschränken, [...]
Warum? One-Time-Pads sind in der modernen computergestützten Kryptographie antiquiert. Mit asymmetrischen Verfahren kann man das wesentlich effizienter und eleganter gestalten.
OTP stammt aus einer Zeit, als Geheimdienste noch verschlüsselte Nachrichten über Zahlensender an ihre Agenten in aller Welt sendeten und diese die dann von Hand auf einem Zettel entschlüsseln mussten. Heutzutage gibt es bessere Möglichkeiten.

Viele Grüße,
Pik-9
 
Danke für die Rückmeldung Pik9. Das mit Tox und OTR in der Gruppe schaue ich mir mal an. OTR verwende ich schon Jahre, wusste nur nicht, dass es auch für Gruppen möglich ist. Pidgin gibt ja schon die Kommunikationsumgebung her. Nur wäre es gut, wenn es noch eine schöne Verschlüsselung geben würde. Ich hatte mir mal ein Pidgin-Paranoia Plugin angesehen, dort kann man auch OTP nutzen, aber mein Gedanke war eben der Austausch in einer Gruppe.

OTP ist nicht zu brechen, was man von den anderen Verschlüsselungen nicht behaupten kann. Deshalb wollte ich mich auf OTP beschränken. WPA wurde ja auch geknackt, von daher ist es früher oder später auch mit der einen oder anderen Verschlüsselung vorbei, die Rechenleistungen werden ja auch immer besser. One-Time-Pad ist da gewissermaßen zeitlos in der hinsicht, deshalb finde ich das so interessant.
 
Erstmal ein kleiner Nachtrag: OTR selbst unterstützt so keinen Schlüsselaustausch mit n>2 Personen, aber es gibt Überlegungen das in einer erweiterten Bibliothek zu implementieren: Multi-party Off-the-Record
Bisher scheint es allerdings noch keine konkrete Implementierung zu geben.
Tox implementiert seine Gruppenchats in einer Art Ringschaltung, bei dem die Gruppenmitglieder sich zu einer Art Ring zusammenschließen und eine Nachricht immer jeweils an den Nachbarn weitergeleitet werden - Das setzt natürlich voraus, dass alle Mitglieder bedingungslos vertrauenswürdig sind.

OTP ist nicht zu brechen, was man von den anderen Verschlüsselungen nicht behaupten kann. Deshalb wollte ich mich auf OTP beschränken. WPA wurde ja auch geknackt, von daher ist es früher oder später auch mit der einen oder anderen Verschlüsselung vorbei, die Rechenleistungen werden ja auch immer besser. One-Time-Pad ist da gewissermaßen zeitlos in der hinsicht, deshalb finde ich das so interessant.
Bei WPA wurde nicht die Verschlüsselung selber gebrochen, sondern es wurde eine Schwäche in der Implementierung ausgenutzt. Die allgemein verwendeten Verschlüsselungsverfahren (AES, RSA, etc) gelten auf absehbare Zeit als sicher - sofern sie korrekt und fehlerfrei implementiert wurden, natürlich.

Ansonsten sollte das, was du vor hast, ja relativ leicht zu programmieren sein. Du musst deine Nachricht ja bloß mit einer gewissen Stelle aus der 50 MiB großen Datei XORen, denn XOR ist ja nichts weiter, als eine OTP Verschlüsselung im binären System. Viel Glück dabei, das zu schreiben - sollte nicht zu aufwendig sein.

Viele Grüße,
Pik-9
 
Hallo, danke für die Antworten Pik-9!

Da das Thema mich irgendwie nicht loslässt, habe ich im Internet recherchiert und bin über OTP-Authentifizierung bei dieser netten Software https://joshua-m-david.github.io/jerichoencryption gelandet. Er zeigt genau die Probleme auf und hat wahrscheinlich schon eine Lösung dafür. Ob die Software auch sicher und fehlerfrei ist, weiss ich natürlich nicht. Aber es klingt erst einmal vielversprechend.

Jedenfalls brauch ich als C Neuling wohl mindestens 2-4 Jahre um soetwas auf die Beine zu stellen. Gut dass sich noch mehrere darum bemühen. Bin auch auf OTP-Apps für Mobilgeräte gestoßen, aber die Software darauf ist ja bestimmt vergleichbar mit Windows, daher brauch man auf solchen Betriebssystemen wohl auch nicht mit OTP anfangen : D

Falls ich weitere Neuigkeiten habe, werde ich das in diesem Thread posten.

Gruß P
 

Ähnliche Themen

Empfehlung für Server Distribution

Fehlerhafte Installation von OpenSUSE 13.1

Befehl beim Session beenden

Freezes Abstürze und bootcrashes

Dateien mit gleicher Größe löschen

Zurück
Oben