AccueilđŸ‡«đŸ‡·Chercher

TSIG

Le protocole de rĂ©seau TSIG (transaction signature ou signature de transaction) est dĂ©crit dans la RFC 2845[1]. Il est principalement utilisĂ© par le systĂšme des noms de domaine (DNS) pour fournir une forme d'authentification pour les mises Ă  jour dynamiques des bases de donnĂ©es DNS, bien qu'il puisse ĂȘtre utilisĂ© entre serveurs pour les requĂȘtes. TSIG utilise un secret partagĂ© et une fonction de hachage unidirectionnelle pour apporter une forme de sĂ©curitĂ© par la cryptographie pour identifier chaque extrĂ©mitĂ© d'une connexion comme ayant droit d'effectuer ou de rĂ©pondre Ă  une demande de mise Ă  jour DNS.

Bien que les requĂȘtes DNS puissent ĂȘtre anonymes (hormis DNSSEC), les mises Ă  jour DNS doivent ĂȘtre authentifiĂ©es car elles modifient la structure de nommage du rĂ©seau (Internet ou rĂ©seau privĂ©). L'utilisation d'un secret partagĂ© entre le client (esclave) qui effectue la mise Ă  jour et le serveur DNS qui la lui fournit (maĂźtre) assure l'authentification du client. Cependant, la demande de mise Ă  jour peut ĂȘtre effectuĂ©e au travers d'un rĂ©seau non sĂ»r (Internet). Une fonction de hachage unidirectionnelle est utilisĂ©e pour empĂȘcher un tiers de prendre connaissance de la clĂ© en Ă©coutant le trafic sur le rĂ©seau puis de l'utiliser pour faire ses propres modifications sur le serveur DNS client.

L'utilisation d'un Ă©lĂ©ment horaire (timestamp) dans le protocole permet d'Ă©viter une attaque par rejeu. Ainsi, l'utilisation de TSIG nĂ©cessite une synchronisation des serveurs sur une mĂȘme source horaire. L'utilisation du protocole NTP par exemple, offre ce service.

Implémentation

Une mise Ă  jour DNS (RFC 2136[2]) est un ensemble d'instructions destinĂ©es Ă  un serveur DNS. Elle contient un en-tĂȘte, la zone Ă  mettre Ă  jour, les prĂ©requis qui doivent ĂȘtre satisfaits et les enregistrements (RR) qui doivent ĂȘtre mis Ă  jour. TSIG ajoute un dernier enregistrement qui comprend l'Ă©lĂ©ment horaire (timestamp), un hash de la requĂȘte et le nom de la clĂ© secrĂšte utilisĂ©e pour signer la requĂȘte. La RFC 2535[3] propose un format de nom qu'il est recommandĂ© d'utiliser.

La rĂ©ponse aprĂšs une mise Ă  jour signĂ©e TSIG rĂ©ussie sera Ă©galement signĂ©e d'un enregistrement TSIG. Les Ă©checs ne sont pas signĂ©s pour Ă©viter qu'un attaquant puisse apprendre quoi que ce soit de la clĂ© en utilisant des requĂȘtes de mise Ă  jour fabriquĂ©es spĂ©cialement dans ce but.

Le programme nsupdate permet d'utiliser TSIG pour effectuer des mises Ă  jour. Le programme dig permet d'utiliser TSIG pour effectuer des requĂȘtes ou des transferts de zone authentifiĂ©es.

L'enregistrement TSIG est dans le mĂȘme format que les autres enregistrements d'une requĂȘte de mise Ă  jour. La signification des champs est dĂ©crite dans le RFC 1035[4].

champs de l'enregistrement TSIG
ChampsBytesDescription
NAMEmax 256Nom de la clĂ© TSIG qui doit ĂȘtre unique entre le client et le serveur
TYPE2TSIG (250)
CLASS2ANY (255)
TTL40 (l'enregistrement TSIG ne doit pas ĂȘtre stockĂ© en mĂ©moire tampon (cache))
RDLENGTH2Longueur du champ RDATA
RDATAvariableStructure comprenant l'élément horaire (timestamp), l'algorithme et le hash.

Alternatives Ă  TSIG

Bien que TSIG soit largement employé, ce protocole pose de nombreux problÚmes:

  • il nĂ©cessite de dĂ©ployer un secret partagĂ© pour chaque serveur ayant besoin de mises Ă  jour,
  • le condensat HMAC-MD5 n'est que de 128 bits,
  • il n'a pas de hiĂ©rarchie des autoritĂ©s : chaque client en possession d'une clĂ© secrĂšte peut mettre Ă  jour n'importe quel enregistrement de la zone.

Ainsi, divers alternatives ou extensions ont vu le jour.

  • La RFC 2137[5] spĂ©cifie une mĂ©thode de mise Ă  jour utilisant une clĂ© publique dans l'enregistrement DNS spĂ©cifique "SIG". Un client dĂ©tenant la clĂ© privĂ©e correspondante peut signer les requĂȘtes de mises Ă  jour. Cette mĂ©thode est compatible avec la mĂ©thode des requĂȘtes sĂ©curisĂ©es de DNSSEC. Cependant, cette mĂ©thode est dĂ©prĂ©ciĂ©e par la RFC 3007[6].
  • La RFC 3645[7] propose une extension au TSIG pour permettre l'utilisation de la mĂ©thode d'Ă©change de clĂ©s secrĂštes GSS, Ă©liminant la nĂ©cessitĂ© de dĂ©ployer manuellement les clĂ©s sur l'ensemble des clients TSIG. La mĂ©thode de distribution de clĂ©s publiques avec GSS dans un enregistrement ressource DNS (RR) est spĂ©cifiĂ©e dans la RFC 2930[8]. Une mĂ©thode GSS-TSIG modifiĂ©e appelĂ©e "Algorithme du service de sĂ©curitĂ© gĂ©nĂ©rique pour les Ă©changes de secrets partagĂ©s" (Generic Security Service Algorithm for Secret Key Transaction) est basĂ©e sur le serveur Kerberos de Windows appelĂ©e "mise Ă  jour dynamique sĂ©curisĂ©e" (Secured Dynamic Update) a Ă©tĂ© implĂ©mentĂ©e dans les serveurs et clients Microsoft Windows Active Directory. UtilisĂ© en combinaison avec un DNS configurĂ© sans rĂ©solution inverse utilisant l'adressage de la RFC 1918[9], les serveurs DNS utilisant ce systĂšme d'authentification redirigent un volume important de requĂȘtes vers les serveurs DNS racine[10]. Il existe un groupe anycast chargĂ© de traiter ce trafic en dehors des serveurs DNS racine[11].
  • La RFC 2845[1], base du TSIG, n'autorise qu'une fonction de hachage unique : HMAC-MD5 qui n'est plus considĂ©rĂ©e trĂšs robuste. En 2006, des propositions Ă©mergent pour autoriser l'utilisation du SHA1 RFC 3174[12] en remplacement du MD5. Le condensat de 160 bits gĂ©nĂ©rĂ© par SHA1 devrait ĂȘtre plus robuste que celui de 128 bits gĂ©nĂ©rĂ© par le MD5.
  • La RFC 2930[8] dĂ©finit TKEY, une liste d'enregistrements DNS utilisĂ©s pour distribuer automatiquement des clĂ©s depuis le serveur vers les clients.
  • La RFC 3645[7] qui dĂ©finit GSS-TSIG utilisant GSS-API et TKEY pour distribuer des clĂ©s automatiquement.
  • La proposition DNSCurve a de nombreuses similitudes avec TSIG.

Voir aussi

Notes et références

Liens externes

  • RFC 2136 Dynamic Updates in the Domain Name System (mises Ă  jour DNS)
  • RFC 2845 Secret Key Transaction Authentication for DNS (TSIG)
  • RFC 2930 Secret Key Establishment for DNS (TKEY RR)
  • RFC 3645 Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG)
  • RFC 3174 US Secure Hash Algorithm 1
  • RFC 4635 HMAC SHA TSIG Algorithm Identifiers
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.