Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fachhochschule München, Projektstudium Chipkarten SS 2002 Gruppe Fahrtenbuch Applet Projekt-Abschlußbericht Datum: 04.Juli 2002.

Ähnliche Präsentationen


Präsentation zum Thema: "Fachhochschule München, Projektstudium Chipkarten SS 2002 Gruppe Fahrtenbuch Applet Projekt-Abschlußbericht Datum: 04.Juli 2002."—  Präsentation transkript:

1 Fachhochschule München, Projektstudium Chipkarten SS 2002 Gruppe Fahrtenbuch Applet Projekt-Abschlußbericht Datum: 04.Juli 2002

2 Fachhochschule München, Projektstudium Chipkarten SS 2002 Organisation: Teilnehmer Andrea Herold (Gruppenleitung) Beatrice Krell Annette Holzer Jeannette Schulz

3 Fachhochschule München, Projektstudium Chipkarten SS 2002 Organisation: Zeitlicher Ablauf Zeit Einteilung der Gruppen - Besprechung zu den Inhalten des Applets Erstellung der APDU-Spezifikation sowie des Zustanddiagramms - Entwicklung Fahrtenbuch Testen des Applets im Giessecke & Derivient - Veränderung der Spezifikation und des Sourcecodes nach Absprache mit den anderen Gruppen (z. B.: Änderung der zugriffsberechtigten User) Minimierung des Codes zur Reduzierung der Speicherplatzbelegung - Dokumentation des Sourcecodes - Ausarbeitung der Präsentation Testen des Applets im Giessecke & Derivient - Ergänzung der Methode select() nach Absprache mit Frau Sandow

4 Fachhochschule München, Projektstudium Chipkarten SS 2002 actElement : byte = 0; readElement : byte = 0; loginStatus : byte = -1; carStatus : byte = NOT_INIT; driverID : byte[] = new byte [DRIVER_ID_ LENGTH * AMOUNT_RECORDS]; startTime : byte[] = new byte [START_TIME_LENGTH * AMOUNT_RECORDS]; endTime : byte[] = new byte [END_TIME_LENGTH * AMOUNT_RECORDS]; initKM : byte[] = new byte [INIT_KM_LENGTH * AMOUNT_RECORDS]; initPLZ : byte[] = new byte [INIT_PLZ_LENGTH * AMOUNT_RECORDS]; kmStand : byte[] = new byte [KM_STAND_LENGTH * AMOUNT_RECORDS]; plz : byte[] = new byte [PLZ_LENGTH * AMOUNT_RECORDS]; shareable_AID_bytes : byte[] = { (byte) P, (byte) i,..., (byte) t } +DrivingBookApplet () +deselect () +install (buffer : byte[], offset : short, length : byte) +process (apdu : APDU) -receive (apdu : APDU) +select () JavaCardApplet DrivingBookApplet Package: org.fhm.javacard.car UML-Klassendiagramm JavaCardAppletDeclarations DrivingBookDeclarations 1)Instruktionen u. Klassenvariable 2)Längen der Variablen 3)Status des Applets 4)StatusWords +sendLoginStatus() : byte Shareable Interface LoginStatusInterface

5 Fachhochschule München, Projektstudium Chipkarten SS 2002 Beschreibung des DrivingBookApplet Methode install Aufruf des Konstruktors Methode select Mit dieser Methode wird das Applet selektiert und Variablen des Applets vorinitalisiert. Das DrivingBookApplet übernimmt die Rolle des Clients in Zusammenarbeit mit dem PinApplet (Server). Über das ShareableInterface holt sich das DrivingBookApplet den Loginstatus des Benutzers, der sich sich über das PinApplet authentifiziert hat. Erst jetzt ist die Funktionalität des DrivingBookApplets nutzbar (der Aufruf der process wird erfolgreich sein). Methode receive Einlesen der Daten, die an die Karte gesendet werden und Überprüfung der Daten- länge.

6 Fachhochschule München, Projektstudium Chipkarten SS 2002 Beschreibung des DrivingBookApplet Methode process INIT_CAR: Der aktuelle Kilometerstand sowie die PLZ des Abfahrtortes werden auf die Karte geschrieben (Admin.). WRITE_START: Die Abfahrtszeit und die FahrerID wird auf die Karte gespeichert. WRITE_END:Die PLZ des Ankunftortes, der aktuelle Kilometerstand und die Ankunftszeit werden auf die Karte geschrieben. GET_KM:Auslesen des zuletzt gespeicherten Kilometerstandes. READ_INIT_DATA:Auslesen der Initialisierungsdaten (Admin.). READ_DATA:Auslesen der gespeicherten Fahrten (Admin.). DELETE_DATA:Löschen der gesamten auf der Karte gespeicherten Datensätze Admin.). Methode deselect Der LoginStatus wird wieder auf –1 gesetzt, d.h. das Applet muß erst wieder neu selektiert werden, um seine Funktionalität nutzen zu können.

7 Fachhochschule München, Projektstudium Chipkarten SS 2002 UML-Zustandsdiagramm INITIALIZEDNOT_INIT READ_INIT DELETE_STATUS READ_STATUS WRITE_START_STATUS WRITE_END_STATUS Startzustand

8 Fachhochschule München, Projektstudium Chipkarten SS 2002 Externe Kommunikation: APDU Command APDUResponse APDU CLAINSP1P2LcDatafieldLeDatafieldSW1 + SW2 0xCA0x20InitCar008 Car_init (ohne Anzahl_Trips) 0 0xCA0x21ReadData00019Trip 0xCA0x22DeleteData0000 0xCA0x23ReadInitData0009Car_init 0xCA0x24GetKM0004KM 0xCA0x25WriteStart005Trip_start0 0xCA0x26WriteEnd0013Trip_end0 Response

9 Fachhochschule München, Projektstudium Chipkarten SS 2002 Datensatzstrukturen Car_init KMStand4 AbfahrtPLZ4 AnzahlTrips1 9 KM KMStand4 4 Trip_Start Abfahrtszeitstempel5 5 Trip_End AnkunftsPLZ4 KMStand4 Ankunftszeitstempel5 13 Trip FahrerID1 Abfahrtszeitstempel5 AnkunftsPLZ4 KMStand4 Ankunftszeitstempel5 19

10 Fachhochschule München, Projektstudium Chipkarten SS 2002 Anhang: StatusWords StatusWords, die die Response APDU zurückschickt: SW_CAR_ALREADY_INITIALIZED: STS = (short) 0x6400; SW_EOF:STS = (short) 0x6401; SW_FEW_TRIPS_LEFT:STS = (short) 0x6402; SW_FILE_EMPTY:STS = (short) 0x6403; SW_PIN_APPLET_NOT_EXITS:STS = (short) 0x6404; SW_FAILED_TO_OBTAIN_SIO:STS = (short) 0x6405; SW_ACCESS_DENIED:STS = (short) 0x6406; SW_COMMAND_NOT_ALLOWED : STS = (short) 0x6986 ; SW_FILE_FULL :STS = (short) 0x6A84 ; SW_INS_NOT_SUPPORTED :STS = (short) 0x6D00 ; SW_CLA_NOT_SUPPORTED :STS = (short) 0x6E00 ; SW_NO_ERROR :STS = (short) 0x9000 ;

11 Fachhochschule München, Projektstudium Chipkarten SS 2002 Anhang: Commands APDU Befehle (command): INIT_CAR:INS = (byte) 0x20; READ_DATA: INS = (byte) 0x21; DELETE_DATA:INS = (byte) 0x22; READ_INIT_DATA:INS = (byte) 0x23; GET_KM:INS = (byte) 0x24; WRITE_START:INS = (byte) 0x25; WRITE_END:INS = (byte) 0x26; Class byte: BOOK_CLACLA = (byte) 0xCA; APDU

12 Fachhochschule München, Projektstudium Chipkarten SS 2002 Anhang: Variablen Längen der verschiedenen DatenStatus des Applets: AMOUNT_RECORDS : short = (short) 20; NOT_INIT : byte = (byte) 0; INIT_KM_LENGTH : short = (short) 4; INITIALIZED : byte = (byte) 1; INIT_PLZ_LENGTH : short = (short) 4; WRITE_START_STATUS : byte = (byte) 2; KM_STAND_LENGTH : short = (short) 4; WRITE_END_STATUS : byte = (byte) 3; DRIVER_ID_LENGTH : short = (short) 1; READ_INIT_STATUS : byte = (byte) 4; END_TIME_LENGTH : short = (short) 5; READ_STATUS : byte = (byte) 5; PLZ_LENGTH : short = (short) 4; DELETE_STATUS : byte = (byte) 6; START_TIME_LENGTH : short = (short) 5; TOTAL_LENGTH_DATA : short = (short) 20;Status des Users: TOTAL_LENGTH_INIT : short = (short) 9; AMINISTRATOR : byte = (byte) 0;

13 Fachhochschule München, Projektstudium Chipkarten SS 2002 Vielen Dank für Eure Aufmerksamkeit!!!


Herunterladen ppt "Fachhochschule München, Projektstudium Chipkarten SS 2002 Gruppe Fahrtenbuch Applet Projekt-Abschlußbericht Datum: 04.Juli 2002."

Ähnliche Präsentationen


Google-Anzeigen