Austria SAML Detailed Analysis - RUB-NDS/FutureTrust GitHub Wiki
The Austrian SAML Profile “PVP 2” (Portalverbundprotokoll) is a national SAML 2.0 profile that is pretty close to the Kantara eGov 2.0 profile, as well as close to eIDAS. The Austrian integration middleware “MOA-ID” has an eIDAS interface, it has undergone and passed the CEF eIDAS conformance test in March 2017.
The SAML profile “PVP 2” is an implementation profile Web browser SSO with HTTP Redirect binding for the AuthnRequest and HTTP Post or Artifact binding for the response.
Identity Providers, Service Providers and discovery services must provide a SAML Metadata file and must support the SAML 2.0 Metadata Interoperability Profile Version 1.0.
SAML AuthnRequests must be signed, as well as responses must be signed. Signing assertions or encryption of assertions is optional.
In a typical citizen authentication, requested attributes are the name, date of birth, and the unique sector-specific identifier. This can get amended by mandate and representation information. In a national authorization federation network between public authorities “Portalverbund” also official’s roles are transmitted.
An authentication request is illustrated below:
<saml2p:AuthnRequest
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol“
AssertionConsumerServiceIndex="1" AttributeConsumingServiceIndex="0“
Destination=https://demo.egiz.gv.at/demoportal_moaid-2.0/pvp2/post
ID="_aeebfae3ce681fe3ddcaf213a42f01d3" IssueInstant="2014-03-05T06:39:02.775Z“
Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion“
Format="urn:oasis:names:tc:SAML:2.0:nameid-
format:entity">https://demo.egiz.gv.at/demoportal_demologin/</saml2:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<saml2p:NameIDPolicy AllowCreate="true“
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"/>
<saml2p:RequestedAuthnContext>
<saml2:AuthnContextClassRef
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
http://www.stork.gov.eu/1.0/citizenQAALevel/4</saml2:AuthnContextClassRef>
</saml2p:RequestedAuthnContext>
</saml2p:AuthnRequest>
The corresponding SAML response is:
<saml2p:Response
Destination="https://demo.egiz.gv.at/demologin-pvp2-sso/securearea.action"
ID="_d38c7e611419150ada06d13ff4da7b88"
InResponseTo="_ca32e1569934f581fbb8c3f01848741e"
IssueInstant="2015-11-03T19:20:05.228Z" Version="2.0">
<saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://demo.egiz.gv.at/demoportal_moaid-2.0</saml2:Issuer>
<ds:Signature >
<saml2p:Status><saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></saml2p:Status>
<saml2:Assertion ID="_bf798c5f02b11cbf998c22cb3ded7b72"
IssueInstant="2015-11-03T19:20:05.228Z" Version="2.0">
<saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://demo.egiz.gv.at/demoportal_moaid-2.0</saml2:Issuer>
<saml2:Subject>
<saml2:NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" NameQualifier="urn:publicid:gv.at:cdid+BF">ffK+ZadGhjrero65dsWinfkt5Yc=</saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData
InResponseTo="_ca32e1569934f581fbb8c3f01848741e"
NotOnOrAfter="2015-11-03T19:25:05.227Z" Recipient="https://demo.egiz.gv.at/demologin-pvp2-sso/securearea.action"/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2015-11-03T19:20:05.228Z" NotOnOrAfter="2015-11-03T19:25:05.227Z">
<saml2:AudienceRestriction>
<saml2:Audience>https://demo.egiz.gv.at/demologin-pvp2-sso/</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement AuthnInstant="2015-11-03T19:20:05.228Z" SessionIndex="_9810aeadbb37194fc8d33908eea9f108">
<saml2:AuthnContext> <saml2:AuthnContextClassRef>http://www.stork.gov.eu/1.0/citizenQAALevel/4</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute FriendlyName="PRINCIPAL-NAME"
Name="urn:oid:1.2.40.0.10.2.1.1.261.20" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>Mustermann</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="GIVEN-NAME" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>Max</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="BIRTHDATE"
Name="urn:oid:1.2.40.0.10.2.1.1.55" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>1990-01-01</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="BPK"
Name="urn:oid:1.2.40.0.10.2.1.1.149" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>BF:ffK+ZadGhjrero65dsWinfkt5Yc</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="EID-SECTOR-FOR-IDENTIFIER"
Name="urn:oid:1.2.40.0.10.2.1.1.261.34" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>urn:publicid:gv.at:cdid+BF</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
</saml2p:Response>