Mocca

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Sicherheit ‹ Mocca


Einleitung

Das MOCCA-Projekt ist eine Bürgerkartenumgebung welche vom E-Government Innovationszentrum (EGIZ ) der Technischen Universität Graz und des Bundeskanzleramtes entwickelt wird. Mocca steht für Modular Open Citizen Card Architecture , ist in Java geschrieben und steht seit der Version 1.3.6 unter der EUPL v1.1. Mit Hilfe dieses Programms und einer aktivierten Bürgerkarte kann der österreichische Bürger Amtswege online signieren, Online-Banking durchführen und auch PDF-Dateien signieren.

Das Projekt betreut zwei Anwendungen:

  • MOCCA Local stellt die klassische Software dar, welche sich der Benutzer auf seinem Heimrechner installiert. Dort horcht sie auf den TCP-Ports 3495 und 3496 auf Security Layer Requests. Mit Hilfe von http-Bindings können dann lokale Programme aber auch Webprogramme über den Webbrowser auf die Funktionen der Bürgerkarte zugreifen.
  • MOCCA Online läuft hingegen auf dem Server zusammen mit einer entsprechenden Webanwendung und hat über den Webbrowser die selben Anbindungen wie bei MOCCA Local. Der Zugriff auf die Bürgerkarte und auf Interaktionen des Benutzers funktionieren über ein Java Applet. Der Benutzer braucht hier nur ein funktionierendes PC/SC-Kartenlesegerät und einen Browser mit einem aktuellen (Oracle) Java-Plugin.

Installation von MOCCA Local

Diese Anleitung geht davon aus, dass das PC/SC-Kartenlesegerät bereits erfolgreich eingerichtet ist. Häufig werden aber folgende Pakete benötigt:

  • pcscd
  • (lib)ccid
  • libpcsclite

Als Besonderheit benötigt MOCCA bis inklusive wheezy zusätzlich

  • libpcsclite-dev

Java

Das unter Debian Squeeze und Wheezy vorinstallierte OpenJDK reicht leider nicht aus um MOCCA zu installieren oder zu verwenden. Dazu wird Oracles Java benötigt, welches aus Lizenzgründen nicht mehr von Debian direkt als Paket angeboten werden darf. Zur Installation beachte man die Anleitung zu Oracle Java.

OpenJRE 8 in Kombination mit icedtea-plugin unter Debian Jessie haben bisher problemlos funktioniert.

MOCCA Webstart

MOCCA Local wird über den Launch-Button der Webseite http://webstart.buergerkarte.at/mocca/ installiert. Nach erfolgreicher Installation öffnet sich im Webbrowser die Seite http://localhost:3495/de/ hier kann man das CA Zertifikat in den Webbrowser installieren. Es reicht, wenn man dem CA-Zertifikat zur Identifizierung von Websites vertraut. Sollte man mehrere Webbrowser verwenden, so kann man diese Seite im jeweiligen Browser jederzeit - bei laufendem MOCCA - aufrufen und das Zertifikat wiederum neu installieren.

Anmerkung: Wer NoScript mit aktiviertem ABE im Browser verwendet, muss http://localhost:3495/de/ selbst eingeben.

Zugriff von MOCCA auf libpcsclite unter i386 (32bit)

Folgendes Problem taucht bei Jessie mit OpenJDK nicht auf: Trotz richtig installierter libpcsclite findet MOCCA/Java die Bibliothek unter /usr/lib/libpcsclite.so.1.0.0 nicht, da diese unter /usr/lib/libpcsclite.so erwartet wird. Es existiert auch schon ein Symbolischer Link libpcsclite.so.1 -> libpcsclite.so.1.0.0 . Nun kann man einen weiteren Link auf libpcsclite.so.1.0.0 setzten oder auch auf den bereits existierenden Link libpcsclite.so.1:

root@debian:~# cd /usr/lib
root@debian:~# ln -s libpcsclite.so.1 libpcsclite.so

Zugriff von MOCCA auf libpcsclite unter AMD64 (64bit)

Folgendes Problem taucht bei Jessie mit OpenJDK nicht auf: Trotz richtig installierter libpcsclite findet MOCCA/Java die Bibliothek unter /usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0 nicht, da diese unter /usr/lib64/libpcsclite.so erwartet wird. Deswegen wird ein symbolischer Link an die von MOCCA/Java gewünschte Stelle gesetzt. Wahrscheinlich muss auch noch das Verzeichnis /usr/lib64 erzeugt werden. Es existiert unter /usr/lib/x86_64-linux-gnu auch schon ein symbolischer Link libpcsclite.so.1 -> libpcsclite.so.1.0.0 . Nun kann man einen weiteren Link auf libpcsclite.so.1.0.0 setzten oder auch auf den bereits existierenden Link libpcsclite.so.1:

root@debian:~# mkdir /usr/lib64
root@debian:~# ln -s /usr/lib/x86_64-linux-gnu/libpcsclite.so.1 /usr/lib64/libpcsclite.so

Entfernen von MOCCA Local

Sollte man MOCCA nicht mehr benötigen kann man auf der Webseite http://webstart.buergerkarte.at/mocca/ über Java Applikationsspeicher die Software wieder deinstallieren. Die dort verlinkte player.jnlp-Datei lässt sich auch lokal speichern und von dort aus aufrufen.

MOCCA Local starten

Bei der Installation wird am Desktop eine Desktop-Konfigurationsdatei erzeugt. Der Name lautet jws_app_shortcut_<Zufallsszahl>.desktop und muss nach jedem Start wieder ausführbar gemacht werden: MOCCA Local erzeugt bei jedem Start eine völlig neue Desktop-Konfigurationsdatei und löscht die alte. In der Konfiguration steht eigentlich nur eine Startanweisung ähnlich wie

/usr/lib/jvm/java-6-sun-1.6.0.22/jre/bin/javaws -localfile /home/<user>/.java/deployment/cache/6.0/11/40e3cf8b-2b9620c0

Man kann sich aber auch einen entsprechenden Starter im Panel anlegen.


PDF-Dateien signieren und überprüfen

Die in diesem Abschnitt zu findenden Informationen sind (bis jetzt) nur zusammengetragen aber noch nicht getestet worden!

Die Standards

Um PDF-Dateien zu signieren gibt es in Österreich 2 Standards. Der Eine stammt von Adobe und funktioniert nur unter Windows. Der Zweite nennt sich "Signatur gemäss PDF-AS", wird vom EGIZ spezifiziert und funktioniert auch unter Linux und MacOS.

PDF-AS kennt zwei Signaturmethoden:

  • Textuelle Signatur: Es wird nur der Text ohne Bilder oder andere eingebettete Elemente signiert. In diesem Fall ist es möglich, die Signatur auch vom Papierausdruck durch Abtippen zu überprüfen.
  • Binäre Signatur: Es wird die gesamte Datei als solches signiert, also inklusive Bildern oder anderen Elementen.

Vorteile:

  • textuelle Signatur kann vom Papierausdruck durch Abtippen des gesamten Textes überprüft werden
  • Signatur kann online erstellt und überprüft werden
  • Unterstützt ECDSA-Verschlüsselungsverfahren der e-card (Bürgerkarte)
  • Qualifizierte elektronische Signatur gemäß österreichischem Signaturgesetz (SigG)
  • Kann mit Software PDF-OVER auch mit Handy Signatur verwendet werden

Nachteile:

  • Signatur kann nicht im Adobe Reader überprüft werden sondern nur online
  • PDF-AS ist für einfach strukturierte PDF-Dokumente. Bei komplexen Dokumenten kann die Positionierung der Signatur Darstellungseinschränkungen aufweisen.


Software

Online prüfen

Unter https://www.signaturpruefung.gv.at/ kann man binär und textuell signierte PDF-Dateien auf Echtheit überprüfen.

Online signieren

Unter https://www.buergerkarte.at/pdf-as/?locale=de kann man fertige PDF-Dokumente wahlweise binär oder textuell in Deutsch oder Englisch signieren. Es steht neben MOCCA Local auch MOCCA Online zur Verfügung.


PDF-OVER

PDF-OVER ist ein eigenständiges Programm zum textuellen Signieren und funktioniert unter Windows, MacOS und Linux. Entwicklet wird die Software vom Zentrum für sichere Informationstechnologie - Austria (A-SIT), welches ein vom Finanzministerium, der Nationalbank und der Technischen Universität Graz getragener Verein ist. Das Programm steht grossteils unter der Apache Lizenz 2.0. Einzelne Bibliotheken und Module Dritter stehen unter anderen Lizenzen.

Neben einer Bürgerkartenumgebung wie MOCCA braucht man noch den Adobe Reader.

Für Linux lädt man die ZIP-Datei http://www.buergerkarte.at/download/PDF-OVER_DE.zip herunter.

Mit dem Startskript pdf-over.sh kann die Signatur erzeugt werden. Eine graphische Konfiguration wird unter Linux zur Zeit nicht angeboten. Die Parameter können direkt im Skript angegeben werden.

Aufruf: pdf-over.sh filename (zu signierende Datei, weitere Parameter können im Skript gesetzt werden)
_OVERWRITE="NEIN" ( "JA" falls PDF-Datei überschrieben werden soll)
_MY_PHONE_NR="X" ( "+...." falls der Dialog für die Handy Nummer nicht über das GUI laufen soll)
_MY_NAME="" (der Name im Signaturblock kann explizit angegeben werden - default aus Zertifikat entnommen)
_MY_LOGO="" das Logo kann explizit angegeben werden, vollständiger Pfad - default ... PDF-AS/images/myLogo.png)
_PROXY_SERVER="" Proxy Server falls dieser Parameter gesetzt
_PROXY_PORT="" Proxy Port gesetzt, falls Proxy Server vorhanden

Wird ?, -h, /h oder help angegeben, erscheint dieser Hinweis. Wird die Datei nicht gefunden, erscheint ein Auswahldialog.

OO2PDFAS

alias pdfsignature.oxt alias PDF Signatur

OO2PDFAS ist eine Erweiterung für OpenOffice.org (>2.0) mit der man im Writer das Dokument als signiertes PDF abspeichern kann. Hier kann man zwischen textueller und binärer Signatur wählen. Entwickelt wird die Software vom Zentrum für sichere Informationstechnologie - Austria (A-SIT), welches ein vom Finanzministerium, der Nationalbank und der Technischen Universität Graz getragener Verein ist. Das Programm steht grossteils unter der Apache Lizenz 2.0. Einzelne Bibliotheken und Module Dritter stehen unter anderen Lizenzen.

Man benötigt nur Openoffice.org (>2.0) und eine Bürgerkartenumgebung wie MOCCA.

Die Erweiterung kann man auf der Seite http://www.buergerkarte.at/pdf-signatur.de.php herunterladen.

Links

  • [1] Das Mocca Projekt
  • [2] Mocca auf der Opensource Plattform der EGovLabs
  • [3] Vorraussetzungen für die Java Plattform
  • [4] Deinstaller von MOCCA Local
  • [5] Support-Forum der Bürgerkarten-Seite
  • [6] Allgemeine Übersicht über Signieren mit der Bürgerkarte
  • [7] Technische Hintergrund-Informationen zum Signieren