120 likes | 278 Views
Sikkerhed. Overordnede betragtninger. Sikkerhed: skal være let og overkommeligt det svageste led bestemmer graden af sikkerhed pris - trussel skal være i rimeligt forhold skal ses relativt i forhold til hvem - hvad der truer. Sikkerhedselementer. Integrity - integritet
E N D
Overordnede betragtninger Sikkerhed: • skal være let og overkommeligt • det svageste led bestemmer graden af sikkerhed • pris - trussel skal være i rimeligt forhold • skal ses relativt i forhold til hvem - hvad der truer
Sikkerhedselementer • Integrity - integritet Ingen ændringer i data • Autentication - ægthed Bevise identitet (noget man ved - ejer - er) • Confidentiality - fortrolighed Ingen kan læse og forstå data
Sikkerhedskomponenter i Java SE • Class loader arkitektur • Classfile verifier • Sikkerhedsfaciliteter i sprog og JVM • SecurityManager og Java API'en
Brugerdefinerede classloadere Kode der loades af en given classloader kan tillægges særlige egenskaber og tildeles specielle rettigheder
Verifikation af classfiler • Pass One: Structural Checks on the Class File • checker strukturen i den binære classfile • Pass Two: Semantic Checks on the Type Data • funktionsformater, typer, + diverse "sprog" regler • Pass Three: Bytecode Verification • initiering, beregningsforløb, + mange andre ting • Pass Four: Verification of Symbolic References • refererede klasser loades og verificeres
Sikkerhedsfaciliteter i sprog og JVM • typesikker casting af referencer • struktureret memory adgang (ingen pointer aritmetik) • automatisk garbage collection (ingen eksplicit delete) • check af array grænser • referencer checkes for null
SecurityManager • Anvendelse af SecurityManager er ikke default • SecurityManager fastlægger en sikkerhedspolitik, enten kodemæssigt eller i en "policy" fil • Java API'en checker mod den aktuelle politik • Den aktuelle politik kan eksempelvis omfatte: • accessrettigheder til filsystemet • forbindelsrettigheder til omverdenen • anvendelse af digitale signaturer • Flere politikker administreres via classloadersystemet
Sikkerhed i MIDP I CLDC-MIDP er der ikke brugerdefinerede classloadere og SecurityManager I stedet for anvendes: • Permissions • Protection Domains • Digitale signaturer Protection Domains fastlægges af MIDP implementeringen En digital signatur tilknyttes et protection domain
Permissions i MIDP 2.0 • javax.microedition.io.Connector.http • javax.microedition.io.Connector.socket • javax.microedition.io.Connector.https • javax.microedition.io.Connector.ssl • javax.microedition.io.Connector.datagram • javax.microedition.io.Connector.serversocket • javax.microedition.io.Connector.datagramreceiver • javax.microedition.io.Connector.comm • javax.microedition.io.PushRegistry
JWTI Protection Domains • untrusted - Provides a high level of security for applications whose origins and authenticity cannot be determined. The user is prompted frequently when the application attempts a sensitive operation. • trusted - All permissions are granted to MIDlets in this domain. • minimum - All permissions are denied to MIDlets in this domain. • maximum - All permissions are granted to MIDlets in this domain (equivalent to trusted.).