GSSAPI

The Generic Security Service Application Program Interface ( GSSAPI , også GSSAPI ) er et programmeringsgrensesnitt for applikasjoner som bruker sikkerhet enheter.

GSSAPI er en IETF- standard som løser problemet med mange forskjellige, noen ganger inkompatible sikkerhetsenheter.

funksjonalitet

GSSAPI tilbyr ikke sikkerhet. I stedet tilbyr forskjellige produsenter sin sikkerhetsprogramvare, ofte i form av biblioteker . Disse bibliotekene presenterer et GSS-kompatibelt grensesnitt for applikasjonsprogrammerere, som i sin tur bare trenger å bruke produsentuavhengig og standardisert GSSAPI. Hvis implementeringene av sikkerhetsfunksjonene må skiftes ut på et eller annet tidspunkt, er det ikke nødvendig å endre applikasjonen.

Den viktigste funksjonen i GSSAPI-applikasjoner er utveksling av ugjennomsiktige meldinger (såkalte tokens ), som skjuler implementeringsdetaljene fra de høyere lagene i applikasjonen. Den klient og server side av gjennomføringen er utformet på en slik måte at de overfører de symboler som de respektive GSSAPI implementering gir. GSSAPI-tokens kan byttes ut over usikre nettverk (for eksempel Internett ) fordi deres mekanisme garanterer meldingssikkerhet. Etter at et visst antall poletter er utvekslet, informerer GSSAPI den respektive applikasjonen på begge sider om at en sikker forbindelse er installert.

Så snart denne sikre forbindelsen er opprettet, kan følsomme meldinger fra den respektive applikasjonen kodes i GSSAPI-tokens og overføres sikkert mellom klient og server. Den typiske beskyttelsen fra GSSAPI inkluderer konfidensialitet (hemmelighold) og integritet (ekthet). GSSAPI kan også gi lokale garantier om identiteten til den eksterne brukeren eller datamaskinen.

GSSAPI beskriver rundt 45 funksjonsanrop. Følgende er spesielt viktige:

  • GSS_Acquire_cred - mottar bevis for brukeren, ofte en kryptografisk nøkkel
  • GSS_Import_name - konverterer en angitt bruker eller vertsnavn til et identifiserbart skjema
  • GSS_Init_sec_context - genererer et nytt token som sendes til serveren
  • GSS_Accept_sec_context - behandler et token fra GSS_Init_sec_context og genererer et nytt token som kan sendes tilbake
  • GSS_Wrap - konverterer applikasjonsdata til en sikker melding (vanligvis kryptert)
  • GSS_Unwrap - konverterer en sikker melding tilbake til applikasjonsdata

GSSAPI er standardisert for C og Java . En standard for C # er under utvikling.

En begrensning av GSSAPI er at bare autentisering (autentisering), men ikke autorisasjon (autorisasjon), er standardisert; en klient-serverarkitektur antas fortsatt.

Ulike GSSAPI-mekanismer fungerer vanligvis ikke sammen. Hvis det forventes forskjellige andre GSSAPI-mekanismer i store, heterogene nettverk i fremtiden, bør en implementering av SPNEGO på hver side av kommunikasjonen være fornuftig. Dette gjør at vanlige GSSAPI-mekanismer kan forhandles sikkert mellom to partnere (initiativtaker og mottaker). Microsoft bygget SPNEGO inn i Windows 2000 da Kerberos 5 ble lagt til den eksisterende NTLM SSP-mekanismen.

Tilkobling til Kerberos

Den dominerende implementeringen av GSSAPI-mekanismene som for tiden er i bruk er Kerberos . Kerberos API er imidlertid ikke standardisert. Det er forskjellige implementeringer som bruker gjensidig inkompatible API-er.

Konkurrerende teknologier


Nøkkelbegreper i GSSAPI

Etternavn
en binær streng som identifiserer rektor (bruker eller program) - se tilgangskontroll og identitet . Som et eksempel bruker Kerberos navn som bruker @ REALM for brukere og service / vertsnavn @ REALM for programmer.
Legitimasjon (legitimering)
Informasjon om identitet; brukes av en enhet som en navngitt rektor. Legitimasjonsinformasjon inneholder vanligvis en kryptografisk nøkkel.
kontekst
Status for en side av den sertifiserte / bekreftede forbindelsen. Kan inneholde tjenester for å beskytte meldinger som brukes til å opprette en sikker forbindelse.
Token
ugjennomsiktige meldinger som utveksles enten som en del av den første autentiseringen (kontekstnivå-token) eller som en del av den beskyttede kommunikasjonen (per-melding-token).
mekanisme
En underliggende GSSAPI-implementering som gir navn, tokens og legitimasjon. Kjente mekanismer inkluderer Kerberos, NTLM, DCE , SESAME, SPKM, LIPKEY.
Initiativtaker / mottaker
Slutten som sender det første token er initiativtaker, den andre enden er mottakeren. Generelt er klienten initiativtaker mens serveren er mottaker.

Historien om GSSAPI

  • Juli 1991: IETF Common Authentication Technology (CAT) Working Group møter i Atlanta, ledet av John Linn
  • September 1993: GSSAPI versjon 1 ( RFC 1508 , RFC 1509 )
  • Mai 1995: Windows NT 3.51 er utgitt, inneholder SSPI
  • Juni 1996: Kerberos-mekanisme for GSSAPI ( RFC 1964 )
  • Januar 1997: GSSAPI versjon 2 ( RFC 2078 )
  • Oktober 1997: SASL publisert, inneholder GSSAPI-mekanismer ( RFC 2222 )
  • Januar 2000: GSSAPI versjon 2 oppdatering 1 ( RFC 2743 , RFC 2744 )
  • August 2004: KITTEN-arbeidsgruppen møtes for å fortsette CAT-aktivitetene
  • Mai 2006: Sikker bruk av GSSAPI standardisert ( RFC 4462 )

weblenker