Hi,

eIDAS (electronic IDentification, Authentication and trust Services) is an
EU regulation on electronic identification and trust services for
electronic transactions in the internal market. The eIDAS interoperability
framework including its national entities (eIDAS-Connector and
eIDAS-Service) need to exchange messages including personal and technical
attributes to support cross-border identification and authentication
processes (Please refer [1] for more information). For the exchange of
messages, the use of the SAML 2.0 specifications has been agreed and there
are eIDAS compliant set of technical specifications in [2], which Member
States of EU to use to develop their own eIDAS-compliant implementation.


As per the "eIDAS SAML Message Format" specification, handling and
inclusion of attributes into exchanged messages is defined as follows.

   - Attributes MUST be requested as <eidas:RequestedAttributes> and
*<eidas:RequestedAttributes>
   MUST be included in the <saml2p:Extensions> element of the SAML
   AuthnRequest.*

Ex:

<saml2p:AuthnRequest
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
        *xmlns:eidas="http://eidas.europa.eu/saml-extensions
<http://eidas.europa.eu/saml-extensions>"* ...>
 ............
 *<saml2p:Extensions>*
   *<eidas:SPType>public</eidas:SPType>*
        *<eidas:RequestedAttributes>*
           <eidas:RequestedAttribute FriendlyName="D-2012-17-EUIdentifier"
                
Name="http://eidas.europa.eu/attributes/legalperson/D-2012-17-EUIdentifier";
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired="false" />
           <eidas:RequestedAttribute FriendlyName="LegalPersonIdentifier"
                
Name="http://eidas.europa.eu/attributes/legalperson/LegalPersonIdentifier";
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired="true" />
   </eidas:RequestedAttributes>
 </saml2p:Extensions>
 .............
</saml2p:AuthnRequest>


   - Apart from the attributes, for indicating whether an authentication
   request is made by a private sector or public sector SP, the defined
   element *<eidas:SPType> MUST be present* either in the <md:Extensions>
   element of SAML metadata or in the <saml2p:Extensions> element of a
   <saml2p:AuthnRequest>.


As per the SAML Core specification in [3], SAML Extensions is an optional
element in SAML 2.0, allowing arbitrary information to be passed to the
identity provider which are agreed on between the communicating parties. As
mentioned above, eIDAS attributes should be included within SAML extension
element.


Currently in IS, *SAML Extensions processing *has not taken into the
consideration. So that, in order to have eIDAS profile support for SAML,
that should be considered. Please find the following proposed
implementation.

   1. *Register a set of SAML Extension Processors* - extensible mechanism
   where we can include any extension processing
   2. *eIDAS Extension Processor *- specifically handled the eIDAS extension
   3. *Invoke the processors when building the SAML assertion*
      - Consider that all the necessary attributes are configured as the SP
      requested claims
   - In the eIDAS processor, filtering out the requested attributes based
      on the "RequestedAttributes" elements in the authentication request


Really appreciate your suggestions and comments.


[1]
https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/How+does+it+work+-+eIDAS+solution
[2]
https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/2016/12/16/eIDAS+Technical+Specifications+v.+1.1
[3] https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

Thanks and Regards

-- 
Indunil Upeksha Rathnayake
Software Engineer | WSO2 Inc
Email    indu...@wso2.com
Mobile   0772182255
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to