Directory Directory cos’e’? Directory qual’e’ il suo scopo? 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
Directory il Directory e’ un db distribuito molte letture e poche scritture aggiornamento nottetempo (*) no rollback ammesse inconsistenze architettura di tipo gerarchico
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.
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
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
Aspetto informativo . . . . . Entry Attributo attributo tipo valori valore . . . Entry Attributo
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
RDN
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.
Object Name : hosts Directory : org_dir.next.com. Owner : nishost.next.com. Group : admin.next.com. Access Rights : r---rmcdrmcdr--- Time to Live : 12:0:0 Creation Time : Tue Feb 2 18:39:43 1999 Mod. Time : Tue Feb 2 18:39:43 1999 Object Type : TABLE Table Type : hosts_tbl Number of Columns : 4 Character Separator : Search Path : Columns : [0] Name : cname Attributes : (SEARCHABLE, TEXTUAL DATA, CASE INSENSITIVE) Access Rights : ---------------- [1] Name : name [2] Name : addr [3] Name : comment Attributes : (TEXTUAL DATA)
Object Name : passwd ………….. Object Type : TABLE Table Type : passwd_tbl …………….. Columns : [0] Name : name Attributes : (SEARCHABLE, TEXTUAL DATA, CASE SENSITIVE) Access Rights : r---rmcdrmcdr--- [1] Name : passwd Attributes : (TEXTUAL DATA) [2] Name : uid [3] Name : gid [4] Name : gcos [5] Name : home [6] Name : shell
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
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
Directory - le componenti - Directory System Agent (DSA) e’ il database dove le informazioni del directory sono memorizzate db gerarchico update giornaliero
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
request reply Directory 1 2 3 4 DSA A B C DUA Utente
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
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
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
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)
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
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.
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’.
SSL Secure Sockets (SSL) are inserted at the transport layer
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
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.
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.