Lo sviluppo di applicazioni web based presenta, alla base, l'architettura client/server che consente, a molti utenti collegati in una rete, di richiedere dei servizi a un server. Lo scambio di informazioni è generalmente rappresentato da pagine HTML che dal server vengono scaricate e rappresentate sul browser del client. Il principio vale sia nel caso di applicazioni Intranet che Internet, dove la topologia di rete è (per sua natura) sconosciuta, quindi potenzialmente vulnerabile a qualsiasi intrusione non autorizzata.
I dati viaggiano "in chiaro", cioè così come noi le leggiamo. Nel primo caso, è evidente che il pericolo è circoscritto alla rete Intranet su cui ci troviamo, quindi la confidenzialità delle informazioni è difficile che oltrepassi il confine della rete privata (a meno di non lasciare buchi aperti in quest'ultima). Nel secondo, praticamente, ci si trova in mare aperto, dove chiunque può intromettersi e leggere i nostri dati. Si capisce, quindi, come sia importante, in alcuni contesti, evitare che ciò si verifichi proteggendo tali dati rendendoli leggibili solo al legittimo intestatario.
La tecnologia standard che si utilizza è quella delle comunicazioni SSL (Secure Socket Layer). Nell'articolo non entreremo nel dettaglio della tecnologia stessa, ci limiteremo, dove necessario a spiegare alcuni concetti base. Per approfondimenti rimando alla definizione di Wikipedia o all'articolo Apache ed SSL.
SSL è un protocollo che nell'architettura TCP/IP si pone tra il livello applicativo (http, nel nostro caso) e il protocollo di trasporto (TCP). Il suo compito è di cifrare (lato server) e decifrare (lato client) le informazioni, in maniera trasparente rispetto agli strati cui si interpone.
Prima di effettuare qualsiasi scambio di informazioni (cifrato), il client e il server si interconnettono, e in particolare il client verifica che il server sia sicuro verificando il certificato del server.
Il certificato è un oggetto che assicura che il sito, che si sta visitando, è stato autenticato da un'autorità superiore e fidata (dal client). Tale autorità e la CA (Certificate Authority) che è un autorità riconosciuta dal browser in maniera automatica (all'interno del browser trovate la lista delle autorità riconosciute come tali). Se il processo di autenticazione va a buon fine inizia lo scambio dati cifrato (le operazioni di cifratura e decifratura avvengono attraverso le chiavi contenute nel certificato).
|
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 |