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
- Távoli hitelesítés telefonos felhasználói szolgáltatás (RADIUS)
- Egyszerű hitelesítés és biztonsági réteg (SASL)
- Secure Sockets Layer (SSL)
- A Security Support Provider Interface (SSPI) a GSSAPI saját verziója, amelyet a Microsoft adott ki
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
- RFC 4121 A Kerberos 5 GSS-API mechanizmus: 2. verzió (angol)
- RFC 4178 Az egyszerű és védett GSS-API tárgyalási mechanizmus (SPNEGO) (angol)
- RFC 2025 Az egyszerű nyilvános kulcsú GSS-API mechanizmus (SPKM) (angol)
- RFC 2847 LIPKEY - Alacsony infrastruktúrájú nyilvános kulcsú mechanizmus az SPKM használatával (angol)
- Cica munkacsoport - következő generációs GSS-API (angol)