View
106
Download
0
Category
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