Docente: Giuseppe Scollo
Università di Catania, sede di Comiso (RG)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Studi in Informatica applicata, AA 2007-8
in che cosa differisce l'autenticazione in un sistema distribuito da quella tradizionale di un utente di un sistema operativo?
problemi di autenticazione che derivano da tali differenze:
cosa conosce
la protezione crittografica è di largo impiego nelle diverse soluzioni realizzate per questi problemi, ma la sicurezza che ne consegue non dipende solo dalla sua (in)violabilità
l'autenticazione basata su password associata a un identificatore di utente è frequente nelle interazioni client-server anche in sistemi distribuiti
vulnerabilità: la password è un segreto condiviso da client e server, la cui trasmissione in chiaro la espone al rischio di cattura da password sniffers
l'autenticazione ha spesso luogo nella fase di formazione di una sessione di accesso del soggetto a un oggetto, o di comunicazione fra soggetti, come parte dello scambio di chiavi, tuttavia...
terminologia:
un esempio di key agreement è il protocollo di Diffie-Hellman
man in the middle, presentandosi a ciascun partner come se fosse l'altro
il protocollo station-to-station (STS) (Diffie, van Oorschot & Wiener, 1992), estende quello di Diffie-Hellman con un meccanismo di mutua explicit key authentication, usando a tal fine (senza tuttavia prefissarli):
sia K = gab mod p la chiave Diffie-Hellman che si stabilisce, e Sa, Sb le rispettive chiavi di firma dei partner A, B; lo scambio STS consta dei seguenti passi (exp. mod p è intesa):
il sistema Kerberos (Miller, Neuman, Schiller & Saltzer, 1987) trae origine dal protocollo di (Needham & Schroeder, 1978), di key transport
il KAS condivide con ciascun utente A o servizio B un chiave segreta di lungo termine, risp. Kas, Kbs, ha un database che associa le identità di utenti e servizi a tali chiavi, e genera una chiave di sessione Kab di durata limitata L per ciascuna sessione di A con B, alla quale associa un ticket tB = eKbs (Kab,A,L)
in prima approssimazione, lo schema del protocollo è il seguente, dove na è un nonce generato da A e Ta è un timestamp riferito al clock di A:
una migliore approssimazione all'effettivo funzionamento del protocollo si ha considerando la distribuzione dei ticket di accesso ai servizi come un servizio essa stessa, fornito da appositi ticket-granting server (TGS), ai quali l'utente si autentica per il tramite del KAS centrale
in seconda approssimazione, il KAS genera:
dove: Ktgs è una chiave condivisa da KAS e TGS
lo schema del protocollo fra utente A, KAS, TGS e server B è il seguente:
non tutti i problemi di sicurezza dipendono dalla crittografia, come testimoniano i seguenti aspetti della sicurezza di Kerberos: