AD autentimine kasutab kahte peamist protokolli: Kerberos ja NTLM
NTLM
Sertifitseerimisprotsess on järgmine:
- Klient genereerib kohalikult NTLM-i räsi ning väärtus on kasutaja parooli räsiväärtus.
- klient saadab kasutajanime rakenduse serverisse.
- Rakenduse server genereerib kliendile juhusliku väärtuse, mida tavaliselt nimetatakse nonce'iks või väljakutseks.
- klient krüpteerib nonce NTLM räsiga ja saadab selle rakenduse serverisse.
- Pärast selle saamist saadab rakenduse server selle AD serverisse koos kasutajanime ja nonce'iga.
- AD genereerib kasutaja parooli põhjal NTLM-räsi, krüpteerib nonce'i ja võrdleb seejärel kliendi sõnumit.
- Kui väärtused on samad, läbib autentimine ja kui need on erinevad, ebaõnnestub autentimine.
Kerberos
Olulised mõisted:
- KDC: Võtmete jaotuskeskus, mis pakub kahte teenust: autentimisteenus (AS) ja piletite väljastamise teenus (TGS). Domeen genereerib KDC jaoks domeenikonto nimega krbtgt ning TGT kasutab parooli krüpteerimiseks ja dekrüpteerimiseks. Kui domeeni kasutaja pääseb esmakordselt ligi, soovib ta, et AS autentiks ning pärast edastamist palub AS TGS-il anda domeeni kasutajale pileti (TGT).
- SPN:Service Principal Name。 Lisaks kasutajakontodele on AD kontodel ka teenusekontod. Rakendusega on seotud ka teenusekonto, mis võimaldab rakendusel pääseda ligi serveriressurssidele, nagu exchange, SQL, IIS jne. SPN on teenus, mida kasutatakse teenuse seostamiseks, mida rakendus lubab, AD teenusekontoga.
Sertifitseerimisprotsess:
1. Kui domeeni kasutaja logib sisse, saadetakse AS päring (AS_REQ) DC-le, mis sisaldab krüpteeritud ajatemplit, mis on krüpteeritud kasutaja parooli räsi ja kasutajanimega.
2. Pärast taotluse saamist kasutab DC kasutaja kasutajanime ja parooli räsi selle dekrüpteerimiseks. DC vastab kliendile AS-vastuse (AS_REP), mis sisaldab sessioonivõtit ja TGT-d (pileti andmise pilet). Sessioonivõti on krüpteeritud kasutaja parooli räsiga. TGT sisaldab grupi liikmelisust, domeeni, ajatemplit, kliendi IP-d ja sessioonivõtit. TGT on samuti krüpteeritud, krüpteeritud KDC teenuse konto parooliga, ja klient ei saa seda dekrüpteerida. (TGT kehtib vaikimisi 10 tundi ning hiljem toimuvad uuendused ei nõua kasutajalt parooli uuesti sisestamist)
3. Kui kasutaja taotleb domeenis ressurssi, saadetakse piletiandmise teenuse taotlus (TGS_REQ), mis sisaldab kasutajanime, ajatemplit, TGT-d ja SPN-i. Ajatemplid ja kasutajanimed on krüpteeritud sessioonivõtmega.
4. Pärast päringu saamist määrab KDC esmalt, kas päringus on SPN, seejärel dekrüpteerib TGT, võtab sessioonivõtme ja ajatempli TGT-st välja ning kasutab TGT-s oleva sessioonivõtit, et dekrüpteerida krüpteeritud kasutajanimi ja ajatempel. Tee mitu kontrolli:
(1) TGT poolt dekrüpteeritud ajatempli peab olema kehtiv. (Kui toimub kordusrünnak, on ajatempel kehtetu.) )
(2) Kas TGT-s olev kasutajanimi on kooskõlas päringu kasutajanimega.
(3) Kas TGT-s olev IP-aadress on sama, mis päringus olev IP-aadress.
Kontroll vastab kliendi pileti andmise teenusele ServiceReply(TGS_REP), mis sisaldab SPN-i volitatud ligipääsu, uut sessioonivõtit, mida kasutatakse kliendi ja SPN-i vaheliseks ligipääsuks, ning uut teenusepileti piletit (sh uus sessioonivõti, kasutajanimi ja kasutajagrupp). Nii SPN volitatud kui ka SPN-ile ligi pääsev sessioonivõti on krüpteeritud sessioonivõtmega TGT-s. Teenusepilet on krüpteeritud vastava SPN teenuse konto parooliga.
1. Pärast ülaltoodud protsessi on kasutaja saanud sessioonivõtme ja teenusepileti, mis on seotud rakendusteenusega. Kasutaja saadab rakendusteenusele rakenduse päringu (AP_REQ), mis sisaldab kasutajanime ja ajatemplit ning on krüpteeritud sessioonivõtmega.
2. Rakendusteenus kasutab teenuse konto parooliräsi teenuse pileti dekrüpteerimiseks ning kasutaja, kasutajagrupi ja sessioonivõtme väljavõtmiseks. Dekrüpteeri kasutajanimi ja ajatempel AP_REQ dekrüpteeritud sessioonivõtmega. AP_REQ Kui jah, siis taotlus aktsepteeritakse ning rakendusteenus määrab õigused kasutajagrupi info põhjal teenusepiletis ning seejärel saab kasutaja soovitud teenusele ligi pääseda.
Algne aadress:Hüperlingi sisselogimine on nähtav.
|