- Konfiguration von MOA ID v.1.1
-
- Konfiguration von MOA ID v.1.1
- Die Konfiguration von MOA ID wird mittels einer XML-basierten
- Konfigurationsdatei, die dem Schema MOA-ID-Configuration-1.1.xsd
- entspricht, durchgeführt.
- Der Ort der Konfigurationsdatei wird im Abschnitt Deployment
- der Web-Applikation in Tomcat beschrieben.
- Die folgenden Abschnitte erläutern das Format der Konfigurationsdatei.
- MOA-ID-Configuration.xml
- zeigt ein Beispiel für eine umfassende Konfigurationsdatei.
- Enthält die Konfigurationsdatei relative Pfadangaben, werden
- diese relativ zum Verzeichnis, in dem sich die MOA-ID Konfigurationsdatei
- befindet, interpretiert.
-
-
- ConnectionParameter
- Das Element ConnectionParameter enthält Parameter,
- die MOA-ID für den Aufbau von Verbindungen zu anderen Komponenten
- benötigt. Dieses Element tritt mehrfach in der Konfigurationsdatei
- auf und wird daher vorab detailliert beschrieben.
-
- Das Attribut URL enthält die URL der Komponente zu
- der die Verbindung aufgebaut werden soll. Wird das Schema https
- verwendet, können die Kind-Elemente AcceptedServerCertificates
- und ClientKeyStore angegeben werden. Wird das Schema http
- verwendet müssen keine Kind-Elemente angegeben werden bzw.
- werden diese nicht ausgewertet. Andere Schemas werden nicht unterstützt.
-
-
- Wird die Verbindung über TLS aufgebaut und erfordert der TLS-Server
- eine Client-Authentisierung mittels Zertifikate, dann muss das Kind-Element
- ClientKeyStore spezifiziert werden. Im Element ClientKeyStore
- wird der Filename des PKCS#12-Keys (relativ zur MOA-ID Konfigurationsdatei)
- angegeben. Diesem Keystore wird der private Schlüssel für
- die TLS-Client-Authentisierung entnommen. Das Passwort zum Lesen
- des privaten Schlüssels wird im Attribut ClientKeyStore/@password
- konfiguriert.
- Aufgrund der Tatsache, dass starke Verschlüsselung eine Voraussetzung
- für MOA-ID darstellt, werden clientseitig nur die folgenden
- Cipher Suites unterstützt:
-
- - SSL_RSA_WITH_RC4_128_SHA
- - SSL_RSA_WITH_RC4_128_MD5
- - SSL_RSA_WITH_3DES_EDE_CBC_SHA
-
- Im Kind-Element AcceptedServerCertificates kann ein Verzeichnisname
- (relativ zur MOA-ID Konfigurationsdatei) angegeben werden, in dem
- die akzeptierten Zertifikate der TLS-Verbindung hinterlegt sind. In
- diesem Verzeichnis werden nur Serverzertifikate abgelegt. Fehlt dieser
- Parameter wird lediglich überprüft ob ein Zertifikatspfad
- zu den im Element <TrustedCACertificates> angegebenen
- Zertifikaten erstellt werden kann. Falls dies nicht möglich ist,
- kommt es zu einem Fehlerfall.
-
-
- AuthComponent
- AuthComponent enthält Parameter, die nur die MOA-ID
- Authentisierungskomponente betreffen. Das Element ist optional
- und muss nicht verwendet werden, wenn auf dem Server keine MOA-ID
- Authentisierungskomponente installiert wird.
-
- Das Element AuthComponent hat vier Kind-Element:
-
- - BKUSelection (optional)
- - SecurityLayer
- - MOA-SP
- - IdentityLinkSigners
-
-
-
- AuthComponent/BKUSelection
- Das optionale Element BKUSelection enthält Parameter
- zur Nutzung eines Auswahldienstes für eine Bürgerkartenumgebung
- (BKU). Wird das Element nicht angegeben, dann wird die lokale
- Bürgerkartenumgebung auf http://localhost:3495/http-security-layer-request
- verwendet.
-
- Das Attribut BKUSelectionAlternative gibt an welche
- Alternative zur BKU-Auswahl verwendet werden soll. MOA-ID unterstützt
- die Werte HTMLComplete (vollständige HTML-Auswahl)
- und HTMLSelect (HTML-Code für Auswahl) ["Auswahl
- von Bürgerkartenumge-bungen", Arno Hollosi].
-
- Das Kind-Element ConnectionParameter spezifiziert die
- Verbindung zum Auswahldienst (siehe ConnectionParameter),
- jedoch kann das Kind-Element ClientKeyStore nicht angegeben
- werden.
-
- AuthComponent/SecurityLayer
- Das Element SecurityLayer enthält Parameter
- zur Nutzung des Security-Layers.
-
- Das Kind-Element TransformsInfo spezifiziert eine
- Transformation, die für die Erstellung der Signatur des
- AUTH-Blocks als Parameter in den CreateXMLSignatureRequest
- des Security-Layers integriert werden muss. Mehrere unterschiedliche
- Implementierungen des Security-Layer können durch die
- Angabe mehrerer TransformsInfo-Elemente unterstützt
- werden.
-
- Das Attribut TransformsInfo/@filename verweist auf
- eine Datei, die das globale Element TransformsInfo
- vom Typ TransformsInfo enthält. Die Angabe erfolgt
- relativ zur MOA-ID Konfigurationsdatei. Das Encoding dieser
- Datei muss (anders als im Beispiel) UTF-8 sein.
-
- Beispiel für
- eine TransformsInfo-Datei
-
- AuthComponent/MOA-SP
- Das Element MOA-SP enthält Parameter zur Nutzung
- von MOA-SP. MOA-SP wird für die überprüfung
- der Signatur der Personenbindung und des AUTH-Blocks verwendet.
-
-
- Wird das Kind-Element ConnectionParameter angegeben,
- dann wird MOA-SP über das Webservice angesprochen.
- Wird das Kind-Element ConnectionParameter
- nicht angegeben so wird eine MOA-ID beiligende Version von
- MOA-SP direkt über das Java-API angesprochen. In diesem
- Fall muss das System-Property auf die verwendete Konfigurationsdatei
- von MOA-SP gesetzt werden. Eine beispielhafte MOA-SP Konfigurationsdatei
- ist in $MOA_ID_INST_AUTH/conf/moa-spss/SampleMOASPSSConfiguration.xml
- enthalten.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hinweis: MOA-SP muss entsprechend konfiguriert
- werden - siehe hierzu Abschnitt Konfiguration
- von MOA-SP. Alle Details zur Konfiguration von MOA-SP
- finden sie in der Distribution von MOA-SP/SS beiligenden
- Dokumentation im Abschnitt 'Konfiguration'.
-
- Das Kind-Element VerifyIdentityLink/TrustProfileID
- spezifiziert eine TrustProfileID, die für den VerifyXMLSignatureRequest
- zur Überprüfung der Signatur der Personenbindung
- verwendet werden muss. Diese TrustProfileID muss beim
- verwendeten MOA-SP Modul konfiguriert sein.
-
- Die Kind-Elemente VerifyAuthBlock/TrustProfileID
- und VerifyAuthBlock/VerifyTransformsInfoProfileID
- spezifizieren eine TrustProfileID und eine ID für
- ein Transformationsprofil, die für den VerifyXMLSignatureRequest
- zur überprüfung der Signatur des Auth-Blocks
- verwendet werden müssen. Diese TrustProfileID muss
- beim verwendeten MOA-SP Modul konfiguriert sein.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AuthComponent/IdentityLinkSigners
-
- Dieses Element gibt an von welchen Signatoren die Signatur
- des IdentityLink erstellt werden musste damit der IdentityLink
- akzeptiert wird. Für jeden Signator muss der X509SubjectName
- nach RFC 2253 spezifiziert werden.
-
- Beispiel
-
-
-
-
- ProxyComponent
- ProxyComponent enthält Parameter, die
- nur die MOA-ID Proxykomponente betreffen. Das Element
- ist optional und muss nicht verwendet werden, wenn auf
- dem Server keine MOA-ID Proxykomponente installiert
- wird.
-
- Das Element ProxyComponent hat nur das Kind-Element
- AuthComponent, das die Verbindung zur Authentisierungs-komponente
- beschreibt.
-
- Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente
- über ein Webservice auf, dann muss das Element
- ConnectionParameter spezifiziert werden.
-
- Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente
- über das API auf, dann wird das Element ConnectionParameter
- nicht spezifiziert.
-
- OnlineApplication
- Für jede Online-Applikation, die über MOA-ID
- authentisiert wird, gibt es ein Element OnlineApplication.
- Die Parameter betreffen teils die MOA-ID Authentisierungskomponente,
- teils die MOA-ID Proxykomponente, teils beide.
-
- Das Attribut OnlineApplication/@publicURLPrefix
- entspricht dem URL-Präfix der nach außen
- sichtbaren Domäne der Online-Applikation, welcher
- von der MOA-ID Proxykomponente durch den URL-Präfix
- der wirklichen Domäne (Attribut OnlineApplication/ProxyComponent/ConnectionParameter/@URL)
- ersetzt wird. Es dient als Schlüssel zum Auffinden
- der Konfigurationsparameter zur Online-Applikation.
-
-
- Das Element OnlineApplication hat optional
- zwei Kind-Elemente: AuthComponent und ProxyComponent.
-
-
- OnlineApplication/AuthComponent
-
- Das Element OnlineApplication/AuthComponent
- muss verwendet werden wenn auf dem Server die Authentisierungskomponente
- installiert wird. Es enthält Parameter, die
- das Verhalten der Authentisierungskomponente bezüglich
- der Online-Applikation konfiguriert.
-
- Das Attribut provideZMRZahl bestimmt, ob
- die ZMR-Zahl in den Anmeldedaten aufscheint. Analog
- steuern die Attribute provideAUTHBlock
- und provideIdentityLink, ob die Anmeldedaten
- den Auth-Block bzw. die Personenbindung enthalten.
- Alle Attribute sind optional und haben den Default-Wert
- false.
-
-
-
- OnlineApplication/ProxyComponent
-
- Das Element OnlineApplication/ProxyComponent
- muss verwendet werden wenn auf dem Server die
- Proxykomponente installiert wird.
-
- Das optionale Attribut configFileURL
- verweist auf eine Konfigurationsdatei die dem
- Schema MOA-ID-Configuration-1.1.xsd
- entspricht mit Dokument-Element Configuration.
- Die Angabe erfolgt relativ zur verwendeten MOA-ID
- Konfigurationsdatei. Beispiel für das Element
- configFileURL: "oa/SampleOAConfiguration.xml".
- Defaultmäßig wird versucht die Datei
- von der betreffenden OnlineApplikation unter dem
- Wert: http://<realURLPrefix>/MOAConfig.xml
- zu laden.
- (<realURLPrefix> entspricht dem
- Wert von OnlineApplication/ProxyComponent/ConnectionParameter/@URL)
-
-
- Das optionale Attribut sessionTimeOut
- legt das Timeout einer Benutzersession in der
- Proxykomponente in Sekunden fest.
- Default-Wert: 3600
-
- Im optionalen Attribut loginParameterResolverImpl
- kann der Klassenname eines zu verwendenden LoginParameterResolver
- angegeben werden, welcher die Defaultimplementierung
- ersetzt.
-
- Im optionelen Attribut loginParameterResolverConfiguration
- kann ein Configurationsstring für die
- Initialisierung der betreffenden loginParameterResolverImpl
- angegeben werden.
-
- Im optionalen Attribut connectionBuilderImpl
- kann der Klassenname eines zu verwendenden ConnectionBuilder
- angegeben werden, welcher die Defaultimplementierung
- ersetzt.
-
- Im Kind-Element ConnectionParameter ist
- konfiguriert, wie MOA-ID-PROXY zur Online-Applikation
- verbindet.
-
- ChainingModes
- Das Element ChainingModes definiert,
- ob bei der Zertifikatspfad-überprüfung
- das Kettenmodell ("chaining") oder
- das Modell nach PKIX RFC 3280 ("pkix")
- verwendet werden soll.
-
- Das Attribut systemDefaultMode spezifiziert
- das Modell, das im Standardfall verwendet werden
- soll.
-
- Mit dem Kind-Element TrustAnchor kann
- für jeden Trust Anchor ein abweichendes
- Modell spezifiziert werden. Ein Trust Anchor
- ist ein Zertifikat, das in TrustedCACertificates
- spezifiziert ist. Ein Trust Anchor wird durch
- den Typ <dsig:X509IssuerSerialType>
- spezifiziert. Das für diesen Trust Anchor
- gültige Modell wird durch das Attribut
- mode spezifiziert.
-
- Gültige Werte für die Attribute systemDefaultMode
- und mode sind "chaining" und
- "pkix".
-
- Beispiel
-
-
- TrustedCACertificates
- Das Element TrustedCACertificates
- enthält das Verzeichnis (relativ zur
- MOA-ID Konfigurationsdatei), das jene Zertifikate
- enthält, die als vertrauenswürdig
- betrachtet werden. Im Zuge der Überprüfung
- der TLS-Serverzertifikate wird die Zertifikatspfaderstellung
- an einem dieser Zertifikate beendet.
-
- GenericConfiguration
- Das Element GenericConfiguration
- ermöglicht das Setzen von Namen-Werte
- Paaren mittels der Attribute name
- und value. Die folgende Liste spezifiziert
-
- - gültige Werte für das name-Attribut,
-
- - eine Beschreibung
- - gültige Werte für das value-Attribut
- und (falls vorhanden)
- - den Default-Wert für das value-Attribut.
-
-
-
-
- name: DirectoryCertStoreParameters.RootDir |
-
-
- Gibt den Pfadnamen zu einem
- Verzeichnis an, das als Zertifikatsspeicher
- im Zuge der TLS-Server-Zertifikatsüberprüfung
- verwendet wird.
-
- value:
- Gültige Werte: Name eines gültigen
- Verzeichnisses (relativ zur MOA-ID Konfigurationsdatei)
- Dieser Parameter muss angegeben werden.
- |
-
-
-
-
- name: AuthenticationSession.TimeOut |
-
-
- Gibt die Zeitspanne in
- Sekunden vom Beginn der Authentisierung
- bis zum Anlegen der Anmeldedaten an.
- Wird die Angegebene Zeitspanne überschritten
- wird der Anmeldevorgang abgebrochen.
-
-
- value:
- Gültige Werte: positive Ganzzahlen
-
- Default-Wert: 120 |
-
-
-
-
- name: AuthenticationData.TimeOut |
-
-
- Gibt die Zeitspanne in
- Sekunden an, für die die Anmeldedaten
- in der Authentisierungskomponente zum
- Abholen durch die Proxykomponente oder
- eine nachfolgende Applikation bereitstehen.
- Nach Ablauf dieser Zeitspanne werden
- die Anmeldedaten gelöscht.
-
- value:
- Gültige Werte: positive Ganzzahlen
- Default-Wert: 600 |
-
-
-
-
- name: TrustManager.RevocationChecking |
-
-
- Für die TLS-Server-Authentisierung
- dürfen nur Server-Zertifikate verwendet
- werden, die eine CRLDP-Extension enthalten
- (andernfalls kann von MOA-ID keine CRL-überprüfung
- durchgeführt werden).
- Soll das RevocationChecking generell
- ausgeschaltet werden, ist dieses Attribut
- anzugeben und auf "false" zu setzen.
-
-
- value:
- Gültige Werte: true, false
- Default-Wert: true |
-
-
-
-
- name: FrontendServlets.EnableHTTPConnection |
-
-
-
- Standardmäßig können
- die beiden Servlets "StartAuthentication"
- und "SelectBKU" welche das
- User-Frontend darstellen, aus Sicherheitsgründen,
- nur über das Schema HTTPS aufgerufen
- werden.
- Wenn die beiden Servlets jedoch auch
- Verbindungen nach dem Schema HTTP
- entgegennehmen sollen, so kann mittels
- dem Attribut "EnableHTTPServletConnection"
- erlaubt werden.
- Hinweis: Sicher und sinnvoll ist
- das Erlauben der HTTP Verbindung nur
- dann, wenn ein Vorgeschalteter Webserver
- das HTTPS handling übernimmt,
- und eine Verbindung zu den Servlets
- nur über diesen Webserver möglich
- ist.
-
- value:
- Gültige Werte: true, false
- Default-Wert: false |
-
-
-
-
- name:
- FrontendServlets.DataURLPrefix |
-
-
-
- Standardmäßig wird als
- DataURL Prefix das URL Präfix
- unter dem die MOA-ID Servlets erreichbar
- sind verwendet. Im Falle das sich
- der MOA-ID Server hinter einer Firewall
- befindet und die Requests von einem
- vorgelagertem Webserver weitergereicht
- werden, kann mit FrontendServlets.DataURLPrefix
- ein alternatives URL Präfix angegeben
- werden. In diesem Fall muss der Webserver
- so konfiguriert sein, dass er Request
- auf diese URLs an den MOA-ID Server
- weiterleitet.
-
- value:
- Gültige Werte: URLs nach dem Schema
- 'http://' und 'https://'
- Default-Wert: kein Default-Wert
- Beispiel: <GenericConfiguration name="FrontendServlets.DataURLPrefix"
- value="https://<your_webserver>/moa-id-auth/"/> |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- |
-