Lab2 Task 5

khaled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 28. Mai 2012 01:16

Lab2 Task 5

Beitrag von khaled »

"Initialize these variables to false. In your modified code for the intruder, you will have to set these variables to true only when successful decryption of an intercepted message yields nonceA or nonceB"
meine Frage ist woher wird den Intruder wissen ob es nonceA oder nonceB ist? der kann soweit ich weiß nicht vergleichen mit den nonces weil der nicht weißt was die beiden sind.

Danke im Voraus,
Khaled

yourmaninamsterdam
Nerd
Nerd
Beiträge: 681
Registriert: 26. Okt 2006 14:04
Kontaktdaten:

Re: Lab2 Task 5

Beitrag von yourmaninamsterdam »

Der Intruder kennt aber den Protokollablauf. Daraus geht hervor, welche Information er abgefangen hat (sollte er den Inhalt der Nachricht lesen können).

khaled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 28. Mai 2012 01:16

Re: Lab2 Task 5

Beitrag von khaled »

Also der kann den Inhalt der Nachricht lesen wenn sein key in der Nachricht enthalten ist, und dann darf er mit nonceA und nonceB vergleichen, um zu wissen um welche nonce es sich gerade handelt. stimmt das?

yourmaninamsterdam
Nerd
Nerd
Beiträge: 681
Registriert: 26. Okt 2006 14:04
Kontaktdaten:

Re: Lab2 Task 5

Beitrag von yourmaninamsterdam »

Nein, er darf nicht vergleichen. Er sieht doch aber an der Nachricht, welchen Protokollschritt er gerade abgefangen hat. Daraus lässt sich (ganz ohne Vergleiche) schlussfolgern, was eine Nonce ist und welche.

khaled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 28. Mai 2012 01:16

Re: Lab2 Task 5

Beitrag von khaled »

Ok, danke für die Hilfe.

Khaled

Melkman
Neuling
Neuling
Beiträge: 2
Registriert: 13. Okt 2010 22:43

Re: Lab2 Task 5

Beitrag von Melkman »

Wenn der Intruder anhand des Protokollabschnitts weiss, dass Bob gerade eine Nachricht an Alice geschickt hat dann verschlüsselt Bob diese Nachricht mit dem Schlüssel von Alice. Dann weiss der Intruder zwar, an welcher Position die nonceB steht, aber er kann sie doch gar nicht lesen, weil er doch gar nicht die Nachricht entschlüsseln kann, oder sehe ich das falsch?

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Lab2 Task 5

Beitrag von JannikV »

Das siehst du schon richtig. Aber vielleicht kann der Intruder ja noch was schlaues machen um letztendlich doch an die Nonce zu kommen. Es handelt sich hier um einen nicht trivialen Man-in-the-Middle Angriff. Dessen genauen Ablauf herauszufinden ist ja eben Aufgabe des Labs.

VG

yourmaninamsterdam
Nerd
Nerd
Beiträge: 681
Registriert: 26. Okt 2006 14:04
Kontaktdaten:

Re: Lab2 Task 5

Beitrag von yourmaninamsterdam »

Es ist wichtig, dass ihr euch auf das Modellieren konzentriert. Den Angriff soll dann der Verifier finden.

L4_
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 104
Registriert: 24. Apr 2012 15:44

Re: Lab2 Task 5

Beitrag von L4_ »

yourmaninamsterdam hat geschrieben:Nein, er darf nicht vergleichen. Er sieht doch aber an der Nachricht, welchen Protokollschritt er gerade abgefangen hat. Daraus lässt sich (ganz ohne Vergleiche) schlussfolgern, was eine Nonce ist und welche.
1. Mit "Nicht vergleichen" ist hoffentlich nur die Nonce gemeint, denn wenn ich den Protokollschritt rausfinden möchte, muss ich ja vergleichen um welche "msg" es sich handelt. Und wenn Alice die Kommunikation mit dem Intruder beginnt, dann entschlüsselt der Intruder zwei mal (wo ich jeweils die jeweilige Nonce herausfinden kann). Passt das soweit?

2. Frage zu folgendem:
Moreover, to slightly reduce nondeterminism in your model you may introduce "typing" for the intruder's messages. That is, if intruder is composing msg3 then content2 (which is not used for messages of type msg3) of the assembled message could be just set to 0.
Was ist mit "typing" gemeint und was für einen Unterscheid macht es, ob der Intruder die letzte Nachricht an Bob mit data.content2 = 0 sendet oder da nur Blödsinn drin steht?

3. Sollen wir dem Intruder die Möglichkeit geben die NonceA/NonceB sowohl in content1 als auch in content2 setzen zu dürfen (also nicht-deterministisch)? Oder ist auch in Ordnung, wenn wir beim schreiben von content1 einen guard mit knows_nonceB und beim schreiben von content2 einen guard mit knows_nonceA hinzufügen?

yourmaninamsterdam
Nerd
Nerd
Beiträge: 681
Registriert: 26. Okt 2006 14:04
Kontaktdaten:

Re: Lab2 Task 5

Beitrag von yourmaninamsterdam »

Die Vergleichen-Frage verstehe ich nicht. Der Intruder kann nicht mit Daten vergleichen, die er nicht kennt. Er kann mit Daten vergleichen, die er kennt. Er kann nicht Inhalte einer Nachricht lesen, wenn sie mit einem fremden geheimen Schlüssel verschlüsselt ist. Er kann die Inhalte von Nachrichten lesen, die mit seinem privaten Schlüssel verschlüsselt sind.

Grundsätzlich kannst du Nachrichten beliebig aus verschiedenen Teilen zusammensetzen. Um Angriffe auf das Protokoll aufzudecken sollte man nicht allzu gezielt Nachrichten bauen, weil man ja auch Angriffe finden will, die man nicht antizipiert. Der Hinweis schlägt jedoch vor, den Nichtdeterminismus am Message-Type auszurichten, also nicht Nachrichten zusammenzubauen mit einem content2-Anteil, der nie betrachtet wird.

Benutzeravatar
slashafk
Erstie
Erstie
Beiträge: 19
Registriert: 7. Mär 2011 13:18

Re: Lab2 Task 5

Beitrag von slashafk »

To add the possibility of decryption extend the intruder with another if block which checks the key of the intercepted data. If the key matches with the one of the intruder, proceed to check the content; skip otherwise.
Ich bin bissl von der Formulierung verwirrt, checkt der Intruder den Key direkt nachdem er eine Nachricht abgespeichert hat, oder einfach nicht deterministisch?
Also dass er nun zwischen 3 sachen auswählen kann: chan lesen/checken ob key passt / replayORsend. "another if block" deutet zwar auf das letztere, aber fragen kostet nix.

Nathan Wasser
Kernelcompilierer
Kernelcompilierer
Beiträge: 430
Registriert: 16. Okt 2009 09:48

Re: Lab2 Task 5

Beitrag von Nathan Wasser »

slashafk hat geschrieben:
To add the possibility of decryption extend the intruder with another if block which checks the key of the intercepted data. If the key matches with the one of the intruder, proceed to check the content; skip otherwise.
Ich bin bissl von der Formulierung verwirrt, checkt der Intruder den Key direkt nachdem er eine Nachricht abgespeichert hat, oder einfach nicht deterministisch?
Also dass er nun zwischen 3 sachen auswählen kann: chan lesen/checken ob key passt / replayORsend. "another if block" deutet zwar auf das letztere, aber fragen kostet nix.
Macht es einen Unterschied? Ihr sollt noch einen if-Block einbauen, um eventuell an die verschlüsselten Daten rankommen zu dürfen. Diese dürfen dann im weiteren verlauf verwendet werden. Wo der if-Block steht ist euch überlassen, solange dies der Fall ist.

Ankou
Mausschubser
Mausschubser
Beiträge: 85
Registriert: 15. Mai 2011 18:23

Re: Lab2 Task 5

Beitrag von Ankou »

Die Vergleichen-Frage verstehe ich nicht. Der Intruder kann nicht mit Daten vergleichen, die er nicht kennt.
Er kann es vielleicht nicht, aber das Modell wird ja nicht schwächer dadurch, dass man es trotzdem tut. Wenn der Intruder die Nachricht entschlüsseln kann und man dann einen Vergleich macht ob irgendeiner der content Felder einer der beiden Noncen entspricht, dann modelliert dieser Vergleich die Tatsache, dass der Intruder erkennen kann wenn er gerade eine Nonce vor sich hat, das macht ja durchaus Sinn aus Sicherheitssicht(man will ja dass der Intruder sie überhaupt nicht bekommt auch nicht, wenn er nicht weiß dass er sie hat).
Die Abstraktion dahinter ist sehr ähnlich zu dem verschlüsseln und entschlüsseln mit public und private key, die Symbole für die Schlüssel sind im Kontext der Zuweisung das verschlüsseln mit dem public key und im Kontext des Vergleichens das entschlüsseln mit dem private key - trotzdem haben wir nur ein Symbol verwendet. Für die Nonce wäre das sehr ähnlich: im Kontext der Zuweisung wäre es tatsächlich das versenden der Nonce, im Kontext des Vergleichens wäre es lediglich das erkennen, dass dies jetzt eine Nonce ist.

Antworten

Zurück zu „Archiv“