NPA: AusweisApp
Die AusweisApp
Einleitung
Bei unserem Projektthema ging es um die Kommunikation der AusweisApp und eventuelle Sicherheitslücken. Um das Thema etwas genauer betrachten zu können, muss man erst einmal die Vorraussetzungen und die Funktionen dieser Software kennen um weitere Aussagen machen zu können.
Vorraussetzungen
Um die AusweisApp und die im späteren Verlauf noch genannten Funktionen des Personalausweises nutzen zu können wird folgende Hard- und Software benötigt:
- Kartenlesegerät, das für Karten mit kontaktloser Schnittstelle ausgelegt ist(1)
- Computer mit Internetanbindung
- Betriebssystem auf dem die AusweisApp läuft (Windows 7, Ubuntu 10.04, Mac OS)
- neuer Personalausweis
Funktionen
Mit dem neuen Personalausweis (nPA) und der neu erstelleten, bzw. noch im Aufbau befindlichen IT-Infrastruktur sollen folgende Funktionen möglich sein:
- elektronischer Identitätsnachweises zum Online-Ausweisen
- Alterverifikation
- Online-Behördengänge
- Zugang mit Pseudonym
- Zutrittskontrollen
- etc.
- elektronische Signatur von Dokumenten
Kommunikation der AusweisApp
Vorwort
Die Kommunikation der AusweisApp erfolgt in zwei Richtungen. Die erste ist die Kommunikation mit dem Lesegerät. Die zweite ist die Kommunikation mit dem Dienst und die Vermmitlung zum nPA. Uns stand zum Anfang des Seiminar ein Basislesegerät und ein nPA zur Verfügung. Im Laufe des Seminars erhielten wir dann einen Comfort-Reader und einen zweiten nPA.
Verwendete Software
Da wir die AusweisApp untersuchen brauchen wir natürlich diese. Hier gab es mehrere Versionnen, wir haben uns für die zur Zeit neuste Version 4.01 entschieden. Diese wollten wir einmal auf Windows 7 und auf Ubuntu 10.04 testen.
Für die Kommunikation mit dem Kartenlesegerät brauchten einen USB-Sniffer. Hierfür kamen folgende Programm in Frage:
- Wireshark ( unter Linux kann er USB mithören )
- Sniff USB ( nur für Windows XP )
- USBSnoop ( Windows 7 )
- USBTrace ( Windows 7, 14-Tage-Testversion, 256k Log beschränkung)
- VMWare kann wohl mit bestimmten Parametern dazu gebracht werden den USB-Verkehr in der VM mitzusniffen, dies Information bekamen wir leider erst am Ende des Seminars und damit zu spät
Für die Kommunikation zum Dienst im Internet kam Wireshark zum Einsatz, da es unter Windows, wie Linux nutzbar ist.
Da beim Testen auch viel schief gehen kann wurde das Ubuntu in einer Virtuellen Maschine unter VirtualBox installiert. Hierfür gab es schon fertige Images, so das man das Ubuntu-System nicht neu aufsetzen musste, sondern sofort loslegen kann.
Probleme
Folgende Probleme traten bei der Einrichtung bzw. bei Testen der Kommunikation auf.
- Die AusweisApp ließ sich zwar wunder bar unter Ubuntu 10.04, dank eines Debianpaketes installieren, sie ließ sich aber nicht zur Kommunikation mit