diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-06-12 13:47:10 +0200 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-06-12 13:47:10 +0200 |
commit | b232b84093993571da6efa97c25e1724370d6a6d (patch) | |
tree | 6a9aa50957d867413659b2f079f7fa84f3add1d9 /id/server/doc/handbook_v4/additional/additional.html | |
parent | d7b6e57eeb37ef02ceadfe51ca730bccbed939c6 (diff) | |
download | moa-id-spss-b232b84093993571da6efa97c25e1724370d6a6d.tar.gz moa-id-spss-b232b84093993571da6efa97c25e1724370d6a6d.tar.bz2 moa-id-spss-b232b84093993571da6efa97c25e1724370d6a6d.zip |
update handbook
Diffstat (limited to 'id/server/doc/handbook_v4/additional/additional.html')
-rw-r--r-- | id/server/doc/handbook_v4/additional/additional.html | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/id/server/doc/handbook_v4/additional/additional.html b/id/server/doc/handbook_v4/additional/additional.html new file mode 100644 index 000000000..d7afc1961 --- /dev/null +++ b/id/server/doc/handbook_v4/additional/additional.html @@ -0,0 +1,363 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" > + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <title>MOA-ID - Zusatzinformationen</title> + <link rel="stylesheet" href="../common/MOA.css" type="text/css"> + <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'> +</head> +<body link="#990000"> + <div id="headline"> + <div class="container"> + <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a> + <a href="../index.html"><h1>MOA-ID-AUTH </h1></a> + <br/> + </div> + </div> + <div class="container"> +<h1 align="center">Zusatzinformationen</h1> + + <h2>Inhalt</h2> + <ol class="index"> + <li><a href="#allgemeines">Datenmanagement</a> + <ol> + <li><a href="#sessiondata">Sessiondaten</a> + <ol> + <li><a href="#sessiondata_general">Allgemein</a></li> + </ol> + </li> + <li><a href="#statisticdata">Logging von Statistikdaten</a></li> + </ol> + </li> + <li><a href="#networkconnections">Benötigte Netzwerkverbindungen (incoming / outgoing)</a></li> + <li><a href="#revisionslog">Revisions-Logging</a></li> + </ol> + <h2><a name="allgemeines"></a>1 Datenmanagement</h2> + <p>Dieser Abschnitt spezifiziert jene Datensätze die während eines Anmeldevorgangs durch das Modul MOA-ID-Auth temporär oder permanent gespeichert werden. Hierbei handelt es sich sowohl um temporäre Sessiondaten als auch um dauerhaft gespeicherte Statistikdaten.</p> + <h3><a name="sessiondata" id="sessiondata"></a>1.1 Sessiondaten</h3> + <p>Dieser Abschnitt behandelt jene Informationen die das Modul MOA-ID-Auth während eines Authentifizierungsvorgangs oder während einer aktiven Single Sign-On Session im Speicher hält. Diese Datensätze werden nach Beendigung des Anmeldevorgangs, bei einfacher Anmeldung, oder nach Beendigung der Single Sign-On Session gelöscht. Die nachfolgenden Unterkapitel geben eine Aufstellung jener Daten die von MOA-ID im jeweiligen Falle gespeichert werden.</p> + <h4><a name="sessiondata_general" id="sessiondata2"></a>1.1.1 Allgemein</h4> + <p>Folgende Daten müssen mindestens von MOA-ID gecached werden um einen korrekten Anmeldevorgang zu ermöglichen.</p> + <table class="configtable"> + <tr> + <td><p><strong>Element</strong></p></td> + <td><p><strong>Beschreibung</strong></p></td> + </tr> + <tr> + <td><p>Authentication Request</p></td> + <td><p>Dieser wird von der Online-Applikation als Start des Anmeldevorgangs übertragen.</p></td> + </tr> + <tr> + <td><p>Session ID</p></td> + <td><p>Wird von MOA-ID generiert und dient zur Identifikation von Datensätzen.</p></td> + </tr> + <tr> + <td><p>Signaturzertifikat</p></td> + <td><p>Das Signaturzertifikat, welches zur Signierung des Authentifizierungsblocks verwendet wurde.</p></td> + </tr> + <tr> + <td>AuthTimeStamp</td> + <td>Zeitpunkt an dem sich die Benutzerin oder der Benutzer an MOA-ID-Auth authentifiziert hat.</td> + </tr> + </table> + <h3><a name="statisticdata" id="statisticdata"></a>1.2 Logging von Statistikdaten</h3> +<p align="left">Zusätzlich zu den Daten aus den temporären Sessiondaten werden vom Modul MOA-ID-Auth auch Logging- und Statistikdaten generiert, welche nicht automatisiert gelöscht werden. Diese Daten dienen der Statuskontrolle und zur Protokollierung von Anmeldevorgängen an MOA-ID-Auth. Von MOA-ID-Auth werden folgende <a href="./../config/config.html#basisconfig_moa_id_auth_param_database_info">Statistikdaten</a> je Anmeldevorgang gespeichert, wobei je nach Art der Anmeldung nicht alle Datenelemente gefüllt werden. Die nachstehende Tabelle beschreibt den maximalen Umfang der Loggingdaten, wobei keine Informationen zur anmeldenden Person gespeichert werden.</p> + <table class="configtable"> + <tr> + <td><p><strong>Element</strong></p></td> + <td><p><strong>Beschreibung</strong></p></td> + </tr> + <tr> + <td><p>timestamp</p></td> + <td><p>Datum und Uhrzeit des Eintrags.</p></td> + </tr> + <tr> + <td><p>OAID</p></td> + <td><p>Eindeutige Datenbank ID der Online-Applikation.</p></td> + </tr> + <tr> + <td><p>OAURLPrefix</p></td> + <td><p>Publik URL Prefix der Online-Applikation</p></td> + </tr> + <tr> + <td><p>OAFriendlyName</p></td> + <td><p>Bezeichnung der Online-Applikation</p></td> + </tr> + <tr> + <td><p>isBusinessService</p></td> + <td><p>„True“ wenn die Online-Applikation aus dem privatwirtschaftlichen Bereich stammt.</p></td> + </tr> + <tr> + <td><p>OATarget</p></td> + <td><p>Bereichskennzeichen der Online-Applikation (Target oder privatwirtschaftlicher Bereich)</p></td> + </tr> + <tr> + <td><p>BKUType</p></td> + <td><p>Art der Bürgerkartenumgebung die für den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td> + </tr> + <tr> + <td><p>BKUURL</p></td> + <td><p>URL der verwendeten Bürgerkartenumgebung</p></td> + </tr> + <tr> + <td><p>isSSOLogin</p></td> + <td><p>„True“ wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td> + </tr> + <tr> + <td><p>isMandateLogin</p></td> + <td><p>„True“ wenn die Anmeldung in Vertretung erfolgt ist.</p></td> + </tr> + <tr> + <td><p>MandateType</p></td> + <td><p>Art der verwendeten Vollmacht (Einzelprofile des Vollmachtenservice oder OID des Organwalters / berufsmäßigen Parteienvertreters)</p></td> + </tr> + <tr> + <td><p>MandatorType</p></td> + <td><p>„jur“ / „nat“ je nach Art der vertretenen juristischen oder natürlichen Person</p></td> + </tr> + <tr> + <td><p>isPV</p></td> + <td><p>„True“ wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsmäßigen Parteienvertreter erfolgt ist.</p></td> + </tr> + <tr> + <td><p>PVOID</p></td> + <td><p>OID des Organwalter oder berufsmäßigen Parteienvertreter</p></td> + </tr> + <tr> + <td><p>ProtocolType</p></td> + <td><p>Type des für die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td> + </tr> + <tr> + <td><p>ProtocolSubType</p></td> + <td><p>Nähere Spezifizierung des Protokolltyps. (Im Falle von PVP 2.1: POST oder Redirect)</p></td> + </tr> + <tr> + <td><p>ExceptionType</p></td> + <td><p>Typ des Fehlers der während des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p> + <ul> + <li><strong>bku</strong>: Fehler während der Kommunikation mit der Bürgerkartenumgebung.</li> + <li> <strong>moa-sp</strong>: Fehler bei der Kommunikation mit MOA-SP oder der Signaturprüfung.</li> + <li> <strong>mandate</strong>: Fehler beim Zugriff auf das Online-Vollmachten Service.</li> + <li> <strong>moa-id</strong>: Fehler während des Authentifizierungsvorgangs.</li> + <li><strong>unknow</strong>n: für allgemeine Fehler die keinem der oben genannten Typen entsprechen.</li> + </ul> </td> + </tr> + <tr> + <td><p>ExceptionCode</p></td> + <td><p>Fehlercode des aufgetretenen Fehlers falls vorhanden.</p></td> + </tr> + <tr> + <td><p>ExceptionMessage</p></td> + <td><p>Fehlermeldung in textueller Form (max. 255 Zeichen lang)</p></td> + </tr> +</table> +<p> </p> +<h2><a name="networkconnections" id="networkconnections"></a>2 Benötigte Netzwerkverbindungen (incoming / outgoing)</h2> +<p>Für die Betrieb des Modules MOA-ID-Auth werden Netzwerkverbindungen zu externen Service benötigt. Die nachfolgende Tabelle gibt eine Aufstellung der benötigten Verbindungen und eine kurze Beschreibung über deren Funktion.</p> + <table class="configtable"> + <tr> + <td><strong>Service</strong></td> + <td><strong>URL</strong></td> + <td><strong>Port</strong></td> + <td><strong>Richtung</strong></td> + <td><strong>Beschreibung</strong></td> + </tr> + <tr> + <td><p>MOA-ID-Auth</p></td> + <td>*</td> + <td>80, 443</td> + <td>eingehend</td> + <td><p>Front-Channel und Back-Channel Verbinding zum IDP</p></td> + </tr> + <tr> + <td><p>MOA-ID-Auth</p></td> + <td>*</td> + <td>80, 443</td> + <td>ausgehend</td> + <td>Abholen von Template oder PVP 2.1 Metadaten</td> + </tr> + <tr> + <td>LDAP</td> + <td>*</td> + <td>389, 636</td> + <td>ausgehend</td> + <td>Zertifikatsprüfung</td> + </tr> + <tr> + <td><p>OSCP / CRL</p></td> + <td>*</td> + <td>80, 443</td> + <td>ausgehend</td> + <td><p>Zertifikatsprüfung</p></td> + </tr> + <tr> + <td>E-ID System</td> + <td>vollmachten.stammzahlenregister.gv.at</a><br> + <strong>Test:</strong> <a href="https://vollmachten.egiz.gv.at/mis-test/"></a>https://eid.egiz.gv.at/idp/shibboleth</td> + <td>443</td> + <td>ausgehend</td> + <td>SAML2 Metadaten des E-ID System</td> + </tr> +</table> + <p> </p> + <h2><a name="revisionslog" id="networkconnections2"></a>3 Revisions Logging</h2> + <p>Ab der Version 3.x von MOA-ID-Auth steht zusätzlich zum normalen Logging und zur Generierung von Statisikdaten ein spezielles Reversions Logging zur Verfügung. Dieses Revisions Logging erstellt ein spezielles Log welches Informationen zum Identifikations- und Authentifikationsprozess mit Zeitstempel und Eventcode beinhaltet. Die Events, welche durch dieses Log aufgezeichnet werden lassen sich je MOA-ID-Auth Instanz und je Online-Applikation konfigurieren. Das Revisions Logging kann über die folgende Zeilen in der log4j Konfiguration der MOA-ID Instanz konfiguriert werden:</p> + <p><em>log4j.logger.at.gv.egiz.eventlog.plain.all=info,reversion</em></p> + <p><em>log4j.appender.reversion=org.apache.log4j.RollingFileAppender<br> + log4j.appender.reversion.File=$logDirectory/moa-id-reversion.log<br> + log4j.appender.reversion.MaxFileSize=10000KB<br> + log4j.appender.reversion.MaxBackupIndex=9999<br> + log4j.appender.reversion.layout=org.apache.log4j.PatternLayout<br> + log4j.appender.reversion.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %t | %m%n</em></p> + <p> </p> + <p>Die nachstehenden Tabellen beschreibt alle Events welche aktuell in MOA-ID zur Verfügung stehen, wobei die erste Tabelle alle Basisevents beinhaltet die von MOA-ID auf jeden Fall geloggt werden. Die in der zweiten Tabelle angegebenen Events sind immer einer Session und einer Transaktion aus Tabelle 1 zugeordnet und können durch die MOA-ID Konfiguration ausgewählt werden.</p> + <table border="1" cellpadding="0" cellspacing="0" class="configtable"> + <tr> + <td width="125" valign="top"><p align="left"><strong>EventCode</strong></p></td> + <td width="201" valign="top"><p align="left"><strong>Wert</strong></p></td> + <td width="964" valign="top"><p align="left"><strong>Beschreibung</strong></p></td> + </tr> + <tr> + <td width="125"><p align="center">1000</p></td> + <td width="201"><p align="left">SessionID</p></td> + <td width="964" valign="top"><p>Eine neue Session wurde mit der angegebenen ID gestartet</p></td> + </tr> + <tr> + <td width="125"><p align="center">1001</p></td> + <td width="201"><p align="left">SessionID</p></td> + <td width="964" valign="top"><p>Die Session mit der angegebenen ID wurde beendet</p></td> + </tr> + <tr> + <td width="125"><p align="center">1002</p></td> + <td width="201"><p align="left">IP Adresse</p></td> + <td width="964" valign="top"><p>IP Addresse des Hosts der die Session geöffnet hat</p></td> + </tr> + <tr> + <td width="125"><p align="center">1003</p></td> + <td width="201"><p align="left">SessionID</p></td> + <td width="964" valign="top"><p>Die Session mit der angebenden ID wurde wegen eines Fehler beendet</p></td> + </tr> + <tr> + <td width="125"><p align="center">1100</p></td> + <td width="201"><p align="left">TransaktionsID</p></td> + <td width="964" valign="top"><p>Eine neue Transaction wurde mit der angegebenen ID gestartet. Eine Transaktion ist immer eine Session zugeordnet</p></td> + </tr> + <tr> + <td width="125"><p align="center">1101</p></td> + <td width="201"><p align="left">TransaktionsID</p></td> + <td width="964" valign="top"><p>Die Transkation mit der angegebenen ID wurde beendet</p></td> + </tr> + <tr> + <td width="125"><p align="center">1102</p></td> + <td width="201"><p align="left">IP Adresse</p></td> + <td width="964" valign="top"><p>IP Addresse des Hosts der die Transaction geöffnet hat</p></td> + </tr> + <tr> + <td width="125"><p align="center">1103</p></td> + <td width="201" valign="top"><p>TransaktionsID</p></td> + <td width="964" valign="top"><p>Die Transkation mit der angebenden ID wurde wegen eines Fehler beendet</p></td> + </tr> + </table> + <p> </p> + <table border="1" cellpadding="0" cellspacing="0" class="configtable"> + <tr> + <td width="165" valign="top"><p align="left"><strong>EventCode</strong></p></td> + <td width="312" valign="top"><p align="left"><strong>Wert</strong></p></td> + <td width="1127" valign="top"><p align="left"><strong>Beschreibung</strong></p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">3000</p></td> + <td width="312" valign="top"><p align="left">Protokolltype</p></td> + <td width="1127" valign="top"><p>Type des verwendeten Authentifizierungsprotokolls (OpenID Connect, PVP2, STORK, SAML1)</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">3300</p></td> + <td width="312" valign="top"><p align="left"> </p></td> + <td width="1127" valign="top"><p>SAML1 StartAuthentication Request</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">4000</p></td> + <td width="312" valign="top"><p align="left"> </p></td> + <td width="1127" valign="top"><p>Identifizierungs- und Authentifizierungsprozess wurde gestartet</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">4001</p></td> + <td width="312" valign="top"><p align="left"> </p></td> + <td width="1127" valign="top"><p>Identifizierungs- und Authentifizierungsprozess wurde beendet</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5000</p></td> + <td width="312" valign="top"><p align="left">bPK</p></td> + <td width="1127" valign="top"><p>bPK bei Vollmacht mit berufsmäßigem Parteienvertreter oder Organwalter</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5001</p></td> + <td width="312" valign="top"><p align="left">OID</p></td> + <td width="1127" valign="top"><p>OID bei Vollmacht mit berufsmäßigem Parteienvertreter oder Organwalter</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5002</p></td> + <td width="312" valign="top"><p align="left">JSON String</p></td> + <td width="1127" valign="top"><p>Pseudoanonymisierte Personendaten der sich anmeldeten natürlichen Person.</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5100</p></td> + <td width="312" valign="top"><p align="left">Vollmachtstype</p></td> + <td width="1127" valign="top"><p>Type der ausgewählten Vollmacht</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5101</p></td> + <td width="312" valign="top"><p align="left">jur / nat</p></td> + <td width="1127" valign="top"><p>Vollmacht - Type der vertretenen Person (Juristische / natürliche Person)</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5102</p></td> + <td width="312" valign="top"><p align="left">JSON String</p></td> + <td width="1127" valign="top"><p>Pseudoanonymisierte Personendaten der vertretenen natürlichen Person.</p></td> + </tr> + <tr> + <td width="165" valign="top"><p align="center">5103</p></td> + <td width="312" valign="top"><p align="left">baseID</p></td> + <td width="1127" valign="top"><p>Stammzahl der vertretenen juristischen Person </p></td> + </tr> + <tr> + <td valign="top">6300</td> + <td valign="top">EntityID</td> + <td valign="top">Zentrales E-ID System ausgewählt</td> + </tr> + <tr> + <td valign="top">6301</td> + <td valign="top">RequestID</td> + <td valign="top">Zentrales E-ID System kontaktiert</td> + </tr> + <tr> + <td valign="top">6302</td> + <td valign="top">ResponseID</td> + <td valign="top">Gültige Response vom E-ID System erhalten</td> + </tr> + <tr> + <td valign="top">6303</td> + <td valign="top"> </td> + <td valign="top">Ungültige Response oder Fehlercode vom E-ID System erhalten</td> + </tr> + <tr> + <td valign="top">6304</td> + <td valign="top"> </td> + <td valign="top">Gültige Attribute vom E-ID System erhalten</td> + </tr> + </table> +<p> </p> +<p>Einzelne Events werden um einen Transaktionsparameter ergänzt, welcher in der Spalte Wert beschrieben ist. <br> + </p> +<p>Die pseudoanonymisierten Personendaten für natürliche Personen werden anhand des nachfolgenden Schemas generiert. Als pseudoanonymisiertes Personendatum dient der SHA256 Hash über die in eine JSON Struktur eingetragenen Personendaten. Hierfür wird das folgende JSON Schema verwendet, welches als Input für die SHA256 Berechnung dient.</p> +<p><br> + {"person":{"givenname":"<em>Vorname der Person</em>","familyname":"<em>Nachname der Person</em>","dateofbirth":"<em>Geburtsdatum der Person</em>"},"salt":"<em>Zufallszahl</em>"}<br> + </p> +<p>Anschließend wird das pseudoanonymisiert Personendatum als JSON Wert bei den entsprechenden Events eingetragen. Der eingetragener JSON Wert entspricht dem folgenden Schema</p> +<p><br> + {"hash":"<em>BASE64 codierte Personendatum</em>","salt:"<em>Zufallzahl welche zur Generierung des Personendatums verwendet wurde</em>"}</p> +<p> </p> + </div> +</body> +</html> |