Post on 08-Jan-2016
description
The Java Authentication and Authorization Service (JAAS)
Priit Salumaa
Tartu 2003
Sissejuhatuseks
• JavaTM 2 Platform Security Architecture+ JAAS ehk(koodipõhine + kasutajapõhine kontroll)
JAAS - Priit Salumaa
Java 2 platvormi turvamudel (1)
JAAS - Priit Salumaa
• Liivakastist välja
Java 2 platvormi turvamudel (2)
JAAS - Priit Salumaa
• Turvapoliitikad + lokaalse koodi kontroll
AccessController
Mõisted
JAAS - Priit Salumaa
• Kasutajapõhine tuvastamine (Authentication) ja juurdepääsukontroll (Authorization)
• Isik (subject) - suvalise teenuse kasutaja
• Kasutajatunnus (principal) - isikuga seotud nimi, võib olla mitmeid (nimi, avalik võti)
• Volitus (credential) - isiku salajased ja avalikud voliatribuudid (parool, salajane võti, Kerberose pilet, avalik võti jne.)
PAM ja pinu laadne tuvastus
JAAS - Priit Salumaa
• PAM (Pluggable Authentication Module)– sõltumatus kasutajatuvastusteenustest– LoginContext klass ja LoginModule
• Logimismoodulite pinu– tuvastuse katse– tuvastuse teostus– katkestamine
• Võrk ja üksikrakendus
Volituste põhine pääsukontroll
JAAS - Priit Salumaa
• JAAS + Java 2 vaikimisi turvapoliitika:
grantCodebase "http://bar.com,Signedby "bar",Principal bar.Principal "duke" {permission java.io.FilePermission "/cdrom/duke/-", "read";
}
Grupid, rollid hierarhia
JAAS - Priit Salumaa
• Rollid ja grupid kui volitused
grantPrincipal foo.Role "administrator"{permission java.io.FilePermission "/passwords/-", "read, write";
}
• PrincipalComparator liides
Juurdepääsukontrolli realisatsioon
JAAS - Priit Salumaa
• java.lang.SequrityManager• java.sequrity.AccessControlle• + Subject.doAs() (JAAS)
• = Kasutaja ja koodi põhine pääsukontroll
• Dünaamiliselt seostatakse accsess control context ja isik. – java.sequrity.DomainCombiner liides
Virtuaalmasin ja JAAS
JAAS - Priit Salumaa
• JAAS pakub VM laiendust tuvastusfunktsioonide osas
• Mitme kasutaja keskkond VM sees
• Igale kasutajale shell
• Lisaks kasutaja identiteedile on võimalik koodile anda mingi kindla kasutaja õigused - UserPermissions
Mõned puudused ja tulevik
JAAS - Priit Salumaa
• Skaleeritavus – sertifitseeritud kolmas osapool
• Hajususe toetus (RMI turvalisus)
• Jini – teenuse registreerimine ja lokaliseerimine