aboutsummaryrefslogtreecommitdiff
path: root/id/server/doc/handbook_v4/additional
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2019-06-12 13:47:10 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2019-06-12 13:47:10 +0200
commitb232b84093993571da6efa97c25e1724370d6a6d (patch)
tree6a9aa50957d867413659b2f079f7fa84f3add1d9 /id/server/doc/handbook_v4/additional
parentd7b6e57eeb37ef02ceadfe51ca730bccbed939c6 (diff)
downloadmoa-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')
-rw-r--r--id/server/doc/handbook_v4/additional/additional.html363
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&ouml;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&auml;tze die w&auml;hrend eines Anmeldevorgangs durch das Modul MOA-ID-Auth tempor&auml;r oder permanent gespeichert werden. Hierbei handelt es sich sowohl um tempor&auml;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&auml;hrend eines Authentifizierungsvorgangs oder w&auml;hrend einer aktiven Single Sign-On Session im Speicher h&auml;lt. Diese Datens&auml;tze werden nach Beendigung des Anmeldevorgangs, bei einfacher Anmeldung, oder nach Beendigung der Single Sign-On Session gel&ouml;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&uuml;ssen mindestens von MOA-ID gecached werden um einen korrekten Anmeldevorgang zu erm&ouml;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 &uuml;bertragen.</p></td>
+ </tr>
+ <tr>
+ <td><p>Session ID</p></td>
+ <td><p>Wird von MOA-ID generiert und dient zur Identifikation von Datens&auml;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&auml;tzlich zu den Daten aus den tempor&auml;ren Sessiondaten werden vom Modul MOA-ID-Auth auch Logging- und Statistikdaten generiert, welche nicht automatisiert gel&ouml;scht werden. Diese Daten dienen der Statuskontrolle und zur Protokollierung von Anmeldevorg&auml;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&uuml;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>&bdquo;True&ldquo; 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&uuml;rgerkartenumgebung die f&uuml;r den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td>
+ </tr>
+ <tr>
+ <td><p>BKUURL</p></td>
+ <td><p>URL der verwendeten B&uuml;rgerkartenumgebung</p></td>
+ </tr>
+ <tr>
+ <td><p>isSSOLogin</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td>
+ </tr>
+ <tr>
+ <td><p>isMandateLogin</p></td>
+ <td><p>&bdquo;True&ldquo; 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&auml;&szlig;igen Parteienvertreters)</p></td>
+ </tr>
+ <tr>
+ <td><p>MandatorType</p></td>
+ <td><p>&bdquo;jur&ldquo; / &bdquo;nat&ldquo; je nach Art der vertretenen juristischen oder nat&uuml;rlichen Person</p></td>
+ </tr>
+ <tr>
+ <td><p>isPV</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter erfolgt ist.</p></td>
+ </tr>
+ <tr>
+ <td><p>PVOID</p></td>
+ <td><p>OID des Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter</p></td>
+ </tr>
+ <tr>
+ <td><p>ProtocolType</p></td>
+ <td><p>Type des f&uuml;r die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td>
+ </tr>
+ <tr>
+ <td><p>ProtocolSubType</p></td>
+ <td><p>N&auml;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&auml;hrend des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p>
+ <ul>
+ <li><strong>bku</strong>: Fehler w&auml;hrend der Kommunikation mit der B&uuml;rgerkartenumgebung.</li>
+ <li> <strong>moa-sp</strong>: Fehler bei der Kommunikation mit MOA-SP oder der Signaturpr&uuml;fung.</li>
+ <li> <strong>mandate</strong>: Fehler beim Zugriff auf das Online-Vollmachten Service.</li>
+ <li> <strong>moa-id</strong>: Fehler w&auml;hrend des Authentifizierungsvorgangs.</li>
+ <li><strong>unknow</strong>n: f&uuml;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>&nbsp;</p>
+<h2><a name="networkconnections" id="networkconnections"></a>2 Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</h2>
+<p>F&uuml;r die Betrieb des Modules MOA-ID-Auth werden Netzwerkverbindungen zu externen Service ben&ouml;tigt. Die nachfolgende Tabelle gibt eine Aufstellung der ben&ouml;tigten Verbindungen und eine kurze Beschreibung &uuml;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&uuml;fung</td>
+ </tr>
+ <tr>
+ <td><p>OSCP / CRL</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>ausgehend</td>
+ <td><p>Zertifikatspr&uuml;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>&nbsp;</p>
+ <h2><a name="revisionslog" id="networkconnections2"></a>3 Revisions Logging</h2>
+ <p>Ab der Version 3.x von MOA-ID-Auth steht zus&auml;tzlich zum normalen Logging und zur Generierung von Statisikdaten ein spezielles Reversions Logging zur Verf&uuml;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 &uuml;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>&nbsp;</p>
+ <p>Die nachstehenden Tabellen beschreibt alle Events welche aktuell in MOA-ID zur Verf&uuml;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&ouml;nnen durch die MOA-ID Konfiguration ausgew&auml;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&ouml;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. &nbsp;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&ouml;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>&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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&auml;&szlig;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&auml;&szlig;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&uuml;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&auml;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&uuml;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&uuml;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&auml;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&uuml;ltige Response vom E-ID System erhalten</td>
+ </tr>
+ <tr>
+ <td valign="top">6303</td>
+ <td valign="top">&nbsp;</td>
+ <td valign="top">Ung&uuml;ltige Response oder Fehlercode vom E-ID System erhalten</td>
+ </tr>
+ <tr>
+ <td valign="top">6304</td>
+ <td valign="top">&nbsp;</td>
+ <td valign="top">G&uuml;ltige Attribute vom E-ID System erhalten</td>
+ </tr>
+ </table>
+<p>&nbsp;</p>
+<p>Einzelne Events werden um einen Transaktionsparameter erg&auml;nzt, welcher in der Spalte Wert beschrieben ist. <br>
+ </p>
+<p>Die pseudoanonymisierten Personendaten f&uuml;r nat&uuml;rliche Personen werden anhand des nachfolgenden Schemas generiert. Als pseudoanonymisiertes Personendatum dient der SHA256 Hash &uuml;ber die in eine JSON Struktur eingetragenen Personendaten. Hierf&uuml;r wird das folgende JSON Schema verwendet, welches als Input f&uuml;r die SHA256 Berechnung dient.</p>
+<p><br>
+ {&quot;person&quot;:{&quot;givenname&quot;:&quot;<em>Vorname der Person</em>&quot;,&quot;familyname&quot;:&quot;<em>Nachname der Person</em>&quot;,&quot;dateofbirth&quot;:&quot;<em>Geburtsdatum der Person</em>&quot;},&quot;salt&quot;:&quot;<em>Zufallszahl</em>&quot;}<br>
+ </p>
+<p>Anschlie&szlig;end wird das pseudoanonymisiert Personendatum als JSON Wert bei den entsprechenden Events eingetragen. Der eingetragener JSON Wert entspricht dem folgenden Schema</p>
+<p><br>
+ {&quot;hash&quot;:&quot;<em>BASE64 codierte Personendatum</em>&quot;,&quot;salt:&quot;<em>Zufallzahl welche zur Generierung des Personendatums verwendet wurde</em>&quot;}</p>
+<p>&nbsp;</p>
+ </div>
+</body>
+</html>