Gastvorlesung MDSD, Januar 2014 Testen und Simulieren des Personalausweises Holger Funke HJP Consulting
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 2
Vorstellung HJP Consulting (I) Beratungsunternehmen, Sitz in Paderborn Smart Card Architekten Gegründet 2003, 15 MA Fokus: epassports Nationale ID-Systeme Border Control Standardisierung RE und RM Testen Kooperation mit s-lab -> SICP Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 3
Vorstellung HJP Consulting (II) Governments Federal Office for Information Security, MOI of Germany European Network and Information Security Agency - EU Kushite Integrated Co. Ltd. MOI of Republic of Sudan MOI of United Arabic Emirates SV Chipkartenbetriebs- und Errichtungs-GmbH, Austria Gesellschaft für Telematikanwendungen im Gesundheitswesen, Germany Fedpol, Switzerland Royal Oman Police, Sultanate of Oman OSCE Industry 3M Security Printing and Systems Ltd., UK Bundesdruckerei GmbH Germany Korea Minting & Security Printing Corporation Trüb AG, Switzerland Cryptovision, Germany Cogent Systems, China Technischer Überwachungsverein it GmbH, Germany Toshiba, Japan Vlatacom, Serbia Sagem Orga, Germany Keesing Reference Systems, Netherlands Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 4
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 5
Die ecard-strategie des Bundes Am 9. März 2005 durch das Bundeskabinett verabschiedet Ziel: Bürokratieabbau durch Bereitstellung einer einfachen und homogenen Schnittstelle -> einheitliche Nutzung der unterschiedlichen Chipkarten Bedeutende Projekte Elektronischer Reisepass (epass) Elektronische Gesundheitskarte (egk) Elektronische Steuererklärung (ELSTER) Elektronischer Einkommensnachweis (ELENA), beendet 2011 Elektronischer Personalausweis (epa oder npa) Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 6
Der elektronische Reisepass (epassport, epass) Quelle: BMI Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 7
Rahmendaten zum epassport Seit 1.11.2005: epassport 1G in Deutschland Kontaktlose Chipkarte, RF-Chip nach ISO14443 Daten: MRZ, Gesichtsbild Sicherung: Basic Access Control (BAC) Basiert auf TR-03110 V1 des BSI und Doc9303 der ICAO Seit 1.11.2007: epassport 2G in Deutschland Daten: zusätzlich Fingerabdrücke Sicherung für sensitive Daten: Extended Access Control (EAC) Verbindlich in ganz Europa Basiert auf BSI TR-03110 EAC ist mittlerweile auch von der ISO anerkannt Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 8
Gespeicherte Daten (Logical Data Structure) Data Group Contents Presence 1 Machine readable zone Mandatory 2 Encoded face (Global interchange feature) Mandatory 3 Encoded finger(s) Optional 4 Encoded eye(s), Iris Optional 5 Displayed portrait Optional 6 Displayed single-digit fingerprint Optional 7 Displayed signature Optional 8 Data features for machine assisted security feature verification Optional 9 Structure features for machine assisted security feature verification Optional 10 Substance features for machine assisted security feature verification Optional 11 Additional personal details Optional 12 Additional document details Optional 13 Optional details Optional 14 Chip authentication public key info (for extended access control) Optional 15 Active authentication public key info Optional 16 Persons to notify Optional Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 9
Einsatz des epassports an der Grenzkontrolle Quelle: blog.protocolbench.org Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 10
Datenzugriff über BAC Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 11
Sicherheitsziele beim epassport Authentizität Nachprüfbarkeit der Datenherkunft Integrität Unveränderlichkeit der Daten Echtheit Vertraulichkeit Schutz vor Tracking Schutz der personenbezogenen Daten vom unerlaubten Zugriff less-sensitive Data» Foto, Geburtsdatum, Staat, Geschlecht, Ablaufdatum, etc. sensitive Data» Fingerabdruck, Iris Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 12
Sicherheitsverfahren beim epassport Passive Authentication Active Authentication Basic Access Control Extended Access Control Im Jahr 2014: Supplemental Access Control Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 13
Passive Authentication (PA) Ziel: Erschweren von Fälschungen Maßnahme: Authentifizierung der gespeicherten Daten nötig Vorgehen: Erstellen einer Signatur über die gespeicherten Daten bereits bei der Personalisierung (Herstellung) ICAO Public Key Directory (PKD) zum Austausch PA hilft gegen das Fälschen von Daten Nicht gegen Kopieren! Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 14
Active Authentication (AA) Ziel: Kopieren / Klonen eines Passes verhindern Idee: Pass besitzt Schlüsselpaar aus privatem und öffentlichem Schlüssel Öffentlicher Schlüssel ist mit PA gesichert, privater im sicheren Speicherbereich des Chips Challenge Response Verfahren: Lesegerät generiert Zufallszahl, Chip signiert diese und schickt sie zurück zum Lesegerät: bei Übereinstimmung okay Problem: Tracking Nur in wenigen Ländern implementiert, nicht in D Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 15
Basic Access Control (I) Ziel: Schutz vor unbefugtem Auslesen der elektronischen Daten Idee: Generieren des Schlüsselmaterials aus Informationen der MRZ, d.h. Öffnen des Passes notwendig MRZ enthält: Art des Dokuments Ausstellungsland, -datum Name des Inhabers, Geburtsdatum Gültigkeitsdatum Dokumentennummer Geschlecht Nationalität Schlüsselmaterial Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 16
Basic Access Control (II) Problem: Kleiner Schlüsselraum Dokumentennummer zu Anfang numerisch, seit 2007 alphanumerisch, teilweise aufsteigende Nummerierung! Geburtsdatum leicht einzuschränken Gültigkeitsdatum einzuschränken über fixe Laufzeit von 10 Jahren Sicherheit liegt effektiv nur bei 30 bis 40 Bits Schutz gegen Angriffe: Aktiver Angriff: Direkter Zugriff auf epassport Passiver Angriff: Kommunikation wird aufgezeichnet und im Nachhinein analysiert --> Maßnahme: Schlüsselraum vergrößern Zufällige Nummerierung der Dokumentennummer Alphanumerische Zeichen Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 17
Extended Access Control V1 BAC als Basisschutz für Nutzerdaten und Gesichtsbild Sensitive Daten wie Fingerabdruck oder Iris müssen besser geschützt werden! Verfahren: Extended Access Control EU-getrieben, kein ICAO-Standard Protokolle: BAC + Chip Authentication + Terminal Authentication Gegenseitige Authentifizierung Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 18
Chip Authentication und Terminal Authentication Chip Authentication (CA) Implizite Authentifizierung des Passes mit statischem Diffie- Hellmann-Wert Öffentlicher Statischer DH-Key mit PA geschützt Einsatz des DH-Verfahrens zur Ableitung eines gemeinsamen Schlüssels Weitere Kommunikation wird mit diesem Schlüssel gesichert Terminal Authentication (TA) Authentifizierung des Leseterminals mit Zertifikat Zertifikat bestimmt die Leseberechtigungen (z.b. Fingerabdruck, Iris) Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 19
Extended Access Control V1: Command Flow Quelle: TR-03110 Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 20
Extended Access Control V1: PKI Quelle: TR-03110 Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 21
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 22
Optik und Funktionsübersicht epa Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 23
Vorder- und Rückseite des epa Quelle: BMI Informationen unter http://www.personalausweisportal.de Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 24
Rahmendaten epa Eingeführt am 1. November 2010 Im Nov. 2013 waren ca. 21 Millionen Bürger mit epa ausgestattet Fortgeschrittene Sicherheitsverfahren gegenüber epassport: PACE und EAC V2 Entwickelt vom BSI: TR-03110 V2 Online-Authentifizierung Digitale Signaturen Zahlreiche optische Sicherheitsmerkmale, um Fälschungssicherheit zu erhöhen Taktile, Guillochen, 3D-Effekte, Micro-Schriften usw. Seit Ende 2011: elektronischer Aufenthaltstitel (eat) Nov. 2013: 2,2 Millionen Bürger mit eat ausgestattet Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 25
Gespeicherte Daten epa Name, Künstlername/Ordensname, Akademischer Titel Geburtsdatum und -ort Ausgebende Behörde, Dokumententyp Gültigkeitsdatum Adresse (Wohnort, Straße, PLZ) Nationalität Geschlecht Community ID Gesichtsbild, Fingerabdrücke (optional) -> nicht für eid! eat: Daten zum Wohnort und Berechtigungen Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 26
Funktionen des epa epass-applikation Enthält Daten der MRZ Enthält biometrischen Daten, Fingerabdrücke freiwillig Zugriff nur durch hoheitliche Kontrollbehörden eid-applikation Authentisierungsfunktion Zugriff auf personen- und dokumentenbezogene Daten Name, Anschrift, Akademischer Titel Geburtsdatum, Geburtsort, Geschlecht usw. ebusiness / egovernment esign-applikation (optional) Qualifizierte Elektronische Signatur (QES) ebusiness / egovernment Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 27
Beispiel: Kontoeröffnung mit dem epa Schritt ID-Nachweis Bank ID-Nachweis Kunde Vertrags- Vorbereitung Abschluss des Vertrags Klassische Kontoeröffnung Der Kunde betritt die Geschäftsräume einer Bank Der Personalausweis des Kunden wird vom Bankangestellten geprüft Kunde und Angestellter handeln Vertragsbedingungen aus und übernehmen Daten Kunde und Angestellter unterschreiben den Vertrag Online Kontoeröffnung Bank legt Berechtigungszertifikat vor, das vom epa geprüft wird epa sendet ausgewählte eid- Daten des Inhabers Kunde wählt im geführten Dialog die Vertragsinhalte und AGBs und füllt im Browser zusätzliche Sachdaten aus Mit der QES des epa und der QES des Bankangestellten wird der Vertrag signiert Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 28
Prinzip der gegenseitigen Authentifizierung Quelle: Bernd Kowalski, BSI Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 29
Derzeitige verfügbare Online-Dienste Vor der Einführung 2010 Feldtest mit >100 Teilnehmern Air Berlin, Allianz, HUK24, Schufa, T-Systems, Lotto Hessen, Wincor Nixdorf, VRR, uvm. Heute (ca. 150 Angebote, Stand Nov. 2013): Verwaltung, z.b. verschiedene Städte (Hagen) Internet-Dienste, z.b. DATEV, online-petition Versicherungen, z.b. Allianz Shops, z.b. Reiner SCT Vollständige Liste: www.ccepa.de www.personalausweisportal.de Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 30
Online Ausweisen mit dem epa Quelle: http://www.personalausweisportal.de Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 31
Einschränkung der übermittelten Daten Quelle: AusweisApp Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 32
Password Authenticated Connection Establishment Nachfolger für BAC BAC: symmetrische Kryptographie, PACE: asymmetrische Mögliche Passwörter: MRZ, CAN, PIN Entwickelt vom BSI speziell für den epa (TR-03110) Authentifizierung durch gemeinsames Geheimnis zwischen Ausweis und Leseterminal Grundlage: Diffie-Hellman Protokoll Seit 2010 in epa, ab 2014 als SAC im epa Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 33
PACE K p : aus gemeinsamen Geheimnis abgeleiteter Schlüssel Wahl einer Zufallszahl s Statische DH-Parameter: Modulus und Generator Dynamischer DH-Parameter: Ableitung eines neuen Generators aus statischem Generator Entschlüsselung von s Ableitung dynamischer DH-Parameter aus statischen Parametern und s Berechnung eines gemeinsamen Schlüssels K nach DH Sicherheitsbeweis: BSI + TU Darmstadt Ableitung der Schlüssel für Verschlüsselung und Authentifizierung aus K Quelle: C. Sorge Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 34
EAC V2: TA und CA Terminal Authentication V2 Dient zur Autorisierung der Lesegeräte bzw. des Diensteanbieters Im Gegensatz zum epassport: a priori: keine vertrauenswürdigen Gegenstellen Deshalb: alle Daten des epa werden geschützt Basiert wiederum auf Zertifikatsstruktur Lese-/Schreibrechte können granular vergeben werden Chip Authentication V2 Nachweis eines echten Chips (kein Klon, keine Fälschung) Basiert wiederum auf DH-Protokoll Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 35
Public Key Infrastrucure Quelle: http://www.personalausweisportal.de Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 36
Sonderfunktionen des epa Restricted Identification Bereichsspezifischer Identifikator mit dem der Nutzer wiedererkannt werden kann, Pseudonymfunktion z.b. Key in einer Datenbank für Online-Shop Auch ohne Kenntnis der realen Identität des Nutzers möglich Tracking über verschiedene Bereiche nicht möglich Altersverifikation Prüfung, ob Nutzer ein Mindestalter erreicht hat Keine Preisgabe des genauen Geburtsdatums Wohnortnachweis Community-ID enthält den Gemeindeschlüssel Wohnortverifikation analog zur Altersverifikation Grundsätzliches Prinzip: Datensparsamkeit! Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 37
Signaturfunktion des epa Elektronisches Äquivalent zur handschriftlichen Unterschrift Juristische Beweiskraft Bisher kaum Verbreitung in der Praxis Henne-Ei-Problem Hohe Kosten für Zertifikate und Karten Jetzt: epa mit esign: Kosten für zusätzliche Karte entfallen Henne-Ei-Problem abgeschwächt Zertifizierungsdiensteanbieter liefert Zertifikat Lesegerät muss Sichere Signatur-Erstellungseinheit (SSEE) anbieten (Komfortleser) Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 38
Charakteristik eines Chipkartentests Blackbox-Testing Unterschiedliche Sicherheitsprotokolle Vergleichbar mit Client/Server-Architektur Offenes System mit zahlreichen Lieferanten Kein GUI, sondern API C-APDU R-APDU Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 39
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 40
Ist-Zustand der Testfallentwicklung Aufwand Erfahrungsabhängigkeit Best Practice des Autors Inkonsistenzen Fehleranfälligkeit Ungenauigkeit Natürliche Sprache Interpretationsspielraum Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 41
Probleme der bisherigen Vorgehensweise Spezifikationen Semi-Formal, aber natürliche Sprache Inkonsistenzen zwischen einzelnen Dokumenten Anforderungen müssen manuell extrahiert werden Test-Spezifikationen Testen nur gegen konkrete Parameter Umfang der Testfälle nimmt mit jeder Generation zu Abhängigkeiten der Testfälle untereinander Handling der eigentlichen Dokumente Verfügbarkeit von Mustern Langwieriger Prozess um Chips zu produzieren Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 42
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Modellierung Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 43
Kern-Expertise des Konsortiums TR/Testen (HJP) Sicherheit/TR (TÜViT) MBT (s-lab) Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 44
Umsetzung des Projekts MOTEMRI Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 45
Sichten und Bewerten geeigneter Modelle / Sprachen Anforderungen an die Modellierungssprache: Funktionale Anforderungen: Beschreibung auf hoher Abstraktionsebene und detailliert auf Protokoll- / Kommunikationsebene Erkennen von logischen Widersprüchen (Konsistenzprüfung) Inhalt muss automatisiert interpretiert werden Security-Modellierung: Keys, Protokolle, ECC, AES, Nicht-funktionale Anforderungen: breite, herstellerunabhängige Unterstützung von Werkzeugen Austauschformat der Modelle muss beachtet werden Verfügbarkeit von Code-Generatoren Patentfreiheit / Lizenzen Offenheit von Standards Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 46
Sichten und Bewerten geeigneter Modelle / Sprachen (2) Potentielle Modellierungssprachen: UML (+ UML Sec) Zustandsautomaten Aktivitätsdiagramm Object Constraint Language (OCL) als Erweiterung für UML Petri-Netze Domain Specific Languages (DSL) und natürlich Kombinationen von verschiedenen Sprachen Unterscheidung zwischen Systemmodell / Testmodell Die Wahl der Sprache hängt von den Anforderungen aus anderen Arbeitspaketen ab! Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 47
Implementierung des Modells Geeigneter Teilaspekt der TR-03110: PACE Vorteile: Zwei Protokollteilnehmer: Terminal und Karte Verschiedene Zustände werden durchlaufen Wie kann man sicherstellen, dass das Modell verständlich ist? Das Modell muss normativ sein Angemessene Dokumentation des Modells muss bereitgestellt werden Doing: Iterative Vorgehensweise Enge Abstimmung mit BSI Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 48
Referenzimplementierung (Simulation) Referenzimplementierung soll modellbasiert stattfinden Basis: Comprion CLT + bestehender Simulator Modell als Basis für Referenzimplementierung und Testfälle -> keine gegenseitige Prüfung möglich! Fehler im Modell einstreuen, um die die Korrektheit der Testfälle zu prüfen (Mutationstest) Wichtig: Fehlerzustände (Statuswörter) ebenfalls im Modell aufnehmen Es darf nur genau das passieren, was spezifiziert ist Es muss genau das passieren, was spezifiziert ist Modelchecking: vollständig, widerspruchsfrei, konsistent Überprüfung der Referenzimplementierung durch TÜViT Test der Referenzimplementierung gegen GlobalTester Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 49
Exkurs: Architektur GlobalTester Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 50
Werkzeug zur Testfall-Generierung Wie wird ein Testfall abgeleitet? Testarten müssen definiert werden: Funktionstests, Lasttests, Sicherheitstests, usw. Testabdeckungsverfahren definieren Kantenabdeckung, Knotenabdeckung in State Machine Nachverfolgbarkeit muss gewährleistet sein Testfälle werden im XML-Format der TR-03105 erstellt Direkte Ausführung im GlobalTester Anpassung des XML-Schemas der TR-03105 nötig Werkzeug für Testfallgenerator ergibt sich aus Modell Verbindung zwischen Werkzeugen beachten XMI auf Datenebene Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 51
Werkzeug zur Testfall-Generierung (2) Textanalyse Anforderungen Modellextraktion Modellierung Spezifikation Testmanagement Testfallgenerator Testdatengenerator Testmodell Modelltransformatoren Reverse Engineering Kriterien zur Testauswahl Testfälle SUT Testtreiber Testadapter Testergebnisse Metrikenwerkzeug [Pretschner, A., Philips, J.: Methodological Issues in Model-Based Testing. 2005] Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 52
Sicherheit als Querschnittsthema Die Anforderungen, die durch das Modell abgebildet werden sollen, gehen über eine rein funktionale Betrachtung hinaus Teilaspekte der Spezifikation sind sicherheitsrelevant Daher werden die Arbeitspakete aus sicherheitstechnischer Sicht begleitet Steuerung der Testabdeckung zur Fokussierung von sicherheitsrelevanten Fragen Beispiel: kryptographische Sicht auf das Modell Wichtigkeit des Retry Counters innerhalb des Protokolls Überprüfung des Modells aus Sicherheits-Sicht Sicherheitstechnische Fragen sollen die Projektphasen begleiten und ergänzen; die primäre Ausrichtung bezieht sich aber auf die Interoperabilität Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 53
Geplante Testfallentwicklung mit MOTEMRI Aufwand Erfahrungsabhängigkeit Modell / MBT Best Practice Inkonsistenzen Modell Checking Fehleranfälligkeit Natürliche Modell Sprache Interpretationsspielraum Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 54
Entscheidung für Werkzeuge / Modellierungssprache Modellierungssprache: UML Ausreichende Formalität (OCL, UMLSec) Machinenlesbarkeit Umfangreiche Tools, große Verbreitung Modellierungswerkzeug: Enterprise Architect Große Verbreitung AddIn-Mechanismus (Java-API) -> FAIL (Eigener Code-Generator (auch für Java)) -> FAIL Simulator: Applet mit JavaCard Einfache Lesbarkeit von Java Verwendung von existierendem Source Code Tests: GlobalTester Existiert seit 2005, XML-Schema bereits umgesetzt ACTS für Variabilität Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 55
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Modellierung Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 56
Modellierung Instanzen Ablauf 1) 2) 3) 4) 5) 6) Daten Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 57
act Activity ActivityInitial Action1 (TestDriver::setAT ) Action3 (TestDriver::assert) [statuscode!= 9000] statuscode == 9000 ActivityFinal Action5 (TestDriver::generatePWDKEY) Action2 (TestDriver::getNonce) Action6 (TestDriver::assertSyntax) Action7 (TestDriver::assertLength) Action8 (TestDriver::assert) Action11 (TestDriver::decryptNonce) Action9 (TestDriver::constructMappingData) Action10 (TestDriver::mapNonce) Action12 (TestDriver::assertSyntax) Action13 (TestDriver::assert) Action14 (TestDriver::deriveEphPK) Action15 (TestDriver::PKA) Action16 (T estdriver::assertsyntax) Action17 (TestDriver::assert) Action18 (TestDriver::deriveSessionKeys) Action19 (TestDriver::constructAuthT oken) Action20 (TestDriver::mutualAuthenticate) Action21 (TestDriver::assertSyntax) Action22 (T estdriver::assertcontent) Action23 (TestDriver::assert) Modellierung Verhalten Ablauf Instanzen class PACE Ablauf PACE TestDriv er Card + Card() + checkchat() :void + checkoid() :void + checkparameter() :void + checkpwd() :void + checksyntax() :void + finalize() :void + getnonce() :R-APDU + mapnonce(mappingdata) :void + mutualauthenticate(authenticationtoken) :void + PKA(EphemeralPublicKey) :void + return() :void + setat(oid, PWD, DP) :R-APDU + assert(statuscode, StatusCode) :void + assertcontent(authenticationtoken) :void + assertcontent(r-apdu) :void + assertlength(nonce) :void + assertsyntac(authenticationtoken) :void + assertsyntax(nonce) :void + assertsyntax(mappingdata) :void + assertsyntax(ephemeralpublickey) :void + assertsyntax(r-apdu) :void + constructauthtoken(oid, EphemeralPublicKey) :AuthenticationToken + deriveephpk() :EphemeralPublicKey + derivesessionkeys() :void + finalize() :void + generatepwdkey() :KEY + getnonce() :void + mapnonce() :void + mutualauthenticate() :void + PKA() :void + setat() :void + TestDriver() Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 58
Modellierung Daten Daten class DataModel StatusCode R-APDU «abstract» APDU «abstract» C-APDU SetAT getnonce mapnonce PKA mutauth SM OID PWD DP CHAT Nonce MappingData PublicKey AuthenticationToken - coordinatex :int - coordinatey :int - size :int SharedSecret PCDpriv at PICCprivate MappingGenerator PCDpublic PICCpublic Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 59
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Modellierung Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 60
ISO/OSI-Modell Chipkarten Quelle: blog.protocolbench.org Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 61
Simulator Protocol 1 ProtocolProcessor CardModel Protocol 2 CommandHandler SecureMessaging IOManager Karte z.b. epa Protocol n Protokoll ISO7816 TR-03110 Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 62
Beispiel Code-Generierung Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 63
Werkzeugkette für die Referenzimplementierung EA Modellerstellung Protokollmodell Sinelabore Codegenerierung Kartenmodell Eclipse Simulation Java-Code Software-Werkzeug Arbeitsschritt Erzeugtes/Verwendetes Artefakt Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 64
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Modellierung Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 65
UML-Modelle: Aktivitätsdiagramme für Protokolle Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 66
UML-Modelle: Klassendiagramm für Datenstrukturen Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 67
Klassifikationsbaummethode ICS Daten TR Daten Sicherheitsrelevante Daten Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 68
Werkzeugkette für Testfallgenerator EA Protokollmodelle Pre/Post- Modelle Modellerstellung EA-Addin Konfiguration Datenstrukturen Generator- Bericht Testfallgenerierung EA-Addin Testfälle ACTS Testdaten Testskriptgenerierung EA-Addin Testskripte Testdatengenerierung f(x) Testausführung Testauswertung GT Testbericht Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 69
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Motivation Vorgehensweise Modellierung Generierung Simulator Generierung Testfälle Ergebnisse Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 70
Ergebnis: Neuer Testprozess Testbasis: Modelle nach TR-03110, ISO7816,... Testentwurf: automatisiert, Konfiguration manuell Testfälle: Positive/Negative je nach Eingabegröße, Schleifen, Zugriffsrechte Testdaten: ICS, erfahrungsbasiert, werden automatisiert kombiniert Testabdeckung: messbar Varianz: hoch, konfigurierbar Testimplementierung: automatisiert Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 71
Erfüllung der ursprünglichen Anforderungen Abstraktion Formale Semantik (~) Herstellerunabhängig () Erweiterbarkeit Konfigurierbarkeit Konsistenzprüfung (~) Code-Generierung Abbildung von Konzepten Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 72
Agenda Vorstellung HJP Consulting Grundlagen: epassport und epa Das Projekt MOTEMRI Zusammenfassung / Ausblick Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 73
Zusammenfassung und Ausblick Zusammenfassung Modellbasierter Ansatz erfolgreich Formale Beschreibung der Protokolle Simulator: eine Interpretation von vielen möglichen Model-Checking zusätzliches Folge-Projekt Ausblick Modellierung von Chipkartenprotokollen Prototyp -> Produkt MBT-Werkzeug für Entwicklung von Protokolltests Projekt: PersoSim Simulation eines Personalausweises als Open Source Projekt www.persosim.de Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide74
Fragen? HJP Consulting GmbH Holger Funke Hauptstraße 35 33178 Borchen, Germany tel: +49 5251 41 77 633 fax: +49 5251 41 77 666 e-mail: holger.funke@hjp-consulting.com web: www.hjp-consulting.com www.globaltester.org Vorlesung MDSD: Simulieren und Testen des Personalausweises, Holger Funke, HJP Consulting Slide 75