RequisitiEntita

Da WIKI IDEM GARR.
Jump to navigation Jump to search

In questa pagina sono indicati i requisiti richiesti dalla Federazione Italiana delle Identità Digitali IDEM GARR AAI.

Security (SEC) - Identity Provider & Service Provider

I requisiti di seguito elencati sono relativi al certificato SSL utilizzato per l'interfaccia HTTPS del servizio.

Non riguardano invece i certificati utilizzati dagli Identity e Service Provider per cifrare e firmare digitalmente le asserzioni presenti nei metadata.

SEC1 - Grado di robustezza SSL

il certificato SSL utilizzato sulla porta HTTPS del servizio DEVE riportare almeno un grado B su SSL Labs: https://www.ssllabs.com/ssltest/

[TOP]

SEC2 - Chain issue

il certificato SSL utilizzato sulla porta HTTPS del servizio DEVE essere privo di "Chain issues" (errori sulla catena della CA) --- verificabile con SSL Labs.

[TOP]

Identity Provider

Metadata (IDP-MD)

I requisiti di seguito elencati sono relativi ai metadata di un Identity Provider (IDP) e seguono le direttive indicate in SAML V2.0 Deployment Profile for Federation Interoperability.


IDP-MD01 - validUntil

validUntil DEVE essere rimosso assieme al suo valore in quanto è la Federazione a stabilirlo.

[TOP]


IDP-MD02 - entityID

entityID DEVE essere una URI assoluta di lunghezza massima 256 caratteri.

[TOP]

IDP-MD03 - Scope

<shibmd:Scope>, contenuto nell'elemento <md:Extension>, DEVE:

  • assumere valori di dominio nella disponibilità dell'organizzazione (strumento di verifica WHOIS)


Esempio:

<shibmd:Scope>example.org</shibmd:Scope>

[TOP]

IDP-MD04 - DisplayName

<mdui:DisplayName>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con il nome del servizio da mostrare all'utente
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:DisplayName xml:lang="en">Example University</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">Università di Esempio</mdui:DisplayName>

[TOP]

IDP-MD05 - Description

<mdui:Description>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con una breve descrizione del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:Description xml:lang="en">Identity provider for Example University user</mdui:Description> 
<mdui:Description xml:lang="it">Identity provider per gli utenti di Università di Esempio</mdui:Description>

[TOP]

IDP-MD06 - InformationURL

<mdui:InformationURL>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con la URL della pagina informativa del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:InformationURL xml:lang="en">https://...info page in english...</mdui:InformationURL> 
<mdui:InformationURL xml:lang="it">https://...pagina di informazioni in italiano...</mdui:InformationURL>

[TOP]

IDP-MD07 - PrivacyStatementURL

<mdui:PrivacyStatementURL>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con la URL della pagina sul trattamento dei dati personali del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:PrivacyStatementURL xml:lang="en">https://...privacy policy in english...</mdui:PrivacyStatementURL>  
<mdui:PrivacyStatementURL xml:lang="it">https://...privacy policy in italiano...</mdui:PrivacyStatementURL>

[TOP]

<mdui:Logo>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con le URL https:// dei loghi dell'organizzazione in formato PNG (si RACCOMANDA uno sfondo trasparente) nei formati:
    • 16x16 pixel (o maggiore se rispetta l'aspect-ratio)
    • 80x60 pixel (o maggiore se rispetta l'aspect-ratio)


Esempio:

<mdui:Logo width="16" height="16">https://...favicon_16x16.png...</mdui:Logo>
<mdui:Logo width="80" height="60">https://...logo_80x60.png...</mdui:Logo>

[TOP]

DAVIDE - ARRIVATO QUI!

IDP-MD09 - KeyDescriptor

<md:KeyDescriptor> DEVE contenere una chiave pubblica:

  • nel formato di un certificato X.509 e possibilmente:
    • di lunga durata (30 anni)
    • autofirmate (self-signed)
    • valido temporalmente (non scaduto)
    • non firmato con gli algoritmi di firma MD5 o SHA1
  • lunga almeno 2048 bit. Per le nuove installazioni si RACCOMANDA una lunghezza di 3072 bit
  • con o senza l'attributo use valorizzato a signing


IDP-MD10 - SingleSignOnService

<md:SingleSignOnService> DEVE:

  • esistere per il Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' perchè necessario alle Authentication Request (AuthnRequest), con una Location la cui URL è protetta da SSL e comincia per https://
  • esistere per il Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' perchè necessario alle Authentication Response (AuthnResponse), con una Location la cui URL è protetta da SSL e comincia per https://

Esempio:

<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://..."/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://..."/>

[TOP]

IDP-MD10 - SingleLogoutService

<md:SingleLogoutService> DEVE:

  • esistere per il Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' perchè necessario alle Logout Request (LogoutRequest), con una Location la cui URL è protetta da SSL e comincia per https://

Esempio:

<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://..."/>

[TOP]

IDP-MD11 - OrganizationName

<md:OrganizationName> , contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con il nome dell'organizzazione a cui afferisce il servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationName xml:lang="en">Example University</md:OrganizationName> 
<md:OrganizationName xml:lang="it">Università di Esempio</md:OrganizationName>

[TOP]

IDP-MD12 - OrganizationDisplayName

<md:OrganizationDisplayName> , contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con il nome dell'organizzazione che verrà mostrato nelle interfacce utente
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationDisplayName xml:lang="en">Example University</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">Università di Esempio</md:OrganizationDisplayName>

[TOP]

IDP-MD13 - OrganizationURL

<md:OrganizationURL>, contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con la URL del sito principale dell'organizzazione a cui afferisce il servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL> 
<md:OrganizationURL xml:lang="it">https://...sito istituzionalein italiano...</md:OrganizationURL>

[TOP]

IDP-MD14 - ContactPerson

<md:ContactPerson> DEVE:

  • essere valorizzato con l'indirizzo email del contatto tecnico del servizio identificato dall'attributo contactType="technical".
    Si RACCOMANDA l'utilizzo di un indirizzo impersonale (mailing-list)


Esempio:

<ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson>

[TOP]


Federation (IDP-FED)

I requisiti di seguito elencati sono dettate dalla Federazione e destinate agli Identity Provider

IDP-FED1 - Data

un Identity Provider in IDEM DEVE essere in grado di rilasciare le seguenti informazioni:

  1. Un identificativo univoco persistente e targhettizzato per i suoi utenti:
    • persistent-id (persistent NameID) (o eduPersonTargetedID se non è possibile rilasciarlo)
  2. L'affiliazione dell'utente con scopo:
    • affiliation (eduPersonScopedAffiliation)


Esempio con sp.aai-test.garr.it:

affiliation = member@aai-test.garr.it;staff@aai-test.garr.it
persistent-id = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU=

[TOP]

IDP-FED2 - Info Page

La pagina informativa esposta in lingua italiana e in lingua inglese DEVE opportunamente contenere:

  1. un indirizzo di posta elettronica per il supporto agli utenti in merito a IDEM e alle credenziali di autenticazione
  2. la Privacy Policy per l’utente contenente gli attributi che potrebbe rilasciare alle risorse federate
  3. il Logo di IDEM e il link al Sito di IDEM (fortemente raccomandato)

[TOP]

IDP-FED3 - Privacy Page

La pagina sul trattamento dei dati personali (Privacy Policy) seguita dall'istituzione ed esposta in lingua italiana e in lingua inglese DEVE opportunamente contenere le adeguate informazioni per gli utenti.

A titolo esemplificativo, IDEM fornisce la pagina: InformativaDatiPersonaliIdP.

[TOP]

IDP-FED4 - Login Page

La pagina di login di un Identity Provider federato in IDEM DEVE contenere:

  • il riferimento alla pagina informativa indicata da <mdui:InformationURL>
  • il riferimento alla pagina sul trattamento dei dati personali indicata da <mdui:PrivacyStatementURL>
  • il logo di IDEM (Logo IDEM)
  • il riferimento al Contatto Tecnico o al Contatto di Supporto per la risoluzione delle problematiche legate all'accesso alle risorse da parte degli utenti

[TOP]

Service Provider

Metadata (SP-MD)

I requisiti di seguito elencati sono relativi ai metadata che descrivono un Service Provider (SP)

SP-MD1 - DisplayName

<mdui:DisplayName> , contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con il nome del servizio da mostrare all'utente senza contenere il valore "IDEM" riservato al Servizio.
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:DisplayName xml:lang="en">Resource provided by Example Organization</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</mdui:DisplayName>

[TOP]

SP-MD2 - Description

<mdui:Description> , contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con una breve descrizione del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:Description xml:lang="en">The resource allow you to ...</mdui:Description> 
<mdui:Description xml:lang="it">La risorsa ti permette di ...</mdui:Description>

[TOP]

SP-MD3 - InformationURL

<mdui:InformationURL> , contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con la URL della pagina informativa del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese

Esempio:

<mdui:InformationURL xml:lang="en">https://...info page in english...</mdui:InformationURL> 
<mdui:InformationURL xml:lang="it">https://...informativa in italiano...</mdui:InformationURL>

[TOP]

SP-MD4 - PrivacyStatementURL

<mdui:PrivacyStatementURL>, contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con la URL della pagina sul trattamento dei dati personali del servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<mdui:PrivacyStatementURL xml:lang="en">https://...privacy policy in english...</mdui:PrivacyStatementURL>  
<mdui:PrivacyStatementURL xml:lang="it">https://...privacy policy in italiano...</mdui:PrivacyStatementURL>

[TOP]

<mdui:Logo> , contenuto nell'elemento <mdui:UIInfo>, DEVE:

  • essere valorizzato con una URL https:// riportante il logo dell'organizzazione in formato PNG (si RACCOMANDA uno sfondo possibilmente trasparente) con:
    • base: dai 64 px ai 350 px
    • altezza: dai 64px ai 146px

Se viene fornito di dimensioni maggiori, DEVE rispettare l'aspect-ratio.


Esempio:

<mdui:Logo width="64" height="64">https://...logo.png</mdui:Logo>

[TOP]

SP-MD6 - RequestedAttribute

<md:RequestedAttribute> , contenuto nell'elemento <md:AttributeConsumingService>, DEVE:

  • contenere tutti e soli gli attributi SAML richiesti dal servizio
  • indicare gli attributi indispensabili all'accesso e all'utilizzo del servizio con il parametro isRequired="true"
  • indicare gli attributi non indispensabili all'accesso e all'utilizzo del servizio con il parametro isRequired="false"


Esempio:

<md:RequestedAttribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>

[TOP]

SP-MD7 - OrganizationName

<md:OrganizationName> , contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con il nome dell'organizzazione che offre il servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationName xml:lang="en">Example Organization</md:OrganizationName> 
<md:OrganizationName xml:lang="it">Organizzazione di Esempio</md:OrganizationName>

[TOP]

SP-MD8 - OrganizationDisplayName

<md:OrganizationDisplayName> , contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con il nome dell'organizzazione che offre il servizio da mostrare all'utente
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationDisplayName xml:lang="en">Resource provided by Example University</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">Risorsa fornita da Università di Esempio</md:OrganizationDisplayName>

[TOP]

SP-MD9 - OrganizationURL

<md:OrganizationURL>, contenuto nell'elemento <md:Organization>, DEVE:

  • essere valorizzato con la URL del sito principale dell'organizzazione che offre il servizio
  • essere definito sia per la lingua italiana, sia per la lingua inglese


Esempio:

<md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL> 
<md:OrganizationURL xml:lang="it">https://...sito istituzionalein italiano...</md:OrganizationURL>

[TOP]

SP-MD10 - ContactPerson

<md:ContactPerson> DEVE:

  • essere valorizzato con l'indirizzo email del contatto tecnico del servizio identificato dall'attributo contactType="technical".
    Si RACCOMANDA l'utilizzo di un indirizzo impersonale (mailing-list)


Esempio:

<ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson>

[TOP]

Federation (SP-FED)

I requisiti di seguito elencati sono dettate dalla Federazione e destinate ai Service Provider

SP-FED1 - Data

un Service Provider in IDEM riceve automaticamente le seguenti informazioni:

  1. Un identificativo univoco persistente e targhettizzato dell'utente:
    • persistent-id (persistent NameID) (o eduPersonTargetedID se non è possibile rilasciarlo)
  2. L'affiliazione dell'utente con scopo:
    • affiliation (eduPersonScopedAffiliation)


Esempio con sp.aai-test.garr.it:

affiliation = member@aai-test.garr.it;staff@aai-test.garr.it
persistent-id = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU=

Ogni informazione aggiuntiva richiesta per l'utilizzo della/e risorsa/e protetta/e dal Service Provider va motivata adeguatamente a idem-help@garr.it.

[TOP]

SP-FED2 - Info Page

La pagina informativa esposta in lingua italiana e in lingua inglese DEVE contenere:

  1. la descrizione del servizio
  2. il pubblico a cui si rivolge il servizio
  3. la denominazione dell'organizzazione che lo condivide
  4. indirizzo email per il supporto degli utenti e dei gestori di Identity Provider
  5. un riferimento alla Privacy Policy seguita dal servizio

[TOP]

SP-FED3 - Privacy Page

La pagina della privacy esposta in lingua italiana e in lingua inglese DEVE contenere le adeguate informazioni circa il trattamento dei dati personali utilizzati.

Per la stesura della privacy policy IDEM suggerisce di seguire le linee guida di REFEDS:

https://wiki.refeds.org/display/CODE/Privacy+policy+guidelines+for+Service+Providers

[TOP]

SP-FED4 - Login Page / Discovery Service

La pagina di accesso ad una risorsa federata in IDEM DEVE contenere:

  • il logo di IDEM (Logo IDEM) [e il logo di eduGAIN (JPG | PNG) se vi ha aderito]
  • un elenco degli IdP in IDEM [e di quelli in eduGAIN se vi ha aderito]
  • un riferimento alla pagina informativa del servizio


REFEDS Best Practices: https://discovery.refeds.org/

[TOP]