Download - The Java Authentication and Authorization Service (JAAS)

Transcript
Page 1: The Java Authentication and Authorization Service (JAAS)

The Java Authentication and Authorization Service (JAAS)

Priit Salumaa

Tartu 2003

Page 2: The Java Authentication and Authorization Service (JAAS)

Sissejuhatuseks

• JavaTM 2 Platform Security Architecture+ JAAS ehk(koodipõhine + kasutajapõhine kontroll)

JAAS - Priit Salumaa

Page 3: The Java Authentication and Authorization Service (JAAS)

Java 2 platvormi turvamudel (1)

JAAS - Priit Salumaa

• Liivakastist välja

Page 4: The Java Authentication and Authorization Service (JAAS)

Java 2 platvormi turvamudel (2)

JAAS - Priit Salumaa

• Turvapoliitikad + lokaalse koodi kontroll

AccessController

Page 5: The Java Authentication and Authorization Service (JAAS)

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.)

Page 6: The Java Authentication and Authorization Service (JAAS)

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

Page 7: The Java Authentication and Authorization Service (JAAS)

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";

}

Page 8: The Java Authentication and Authorization Service (JAAS)

Grupid, rollid hierarhia

JAAS - Priit Salumaa

• Rollid ja grupid kui volitused

grantPrincipal foo.Role "administrator"{permission java.io.FilePermission "/passwords/-", "read, write";

}

• PrincipalComparator liides

Page 9: The Java Authentication and Authorization Service (JAAS)

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

Page 10: The Java Authentication and Authorization Service (JAAS)

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

Page 11: The Java Authentication and Authorization Service (JAAS)

Mõned puudused ja tulevik

JAAS - Priit Salumaa

• Skaleeritavus – sertifitseeritud kolmas osapool

• Hajususe toetus (RMI turvalisus)

• Jini – teenuse registreerimine ja lokaliseerimine