SASL EXTERNAL Technical Documentation/fr

De Trustedbird Client Wiki
Révision de 8 octobre 2010 à 10:35 par Xparis (discussion | contributions) (SASL External)

SASL External

Simple Authentication and Security Layer (signifiant « Couche d'authentification et de sécurité simple » ou SASL) est un cadre d'authentification et d'autorisation standardisé par l'IETF. Le cadre découple les mécanismes d'authentification des protocoles d'application, permettant en théorie à n'importe quel mécanisme d'authentification pris en charge par SASL d'être employé à partir de n'importe quel protocole d'application capable d'utiliser SASL. Les mécanismes d'authentification peuvent également opérer l'autorisation par serveur mandataire, une technique permettant à un utilisateur d'agir au nom d'un autre. Les mécanismes d'authentification peuvent également fournir une couche d'intégrité des données laquelle permet d'offrir des services de sécurité des données et de confidentialité des données. Un exemple connu d'une telle couche d'intégrité des données est DIGEST-MD5. Les protocoles d'application qui proposent SASL prennent très souvent en charge le protocole de sécurisation des échanges TLS en complément des services offerts par SASL.

source wikipedia

Mécanismes

Un mécanisme SASL est conçu comme une série de demandes d'accès et de réponses. Le mécanisme utilisé ici est celui du “EXTERNAL” : l'authentification est dérivée du contexte (par exemple pour les protocoles employant déjà IPsec ou TLS) D'autres mécanismes SASL existe mais EXTERNAL est le seul qui est été développé.

Architecture

Préférences de compte

Un nouveau choix est possible dans les paramètres du server. Ce choix permet de selectionner le mécanisme STARTTLS et de choisir l'authentification par certificat. Connexion à l'IMAP

L'application va tenter de se connecter au serveur en utilisant le mécanisme SASL EXTERNAL pour s'authentifier via un certificat existant. Cela se découpe en deux parties :

  • la vérification de la configuration du serveur : il va vérifier que le serveur permet bien de le faire.
  • l'envoie de l'authentification au serveur : si le serveur est compatible, une fenêtre va s'ouvrir afin de demander le certificat à utiliser. Une fois choisit, le certificat est envoyer au serveur pour authentification. Si tout se passe bien, la connexion est établie et l'utilisateur peut lire et envoyer des messages.


Arborescence

La sécurisation des entêtes est intégrée dans les sources de Thunderbird pour le produit TrustedBird. La majorité du code se trouve dans comm-1.9.2\mailnews\imap, cette partie correspond au noyau IMAP de Thunderbird. Les fichiers concernés sont :

 ./comm-1.9.2/mailnews/imap/src/nsImapCore.h
                              /nsImapProtocol.cpp
                             /nsImapServerResponseParser.cpp
 ./comm-1.9.2/mozilla/security/manager/ssl/src/nsClientAuthRemember.cpp
                                            /nsClientAuthRemember.h
                                            /nsCMS.cpp
                                            /nsCMS.h
                                            /nsMsgSMIMECID.h
                                            /nsNSSIOLayer.cpp
                                            /nsNSSIOLayer.h