Forum: Offtopic OTP und Schlüsselübergabe


von OTP (Gast)


Lesenswert?

Hallo,

soweit ich im Bilde bin, ist die Verschlüsselung mittels OTP so ziemlich 
das sicherste, was man überhaupt machen kann, jedoch gibt es das 
Problem, dass der Schlüssel zum einen auf beiden Seiten bekannt sein 
muss, und zum anderen nur einmal verwendet werden kann.

Nun stelle ich mir die Frage, wie man das Problem lösen kann, einen 
neuen sicheren Schlüssel zu übergeben.

Wenn der erste Schlüsselsatz zwischen dem Empfänger und dem Sender 
bekannt sind, dann kann genau eine Botschaft verschlüsselt zwischen den 
beiden Stellen ausgetauscht werden, genau einmal. Danach darf der alte 
Schlüssel nicht nochmal verwendet werden.

Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart 
ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste 
Nachricht verwendet wird? Die Entschlüsselte Botschaft kennen ja erneut 
nur die beiden an der Kommunikation beteiligten Parteien und so würde 
die eigentliche Nachricht der Schlüssel für die jeweils nächste 
Verschlüsselungsstufe werden.

Ist dies dann immer noch per stochastischer Analyse zu knacken, nachdem 
man mehrere Übertragungen mit gelauscht hat?

: Verschoben durch User
von Konrad (Gast)


Lesenswert?

Beachte known-Plaintext-Attacken. Wenn ich weiss oder annehme, dass 
deine N-te Nachricht "OK, bis gleich" war, weil Du so was gelegentlich 
schreibst, dann kann ich sofort die (N+1)-te Nachricht und alle 
folgenden entschluesseln.

von restmuell (Gast)


Lesenswert?

Konrad schrieb:
> Beachte known-Plaintext-Attacken. Wenn ich weiss oder annehme,
> dass
> deine N-te Nachricht "OK, bis gleich" war, weil Du so was gelegentlich
> schreibst, dann kann ich sofort die (N+1)-te Nachricht und alle
> folgenden entschluesseln.

Es war die Rede davon, das jedes OTP nur einmal genutzt wird.
Damit entfällt diese Möglichkeit

von Der Andere (Gast)


Lesenswert?

1. Ein Schlüssel aus Text ist nicht statistisch gleichmäßig verteilt und 
nutzt nur ein Bruchteil der möglichen Codes.
2. Sobald du einen OTP Schlüssel wie auch immer elektronisch weitergibst 
ist er nuir noch so sicher wie die Weitergabe, dann kannst du dir das 
OTP Geraffel gleich sparen.

restmuell schrieb:
> Es war die Rede davon, das jedes OTP nur einmal genutzt wird.
> Damit entfällt diese Möglichkeit

Nei, er wollte einmal einen OTP benutzen, und als Folgeschlüssel dann 
die entschlüsselten Texte. Die werden aber immer unsicherer, da man 
immer mehr Daten hat um den OTP herauszufinden, ausserdem muss man 
beachten, dass es dem Angreifer gerlingen könnte irgendeinen 
entschlüsselten Text auf anderem Wege zu erhalten, ab dann ist alles 
folgende praktisch unverschüsselt.

Sprich die Idee des TO sollte man ganz schnell vergessen.

von Dennis S. (eltio)


Lesenswert?

Der Andere schrieb:
> 1. Ein Schlüssel aus Text ist nicht statistisch gleichmäßig verteilt und
> nutzt nur ein Bruchteil der möglichen Codes.

Das ist der Punkt. Die Tatsache, dass natürliche Sprachen hochgradig 
redundant sind ermöglicht ja auch (trotz riesiger Schlüsselräume) die 
Analyse monoalphabetischer Kryptosysteme durch Auswerten der 
Buchstaben-Häufigkeiten.

Gruß
Dennis

von OTP (Gast)


Lesenswert?

Ok,

die Sache mit dem Plain-Text muss natürlich umgangen werden, indem z.B. 
immer die gesamte Schlüssellänge ausgenutzt wird, das macht das Finden 
von geläufigen Floskeln ev. etwas schwieriger.

Zweitens die Sache mit den Auftretens-Häufigkeiten von 
"Normaltext-Schlüsseln"
Das erste "echte" OTP wird genutzt um eine Nachricht zu übertragen.
Die Nachricht dient später als erneute OTP. Leider hat sie zunächst das 
Problem, dass z.b. in deutschen Texten das E überproportional häufig 
vorkommt und somit statistische Fingerabdrücke hinterlassen würden.
Man könnte aber den Schlüssel wieder zu einem echten Pseudorandom-Code 
machen, in dem zusätzlich ein Glättungsalgorithmus im Sender und 
Empfänger hinterlegt sein könnte, der den statistisch ungleichmäßig 
verteilten Text wieder so glattbügelt, dass häufiger vorkommende 
Buchstaben nach einem Algorithmus so oft durch weniger häufig 
vorkommende ersetzt werden, bis wieder eine Gleichverteilung entsteht, 
oder aber z.b. bewußt eine falsche Ungleichverteilung herbeigeführt 
wird...

Wäre das dann wieder sicher?

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

OTP schrieb:

> Wäre das dann wieder sicher?

Nein, dadurch bringst Du ja keinen echten, zusätzlichen Zufall in den 
OTP key.

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Wie wäre es, wenn man das Ganze gleich gescheit aufzieht?

1. Zufälligen Master-Schlüssel mittels TRNG oder CSPRNG erzeugen
2. Master-Schlüssel an Sender und Empfänger verteilen
3. Masterschlüssel mit geeignetem Seed/Context an eine kryptographisch 
sichere KDF übergeben um weitere Schlüssel abzuleiten
4. Nachricht mit abgeleitetem Schlüssel verschlüsseln

Der Seed/Context müsste dabei so gewählt sein, dass er sich für jede 
Nachricht ändert, möglich wäre beispielweise die Nachrichtennummer zu 
wählen o.ä.

Nächste Stufe wären dann das Ganze per asymmetrischer Kryptographie, 
also z.B. RSAES-OAEP umzusetzen, damit entfällt dann das Problem, dass 
eine Kompromittierung des Master-Schlüssels alle Sender/Empfänger 
kompromittiert.

von Yalu X. (yalu) (Moderator)


Lesenswert?

OTP schrieb:
> Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart
> ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste
> Nachricht verwendet wird?

Dein Verschlüsselungsverfahren sieht also so aus:

1
V1 =  A ^ K1
2
V2 = K1 ^ K2
3
V3 = K2 ^ K3
4
...

Dabei sind A der Anfangsschlüssel, Ki die Klartextnachrichten, Vi die
verschlüsselten Nachrichten und ^ der XOR-Operator.

Diese Gleichungen kann man durch Umstellen und und gegenseitiges
Einsetzen auch so schreiben:

1
V1           = A ^ K1
2
V1 ^ V2      = A ^ K2
3
V1 ^ V2 ^ V3 = A ^ K3
4
...

Substituiert man jeweils

1
V1 ^ V2 ^ ... ^ Vi = Si

ergibt sich

1
S1 = A ^ K1
2
S2 = A ^ K2
3
S3 = A ^ K3
4
...

V1, V2, ... und damit auch Si sind dem Angreifer bekannt. Die
Gleichungen sehen nun genauso aus, als ob der Absender jedesmal
denselben Schlüssel A verwendet hätte und die verschlüsselten
Nachrichten S1, S2, ... wären.

Dein Verschlüsselungsverfahren ist damit genauso viel (oder wenig) wert
wie ein OTP, das für jede übermittelte Nachricht denselben Schlüssel
verwendet, da der Angreifer exakt die gleichen Entschlüsselungsverfahren
anwenden kann.

von Axel S. (a-za-z0-9)


Lesenswert?

OTP schrieb:
> soweit ich im Bilde bin, ist die Verschlüsselung mittels OTP so ziemlich
> das sicherste, was man überhaupt machen kann

Ähmm nein. OTP ist ebenso wenig ein Verschlüsselungsverfahren, wie 
"Schrödingers Katze" ein physikalisches Experiment ist.

> jedoch gibt es das
> Problem, dass der Schlüssel zum einen auf beiden Seiten bekannt sein
> muss, und zum anderen nur einmal verwendet werden kann.

So ist das. Schon die Schlüsselübergabe ist vollkommen unrealistisch. 
Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel 
übertragen kann, dann kann man auf eben diesem Kanal auch gleich die 
Nachricht übertragen. Das andere Problem besteht darin, überhaupt 
erstmal einen echt zufälligen Schlüssel zu erzeugen. Das ist viel 
schwieriger als gemeinhin angenommen.

OTP ist ein Gedankenexperiment wie man ein Verschlüsselungsverfahren 
aufziehen müßte, bei dem wirklich keine Information an Unbeteiligte 
Dritte abfließt. Außer natürlich der Tatsache daß kommuniziert wird 
und in gewissem Maße auch die übertragene Datenmenge.

Der Knackpunkt beim OTP ist, daß wirklich jeder Schlüssel gleich 
wahrscheinlich ist. Der Schlüssel kann z.B. auch komplett aus Nullen 
bestehen (dann wird Klartext verschickt). Oder der Schlüssel ist gleich 
dem Klartext (dann besteht der Geheimtext nur aus Nullen). Dadurch daß 
der Schlüssel zufällig gleichverteilt ist, ist auch jede mögliche 
Entschlüsselung gleich wahrscheinlich (sofern sie die richtige Länge 
hat). Ohne den Schlüssel zu kennen, kann niemand sagen welche 
Entschlüsselung die richtige ist.

Insbesondere könntest du nachher auch daher kommen und einen "Schlüssel" 
präsentieren der "beweist" daß du nur ein Rezept für Käsekuchen 
geschickt hast. Und niemand kann beweisen daß das gelogen ist.

> Wenn der erste Schlüsselsatz zwischen dem Empfänger und dem Sender
> bekannt sind, dann kann genau eine Botschaft verschlüsselt zwischen den
> beiden Stellen ausgetauscht werden, genau einmal. Danach darf der alte
> Schlüssel nicht nochmal verwendet werden.

Ja. Das sind die 3 Grundvoraussetzungen für den OTP:

1. der Schlüssel ist echt zufällig.
2. der Schlüssel ist (mindestens) so lang wie die Nachricht.
3. der Schlüssel wird genau einmal verwendet.

Sobald auch nur eine dieser Voraussetzungen verletzt wird, ist es kein 
OTP mehr und man verliert alle gewünschten Eigenschaften.

> Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart
> ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste
> Nachricht verwendet wird?

Dann ist das kein OTP mehr. Und außerdem sofort anfällig für known 
plaintext Angriffe. Siehe Yalu.

von Dennis S. (eltio)


Lesenswert?

Axel S. schrieb:
> Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel
> übertragen kann, dann kann man auf eben diesem Kanal auch gleich die
> Nachricht übertragen.

Nicht ganz: der große Vorteil ist, dass man, wenn die Schlüssel vorher 
getauscht wurden, der Zeitpunkt der Nachrichtenübertragung frei gewählt 
werden kann.

Gruß
Dennis

von Vn N. (wefwef_s)


Lesenswert?

Axel S. schrieb:
> Schon die Schlüsselübergabe ist vollkommen unrealistisch.
> Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel
> übertragen kann, dann kann man auf eben diesem Kanal auch gleich die
> Nachricht übertragen.

Unsinn, man kann z.B. heute den Schlüssel persönlich übergeben, um 
übermorgen verschlüsselt über einen unsicheren Kanal zu kommunizieren.

Axel S. schrieb:
> Das andere Problem besteht darin, überhaupt
> erstmal einen echt zufälligen Schlüssel zu erzeugen. Das ist viel
> schwieriger als gemeinhin angenommen.

In der Praxis begnügt man sich mit hinreichend guten Zufallsgeneratoren.

Axel S. schrieb:
> Ähmm nein. OTP ist ebenso wenig ein Verschlüsselungsverfahren, wie
> "Schrödingers Katze" ein physikalisches Experiment ist.

Axel S. schrieb:
> OTP ist ein Gedankenexperiment

Unsinn, OTP wird/wurde auch in der Praxis verwendet.

von Robert L. (lrlr)


Lesenswert?

ich würde mich mal auf eine fixe "textlänge" einigen
z.b. 16KByte
die ersten 8KByte Text
die zweiten 8KByte der neue Schlüssel

zum verschlüsseln verwendet man einfach den Schlüssel zweimal..

edit: ok, blöde idee, das versößt irgendwie gengen das "man darf den 
schlüssel nur einmal verwenden" ..

: Bearbeitet durch User
von Timm T. (Gast)


Lesenswert?

Axel S. schrieb:
> OTP ist ein Gedankenexperiment

Quark, OTP wurde durchaus real verwendet.

vn n. schrieb:
> man kann z.B. heute den Schlüssel persönlich übergeben, um
> übermorgen verschlüsselt über einen unsicheren Kanal zu kommunizieren.

Man muß auch gar keinen Schlüssel übergeben, man muß sich nur auf einen 
Schlüssel einigen.

Zum Beispiel: Nimm Buch soundso, Ausgabe soundso, Seite soundso, der 
Schlüssel ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf 
natürlich ebensowenig anderen in die Hände fallen wie ein persönlich 
übergebener OTP.

von Dennis S. (eltio)


Lesenswert?

Timm T. schrieb:
> Axel S. schrieb:
>> OTP ist ein Gedankenexperiment
>
> Quark, OTP wurde durchaus real verwendet.
Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder 
behauptet wird, aber STIMMT das auch?

> Zum Beispiel: Nimm Buch soundso, Ausgabe soundso, Seite soundso, der
> Schlüssel ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf
> natürlich ebensowenig anderen in die Hände fallen wie ein persönlich
> übergebener OTP.
Natürliche Sprache ist NICHT zufällig! [1] Das ändert sich doch auch 
nicht wenn du nur jeden x-ten Buchstaben nimmst, oder?

Gruß
Dennis

[1] 
https://de.wikipedia.org/wiki/Buchstabenh%C3%A4ufigkeit#Buchstabenh.C3.A4ufigkeit_in_ausgew.C3.A4hlten_Sprachen

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Dennis S. schrieb:
> Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder
> behauptet wird, aber STIMMT das auch?

https://en.wikipedia.org/wiki/One-time_pad#Historical_uses

von M. S. (martin_der_bastler) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Timm T. schrieb:
>> Axel S. schrieb:
>>> OTP ist ein Gedankenexperiment
>> Quark, OTP wurde durchaus real verwendet.
> Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder
> behauptet wird, aber STIMMT das auch?

In bestimmten Kreisen ist es durchaus üblich, dass ganze Konvolute
vorgenerierter OTPs mittels Boten ausgetauscht werden. Früher physisch,
auf Papier, heutzutage eher auf einem digitalen Träger. Man braucht
dazu natürlich einen sehr vertrauenswürdigen Boten, den kriegt man
aber in der Regel eher leicht. Noch dazu, wenn ggf. da noch ein Dritter
"mitreist", der dem Boten ziemlich genau auf die Finger schaut und weder
der Bote selbst noch der Aufpasser da direkt und unmittelbar physischen
Zugriff auf den Träger haben. Beispielsweise wird's schwierig, da mal
schnell am Klo eine Kopie des - nennen wir's mal USB-Sticks - zu
zu ziehen, wenn sich selbiger in einem versiegelten Aktenkoffer
befindet, den der "Aufpasser" immer im Blick hat. Normalerweise nimmt
man aber auch ein Team von mindestens zwei Boten (damit einer wirklich
mal auf's Klo gehen kann, ohne dass der Koffer verschwindet) und dann
sind auch mehrere "Aufpasser" im Spiel, wobei es günstig ist, wenn
der Bote die Aufpasser nicht auf Anhieb erkennt und im Idealfall
sogar die Aufpasser nicht wissen, wie viele sie sind und ob ihnen
nicht selbst noch einer im Nacken sitzt. Frueher wars zumindest so.
Ob dieser Aufwand in der zwischenzeit durch bessere technische 
Möglichkeiten reduzert werden konnte weiss ich nicht, aber ich wuerd's
immer noch genau so machen.

>> Nimm Buch soundso, Ausgabe soundso, Seite soundso, der Schlüssel
>> ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf natürlich
>> ebensowenig anderen in die Hände fallen wie ein persönlich
>> übergebener OTP.
> Natürliche Sprache ist NICHT zufällig! Das ändert sich doch auch
> nicht wenn du nur jeden x-ten Buchstaben nimmst, oder?

Natürliche Sprache oder ähnliches Zeugs will man da schon gar nicht.
Die Leute, die wirklich OTP brauchen, und daher auch keine Kosten
und Mühen scheuen, den Austauschkanal durch entsprechende personelle
Massnahmen weitestgehend zu sichern, haben mit Sicherheit, und dafür
verbürge ich mich, auch entsprechende Random-Generatoren stehen. Und
das ist sicher kein Schieberegister, das mit einem Pseudo-Random-Gen
gefuettert wird, der irgendwo sein salt/seed aus /dev/urand0 abholt,
sondern das ist ein echter true-RNG. Hat auch den Vorteil, dass der
Zugang zum Generator nicht sonderlich sicher sein muss, eben weil er
stets "echten" Zufall erzeugt.

Generell will man aber, eben wegen dem Aufwand im Austausch, der
wirkungsvoll jedoch nur via Bote erfolgen kann, OTP-Einsatz eher
minimieren. Ich kenn's beispielsweise so, dass mit dem OTP ein Key
für ein synchrones Verfahren ausgetauscht wird, mit dem dann ueber
beispielsweise digitale Leitung kommuniziert werden kann.

Dass Mutti da bei Sohnemann anruft, damit er als OTP-Schluessel in
der Bibel nachschlaegt und Hiob 3, Vers 17 oder sowas raussucht
macht sich zwar im Hollywood-Kino Eindruck, fuehrt die Sache aber
generell ad absurdum, denn wenn die Leitung Mutti-Sohn sicher waere,
dann koennte man sich das OTP auch komplett sparen.

LG, MdB

von Axel S. (a-za-z0-9)


Lesenswert?

Daniel H. schrieb:
> Dennis S. schrieb:
>> Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder
>> behauptet wird, aber STIMMT das auch?
>
> https://en.wikipedia.org/wiki/One-time_pad#Historical_uses

Gut die Hälfte davon ist Hörensagen. Und für einige der genannten Fälle 
(Weimarer Republik) steht in meinen Kryptographie-Büchern daß die 
Schlüssel richtig mies waren. Die haben da Leute an Schreibmaschinen 
gesetzt und "zufällige" Texte tippen lassen. Einmal darfst du raten, wie 
die Verteilung der Buchstaben ist, wenn die immer abwechselnd mit der 
linken und der rechten Hand getippt haben.

Über die Verwendung irgendwelcher Bücher als Pad brauchen wir erst gar 
nicht zu diskutieren. Die erfüllen schon Kriterium 1 nicht (Zufall). Aus 
opsec-Gründen wird man den Pad nach der Verwendung auch vernichten 
wollen. Auch da steht man ausgesprochen dumm da, wenn man etwa die Bibel 
verwendet. Oder sonst ein Buch von dem es mehr als 2 Exemplare gibt.

Andererseits ist die anekdotische Nutzung in Einzelfällen kein 
Widerspruch zu meinem Wissen. OTP ist kein Verschlüsselungsverfahren 
mit irgend einer praktischen Relevanz. OTP hat ausschließlich 
theoretische Bedeutung.

von Dennis S. (eltio)


Lesenswert?

Axel S. schrieb:
> Andererseits ist die anekdotische Nutzung in Einzelfällen kein
> Widerspruch zu meinem Wissen. OTP ist kein Verschlüsselungsverfahren
> mit irgend einer praktischen Relevanz. OTP hat ausschließlich
> theoretische Bedeutung.

Ich wollte dir auf keinen Fall irgendwie auf die Füße treten! Aber es 
hat den Anschein, dass die Nutzung vom OTP in der Vergangenheit immer 
eher halbherzige Krücken waren, statt dem Ideal (mit hohem Aufwand) 
möglichst nahe zu kommen. Dein letzter Satz bestätigt auch mein Wissen / 
meine Meinung.

Gruß
Dennis

von Hagen R. (hagen)


Lesenswert?

ebenso meine Meinung und Wissen!

Als Ergänzung: die Bibel als Grundlage für den OTP verletzt alle 3 
Grundregeln eines OTPs und damit ist diese Vorgehensweise kein OTP.

1.) nicht zufällig
2.) nicht einmalig verwendet, das schließt auch die Zerstörung des OTPs 
mit ein!
3.) nicht gleiche Länge zur Nachricht


Es gibt aber reale Anwendungen bei dem OTPs technisch benutzt werden. 
Sehr oft findet man in verschiedenen kryptographischen Protokollen OTPs 
die mit anderen Verfahren kombiniert werden. Zb. bei 
Signaturen/Keyexchanges usw. Die Entwickler benutzen hier deshalb OTPs 
um sich die Beweisführung einer einzelnen Komponente zu erleichtern. 
Aber auch mit dem Wissen das dann nur diese eine OTP Komponente 
beweisbar sicher zum theoretischen OTP ist. In Zusammenarbeit mit den 
anderen Verfahren, in die der OTP eingebettet wurde, wird aber 
wissentlich die theoretisch erreichbare Sicherheit des OTPs wieder 
reduziert. Da immer der zufällig erzeugte Schlüssel durch schwächere 
Verfahren geschützt wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.