Allegato 3 - Sistema di autenticazione regionale LoginFVG

Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 1 di 16
28 marzo 2014
Specifiche Tecniche Interfacce Esterne
 Tutti i diritti riservati. Proprietà INSIEL SpA.
Pag. 1 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 2 di 16
28 marzo 2014
Compendio:
Il presente documento espone le specifiche tecniche per l’utilizzo delle Intefacce
Esterne del sistema loginfvg, realizzato per la gestione dei meccanismi di accesso
controllato alle risorse (applicazioni/servizi/funzionalità).
Riferimenti:
Modello di Gestione
ModelloGFID_V1.5.pdf
Federata
delle
Identità
Digitali
(GFID):
SPCoop-
Security Assertion Markup Language: saml-core-2.0-os.pdf
Versione
1.0
Data
28.03.2014
Principali modifiche rispetto alla versione precedente
precedente
Prima versione
Pag. 2 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 3 di 16
28 marzo 2014
INDICE
1. Introduzione ...................................................................................................................................................................................... 4
1.1. Premessa............................................................................................................................................................................................... 4
1.2. Abbreviazioni e definizioni ................................................................................................................................................................... 4
1.3. Gestione del documento...................................................................................................................................................................... 4
2. Il sistema loginfvg ............................................................................................................................................................................ 5
2.1. ll protocollo SAML ................................................................................................................................................................................ 6
2.2. Componenti del sistema loginfvg ........................................................................................................................................................7
2.3. Utilizzo dei Metadata .......................................................................................................................................................................... 14
Pag. 3 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 4 di 16
28 marzo 2014
1. Introduzione
1.1. Premessa
Il presente documento espone le specifiche tecniche del sistema loginfvg realizzato per la gestione dei
meccanismi di identificazione utente, certificazione attributi e accesso ai servizi applicativi utilizzando
le specifiche SAML2 e in accordo al modello GFID normato da DigitPA.
1.2. Abbreviazioni e definizioni
Il significato della maggior parte di abbreviazioni verrà dato nel corpo del documento stesso.
Riportiamo comunque nella seguente tabella le abbreviazioni più utilizzate nel documento:
AA
Attribute Authority
GFID
Gestione Federata Identità Digitali
IDP
Identity Provider
SP
Service Provider
SAML
Secure Assertion Markup Language
loginfvg
Sistema di identificazione della Regione Autonoma FVG
CNS
Carta Nazionale dei Servizi
PEP
Policy Decision Point: componente che controlla l’accesso ad una risorsa in
base alle regole (policy) definite
SSO
Single Sign-On
1.3. Gestione del documento
La gestione del presente documento spetta alle risorse della Divisione Integrazione e Architetture - Area
Architetture.
Pag. 4 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 5 di 16
28 marzo 2014
2. Il sistema loginfvg
loginfvg è un sistema di gestione e federazione dell’Identità digitale pensato per controllare l’accesso ai
servizi in modalità Single Sign On, in grado di garantire i tre principi fondamentali della sicurezza
informatica:
•
Confidenzialità,
Confidenzialità intesa come la capacità di un sistema di rendere inintelligibile un messaggio
a chi non è autorizzato. Di solito si utilizza la crittografia, ma è l’identità digitale che ha in
sé le credenziali necessarie per fare ciò;
•
Integrità,
Integrità intesa come la capacità di un sistema di garantire che il messaggio non sia
stato alterato. Associato a
tecnologie di firma elettronica, garantisce l’identità digitale del
mittente;
•
Disponibilità,
Disponibilità intesa come la possibilità di poter accedere alle informazioni nel momento in cui
se ne ha bisogno.
Per identità digitale si intende la rappresentazione elettronica di un set di asserzioni fatte da un soggetto
digitale riguardo se stesso o un altro soggetto. Un’identità digitale è articolata in due parti:
•
Chi uno è (identità)
•
Le credenziali che ognuno possiede (gli attributi di tale identità)
Le credenziali corrispondono ad un set di proprietà che possono differire molto in funzione dell’utilizzo
che se ne intende fare.
Pag. 5 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 6 di 16
28 marzo 2014
2.1. ll protocollo SAML
Per la gestione e la federazione delle identità digitali esistono diversi standard. Tra questi,
SAML (Secure Assertion Markup Language) è il protocollo maggiormente utilizzato per le
federazioni di identità digitale basate su browser web, in particolare nell’ambito del businessto-business. Il predominio sul mercato di SAML ha provocato, tra l’altro, il ricongiungimento con
Liberty ID-FF, incluso nella versione SAML 2.0.
SAML è un framework basato su XML prodotto da OASIS Security Services Technical Committee che
consente lo scambio di informazioni per l’autenticazione e per l’autorizzazione fra reti e siti
web federati.
SAML è uno standard informatico per lo scambio di dati di autenticazione e autorizzazione, dette
Asserzioni, tra domini di sicurezza distinti (tipicamente un Identity Provider e un Service Provider): il
formato delle asserzioni SAML è basato su XML. Il problema principale che SAML cerca di risolvere è
quello del Web Single Sign-On (SSO) tra entità appartenenti a organizzazioni e domini di sicurezza
distinti con lo scopo di gestire una identità federata.
SAML permette di implementare, ad esempio, soluzioni di SSO che consentano agli utenti di visitare
diversi siti web accedendo alle risorse protette in essi contenuti, senza dover fornire ogni volta le
proprie credenziali. Oltre a questo, SAML rende possibile includere informazioni di sicurezza in
documenti usati nelle transazioni d'affari. SAML permette alle “business entities” di emettere
“assertions” relative a identità, attributi, e diritti di un subject indirizzate ad altre entità, come
ad esempio un socio di una compagnia o un’ altra enterprise application.
I vantaggi di SAML sono molteplici:
•
l’indipendenza dalla piattaforma utilizzata;
•
non è più necessario mantenere sincronizzate le informazioni utente tra le diverse directory.
Ogni dominio gestisce gli attributi necessari al contesto d’uso;
•
miglioramento dell’esperienza online per l’utente finale, fornendo semplicità e sicurezza delle
informazioni introdotte;
•
riduzione del costo d’amministrazione per i service provider, poiché l’atto di autenticazione può
essere riusato senza bisogno di mantenere le informazioni d’account;
•
riduzione del rischio di trasferimento delle informazioni tramite meccanismi di sicurezza come
firme digitali (XML Signature), cifratura (XML Encryption), crittografia (SSL e TLS), codifica,
etc..
Pag. 6 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 7 di 16
28 marzo 2014
Le asserzioni SAML contengono pacchetti d’informazioni sicure scambiati tra autorità SAML e utilizzati
per prendere decisioni di access control. Ogni asserzione può contenere uno o più costrutti SAML
chiamati statement. Esistono tre tipi di statement:
•
Authentication statement: dichiara se il soggetto è stato riconosciuto in base alla tipologia di
credenziali presentate e da chi, nonché l’istante in cui è stato rilasciato lo statement;
•
Attribute statement: dichiara che ad un soggetto sono associati determinati attributi e quale
ne è il valore;
•
Authorization Decision statement: dichiara se il soggetto ha l’autorizzazione ad effettuare
determinate azioni sulla risorsa (applicazione/servizio/etc.) in base alle proprie credenziali,
agli attributi posseduti in quel determinato istante e quindi contenute nel portafoglio delle
asserzioni costruito e ad altre eventuali regole di accesso definite dal Policy Decision Point
(PEP).
2.2. Componenti del sistema loginfvg
Ad ognuno degli statement definiti nel protocollo SAML è possibile associare un’entità o server,
prevista negli standard per la federazione dell’Identià digitale; tali entità sono state definite in loginfvg
e, di seguito, ne viene data una prima definizione, per identificarne il ruolo all’interno del processo di
accesso ad una risorsa (servizio, per comodità, nel seguito):
•
Identity Provider:
Provider è il componente responsabile della certificazione dell’identità degli utenti; solo
gli utenti noti all’IdP possono accedere al servizio.
•
Attribute Authority:
Authority è il componente in grado di certificare gli attributi degli utenti, questi attributi
possono essere o meno organizzati in un profilo; ogni servizio richiede un certo insieme di
attributi, certificati o meno da una AA, di cui l’utente deve disporre per poter fruire del
servizio/risorsa/applicazione. Le AA possono essere sia interne che esterne al dominio; loginfvg,
oltre ad implementare una propria AA, è in grado di svolgere il ruolo di Profile Authority (è l’entità
incaricata della gestione dei profili dell’utente), mappando le Attribute Authority esterne federate
che certificano gli attributi dell’utente. Inoltre è stata rilasciata una applicazione web in grado di
svolgere il ruolo di Attribute Authority wrapper: tale applicazione permette ad un sistema che è in
grado di certificare attributi ma che non “parla” SAML, di presentarsi come una
AttributeAuthority, facendosi carico del dialogo basato su Asserzioni e interfacciando il sistema
erogatore tramite un webservice standard.
•
Service Provider:
Provider è l’authority che si occupa dell’autorizzazione all’accesso ad un servizio; verifica
che l’utente sia stato riconosciuto da un IdP e disponga degli attributi necessari per accedere al
servizio richiesto interfacciandosi con il Policy Decision Point.
Pag. 7 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 8 di 16
28 marzo 2014
Ognuna delle entità descritte può essere interrogata singolarmente all’interno di un processo che
descriva la modalità di accesso ad un servizio.
Per interrogare l’Identity Provider (IdP) l’applicazione deve utilizzare una AuthenticationRequest,
AuthenticationRequest
passata come parametro di un’http request inoltrata con metodo POST; la request SAML va firmata,
codificata in Base64 e passata come valore del campo SAMLRequest
SAMLRequest.
Request
L’IdP di loginfvg mette a disposizione dell’utente varie modalità di riconoscimento:
•
Tramite username e password; le credenziali di questo tipo possono essere associate ad un
account anonimo o ad una identità digitale;
•
Tramite smartcard CNS standard (o businesskey)
•
Tramite credenziali Active Directory
Per interrogare l’Attribute Authority (AA) l’applicazione deve inoltrare una Attribute Query all’interno di
un SOAP Message all’indirizzo del webservice della AA.
L’AA restituisce una SAMLresponse contenente un’asserzione di attributo (un’asserzione contenente
un’Attribute Statement).
Se l’applicazione si occupa di gestire informazioni sugli utenti che possono essere certificate come
attributi, l’applicazione stessa può diventare un’Attribute Authority. loginfvg mette a disposizione delle
applicazioni un componente web che dialoga con l’applicazione tramite un webservice standard e che
espone gli attributi certificati dall’applicazione nella modalità richiesta dalle AA SAML (Attribute
Authority Esterna Non SAML). Tali AA Esterne possono essere contattate direttamente oppure
possono essere federate con loginfvg, in modo tale che, quando qualcuno richiede l’attributo in
questione, sia loginfvg a recuperarlo dalla AA Esterna e inserirlo tra gli attributi dell’utente.
Il portafoglio delle asserzioni di un utente è un costrutto XML denominato SAMLResponse.
Per interrogare le due Authority di loginfvg è quindi necessario l’invio di una richiesta SAML firmata e
codificata in Base64, nello specifico una AuthenticationRequest per l’IdP e una AttributeQuery per l’AA.
In entrambi i casi la risposta sarà una SAMLResponse contenente le asserzioni firmate, rilasciate dalle
rispettive Authority, inviata tramite una request HTTP di tipo POST, in formato codificato Base64.
Analizziamo ora il primo caso, ossia come interrogare le Authority inviando richieste SAML.
Pag. 8 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 9 di 16
28 marzo 2014
Le caratteristiche che deve avere la <AuthnRequest> sono le seguenti:
•
deve essere presente l’attributo ID univoco;
•
deve essere presente l’attributo Version;
•
deve essere presente l’attributo IssueInstant a indicare l’istante di emissione della richiesta, in
formato UTC;
•
deve essere presente l’attributo ProtocolBinding, una URI reference che identifica il binding da
utilizzare per inoltrare il messaggio di risposta (<Response>): deve valere sempre “HTTP-POST”;
•
deve essere presente l’attributo Destination, a indicare l’indirizzo (URI reference) a cui è stata
inviata la richiesta, cioè il servizio SSO Service del Local Proxy;
•
deve essere presente l’attributo IsPassive con valore “false”, poiché non si vuole prevenire
l’interazione esplicita tra certificatore di identità e utente;
•
deve essere presente l’attributo AssertionConsumerServiceURL a indicare l’URL a cui inviare
il messaggio di risposta alla richiesta di autenticazione (in questo caso l’indirizzo del servizio ACS
del Service Provider);
•
deve essere presente l’elemento <Issuer> a indicare l’entità emittente (il Service Provider o
altro soggetto riconosciuto nell’ambito della federazione);
•
l’elemento <NameIDPolicy> e il relativo attributo AllowCreate devono segnalare all’Identity
Provider tramite il Local Proxy che non è ammesso che l’identificativo dell’utente venga creato
contestualmente alla fase di autenticazione (in altre parole, si richiede che il subject sia già
registrato presso il certificatore d’identità);
•
l’attributo ForceAuthn deve valere “false” (per consentire all’Identity Provider di riutilizzare un
contesto di autenticazione precedentemente creato per l’utente in precedenza, nell’ambito della
stessa sessione di lavoro (Single-Sign-On);
•
l’attributo ProxyCount dell’elemento <Scoping> deve correttamente indicare il numero di
redirezioni permesse verso i certificatori di identità: nel caso in esame deve valere almeno “2” per
consentire l’attraversamento di Local Proxy e Profile Authority per poter infine giungere su un
Identity Provider;
•
l’attributo AttributeConsumingServiceIndex deve essere posto pari all’indice posizionale
della struttura AttributeConsumingService presente nei metadati del Service Provider e atta a
descrivere i requisiti in termini di attributi necessari da parte del servizio offerto dal Service
Provider e richiesto dall’utente;
•
l’elemento <RequesterID> dell’elemento <Scoping>, se presente, deve indicare l’entityID del
Service Provider;
•
deve essere presente l’elemento <RequestedAuthnContext> a indicare il contesto di
autenticazione atteso (per esempio la “forza” delle credenziali richieste);
•
Nel caso venga usato il binding HTTP-POST, deve essere presente l’elemento <Signature>
apposto dal Service Provider, contenente la firma dell’intero messaggio.
Di seguito un esempio di AuthRequest per l’IdP:
Pag. 9 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 10 di 16
28 marzo 2014
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceIndex="0"
AssertionConsumerServiceURL="url dell'applicazione chiamante" ForceAuthn="true" ID="A3814B1C5EBDB7D48A75F90C2A274C941338367294499"
IssueInstant="2012-05-30T10:41:34.000Z" ProviderName="http://172.22.15.24:10080/ws3/IdpAuthnRequest" Version="1.2">
<saml:Issuer
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">http://fvgaccount.insiel.it:10080/ws3/MetadataPublisherServlet?meta=IDPmetadata</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Reference URI="#s231e3a715714745c318cc7ae3525785e87f80bc5b" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ec:InclusiveNamespaces PrefixList="ds saml samlp"
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:DigestValue
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">DDijrDdCcgGUly1vSUb9VPfrx5o=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
jyEgVPWXKdTqLVwmQU35QNwDg9HIkDAHKlZG8pjDo9tBQ62GwdWftd2RsO2gHDt0Qh7ZaiVMyt+H
El8kdSY5SWOGRYQ7mcn+MSEBK0fr24Kw9SZLqSnndhy1PF1M0HV7AgeWGq/+ucsROwqb2aUI7hdX
jxPJLwQQN+CoU0Z6yPE=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>[CERTIFICATO X509 CODIFICATO IN BASE64]</ds:X509Certificate>
<ds:X509Certificate>[CERTIFICATO X509 CODIFICATO IN BASE64]</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Conditions xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" NotBefore="2012-05-30T10:41:34.000Z" NotOnOrAfter="2012-0530T11:11:34.000Z"/>
<samlp:RequestedAuthnContext>
<saml:AuthnContextClassRef
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
Pag. 10 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 11 di 16
28 marzo 2014
<samlp:Scoping>
<samlp:RequesterID>http://fvgaccount.insiel.it:10080/ws3/IdpAuthnRequest</samlp:RequesterID>
</samlp:Scoping>
</samlp:AuthnRequest>
In questo caso l’AuthenticationRequest va inviata attraverso una request http di tipo POST all’url del
componente di Authority; l’indirizzo di callback va messo nell’attributo AssertionConsumerServiceURL
mentre le varie modalità di autenticazione da rendere disponibile all’utente vanno indicate nel tag
samlp:RequestedAuthnContext.
samlp:RequestedAuthnContext.
Request di tipo POST indirizzata a IdpAuthRequest:
<form name="formLogin" method="POST" action=”URL web IdP”>
<input
type="hidden"
name="SAMLRequest"
value=”AuthRequest
firmata
e
codificata in Base64”>
</form>
Forniamo ora un esempio di AttributeQuery per interrogare il webservice della Attribute Authority.
Gli scenari di interazione per la richiesta di attributi da parte del Service Provider si basano sul “SAML
SOAP binding” previsto dalla specifica OASIS. Questo binding prevede che i costrutti SAML di richiesta e
risposta siano inclusi nel body dei messaggi SOAP scambiati (al massimo una richiesta o una risposta per
messaggio).
Il binding prescrive inoltre l’uso di “SOAP over HTTP”, che prevede l’uso di un header SOAPAction come
parte di una richiesta SOAP.
Pag. 11 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 12 di 16
28 marzo 2014
Costrutti SAML trasportati con binding SOAP over HTTP o HTTPS
I costrutti SAML a cui si fa riferimento sono <AttributeQuery> e la relativa <Response>.
Le caratteristiche che deve avere in questo caso la <AttributeQuery> sono le seguenti:
•
deve essere presente l’attributo ID univoco;
•
deve essere presente l’attributo Version;
•
deve essere presente l’attributo IssueInstant a indicare l’istante di emissione della richiesta, in
formato UTC;
•
deve essere presente l’attributo Destination, a indicare l’indirizzo (URI reference) a cui è stata
inviata la richiesta, cioè il servizio Attribute Service del Local Proxy;
•
deve essere presente l’elemento <Issuer> a indicare l’entità emittente (il Service Provider); allo
scopo di poter specificare qual è il servizio richiesto al Service Provider, relativamente al quale si
sta facendo una richiesta di attributi del profilo utente, data la mancanza di opportune strutture
all’interno della AttributeQuery e volendo evitare di estendere la specifica, il valore dell’elemento
<Issuer> dovrà essere ottenuto concatenando all’Issuer stesso il carattere “#” e l’indice del
servizio richiesto dall’utente al Service Provider.
•
deve essere presente l’elemento <Subject> a indicare l’utente a cui si riferisce la richiesta di
attributi;
•
possono essere presenti uno o più elementi <Attribute>, il cui Name indica l’attributo di cui si
vuole conoscere il valore e deve essere specificato sia il Name che il FrendlyName,
conformememente a quanto specificato negli Accordi di Servizio del Circle of Trust;
•
deve essere presente l’elemento <Signature> apposto dal Service Provider o altra autority
rioconosciuta all’interno della federazione.
Pag. 12 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 13 di 16
28 marzo 2014
<samlp:AttributeQuery xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="FC327A44C501A9754CF5FB2E742D03C81338375883033" IssueInstant="2012-05-30T13:04:43.000Z" Version="2.0">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameidformat:transient">FVGaccountAttributeAuthority</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Reference URI="#s201d4f2679ae7ea6349c7236f82c5ae423e05af9e"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-excc14n#" PrefixList="ds saml samlp"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:DigestValue
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">LBVYfg7rUIbnS/ZOKX5rmJ8GnUw=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
pu+36efIeK9u5TsZJdT2JMPK2DH95DCDnxJ/m6VnZ3hi7qzZoI+Cc3546k1s1WUZmCLupSEnNqN2
ImLSOPsElMZoNN/+Zc4w/43xdo4CnctuNnl3zYkGUp0p6pFO8reOymIQLQULTv/OYnpDVChfFsl9
O26gXGG0U8hGgWaZdaw=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>[CERTIFICATO X509 CODIFICATO IN BASE64]</ds:X509Certificate>
<ds:X509Certificate>[CERTIFICATO X509 CODIFICATO IN BASE64]</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">Codice Univoco Utente (Codice
Fiscale)</saml:NameID>
</saml:Subject>
<saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" FriendlyName="Attributo 1"
Name="urn:oid:1.3.6.1.4.1.1466.115.121.1.26" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
Pag. 13 di 16
Divisione Integrazione e Architetture - Area Architetture
loginfvg
Specifiche tecniche
IDIA--ARC
ARC--000
000640
640--SPT
SPT--14
14--0004
IDIA
640
Pag. 14 di 16
28 marzo 2014
<saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" FriendlyName="Attributo 2"
Name="urn:oid:1.3.6.1.4.1.1466.115.121.1.27" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" FriendlyName="Attributo 3"
Name="urn:oid:1.3.6.1.4.1.1466.115.121.1.28" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
</samlp:AttributeQuery>
L’Attribute Query va messa nel body di un SOAP Message da inviare al webservice dell’Attribute
Attribute
Authority,
Authority che risponde con una SAMLResponse contenente un’Asserzione di Attributo.
Elementi chiave della richiesta sono, oltre agli attributi, di cui occorre specificare il nome e il Friendly
Name, la chiave univoca dell’utente del quale vengono richiesti gli attributi, nel nostro caso, e come
normato da DigitPA, il Codice Fiscale.
2.3. Utilizzo dei Metadata
Un’entità (IDP, AA, SP, LP etc.) è descrivibile tramite documenti XML con un formato definito dallo
standard SAML 2.0 nel documento relativo ai metadati.
Tramite i metadati è possibile definire il tipo di un’entità, le sue chiavi pubbliche, proprietà utili (come la
richiesta di firma dei costrutti forniti o richiesti) e d è possibile definire i servizi, ed in particolare il loro
indirizzo URL e il tipo di binding supportato.
Tutte le entità proprie dell’ambito di loginfvg sono dotate di un proprio documento di metadati secondo lo
standard SAML 2.0 il quale è firmato dalla Regione FVG in qualità di Fiduciario, a sancire l’affidabilità delle
informazioni specificate nei metadati stessi.
Pag. 14 di 16