Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie1 Algorithmen und Datenstrukturen II : Kryptographie Christian Wolff Institut für Informatik."—  Präsentation transkript:

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

2 Datenstrukturen & Algorithmen II: Kryptographie2 Ü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

3 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie3 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]

4 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie4 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)

5 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie5 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

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

7 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie7 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

8 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie8 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

9 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie9 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)...

10 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie10 Ver- und Entschlüsselung mit symmetrischer Kryptographie Verschlüsselung Entschlüsselung Wenn.die. Sicherhei t.eines.A lgorithmu s.... Klartext Schlüssel Wenn.die. Sicherhei t.eines.A lgorithmu s.... Klartext Geheimtext XJSKLE0D1 SD85KSMAL J02DSKLDX JSLWO940H RF.... =

11 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie11 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

12 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie12 Ver- und Entschlüsselung mit asymmetrischer Kryptographie (public key-Kryptographie) Verschlüsselung Entschlüsselung Wenn.die. Sicherhei t.eines.A lgorithmu s.... Klartext öffentlicher Schlüssel public key (Chiffrierschlüssel) Wenn.die. Sicherhei t.eines.A lgorithmu s.... Klartext Geheimtext XJSKLE0D1 SD85KSMAL J02DSKLDX JSLWO940H RF.... privater Schlüssel private key (Dechiffrierschlüssel)

13 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie13 Klartext + Signatur Digitale Signaturen Signierung Verifikation Wenn.die. Sicherhei t.eines.A lgorithmu s.... Klartext privater Schlüssel private key (Dechiffrierschlüssel) öffentlicher Schlüssel public key (Chiffrierschlüssel) Wenn.die. Sicherhei t.eines.A lgorithmu s.... WAJDKFUS9 HDBCJS%3S

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

15 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie15 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)

16 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie16 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 2 16 (wg. 16bit-Länge), Multiplikation modulo ); ausschließlich Verarbeitung von 16bit-Zahlen, daher effiziente Implementierung

17 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie17 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.

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

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

20 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie20 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

21 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie21 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 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie22 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 m e 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 c d durch n der Klartext Digitale Signaturen: Umkehrung des Verfahrens Problem: rechenaufwendiger Algorithmus, daher typischerweise Einsatz von message digests

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

24 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie24 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)

25 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie25 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

26 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie26 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

27 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie27 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

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

29 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie29 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)

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

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

32 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie32 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)

33 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie33 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

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

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

36 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie36 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

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

38 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie38 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)

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

40 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie40 Literatur Kryptographische Grundlagen Bauer, Friedrich L. ( ). Entzifferte Geheimnisse. Berlin et al.: Springer Angewandte Kryptographie Clark, David (2000). Encryption Advances to Meet Internet Challenges. In: IEEE Computer 33(8) (2000), 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), 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


Herunterladen ppt "22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie1 Algorithmen und Datenstrukturen II : Kryptographie Christian Wolff Institut für Informatik."

Ähnliche Präsentationen


Google-Anzeigen