Wien, Wolfgang Bauer, Martin Centner, Clemens Orthacker Workshop zur Einführung der MOCCA Online-BKU Workshop-Einleitung
Workshop zur Einführung der Online-BKU Einleitung Bürgerkartenumgebung (BKU) Opensource-Projekt MOCCA MOCCA Online-BKU Demo MOCCA Online-BKU mocca.egovlabs.gv.at Technisches Konzept Online-BKU in Anwendungen, Beispiele, Betrieb, Konfiguration Wien, W. Bauer, M. Centner, C. Orthacker
Bürgerkartenumgebung (BKU) Konzept Bürgerkarte unabhängig von der verwendeten Karte / Software Online-Applikationen benötigen Zugriff auf Funktionen der Bürgerkarte Bürgerkartenumgebung stellt Funktionen der Bürgerkarte zur Verfügung ID SS SP Online-Applikation Bürgerkarte MOA Security-Layer
Bürgerkartenumgebung (BKU) Security Layer Signatur Erzeugen Signatur Prüfen Infobox Lesen Infobox Schreiben Daten Verschlüsseln Daten Entschlüsseln Bürgerkartenumgebung (BKU): Implementiert die Applikationsschnittstelle „Security-Layer“ Wien, W. Bauer, M. Centner, C. Orthacker Aufruf von Funktionen der Bürgerkarte durch XML-Anfragen über den Web-Browser
Bürgerkartenumgebung (BKU) Bürgerkartenumgebung bisher: läuft als lokaler Dienst und stellt die Applikationsschnittstelle Security- Layer über HTTP (bzw. auch TCP) zur Verfügung – erfordert die Installation auf dem Rechner der Bürgerin/des Bürgers Ausnahme ehem. „A1-Signatur“: lief als Serverdienst, allerdings keine qualifizierte Signatur keine aktuelle Implementierung als Opensource Wien, W. Bauer, M. Centner, C. Orthacker
Opensource-Projekt MOCCA Anfang 2008 durch EGIZ gestartet (Kooperation BKA und TU Graz) Projektziele: Basismodule für BKU-Implementierungen BKU-Implementierungen (z.B. Online-BKU, lokale BKU) Beteiligung und Weiterentwicklung durch Dritte ermöglichen Wien, W. Bauer, M. Centner, C. Orthacker
MOCCA Online-BKU Ziele Online-BKU: keine Installation von dezidierter Software wenig Ressourcen auf dem Rechner der Bürgerin/des Bürgers breite Plattformunterstützung Sicherheit MOCCA Online-BKU: läuft als Serverdienst der Zugriff auf die Chipkarte zum Erstellen einer qualifizierten Signatur erfolgt über eine kleine, im Browser ausgeführte Komponente keine Installation von dezidierter Software am Rechner der Bürgerin/des Bürgers erforderlich Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online-BKU Wien, W. Bauer, M. Centner, C. Orthacker
Demo MOCCA Online BKU … Wien, W. Bauer, M. Centner, C. Orthacker
mocca.egovlabs.gv.at Entwicklungsplattform und Distribution MOCCA Projekt: Releases, Source, Dokumentation Projektteam: dzt. EGIZ Lizenzierung MOCCA Projekt: Apache Lizenz 2.0 Bibliotheken Dritter: div. Opensource Stiftung SIC – im Rahmen des MOCCA-Projekts frei Wien, W. Bauer, M. Centner, C. Orthacker
Wien, W. Bauer, M. Centner, C. Orthacker Workshop zur Einführung der MOCCA Online-BKU Workshop Teil 1: Technisches Konzept
Workshop zur Einführung der Online-BKU Einleitung Technisches Konzept Prinzipieller Aufbau MOCCA Online-BKU Komponenten Prinzipieller Ablauf Anforderungen Online-BKU in Anwendungen Wien, W. Bauer, M. Centner, C. Orthacker
MOCCA – Prinzipieller Aufbau Wien, W. Bauer, M. Centner, C. Orthacker Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … SL-Request Smart Card Communication (SMCC) User Interface
MOCCA-Server MOCCA – Prinzipieller Aufbau Wien, W. Bauer, M. Centner, C. Orthacker Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … SL-Request Smart Card Communication (SMCC) User Interface Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding …
MOCCA – Prinzipieller Aufbau Wien, W. Bauer, M. Centner, C. Orthacker MOCCA-Server Security Token Abstraction (STAL) Smart Card Communication (SMCC) Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding …
MOCCA – Prinzipieller Aufbau Wien, W. Bauer, M. Centner, C. Orthacker STAL Webservice … standard Webservice STAL Webservice … standard Webservice MOCCA-Server... läuft in einem standard Java-Servlet-Container MOCCA-Server... läuft in einem standard Java-Servlet-Container SMCC … Java Smart Card IO (PCSC) SMCC … Java Smart Card IO (PCSC) MOCCA-Applet … signiertes Java-Applet MOCCA-Applet … signiertes Java-Applet
MOCCA – Prinzipieller Aufbau Zugriffschutz entsprechend Konvention Bürgerkarte 1.2 Signiertes Java-Applet Kommunikation mit MOCCA-Server über HTTPS Wien, W. Bauer, M. Centner, C. Orthacker
Prinzipieller Ablauf, Anforderungen Wien, W. Bauer, M. Centner, C. Orthacker
MOCCA-Server Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … MOCCA – Prinzipieller Ablauf Wien, W. Bauer, M. Centner, C. Orthacker SL - Request Browser schickt SL-Request an BKU (MOCCA-Server)
MOCCA-Server Security Token Abstraction (STAL) Smart Card Communication (SMCC) Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … MOCCA – Prinzipieller Ablauf Wien, W. Bauer, M. Centner, C. Orthacker Java Applet MOCCA-Server antwortet mit MOCCA-Applet – dieses verbindet sich mit dem Server
MOCCA-Server Security Token Abstraction (STAL) Smart Card Communication (SMCC) Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … MOCCA – Prinzipieller Ablauf Wien, W. Bauer, M. Centner, C. Orthacker Java Applet Get SL Result MOCCA-Applet verarbeitet Anfrage und veranlasst den Browser das SL-Result zu laden
MOCCA-Server Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … MOCCA – Prinzipieller Ablauf Wien, W. Bauer, M. Centner, C. Orthacker SL Result MOCCA-Server liefert SL-Result an den Browser
MOCCA – Prinzipieller Ablauf Wien, W. Bauer, M. Centner, C. Orthacker DEMO
Lokale BKU vs. Online-BKU Gegenüberstellung Ablauf Wien, W. Bauer, M. Centner, C. Orthacker Lokale BKU Online- BKU Client (Browser) Client (Browser) Client (Browser) Client (Browser) SL Request SL Response SL Request SL Response Applet
MOCCA - Anforderungen Wien, W. Bauer, M. Centner, C. Orthacker MOCCA-Server Request Processing (SL) Security Token Abstraction (STAL) Transport Binding HTTP / HTTPS Transport Binding HTTP / HTTPS Transport Binding … Transport Binding … MOCCA-Server Servlet-Container Apache Tomcat >= 6.0 JDK >= 1.6.0_04 (JAX-WS 2.1.5) Apache Xerces >= 2.9.1* ( JDK endorsed) *) nur bei aktiver XHTML-Validierung erforderlich
MOCCA - Anforderungen Wien, W. Bauer, M. Centner, C. Orthacker Security Token Abstraction (STAL) Smart Card Communication (SMCC) Client Browser mit Java-Plugin und JDK >= (Möglichkeit zur Installation direkt im Browser) Chipkartenleser mit installiertem PCSC-Treiber (für viele Chipkartenleser in Windows enthalten) Betriebssyteme Windows XP, Vista Linux Mac (dzt. noch keine Unterstützung für Java 1.6 im Browser)
?? Wien, W. Bauer, M. Centner, C. Orthacker
Wien, W. Bauer, M. Centner, C. Orthacker Workshop zur Einführung der MOCCA Online-BKU Workshop Teil 2: Online-BKU in Anwendungen
Workshop zur Einführung der Online-BKU Einleitung Technisches Konzept Online-BKU in Anwendungen Funktionsumfang der Online-BKU Unterstützte Anwendungen Integration Betrieb Sicherheitsaspekte Build, Deployment und Konfiguration Wien, W. Bauer, M. Centner, C. Orthacker
Funktionsumfang Applikationsschnittstelle Security-Layer v1.2 Erzeugen von XML-Signaturen Lesen von Infoboxen (Zertifikate und Personenbindung) Transportbindung HTTP(S) entsprechend der Spezifikation umgesetzt Zugriffschutz laut Spezifikation Anzeigeformat Text und XHTML/CSS laut Spezifikation Wien, W. Bauer, M. Centner, C. Orthacker
MOCCA & Anwendungen Unterstützung der gängigen Anwendungen im E- Government MOA-ID Anmeldung PDF-AS XML-Signaturen Demo PDF-AS ( Wien, W. Bauer, M. Centner, C. Orthacker
Unterstützte Anwendungen PDF-AS im nächsten Release MOA-ID ab Version Security Layer 1.2 Angepasste Templates Alle SL 1.2 konformen Anwendungen Wien, W. Bauer, M. Centner, C. Orthacker
Integration Wien, W. Bauer, M. Centner, C. Orthacker
Beispiele Integration Wien, W. Bauer, M. Centner, C. Orthacker
Beispiele Integration Wien, W. Bauer, M. Centner, C. Orthacker
Integration in Anwendungen Aufruf wie bei lokaler BKU Integrationsmöglichkeiten Integration in die Online-Anwendung Konventioneller Ansatz (eigene Anmeldeseite) Anpassung des „Look & Feel“ Applet: Höhe und Breite Unterschiedliche GUI Ausprägungen (advanced/simple) Applet Hintergrundbild MOCCA-Server Applet Seite Wien, W. Bauer, M. Centner, C. Orthacker
Look&Feel Beispiele Wien, W. Bauer, M. Centner, C. Orthacker Simple GUI Mit Hintergrund Advanced GUI Ohne Hintergrund Advanced GUI Mit Hintergrund
Demo-Integration Wien, W. Bauer, M. Centner, C. Orthacker Demo
Demo-Konventioneller Ansatz Wien, W. Bauer, M. Centner, C. Orthacker Demo
Betriebsmodelle Wien, W. Bauer, M. Centner, C. Orthacker
Betriebsmodelle Wien, W. Bauer, M. Centner, C. Orthacker Mehrere Online Anwendungen (bzw. MOA-ID Instanzen) nutzen eine MOCCA Online-BKU Installation
Betriebsmodelle Wien, W. Bauer, M. Centner, C. Orthacker Eine Online Anwendungen (bzw. MOA-ID Instanzen) nutzen eine MOCCA Online-BKU Installation
Sicherheitsaspekte Wien, W. Bauer, M. Centner, C. Orthacker
Chipkarte MOCCA Online-BKU Online Applikation AppletServer Sicherheitsaspekte: Qualifizierte Signatur
Chipkarte MOCCA Online-BKU Online Applikation AppletServer Aufbereitung XMLDSIG Anzeige Qualifizierte Signatur Sicherheitsaspekte: Qualifizierte Signatur
Bürgerin/Bürger Betreiber BKUOA Chipkarte MOCCA Online-BKU Online Applikation AppletServer Aufbereitung XMLDSIG Anzeige Qualifizierte Signatur Sicherheitsaspekte: Qualifizierte Signatur
Bürgerin/Bürger Betreiber BKUOA Chipkarte MOCCA Online-BKU Online Applikation AppletServer Aufbereitung XMLDSIG Anzeige Qualifizierte Signatur Sicherheitsaspekte: Qualifizierte Signatur Applet stellt sicher, dass die angezeigten Daten den tatsächlich signierten entsprechen. Integrität und Authentizität kann anhand der Applet- Signatur überprüft werden. Bürgerin/Bürger vertraut wie bisher ihrer/seiner lokalen Umgebung und der zur Verfügung gestellten Software
Bürgerin/Bürger Betreiber BKUOA Chipkarte MOCCA Online-BKU Online Applikation AppletServer PIN-Eingabe Stammzahl (Personenbindung) Sicherheitsaspekte: Stammzahl SZ Applet stellt sicher, dass die Stammzahl nur an berechtigten Server des öffentlichen Bereich übermittelt wird. Server stellt sicher, dass die Stammzahl nur an berechtigten Server des öffentlichen Bereich übermittelt wird. Bürgerin/Bürger vertraut wie bisher ihrer/seiner lokalen Umgebung und der zur Verfügung gestellten Software
Sicherheitsaspekte: Applet-Signatur VeriSign Code-Signing Zertifikat für: Zentrum fuer Sichere Informationstechnologie – Austria (A-SIT) Erster Aufruf: Wien, W. Bauer, M. Centner, C. Orthacker
Build, Deployment und Konfiguration Wien, W. Bauer, M. Centner, C. Orthacker
Build-Prozess Maven gestützter Build Prozess ( Voraussetzungen Java Maven Subversion Wien, W. Bauer, M. Centner, C. Orthacker
Build-Prozess svn checkout svn://svn.egovlabs.gv.at/svnroot/mocca/trunk mvn clean package Wien, W. Bauer, M. Centner, C. Orthacker
Deployment-Prozess Wien, W. Bauer, M. Centner, C. Orthacker Apache Tomcat 6 MOCCA Online-BKU
Konfiguration File-basierte Konfiguration Zugriffsschutz Zertifikate/Vertrauen für SSL(HTTPS) Kommunikation Validierung der Anzeigeformate Logging (Log4J) Wien, W. Bauer, M. Centner, C. Orthacker
Zusammenfassung Wien, W. Bauer, M. Centner, C. Orthacker
Zusammenfassung Workshop Online-BKU und das Projekt MOCCA Technisches Konzept der Online-BKU Anwendungen der Online-BKU Integration in Anwendungen Betrieb Build, Installation und Konfiguration Sicherheit Wien, W. Bauer, M. Centner, C. Orthacker
Zusammenfassung-MOCCA MOCCA Online-BKU Installationsfrei für den Bürger Einfache Integration in bestehende Online-Anwendungen Flexible Anpassungsmöglichkeiten (Look & Feel) Einfacher Build & Deploymentprozess Opensource Entwicklung Wien, W. Bauer, M. Centner, C. Orthacker
?? Wien, W. Bauer, M. Centner, C. Orthacker
Kaffee? Wien, W. Bauer, M. Centner, C. Orthacker