Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Algorithmen und Datenstrukturen II : Kryptographie

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmen und Datenstrukturen II : Kryptographie"—  Präsentation transkript:

1 Algorithmen und Datenstrukturen II : Kryptographie
Christian Wolff Institut für Informatik 22. Januar 2001 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

2 Datenstrukturen & Algorithmen II: Kryptographie
Übersicht 1. Sicherheit und Kryptographie 2. Ausgewählte kryptographische Algorithmen klassische Algorithmen: Caesar, Vigenère symmetrische Algorithmen: IDEA asymmetrische Algorithmen: RSA 3. Angewandte Kryptographie Kryptographie-APIs Anwendungen Rechtliche Rahmenbedingungen Beispiel elektronisches Wahlverfahren 4. Bewertung & Ausblick 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

3 Definition Sicherheit
Security is the practice by which individuals and organizations protect their physical and intellectual property from all kinds of attack and pillage. [Secure Computing with Java - Now and the Future. A White Paper, Sun Microsystems, October 1997] 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

4 Sicherheit und Kryptographie
Sicherheitskriterien Identifizierung (authentication) Vertraulichkeit (confidentiality) Integrität (integrity) Verbindlichkeit (nonrepudiation) Verfügbarkeit (availability) Schutzziele gegen unbefugten Informationsgewinn (Verlust der Vertraulichkeit) unbefugte Modifikation von Information (Verlust der Integrität) unbefugte Beeinträchtigung der Funktionalität (Verlust der Verfügbarkeit) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

5 Kryptographisches Grundprinzip
Umwandlung eines Klartextes (p, plain text) in einem chiffrierten Text (c, ciphertext) mit Hilfe einer reversiblen kryptographischen Funktion f: symmetrische und asymmetrische Algorithmen (public key cryptography) Verschlüsselung / Entschlüsselung elektronische Unterschrift (digitale Signatur) erzeugen / verifizieren 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

6 Schematische Darstellung des kryptographischen Grundprinzips
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

7 Eigenschaften kryptographischer Algorithmen
Mathematische Grundlagen kryptographischer Algorithmen Primzahlfaktorisierung, elliptic curve cryptography, Hashfunktionen Verarbeitungsverfahren alphabetisch/polyalphabetisch bitbasiert je nach Verarbeitungsweise unterscheidet man Blockchiffrierung und Stromchiffrierung. Qualitätskriterien für kryptographische Algorithmen Diffusion Konfusion Wahl von Zufallszahlen 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

8 Typischer Aufbau moderner kryptographischer Algorithmen
Moderne Algorithmen kombinieren in der Regel einfache und unsichere kryptographische Einzelschritte in mehreren Runden zu einem leistungsfähigen Verfahren (so etwa bei DES – Digital Encryption Standard, Triple-DES oder IDEA – international data encryption standard, s.u.). Derartige Algorithmen bezeichnet man als Produktalgorithmen. Beispiel: s. u. IDEA 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

9 Unterscheidung symmetrischer und asymmetrischer Verfahren
symmetrische vs. asymmetrische Algorithmen symmetrisch: ein Schlüssel für Chiffrierung und Dechiffrierung international data encryption algorithm (IDEA) digital encryption standard (DES, Triple-DES) advanced encryption standard (AES, = Rijndael-Algorithmus) asymmetrisch unterschiedliche Schlüssel für Chiffrierung und Dechiffrierung (Schlüsselpaar) Rivest Shamir Adleman (RSA) digital signature algorithm (DSA) ... 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

10 Ver- und Entschlüsselung mit symmetrischer Kryptographie
Wenn.die.Sicherheit.eines.Algorithmus.... Wenn.die.Sicherheit.eines.Algorithmus.... XJSKLE0D1SD85KSMALJ02DSKLDXJSLWO940HRF.... Klartext Klartext Verschlüsselung Entschlüsselung Geheimtext = Schlüssel Schlüssel 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

11 Asymmetrische Kryptographie
Generierung von Schlüsselpaaren: privater Schlüssel (private key): nur dem Inhaber bekannt Funktion: Entschlüsselung, Signierung öffentlicher Schlüssel (public key): wird auf allgemein zugänglichen Servern bereitgestellt Funktion: Verschlüsselung, Verifikation Anwendung für Verschlüsselung und digitale Signaturen 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

12 Ver- und Entschlüsselung mit asymmetrischer Kryptographie (public key-Kryptographie)
Wenn.die.Sicherheit.eines.Algorithmus.... Wenn.die.Sicherheit.eines.Algorithmus.... XJSKLE0D1SD85KSMALJ02DSKLDXJSLWO940HRF.... Klartext Klartext Verschlüsselung Entschlüsselung Geheimtext öffentlicher Schlüssel public key (Chiffrierschlüssel) privater Schlüssel private key (Dechiffrierschlüssel) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

13 Digitale Signaturen Signierung Verifikation Klartext Klartext +
Wenn.die.Sicherheit.eines.Algorithmus.... Wenn.die.Sicherheit.eines.Algorithmus.... Klartext Klartext + Signatur Signierung Verifikation WAJDKFUS9HDBCJS%3S privater Schlüssel private key (Dechiffrierschlüssel) öffentlicher Schlüssel public key (Chiffrierschlüssel) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

14 Klassische Algorithmen
Caesar-Verfahren Alphabetverschiebung c = p + s mod 26, z. B. bei s = 3 A  D B  E C  F .... Vigenère-Chiffrierung polyalphabetisch abhängig von der Position im Text (zusätzliches Verschlüsselungswort), z. B. HALLO HALLOHALLOHALLOHALLO DIESISTEINENACHRICHT Abbildung: Caesar-Verschiebung um den Wert des zugeordneten Buchstabens : D  D + H = K I  I + A = I E  E + L = P ... 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

15 IDEA als Beispiel symmetrischer Kryptographie
IDEA - international data encryption standard Entwickelt von Lai & Massey, ETH Zürich, patentrechtlich geschützt (Ascom Systec AG, Schweiz) Blockchiffrierung (64bit-Blöcke) durch einen 128bit-Schlüssel Bildung von 52 Teilschlüsseln: acht 16bit-Teilschlüssel aus dem ursprünglichen Schlüssel (einfaches Aufteilen) fünfmal Rotation um 25 Stellen nach links (bit shift) ergibt 40 Teilschlüssel die sechste Rotation liefert nur noch vier Teilschlüssel (8 + (5*8) + 4 = 52) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

16 Verschlüsselung in IDEA
Verschlüsselung in acht Runden, jede Runde verwendet sechs Teilschlüssel (Produktalgorithmus) Jeweils Verarbeitung von 16bit-Teilblöcken Anwendung “inkompatibler” algebraischer Operationen (XOR, Addition modulo 216 (wg. 16bit-Länge), Multiplikation modulo ); ausschließlich Verarbeitung von 16bit-Zahlen, daher effiziente Implementierung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

17 Motivation für den Aufbau des Algorithmus
ist Primzahl Die Grundoperationen des Algorithmus sind “inkompatibel” (bilden keine Gruppe), da für sie weder das Distributiv- noch das (erweiterte) Assoziativgesetz gilt. Die Anordnung der Transformationen sorgt für Diffusion: In den MA-Transformationen hängt jedes Bit der Ausgabe von jedem Bit der Eingaben und jedem Bit der Schlüssel ab. Konfusion – kein Teilergebnis einer Operation ist im nächsten Schritt Operand einer Operation gleichen Typs. 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

18 IDEA: Ablauf der Verschlüsselung
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

19 IDEA: Ablauf der Entschlüsselung
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

20 RSA als Beispiel asymmetrischer Kryptographie
Entwickelt von Rivest, Shamir, Adleman (1978) Ansatzpunkt ist die Schwierigkeit, große Primzahlen effizient zu faktorisieren Für eine Zahl n beträgt der Faktorisierungsaufwand etwa Aufbau des Algorithmus Schlüsselerzeugung Chiffrierung Dechiffrierung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

21 RSA: Schlüsselerzeugung
Auswahl zweier sehr großer Primzahlen p, q (mit einem geeigneten Verfahren, Länge z.B. 512 bit) n = pq, n hat Länge N Auswahl e > 1, e ist zu (p-1)(q-1) teilerfremd Berechnen von d mit de = 1 mod (p-1)/(q-1) n, e: öffentlicher Schlüssel, d: privater Schlüssel 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

22 RSA: Chiffrierung und Dechiffrierung
Zerlegen des Klartexts in Blöcke der Größe N-1 bit (evtl. mit padding) Für jeden Block mit Wert m < n wird der Rest c der Division von me durch n berechnet. Dechiffrierung Zerlegen des Geheimtexts in Blöcke der Größe N Für jeden Block der Größe c < n ist der Rest der Division von cd durch n der Klartext Digitale Signaturen: Umkehrung des Verfahrens Problem: rechenaufwendiger Algorithmus, daher typischerweise Einsatz von message digests 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

23 Digitale Signaturen unter Verwendung von message digests
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

24 Kryptographische Dienste
Protokolle: Bereitstellung sicherer Übertragungskanäle für Daten Message Digests: eindeutige Kurzzusammenfassungen von Daten durch sichere Hashfunktionen Signaturen: Bestätigung der Urheberschaft, oft in Kombination mit message digests Zertifikate: Bestätigung der Sicherheit von Schlüsseln, z. B. Zertifikate nach X.509 Hard- und Softwarelösungen, z. B. Ausgabe von Schlüsselpaaren auf Chipkarten durch trust center (Deutsche Telekom, Deutsche Post, Bundesdruckerei) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

25 PKI - public key infrastructure
notwendige Infrastruktur für die verläßliche Verwendung kryptographischer Anwendungen PKI-Bestandteile Einsatz eines asymmetrischen Verfahrens für Verschlüsselung und digitale Signaturen digitale Zertifikate: authentisieren den Sender einer Nachricht, stellen öffentliche Schlüssel bereit Registration Authority (RA): registriert Anfragen für digitale Zertifikate Certificate Authority: Generiert und verwaltet Zertifikate und Schlüssel (z. B. durch certificate revocation lists) Verzeichnisse: Speicherung von Zertifikaten und Schlüsseln für den Zugriff durch Nutzer und CA 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

26 Einsatz angewandter Kryptographie
Implementierung kryptographischer Algorithmen als Kryptographie-Provider APIs und Toolkits Protokolle und Dienste mit kryptographischer Unterstützung, z. B. auf Protokollbasis für TCP/IP sichere Anwendungen, z. B. für -Versand, sicheren Informationsaustausch Beispiel Java-Sicherheitsarchitektur, Java Cryptography Architecture 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

27 Java Cryptography Architecture
Engine-Klassen: definieren einen kryptographischen Dienst als abstrakte Modellierung (ohne konkrete Implementierung) jedem kryptographischen Dienst ist ein Algorithmus oder Typ zugeordnet Bereitstellung kryptographischer Operationen Erzeugung kryptographischer Daten (z. B. Schlüssel) sichere Kapselung und Verwaltung kryptographischer Daten Modellierung mit Hilfe von Design Patterns 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

28 Engine-Klassen der JCA
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

29 Kryptographische Provider
Implementierung der abstrakten Engine-Klassen für konkrete Algorithmen Instantiierung zur Laufzeit durch Laden von Providerklassen Verwaltung mehrerer Provider möglich Hilfsklassen für Ermittlung der implementierten Algorithmen Beispiel: Standard-Provider der JCA (Sun Microsystems) Provider externer Kryptographie-Toolkits, z. B. IAIK (TU Graz) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

30 Kryptographische Anwendungen im Internet
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

31 Einsatzbereiche angewandter Kryptographie
Schutz und Zugangsrestringierung für Systeme und Ressourcen E-, M-Business sichere Transaktionen Zahlungsverkehr rechtsverbindliche Verträge mit Formerfordernissen sichere Kommunikation 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

32 Rechtliche Rahmenbedingungen
Signaturgesetz und -verordnung (D, 1997) als Teil des IuKDG Europäische Signaturrichtlinie („gemeinschaftliche Rahmenbedingungen für elektronische Signaturen“, , Umsetzung in D bis )) Referentenentwürfe des BMJ für neue Formvorschriften bei Rechtsgeschäften („Textform“, „elektronische Form“, Juni 2000, sukzessive Gleichstellung elektronischer Rechtsgeschäfte allgemeine Verbreitung elektronischer Signaturen ? Voraussetzung: PKI, Zertifizierungsstellen (trust center) Hardware-basierte Technologie (Chipkarten, -leser) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

33 Elektronische Kommunikationsformen
Sicherheitsrelevante Kommunikation über elektronische Kommunikationskanäle Beispiel GLDV - Gesellschaft für Linguistische Datenverarbeitung WebSite Anmeldung (Beitritt) Newsletter Diskussionsforen Hier: elektronische Wahlverfahren betrifft alle grundlegenden Aspekte sicherer Kommunikation Authentisierung, Vertraulichkeit, Integrität, Verbindlichkeit 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

34 Aktuelle Motivation I: Palm Beach County Ballot
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

35 Aktuelle Motivation II: Typisierung von Chads
pregnant chad ? 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

36 Analogie zum Briefwahlverfahren
Modellierung von Wahlschein Stimmzettel zweifacher Verpackung des Stimmzettels Zeitliche Gliederung Verteilung der Stimmzettel Wahldurchführung Auswertung Module: Schlüsselverwaltung Elektronischer Stimmzettel (Benutzerschnittstelle) Wahlurne (Stimmzettelverwaltung) Stimmzettelauswertung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

37 Ablaufschema des Wahlvorgangs
Legende 1 Wahlberechtigte bestimmen 2 Schlüssel erzeugen 3 Schlüssel versenden 4 Abstimmen, Schlüssel eintragen 5 Verbandsschlüssel laden 6 Verschlüsseln (generisch) 7 Verschlüsseln (Unterschrift) 8 Wahlbrief abschicken 9 Stimmzettel anonymisieren, prüfen, speichern, Schlüssel deaktivieren 10 Stimmzettel entschlüsseln 11 Ergebnisse auswerten 1 Mitglieds- daten 3 Wähler Wahlamt 2 4 5 Stimmzettel Wahlscheine/ Schlüssel Wahlurne (ein Dienst/ Stimmzettel) 6 9 8 7 Stimm- zettel 10 11 Wahlamt Wahl- ergebnisse 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

38 Datenstrukturen & Algorithmen II: Kryptographie
Realisierung Vorgaben Technische Infrastruktur WWW-Integration (Browser) Implementierungssprache Java (Wahlkabine: Applet, Wahlamt/-urne: Applikation, SMTP und Sockets für Netzwerkkommunikation) Kryptoalgorithmus: RSA Prozeßautomatisierung (u.a. durch Datenbanknutzung) nebenläufige Client-Server-Lösung Wahlverfahren als Prozeßkette XML als Austauschformat Technologien Programmierung: Java JDK 1.1/1.2 Datenbank: mySQL (SQL-basiertes RDBMS) Kryptographie: RSA-Algorithmus für Verschlüsselung, Java Cryptography Architecture (JCA), Java Cryptography Extensions (JCE), IAIK-Kryptographie-Paket (TU Graz) XML: IBM4J-XML-Parser / James Clark-XML-Parser Netzwerk: TCP/IP, Socketverbindung zwischen Client und Server (eigenes Protokoll) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

39 Elektronischer Stimmzettel: Interface
22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

40 Datenstrukturen & Algorithmen II: Kryptographie
Literatur Kryptographische Grundlagen Bauer, Friedrich L. (20003). Entzifferte Geheimnisse. Berlin et al.: Springer Angewandte Kryptographie Clark, David (2000). “Encryption Advances to Meet Internet Challenges.” In: IEEE Computer 33(8) (2000), 20-24 Garfinkel, Simon; Spafford, Gene (1997). „Cryptography and the Web.“ In: World Wide Web Journal 2(3) (1997), Ortiz, Sixto, Jr. (2000). „Will PKI Become a Key to Online Security.“ In: IEEE Computer 33(12) (2000), 13-15 Schneier, Bruce (1996). Angewandte Kryptographie. Bonn et al.: Addison-Wesley Wobst, Reinhard (1997). Abenteuer Kryptographie. Bonn et al.: Addison-Wesley Java Cryptography Architecture Gong, Li (1999). Inside Java 2 Platform Security. Reading/MA et al.: Addison Wesley Longman 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie


Herunterladen ppt "Algorithmen und Datenstrukturen II : Kryptographie"

Ähnliche Präsentationen


Google-Anzeigen