111
Infrastrutture di autenticazione e autorizzazione La federazione IDEM Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE)

"Infrastrutture di autenticazione e autorizzazione" e "La federazione IDEM"

Embed Size (px)

Citation preview

Infrastrutture di autenticazione e

autorizzazione

La federazione IDEM

Corso Intensivo APM , Bari, 17-20 Marzo 2015

Lalla Mantovani (GARR e UNIMORE)

Indice 1

Autenticazione (AuthN)

Autorizzazione (AuthZ)

Identity management

Single sign on

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #2

Identity Management Mess

IAM SSO IdP SPCorso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #3

Authentication

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 4

Authentic Not Authentic

nel mondo reale

Authentication

nel mondo digitaleAutenticazione = La procedura che permette di verificare che una identità digitale appartiene al suo legittimo possessore (il presentatore della identità digitale è colui che asserisce di essere; è proprio lui) Nel mondo digitale semplifichiamo la verifica con:

username|password

lmantovani|MyS3cr3#

username => identifier

Ci rimanda all’entità con cui abbiamo a che fare

password => shared secret

Ci conferma che l’identità dell’entità è autentica

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #5

Come funziona l’autenticazione

lmantovani|MyS3cr3#

lmantovani|MyS3cr3#

lmantovani

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #6

La password può essere facilmente rubata o scoperta (identity theft)->

One-factor authentication

Two-factor authentication

Multi-factor authentication

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #7

mitigate risks, improve security

Second factor: device

One Time PasswordCertificate

Fingerprint

SMS One Time Password

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #8

Second factor: location, behaviour

incrementa la sicurezza delle password usando(senza intromissione) la tua location

Prima memorizza informazioni sulle tueabitudini (tipo di browser, indirizzo IP, lingua, …, numero telefono mobile, …)

Quando ti ricolleghi dallo stesso PC, vieniautenticato automaticamente sulla base di “dove sei”, con un secondo fattore di controllopassivo, senza domande, più facile per l’utente

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #9

Authorization

= Access control

Cosa sei autorizzato a fare?

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #10

Come funziona l’autorizzazione

Servizio Almantovani

Servizio B

Servizio A?

lmantovani ∈ Servizio A

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #11

Role based access control

Rettore/Dirigente

StudentiPersonale

T/AProfessori

StaffHuman

Resources

Organization

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #12

App dedicate a professori

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #13

App dedicate a personale

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #14

App dedicate a studenti

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #15

App dedicate a manager

AppApp

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #16

App dedicate a contrattisti

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #17

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #18

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #19

Layer of abstraction

=> Roles

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #20

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

insegnare

assistere

studiare

per tutti

gestire

pagare

privato

dirigere

reclutare

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #21

Come funziona l’autorizzazione

con i ruoli

Servizio Almantovani

Servizio B

Servizio A?

lmantovani ∈ insegnare

insegnare ∈ Servizio A

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #22

Single password

App passwordpassword

App password

App password

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #23

Nel dominio dell’Organizzazione

Single password

Apppassword

App

App

password

password

password

password directory

single passwordCorso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #24

Nel dominio dell’Organizzazione

directory

Rettore/Dirigente

Studenti Personale T/A

Professori

StaffHuman

Resources

insegnare

assistere

studiare

per tutti

gestire

pagare

privato

dirigere

reclutare

password

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #25

Single sign on

Single password

Single storage

Multiple app Devo inserire

la passwordper fare loginsu ogni app

Single sign on Inserisco la password una volta sola

Identity Management System RICORDA chi sei

password

directory

App

App

App

password

password

password

Single Management Point

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #26

Ricorda?

Token

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #27

Token

Cinema

?

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #28

Acquisto un Ticket (registration)

Ottengo un Token (authentication)

Ticket abilita a controlli differenziati

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #29

Token

Cinema

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #30

Ticket = Token

Può contenere informazioni di autorizzazione

DATA POSTO

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #31

Provisioning

Nuovo

identity management system

lmantovani|MyS3cr3#

App

App

insegnare

per tutti

App

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #32

Deprovisioning

identity management system

App

App

insegnare

per tutti

App

App

App

App

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #33

Identity life cycle

Provisioning

Managing

Deprovisioning

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #34

Abbiamo parlato di:

Autenticazione Multi factor auth

Autorizzazione Role based access control

Single sign on token

Identity management Provisioning Deprovisioning Identity life cicle

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #35

Indice 2

Governare Identity & Access Management System

Fonti dati autoritative

Identificazione -> provisioning

Riconciliazione

LDAP

Directory Information Tree

Schema

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #36

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 37

Developed by Ann West, of Internet2, Lynn McRae, of Stanford, Tom Barton, of the University of

Chicago, and Steven Carmody, of Brown University, and used with permission from Internet2.

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 38

Ciclo di vita dell'identità

Riconciliazione

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #39

101 cose da sapere su Single Sign On.

IDENTITÀ:

1. Il Single sign on richiede fonti di identità autorevoli.

2. Autorevoli fonti di identità devono contenere tutti i dati necessari sulle identità degli utenti

3. Fonti autorevoli di identità necessitano di processi di provisioning sempre aggiornati ed allineati con i processi amministrativi

5. Quando un utente viene assunto, il processo di provisioning dovrebbe mirare a fornire l'accesso ai sistemi e alle applicazioni nello stesso giorno.

6. Quando il ruolo di un utente viene modificato, l'obiettivo del processo di provisioning dovrebbe essere quello di rendere disponibile la variazione nello stesso giorno.

7. Quando un utente è cessato, l'obiettivo del processo di provisioning dovrebbe essere quello di disabilitare l'utente da tutti i sistemi e dalle applicazioni nello stesso giorno.

8. Ogni fonte autorevole di identità deve essere collegata alla directory LDAP dell’organizzazione

9. La Sincronizzazione delle modifiche tra la fonte autorevole delle identità e la directory deve essere in pochi minuti e nel caso peggiore, alla fine della giornata.

12. È necessario un identificatore unico per ogni utente nell’interno dell’organizzazione.

14. La qualità del sistema di SSO dipende dalla qualità dei dati delle identità, non dall’apparecchiatura. Se la qualità dei dati di identità è povera, allora il vostro sistema di SSO sarà anche povero dal punto di vista della sicurezza.

15. Creare una struttura di governo dei dati delle identità dell’organizzazione è importante per regolamentare le modifiche apportate dalle fonti autorevoli sui dati delle identità che verranno usate dal single sign on e dalle applicazioni.

http://www.authenticationworld.com/Single-Sign-On-Authentication/101ThingsToKnowAboutSingleSignOn.pdfCorso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 40

Come organizzare la directory?

Rettore/Dirigente

Studenti Personale T/A

Professori

StaffHuman

Resources

insegnare

assistere

studiare

per tutti

gestire

pagare

privato

dirigere

reclutare

password

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #41

Struttura di LDAP

(Lightweight Directory Access Protocol)

Le informazioni vengono organizzate ad albero (Directory Information Tree – DIT)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #42

Base DN (Distinguished Name)

Org Domain Namedn: dc=unimore,dc=it

RDN: ou=peopleDN: ou=people,dc=unimore,dc=it

RDN: uid=lmantovaniDN: uid=lmantovani,ou=people,dc=unimore,dc=it

[RFC 2377] “Naming Plan for Internet Directory-

Enabled Applications” September 1998

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #43

NO

Non conviene mettere le persone sotto i

dipartimenti. Questa scelta non è conforme a

RFC2377

RDN delle persone deve

garantire l’univocità (problema omonimi).

Scegliere un identificativo

per le persone. Preferire la UID nota all’utente.

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #44

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #45

Schema design (1)

Usare gli schemi standard

objectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPerson

objectclass: eduPersonobjectclass: schac

objectclass: localdomainEduPerson

già presenti

da aggiungere

solo se necessario

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #46

Schema design (2)

Quali attributi scegliere e valorizzare?

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #47

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 48

Identità digitale parziale

Relativa ad un contesto

In ogni contesto esistono attributi necessari ed altri non necessari

In certi contesti la persona vuole rimanere anonima, in altri contesti preferisce presentarsi con uno pseudonimo, in altri casi è necessario rivelare l’identità reale

E’ necessario poter collegare tra loro le identità digitali parziali relative ad una stessa persona?

(Borcea-Pfitzmann et al., 2006).

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 49

Trattamento dati personali

In Italia il trattamento dei dati personali, quindi anche delle identità digitali parziali, è regolato dal Decreto legislativo 30 giugno 2003, n. 196 - Codice in materia di protezionedei dati personali (Testo unico privacy)

I sistemi di Identity Management devono essere progettati in modo da rispettare la legge, in particolare proteggendo i dati (Art.1).

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 50

Trattamento dati personali

Art. 3. Principio di necessità nel trattamento dei dati1. I sistemi informativi e i programmi informatici sono configurati riducendo al minimo l'utilizzazione di dati personali e di dati identificativi, in modo da escluderne il trattamento quando le finalità perseguite nei singoli casi possono essere realizzate mediante, rispettivamente, dati anonimi od opportune modalità che permettano di identificare l'interessato solo in caso di necessità. (n.d.r.pseudonomizzazione)

Core.schema e relative ObjectClass

Person represents a human being

objectclass ( 2.5.6.6 NAME 'person‘DESC 'RFC2256: a person‘SUP top STRUCTURALMUST (

sn

$

cn )

MAY ( userPassword $

telephoneNumber

$ seeAlso $ description ) )

cognome

nome cognome

Gli Attributi si devono

valorizzare secondo

il significato definito

negli RFC

Gli Attributi

possono essere

non valorizzati

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 51

Core.schema e relative ObjectClass

The 'organizationalPerson' object class is the basis of an entry that represents a person in relation to an organization. ( 2.5.6.7 NAME 'organizationalPerson'

SUP person STRUCTURAL MAY ( title $

x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationalISDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ ou $ st $ //state, provincel ) ) //localityName

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 52

inetorgperson.schema

NAME 'inetOrgPerson'

SUP organizationalPersonSTRUCTURAL MAY ( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ uid $givenName $ employeeNumber $ mail $employeeType $ //type of employment for a person

mobile $ homePhone $ homePostalAddress $ initials $ jpegPhoto $ labeledURI $ manager $ o $ pager $ photo $ roomNumber $ secretary $ userCertificate $ x500uniqueIdentifier $ preferredLanguage $ userSMIMECertificate $ userPKCS12 ) )

login name

nome

identificatore

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 53

eduPerson

# The eduPerson objectclass is used to represent people who are# associated with a university/school in some way. It is derived# from the inetOrgPerson objectclass.

objectclass ( 1.3.6.1.4.1.5923.1.1.2NAME 'eduPerson'AUXILIARYMAY ( eduPersonAffiliation $

eduPersonNickname $eduPersonOrgDN $ eduPersonOrgUnitDN $eduPersonPrimaryAffiliation $eduPersonPrincipalName $

eduPersonEntitlement$ eduPersonPrimaryOrgUnitDN $

eduPersonScopedAffiliation $ eduPersonTargetedID

) )

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 54

<myorg.schema>

unimorecodicefiscale:

unimorestudnumerotessera:

unimorestuddescrcorso:

unimorestudmatricola:

unimorestudduratacorso:

unimorecorscodicetipocorso:

unimorecorsdescrizionecorso:

unimorecorsdurataanni:

unimorestudultimoannoaccademico

:

unimorestuddatarilasciotessera:

Attributi utili per

autorizzare

applicazioni

istituzionali

Unifica

accesso

Windows

Unifica

accesso

UNIX<nis.schema>

loginShell:

uidNumber:

gidNumber:

homeDirectory:

gecos:

shadowExpire:

shadowInactive:

shadowLastChange:

Per federarsi

<samba.schema>

sambaNTPassword:

sambaPwdMustChange

:

sambaPrimaryGroupS

ID:

sambaPwdLastSet:

sambaSID:

sambaHomeDrive: <eduPerson.schema>

<schac.schema>

Arricchimento People

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 55

Sincronizzazione / Backend

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 56

Person Registry

LDAP

Selezionare il minimo dei dati

indispensabili in base ad uno

schema.

Consolidare in base ad un ID

Conference

guests

Altri ospiti,

senza contr.,

library-walk-in

La directory

viene gestita

con l’identity

managemnt

dell’organizza-

zione e

contiene i dati

indispensabili

per autenticare

ed autorizzare

le applicazioni

Abbiamo parlato di:

Governare Identity & Access Management System

Fonti dati autoritative

Identificazione -> provisioning

Riconciliazione

LDAP

Directory Information Tree

Schema

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #57

Indice 3

Software as a Service (SaaS)

Security Assertion Markup Language (SAML)

Identity Provider (IdP)

Service Provider (SP)

SAML Web Browser SSO Profile

SAML SSO token & lifetime

Discovery Service (DS)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #58

Software as a Service (SaaS)

Università:

Studenti e didattica

Docenti e ricerca

Protocollo

Portali

Box

GoogleApps

Office365

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 59

Scuola:

• Registro elettronico

• Portale

• Box

• GoogleApps

• Office365

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 60

Accedere a SaaS?

ORG

directory

username|password

Provisioning?Deprovisioning?

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE)

#61

#61

SAML

Simple Assertion Markup Language

Obiettivo: risolvere i problemi di:

Amministratore dell’Org: vuole gestire gli utenti dell’organizzazione

Utente: vuole accedere facilmente

Amministratore del Servizio: vuole concentrarsi sulle funzioni dell’applicazione e non sulla sicurezza

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #62

SAML e accesso a SaaS

ORG

directory

IdPusername|password

authenticated

happy!happy!

happy!

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #63

SAML risolve questi problemi

Organizzazioni:

gestiscono meglio il ciclo di vita degli utenti

Provisioning|Deprovisioning

Utenti:

Ricordano le loro poche password

Servizi

Si concentrano sul loro core business e non si preoccupano della sicurezza delle password

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #64

SAML: benefici

SSO nell’accesso a molti servizi fuori dal dominio della propria organizzazione

Identity management unificato nell’accesso a molti servizi fuori dal dominio della propria organizzazione

Federated identity: gli IdP hanno stabilito un accordo comune sulla definizione degli utenti, perciò i SP possono applicare regole uniformi a tutti gli utenti della federazione

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #65

SAML e accesso a SaaS: init

ORG

directory

IdPusername|password

authenticated

SP

IdP-initiated-WebBrowserSSO

SP-initiated-WebBrowserSSO

SAML token

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #66

Discovery Problem

Arriva un utente e devo mandarlo alla sua home organization. Ma non so chi sia l’utente, né a quale organizzazione appartiene Utente accede a org1.cloudservice.com => Servizio

personalizzato per Org1 => utente proviene da Org1

Utente accede a servizio generico cloudservice.com =>Chiedo email a utente =>Utente: [email protected] =>utente proviene da Org1

Utente accede a servizio generico cloudservice.com =>chiedo a utente di selezionare la sua organizzazione da una lista

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #67

Discovery Service

ORG

directory

IdPusername|password

authenticated

SP

SP-initiated-WebBrowserSSO

SAML token

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #68

DS

Lifetime?

ORG

directory

IdPusername|password

authenticated

2h? Tempo scadutoUtente ancora

valido?

rinnovato

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #69

SAML token/assertion

Subject: identifierAttributi:Identifier (uid)SnCnTelephonNumbergivenNameMaileduPersonPrincipalNameeduPersonEntitlementeduPersonScopedAffiliationeduPersonTargetedIDGroupDepartmentRoleOrganization--------------------------------------Identity Provider emittenteAuthentication ContextLifetime

• Non contiene mai la password

• Il token è firmato

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #70

Art. 3. Principio di necessità nel trattamento dei dati

1. I sistemi informativi e i programmi informatici sono configurati riducendo al

minimo l'utilizzazione di dati personali e di dati identificativi, in modo da escluderne il

trattamento quando le finalità perseguite nei singoli casi possono essere realizzate

mediante, rispettivamente, dati anonimi od opportune modalità che permettano di identificare l'interessato solo in caso di

necessità.

Consenso al rilascio attributi

ORG

directory

IdPusername|password

authenticated

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #71

Tutti uguali?Contrario al principio di necessità

SP1

SP3SP2Consent?

Framework che implementano SAML

Open source

Shibboleth

SimpleSAMLphp

Licensed

ADFS

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 72

Identity Provider Service Provider

Open source• Shibboleth• SimpleSAMLphp

http://en.wikipedia.org/wiki/SAML-based_products_and_services

Software as a Service • GoogleApps• Office365• U-Gov• SebinaWeb• MediaLibrary• box

Corso Intensivo APM , Bari,

17-20 Marzo 2015Lalla Mantovani (GARR e UNIMORE) 73

LDAP pronto per aiutare nell’Autenticazione e nell’Autorizzazione

Person Registry

LDAP

Altri sistemi

Selezionare il minimo dei dati

indispensabili in base ad uno

schema.

Consolidare in base ad un ID

Applicazioni

WEB

MAIL

Servizi al

Personale

LIBRARY

WIKI

Wi-Fi

VPN

NAC

GoogleAppsYouTubeEDU

SaaS

Conference

guests

Altri ospiti,

senza contr.,

library-walk-in

Lalla Mantovani (GARR e UNIMORE)

74Corso Intensivo APM , Bari, 17-

20 Marzo 2015

IDEM ed EDUROAM insieme forniscono all’utente più ampie possibilità di accesso

Person Registry

LDAP

Organizzazione

Radius Server

Abbiamo parlato di:

Software as a Service (SaaS) Security Assertion Markup Language (SAML) Identity Provider (IdP) Service Provider (SP) SAML Web Browser SSO Profile Discovery Service (DS) SAML SSO token & lifetime SAML assertion Consenso al rilascio degli attributi

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #75

Indice 4

Trust building

Federazione di identità

Armonizzazione attributi = federated identity

La federazione IDEM

Federation Manager: servizi necessari

Federation Manager: servizi aggiuntivi

Inter-federazione eduGAIN

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #76

Utente accede ad un nuovo SP

ORG

directory

IdPusername|password

authenticated

• Perché?• SP deve aver conosciuto l’IdP

SP

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #77

Trust building

SP non accetta SAML token da chiunque

IDP non accetta SAML token da chiunque

Ci vuole una relazione di fiducia

Come viene stabilita la fiducia tra IDP e SP?

Prima che gli utenti dell’IdP inizino ad usare l’SP, gli amministratori di IdP e SP devono aver costruito il «trust» reciproco

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #78

Trust building

ORG

directory

IdP

SP

IdP

SP

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #79

SP6

SP5SP4

SP4SP5

SP6

Molti SP:

Come costruire la fiducia?

ORG

directory

IdP IdP

SP3

SP2SP1

SP1SP2

SP3

SP9

SP8SP7

SP7SP8

SP9

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #80

SP6

SP5SP4

SP4SP5

SP6

Molti SP:

Come costruire la fiducia?

ORG

directory

IdP IdP

SP3

SP2SP1

SP1SP2

SP3

SP9

SP8SP7

SP7SP8

SP9

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #81

Molti IdP:

Come costruire la fiducia?ORG1

IdP1

SPSP

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #82

ORG2

IdP2ORG3

IdP3

Molti IdP:

Come costruire la fiducia?ORG1

IdP1

SPSP

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #83

ORG2

IdP2ORG3

IdP3

Federazione= ecosistema in cui la

fiducia è garantita

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #84

Identity Federations

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #85

Lalla Mantovani (GARR e UNIMORE) #86Corso Intensivo APM , Bari, 17-20 Marzo 2015

Federazione IDEM

IdP

IdP

IdP

IdP

IdP SP

SP

SP

SP

SP

Temporizzato

Manuale

Metadati:• Raccoglie• Verifica• Aggrega• Firma• Distribuisce

Circle of trust in Italia

degli IdP e degli SP del

settore istruzione e

ricerca

Federated identity

Armonizzazione attributi

1. attributi riguardanti le caratteristiche personali del soggetto;

2. attributi riguardanti le modalità per contattare il soggetto;

3. attributi di ausilio alla fase di autorizzazione ed eventualmente di accounting;

Tutti gli attributi costituiscono dati personali ai sensi del D.Lgs. 196/2003 (ad eccezione di eduPersonScopedAffiliation), pertanto il loro trattamento è soggetto alla normativa citata.

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #87

Attributi (1)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #88

Attributi (2)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #89

Attributi (3)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #90

eduPersonScopedAffiliation

Student = studenti regolarmente iscritti ad uno dei corsi dell'organizzazione di appartenenza.

Staff = tutto il personale (docenti, personale amministrativo, bibliotecario e tecnico di supporto) in servizio presso l'organizzazione di appartenenza con qualunque tipo di contratto, anche a tempo determinato, oppure rientrante nei contratti cosiddetti atipici (co.co.co, prestazioni professionali, interinali, ecc...).

Alum = ex studenti dell'organizzazione di appartenenza

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #91

eduPersonScopedAffiliation

Member = tutte le persone che hanno un rapporto istituzionale con l'organizzazione di appartenenza e ai quali viene dato un insieme base di privilegi. Comprende gli student, gli staff, e tutti coloro che pur non rientrando nelle classi precedenti, hanno rapporti istituzionali con la comunità scientifica.

Affiliate = persone con le quali l'organizzazione di appartenenza ha una qualsiasi forma di rapporto ed alle quali è necessario attribuire una identità digitale, ma alle quali non vengono estesi i privilegi derivanti dall'essere membri dell'organizzazione stessa. Ha diritto a servizi locali. Non ha diritto a servizi federati.

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #92

Classi di valori per

eduPersonAffiliation

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #93

Federazione IDEM

Circle of Trust in Italia degli IdP e degli SP del settore istruzione e ricerca

https://www.idem.garr.it

• Ad oggi 109 SP e 64 IdP di cui:• 36 di Università

• 9 di Enti di Ricerca

• 5 di IRCCS

• 2 di IZS

• 12 di altri

• SP che aderisce ad IDEM può fornire il proprio servizio ad utenti italiani del settore R&E~ 3 milioni di utenti potenziali

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #94

Alcuni SP registrati in IDEM

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #95

Federation Manager: servizi

necessari

Verificare l’entità legale dell’Organizzazione che richiede di partecipare alla Federazione.

Raccogliere, verificare (certificati, informazioni, endpoint), aggregare, firmare, redistribuire i metadati degli IdP e dei SP della Federazione.

Armonizzazione (attributi, entity-category, Mdui, …)

Audit e Monitoring Offrire supporto tecnico per la risoluzione di

problemi di interoperabilità

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #96

Federation Manager: servizi

aggiuntivi

Offrire un servizio di Discovery Service

Offrire formazione:

guide di installazione per IdP e SP

Best practices

Offrire un servizio di Attribute Authority

Offrire facilitazioni per agevolare la partecipazione («IdP in the Cloud»)

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #97

Come si implementa un SP?

https://www.idem.garr.it/informazioni-tecniche/guide

2015, Installazione Shibboleth Service Provider su Debian-Linux

2014, Guida all’installazione dello ShibbolethEmbedded Discovery Service su Debian-Linux

2014, Guida Installazione SimpleSAMLphp Service Provider su Debian-Linux

2011, Guida Installazione SP su Win Server 2003

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 98

Come si implementa un IdP?

https://www.idem.garr.it/informazioni-tecniche/guide

2015, Installazione Shibboleth IDP 2.4.0 per Debian-Linux

2015, Installazione SimpleSAMLphp Identity Provider su Debian-Linux

2011, Guida Installazione uApprove 2.3.1 su Debian Linux

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 99

IdM dell’Org che vuole aderire ad IDEM

LDAP/AD istituzionale

Risorse dellaFederazione IDEM

NUOVO SERVER:comporta l’acquisizione di

nuove competenze per poterne gestire

l’installazione e la configurazione

Deve essere modificato e reso conforme ai requisiti

per l’ingresso in federazione

Procedure automatiche di sincronizzazione

Dominio dell’Organizzazione

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #100

Soluzione «IdP in the Cloud»

Offerta GARR per le Organizzazioni che:

Non hanno sufficienti risorse per poter acquisire nuove competenze e gestire l’IdP

Non possono modificare l’LDAP istituzionale

Preferiscono una soluzione SaaS per l’IdP

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) 101

«IdP in the Cloud» Tipo 1: essenziale -

facile

LDAP/AD istituzionale

Risorse dellaFederazione IDEM

Dominio dell’Organizzazione

CloudGARR

Interfaccia web per immissione identità da parte dell’istituto

VANTAGGI• Nessuna interferenza con l’infrastruttura aziendale • GARR fornisce tutta l’infrastruttura in cloud «chiavi

in mano»CRITICITÀ• Gli utenti che vorranno accedere alle risorse IDEM

avranno una nuova identità ad hoc• Gestione manuale delle identità a carico

dell’istituto

LDAP/AD secondario

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #102

«IdP in the Cloud» Tipo 2: intermedio

LDAP/AD istituzionale

Risorse dellaFederazione IDEM

Dominio dell’Organizzazione

LDAP/AD secondarioCloud

GARR

VANTAGGI• Nessuna interferenza con l’infrastruttura aziendale • GARR fornisce tutta l’infrastruttura in cloud «chiavi

in mano»• Gli utenti che vorranno accedere alle risorse IDEM

useranno la stessa identità istituzionaleCRITICITÀ• I dati personali basilari delle identità aziendali sono

replicati nella cloud• La procedura di sincronizzazione non è compresa

nel progetto: richiede lavoro personalizzato per istituto

Sincronizzazione temporizzata su un

canale sicuro

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #103

«IdP in the Cloud» Tipo 3: completo

Risorse dellaFederazione IDEM

Dominio dell’Organizzazione

CloudGARR

No Sincronizzazione, lettura on demand su

un canale sicuro (LDAPS/TLS)

LDAP/AD istituzionale

VANTAGGI• GARR fornisce tutta l’infrastruttura in cloud «chiavi in

mano»• Gli utenti che vorranno accedere alle risorse IDEM

useranno la stessa identità istituzionale• Nella cloud NON sono registrati dati personali relativi

alle identità degli utenti.CRITICITÀ• L’istituto deve mettere in opera le modifiche necessarie

a rendere il proprio LDAP istituzionale conforme alle specifiche IDEM

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #104

Federazione eduGAIN

• La federazione IDEM aderisce ad eduGAIN

• SP che, tramite IDEM, aderisce ad eduGAIN, può offrire il proprio servizio ad utenti di molti paesi~ 16 milioni di utenti potenziali

• Oggi 1159 IdP e 1026 SP

• 1 Standalone AA

circle of trust mondiale nel settore istruzione e ricerca

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #105

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #106

Circle of trust

aggiornamento dei Metadati

Federazione A Federazione B

IdP

IdP

IdP

IdP

IdP SP

SP

SP

SP

SP

Temporizzato

Manuale

Come partecipare a IDEM e a

eduGAIN

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #107

https://www.idem.garr.it/come-partecipare

Indice 4

Trust building

Federazione di identità

Armonizzazione attributi = federated identity

La federazione IDEM

Federation Manager: servizi necessari

Federation Manager: servizi aggiuntivi

Inter-federazione eduGAIN

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #108

5° Convegno IDEM

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #109

A chi è rivolto il convegno?

• Ai bibliotecari: sessione Biblioteche, Beni culturali e progetti europei in Humanities and Social Sciences

• Agli esperti tecnici: presentazioni ed approfondimenti sulle ultime novità -confronto con esperti e colleghi

• Ai decision maker: opportunità di collaborazione ed innovazione

Domande?

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #110

Non abbiamo parlato di:

SAML Content of Payload: XML Come viene trasportato

Account linking Assertions e statements Authentication Context Privacy-preserving persistent identifier e altri

meccanismi Security in SAML Enhanced Client and Proxy (ECP) Profile Single Logout Profile

Corso Intensivo APM , Bari, 17-20 Marzo 2015 Lalla Mantovani (GARR e UNIMORE) #111