Lab2 Task 5
Lab2 Task 5
"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
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
-
- Nerd
- Beiträge: 681
- Registriert: 26. Okt 2006 14:04
- Kontaktdaten:
Re: Lab2 Task 5
Der Intruder kennt aber den Protokollablauf. Daraus geht hervor, welche Information er abgefangen hat (sollte er den Inhalt der Nachricht lesen können).
Re: Lab2 Task 5
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?
-
- Nerd
- Beiträge: 681
- Registriert: 26. Okt 2006 14:04
- Kontaktdaten:
Re: Lab2 Task 5
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.
Re: Lab2 Task 5
Ok, danke für die Hilfe.
Khaled
Khaled
Re: Lab2 Task 5
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?
Re: Lab2 Task 5
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
VG
-
- Nerd
- Beiträge: 681
- Registriert: 26. Okt 2006 14:04
- Kontaktdaten:
Re: Lab2 Task 5
Es ist wichtig, dass ihr euch auf das Modellieren konzentriert. Den Angriff soll dann der Verifier finden.
Re: Lab2 Task 5
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?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.
2. Frage zu folgendem:
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?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.
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?
-
- Nerd
- Beiträge: 681
- Registriert: 26. Okt 2006 14:04
- Kontaktdaten:
Re: Lab2 Task 5
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.
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.
Re: Lab2 Task 5
Ich bin bissl von der Formulierung verwirrt, checkt der Intruder den Key direkt nachdem er eine Nachricht abgespeichert hat, oder einfach nicht deterministisch?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.
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.
-
- Kernelcompilierer
- Beiträge: 430
- Registriert: 16. Okt 2009 09:48
Re: Lab2 Task 5
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.slashafk hat geschrieben:Ich bin bissl von der Formulierung verwirrt, checkt der Intruder den Key direkt nachdem er eine Nachricht abgespeichert hat, oder einfach nicht deterministisch?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.
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.
Re: Lab2 Task 5
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 Vergleichen-Frage verstehe ich nicht. Der Intruder kann nicht mit Daten vergleichen, die er nicht kennt.
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.