28
FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Embed Size (px)

Citation preview

Page 1: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

FH MünchenFB 07 Informatik/Mathematik

Projektstudium Chipkarten

SS 2001

Gruppe Sign(PC+Karte

)

Mit freundlicher Unterstützung von

Page 2: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001 Sign(PC+Karte)

Gliederung des Vortrags:

•Einleitung

•Java

•Warum Java ?

•Grundlagen der JAVA Programmierung

•Erklärung der einzelnen Aufgaben mit Beispielen

•Hash-Wert berechnen

•Sign(Karte)

•Signatur

•Fragen

Page 3: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Unser Gruppe setzt sich zusammen aus:

Sign ( PC ):

Pointer Josef, Schmid Claudia, Cimpa Barbara, Ostheimer Heribert, Divjak-Bošnjak Tatjana

Aufgaben: Menüführung programmieren, Hash-Berechnung, Treiber einbinden

Sign (Karte):

Pham Huy Hoang, Schuster Gerhard, Shaheen Diaa, Radler Robert, Hagn Christian

Aufgaben: Signieren des Dokuments

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Projektstudium Chipkarten SS 2001 Sign(PC+Karte)

Page 4: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Warum wurde Java für ChipCard verwendet

auf der Kartenseite von G&D bereits verwendet(Applets)

moderne, zukünftige Programmiersprache

Page 5: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Java Swingklassen, was ist dasJava Look and feel

Java Schichtenmodell

Java Ereignis(Event) Steuerung

Notation für Klassen, Datenelemente, Methoden

Unterschiede Java C++

Grundlagen der JAVA Programmierung

Page 6: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Swingklassen in Java

Was ist Swíng HW unabhängig

Die am Bildschirm dargestellten Komponenten, Fensterverhalten sich auf allen Plattformen identisch

Damit eine Unabhängigkeit vom Betriebssystem erreicht wird,verwendet Java keine Methoden des Betriebssystems

Gleiches Look and Feel (Aussehen) auf jeder Plattform

Arten des Look and FeelWindowsMetalMotiv

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Page 7: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Windows“ Look and feel

Page 8: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Metal“ Look and feel

Page 9: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Motiv“ Look and feel

Page 10: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Java Swing, Schichtenmodell

Pro Layer bis zu 100 Frames

Sicherstellung daß kein Frame einen anderen verdeckt

Page 11: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Ereignis(Event) Modell von Java

Trennung des Code

Code zur Ereignissteuerung

Code für das eigentliche Programm

Page 12: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Notation für Klassen, Datenelemente,Methoden

Klassen: beginnend mit einem GroßbuchstabenDatenelemente: beginnend mit einem KleinbuchstabenMethoden: beginnend mit einem Kleinbuchstaben

Notation: ungarische Notation

Page 13: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Unterschiede Java und C++

Java verwendet keine Zeiger

Java verwendet keine Templates

Java läßt nur einfache Vererbung zu

Java ist rein Objekt orientiert

Java läuft unabhängig vom Betriebssystem

Page 14: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Welcome

Senden Empfangen

Menü

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Grobstruktur

Page 15: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Willkommensbildschirm:

Menü:

Abfrage: ist CK vorhanden

Hilfe

•Karte authentifizieren

•HilfeFehlermeldung

PIN-Gruppe: PIN-Abfrage + Fehlermeldungen

E = Exception

E

E

Page 16: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Menü:

Senden

Text in Textfeld eingeben (=Zu signierender Text)

Button „Versenden“

Hash-Wert berechnen und an Karte zum signieren schicken

E

Prüfung: Textfeld gefüllt

Signieren und zurückschicken (von Sign Karte)

Page 17: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Datei einlesen

Hash‘-Wert berechnen

Return von CK

Empfangen

Hash‘, Schlüsselnr, Signatur an CK

Code == 9000 Dok. integer Code != 9000 Dok. Nicht integer

Page 18: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

• Warum Hash-Berechnung?

• Sicherer Hash-Algorithmus MD5

• APDU-Aufbau

• Return-Codes

Hash-Berechnung

Page 19: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

16 * 32-Bit-Blöcke

32 Bit128-Bit-Hash

512 Bit 512 Bit

32 Bit

32 Bit

......

Funktionen

Nachricht - Eingabetext

Umwandlung

32 Bit 32 Bit 32 Bit

Hash-Berechnung

Page 20: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Negatives:

• Klassen nicht vorhanden

• Treiber nicht einzubinden

Positives:

•Projektstudium mit renommierter Firma

•Interessante/wichtige Technologie

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Erfahrungen

Page 21: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Probleme bei Austausch von Nachrichten

•Authentifizierung des Absenders

•Garantie der Unverfälschtheit des Dokumentes

Lösung durch die Signatur

Page 22: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Sign Data

ChipCard Terminal

Doc | S

S = enc [Hash(doc), PrivKey] Computation of Hash(doc)

Signature S

Hash(doc), KeyID

APDU

Page 23: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Page 24: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

z1

z0

z2

z f

q

z f

q

z f

q

q

z3

get.PrivateKey

set.Key

'ok'

'ok'

'fail'

'fail'

sign'fail'

'ok'

Sign

Page 25: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Verify Signature

ChipCard Terminal

Doc | S

Hash* = Hash(doc) ?

Response

S, Hash(doc), KeyID

APDU

Hash* = dec(S, PubKey)

Page 26: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Page 27: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

z4

z1

z0

q

z2

q

z f

q

z3

z f

q

get.PublicKey

set.Key

verify

'ok'

'fail'

'fail'

'signatur ok'

'ok'

'signatur NOT ok'

Verify

Page 28: FH München FB 07 Informatik/Mathematik Projektstudium Chipkarten SS 2001 Gruppe Sign(PC+Karte) Mit freundlicher Unterstützung von

Projektstudium Chipkarten SS 2001

Ihre Fragen bitte !

Vielen Dank für Ihre Aufmerksamkeit

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen