Gastvorlesung MDSD, Januar 2014 Testen und Simulieren des Personalausweises. Holger Funke HJP Consulting



Ähnliche Dokumente
Der elektronische Personalausweis. Holger Funke HJP Consulting

Von Interoperabilitätstests bis zu MBT: Konformitätstests bei elektronischen Reisedokumenten

Tag der IT-Sicherheit 2009 Neue Sicherheitsstandards für hoheitliche Dokumente. Holger Funke, Olga Käthler HJP Consulting

Elektronische Ausweisdokumente

Christian J. Dietrich. 9. Kryptotag

PersoSim Der Open-Source-Simulator für den Personalausweis 14. Deutscher IT-Sicherheitskongress 2015

Transparenz und Datensparsamkeit von elektronischen Ausweisdokumenten in Deutschland

Technische und kryptographische Aspekte

Microtraining e-security AGETO

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Unterschrift unterwegs

Modellbasiertes Testen

IT-Arbeitskreis OWL. Testautomatisierung 2.0. Modellbasiertes Testen. Baris Güldali

Das deutsche epass-system

Sicherheitstechnische Qualifizierung (SQ), Version 9.0

Pressemitteilung. Sichere Dokumente in der Cloud - Neue Open Source Dokumenten-Verschlüsselung

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

Lessons Learned. Ein OpenID-Provider unterstützt den neuen Personalausweis. CeBIT 2011, Hannover Heise Future Talk Freitag, 4.

-Zertifikatsverwaltung

Anwendungsbeispiele Sign Live! Secure Mail Gateway

PREISLISTE TRUSTCENTER-PRODUKTE. Preisliste Version 3.8 Berlin, Januar Copyright 2016, Bundesdruckerei GmbH

Zulassung nach MID (Measurement Instruments Directive)

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Wie sicher sind eigentlich die Daten auf dem biometrischen Pass?

TeleTrusT-Informationstag "IT-Sicherheit im Smart Grid"

Umfrage Mitarbeiterkapazitäten für das BCM 2010 der bcm news Mai 2010 Ergebnisse der bcm news Umfrage Mitarbeiterkapazitäten für das BCM 2010

Smart Meter Rollout. Anforderungen SMGA inkl. ISO Wie vertrauen sich die Teilnehmer in der imsys- Infrastruktur? TR und 52 MSB-G

Ist das so mit HTTPS wirklich eine gute Lösung?

SuisseID Risiken und Haftungsfragen

NEUER AUSLÄNDERAUSWEIS IM KREDITKARTENFORMAT

Erfolgreiche ITIL Assessments mit CMMI bei führender internationaler Bank

Freie Zertifikate für Schulen und Hochschulen

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

Anforderungen an die HIS

Mail-Signierung und Verschlüsselung

Elektronische Signatur

sign-me Unterschreiben mit dem npa: schnell und einfach

Objektorientierte Programmierung

1 D -Dienste. 2 Zuständige Behörde

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Planung für Organisation und Technik

Silca Software ERKLÄRUNG. February 2013 Copyright Silca S.p.A. V.2.0

IT-Sicherheit. IT-Sicherheit. Axel Pemmann. 03. September 2007

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Seit dem 1. November 2010 gibt es einen neuen elektronischen Bundespersonalausweis mit neuen Funktionen.

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Testframework für Eckelmann SFT

Die Online Ausweisfunktion

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Grundlagen, Geschichte, Anwendung

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

Programmiertechnik II

Jörg Schilling Die Technik des elektronischen Personalausweises Fokus Fraunhofer

4. AuD Tafelübung T-C3

Gläubiger- Identifikationsnummer (CI)

Installation der SAS Foundation Software auf Windows

Endgeräteunabhängige Schlüsselmedien

AGENDA. 1 Rechtliche Rahmenbedingungen 2 Umsetzung 3 Produkte 4 Governikus Signer 5 Ausblick 6 Diskussion

Zertifikate Swiss Government SSL CA 01

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Wireless LAN (WLAN) Sicherheit

Produktskizze. 28. November 2005 Projektgruppe Syspect

DIRECTINFO 5.7 SICHERHEITSKONZEPTE FÜR BENUTZER, INFORMATIONEN UND FUNKTIONEN

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Neuer Personalausweis (npa) für beschleunigte digitale Geschäftsprozesse:

Die digitale Signatur. Einführung in die rechtlichen Grundlagen der elektronischen Signatur

Informatik für Ökonomen II HS 09

Warenwirtschaft Handbuch - Administration

Erweiterungen Webportal

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Erfahrungen aus der Implementierung einer PKI

Vorlage zur Kenntnisnahme. Stellungnahme des Senats zum Bericht des Berliner Beauftragten für Datenschutz und Informationsfreiheit für das Jahr 2009

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Kundenspezifische Preise im Shop WyRu Online-Shop

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Zusammenfassung der Vorlesung vom

Ein Leitfaden für hochschulexterne Betreuer von Bachelor- und Masterarbeiten aus Unternehmen und anderen Organisationen

Integrierte und automatisierte GUI-Tests in Java

Kartensicherheit für Händler

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Schnittstellenspezifikation: ZEUS Web Services

Tutorium Fortgeschrittene

Vergleich von RFID Systemen. EM 410x, 125kHz hitag, 125kHz mifare 13,56 MHz Legic 13,56 MHz. Allgemeine Funktionsweise:

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Der Wert von Daten. Biometrie als Zugriffsschutz. Vorteile biometrischer Systeme

Zertifizierungsprozess

17 Ein Beispiel aus der realen Welt: Google Wallet

Ihr Zeichen, Ihre Nachricht vom Unser Zeichen (Bei Antwort angeben) Durchwahl (0511) 120- Hannover NDS EU-DLR

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Gambio GX2 FAQ. Inhaltsverzeichnis

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Informationsblatt zur Umstellung von Inhaber- auf Namensaktien

Abschluss Version 1.0

Manuelles Enrollment Domain Controller Zertifikate

Inhalt. Seminar: Codes und Kryptographie

Anleitung zu GermanLegal 1.3

Transkript:

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