30.10.2013 Aufrufe

Kryptographie - Software Engineering

Kryptographie - Software Engineering

Kryptographie - Software Engineering

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Kryptographie</strong><br />

Definition:<br />

<strong>Kryptographie</strong> ist die Lehre von der Verschlüsselung von Daten.<br />

(altgriechisch: kryptos: verborgen, grapheiy: schreiben)<br />

wichtigste Hilfsmittel:<br />

- Mathematik<br />

- Computer<br />

Vermutung: unsicherer Kanal<br />

Der Übertragungskanal kann beliebig und unbemerkt abgehört werden.<br />

Ziele:<br />

• Vertraulichkeit (Geheimhaltung des Klartexts)<br />

• Integrität (kein Dritter konnte Daten unbemerkt ändern)<br />

• Verbindlichkeit (die Daten stammen vom authentifizierten Sender)<br />

• Authentizität (der Sender ist eindeutig identifiziert)<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 1


Geschichte<br />

Spartaner (5. Jhd. v. Chr):<br />

Skytala: Papierstreifen spiralförmig um einen Stab wickeln.<br />

Anschließend mit der Nachricht beschriften und wieder abwickeln.<br />

Am Zielort muss der Streifen wieder auf einen Stab gleichen Durchmessers<br />

gewickelt werden und die Nachricht kann wieder entziffert werden.<br />

Cäsar (ca. 50 v.Chr):<br />

Unter das Klaralphabet das Geheimalphabet verschoben schreiben.<br />

z.B: c = p + 2 mod 26<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 2


Geschichte (2)<br />

ENIGMA (griechisch für Rätsel)<br />

1919 v. Hugo Koch (NL) patentiert.<br />

1926 - 28 von deutschen Marine, Armee und Luftwaffe gekauft.<br />

Entschlüsselung: Kryptologen aus Polen und England - ULTRA<br />

1932 von Marian Rejewski geknackt (PL)<br />

1938 von Deutschen umgebaut,<br />

in Bletchley Park (England) wurden die Codes entschlüsselt.<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 3


weitere Begriffe<br />

Kryptoanalyse<br />

Methoden zum unbefugten Entschlüsseln von Daten<br />

Kryptologie<br />

Wissenschaft, die sich mit <strong>Kryptographie</strong> und Kryptoanalyse beschäftigt.<br />

Verschlüsselung oder Ciffrierung<br />

Methode um einen lesbaren Text (sog. Klartext) in einem<br />

Geheimtext (sog. Chiffretext) mit Hilfe einer geheimen<br />

Zeichenkette (sog. Schlüssel) und eines kryptographischen<br />

Algorithmus umzuwandeln<br />

(engl: ciphertext, key)<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 4


Verfahren<br />

Symmetrische Verschlüsselung<br />

(private key encryption)<br />

Asymmetrische Verschlüsselung<br />

(public key encryption)<br />

Hybride Verfahren<br />

(kombinierte Verfahren)<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 5


Symmetrische Verschlüsselung<br />

private-key encryption<br />

Zur Ver- und Entschlüsselung wird ein Schlüssel verwendet.<br />

+ sehr schnelles Verfahren<br />

+ Verfahren kann auch bekannt sein<br />

- Problem: man muß den geheimen Schlüssel auszutauschen<br />

(irgendwann muß ein Geheimnis kryptographisch ungeschützt übertragen werden)<br />

- keine Authentizität, da eine Person A eine Nachricht verschlüsseln, sich selbst zusenden und<br />

behaupten kann, sie käme vom Sender B, der denselben Schüssel verwendet.<br />

Voraussetzung: ausreichend langer Schlüssel (z.B. 128 Bit)<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 6


Symmetrische Verschlüsselung - DES<br />

Data Encryption Standard<br />

(1977 vom NBS (National Bureau of Standards) als Standard festgelegt)<br />

- bekanntester symmetrischer Algorithmus<br />

- Blockchiffrier-Algorithmus 64 bit Blocklänge, 56 Bit Schlüssellänge.<br />

- keine mathematischen Funktionen, lediglich Vertauschung und Ersetzung von Bits in 16 Runden<br />

- Hardwareimplementierung möglich<br />

- relativ kurze, fixe Schlüssellänge (56 Bit)<br />

- wurde im Jänner 1999 erstmals in 22h15min durch Probieren aller Schlüssel geknackt<br />

- kein Fehler im DES, aber Schlüssellänge 56bit nicht mehr zeitgemäß.<br />

Verbesserung:<br />

durch 3-fache Verschlüsselung (Triple-DES)<br />

Man verwendet 2 Schlüssel und verschlüsselt 3 mal hintereinander mit DES:<br />

A->Key1->A1->Key2->A2->Key1->A3<br />

Dadurch effektive Schlüssellänge von 112bit<br />

Anwendungen:<br />

große Datenströme können verschlüsselt werden<br />

IPSEC, Nachfolger des IP-Protokolls<br />

auch: Geldautomat (zur Authentifizierung des Geldbehebers)<br />

....<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 7


Symmetrische Verschlüsselung – DES (2)<br />

Skizzierung des Verfahrens:<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 8


weitere symmetrische Verfahren<br />

IDEA : 64 Bit Blockgrösse, Schlüssellänge 128 Bit<br />

in insgesamt 9 Runden werden jeweils 16 Bit Datenblöcke mit 16 Bit Schlüsselteilen verschlüsselt (XOR,<br />

Multiplikation MOD 2 16 + 1, Addition MOD 2 16 )<br />

RC4:<br />

1987 von Ron Rivest für RSA-Data Security Inc. entwickelt.<br />

- Schneller als DES.<br />

- variable Schlüssellänge (bis 2048 Bit)<br />

- Stromchiffrier-Algorithmus.<br />

- OFB-Prinzip: Output Feedback Modus<br />

- Einsatz: Mobilfunk, Dateiverschlüsselung,<br />

Netscape (SSL), Lotus (Notes), Oracle<br />

(SecureSQL)<br />

- Schlüssel soll nur ein einziges Mal verwendet<br />

werden!<br />

Nachfolger des DES: AES (Advanced Encryption Standard)<br />

1997 wurde von einem amerikanischen Standardisierungsinstitut (NIST) ein Wettbewerb<br />

ausgeschrieben, um einen möglichst praktikablen, also insb. schnellen Algorithmus zu finden, der<br />

128bit Blocklänge und mind. 128bit Schlüssellänge unterstützt. Ein Algorithmus aus Belgien (Uni Leuven<br />

und Firma Proton) stand 10/2000 als Gewinner fest und soll DES mittelfristig ablösen.<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 9


Asymmetrische Verschlüsselung<br />

Bedeutung:<br />

Sender und Empfänger können Informationen ohne ein zuvor vereinbartes Geheimnis austauschen!<br />

Die Authentizität ist im Gegensatz zu symmetrischen Verfahren gewährleistet.<br />

Grundidee: Public key - <strong>Kryptographie</strong><br />

Ein öffentlicher Schlüssel, der allgemein bekannt ist, wird vom Sender verwendet, um Daten zu<br />

verschlüsseln. Die Daten können anschließend nur noch mit dem zugehörigen privaten Schlüssel, der<br />

nur dem Empfänger bekannt ist, entschlüsselt werden. Öffentlicher und privater Schlüssel bilden ein<br />

Schlüsselpaar.<br />

Die Asymmetrie beruht darauf, daß man mit dem öffentlichen Schlüssel zwar verschlüsseln, nicht<br />

jedoch entschlüsseln kann.<br />

Geschichte:<br />

1976 Diffie und Hellman erfanden die public key cryptography, basierend auf Schlüsselpaaren.<br />

Sie wußten aber nicht, ob sich geeignete Schlüsselpaare finden lassen (Uni Stanford).<br />

1978 R. Rivest A.Shamir und L-Adleman stellen den ersten und bis heute bedeutendsten Algorithmus<br />

zur public key cryptography vor. (RSA-Algorithmus)<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 10


Asymmetrische Verschlüsselung (2)<br />

Public key - <strong>Kryptographie</strong><br />

öffentlicher Schlüssel (public key)<br />

zur Verschlüsselung<br />

geheimer Schlüssel (private key)<br />

zur Entschlüsselung<br />

+ kein Schlüsseltausch nötig<br />

- bekannte Verfahren z.b. RSA sehr langsam (DES ist 1000x schneller)<br />

wichtig: hier auch noch keine Authentizität, da öffentlicher Schlüssel allgemein bekannt.<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 11


Asymmetrische Verfahren (3)<br />

Prinzip: RSA-Verfahren<br />

1. Man wähle 2 große Primzahlen p und q<br />

2. n = p*q<br />

3. Wähle eine Zufallszahl E,


Hybride Verfahren<br />

Nachteile der bisher genannten Verfahren:<br />

Symmetrische Verschlüsselung: unverschlüsselter Schlüsseltausch nötig<br />

Asymmetrische Verschlüsselung: ineffizient (Potenzierung)<br />

Die asymmetrische Verschlüsselung löst das Schlüsseltausch-Problem:<br />

Z.B: kann ein geheimer Schlüssel eines schnellen symmetrischen Verfahrens mit asymmetrischen<br />

Verfahren verschlüsselt und so ausgetauscht werden.<br />

Hybride Verfahren kombinieren beide Verfahren:<br />

Beispiel: Pretty Good Privacy<br />

PGP - Verschlüsselung PGP – Entschlüsselung<br />

Der Klartext wird mit schnellem symmetrischen Verfahren verschlüsselt. Nur der verwendete Schlüssel<br />

wird (ineffizient) asymmetrisch verschlüsselt.<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 13


Digitale Unterschriften – Authentizität<br />

Erst möglich durch public-key Verschlüsselung.<br />

Durch digitale Signaturen kann die Authentizität des Senders geprüft werden.<br />

Signaturen sind manchmal wichtiger als Verschlüsselung von Daten !<br />

Bsp. Banktransaktionen:<br />

Information, dass gerade 100.000 ATS transferiert werden kann durchaus zugänglich sein. Wichtig ist<br />

aber, dass der Kommunikationspartner tatsächlich die Bank ist.<br />

Prinzip:<br />

Originaltext wird mit dem privaten Schlüssel<br />

verschlüsselt.<br />

Kann der Empfänger mit dem öffentlichen<br />

Schüssel die Information lesen, muss der<br />

Absender den privaten Schlüssel verwendet<br />

haben, und ist daher authentisch.<br />

Kombination: Verschlüsselt und Unterschrieben:<br />

Eine Person A kann einen Geheimtext (Public Key von B) mit private Key von A signieren. So kann B<br />

erstens die Authentizität von A mittels dessen Public Key feststellen und mit dem eigenen Private Key<br />

die Nachricht entschlüsseln.<br />

© T. Hilpold, A. Stritzinger, Universität Linz, Institut für Wirtschaftsinformatik - <strong>Software</strong> <strong>Engineering</strong> 14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!