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)[1]. La découverte en mars 2011 de failles de sécurité pour MD5 [2] entraîne un an plus tard la mise à jour des spécifications sur les mécanismes du standard[3].
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[4] 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.
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
Notes et références
- (en) Network Working Group, « Request for Comments: 4121 - The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2 », Request for comments no 4121, .
- (en) Internet Engineering Task Force, « Request for Comments: 6151 - Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms », Request for comments no 6151, .
- (en) Internet Engineering Task Force, « Request for Comments: 6542 - Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Channel Binding Hash Agility », Request for comments no 6542, .
- (en) Request for comments no 2743.
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Generic Security Services Application Program Interface » (voir la liste des auteurs).