1 / 40

Algorithmen und Datenstrukturen II : Kryptographie

Algorithmen und Datenstrukturen II : Kryptographie. Christian Wolff Institut für Informatik 22. Januar 2001. Übersicht. 1. Sicherheit und Kryptographie 2. Ausgewählte kryptographische Algorithmen klassische Algorithmen: Caesar, Vigenère symmetrische Algorithmen: IDEA

tim
Download Presentation

Algorithmen und Datenstrukturen II : Kryptographie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Ü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 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] 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) 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 Datenstrukturen & Algorithmen II: Kryptographie

  6. Schematische Darstellung des kryptographischen Grundprinzips 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 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 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) • ... 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 Datenstrukturen & Algorithmen II: Kryptographie

  11. Asymmetrische Kryptographie • Generierung von Schlüsselpaaren: • privater Schlüssel (private key): nur dem Inhaber bekanntFunktion: Entschlüsselung, Signierung • öffentlicher Schlüssel (public key): wird auf allgemein zugänglichen Servern bereitgestelltFunktion: Verschlüsselung, Verifikation • Anwendung für • Verschlüsselung und • digitale Signaturen 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) Datenstrukturen & Algorithmen II: Kryptographie

  13. Digitale Signaturen 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) Datenstrukturen & Algorithmen II: Kryptographie

  14. 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 ... Klassische Algorithmen 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) 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 216 + 1); • ausschließlich Verarbeitung von 16bit-Zahlen, daher effiziente Implementierung Datenstrukturen & Algorithmen II: Kryptographie

  17. Motivation für den Aufbau des Algorithmus • 216 + 1 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. Datenstrukturen & Algorithmen II: Kryptographie

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

  19. IDEA: Ablauf der Entschlüsselung 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 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 Datenstrukturen & Algorithmen II: Kryptographie

  22. RSA: Chiffrierung und Dechiffrierung • Chiffrierung • 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 Datenstrukturen & Algorithmen II: Kryptographie

  23. Digitale Signaturen unter Verwendung von message digests 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) 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 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 E-Mail-Versand, sicheren Informationsaustausch • Beispiel • Java-Sicherheitsarchitektur, Java Cryptography Architecture 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 Datenstrukturen & Algorithmen II: Kryptographie

  28. Engine-Klassen der JCA 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) Datenstrukturen & Algorithmen II: Kryptographie

  30. Kryptographische Anwendungen im Internet 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 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“, 19.1.2000, Umsetzung in D bis 19. 6. 2001)) • Referentenentwürfe des BMJ für neue Formvorschriften bei Rechtsgeschäften („Textform“, „elektronische Form“, Juni 2000, http://www.bmj.bund.de/ggv/bgbrege1.pdf)) • sukzessive Gleichstellung elektronischer Rechtsgeschäfte • allgemeine Verbreitung elektronischer Signaturen ? • Voraussetzung: • PKI, Zertifizierungsstellen (trust center) • Hardware-basierte Technologie (Chipkarten, -leser) 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 Datenstrukturen & Algorithmen II: Kryptographie

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

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

  36. 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 Analogie zum Briefwahlverfahren 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 Datenstrukturen & Algorithmen II: Kryptographie

  38. 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) Realisierung Datenstrukturen & Algorithmen II: Kryptographie

  39. Elektronischer Stimmzettel: Interface Datenstrukturen & Algorithmen II: Kryptographie

  40. 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), 113-126 • 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 Datenstrukturen & Algorithmen II: Kryptographie

More Related