Tartalomjegyzék
Egy nyílt hálózat nem biztosít a szokásos jelszavas hitelesítésen kívül olyan szolgáltatásokat, amelyekkel a munkaállomások egyértelműen azonosíthatják a felhasználókat. Általában a felhasználónak minden, a hálózaton elérhető szolgáltatáshoz külön hitelesítenie kell magát, jelszó használatával. A Kerberos egy olyan hitelesítési megoldást biztosít, amely segítségével a felhasználónak csak egyszer kell regisztrálnia magát és ezek után a hálózati munkamenet teljes ideje alatt megbízhatóvá válik. A biztonságos hálózat eléréséhez az alábbi követelmények szükségesek:
Minden felhasználónak bizonyítania kell személyazonosságát, mielőtt egy szolgáltatást elér, továbbá biztosítani kell, hogy senki se férhessen hozzá más felhasználók azonosítójához.
Gondoskodni kell arról is, hogy a hálózati kiszolgálók szintén igazolják azonosságukat, hiszen ellenkező esetben egy támadó értékes információkat szerezhet a kiszolgáló megszemélyesítésével. Ezt a megoldást kölcsönös hitelesítésnek nevezzük, mivel nemcsak a kliens hitelesíti magát a kiszolgáló felé, hanem a kiszolgáló is a kliens felé.
A Kerberos a fenti elvárások megvalósítását erősen titkosított hitelesítés alkalmazásával segít elérni. A következőkben bemutatjuk, hogyan is történik mindez. Csak a Kerberos alapjait tárgyaljuk; a részletes technikai utasítások a Kerberos szoftver dokumentációjában találhatók.
A következőkben összefoglaljuk a legfontosabb Kerberos-fogalmakat.
A felhasználóknak vagy a klienseknek valamilyen igazolványt kell felmutatniuk, hogy hozzáférjenek a kért szolgáltatáshoz. A Kerberos két típusú igazolványt ismer: jegyet és hitelesítőt.
A jegy egy kiszolgáló alapú igazolvány, amelyet a kliens a szolgáltatást futtató kiszolgálóhoz való csatlakozáskor használ. Tartalmazza a kiszolgáló és a kliens nevét, a kliens internetes címét, egy időbélyeget, az életciklust és egy véletlenszerűen generált kapcsolati kulcsot (session key). Az összes adat titkosítva van a kiszolgáló kulcsával.
A jeggyel együtt használva a hitelesítő biztosítja, hogy a kliens valóban az, akinek mondja magát. A hitelesítő egy, a kliens nevéből, IP-címéből és a munkaállomás aktuális idejéből épül fel, amely adatok titkosításra kerülnek a kapcsolati kulccsal. Ezt a kulcsot csak a munkállomás és a szolgáltatást nyújtó kiszolgáló ismeri. Egy hitelesítő csak egyszer használható – szemben a jeggyel. A hitelesítőt a kliens készíti.
A Kerberos alany egy egyedi azonosító (felhasználó vagy szolgáltatás), amelyhez jegy rendelhető. Az alany a következő komponensekből áll:
Primary – az alany első része, amely felhasználó esetén megegyezhet a felhasználónévvel.
Instance – elhagyható, a "primary" mezőt jellemző adatok. Ez a szöveg a /
karakterrel kerül elválasztásra a "primary" mezőtől.
Realm – itt adható meg a "realm" (tartomány) értéke, amely általában a domain neve, nagybetűs karakterekkel.
A Kerberos garantálja, hogy a kliens és a kiszolgáló egyaránt megbizonyosodhasson a másik azonosságáról. Közös kapcsolati kulcson osztoznak, és ezt használják a titkosított kommunikációra.
A kapcsolati kulcsok a Kerberos által előállított ideiglenes privát kulcsok. Ezeket a kliens ismeri és ezekkel titkosítja a kiszolgáló és a munkaállomás közötti kommunikációt a jegy kérésének és megérkezésének folyamata alatt.
Szinte az összes hálózati csomag lehallgatható, ellopható és újraküldhető. A Kerberos esetén ez különösen veszélyes lehet, hiszen a támadó megszerezheti a szolgáltatáskérést, amely tartalamazza a jegyet és a hitelesítőt. Ezek után újraküldheti (megismételheti) a kérést, hogy Önt megszemélyesítse. Azonban a Kerberos néhány eljárással képes a probléma kezelésére.
A szolgáltatás egy megadott feladat végrehajtása, míg a folyamatot a kiszolgáló hajtja végre.