AACHEN Medizinische Informatik Datensicherheit, Authentifikation und Signatur bei der Durchführung von Online-Prüfungen C.Spreckelsen, K.Spitzer Institut für Med. Informatik, RWTH Aachen, Pauwelsstraße 70, 52074 Aachen. email: {cspreckelsen|spitzer}@mi.rwth-aachen.de Ziele Java Servlet Engine - Sichere Durchführung von Online-Prüfungen. HTTP Server Browser Java Virtual Machine HTTPS Sealed Object - Verbesserung der didaktischen Ausrichtung: Stärkere Gewichtung von Kompetenztests [1,2], Sealed BLOB (optional) Datenbank Verminderung reiner Wissensabfragen. - Verringerung des administrativen Aufwands von Klausuren [2]. Ansatz Schema 1: Geschützte Datenkommunikation zwischen Client und Server. Primäres Protokoll HTTPS. Zusätzlich gesicherte Applet-to-Servlet-Kommunikation ermöglicht Manipulations- und Zugriffsschutz bis hin zum Datenbankeintrag selbst. Implementiert wurde eine webbasierten Umgebung zur Durchführung von Online-Prüfungen. Das SSL-verschlüsselte Hypertext Transfer Protocol (HTTPS) wurde HTTPS Sessiondaten Sealed Object Benutzerdaten Sealed BLOB Nutzdaten dazu erweitert. Ein Testats wird zur individuellen Bearbeitung mittels Transaktionsnummern freigeschaltet. Eine Session-Protokollierung erfolgt kontinuierlich. Zur Absicherung gegen Datennetzausfälle werden die Klausurdaten redundant auf Server und Client gehalten. Eingereichte Ergebnisse werden digital signiert [2]. Implementierung Schema 2: Verschachtelter Schutz: HTTPS übernimmt die Serverauthentifizierung und transportiert eine Sessionidentifikation. Die Authentifizierung von Session und Benutzer erfolgt über Java Sealed Objects. Nutzdaten lassen sich ab Client zusätzlich verschlüsseln Studierende nutzen ein Online-Testat auf Standardbrowsern (mit Java-Plugin). Technische Basis sind Klausurdaten Erzeugung eines Key-Pairs HTML und JavaApplets. Serverseitig wird Tomcat als 1: A 2: AB 3: D 4: DE 5: ACE 6: „PMID: 15375515“ 7: „Guillain-Barre syndrome“ Http-Server und Servlet-Engine verwendet. Die Persistenzschicht nutzt eine MySQL-Datenbank mittels Public-Key Signieren des Testats Private-Key Normalisieren der Zeichenkette JDBC. Zur Implementierung der kryptographischen Funktionalität wurde die Java Cryptography Extension eingesetzt (JCE). A;AB;D;DE;ACE;‘PMID: 15375515‘;‘Guillain-Barre syndrome‘ Berechnung des Hashwerts Anwendung Die Online-Testate wurden im Querschnittsbereich 1ab024769052417cdb37a62c88635d584b481485 RIPEMD-160 Hash Epidemiologie, Biometrie und Informatik und im OK3Private-Key Verschlüsselung des Hashwerts Kurs nach alter Approbationsordnung an der medizinischen Fakultät Aachen durchgeführt. Private-Key Public-Key Teilnehmerzahl im WS 2003/04: 189 Studierende, 3930febef8b4f5feb822d39dcc8bc7cc5de080b1 Teilnehmerzahl im SS 2004: 116 Studierende Lost-Key-Signatur Löschung (überprüfbar am quelloffenen Programm) Klausurdaten 1: A 2: AB 3: D 4: DE 5: ACE 6: „PMID: 15375515“ 7: „Guillain-Barre syndrome“ Praxiserfahrung Die Online-Testate fanden in Kleingruppen statt. Die Signatur & Public Key Gruppenstärke betrug 18 Personen. Serverseitige Ausfälle: 0%. Normalisieren der Zeichenkette Netzausfall (Router des Rechenzentrums): 7% Verifizieren des Testats Fehlbedienungen: 17% Fälle (Schließen des Browsers, J;N;J;5;1;‘PMID: 15375515‘;‘Guillain-Barre syndrome‘ Versehendliches Abschalten des Rechners) -> 2. TAN Berechnung des Hashwerts Verlust an Klausurdaten: 0% Vergleich Literatur [1] Veloski JJ, Rabinowitz HK, Robeson HR, Young PR. Patients don't present with five choices: An alternative to multiple-choice tests in assessing physicians competence. Academic Medicine 1999; 74(5): 539-546. [2] Peterson MW, Gordon J, Elliott S, Kreiter C. Computer-based testing: initial report Public-Key 3089ab14aa81d6bde56875fe3f16f3e075a08a31 3089ab14aa81d6bde56875fe3f16f3e075a08a31 Entschlüsselung des Hashwerts 3930febef8b4f5feb822d39dcc8bc7cc5de080b1 of extensive use in a medical school curriculum. Teach Learn Med 2004; 16(1):51-9. [3] Gesetz über Rahmenbedingungen für elektronische Signaturen und zur Änderung weiterer Vorschriften. BGBl. I 2001; 22: 876-884. Schema 3: Quittieren und Verifizieren der Klausurergebnisse. Studierende und Prüfer nutzen zur Verifikation die selben Daten: Klausur, Signatur und (lonely) Public Key