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

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

Embed Size (px)

Citation preview

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

1

Algorithmen und Datenstrukturen II :Kryptographie

Christian WolffInstitut für Informatik22. Januar 2001

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

2

Übersicht

1. Sicherheit und Kryptographie2. 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

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

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]

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

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)

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

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

f p c

f c p

( )

( )

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

6

Schematische Darstellung des kryptographischen Grundprinzips

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

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

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

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

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

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) ...

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

10

Ver- und Entschlüsselung mit symmetrischer Kryptographie

Verschlüsselung

Entschlüsselung

Wenn.die.Sicherheit.eines.Algorithmus....

Klartext

Schlüssel

Schlüssel

Wenn.die.Sicherheit.eines.Algorithmus....

Klartext

Geheimtext

XJSKLE0D1SD85KSMALJ02DSKLDXJSLWO940HRF....

=

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

22. Januar 2001 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

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

12

Ver- und Entschlüsselung mit asymmetrischer Kryptographie (public key-Kryptographie)

Verschlüsselung

Entschlüsselung

Wenn.die.Sicherheit.eines.Algorithmus....

Klartext

öffentlicher Schlüsselpublic key

(Chiffrierschlüssel)

Wenn.die.Sicherheit.eines.Algorithmus....

Klartext

Geheimtext

XJSKLE0D1SD85KSMALJ02DSKLDXJSLWO940HRF....

privater Schlüsselprivate key

(Dechiffrierschlüssel)

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

13

Klartext +

Signatur

Digitale Signaturen

Signierung Verifikation

Wenn.die.Sicherheit.eines.Algorithmus....

Klartext

privater Schlüsselprivate key

(Dechiffrierschlüssel)

öffentlicher Schlüsselpublic key

(Chiffrierschlüssel)

Wenn.die.Sicherheit.eines.Algorithmus....

WAJDKFUS9HDBCJS%3S

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

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 ...

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

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)

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

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 216 + 1);

ausschließlich Verarbeitung von 16bit-Zahlen, daher effiziente Implementierung

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

22. Januar 2001 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.

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

18

IDEA: Ablauf der Verschlüsselung

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

19

IDEA: Ablauf der Entschlüsselung

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

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

e f n n no f n(1. (1)) ( ) ( ) (ln ) (ln ln )923 13

2 3 mit

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

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

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

22. Januar 2001 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

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

23

Digitale Signaturen unter Verwendung von message digests

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

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)

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

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

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

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 E-Mail-Versand,

sicheren Informationsaustausch

Beispiel Java-Sicherheitsarchitektur, Java Cryptography

Architecture

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

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

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

28

Engine-Klassen der JCA

MessageDigest Berechnung eindeutiger Kurzzusammenfassungen vonDaten

Signature Signierung und Verifikation von Daten

KeyPairGenerator Generierung von Schlüsselpaaren

KeyFactory Konvertierung zwischen unterschiedlichenRepräsentationsformen für Schlüsselpaare

CertificateFactory Erzeugung von Schlüsselzertifikaten undZertifikatrücknahmelisten (certificate revocation lists(CRLs))

KeyStore Administration und Verwaltung von Schlüsselpaarenund Zertifikaten

AlgorithmParameters Verwaltung von Parametern für kryptographischeAlgorithmen

AlgorithmParameter Generator

Erzeugung von Parametern für kryptographischeAlgorithmen

SecureRandom Erzeugung von Zufalls- oder Pseudo-Zufallszahlen

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

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)

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

30

Kryptographische Anwendungen im Internet

Funktion Systembeispiel

Verschlüsselung von TCP/IP IPSec (Datenpaketebene)Secure sockets layer (SSL, V.1-3, Daten-stromebene))

sichererRemote-Zugang

secure shell (SSH)

Kommunikationper e-Mail

pretty good privacy (PGP), Anwen-dungsprogramme

ElektronischeZahlungsvorgänge

secure electronictransaction (SET)

...

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

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

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

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“, 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)

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

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

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

34

Aktuelle Motivation I: Palm Beach County Ballot

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

35

Aktuelle Motivation II: Typisierung von Chads

pregnant chad ?

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

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

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

37

Ablaufschema des Wahlvorgangs

Mitglieds-daten

Wahlscheine/Schlüssel

Wahlamt Wähler

Wahlurne(ein Dienst/ Stimmzettel)

Stimm-zettel

Wahl-ergebnisse

Wahlamt

Stimmzettel

1

2

3

4

5

8

9

1011

6

7

Legende1 Wahlberechtigte

bestimmen2 Schlüssel erzeugen3 Schlüssel versenden4 Abstimmen,

Schlüssel eintragen5 Verbandsschlüssel

laden6 Verschlüsseln

(generisch)7 Verschlüsseln

(Unterschrift)8 Wahlbrief abschicken9 Stimmzettel

anonymisieren, prüfen, speichern, Schlüssel

deaktivieren10 Stimmzettel

entschlüsseln11 Ergebnisse auswerten

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

38

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)

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

22. Januar 2001 Datenstrukturen & Algorithmen II: Kryptographie

39

Elektronischer Stimmzettel: Interface

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

22. Januar 2001 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-

WesleyJava Cryptography Architecture

Gong, Li (1999). Inside Java 2 Platform Security. Reading/MA et al.: Addison Wesley Longman