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

Preview:

Citation preview

FH MünchenFB 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

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)

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

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

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

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Windows“ Look and feel

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Metal“ Look and feel

Projektstudium Chipkarten SS 2001

•Einleitung

•JAVA

•Erklärung der

einzelnen

Aufgaben mit

Beispielen

•Sign(Karte)

•Fragen

Screenshot unseres Programms im„Motiv“ Look and feel

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

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

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

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

Projektstudium Chipkarten SS 2001

Welcome

Senden Empfangen

Menü

•Einleitung

•JAVA

•Erklärung der

einzelnen Aufgaben

mit Beispielen

•Sign(Karte)

•Fragen

Grobstruktur

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

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)

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

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

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

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

Projektstudium Chipkarten SS 2001

Probleme bei Austausch von Nachrichten

•Authentifizierung des Absenders

•Garantie der Unverfälschtheit des Dokumentes

Lösung durch die Signatur

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

Projektstudium Chipkarten SS 2001

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

Projektstudium Chipkarten SS 2001

Verify Signature

ChipCard Terminal

Doc | S

Hash* = Hash(doc) ?

Response

S, Hash(doc), KeyID

APDU

Hash* = dec(S, PubKey)

Projektstudium Chipkarten SS 2001

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

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

Recommended