IS - IT-Sicherheit
IS - IT-Sicherheit
IS - IT-Sicherheit
-
- 1 / 196
-
Lernkarten
Aus welchen Teilgebieten setzt sich Kryptologie zusammen?
- Kryptographie
-Kryptoanalyse
Was ist Kryptographie?
Die Kunst und Wissenschaft Nachrichten sicher zu halten ("Art and science of keeping messages secure")
Was ist Kryptoanalyse?
Die Kunst und Wissenschaft Chiffretext zu knacken ("Art and science of breaking ciphertext")
Nenne die Ziele der Cryptography.
- Confidentiality
- Integrity
- Authenticity
- Sometimes: Freshness
Ausserdem manchmal:
- Non Repudiation
- Anonymity
Erkläre das Ziel Confidentiality der Cryptography
Eine Nachricht kann nur von den beabsichtigten Parteien (z.B. Sender und Empfänger) gelesen werden.
Erkläre das Ziel Integrity der Cryptography.
Der Empfänger einer Nachricht kann verifizieren, dass die Nachricht während der Übertragung nicht verändert wurde.
Erkläre das Ziel Authenticity der Cryptography.
Der Empfänger einer Nachricht kann deren Herkunft ermitteln. Ein Angreifer sollte nicht dazu in der Lage sein, sich als jemand anderes auszugeben.
Erkläre das Ziel Freshness der Cryptography.
Die Nachricht ist neu und nicht eine Wiederholung einer früheren Nachricht.
Erkläre das Ziel Non-Repudiation der Cryptography.
Der Sender einer Nachricht kann später nicht fälschlicherweise leugnen, dass er die Nachricht verschickt hat (der Empfänger kann dies einer Drittperson beweisen).
Was ist das Problem mit Non-Repudiation?
Es handelt sich um einen gesetzlichen Bereich und nicht um einen Technischen. Da die Nachricht fast nie von einem Menschen empfangen bzw. versendet wird, sondern von einer Maschine, ist wirkliche non-repudiation sehr schwierig zu erreichen.
Kein System, welches heute weitverbreitet ist, stellt es zur Verfügung.
Was versteht man unter einer Block Cipher und wie funktioniert sie?
Eine Block Cipher unterteilt ein Plaintext von willkürlicher Länge in eine Serie von Blöcken, die eine konstante Grösse von n Bits. Dann verschlüsselt es jeden Block einzeln.
Bein einer Block Cipher muss mit jedem Key jeder mögliche Plaintext Block in einem einzigartigen Ciphertext Block resultieren.
Bei einer Block Cipher beträgt die Block Size n normalerweise 64, 128 oder 256 Bits. Welche davon sind geeignet?
Bei einer Block Cipher sind die üblichen Key Sizes 40, 56, 64, 80, 128, 168, 192 oder 256 Bits.
Welche davon sind nicht geeignet?
Bei einer Block Cipher ist der Plaintext manchmal kein Vielfaches der Block Size. Das kann es geben und es muss nichts gemacht werden.
Wir betrachten eine Block Cipher, bei der Padding Daten verwendet wurden. Wann müssen diese wieder entfernt werden?
Wir arbeiten mit einer Block Cipher. Um einen Plaintextblock auf die gewünschte Grösse zu bringen (Vielfaches der Block size) wird PKCS7 Padding verwendet.
Jeder Block soll 16 Byte gross sein.
Der finale Plaintext Block sieht wie folgt aus: 5F 6E 25 A3 36 54 90 0D D4 7F FA
Wie sieht der Padded Plaintext Block aus? Tippe den vollständigen Block in die Antwortzeile (mit Abständen zwischen den Bytes).
5F 6E 25 A3 36 54 90 0D D4 7F FA 05 05 05 05 05
Wir arbeiten mit einer Block Cipher. Um einen Plaintextblock auf die gewünschte Grösse zu bringen (Vielfaches der Block size) wird PKCS7 Padding verwendet.
Jeder Block soll 16 Byte gross sein.
Der finale Plaintext Block ist genau so gross. Werden in diesem Fall Padding Daten benötigt?
Wenn Ja, wie sieht der Block aus?
Wenn Nein, warum nicht?
Ja es wird ein Plaintext Block gebraucht. Es wird ein ganzer Block, der nur aus Padding Daten besteht, angefügt.
Der Byte Value ist die Block Size.
Wie gross sollte eine Block Cipher sein?
Wie gross sollte der Key zu einer Block Cipher sein?
Data Encryption Standard (DES) gilt als gute Cipher, hat aber eine Schwachstelle. Welche?
Die Key Size ist nur 56 Bits
Was war der Nachfolger von DES und worin unterscheidet er sich von DES?
Triple DES (3DES)
Untschiede: Es werden 3 unterschiedliche Keys à je 56 Bits verwendet.
Bei 3DES werden 3 Keys à je 56 Bit für die Verschlüsselung verwendet. Was ist die Cryptographic Strength von 3DES und was schliessen wir daraus?
2 x 56 Bits = 112 Bits
Das zeigt, dass mehrfaches verschlüsseln (in diesem Fall 2x) die Security nicht unbedingt gross erhöht.
Auf 3DES kann eine Meet in the Middle Attack (Known-Plaintext Attack) ausgeführt werden. Wie funktioniert diese?
Bei einer Meet in the Middle Attack wird 3DES in zwei Hälften geteilt. Die linke Hälfte besteht aus den ersten 2 DES Operationen, die rechte Hälfte aus der dritten DES Operation.
Anhand des Plaintextes werden dann alle möglichen Outputs nach den ersten beiden DES Operationen (C') berechnet. Dafür werden alle 2^112 möglichen Keys für K1 und K2 verwendet. Das liefert eine Tabelle mit 2^112 Einträgen.
Nun nimmt man den Ciphertext und berechnet alle möglichen Inputs für die dritte DES Operation (P'), indem C mit allen 2^56 möglichen Keys für K3 entschlüsselt wird. Das ergibt eine Tabelle mit 2^56 Einträgen.
Nun muss man nur noch die 2 Zeilen in den beiden Tabellen finden, wo C' und P' übereinstimmen. Die dazugehörenden Keys müssen die korrekten Keys K1, K2 und K3 sein.
Der Aufwand dafür ist 2^112 + 2^56 was in etwa 2^112 entspricht.
3DES war zwar sicher, aber relativ langsam. Darum wurde AES (Advanced Encryption Standard) eingeführt.
Wie sicher ist AES?
Es wurden bisher noch keine richtigen Schwachstellen gefunden. Das heisst aber nicht, dasss AES rechnerisch sicher ist bzw. dass keine bessere break-Methode als Brute Force existiert.
Das AES in Zukunft noch signifikante Schwachstellen aufweisen wird, ist jedoch sehr unwahrscheinlich.
Erkläre den Block Cipher Mode ECB (Electronic Code Book Mode).
Bei diesem Mode wird ein Input Block mit Plaintext statisch auf einen Output Block mit Ciphertext gemapped. Die Entschlüsselung für den Empfänger ist einfach, da er nur einen Ciphertext Block nach dem anderen entschlüsseln muss.
Siehst du irgendwelche Sicherheitsprobleme beim ECB?
Ja es gibt ein mögliches Problem ist folgendes:
Der gleiche Block an Ciphertext ergibt entschlüsselt den gleichen Block an Plaintext. Das ist schlecht, denn wenn ein Angreifer zwei identische Ciphertextblöcke sieht, die mit dem gleichen Key verschlüsselt wurden (z.B. als Teil einer grösseren Nachricht), weiss er direkt, dass die entsprechenden Plaintextblöcke auch gleich sein müssen.
Wenn er es nun schafft, viele solcher Plaintext-Ciphertext Blöcke, die mit dem gleichen Key generiert wurden, zu sammeln und wenn er genügend Memory-Resourcen zur Verfügung hat, kann er daraus eine Lookup Tabelle bauen.
Für jeden späteren Ciphertxt Block kann er darin nachschauen, ob der entsprechende Plaintext verfügbar ist.
Wenn die Tabelle genügend Plaintext-Ciphertext Blöcke enthält kann der Angreifer zumindest einige Teile / Blöcke einer verschlüsselten Nachricht entschlüsseln.
Die Tabelle wird natürlich nutzlos, wenn Sender und Empfänger den Key wechseln.
Warum laufen moderne Block Ciphers normalerweise im CBC (Cipher Block Chaining Mode)?
Um Block Replay Angriffe und Codebook Compilation zu verhindern.
Wovon ist ein Ciphertextblock C im CBC Mode abhängig?
Zwei identische Nachrichten werden im CBC Mode mit demselben Key verschlüsselt.
Wir nehmen an, dass der CBC in Bezug auf den IV korrekt verwendet wird.
Das Resultat sind zwei identische Ciphertexte.
Wahr oder Falsch?
Warum?
Falsch.
Da der CBC korrekt verwendet wird, wird jeder IV genau einmal verwendet und danach nie wieder. Darum hat jede Nachricht einen unterschiedlichen IV, was zu zwei unterschiedlichen Ciphertexten führt.
Im CBC Mode ist die Error Propagation auf zwei Plaintextblöcke eingeschränkt. Warum?
Wenn nur ein einziger Bit Error im Übertragungskanal auftritt, führt dies zum Verlust eines ganzen Plaintextblocks plus einem Single Bit Error im darauf folgenden Plaintextblock. Darum ist die Error Propagation auf zwei Plaintextblöcke beschränkt.
Wir betrachten eine verschlüsselte Kommunikation zwischen Alice und Bob. Der Ciphertext ist durch einen Block Cipher generiert worden. Der Cipher-Mode ist CBC. Wir manipulieren den zweiten Ciphertext Block. Welche Plaintext Blöcke werden nach der Entschlüsselung verändert sein?
Warum?
P2 und P3.
Da wir C2 manipulieren und dieser in sowohl in die XOR Verknüpfung von P2, als auch in die von P3 einfliesst, verändern sich beide Plaintext Blöcke.
Was kann gemacht werden, um Angriffe auf CBC zu verhindern?
Es können Mechanismen zum Schutz der Integrität der Nachricht verwendet werden.
Erkläre kurz wie eine Stream Cipher funktioniert (keine Details).
Stream Ciphers basieren auf einem Keystream Generator, der einen pseudo-random Keystream erzeugt, welcher durch einen Secret Key initialisiert wird. Für jeden Key wird ein untterschiedlicher Keystream generiert.
Dieser Keystream wird bitweise mit dem Plaintext Bitstream XOR-ed was einen Ciphertext Bitstream ergibt.
Die für die Entschlüsselung wird einfach der gleiche Keystream nochmals angewendet (diesmal auf den Ciphertext Stream)
Stream Ciphers sind ähnlich wie One-Time Pads. Worin unterscheiden sich die beiden dennoch?
Der Keystream eines One-Time Pads ist per Definition wirklich zufällig und hängt nicht von einem Key ab, was die Cipher vollkommen sicher (perfectly secure) macht.
Mach eine Aussage zu den Sicherheitseigenschaften einer Stream-Cipher. Wie sicher sind sie?
Das hängt vom Design ab. Wie bei der Block Cipher hofft man, dass sie gut genut designed sind, dass die beste Angriffsstrategie Brute Force ist (jeden Key ausprobieren).
Wie beim One-Time Pad sollte bei einer Stream-Cipher der Keystream niemals wiederverwendet werden. Wie wird das in der Praxis erreicht?
Indem ein zusätzlicher IV bei der Initialisierung des pseudo-random Generators verwendet wird. So kann der Key für eine Weile konstant gehalten werden, während für jede Nachricht ein neuer IV verwendet wird.
Bei einer Stream-Cipher wird in der Praxis neben dem Key noch ein IV verwendet. welche der beiden Komponenten muss geheim gehalten werden?
Wie wirkt sich ein einzelner Bit Error auf eine Stream-Cipher aus?
Es ist nur ein einzelner Plaintext betroffen. Er propagiert nicht.
Ein Bit Error in einer Stream-Cipher propagiert nicht. Warum ist das gut? Warum schlecht?
Gut: macht die Stream-Cipher robust.
Schlecht: Das stellt ein potentielles Sicherheitsrisiko dar. Ein einzelnes Bit kan unbemerkt verändert werden.