Algorithmen und Datenstrukturen II Kryptographie Christian Wolff Institut
- Slides: 40
Algorithmen und Datenstrukturen II : Kryptographie Christian Wolff Institut für Informatik 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 1
Übersicht 1. Sicherheit und Kryptographie 2. Ausgewählte kryptographische Algorithmen y klassische Algorithmen: Caesar, Vigenère y symmetrische Algorithmen: IDEA y asymmetrische Algorithmen: RSA 3. Angewandte Kryptographie y Kryptographie-APIs y Anwendungen y Rechtliche Rahmenbedingungen y Beispiel elektronisches Wahlverfahren 4. Bewertung & Ausblick 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 2
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 3
Sicherheit und Kryptographie z Sicherheitskriterien y Identifizierung (authentication) y Vertraulichkeit (confidentiality) y Integrität (integrity) y Verbindlichkeit (nonrepudiation) y Verfügbarkeit (availability) z Schutzziele gegen y unbefugten Informationsgewinn (Verlust der Vertraulichkeit) y unbefugte Modifikation von Information (Verlust der Integrität) y unbefugte Beeinträchtigung der Funktionalität (Verlust der Verfügbarkeit) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 4
Kryptographisches Grundprinzip z Umwandlung eines Klartextes (p, plain text) in einem chiffrierten Text (c, ciphertext) mit Hilfe einer reversiblen kryptographischen Funktion f: z symmetrische und asymmetrische Algorithmen (public key cryptography) y Verschlüsselung / Entschlüsselung y elektronische Unterschrift (digitale Signatur) erzeugen / verifizieren 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 5
Schematische Darstellung des kryptographischen Grundprinzips 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 6
Eigenschaften kryptographischer Algorithmen z Mathematische Grundlagen kryptographischer Algorithmen y Primzahlfaktorisierung, elliptic curve cryptography, y Hashfunktionen z Verarbeitungsverfahren · alphabetisch/polyalphabetisch · bitbasiert z je nach Verarbeitungsweise unterscheidet man · Blockchiffrierung und · Stromchiffrierung. z Qualitätskriterien für kryptographische Algorithmen · Diffusion · Konfusion · Wahl von Zufallszahlen 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 7
Typischer Aufbau moderner kryptographischer Algorithmen z 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. z Beispiel: s. u. IDEA 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 8
Unterscheidung symmetrischer und asymmetrischer Verfahren z symmetrische vs. asymmetrische Algorithmen y symmetrisch: xein Schlüssel für Chiffrierung und Dechiffrierung xinternational data encryption algorithm (IDEA) xdigital encryption standard (DES, Triple-DES) xadvanced encryption standard (AES, = Rijndael-Algorithmus) y asymmetrisch xunterschiedliche Schlüssel für Chiffrierung und Dechiffrierung (Schlüsselpaar) x. Rivest Shamir Adleman (RSA) xdigital signature algorithm (DSA) x. . . 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 9
Ver- und Entschlüsselung mit symmetrischer Kryptographie Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext XJSKLE 0 D 1 SD 85 KSMAL J 02 DSKLDX JSLWO 940 H RF. . Verschlüsselung Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext Entschlüsselung Geheimtext Schlüssel 22. Januar 2001 = Datenstrukturen & Algorithmen II: Kryptographie Schlüssel 10
Asymmetrische Kryptographie z Generierung von Schlüsselpaaren: y privater Schlüssel (private key): nur dem Inhaber bekannt Funktion: Entschlüsselung, Signierung y öffentlicher Schlüssel (public key): wird auf allgemein zugänglichen Servern bereitgestellt Funktion: Verschlüsselung, Verifikation z Anwendung für y Verschlüsselung und y digitale Signaturen 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 11
Ver- und Entschlüsselung mit asymmetrischer Kryptographie (public key-Kryptographie) Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext XJSKLE 0 D 1 SD 85 KSMAL J 02 DSKLDX JSLWO 940 H RF. . Verschlüsselung Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext Entschlüsselung Geheimtext öffentlicher Schlüssel public key (Chiffrierschlüssel) 22. Januar 2001 privater Schlüssel private key (Dechiffrierschlüssel) Datenstrukturen & Algorithmen II: Kryptographie 12
Digitale Signaturen Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext Signierung Wenn. die. Sicherhei t. eines. A lgorithmu s. . Klartext + Signatur Verifikation WAJDKFUS 9 HDBCJS%3 S privater Schlüssel private key (Dechiffrierschlüssel) 22. Januar 2001 öffentlicher Schlüssel public key (Chiffrierschlüssel) Datenstrukturen & Algorithmen II: Kryptographie 13
Klassische Algorithmen z Caesar-Verfahren z. Vigenère-Chiffrierung y Alphabetverschiebung y c = p + s mod 26, z. B. bei s = 3 y. A D y. B E y. C F y. . ypolyalphabetisch yabhängig von der Position im Text (zusätzliches Verschlüsselungswort), z. B. HALLO y. HALLOHALLO y. DIESISTEINENACHRICHT y. Abbildung: Caesar. Verschiebung um den Wert des zugeordneten Buchstabens : x. D D + H = K x. I I + A = I x. E E + L = P Datenstrukturen & Algorithmenx II: . . . 22. Januar 2001 Kryptographie 14
IDEA als Beispiel symmetrischer Kryptographie z IDEA - international data encryption standard z Entwickelt von Lai & Massey, ETH Zürich, patentrechtlich geschützt (Ascom Systec AG, Schweiz) z Blockchiffrierung (64 bit-Blöcke) durch einen 128 bit-Schlüssel · Bildung von 52 Teilschlüsseln: § acht 16 bit-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 15
Verschlüsselung in IDEA z Verschlüsselung in acht Runden, jede Runde verwendet sechs Teilschlüssel (Produktalgorithmus) · Jeweils Verarbeitung von 16 bit-Teilblöcken · Anwendung “inkompatibler” algebraischer Operationen (XOR, Addition modulo 216 (wg. 16 bit-Länge), Multiplikation modulo 216 + 1); · ausschließlich Verarbeitung von 16 bit-Zahlen, daher effiziente Implementierung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 16
Motivation für den Aufbau des Algorithmus z 216 + 1 ist Primzahl z Die Grundoperationen des Algorithmus sind “inkompatibel” (bilden keine Gruppe), da für sie weder das Distributiv- noch das (erweiterte) Assoziativgesetz gilt. z 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 17
IDEA: Ablauf der Verschlüsselung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 18
IDEA: Ablauf der Entschlüsselung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 19
RSA als Beispiel asymmetrischer Kryptographie z Entwickelt von Rivest, Shamir, Adleman (1978) z Ansatzpunkt ist die Schwierigkeit, große Primzahlen effizient zu faktorisieren z Für eine Zahl n beträgt der Faktorisierungsaufwand etwa z Aufbau des Algorithmus y Schlüsselerzeugung y Chiffrierung y Dechiffrierung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 20
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 21
RSA: Chiffrierung und Dechiffrierung z 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. z 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 z Digitale Signaturen: Umkehrung des Verfahrens z Problem: rechenaufwendiger Algorithmus, daher typischerweise Einsatz von message digests 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 22
Digitale Signaturen unter Verwendung von message digests 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 23
Kryptographische Dienste z Protokolle: Bereitstellung sicherer Übertragungskanäle für Daten z Message Digests: eindeutige Kurzzusammenfassungen von Daten durch sichere Hashfunktionen z Signaturen: Bestätigung der Urheberschaft, oft in Kombination mit message digests z Zertifikate: Bestätigung der Sicherheit von Schlüsseln, z. B. Zertifikate nach X. 509 z 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 24
PKI - public key infrastructure z notwendige Infrastruktur für die verläßliche Verwendung kryptographischer Anwendungen z PKI-Bestandteile y Einsatz eines asymmetrischen Verfahrens für Verschlüsselung und digitale Signaturen y digitale Zertifikate: authentisieren den Sender einer Nachricht, stellen öffentliche Schlüssel bereit y Registration Authority (RA): registriert Anfragen für digitale Zertifikate y Certificate Authority: Generiert und verwaltet Zertifikate und Schlüssel (z. B. durch certificate revocation lists) y Verzeichnisse: Speicherung von Zertifikaten und Schlüsseln für den Zugriff durch Nutzer und CA Datenstrukturen & Algorithmen II: 22. Januar 2001 Kryptographie 25
Einsatz angewandter Kryptographie z Implementierung kryptographischer Algorithmen als Kryptographie-Provider z APIs und Toolkits z Protokolle und Dienste mit kryptographischer Unterstützung, z. B. auf Protokollbasis für TCP/IP z sichere Anwendungen, z. B. für E-Mail-Versand, sicheren Informationsaustausch z Beispiel y Java-Sicherheitsarchitektur, Java Cryptography Architecture 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 26
Java Cryptography Architecture z Engine-Klassen: definieren einen kryptographischen Dienst als abstrakte Modellierung (ohne konkrete Implementierung) z jedem kryptographischen Dienst ist ein Algorithmus oder Typ zugeordnet y Bereitstellung kryptographischer Operationen y Erzeugung kryptographischer Daten (z. B. Schlüssel) y sichere Kapselung und Verwaltung kryptographischer Daten y Modellierung mit Hilfe von Design Patterns 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 27
Engine-Klassen der JCA 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 28
Kryptographische Provider z Implementierung der abstrakten Engine-Klassen für konkrete Algorithmen z Instantiierung zur Laufzeit durch Laden von Providerklassen z Verwaltung mehrerer Provider möglich z Hilfsklassen für Ermittlung der implementierten Algorithmen z Beispiel: y Standard-Provider JCA (Sun Microsystems) y Provider externer Kryptographie-Toolkits, z. B. IAIK (TU Graz) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 29
Kryptographische Anwendungen im Internet 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 30
Einsatzbereiche angewandter Kryptographie z Schutz und Zugangsrestringierung für Systeme und Ressourcen z E-, M-Business y sichere Transaktionen y Zahlungsverkehr z rechtsverbindliche Verträge mit Formerfordernissen z sichere Kommunikation 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 31
Rechtliche Rahmenbedingungen z Signaturgesetz und -verordnung (D, 1997) als Teil des Iu. KDG z Europäische Signaturrichtlinie („gemeinschaftliche Rahmenbedingungen für elektronische Signaturen“, 19. 1. 2000, Umsetzung in D bis 19. 6. 2001)) z Referentenentwürfe des BMJ für neue Formvorschriften bei Rechtsgeschäften („Textform“, „elektronische Form“, Juni 2000, http: //www. bmj. bund. de/ggv/bgbrege 1. pdf)) z sukzessive Gleichstellung elektronischer Rechtsgeschäfte z allgemeine Verbreitung elektronischer Signaturen ? z Voraussetzung: y PKI, Zertifizierungsstellen (trust center) y Hardware-basierte. Datenstrukturen Technologie (Chipkarten, -leser) & Algorithmen II: 22. Januar 2001 Kryptographie 32
Elektronische Kommunikationsformen z Sicherheitsrelevante Kommunikation über elektronische Kommunikationskanäle z Beispiel GLDV - Gesellschaft für Linguistische Datenverarbeitung y Web. Site y Anmeldung (Beitritt) y Newsletter y Diskussionsforen y Hier: elektronische Wahlverfahren y betrifft alle grundlegenden Aspekte sicherer Kommunikation x. Authentisierung, Vertraulichkeit, Integrität, Verbindlichkeit 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 33
Aktuelle Motivation I: Palm Beach County Ballot 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 34
Aktuelle Motivation II: Typisierung von Chads pregnant chad ? 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 35
Analogie zum Briefwahlverfahren z Modellierung von z Module: y Wahlschein y Stimmzettel y zweifacher Verpackung des Stimmzettels z Zeitliche Gliederung y Schlüsselverwaltung y Elektronischer Stimmzettel (Benutzerschnittstelle) y Wahlurne (Stimmzettelverwaltung) y Stimmzettelauswertung y Verteilung der Stimmzettel y Wahldurchführung y Auswertung 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 36
Ablaufschema des Wahlvorgangs 1 Mitgliedsdaten 3 2 Wähler Wahlamt 4 5 Wahlscheine/ Schlüssel Wahlurne 9 (ein Dienst/ Stimmzettel) Stimmzettel 6 8 Stimmzettel 10 Wahlamt 22. Januar 2001 11 Wahlergebnisse Datenstrukturen & Algorithmen II: Kryptographie 7 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 37
Realisierung Vorgaben Technologien z Technische Infrastruktur y WWW-Integration (Browser) y Implementierungssprache Java (Wahlkabine: Applet, Wahlamt/urne: Applikation, SMTP und Sockets für Netzwerkkommunikation) y Kryptoalgorithmus: RSA y Prozeßautomatisierung (u. a. durch Datenbanknutzung) y nebenläufige Client-Server. Lösung z Wahlverfahren als Prozeßkette z XML als Austauschformat z Programmierung: Java JDK 1. 1/1. 2 z Datenbank: my. SQL (SQL-basiertes RDBMS) z Kryptographie: RSA-Algorithmus für Verschlüsselung, Java Cryptography Architecture (JCA), Java Cryptography Extensions (JCE), IAIK-Kryptographie. Paket (TU Graz) z XML: IBM 4 J-XML-Parser / James Clark-XML-Parser z Netzwerk: TCP/IP, Socketverbindung zwischen Client und Server (eigenes Protokoll) 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 38
Elektronischer Stimmzettel: Interface 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 39
Literatur z. Kryptographische Grundlagen y. Bauer, Friedrich L. (20003). Entzifferte Geheimnisse. Berlin et al. : Springer z. Angewandte Kryptographie y. Clark, David (2000). “Encryption Advances to Meet Internet Challenges. ” In: IEEE Computer 33(8) (2000), 20 -24 y. Garfinkel, Simon; Spafford, Gene (1997). „Cryptography and the Web. “ In: World Wide Web Journal 2(3) (1997), 113 -126 y. Ortiz, Sixto, Jr. (2000). „Will PKI Become a Key to Online Security. “ In: IEEE Computer 33(12) (2000), 13 -15 y. Schneier, Bruce (1996). Angewandte Kryptographie. Bonn et al. : Addison-Wesley y. Wobst, Reinhard (1997). Abenteuer Kryptographie. Bonn et al. : Addison-Wesley z. Java Cryptography Architecture y. Gong, Li (1999). Inside Java 2 Platform Security. Reading/MA et al. : Addison Wesley Longman 22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie 40
- Algorithmen und datenstrukturen tu bs
- Algorithmen und datenstrukturen lmu
- Nqmi
- Datenstrukturen und algorithmen rwth
- Tu dresden algorithmen und datenstrukturen
- Kryptographie
- Peter pietzuch
- Kryptographie
- Kryptographie
- Rekursive datenstrukturen
- Jarabak ratio
- Kocher test
- Plica genitalis
- Steve wolff wyoming
- Wolff chaikoff effect
- Say yes (short story)
- Maiborn wolff
- Wolff kishner reaction
- Letizia coppo
- Costan mefenamic acid
- Wolff law
- Anne marie wolff
- Nursing management of thyroid cancer
- Wolff center upmc
- Los invasores personajes y sus características
- Hots and lots
- Wolff's law
- Ilots de wolf et pander
- Hendrik wolff
- Paratiroides secreta
- Ley de wolf y delpech
- Anne marie wolff
- Wolff
- Wolfs law
- Green kit std
- Mcad disease
- Birgitta wolff
- Dr david wolff
- Tireotoxicosis
- True believer poem
- Remy vink