SASL EXTERNAL Technical Documentation/fr : Différence entre versions

De Trustedbird Client Wiki
(Mécanismes)
(Préférences de compte)
Ligne 13 : Ligne 13 :
 
=== Préférences de compte ===
 
=== 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.
+
Un nouveau choix est possible dans les paramètres du serveur. Ce choix permet de sélectionner 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 :
 
  +
==== Connexion à l'IMAP/S ====
   
* la vérification de la configuration du serveur : il va vérifier que le serveur permet bien de le faire.
 
 
L'application va tenter de se connecter au serveur en utilisant le mécanisme SASL EXTERNAL pour s'authentifier via un certificat existant :
* 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.
 
   
 
* vérification de la configuration du serveur,
 
* envoi de l'authentification au serveur : si le serveur est compatible, une fenêtre va s'ouvrir afin de demander le certificat à utiliser. le certificat est envoyé au serveur pour authentification. Si tout se passe bien, la connexion est établie et l'utilisateur peut lire et envoyer des messages.
  +
  +
S: * ACAP (SASL "DIGEST-MD5")
  +
C: a001 STARTTLS
  +
S: a001 OK "Begin TLS negotiation now"
  +
<TLS negotiation, further commands are under TLS layer>
  +
S: * ACAP (SASL "DIGEST-MD5" "EXTERNAL")
  +
C: a002 AUTHENTICATE "EXTERNAL"
  +
S: + ""
  +
C: + ""
  +
S: a002 OK "Authenticated"
   
 
== Arborescence ==
 
== Arborescence ==

Version du 8 octobre 2010 à 09:41

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 existent 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 serveur. Ce choix permet de sélectionner le mécanisme STARTTLS et de choisir l'authentification par certificat.

Connexion à l'IMAP/S

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

  • vérification de la configuration du serveur,
  • envoi de l'authentification au serveur : si le serveur est compatible, une fenêtre va s'ouvrir afin de demander le certificat à utiliser. le certificat est envoyé au serveur pour authentification. Si tout se passe bien, la connexion est établie et l'utilisateur peut lire et envoyer des messages.
 S: * ACAP (SASL "DIGEST-MD5")
 C: a001 STARTTLS
 S: a001 OK "Begin TLS negotiation now"
 <TLS negotiation, further commands are under TLS layer>
 S: * ACAP (SASL "DIGEST-MD5" "EXTERNAL")
 C: a002 AUTHENTICATE "EXTERNAL"
 S: + ""
 C: + ""
 S: a002 OK "Authenticated"

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