Schlüsselaustausch-Protokolle < Krypt.+Kod.+Compalg. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 15:42 Sa 29.01.2011 | Autor: | RalU |
Aufgabe | 1) Alice sendet an Bob: "I'm Alice", [mm] [(T,K)_{Bob}]_{Alice}
[/mm]
2) Daraufhin sendet Bob an Alice: [mm] [(T+1,K)_{Alice}]_{Bob}
[/mm]
Erläuterungen: T ist ein Timestamp, K ist der Session Key, []: Signatur einer Nachricht mitttels asymmetrischen Krypto-Vrfahrens, (): Verschlüsselung einer Nachricht mittesl asymmetrischen Krypto-Verfahrens
a) Wie kommt ein Angreifer an den Session Key K?
b) Wie könnten Sie das Protokoll abändern, um diesen Angriff zu verhindern? |
zu a)
Also in 1) wird ja T,K mit Bobs öffentlichem Schlüssel verschlüsselt und das Ergebnis mit Alice's privatem SChlüssel signiert.
In 2) wird T+1, K mit Alice's öffentlichem Schlüssel verschlüsselt und das Ergebnis mit Bob's privatem Schlüssel signiert.
Es gilt doch: [mm] ([x]_{y})_{y} [/mm] = x bzw. [mm] [(x)_{y}]_{y} [/mm] = x
Ein Angreifer kann also versuchen an einen der beiden privaten Schlüssel (also von Alice oder Bob) zu gelangen, und dann folgende Operation ausführen: [mm] [(T,K)_{Bob}]_{Bob} [/mm] = T, K bzw. [(T+1, [mm] K)_{Alice}]_{Alice} [/mm] = T+1, K, womit jeweils der SessionKey K für den Angreifer bekannt würde.
Doch wie erreicht der Angreifer dies?
Mir fällt dazu nur ein MITM-Angriff ein, um den Datenverkehr mitzulauschen, um so auf die privaten Schlüssel zu kommen...
Oder gibt es eine andere Möglichkeit?
zu b)
Hier würde ich sagen, dass anstatt des Timestamps z.B. eine Nonce (Number used once) verwendet wird.
Oder bringt es auch was, wenn zuerst signiert, und dann verschlüsselt wird, also statt [mm] [(T,K)_{Bob}]_{Alice} [/mm] in Nachricht 1) besser [mm] ([T,K]_Alice)_{Bob} [/mm] und in Nachricht 2) besser [mm] ([T+1,K]_{Bob})_{Alice} [/mm] zu senden? Oder es muss mit Zertifikaten gearbeitet werden...?
Vielen Dank für eure Hilfe,
Gruß, Ralf
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:22 Mo 31.01.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|