GSSAPI

A Generic Security Service Application Program Interface ( GSSAPI , GSS-API is ) egy programozási felület a biztonsági eszközökhöz hozzáférő alkalmazások számára.

A GSSAPI egy IETF szabvány, amely számos különböző, néha inkompatibilis biztonsági eszköz problémáját kezeli.

funkcionalitás

Maga a GSSAPI nem nyújt biztonságot. Ehelyett a különféle gyártók biztonsági programjaikat kínálják, gyakran könyvtárak formájában . Ezek a könyvtárak egy GSS-kompatibilis interfészt mutatnak be az alkalmazás-programozók számára, akiknek viszont csak a gyártótól független és szabványosított GSSAPI-t kell használniuk. Ha a biztonsági funkciók megvalósítását valamikor ki kell cserélni, az alkalmazáson nincs szükség változtatásokra.

A GSSAPI alkalmazások legfontosabb jellemzője az átlátszatlan üzenetek (úgynevezett tokenek ) cseréje , amelyek elrejtik a megvalósítás részleteit az alkalmazás magasabb rétegeiből. A megvalósítás kliens és kiszolgáló oldala úgy van megtervezve, hogy továbbítsák a megfelelő GSSAPI implementáció által biztosított tokeneket. A GSSAPI tokenek nem biztonságos hálózatokon (például az Interneten ) cserélhetők , mert mechanizmusuk garantálja az üzenetek biztonságát . Bizonyos számú tokenek cseréje után a GSSAPI mindkét oldalon tájékoztatja az adott alkalmazást arról, hogy biztonságos kapcsolat van telepítve.

Amint létrejön ez a biztonságos kapcsolat, az adott alkalmazás érzékeny üzenetei GSSAPI tokenekbe kódolhatók és biztonságosan csomagolhatók az ügyfél és a kiszolgáló között. A GSSAPI által nyújtott tipikus védelem a titoktartást (titoktartás) és az integritást (hitelesség) tartalmazza. A GSSAPI helyi garanciákat is nyújthat a távoli felhasználó vagy számítógép identitására vonatkozóan.

A GSSAPI körülbelül 45 függvényhívást ír le. A következők különösen fontosak:

  • GSS_Acquire_cred - megkapja a felhasználó számára a bizonyítékot, gyakran egy kriptográfiai kulcsot
  • GSS_Import_name - konvertálja a beírt felhasználó vagy gazdagép nevét azonosítható formába
  • GSS_Init_sec_context - létrehoz egy új tokent, amelyet elküld a szervernek
  • GSS_Accept_sec_context - egy tokent feldolgoz a GSS_Init_sec_context-ből, és új tokent generál, amelyet visszaküldhet
  • GSS_Wrap - az alkalmazás adatait biztonságos (általában titkosított) üzenetgé alakítja
  • GSS_Unwrap - a biztonságos üzenetet visszaállítja alkalmazásadattá

A GSSAPI szabványosítva van a C és a Java számára . A C # szabvány kidolgozása folyamatban van.

A GSSAPI korlátozása az, hogy csak a hitelesítés (hitelesítés), de az engedélyezés (hitelesítés) nincs szabványosítva; az ügyfél-kiszolgáló architektúrát továbbra is feltételezzük.

A különböző GSSAPI mechanizmusok általában nem működnek együtt. Ha a jövőben nagyszámú, heterogén hálózatokban különféle egyéb GSSAPI mechanizmusokra számítanak, akkor az SPNEGO megvalósításának a kommunikáció mindkét oldalán értelmesnek kell lennie. Ez lehetővé teszi a közös GSSAPI-mechanizmusok biztonságos tárgyalását két partner (kezdeményező és címzett) között. A Microsoft beépítette az SPNEGO-t a Windows 2000 rendszerbe, amikor a Kerberos 5-et hozzáadták a meglévő NTLM SSP-mechanizmushoz.

Csatlakozás Kerberoshoz

A jelenleg használt GSSAPI mechanizmusok domináns megvalósítása a Kerberos . A Kerberos API azonban nem szabványosított; vannak különböző megvalósítások, amelyek kölcsönösen inkompatibilis API-kat használnak.

Versenyző technológiák


A GSSAPI kulcsfogalmai

Vezetéknév
bináris karakterlánc, amely azonosítja a főt (felhasználót vagy programot) - lásd: Belépés-ellenőrzés és identitás . Például a Kerberos olyan neveket használ, mint a felhasználók @ REALM a felhasználók számára, a service / hostname @ REALM pedig a programok esetében.
Hitelesítő adatok (legitimáció)
Információ a személyazonosságról; egy entitás megnevezett tőkeként használja. A hitelesítő adatok általában kriptográfiai kulcsot tartalmaznak.
kontextus
A tanúsított / ellenőrzött kapcsolat oldalának állapota. Tartalmazhat olyan szolgáltatásokat, amelyek védik a biztonságos kapcsolat létrehozásához használt üzeneteket.
Jelképes
átlátszatlan üzenetek, amelyeket vagy a kezdeti hitelesítés (kontextus szintű token), vagy a védett kommunikáció (üzenetenkénti token) részeként cserélnek ki.
gépezet
A mögöttes GSSAPI megvalósítás, amely neveket, tokeneket és hitelesítő adatokat biztosít. Jól ismert mechanizmusok: Kerberos, NTLM, DCE , SESAME, SPKM, LIPKEY.
Kezdeményező / címzett
Az első tokent küldő vég az iniciátor, a másik vége a címzett. Általában az ügyfél a kezdeményező, míg a szerver a címzett.

A GSSAPI története

  • 1991. július: Az IETF Közös Hitelesítési Technológia (CAT) munkacsoportja ül össze Atlantában, John Linn vezetésével
  • 1993. szeptember: GSSAPI 1. verzió ( RFC 1508 , RFC 1509 )
  • 1995. május: Megjelent a Windows NT 3.51 , amely SSPI-t tartalmaz
  • 1996 június: Kerberos mechanizmus a GSSAPI számára ( RFC 1964 )
  • 1997. január: GSSAPI 2. verzió ( RFC 2078 )
  • 1997. október: Megjelent a SASL, amely GSSAPI mechanizmusokat tartalmaz ( RFC 2222 )
  • 2000. január: GSSAPI 2. verzió 1. frissítés ( RFC 2743 , RFC 2744 )
  • 2004. augusztus: A KITTEN munkacsoport összeül a CAT tevékenység folytatására
  • 2006. május: A GSSAPI szabványosított biztonságos használata a Shell használatával ( RFC 4462 )

web Linkek