diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-12-13 10:13:05 +0100 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-12-13 10:13:05 +0100 |
commit | 6fc2e600055d4737ce94d8a012eb3764bd7e93c8 (patch) | |
tree | 56aebaaac2c87458ebfd798a2c66f95718e1dd4e /id/server/doc/handbook_v4/protocol/protocol.html | |
parent | de2e45024694c7eb5e033bc6b1bcb90f5f499b07 (diff) | |
parent | bea0d19650b5fbbb48fcda0f39ef3a93d6cf6f1f (diff) | |
download | moa-id-spss-6fc2e600055d4737ce94d8a012eb3764bd7e93c8.tar.gz moa-id-spss-6fc2e600055d4737ce94d8a012eb3764bd7e93c8.tar.bz2 moa-id-spss-6fc2e600055d4737ce94d8a012eb3764bd7e93c8.zip |
Merge branch 'current_development' into development_preview
# Conflicts:
# id/history.txt
# id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java
# pom.xml
Diffstat (limited to 'id/server/doc/handbook_v4/protocol/protocol.html')
-rw-r--r-- | id/server/doc/handbook_v4/protocol/protocol.html | 756 |
1 files changed, 756 insertions, 0 deletions
diff --git a/id/server/doc/handbook_v4/protocol/protocol.html b/id/server/doc/handbook_v4/protocol/protocol.html new file mode 100644 index 000000000..73465d55b --- /dev/null +++ b/id/server/doc/handbook_v4/protocol/protocol.html @@ -0,0 +1,756 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" > + <title>MOA-ID - Protokolle</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</h1></a> + <br/> + </div> + </div> + +<div class="container"> +<h1>Protokolle</h1> + +<h2>Inhalt</h2> + <ol class="index"> + <li><a href="#allgemeines">Allgemeines</a> + <ol> + <li><a href="#allgemeines_zugangspunkte">Übersicht der Zugangspunkte</a></li> + <li><a href="#allgemeines_attribute">Übersicht der möglichen Attribute</a></li> + <li><a href="#statuscodes">Übersicht der möglichen MOA-ID spezifischen Statuscodes</a> +<ol> + <li><a href="#statuscodes_1xxxx">Statuscodes 1xxxx</a></li> + <li><a href="#statuscodes_4xxxx">Statuscodes 4xxxx</a></li> + <li><a href="#statuscodes_6xxxx">Statuscodes 6xxxx</a></li> + <li><a href="#statuscodes_9xxxx">Statuscodes 9xxxx</a></li></ol></li> + </ol> + </li> + <li><a href="#saml1">SAML 1</a> + <ol> + <li><a href="#saml1_sequence">Ablauf einer Anmeldung mittels SAML 1</a></li> + <li><a href="#saml1_zugang">Zugangspunkte</a></li> + <li><a href="#saml1_startauth">StartAuthentication Request</a></li> + <li><a href="#saml1_getassertion">GetAuthenticationData Request</a></li> + </ol> + </li> + + <li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li> +</ol> + + <h2><a name="allgemeines"></a>1 Allgemeines</h2> + <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden. + Wobei die Verwendung der Protokolle PVP 2.1 oder OpenID Connect empfohlen wird. Das Protokoll SAML 1, welches bis zur MOA-ID Version 1.5.1 + verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p> +<h3><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 Übersicht der Zugangspunkte</h3> +<p>In diesem Abschnitt sind die Zugangspunkte der vom Modul MOA-ID-Auth unterstützten Protokolle kurz zusammengefasst. Eine detaillierte Beschreibung der einzelnen Protokolle finden Sie in den anschließenden Unterkapiteln. </p> + <table class="configtable"> + <tr> + <th>Protokoll</th> + <th>Requesttyp</th> + <th>URL</th> + </tr> + <tr> + <td><a href="#saml1">SAML 1</a></td> + <td>Authentifizierungsrequest</td> + <td><p>https://<host>:<port>/moa-id-auth/StartAuthentication</p></td> + </tr> + <tr> + <td><a href="#saml1">SAML 1</a></td> + <td><p>GetAuthenticationData</p></td> + <td><p>https://<host>:<port>/moa-id-auth/services/GetAuthenticationData</p> + <p>http://<host>:<port>/moa-id-auth/services/GetAuthenticationData</p></td> + </tr> + </table> + <h3><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 Übersicht der möglichen Attribute</h3> +<p>Die nachfolgende Tabelle beinhaltet eine Liste aller Attribute die vom Modul MOA-ID-Auth an die Online-Applikation zurückgeliefert werden können, sofern diese nach der Authentifizierung zur Verfügung stehen. Alle Namen beziehen sich auf den Attributnamen im jeweiligen Protokoll. Detailinformationen zu den einzelnen Attributen finden Sie in der <a href="#referenzierte_spezifikation">PVP 2.1 Spezifikation</a> der der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p> +<table class="configtable"> + <tr> + <th colspan="4" align="center" valign="middle" scope="col">Protokolle</th> + <th rowspan="3" scope="col">Beschreibung</th> + </tr> + <tr> + <th rowspan="2" scope="col">PVP 2.2</th> + <th colspan="2" scope="col">OpenID Connect</th> + <th rowspan="2" scope="col">SAML 1</th> + </tr> + <tr> + <th>Name</th> + <th>Profil</th> + </tr> + <tr> + <td>urn:oid:1.2.40.0.10.2.1.1.149</td> + <td>BPK</td> + <td align="center">eID</td> + <td><p>/saml:Assertion/saml:AttributeStatement/</p> + <p>saml:Subject/saml:NameIdentifier</p></td> + <td><p>Bereichsspezifisches Personenkennzeichen (bPK / wbPK)</p> + <p><strong>Hinweis:</strong> Der Syntax für dieses Attribut bei den Protokollen PVP 2.1 und OpenID Connect ist <em>bPK-value := (BEREICH ":" bPK/wbPK)</em> wobei unter <em>Bereich</em> der öffentliche Bereich (Target) der Online-Applikation oder die Stammzahl des Auftraggebers bei Anwendungs-verantwortlichen aus der Privatwirtschaft angegeben wird.</p></td> + </tr> + <tr> + <td><p>urn:oid:2.5.4.42</p></td> + <td>given_name</td> + <td align="center">profile</td> + <td><saml:Attribute AttributeName="PersonData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Vorname</td> + </tr> + <tr> + <td><p>urn:oid:1.2.40.0.10.2.1.1.261.20</p></td> + <td>family_name</td> + <td align="center">profile</td> + <td><saml:Attribute AttributeName="PersonData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Familienname</td> + </tr> + <tr> + <td>urn:oid:1.2.40.0.10.2.1.1.55</td> + <td>birthdate</td> + <td align="center">profile</td> + <td><saml:Attribute AttributeName="PersonData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Geburtsdatum im Format JJJJ-MM-TT</td> + </tr> + <tr> + <td>urn:oid:1.2.40.0.10.2.1.1.261.64</td> + <td>EID-CCS-URL</td> + <td align="center">eID</td> + <td><saml:Attribute AttributeName="bkuURL" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#"></td> + <td>URL auf die Bürgerkartenumgebung die für die Authentifizierung verwendet wurde. Im Falle einer Anmeldung mittels STORK steht dieses Attribut NICHT zur Verfügung.</td> + </tr> + <tr> + <td>urn:oid:1.2.40.0.10.2.1.1.261.94</td> + <td>EID-CITIZEN-QAA-LEVEL</td> + <td align="center">eID</td> + <td> </td> + <td>Authentifizierungslevel des Bürgers</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.32</td> + <td>EID-ISSUING-NATION</td> + <td align="center">eID</td> + <td><saml:Attribute AttributeName="EID-ISSUING-NATION" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Landescode gem. ISO-3166 ALPHA-2</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.34</td> + <td>EID-SECTOR-FOR-IDENTIFIER</td> + <td align="center">eID</td> + <td> </td> + <td>Bereich für den die bPK / wbPK berechnet wurde.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.66</td> + <td>EID-SIGNER-CERTIFICATE</td> + <td align="center">eID</td> + <td><saml:Attribute AttributeName="SignerCertificate" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#"></td> + <td>Base64 kodiertes Zertifikat, dass für die Anmeldung verwendet wurde.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.22</td> + <td>ENC-BPK-LIST</td> + <td align="center">eID</td> + <td><saml:Attribute AttributeName="ENC-BPK-LIST" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Liste von verschlüsselten bPKs für andere Bereiche als der Lebensbereich der Online Applikation</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.28</td> + <td>BPK-LIST</td> + <td align="center">eID_gov</td> + <td><saml:Attribute AttributeName="BPK-LIST" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Liste von bPKs für andere Bereiche als der Lebensbereich der Online Applikation</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.39</td> + <td>EID-ONLINE-IDENTITY-LINK</td> + <td align="center">eID_gov</td> + <td><saml:Attribute AttributeName="EID-ONLINE-IDENTITY-LINK" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Online Personenbindung des E-ID</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.109</td> + <td>EID-IDENTITY-STATUS-LEVEL</td> + <td align="center">eID_gov</td> + <td><saml:Attribute AttributeName="EID-IDENTITY-STATUS-LEVEL" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Kennzeichnet den Status der zusätzlich zu diesem Attribut übertragenen Identitätsdaten.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.106</td> + <td>MANDATE-TYPE-OID</td> + <td align="center">mandate</td> + <td> </td> + <td>Bezeichnung als OID des verwendeten Vollmachten-Profils</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.68</td> + <td>MANDATE-TYPE</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="RepresentationType" AttributeNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"></td> + <td>Bezeichnung des verwendeten Vollmachten-Profils.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.76</td> + <td>MANDATOR-LEGAL-PERSON-SOURCE-PIN-TYPE</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Gibt an, um welche Art der Stammzahl einer vertretenen juristischen Person es sich handelt.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.100</td> + <td>MANDATOR-LEGAL-PERSON-SOURCE-PIN</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Stammzahl der juristischen Person, für die Vollmachts- bzw. Vertretungsbe-fugnisse ausgeübt werden.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.98</td> + <td>MANDATOR-NATURAL-PERSON-BPK</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Bereichsspezifisches Personenkennzeichen des Vollmachtgebers</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.72</td> + <td>MANDATOR-NATURAL-PERSON-ENC-BPK-LIST</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MANDATOR-NATURAL-PERSON-ENC-BPK-LIST" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Liste von verschlüsselten bPKs des Mandators für andere Bereiche als der Lebensbereich der Online Applikation</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.73</td> + <td>MANDATOR-NATURAL-PERSON-BPK-LIST</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MANDATOR-NATURAL-PERSON-BPK-LIST" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Liste von bPKs des Mandators für andere Bereiche als der Lebensbereich der Online Applikation</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.78</td> + <td>MANDATOR-NATURAL-PERSON-GIVEN-NAME</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Vorname(n) der natürlichen Person, die die Vollmacht erteilt hat, bzw. die vertreten wird.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.80</td> + <td>MANDATOR-NATURAL-PERSON-FAMILY-NAME</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Nachname der Person, die die Vollmacht erteilt hat, bzw. die vertreten wird.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.82</td> + <td>MANDATOR-NATURAL-PERSON-BIRTHDATE</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Geburtsdatum der Person, die die Vollmacht erteilt hat, bzw. die vertreten wird im Format JJJJ-MM-TT</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.84</td> + <td>MANDATOR-LEGAL-PERSON-FULL-NAME</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="MandateData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Name der juristischen Person bzw. Personenmehrheit gemäß zugrundeliegendem Register.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.86</td> + <td>MANDATE-PROF-REP-OID</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="OID" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Object Identifiern (OID) zur Kennzeichnung von berufsmäßigen ParteienvertreterInnen bzw. OrganwalterInnen.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.88</td> + <td>MANDATE-PROF-REP-DESCRIPTION</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="OIDTextualDescription" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"></td> + <td>Textuelle Beschreibung der Eigenschaft als berufsmäßiger ParteienvertreterIn.</td> + </tr> + <tr> + <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.90</td> + <td>MANDATE-REFERENCE-VALUE</td> + <td align="center">mandate</td> + <td><saml:Attribute AttributeName="mandateReferenceValue" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#"></td> + <td>Die im Rahmen einer elektronischen Vollmachtserstellung generierte Transaktionsnummer.</td> + </tr> + </table> +<h3><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 Übersicht der möglichen MOA-ID spezifischen Statuscodes</h3> +<p>Vom Modul MOA-ID-Auth werden verschiedene Authentifizierungsprotokolle wobei diese Protokolle die Fehlerrückgabe unterschiedlich spezifizieren. Zusätzlich zu den protokollabhängigen Statuscodes (<a href="#referenzierte_spezifikation">siehe Spezifikation des jeweiligen Protokolls</a>) werden zusätzliche protokollunabhängige Statuscodes an den Service Provider zurückgeliefert, wobei sich das Format der Fehlerrückgabe jedoch weiterhin protokollspezifisch ist.</p> +<p>Die nachfolgende Tabelle zeigt alle protokollunabhängigen Statuscodes welche vom Modul MOA-ID-Auth zurückgeliefert werden können.</p> +<h4><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h4> +<p>Alle Statuscodes beginnend mit der Zahl eins beschreiben Fehler welche während des Identifizierungs- und Authentifizierungsvorgangs aufgetreten sind.</p> +<h5><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>1000</td> + <td>Anmeldung an der angeforderten Online-Applikation wird nicht unterstützt.</td> + </tr> + <tr> + <td>1001</td> + <td>Es ist bereits eine Anmeldung im Gange.</td> + </tr> + <tr> + <td>1002</td> + <td>Fehlerhafter Parameter</td> + </tr> + <tr> + <td>1003</td> + <td>Anfrage nur über https möglich</td> + </tr> + <tr> + <td>1004</td> + <td>Zertifikat konnte nicht ausgelesen werden</td> + </tr> + <tr> + <td>1005</td> + <td>Die Authentifizierung wurde durch den Benutzer abgebrochen</td> + </tr> + <tr> + <td>1006</td> + <td>Vollmachtsmodus für nicht-öffentlichen Bereich wird nicht unterstützt.</td> + </tr> + <tr> + <td>1007</td> + <td>Vollmachtsmodus für ausländische Personen wird nicht unterstützt.</td> + </tr> + <tr> + <td>1008</td> + <td>Es konnten nicht alle minimal erforderlichen Identifikations- oder Authentifikationsmerkmale ermittelt werden.</td> + </tr> +</table> +<h5><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>1100</td> + <td>Ungültige MOA SessionID</td> + </tr> + <tr> + <td>1101</td> + <td>Fehler beim Parsen eines Parameters</td> + </tr> + <tr> + <td>1102</td> + <td>Fehler beim Validieren der Personenbindung</td> + </tr> + <tr> + <td>1103</td> + <td>Signatur ungültig</td> + </tr> + <tr> + <td>1104</td> + <td>Zertifikat der Personenbindung ungültig</td> + </tr> + <tr> + <td>1105</td> + <td>Zertifikat der Signatur ungültig</td> + </tr> + <tr> + <td>1106</td> + <td>Fehler beim Validieren des AuthBlocks</td> + </tr> + <tr> + <td>1107</td> + <td>Fehler beim Validieren eines SSL-Server-Endzertifikates</td> + </tr> + <tr> + <td>1108</td> + <td>Fehler beim Validieren der Online Vollmacht.</td> + </tr> + <tr> + <td>1109</td> + <td>Fehler beim Validieren der SZR-Gateway Response</td> + </tr> + <tr> + <td>1110</td> + <td>Ungültige Single Sign-On Session</td> + </tr> + <tr> + <td>1111</td> + <td>Der Anmeldevorgang wurde automatisiert abgebrochten da dem Benutzer die nötigen Zugriffsrechte für diese Online Applikation fehlen.</td> + </tr> +</table> +<h5> </h5> +<h4><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h4> +<p>Alles Statuscodes beginnend mit der Zahl vier beschreiben Fehler die während der Kommunikation mit externen Services aufgetreten sind.</p> +<h5><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h5> +<p>Tritt während des Anmeldevorgangs in der Bürgerkartenumgebung ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode für Bürgerkartenumgebungsfehler weißt das folgende zweiteilige Format auf. Der erste Teil, bestehend aus zwei Dezimalstellen, kennzeichnet den Fehler als Fehler als Bürgerkartenumgebungsfehler. Der zweite Teil, bestehend aus vier Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus der Bürgerkartenumgebung (<a href="#referenzierte_spezifikation">siehe SecurityLayer Spezifikation</a>). </p> +<p align="right"><em>{40}{xxxxx}</em></p> +<blockquote> + <p>{40} ... MOA-ID Statuscode für Fehler aus der Bürgerkartenumgebung</p> + <p>{xxxx} .... Fehlercode der Bürgerkartenumgebung.</p> +</blockquote> +<h5><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h5> +<p>Tritt während der Kommunikation mit dem Online-Vollmachten Service oder der Vollmachtsauswahl ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode für Fehler aus dem Online-Vollmachten Service weißt das folgende zweiteilige Format auf. Der erste Teil, bestehend aus drei Dezimalstellen, kennzeichnet den Fehler als Fehler als Online-Vollmachten Service Fehler. Der zweite Teil, bestehend aus drei Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus dem Online-Vollmachten Service (<a href="#referenzierte_spezifikation">siehe Online-Vollmachten Spezifikation</a>). </p> +<p><em>{411}{xxxx}</em></p> +<blockquote> + <p>{411} ... MOA-ID Statuscode für Fehler aus dem Online-Vollmachten Service.</p> + <p>{xxx} .... Fehlercode des Online-Vollmachten Service.</p> +</blockquote> +<p>Zusätzlich zu den gemappten Fehlern aus dem Online-Vollmachen Service werden zusätzliche weitere Fehlercodes definiert.</p> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>41000</td> + <td>Das Online-Vollmachten Service ist nicht erreichbar</td> + </tr> + <tr> + <td>41001</td> + <td>Allgemeiner Fehler bei der Kommunikation mit dem Online-Vollmachten Service</td> + </tr> +</table> +<h5><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>4200</td> + <td>Das SZR-Gateway Service ist nicht erreichbar</td> + </tr> + <tr> + <td>4201</td> + <td>Die Antragung in das SZR ist fehlgeschlagen</td> + </tr> +</table> +<h5><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h5> +<table class="configtable"> + <tr> + <th width="23%">Statuscode</th> + <th width="77%">Beschreibung</th> + </tr> + <tr> + <td>4300</td> + <td>Fehler beim Aufruf von MOA SP/SS</td> + </tr> +</table> +<h5><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xx)</h5> +<table class="configtable"> + <tr> + <th width="23%">Statuscode</th> + <th width="77%">Beschreibung</th> + </tr> + <tr> + <td>4400</td> + <td>Fehler beim Generieren der Anmeldedaten</td> + </tr> + <tr> + <td>4401</td> + <td>Die Verwendung des angeforderten federated IDP ist nicht erlaubt</td> + </tr> +</table> +<h5>1.3.2.6 Attributprovider (45xx)</h5> +<table class="configtable"> + <tr> + <th width="12%">Statuscode</th> + <th width="88%">Beschreibung</th> + </tr> + <tr> + <td>4500</td> + <td>Der Zugriff auf einen Attributprovider ist nicht erlaubt</td> + </tr> + <tr> + <td>4501</td> + <td>Die Requestgenerierung für den Zugriff auf den Attributprovider schlug fehl</td> + </tr> + <tr> + <td>4502</td> + <td>Die Response vom Attributeprovider ist ungültig oder nicht errlaubt</td> + </tr> + <tr> + <td>4503</td> + <td>Die Response vom Attributeprovider beinhaltet einen Fehlercode</td> + </tr> +</table> +<h4><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h4> +<p>Alles Statuscodes beginnend mit der Zahl sechs beschreiben protokollspezifische Fehler die nicht durch das jeweilige Authentifizierungsprotokoll abgebildet werden.</p> +<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>6000</td> + <td>Das Authentifizierungsprotokoll wurde nicht erkannt oder wird nicht unterstützt</td> + </tr> + <tr> + <td>6001</td> + <td>Der STORK Request wurde nicht erkannt oder wird nicht unterstützt</td> + </tr> +</table> +<h5><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>6300</td> + <td>Fehlerhaftes SAML Artifact Format</td> + </tr> +</table> +<h4><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h4> +<p>Alles Statuscodes beginnend mit der Zahl neun beschreiben interne Serverfehler.</p> +<h5><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>9000</td> + <td>Fehlerhaftes BKU-Selection Template</td> + </tr> + <tr> + <td>9001</td> + <td>Fehlerhaftes Send-Assertion Template</td> + </tr> + <tr> + <td>9002</td> + <td>Fehlerhaftes SecurityLayer Template.</td> + </tr> + <tr> + <td>9003</td> + <td>Fehlerhafte STORK VIDP Konfiguration</td> + </tr> + <tr> + <td>9004</td> + <td>Fehlerhafte STORK Konfiguration</td> + </tr> + <tr> + <td>9005</td> + <td>Fehlerhafte OpenID Connect Konfiguration</td> + </tr> + <tr> + <td>9006</td> + <td>Es sind keine Vollmachtsprofile konfiguriert.</td> + </tr> + <tr> + <td>9007</td> + <td>Der SZR-Gateway Client konnte nicht initialisiert werden.</td> + </tr> + <tr> + <td>9008</td> + <td>Fehler beim Verarbeiten eines Konfigurationsparameters.</td> + </tr> + <tr> + <td>9099</td> + <td>Allgemeiner Konfigurationsfehler</td> + </tr> +</table> +<h5><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h5> +<table class="configtable"> + <tr> + <th>Statuscode</th> + <th>Beschreibung</th> + </tr> + <tr> + <td>9100</td> + <td>Fehler beim Einlesen einer externen Ressource.</td> + </tr> + <tr> + <td>9101</td> + <td>Datenbankzugriffsfehler</td> + </tr> + <tr> + <td>9102</td> + <td>Fehler beim Erzeugen einer internen Datenstruktur</td> + </tr> + <tr> + <td>9103</td> + <td>Fehler bei der Verarbeitung eines Templates</td> + </tr> + <tr> + <td>9104</td> + <td>Fehler bei der Auswahl oder Initialisierung des gewünschten Anmeldeprozesses</td> + </tr> + <tr> + <td>9105</td> + <td>Fehler bei der Fortführung des Anmeldeprozesses</td> + </tr> + <tr> + <td>9199</td> + <td>Allgemeiner interner Fehler</td> + </tr> +</table> +<p> </p> +<h2><a name="saml1"></a>3 SAML 1</h2> +<p>SAML 1 wird durch MOA-ID-Auth 2.0 auch weiterhin, aus Gründen der Abwärtskompatibilität, als Authentifizierungsprotokoll unterstützt. Es wird jedoch der Umstieg auf ein aktuelles Authentifizierungsprotokoll wie PVP 2.1 oder OpenID Connect empfohlen.</p> +<p>Die nachfolgenden Abschnitte beschreiben den Anmeldevorgang unter Verwendung von SAML1 wobei die Funktionalität, wie sie aus MOA-ID <= 1.5.1 bekannt ist, auch weiterhin unterstützt wird (Bürgerkartenauswahl auf Seiten des Service Provider). Zusätzlich steht für SAML 1 jedoch auch die Funktionalität der automatischen Generierung der Bürgerkartenauswahl durch das Modul MOA-ID-Auth zur Verfügung.</p> +<h3><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h3> +<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels SAML 1 und des Modules MOA-ID-Auth als Identity Provider. Hierbei wird die aus MOA-ID 1.5.1 bekannte Variante der Bürgerkartenauswahl beim Service Provider verwenden. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p> +<p><img src="saml1_sequence.png" width="936" height="592" alt="Sequenzdiagramm für SAML 1"></p> +<ol> + <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) über das die Online-Applikation erreichbar ist. </li> + <li>Der Service Provider antwortet mit einer öffentlichen Portalseite welche einen Login Bereich mit Bürgerkartenauswahl beinhaltet.</li> + <li>Nach Auswahl der gewünschten Authentifizierungsmethode (Bürgerkarte oder Handy-Signatur) wird der Anmeldevorgang ausgelöst und der StartAuthentication Request wird an das Modul MOA-ID-Auth gesendet.</li> + <li>MOA-ID-Auth validiert den StartAuthentication Request. Ist die Validierung erfolgreich wird der Anmeldevorgang vorgesetzt.</li> + <li>Die Benutzerin oder der Benutzer wird zur gewählten Bürgerkartenumgebung weitergeleitet. + <ol> + <li>Die Benutzerin oder der Benutzer Authentifiziert sich mit der gewählten Methode.</li> + </ol> + </li> + <li>War die Authentifizierung der Benutzerin oder des Benutzers erfolgreich generiert MOA-ID-Auth die Assertion mit den Anmeldedaten des Benutzers.</li> + <li>MOA-ID-Auth senden das SAML 1 Artifact, welches zur Abholung der Assertion verwendet werden kann, über den Browser an den Service Provider.</li> + <li>Der Service Provider stellt einen GetAuthenticationData Request an MOA-ID-Auth unter Verwendung des zuvor übermittelten Artifacts.</li> + <li>MOA-ID-Auth validiert das Artifact. Ist die Validierung erfolgreich antwortet MOA-ID-Auth mit der SAML 1 Assertion, welche die Anmeldedaten beinhaltet. </li> + <li>Der Service Provider verarbeitet die Assertion und danach ist der Benutzer an der Online-Applikation angemeldet.</li> +</ol> +<h3><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h3> +<p>Zur Verwendung von SAML 1 stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation (Service Provider) zur Verfügung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden SAML1 Nachrichten entgegennimmt.</p> +<ul> + <li><strong>StartAuthentication Request:</strong> <em>https://<host>:<port>/moa-id-auth/StartAuthentication</em><br> + Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation.</li> + <li><strong>GetAuthenticationData:</strong> <em>http(s)://<host>:<port>/moa-id-auth/services/GetAuthenticationData</em><br> + Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden.</li> +</ul> +<h3><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h3> +<p>MOA-ID-Auth wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein. Der Aufruf erfolgt durch einen Verweis der Form, wobei die Parameter sowohl als http GET als auch als http POST an MOA-ID-Auth übergeben werden können.</p> +<pre><a href="https://<moa-id-server-und-pfad>/StartAuthentication + ?Target=<geschäftsbereich> + &OA=<oa-url> + &bkuURI=<bku-url> + &Template=<template-url> + &useMandate=false + &CCC=<ccc>"></pre> +<table class="configtable"> + <tr> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> + </tr> + <tr> + <td><moa-id-server-und-pfad></td> + <td>https://demo.egiz.gv.at/<br> + demoportal_moaid-2.0/</td> + <td><p>Server und Pfad, wo MOA-ID-AUTH installiert ist</p></td> + </tr> + <tr> + <td>Target=<geschäftsbereich></td> + <td>BF</td> + <td><p>Angabe, für welches Verfahren (öffentlicher Bereich) der Benutzer authentisiert werden soll. Dieser Parameter wird jedoch durch den in entsprechenden Parameter in der <a href="./../config/config.html#konfigurationsparameter_oa_general_public">online-applikationsspezifischen Konfiguration</a> überschrieben.</p></td> + </tr> + <tr> + <td>OA=<oa-url></td> + <td>https://demo.egiz.gv.at/demoportal-demologin/securearea.action</td> + <td>Webseite, auf die der Browser nach erfolgter Authentisierung weitergeleitet werden soll</td> + </tr> + <tr> + <td>bkuURI=<bku-url></td> + <td>https://127.0.0.1:3496/https-security-layer-request</td> + <td><p>URL auf die Bürgerkartenumgebung, welche für die Authentifizierung der Benutzerin oder des Benutzers verwendet werden soll. </p> + <p><strong>Hinweis:</strong> Wird dieser Parameter nicht übertragen, antwortet das Modul MOA-ID-Auth mit einem bei MOA-ID-Auth hinterlegten Bürgerkartentemplate.</p></td> + </tr> + <tr> + <td>Template=<template-url></td> + <td>https://demo.egiz.gv.at/moa-id-auth/template_onlineBKU.html</td> + <td><strong>Optional:</strong> URL auf die HTML Vorlage für den Security-Layer Request, welcher für die Kommunikation mit der Bürgerkartenumgebung verwendet wird. Die URL muss in der online-applikationsspezifischen Konfiguration von MOA-ID-Auth hinterlegt werden (<a href="./../config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).<br> + Ist dieser Parameter nicht vorhanden, verwendet MOA-ID-Auth das für diese Online-Applikation hinterlegten Security-Layer Template (<a href="./../config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).</td> + </tr> + <tr> + <td>useMandate=<true/false></td> + <td>true / false</td> + <td><strong>Optional:</strong> Gibt an ob eine Anmeldung im Online-Vollmachten-Modus durchgeführt werden soll (=true) oder nicht (=false);</td> + </tr> + <tr> + <td>CCC=<ccc></td> + <td>BE, SI, </td> + <td><strong>Optional:</strong> Gibt an ob die Anmeldung mittels STORK im angegebenen Land erfolgen soll. Die Angabe erfolgt mit dem Ländercode (Bsp: PT, LU, ES, ...) des jeweiligen Landes.</td> + </tr> + <tr> + <td>sourceID=<xxxxxxx></td> + <td>abcdef141245</td> + <td><strong>Optional:</strong> Die sourceID fließt in die Generierung des SAML1 Artifacts, welches an den Service Provider returniert wird, ein. Detailinformationen zur Generierung des SAML1 Artifacts und zur sourceID finden Sie in der <a href="#referenzierte_spezifikation">SAML1 Spezifikation</a>.</td> + </tr> +</table> +<h3><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h3> +<p>Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). <br> + <br> +In diesem Redirect werden der Geschäftsbereich und ein SAML-Artifact als Parameter übergeben. </p> +<pre><a href="https://<oa-url>?Target=<geschäftsbereich>&SAMLArtifact=<saml-artifact>"></pre> +<table class="configtable"> + <tbody valign="baseline"> + <tr> + <td>oa-url></td> + <td>URL, der beim Aufruf von MOA-ID-AUTH als Parameter "OA" übergeben wurde</td> + </tr> + <tr> + <td>Target=<geschäftsbereich></td> + <td>Parameter, der beim Aufruf von MOA-ID-AUTH übergeben wurde</td> + </tr> + <tr> + <td>SAMLArtifact=<saml-artifact></td> + <td>SAML-Artifact, das von MOA-ID-AUTH zu den Anmeldedaten erstellt wurde. Mithilfe dieses SAML-Artifacts kann die OA die Anmeldedaten von MOA-ID-AUTH abholen.</td> + </tr> + </tbody> +</table> +<p> </p> +<p>Der Service Provider kann anschließend die Assertion, welche die Anmeldedaten oder eine Fehlermeldung beinhaltet, unter Verwendung des SAMLArtifact, am Modul MOA-ID-Auth abholen.</p> +<p>Das MOA-ID-AUTH Web Service wird über einen <samlp:Request> aufgerufen. Der <samlp:Request> enthält in einem <samlp:AssertionArtifact> das von MOA-ID-AUTH übergebene SAML-Artifact. <br> + <br> +MOA-ID-AUTH liefert als Antwort einen <samlp:Response>. Die Anmeldedaten sind im <samlp:Response> in Form einer <saml:Assertion> enthalten. <br> +Sollte während des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet das Modul MOA-ID-Auth mit einer Fehlerbeschreibung in der SAML Response. Das Element <code>/samlp:Response/samlp:Status/samlp:StatusCode</code><code>/</code> beinhaltet auf jeden Fall einen allgemeinen Fehlercode laut SAML1 Spezifikation. Zusätzlich kann das Element <code>/samlp:Response/samlp:Status/samlp:StatusCode</code><code>/</code><code>samlp:StatusCode</code><code>/</code>einen MOA-ID-Auth Fehlercode (siehe <a href="#statuscodes">Kapitel 1.3</a>) beinhalten. Außerdem erfolgt eine kurze textuelle Fehlerbeschreibung im Element <code>/samlp:Response/samlp:Status/</code><code>samlp:StatusMessage/</code>.</p> +<ul> + <li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a> <br> + </li> + <li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a></li> +</ul> +<p>Der detaillierte Aufbau der <saml:Assertion> zu den Anmeldedaten ist in der <a href="./../spec/MOA_ID_1.4_20070802.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.</p> +<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2> +<table class="configtable"> + <tbody> + <tr> + <th>Spezifikation</th> + <th>Link</th> + </tr> + <tr id="sl"> + <td><p>Security Layer Spezifikation V1.2.0</p></td> + <td><a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/">http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/</a></td> + </tr> + <tr> + <td>Online-Vollmachten Spezifikation </td> + <td><a href="http://reference.e-government.gv.at/AG-II-Architektur-mis-1-1-0.2890.0.html">http://reference.e-government.gv.at/AG-II-Architektur-mis-1-1-0.2890.0.html</a></td> + </tr> + <tr> + <td>PVP 2.1 S-Profil Spezifikation</td> + <td><a href="http://reference.e-government.gv.at/uploads/media/PVP2-S-Profil_2_0_0_a-2011-08-31.pdf">http://reference.e-government.gv.at/uploads/media/PVP2-S-Profil_2_0_0_a-2011-08-31.pdf</a></td> + </tr> + <tr> + <td>OpenID Connect</td> + <td><a href="http://openid.net/connect/">http://openid.net/connect/</a></td> + </tr> + <tr> + <td>STORK 2</td> + <td>@TODO Link</td> + </tr> + <tr> + <td>Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0</td> + <td><a href="#http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf">http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf</a></td> + </tr> + <tr> + <td>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0</td> + <td><a href="http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf">http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf</a></td> + </tr> + <tr> + <td>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V1.1</td> + <td><a href="https://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf">https://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf</a></td> + </tr> + </tbody> +</table> + </div> +</body> +</html> |