02.06.2013 Views

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPITOLO IV - La <strong>sicurezza</strong> nelle web applications<br />

all’accesso a pagine protette; è <strong>una</strong> funzionalità da cui moltissime applicazioni web ormai non<br />

possono più prescindere, perché consente <strong>di</strong> dare accesso ad alcune aree solo a determinati<br />

utenti, provvisti <strong>di</strong> certi privilegi, così da rendere possibile, ad esempio, l’aggiunta <strong>di</strong> un’area<br />

ad accesso riservato, che consente <strong>di</strong> amministrare in tutta <strong>sicurezza</strong> e autonomia<br />

l’<strong>applicazione</strong>. Asp.NET 2.0 introduce in quest’ambito delle novità che rendono più semplice<br />

l’implementazione <strong>di</strong> queste funzionalità, attraverso Membership e Roles API, costruite intorno<br />

al Provider Model, un modello teso a favorire lo sviluppo <strong>di</strong> applicazioni basate su provider,<br />

facili da creare e imme<strong>di</strong>ate da configurare.<br />

Con il termine “autenticazione” s’intende il processo con cui si determina l’identità <strong>di</strong> un<br />

soggetto e si “costringono” gli utenti a provare che loro sono effettivamente chi <strong>di</strong>cono <strong>di</strong><br />

essere. Di solito, questo comporta l’immissione <strong>di</strong> credenziali (tipicamente un nome utente e<br />

<strong>una</strong> password) in <strong>una</strong> pagina o finestra <strong>di</strong> login. Generalmente, queste credenziali sono<br />

autenticate, controllate e confrontate con quelle <strong>di</strong> un elenco <strong>di</strong> utenti in un archivio o in un<br />

database back-end.<br />

Gli attori sono (almeno):<br />

1 <strong>applicazione</strong> che deve autenticare<br />

2 principal: un’entità che può essere autenticata<br />

3 authority: un’entità che rappresenta e riconosce i principal, associandoli a dei ruoli che<br />

classificano le “capabilities” <strong>di</strong> quest’utente.<br />

L’autorizzazione è, invece, quel processo che, dopo l’autenticazione da parte <strong>di</strong> un utente,<br />

determina se costui ha i permessi sufficienti per compiere <strong>una</strong> determinata azione o accedere<br />

alla risorsa richiesta (come ad esempio vedere <strong>una</strong> pagina o recuperare informazioni da un<br />

database, ecc.).<br />

L’autenticazione e l’autorizzazione sono le due pietre angolari per creare un sito sicuro. Per<br />

capire meglio l’importanza <strong>di</strong> questi aspetti, possiamo fare un’analogia con la procedura <strong>di</strong><br />

accesso al sistema operativo Windows. Quando un computer con Windows viene avviato,<br />

l’utente fornisce username e password, in modo tale da autenticarsi al sistema. Da quel punto in<br />

poi, ogni volta che s’interagisce con <strong>una</strong> risorsa limitata (come un archivio, database, chiave <strong>di</strong><br />

registro, ecc.), Windows compie <strong>di</strong> nascosto controlli <strong>di</strong> autorizzazione per garantire che lo<br />

70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!