di: Pasquale Congiustì 19 Maggio 2008
L'aspetto della sicurezza di un sistema informatico, sia esso in ambiente distribuito, sia esso un'applicazione desktop, viene troppo spesso trascurato da chi si dovrebbe occupare di implementare servizi che siano efficienti e sicuri. Tante volte si sottovaluta l'impatto, tante volte ci si occupa in maniera sommaria della questione adottando tecniche difficilmente manutenibili. Molto spesso vengono alla ribalta notizie di violazione dei sistemi informatici e la questione della sicurezza viene apprezzata tantissimo dalle aziende soprattutto in termini di investimenti. Portare informazioni sensibili su un media come Internet e non preoccuparsi di gestire efficientemente le autorizzazioni diventa una situazione altamente rischiosa, soprattutto considerando che si moltiplicano il numero di persone che attentano ai sistemi informatici, non più per semplice diletto, come avveniva un tempo, ma per rubare e rivendere dati sensibili.
Quando parliamo di autenticazione, soprattutto in ambito di applicazioni Web based, ci viene in mente l'associazione login e password e al limite un certificato per criptare i dati in ingresso e uscita dall'applicazione. In un semplice applicativo gestionale la gestione customizzata di questa funzione potrebbe essere sufficiente; ma come comportarsi in situazioni più complesse, dove, accanto all'autenticazione esistono diversi livelli di autorizzazione? Nell'articolo su SSL abbiamo imparato a criptare le informazioni, mantenendo quindi un grado di confidenzialità elevato all'esterno dell'applicazione. Ma come gestire in maniera efficiente i livelli interni di autorizzazione?
A partire dalla versione 1.4 della piattaforma Java, un prezioso strumento è stato integrato per rispondere alle domande poste in precedenza. Con JAAS (Java Authentication and Authorization Service) viene gestita la realizzazione di componenti adibiti esclusivamente alla gestione degli accessi alle risorse, rimanendo interamente indipendente dalla realizzazione concreta.
Questo servizio è alla base della gestione della sicurezza degli application server e dei componenti di logica applicativa (EJB in particolare) su di esso installati. Vedremo in questo primo articolo la parte dedicata all'autenticazione, mentre ci occuperemo della gestione delle autorizzazioni in un secondo momento.
Autenticazione e autorizzazione sono due differenti concetti che è bene distinguere. Seppure piuttosto semplice da capire, l'implementazione di JAAS è abbastanza criptica. Il perché è legato al fatto che JAAS vuole mantenere l'indipendenza tra la funzione da effettuare e la reale implementazione concreta.
Significa che i concetti di sicurezza sono astratti e l'implementazione è legata al particolare meccanismo di sicurezza che si utilizzerà di volta in volta. In questo modo, JAAS, si presenta come un modulo "pluggable" che permette di modificare e di utilizzare diversi meccanismi di sicurezza mantenendo intatto il codice client utilizzato.
Vediamo il set di API che utilizzeremo con l'aiuto del diagramma: le classi in bianco rappresentano quelle facenti parte del set di JAAS.
Figura 1. Architettura JAAS
|
AppFuse: realizzare un'applicazione completa (implementare i servizi) |
Guida Apache StrutsIl primo e più utilizzato tra i framework MVC del mondo Java,... |
Guida Java SpringScoprire il lightweight container più famoso del mondo Java.... |
Guida Java 6Prendendo le mosse dalla guida Java, già presente su HTML.it,... |
Ogni mese, direttamente nella tua e-mail: articoli, script e guide su Java, Visual Basic, VB.Net ed i più diffusi linguaggi di programmazione.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |