- un livello basso di sicurezza JVM Layer:garbage collection,class file verification, etc.
- un livello alto di sicurezza Application Layer:sandbox, security policy, security APIs, etc.
- JCE (Java Cryptography Extension)
- JSSE (Java Secure Socket Extension)
- JAAS (Java Authentication and Authorization Service)
- JGSS (Java General Security Service)
- CertPath API (Java Certificate Path API)
JVM Layer
JVM Layer
JVM Layer: Java Virtual Machine- è responsabile dell'indipendenza della piattaforma
- è responsabile della macchina astratta
- ha un set di istruzioni
- può manipolare la memoria a runtime
- non interpreta il codice Java ma il bytecode
- il bytecode è memorizzato nei class file
Il class file è composto da:
- da una "magic" costant OxCAFEBABE
- version number
- Access flag
- "costant pool"
- Informazioni sulla classe corrente(nome, superclasse, etc.)
- Informazioni a riguardo i metodi e le proprietà di una classe
- Informazioni di Debbugging
JVM Layer: The Class File Verification
- Verifica di base della struttura della classe
- Verifica base del "looks" delle:
referenze di classe
referenze dei campi
referenze sei simboli - Verifica del bytecode
- Verifica effettiva:
referenze di classi
accesso e modifica dei campi e metodi chiamati
Application Layer
Application Layer:Class verification
- Il class loader carica le classi su richiesta
- Riduce la memoria usata
- Enforces type-safety alongside the JVM
- Migliora il tempo di risposta del sistema
- Istanze di classe caricate:
Primordial/bootstrap class loader
System class loader
Application class loader - Il class loader è chiamato è chiamato dalla JVM
- Il class loader è responsabile di caricare le classi e di dargli un namespace
- Associa le classi caricate ad un dominio di protezione
- associa i permessi alla classe per quanto riguarda le locazioni, i certificati, etc.
- è definito dalla security policy
- la security policy di default si riferisce al system-wide policy ed implementa la policy di default per la sandbox
- policy addizionali sono user-defined
- si possono avere una o più policy security
- tutte le referenze alla security policy sono specificate nel security property file localizzato nella directory di installazione del JDK(o JRE)
Nessun commento:
Posta un commento