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.

Wikipedia

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,

  • összehasonlítja a timestamp a Hitelesítő a Jegyet (tipikus Kerberos-rendszer, a tolerancia, a különbség az, hogy 2 perc, de lehet beállítani, különben),
  • ellenőrzi, hogy a Jegy lejárt (az élettartam elem),
  • ellenőrzi, hogy a Hitelesítő nem már a HTTP-Kiszolgáló gyorsítótár (a elkerülve a replay támadások), meg
  • 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 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.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük