Algorithmen und Datenstrukturen II : Kryptographie

Slides:



Advertisements
Ähnliche Präsentationen
Security Lösungen, die Ihnen echten Schutz bieten!
Advertisements

Eine Einführung in das RSA-Verfahren an Beispielen
Mündliche Fachprüfung
Beispiel zum RSA-Algorithmus
Sicherheit in Netzwerken
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
Kryptographie - ein Exkurs Kodieren/Dekodieren, Verschlüsseln/Entschlüsseln, Chiffrieren/Dechiffrieren zum Zweck der Geheimhaltung, zur Authentifizierung,
Asymmetrische Kryptographie
Asymmetrische Kryptographie
HANDYGMA - kein Geheimnis -
Link Layer Security in BT LE.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Secure Socket Layer SSL For a secure E-Business Thomas Muskalla
Verschlüsselungsverfahren Gruppe 3/ Judith Neu / Stephanie Czichon
Sicherheit und Personalisierung Internet Portal der Universität München.
Konfiguration eines VPN Netzwerkes
Grundlagen der Kryptologie
Zahlentheorie Algebra und Kryptografie
Proseminar : Allgegenwärtiges Rechnen
Proseminar Kryptographie – Kolja Engelmann Sichere Signatursysteme Proseminar Kryptographie Kolja Engelmann,
Symmetrische und Asymmetrische Verschlüsselung Habilitationsvortrag
Z1 Backbone of Trust Server- und XML-basierte Lösung zentrales Zertifikatsmangement der Königsweg zur anwenderfreundlichen eBusiness-Infrastruktur.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Ein Public Key Kryptosystem mit perfekten Codes in Graphen.
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Virtual Private Networks
Symmetrische Verschlüsselung
Hashverfahren und digitale Signaturen
© by S.Strudthoff 2005 SET Sichere Kreditkartenzahlung im Internet.
Kryptologie Entwicklung und Bewertung von Verschlüsselungsverfahren
Public-Key-Infrastruktur
Elektronische Signatur
SSL - Verfahren Secure Socket Layer.
Einwegfunktionen mit und ohne „Falltür“
KRYPTOGRAFIE.
Kryptographie Wie funktioniert Electronic Banking?
Nutzung von i-vote als Plattform für die Briefwahl im Internet
Sicherheit beim Internet-Banking
SecureSocketLayer „Sicherheit in Datennetzen“
präsentiert von Ulli, Nina& Kerstin
Sicherheit in Computernetzen
Kryptograhie Wie funktioniert Electronic Banking?
Die Finalisten für den Advanced Encryption Standard Advanced Encryption Standard Herbert Frohner Sebastian Hegenbart Joachim Kerschbaumer.
Was ist Kryptographie? Alice Bob Maloy (Spion)
Institut für Theoretische Informatik
AES – Advanced Encryption Standard
secunet Security Networks AG
Verschlüsselungsverfahren
Public Key Infrastructure PKI Fachhochschule Trier
(C) 2003, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz 1 RSA-Algorithmus 1978 von Ronald Rivest, Adi Shamir und Leonard Adleman erfunden.
Quellen: Internet INTRANET Ausarbeitung von Sven Strasser und Sascha Aufderheide im Modul Netzwerktechnik, Klasse INBS Mai 2003.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
VPN – Virtual Private Network
IT-Sicherheit Kapitel 3 - Public Key Kryptographie
Agentenbasierte Sicherung elektronischer Transaktionen
Präsentiert von Riccardo Fuda.  Klassische (symmetrische) Kryptographie  Der weg zur modernen Kryptographie  Message Authentification Codes  Asymmetrische.
Walter Langmann Sichere Authentifizierung von W-LAN in einer Windows 2003 Server Umgebung 5AIH Diplomarbeit im Fach Technische Informatik.
Pretty Good Privacy Public Encryption for the Masses
Datenbanken im Web 1.
Projekt Crypt Einfache kryptografische Verfahren
RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt.
Folie Nr. Stand Jänner 2008 RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt RSA ist ein asymmetrisches Kryptosystem 
Motivation Schutz ausgetauschter Informationen
Anfänge und Entwicklung der Kryptographie Seminararbeit von Andreas Rudolf.
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Verschlüsselung nach dem RSA-Verfahren
RSA public key encryption
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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