GSS-API
# GSS-API

GSS-API (sigle signifiant en anglais « Generic Security Service Application Program Interface ») est une interface de programmation pour les programmes couvrant la sécurité des systèmes d'information.

GSS-API est un standard IETF conçu pour résoudre le problème de compatibilité des différents systèmes de sécurités en utilisation aujourd'hui.

## Historique

Les spécifications préconisent depuis 2005 l'utilisation de l'algorithme MD5 pour garantir un transfert sécurisé des données (en). La découverte en mars 2011 de failles de sécurité pour MD5 entraîne un an plus tard la mise à jour des spécifications sur les mécanismes du standard.

## Fonctionnement

GSS-API ne fournit en soi aucune sécurité mais décrit une façon standardisée de gérer l'authentification. Elle est décrite dans la RFC 2743 qui spécifie les fonctions, concepts, structures de données, codes erreur... Implémentée dans des bibliothèques logicielles, elle confère aux applications qui les utilisent une interface compatible GSS-API, permettant aux développeurs logiciels de faire abstraction des différentes méthodes d'authentification. Le respect des normes favorise par ailleurs la maintenance de ces applications. GSS-API permet d'exploiter notamment les mécanismes SPNEGO, Kerberos et NTLM.

## Technologies connexes

* RADIUS
* SASL
* TLS
* SSPI
* SPNEGO (en)

## Relation avec Kerberos

La principale implémentation des mécanismes GSS-API utilisée reste Kerberos. Contrairement à GSS-API, les interfaces de programmation Kerberos n'ont pas été standardisées si bien que subsistent diverses implémentations utilisant des APIs incompatibles. GSS-API confère aux implémentations Kerberos une compatibilité des APIs.

## Les concepts clés

* « Name »

Une chaîne binaire marquant un commettant (voir contrôle d'accès et identité (en)). Par exemple, Kerberos utilise des noms comme user@REALM pour les utilisateurs ou service/hostname@REALM pour des programmes.

* « Credentials »

Accréditation - Preuve de l'identité impliquant l'utilisation d'une clef cryptographique; utilisé par toute entité dans le rôle du commettant.

* « Context »

État avant et après l'authentification. Émission d'un message de confirmation chiffré pour la mise en place d'un canal sécurisé (en).

* « Tokens »

Jetons d'accès à l'authentification ou jetons de sécurité inséré dans chaque message.

* « Mechanism »

Implémentation de divers mécanismes sous-jacents comme Kerberos, NTLM, DCE, SESAME, SPKM, LIPKEY.

* « initiator/acceptor »

initiateur/répondeur

