Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di Java » Dal JDK 1.0 a Java 2

Dal JDK 1.0 a Java 2




Visite: 1610Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

L'architettura della JCE


L'architettura della JCE Nei paragrafi precedenti abbiamo potuto vedere

Il kit di simulazione della Java Card


Il kit di simulazione della Java Card In questa appendice si mostra

Cifratura e decifratura


Cifratura e decifratura La cifratura è il concetto più semplice della crittografia,
immagine di categoria

Scarica gratis Dal JDK 1.0 a Java 2

Dal JDK 1.0 a Java 2

Java è un linguaggio studiato implementato in modo che fosse sicuro, nei confronti di qualsiasi tipo di pericolo. Il modello fondamentale su cui si appoggia è quello della Sandbox [1]. La Sandbox è un ambiente in cui un certo codice può eseguire un numero limitato di operazioni che permettono l'accesso al sistema, inteso come file system e connessioni di rete. Partendo dalle origini del linguaggio, la prima versione, il JDK 1.0 prevedeva che un codice cosiddetto "locale", cioè in esecuzione sulla macchina locale, avesse libero accesso alle risorse del sistema, mentre un codice cosiddetto "remoto" avesse accesso soltanto alle operazioni definite nella Sandbox.


Figura : Modello della sicurezza nel JDK 1.0 - tratta da [1]


Il principio fondamentale che stava dietro alla Sandbox era quello di prevenire ogni pericolo che potesse provenire da un codice non ritenuto sicuro, quindi le funzionalità permesse all'interno della Sandbox erano praticamente ridotte al minimo. Un'Applet, per esempio, poteva solamente accedere ad una connessione con il server da cui proveniva, ed eseguire semplici operazioni senza però avere accesso alla macchina locale o ad altre risorse. A partire dal JDK 1.1, invece, si ha l'introduzione del concetto di "Applet firmata". La novità consiste nel fatto che il codice viene eseguito come se fosse un codice locale, quindi con libero accesso alle risorse del sistema, con condizione che la chiave pubblica utilizzata per la verifica della firma sia considerata valida. Le Applet non firmate, invece, continuano ad essere eseguite con le limitazioni della versione precedente.


Figura : Modello della sicurezza nel JDK 1.1 - tratta da [1]

Per quanto riguarda le Applet firmate, queste vengono scaricate all'interno di una rete, e quindi eseguite in remoto, sulla macchina dell'utente, insieme alla loro firma, impacchettate in file JAR, cioè un archivio Java. L'archivio JAR permette il trasferimento di un file unico, in cui sono contenute tutte le informazioni necessarie all'esecuzione dell'Applet, oltre alla possibilità di apportare la firma alle varie classi Java una sola volta. Con l'avvento del JDK 1.2, conosciuto anche come Java 2, sparisce la distinzione tra codice remoto e codice locale, per lasciare spazio alle politiche di sicurezza. La politica di sicurezza definisce un insieme di permessi validi per codici provenienti da parti differenti e configurabili dall'utente o da un amministratore di sistema. Lo scopo dei permessi è quello di specificare l'accesso ad una particolare risorsa, che può essere la scrittura o lettura di un file posto nel file system della macchina locale, come la connessione ad una macchina o una porta remota. La gestione dei permessi avviene a runtime, ovvero vengono individuati da parte del Security Manager [2] dei domini, a tempo di esecuzione, in cui vengono inserite tutte le istanze di quelle classi che hanno gli stessi permessi. In questo modo è possibile definire dei domini che sono delle Sandbox avanzate, cioè in cui solo delle particolari classi hanno delle restrizioni alla loro esecuzione mentre altre continuano ad avere libero accesso alle risorse. Di default le applicazioni vengono eseguite senza alcuna restrizione, ma possono essere soggette, come detto, all'applicazione delle politiche di sicurezza.

La versione più recente della piattaforma Java, al momento della stesura di questa tesi, è JDK 1.4.2. In questa versione di Java 2 rispetto alle precedenti, le novità sono rappresentate dall'integrazione della JCE[2] all'interno delle API di Java, oltre alle integrazioni di altre estensioni per la sicurezza nei socket, JSSE e per la gestione dei servizi di autenticazione e autorizzazione JAAS .


Figura : Modello della sicurezza nel JDK 1.2 - tratto da [1]


Oltre a queste innovazioni vengono introdotti anche gestori per la catena di certificazione JCP[6]e per la gestione della sicurezza generica JGSS .

Il componente architetturale che riveste un ruolo di prestigio nella sicurezza in Java è il Security Manager, il quale è l'artefice della creazione e suddivisione dei domini. Il compito del Security Manager è quello di monitorare continuamente le azioni svolte, o più correttamente, che dovrebbero essere svolte, dai thread delle applicazioni. Nel JDK 1.1 le API del linguaggio Java al momento dell'esecuzione chiedevano al Security Manager attivo, il permesso di compiere l'operazione ritenuta pericolosa. Quindi l'esecuzione di una certa operazione a rischio era lasciata decidere al Security Manager. Ogni volta che dovevano essere eseguite azioni di un certo tipo, veniva richiamato un metodo, presente all'interno del Security Manager, denominato checkAzione, dove Azione stava ad indicarne il tipo, a cui era delegato il compito di effettuare il controllo. Con il JKD 1.2 tutte le chiamate a questi metodi si sono tradotte nella chiamata al metodo checkPermission. Come abbiamo già detto in precedenza, all'avvio un'applicazione non ha un Security Manager installato, quindi non ha restrizioni; questa cosa non è vera per le Applet per le quali è il browser, sulle quali girano, che installa automaticamente un Security Manager, il quale rimarrà attivo per tutto il tempo di esecuzione dell'Applet, in modo da evitare l'installazione di un nuovo Security Manager. Questa procedura è una tecnica di sicurezza molto importante per evitare che durante l'esecuzione un'Applet, installando un proprio Security Manager, si dia da sola i permessi per effettuare qualsiasi azione.

Per quanto riguarda i permessi, questi rappresentano oggetti che definiscono delle risorse. Un permesso è definito all'interno del programma, specificando un target, cioè l'identificativo di una risorsa e l'operazione eseguibile sulla risorsa stessa. Questa operazione di assegnamento di un permesso di per sé non ha senso se prima non è stata definita il medesimo permesso anche nel Policy File. Il Policy Files[3] è un file in cui sono memorizzati tutti i permessi; ce ne sono di due tipi, uno utente e uno di sistema. Sono entrambi modificabili e sono posizionati nella cartella libsecurityjava.policy relativamente al path restituito dalla proprietà user.home rispettivamente dell'utente e del sistema. Questi file sono ampiamente commentati, quindi per ulteriori informazioni su contenuto e scrittura si rimanda alla lettura di questi file presenti nelle distribuzioni standard di Java.



JDK - Java Development Kit

JCE - Java Cryptography Extension, verrà trattata più avanti nella tesi

API - Application Program Interface

JSSE - Java Security Socket Extension

JAAS - Java Authentication and Authorization Service

JCP - Java Certification Path

JGSS - Java Generic Security Service

Scarica gratis Dal JDK 1.0 a Java 2
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...

Appunti c c
Tesine internet internet
Lezioni database database