1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da...

27
1 Directory Directory cos’e’? • e’ un database distribuito • e’ uno standard sviluppato da – ISO – ITU Directory qual’e’ il suo scopo? • fornire informazioni su oggetti • fornire meccanismi per accedere alle informazioni Directory com’e’ usato? • consultazione • distribuzione

Transcript of 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da...

Page 1: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

1

Directory

• Directory cos’e’?• e’ un database distribuito

• e’ uno standard sviluppato da– ISO

– ITU

• Directory qual’e’ il suo scopo?• fornire informazioni su oggetti

• fornire meccanismi per accedere alle informazioni

• Directory com’e’ usato?• consultazione

• distribuzione

Page 2: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

2

Directory

• il Directory e’ un db distribuito– molte letture e poche scritture– aggiornamento nottetempo (*)– no rollback– ammesse inconsistenze– architettura di tipo gerarchico

Page 3: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

3

Directory

• Per esempio: un directory puo’ contenere:– indirizzi e-mail, – user-authentication (login, passw)– network-security (access right),– sistemi in rete,– servizi in rete

• Queste informazioni possono essere accessibili alle applicazioni Sw oppure possono essere visibili agli utenti.

Page 4: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

4

Directory - organizzazione -

• Quattro aspetti:– aspetto informativo

• descrive l’organizzazione dei dati

– aspetto funzionale• descrive le interazioni tra i vari

componenti del Directory

– aspetto organizzativo• descrive la politica su cui si basano

le relazioni tra le varie entità e le informazioni che esse gestiscono

– aspetto sicurezza• evidenzia gli aspetti di

autenticazione ed autorizzazione

Page 5: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

5

Aspetto informativo

• DIB (Directory Information Base) Contiene tutte le informazioni su gli oggetti del Directory

• Ogni oggetto è rappresentato da una entry

• Ogni entry contiene un insieme di informazioni relative all'oggetto che rappresenta

• le informazioni vengono descritte in termini di attributi dell’entry

• ogni attributo è composto da un tipo e uno o più valori

Page 6: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

6

Aspetto informativo

Entry

Attributo

attributo attributo attributo attributo. . . .

tipo valori

valore valore valore valore. . .. . .

Page 7: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

7

Aspetto informativo

• Le entry sono organizzate sotto forma di albero: il Directory Information Tree (DIT)

• Ogni entry del DIT è univocamente identificata dal suo DN (Distinguished Name)

• Il DN di una entry si determina traversando il DIT a partire dalla entry root fino a raggiungere l’entry desiderata

• Ogni entry ha anche associato un attributo con un singolo valore, chiamato RDN (Relative Distinguished Name)

• DN è la concatenazione degli RDN delle entry attraversate

Page 8: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

8

4.1

root

1.1 1.2

2.1 2.2 2.3

3.1 3.2

4.2 4.3

C=IT C=US

O=Finsiel O=Telesoft O=Coca Cola

OU=Tecsiel

CN=Franco Pitto CN=Fabio Rossi CN=Mary Smith

OU=Diet Coke

RDN

RDN

RDN

Page 9: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

9

Directory

• Niente di trascendentale.

• Molti usano fanno ricorso al directory senza neanche rendersene conto:– www.company.com

• resolved via the Domain Name System

– finger someone@host

– email someone@host• host e’ risolto via DNS, poi someone e’ risolto localmente oppure attraverso directory di contesto piu’ ampio.

Page 10: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

10

Object Name : hostsDirectory : org_dir.next.com.Owner : nishost.next.com.Group : admin.next.com.Access Rights : r---rmcdrmcdr---Time to Live : 12:0:0Creation Time : Tue Feb 2 18:39:43 1999Mod. Time : Tue Feb 2 18:39:43 1999Object Type : TABLETable Type : hosts_tblNumber of Columns : 4Character Separator : Search Path : Columns :

[0] Name : cnameAttributes : (SEARCHABLE, TEXTUAL

DATA, CASE INSENSITIVE)Access Rights : ----------------

[1] Name : nameAttributes : (SEARCHABLE, TEXTUAL

DATA, CASE INSENSITIVE)Access Rights : ----------------

[2] Name : addrAttributes : (SEARCHABLE, TEXTUAL

DATA, CASE INSENSITIVE)Access Rights : ----------------

[3] Name : commentAttributes : (TEXTUAL DATA)Access Rights : ----------------

Page 11: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

11

Object Name : passwd…………..Object Type : TABLETable Type : passwd_tbl……………..Columns :

[0] Name : nameAttributes : (SEARCHABLE, TEXTUAL

DATA, CASE SENSITIVE)Access Rights : r---rmcdrmcdr---

[1] Name : passwdAttributes : (TEXTUAL DATA)Access Rights : r---rmcdrmcdr---

[2] Name : uidAttributes : (SEARCHABLE, TEXTUAL

DATA, CASE SENSITIVE)Access Rights : r---rmcdrmcdr---

[3] Name : gidAttributes : (TEXTUAL DATA)Access Rights : r---rmcdrmcdr---

[4] Name : gcosAttributes : (TEXTUAL DATA)Access Rights : r---rmcdrmcdr---

[5] Name : homeAttributes : (TEXTUAL DATA)Access Rights : r---rmcdrmcdr---

[6] Name : shellAttributes : (TEXTUAL DATA)Access Rights : r---rmcdrmcdr---

Page 12: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

12

Directory- Architettura client-server -

• X500 definisce il protocollo di accesso al directory (DAP) quando i client contattano i server

• il client chiede e riceve risposte da uno o piu’server

• il DAP che controlla la comunicazione client-server

Page 13: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

13

Directory- le componenti -

• Directory User Agent (DUA)– fornisce funzionalita’ standard che

supportano l’utente • nelle ricerche su uno o piu’ directory

• nel recupero delle informazioni

• nella presentazione dei risultati

– comunica con il Directory per conto dell'utente e nasconde all'utente stesso i dettagli dell'organizzazione interna del Directory

Page 14: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

14

Directory- le componenti -

• Directory System Agent (DSA)– e’ il database dove le

informazioni del directory sono memorizzate

• db gerarchico

• update giornaliero

Page 15: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

15

Directory- le componenti -

• Directory Protocols– rappresentano le regole che

governano la comunicazione tra• directory client (DUA) e uno o piu’

directory servers (DSA)– Directory Access Protocol (DAP), e’

usato per controllare la comunicazione tra DUA e DSA.

• due o piu’ directory servers (DSA)– Directory system Protocol (DSP), fa si

che l’utente possa accedere le informazioni nel directory senza sapere dove sono esse sono esattamente localizzate

Page 16: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

16

Utente

request

reply

DirectoryDirectory

12

3

4

DSA A

DSA B

DSA C

DUA

Page 17: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

17

Aspetto organizzativo

• “ descrive la politica su cui si basano le relazioni tra le varie entità e le informazioni che esse gestiscono”– definisce la mappatura delle

porzioni di DIT sui DSA– definisce come i DSA possono

essere visti dall’esterno

Page 18: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

18

Aspetto Sicurezza

• politica di autenticazione definisce i meccanismi per identificare DSA e utenti

• tre tipi di autenticazione• nessuna

– accessi liberi

• debole– accesso regolato da password criptata

• forte– accesso regolato da coppie di chiavi

pubblica/privata

• il meccanismo più utilizzato:• access control list

Page 19: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

19

Access list: example

• access to dn=".*, o=U of M, c=US"

• by * search

• access to dn=".*, c=US"

• by * read

• accesso in Read garantito alle entry del sottoalbero c=US, eccetto per per le entry nei sottoalberi

• "o=University of Michigan,

• c=US" subtree,

• alle quali e’ garantito solo la Search

Page 20: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

20

X509

• X509 definisce lo standard del formato dei certificati (Chiavi pubbliche).

• X.509 e’ una raccomandazione dell’ITU

• I certificati X509 sono utilizzati per la costruzine del SSL (Secure Socket Layer)

Page 21: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

21

SSL

• Secure Socket Layer– e’ un protocollo che fornisce

sicurezza nelle comunicazioni su Internet.

– Permette ad applicazioni client/server di comunicare in una modalita’ che previene

– origliamento dei messaggi

– manomissione dei messaggi

– falsificazione dei messaggi

Page 22: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

22

SSL

• Secure Socket Layer protocol e’ composto di 2 strati– SSL Record protocol

• si occupa di incapsulare i livelli alti dello stack OSI

– SSL Handshake protocol• permette al server ed al client di

– autenticare l’un l’altro

– negoziare algoritmi di encription e le chiavi criptate

• prima ancora che l’application protocol trasmetta e riceva i dati.

Page 23: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

23

SSL

• Secure Socket Layer protocol fornisce una comunicazione sicura, basata su 3 principi:

• La connessione e’ privata: la cifratura dei messaggi e’ effettuata dopo il processo di Handshake.

• l’identita’ degli interlocutori e’ autenticata usando il meccanismo di chiavi pubbliche/privata.

• La connessione e’ affidabile: il trasporto dei messaggi include meccanismi di check di integrita’.

Page 24: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

24

SSL

• Secure Sockets (SSL) are inserted at the transport layer

Page 25: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

25

Certificati e Autorità di Certificazione (CA)

• Le chiavi pubbliche sono distribuite sotto forma di certificati firmati da una Autorità di Certificazione (CA)

• chi usa il certificato deve essere certo dell’autenticità della chiave pubblica della CA

Nome

Chiave Pubblica

Periodo di validità

Identificativo della CA

. . .

Firma Elettronica della CA

Page 26: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

26

LDAP

• Lightweight Directory Access Protocol,

• LDAP e’ un protocollo per accedere alle informazioni dei directory

• LDAP e’ basato sugli standard contenuti in X500 ma e’ significativamente piu’ semplice.

• Contrariamente a X500 supporta TCP/IP. Necessario per accedere al mondo Internet.

• Poiche’ e’ una semplificazione di X500 e’ anche detto X500-Lite.

• Lavorando con TCP/IP permette una larghissima diffusione.

Page 27: 1 Directory Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da –ISO –ITU Directory qual’e’ il suo scopo? fornire informazioni su.

27

Directory & X509* Cos’e’ LDAP *

• LDAP - Lightweight Directory Access Protocol.

• E’ uno standard Internet Database

• E’ un modo di usare i database X.500 sullo stack TCP/I, rendendolo utilizzabile su Internet.