Übung 6.2

JanPM
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 20. Mär 2009 14:25
Wohnort: Darmstadt

Übung 6.2

Beitrag von JanPM » 12. Mär 2011 18:34

Ich glaube die Kommutativität wird bei den Antworten von T benötigt, da in dem Fall ja nicht verschlüsselt sondern signiert wird. Liege ich richtig wenn ich da das Station-to-Station Protokoll einsetze?

Und den Angriff aus 1 könnte man verhindern mit
A->B : { Na, A, B , {Na, A, B}sig }kpb
usw
halt immer mit dazu schreiben wer mit wem kommunizieren will und das auch noch signieren..

jno
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 144
Registriert: 18. Mai 2007 09:41

Re: Übung 6.2

Beitrag von jno » 13. Mär 2011 11:43

JanPM hat geschrieben:Ich glaube die Kommutativität wird bei den Antworten von T benötigt, da in dem Fall ja nicht verschlüsselt sondern signiert wird.
Ja, sehe ich auch so. Normalerweise muss ja bei Schlüsselpaaren, die zum Verschlüsseln und Entschlüsseln gedacht sind nur \(m=\{\{m\}_{K_{PX}}\}_{K_{SX}}\) gelten und nicht zwangsläufig umgekehrt. Damit A und B hier die Nachrichten von T verstehen können muss aber auch \(m=\{\{m\}_{K_{SX}}\}_{K_{PX}}\) stimmen. Wobei in der Aufgabe eigentlich auch nicht ausdrücklich gesagt wird, ob das Schlüsselpaar von T zum Verschlüsseln und Entschlüsseln oder Signieren und Verifizieren gedacht ist. Wenn von Anfang an klar wäre, dass Signaturschlüssel gemeint sind, dann würde doch z.B. bei DSA / ElGamal \(m=\{\{m\}_{K_{SX}}\}_{K_{PX}}\) aber nicht \(m=\{\{m\}_{K_{PX}}\}_{K_{SX}}\) gelten und alles würde funktionieren oder?
Und den Angriff aus 1 könnte man verhindern mit
A->B : { Na, A, B , {Na, A, B}sig }kpb
usw
halt immer mit dazu schreiben wer mit wem kommunizieren will und das auch noch signieren..
An der Stelle schreib ich mal mein Angriffsszenario aus der a) hin (Die Kommunikation mit T hab ich mal weggelassen):
\(A \rightarrow C: \{N_A,A\}_{K_{PC}}\)
\(C \rightarrow B: \{N_A,A\}_{K_{PB}}\)
\(B \rightarrow C: \{N_A,N_B\}_{K_{PA}}\)
\(C \rightarrow A: \{N_A,N_B\}_{K_{PA}}\)
\(A \rightarrow C: \{N_B\}_{K_{PC}}\)
\(C \rightarrow B: \{N_B\}_{K_{PB}}\)
Hoffe, das stimmt. Ich denke, mit den von dir vorgeschlagenen signierten Nachrichten könnte man dann verhindern, dass C in der 2. Zeile behauptet, A zu sein.

FGB
Mausschubser
Mausschubser
Beiträge: 45
Registriert: 21. Jan 2006 14:41
Wohnort: Darmstadt
Kontaktdaten:

Re: Übung 6.2

Beitrag von FGB » 13. Mär 2011 11:56

jno hat geschrieben: An der Stelle schreib ich mal mein Angriffsszenario aus der a) hin (Die Kommunikation mit T hab ich mal weggelassen):
\(A \rightarrow C: \{N_A,A\}_{K_{PC}}\)
\(C \rightarrow B: \{N_A,A\}_{K_{PB}}\)
\(B \rightarrow C: \{N_A,N_B\}_{K_{PA}}\)
\(C \rightarrow A: \{N_A,N_B\}_{K_{PA}}\)
\(A \rightarrow C: \{N_B\}_{K_{PC}}\)
\(C \rightarrow B: \{N_B\}_{K_{PB}}\)
Hoffe, das stimmt. Ich denke, mit den von dir vorgeschlagenen signierten Nachrichten könnte man dann verhindern, dass C in der 2. Zeile behauptet, A zu sein.
Sehe ich genau so. Das typische Man-In-The-Middle Szenario.

Zu 6.2b: Wenn man Timestamps einsetzt, sollte der Angriff zur 1. Aufgabe doch infällig sein oder?
Die Zwischenverschlüsselung, die C andauernd übernehmen muss, erzeugt doch sicherlich eine minmanel Zeitspanne, so dass die synchronisierte Uhr von A und B das bemerken müsste oder?

EDIT:
Bei der asymetrischen können wir ja gar keine Zeitstempel verwenden oder?

Benutzeravatar
AlexPi11
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 154
Registriert: 18. Apr 2009 15:32

Re: Übung 6.2

Beitrag von AlexPi11 » 13. Mär 2011 13:47

Ich glaube nicht das man noch zusätzlich annehmen darf, dass hinreichend lange Zeit verstreicht, um das mittels Zeitstempel regeln zu können. Man kann aber einfach bei jeder Nachricht noch dazuschreiben, wer sie geschickt hat (also im Verschlüsselten Teil); speziell hier würde es auch bei der letzten Nachricht reichen (-denk' ich).

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Übung 6.2

Beitrag von tud » 14. Mär 2011 10:44

jno hat geschrieben: An der Stelle schreib ich mal mein Angriffsszenario aus der a) hin (Die Kommunikation mit T hab ich mal weggelassen):
\(A \rightarrow C: \{N_A,A\}_{K_{PC}}\)
\(C \rightarrow B: \{N_A,A\}_{K_{PB}}\)
\(B \rightarrow C: \{N_A,N_B\}_{K_{PA}}\)
\(C \rightarrow A: \{N_A,N_B\}_{K_{PA}}\)
\(A \rightarrow C: \{N_B\}_{K_{PC}}\)
\(C \rightarrow B: \{N_B\}_{K_{PB}}\)
Hoffe, das stimmt. Ich denke, mit den von dir vorgeschlagenen signierten Nachrichten könnte man dann verhindern, dass C in der 2. Zeile behauptet, A zu sein.
Sollte bei der Aufgabe 6.1 nicht das Ziel sein, dass B mit C redet, aber glaubt, mit A zu reden? Dazu müsste B statt den öffentlichen Schlüssel von A zu verwenden doch eher den öffentlichen Schlüssel von C untergejubelt bekommen (im Glauben, es sei der von A), oder?

jno
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 144
Registriert: 18. Mai 2007 09:41

Re: Übung 6.2

Beitrag von jno » 14. Mär 2011 11:45

tud hat geschrieben: Sollte bei der Aufgabe 6.1 nicht das Ziel sein, dass B mit C redet, aber glaubt, mit A zu reden? Dazu müsste B statt den öffentlichen Schlüssel von A zu verwenden doch eher den öffentlichen Schlüssel von C untergejubelt bekommen (im Glauben, es sei der von A), oder?
Ich glaube, man soll davon ausgehen, dass die Parteien A,B die richtigen Schlüssel von T bekommen haben. Jedenfalls funktioniert es auch so, da C zwar in der 3. Zeile die von B empfangene Nachricht nicht entschlüsseln kann (er hat ja nicht den privaten Schlüssel von A), aber diese einfach in verschlüsselter Form an A weiterleitet in der 4. Zeile. In der 5. Zeile erledigt das dann A, im Glauben, das \(N_b\) sei in Wirklichkeit ein "\(N_c\)".

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Übung 6.2

Beitrag von tud » 14. Mär 2011 11:58

Dann erschließt sich mir der Sinn dieser Attacke nicht so recht. Was für einen Vorteil hat das für C? Würde C einfach als man in the middle agieren und A und B tauschen Schlüssel aus, dann könnte C auch A vortäuschen es sei B und C könnte B vortäuschen es sei A, weil C einfach alles weiterleitet und kein einziges Mal eingreift. In beiden Verfahren ist der Nutzen von C doch der gleiche, nämlich keiner, oder?

jno
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 144
Registriert: 18. Mai 2007 09:41

Re: Übung 6.2

Beitrag von jno » 14. Mär 2011 12:30

Eine MITM-Attacke wäre doch, wenn es C tatsächlich möglich ist, sich unbemerkt zwischen die Kommunikation von A und B dazwischen zu schalten. C würde in diesem Fall unbemerkt bleiben. Dass so ewas für einen Angreifer möglich ist, ist aber eine starke Voraussetzung, die nicht unbedingt gegeben sein muss. Ist jedoch C eine andere mit A und B gleichgestellte Partei, kann er völlig legitim gleichzeitig 2 Session starten. Wieso jetzt C keinen Nutzen haben soll, verstehe ich nicht. Er hat sich doch schließlich erfolgreich gegenüber A als B ausgegeben, obwohl das nicht stimmt, oder?

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Übung 6.2

Beitrag von tud » 14. Mär 2011 12:33

C hat dafür gesorgt, dass A und B ihre öffentlichen Schlüssel austauschen. Was ist da so schlimm dran?

jno
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 144
Registriert: 18. Mai 2007 09:41

Re: Übung 6.2

Beitrag von jno » 14. Mär 2011 12:46

Wieso denn öffentliche Schlüssel austauschen? A und B haben von vornherein schon die öffentlichen Schlüssel vom jeweils anderen. (von T bekommen). C hat jetzt aber die Challenge von B gelöst (bzw. sich lösen lassen), der prüfen will, ob sein Kommunikationspartner im Besitz des privaten Schlüssels von A (mit dem er glaubt zu kommunizieren) ist.

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Übung 6.2

Beitrag von tud » 14. Mär 2011 12:53

jno hat geschrieben:Wieso denn öffentliche Schlüssel austauschen? A und B haben von vornherein schon die öffentlichen Schlüssel vom jeweils anderen. (von T bekommen). C hat jetzt aber die Challenge von B gelöst (bzw. sich lösen lassen), der prüfen will, ob sein Kommunikationspartner im Besitz des privaten Schlüssels von A (mit dem er glaubt zu kommunizieren) ist.
Okay, B glaubt nun also, dass C A ist. Das kann für C aber nur dann von Vorteil sein, wenn B nun aufgrund dieses Fehlglaubens unverschlüsselte Informationen an C schickt, die nur für A bestimmt sind. Das wäre aber komisch, denn wenn man der Verbindung soviel traut, dass man unverschlüsselte Informationen verschickt, dann würde man aber vorher keine Schlüssel austauschen.

dschneid
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 271
Registriert: 14. Dez 2009 00:56

Re: Übung 6.2

Beitrag von dschneid » 14. Mär 2011 13:09

Ich denke, man darf eben nicht davon ausgehen, dass ein Angriff nur dann sinnvoll ist, wenn der Angreifer dadurch auch an die übertragenen Informationen kommt. Es reicht ja schon, wenn die Kommunikation irgendwie verwirrt oder gestört wird. Das geht ja auch schon als unsicher durch.

Antworten

Zurück zu „Archiv“