magyarázza, mint én vagyok 5 éves: Kerberos – mi Kerberos, és miért érdekel?
bár ez a téma valószínűleg nem magyarázható, hogy egy 5 éves, meg kell érteni, ez az én kísérlet töredezettségmentesítés dokumentáció néhány vizuális segédeszközök, emészthető nyelven.,
dióhéjban
Tulajdonképpen a Kerberos az jön le, hogy csak ez:
- a protokoll a hitelesítést
- használja a jegyeket, hogy hitelesítse
- elkerüli tárolja a jelszavakat, a helyi vagy küldi őket az interneten keresztül
- magában foglalja a megbízható 3rd-party
- beépített szimmetrikus kulcsú kriptográfia
van egy jegy – a személyazonosság igazolása titkosított egy titkos kulcs az adott kért szolgáltatás – a helyi gép (teremtés egy jegy lásd alább); mindaddig, amíg ez érvényes lehet hozzáférni a kért szolgáltatás, amely belül van egy Kerberos realm.,
ezt általában vállalati / belső környezetekben használják. Talán szeretne hozzáférni a belső bérszámfejtési webhelyéhez, hogy áttekintse, milyen kis bónuszt adott a főnöke. Ahelyett, hogy újra beírná a felhasználó / jelszó hitelesítő adatait, a jegy (a rendszeren tárolt) hitelesítésére szolgál, amely lehetővé teszi az egyszeri bejelentkezést.
a jegy frissül, ha bejelentkezik a számítógépre, vagy ha kinit USER
a terminálon belül.
a trivia-szerető emberek számára Kerberos neve a görög mitológiából származik, Hádész háromfejű őrkutyája., Ez nagyon illik, mivel egy harmadik féltől (kulcsfontosságú elosztó központtól) kell hitelesíteni az ügyfél és a szolgáltatás vagy a fogadó gép között.
Kerberos Realm
adminok létrehozása realms – Kerberos realms–, amely magában foglalja az összes, ami elérhető a hozzáférést. Nyilvánvaló, hogy nem férhet hozzá bizonyos szolgáltatásokhoz vagy a házirend – kezelőben meghatározott fogadó gépekhez-a fejlesztőknek nem szabad hozzáférniük semmi pénzügyhez, ilyesmi. De egy birodalom meghatározza, hogy Kerberos mit kezel annak szempontjából,hogy ki férhet hozzá.,
A gép, az ügyfél, ezen a területen él, valamint a szolgáltatás vagy a fogadó, amelyet kérni szeretne, valamint a KDC kulcselosztó központja(nem, nem a KGB, bár mindig erre gondolok). A következő példában elkülönítem a hitelesítési kiszolgálót és a Jegymegadó kiszolgálót, de mindkettő a KDC-n belül van.
hogy tartsa a hátsó elméd
érdemes lehet, hogy jöjjön vissza ide, miután elolvasta a kavicsos részleteket, hogyan működik a példa.,
amikor hozzáférést kér egy Szolgáltatáshoz vagy gazdagéphez, három interakció zajlik közted és:
- A hitelesítési kiszolgáló
- a jegyet nyújtó kiszolgáló
- a szolgáltatás vagy gazdagép, amelyhez hozzáférést szeretne.
egyéb fontos pontok:
- minden interakcióval két üzenetet kap. Minden üzenet az egyik, hogy lehet dekódolni, az egyik, hogy nem lehet.
- az a szolgáltatás vagy gép, amelyhez hozzáférést kér, soha nem kommunikál közvetlenül a KDC-vel.,
- a KDC adatbázisában tárolja a felhasználói gépek és szolgáltatások összes titkos kulcsát.
- a titkos kulcsok jelszavak, valamint egy kivonatolt só-a hash algoritmust a Kerberos beállítás végrehajtása során választják ki. A szolgáltatások vagy a fogadó gépek esetében nincsenek jelszavak (ki írja be). A kulcsot valójában egy admin generálja a kezdeti beállítás során, majd a szolgáltatás/gazdagépen memorizálja.
- ismét ezek a titkos kulcsok mind a KDC adatbázisban vannak tárolva; emlékezzünk a Kerberos szimmetrikus kulcsú kriptográfiára való támaszkodására.,
- maga a KDC titkosítva van egy mesterkulccsal, hogy egy nehézségi réteget adjon hozzá a kulcsok ellopásához az adatbázisból.
- vannak Kerberos konfigurációk és implementációk, amelyek nyilvános kulcsú kriptográfiát használnak a szimmetrikus kulcs titkosítás helyett.
félre: az itt tárgyalt üzenetek sorrendje és tartalma nem tükrözi a TCP-n vagy UDP-n keresztüli Küldés sorrendjét.
az alábbi példa leírja, mi történik, ha kér valamit egy belső HTTP szolgáltatás-szerű információt bérszámfejtés belül a vállalati intranet.,
Ön és a hitelesítési kiszolgáló
szeretne hozzáférni egy HTTP-szolgáltatáshoz, de először be kell mutatkoznia a hitelesítési kiszolgálónak. Bejelentkezve a számítógép, vagy kinit USERNAME
, kezdeményezi, hogy a bevezetés keresztül egyszerű szöveges kérelmet a Jegy megadása (TGT)., A titkosítatlan üzenet tartalma:
- a neve/AZONOSÍTÓJA
- a neve/AZONOSÍTÓJA a kért szolgáltatás (ebben az esetben a szolgáltatás a jegykiadó Server),
- a hálózati címét (ez lehet egy listát az IP-címek több géppel, vagy lehet null, ha valaki használja a gépet), valamint
- kért életre érvényességét a TGT,
lehetőséget, majd elküldi a Hitelesítési Szerver.
A hitelesítési kiszolgáló ellenőrzi, hogy a KDC adatbázisban van-e. Ez az ellenőrzés csak annak ellenőrzésére szolgál, hogy létezik-e; nincs hitelesítő adat.,
ha nincsenek hibák (pl. a felhasználó nem található), akkor véletlenszerűen létrehoz egy session kulcsnak nevezett kulcsot, amelyet Ön és a Jegymegadó kiszolgáló (TGS) között használhat.
A hitelesítési kiszolgáló ezután két üzenetet küld vissza Önnek., Egy üzenet a TGT, amely tartalmazza:
- a neve/AZONOSÍTÓJA,
- a TGS neve/AZONOSÍTÓJA,
- timestamp,
- a hálózati címét (ez lehet egy listát az IP-címek több géppel, vagy lehet null, ha valaki használja a gépet)
- élettartama a TGT (lehet, amit eredetileg kért, alsó-ha te vagy a TGS titkos kulcs lejárt, vagy egy másik korlát, hogy végrehajtása során a Kerberos beállítás), valamint
- a TGS Session Key,
, majd a titkosított a TGS Titkos Kulcs ., A másik üzenet a következőket tartalmazza:
- a TGS név/ID,
- időbélyeg,
- élettartam (ugyanaz, mint fent), és
- TGS munkamenet kulcs
és titkosítva van az ügyfél titkos kulcsával. Vegye figyelembe, hogy a TGS munkamenet kulcs a megosztott kulcs Ön és a TGS között.
Az Ügyfél titkos kulcsát úgy határozzuk meg, hogy felszólítunk a jelszavára, hozzáadunk egy sót (a ), majd az egészet összeragasztjuk. Most már használhatja a második üzenet visszafejtésére a TGS Session kulcs megszerzéséhez., Ha a jelszó helytelen, akkor nem tudja visszafejteni az üzenetet. Felhívjuk figyelmét, hogy ez az a lépés, amelyben a megadott jelszót implicit módon érvényesítik.
nem lehet azonban dekódolni a TGT-t, mivel nem ismeri a TGS titkos kulcsot. A titkosított TGT a hitelesítő adatok gyorsítótárában tárolódik.
Ön és a Jegyszolgáltató szerver
Ezen a ponton, akkor a TGT, hogy nem tud olvasni, mert nem rendelkezik a TGS titkos kulcs dekódolni. Van azonban a TGS Session kulcs.,
most a sor, hogy két üzenetet küldjön. Először készítse elő a hitelesítőt a TGS Session kulccsal titkosítva, amely a következőket tartalmazza:
- a neve/ID, és
- időbélyeg.
titkosítatlan üzenetet küld, amely a következőket tartalmazza:
- a kért HTTP szolgáltatás neve/azonosítója, amelyhez hozzáférni szeretne, és
- a Jegy élettartama a HTTP Szolgáltatáshoz,
a titkosított hitelesítővel és a TGT-vel együtt a jegykiadó kiszolgálóhoz.
a jegykiadó kiszolgáló először ellenőrzi a KDC adatbázist, hogy létezik-e HTTP szolgáltatás.,
Ha igen, a TGS titkos kulcsával visszafejti a TGT-t . Mivel a most titkosítatlan TGT tartalmazza a TGS Session kulcsot, a TGS visszafejtheti az elküldött Hitelesítőt.,következtében:
- hasonlítsa össze az ügyfél AZONOSÍTÓ a Hitelesítő a TGT
- hasonlítsa össze az időbélyeg a Hitelesítő a TGT (tipikus Kerberos-rendszer, a tolerancia, a különbség az, hogy 2 perc, de lehet beállítani, különben a)
- ellenőrizze, hogy a TGT lejárt (az élettartam elem),
- ellenőrizze, hogy a Hitelesítő nem már a TGS cache (a elkerülve a replay támadások), valamint
- ha a hálózati cím az eredeti kérelem nem üres, összehasonlítja a forrás IP-címet a hálózati címét (vagy belül a kért lista) belül a TGT.,
A jegykiadó Szerver akkor véletlenszerűen generál a HTTP-Szolgáltatás Ülés Gombot, majd előkészíti a HTTP-Szolgáltatás jegyet tartalmaz:
- a neve/AZONOSÍTÓJA,
- HTTP-Szolgáltatás neve/AZONOSÍTÓJA,
- a hálózati címét (ez lehet egy listát az IP-címek több géppel, vagy lehet null, ha valaki használja a gépet),
- timestamp,
- életre szóló menetjegy érvényességének, valamint
- HTTP-Szolgáltatás Session Key,
lehetőséget, majd titkosítja a HTTP-Szolgáltatás Titkos Kulcs.
ezután a TGS két üzenetet küld Önnek., Az egyik a titkosított HTTP szolgáltatási jegy; a másik a következőket tartalmazza:
- HTTP szolgáltatás neve/ID,
- időbélyeg,
- a jegy érvényességének élettartama, és
- HTTP szolgáltatási munkamenet kulcs,
, amely a TGS Session kulccsal van titkosítva.
A gép visszafejti az utóbbi üzenetet a TGS Session billentyűvel, amelyet korábban tárolt a HTTP Service Session kulcs megszerzéséhez.
A gép azonban nem tudja visszafejteni a HTTP szolgáltatási jegyet, mivel a HTTP Service Secret kulccsal titkosítva van.,
Ön és a HTTP szolgáltatás
a HTTP szolgáltatás eléréséhez a gép egy másik hitelesítő üzenetet készít, amely a következőket tartalmazza:
- a neve/ID,
- timestamp,
és a HTTP Service Session kulccsal van titkosítva. A gép ezután elküldi a hitelesítőt, valamint a TGS-től kapott, még mindig titkosított HTTP szolgáltatási jegyet.
a HTTP szolgáltatás ezután visszafejti a jegyet titkos kulcsával a HTTP Service Session kulcs megszerzéséhez., Ezután ezt a munkamenet kulcsot használja az elküldött hitelesítő üzenet visszafejtéséhez.,es az ügyfél AZONOSÍTÓ a Hitelesítő a Jegyet,
a HTTP szolgáltatás ezután egy hitelesítő üzenetet küld, amely tartalmazza az azonosítóját és az időbélyeget, hogy megerősítse az Ön személyazonosságát, és titkosítva legyen a HTTP Service Session kulccsal.
A gép elolvassa a hitelesítő üzenetet a gyorsítótárazott HTTP Service Session billentyű visszafejtésével, és tudja, hogy üzenetet kell kapnia a HTTP szolgáltatás azonosítójával és időbélyegzőjével.
és most hitelesítették a HTTP szolgáltatás használatához., A jövőbeli kérések a gyorsítótárazott HTTP szolgáltatás jegyét használják, mindaddig, amíg az nem járt le az élettartam attribútumon belül meghatározottak szerint.
bár később írok erre, magának a HTTP szolgáltatásnak képesnek kell lennie a Kerberos támogatására. Is, akkor is kell egy böngésző, amely támogatja SPNEGO / tárgyalni.,
Talán újra olvasni a pontot korábban vázolt; nézd ezt, vagy ez a jelenlegi végrehajtása, különösen az egyik, amelynek én vagyok a fizetett munka, ami kommunikál a népszerű végrehajtása; vagy át egy-egy bemutató, az erőforrás vezető, a videó, amit küldtek nekem, amikor elkezdtem tanulni a Kerberos, vagy az RFC magát.
a fenti képek Keynote-val lettek megjelenítve, a font awesome és a glyphicons ikonjaival, és slideshare-on is elérhetők.