Procédé d'authentification de la découverte de voisinage de l'environnement réseau IP d'un terminal candidat à un accès réseau L'invention est relative à un procédé d'authentification de la découverte de voisinage de l'environnement réseau IP d'un terminal candidat à un accès réseau.
Lorsqu'un terminal, mobile ou fixe, se connecte sur un réseau IP, en particulier le réseau Internet, ce dernier est amené à entrer en communication avec les équipements réseau permettant d'acheminer par routage les données numériques support de la transaction. Dans les réseaux IP actuels, gérés par le protocole IPv6, ce protocole permet de gérer la mobilité des terminaux nomades susceptibles de se connecter à ces derniers.
Lorsque, en particulier, un terminal mobile ou fixe change de point d'attachement, ce dernier, dans le cadre du protocole précité, met en œuvre une procédure de découverte de réseau sur le lien local, procédure désignée par procédure de découverte de voisinage de l'environnement, appelée "Neighbor
Discovery" en anglais.
La procédure précitée fait l'objet de la recommandation IETF référencée RFC 2461 Neighbor Discovery for IP Version 6 (IPv6) éditée par T. Narten, E. Nordmark et W. Simpson, décembre 1998.
La procédure précitée s'applique aussi bien à tout terminal nomade, encore désigné nœud mobile, en visite sur un réseau de visite qu'à des terminaux fixes qui se connectent sur ce réseau.
Elle permet notamment au terminal, mobile ou fixe, candidat à un accès, ci-après désigné terminal candidat, de collecter des informations, telles que préfixe réseau sur le lien local, adresse de routeur disponible ou autres, qui lui permettront de s'auto-configurer en vue d'exécuter automatiquement la connexion.
Dans ce but, le terminal candidat décode les informations de type préfixe réseau, contenues dans des messages d'annonces émis dans le réseau de visite auprès duquel l'accès est sollicité. Il mémorise en outre l'adresse IP du routeur émetteur, routeur RA d'accès au réseau, et met ainsi à jour ses chemins de communication pour maintenir les sessions IP en cours, en empruntant cette nouvelle route.
La procédure précitée, telle qu'elle est établie à l'heure actuelle, n'est pas sécurisée. En particulier, aucune procédure de vérification d'habilitation des routeurs, notamment du routeur d'accès, à exécuter leur fonction de routage n'est prévue. De fait, il n'est aucunement envisageable, actuellement, au terminal candidat précité de découvrir avec un caractère de certitude quels sont les équipements réseaux, en particulier les routeurs, qui sont autorisés à router les données sur le réseau de visite, c'est-à-dire à recevoir et acheminer vers le noeud de réseau adéquat les paquets de données des terminaux que le réseau de visite accueille.
L'utilisateur du terminal candidat ne peut donc, en aucun cas, être protégé des équipements malveillants ou pirates qui sont en particulier susceptibles d'être connectés sur le réseau de visite, dans le but d'usurper la qualité d'équipement légitime ou autorisé et de dérouter le trafic des données, afin de permettre le vol d'information ou de modifier le trafic de données.
Dans le but de remédier à l'inconvénient précité, par vérification de l'habilitation et de la légitimité du routeur d'accès, un développement préconisé par le groupe de travail IETF appelé Secuήng Neighbor Discovery a fait l'objet d'un texte de normalisation appelé SEND, pour SEcure Neighbor Discovery, référencé draft-ietf-send-ndopt-06, draft IETF, publié par J. Arkko, J. Kempf, B. Sommerfeld, B. ZiII et P. Nikander.
Le développement précité tente de sécuriser ces échanges en utilisant une infrastructure de gestion de clé (PKI).
En particulier, le texte de normalisation précité introduit l'utilisation de certificats X 509 et spécifie que le routeur d'accès envoie au terminal candidat un certificat qui prouve que le routeur d'accès pressenti est autorisé à router les paquets de données pour un préfixe réseau donné.
Pour que le terminal candidat soit lui-même en mesure de vérifier ce certificat, il est toutefois nécessaire que le routeur d'accès transmette à ce dernier une chaîne de certificats.
La validation de l'autorisation de routage accordée au routeur d'accès pressenti par l'intermédiaire d'une chaîne de certificats pose les problèmes techniques délicats ci-après, dans de nombreux cas.
- Les routeurs du réseau de visite doivent tous être configurés avec une paire de clés et un certificat provenant d'au moins une autorité de certification.
- Dans le cas général, le terminal candidat ne connaît pas le certificat racine de la chaîne de certificats constituant une chaîne de confiance, envoyée par le routeur d'accès, ce qui rend la solution proposée inopérante. Pour que le terminal candidat puisse valablement vérifier la chaîne de confiance précitée, il apparaît en effet nécessaire qu'il dispose de tous les certificats racines de tous les opérateurs réseau, tels que opérateurs de télécommunications, fournisseurs d'accès, hot spots publics ou privés ou autres. En particulier, dans le cas de terminaux candidats mobiles, les possibilités de connectivité sont trop importantes en raison de la diversité des types de réseaux et des opérateurs acteurs rencontrés lors d'une connexion pour que le terminal candidat mobile précité soit en mesure de stocker tous les certificats racines possibles. Une solution à la contrainte majeure précitée pourrait consister à obtenir que tous les opérateurs réseau adoptent la même autorité de certification. Une telle solution est hautement improbable.
Enfin, si le terminal candidat ne dispose que d'une seule interface de connexion active mais s'il ne dispose pas du certificat racine, tous les paquets de données passent par le routeur non authentifié dont le terminal candidat ne peut solliciter valablement la vérification, car les résultats peuvent être modifiés ou altérés par ce routeur si celui-ci est un routeur malveillant.
En l'absence de vérification de la chaîne de confiance précitée, le terminal candidat ne dispose d'aucune certitude quant à l'authenticité et à la légitimité de la fonction de routage exercée par le routeur pressenti.
La présente invention a pour objet de remédier aux inconvénients des techniques et développements de l'art antérieur.
En particulier, un objet de la présente invention est la mise en œuvre d'un procédé d'authentification de vérification de la légitimité d'un équipement, tel qu'un routeur, à assurer les fonctions de routage de paquets de données à partir de l'infrastructure de nom de domaines associée au réseau IP, en l'absence
- d'introduction de toute modification du terminal candidat ;
- de contrainte, pour chacun des routeurs, de posséder un certificat émanant d'une autorité de certification.
Un autre objet de la présente invention est également la mise en œuvre d'un procédé d'authentification ou de vérification de la légitimité d'un équipement, tel qu'un routeur, en tirant parti de l'architecture DNS des serveurs
DNS gérant les zones DNS du réseau IP, permettant de certifier et vérifier les autorisations des routeurs sur les réseaux d'accès.
Un autre objet de la présente invention est également la communication, réelle ou virtuelle, par un routeur d'accès pressenti, de la chaîne de confiance représentée par l'autorisation de routage délivrée à ce routeur d'accès pressenti, à tout terminal candidat pour acceptation. Un autre objet de la présente invention est enfin la mise en œuvre d'un procédé d'authentification ou de vérification de la légitimité d'un équipement, tel qu'un routeur, en tirant parti de l'architecture DNS des serveurs DNS gérant les zones DNS des réseaux IP, permettant à tout routeur d'accès pressenti de s'enregistrer pour authentification auprès de tout serveur DNS auprès duquel il est hiérarchiquement soumis.
Le procédé d'authentification de la découverte de voisinage de l'environnement réseau IP d'un terminal candidat à un accès réseau, objet de la présente invention, s'applique à tout réseau IP géré par une pluralité de zones DNS formées par un serveur DNS racine et par des serveurs DNS intermédiaires, chaque zone DNS étant associée à l'un des serveurs DNS, ces zones et ces serveurs DNS étant configurés selon une arborescence de zones DNS parentes et de zones DNS filles entre une zone DNS racine et une zone DNS fille d'accès, à partir de laquelle ce terminal candidat exécute cet accès par connexion au réseau IP. En outre, à chaque zone DNS, parente respectivement fille, est allouée une valeur cryptographique privée spécifique, chaque valeur cryptographique privée allouée à une zone DNS fille étant susceptible d'être authentifiée par l'intermédiaire de la valeur cryptographique privée associée à la zone DNS parente immédiatement supérieure de cette structure arborescente. II est remarquable en ce que, sur première requête d'accès au réseau
IP par connexion d'un terminal candidat à un routeur de la zone DNS fille d'accès, ce routeur constituant un routeur d'accès, il consiste en outre à lancer à partir du routeur d'accès vers l'un au moins des serveurs DNS d'une zone DNS parente une procédure d'enregistrement d'autorisation de routage, permettant
d'engendrer et transmettre au routeur d'accès un certificat d'autorisation de routage délivré par le serveur de zone DNS parente et consistant en une valeur de signature de paramètres spécifiques à ce routeur d'accès, cette valeur de signature étant obtenue à partir de la valeur cryptographique privée allouée à la zone DNS parente, puis, à lancer via le routeur d'accès une procédure d'authentification du certificat d'autorisation de routage par vérification de la valeur de signature en fonction de la valeur cryptographique privée allouée à la zone DNS parente.
De préférence, la valeur cryptographique privée spécifique est constituée par une clé secrète détenue par la zone DNS parente et le serveur
DNS associé à celle-ci, cette clé secrète étant utilisée pour signer électroniquement les informations de ressource DNS et obtenir la valeur de signature des informations de ressources DNS, et par une clé publique associée à cette clé secrète et librement disponible, cette clé publique étant utilisée pour vérifier électroniquement la valeur de signature des ressources DNS.
Le procédé objet de la présente invention trouve application à la sécurisation des transactions ou protocoles d'échange de données en réseau IP pour tout type de terminal accédant, sur connexion, à de tels réseaux.
Il sera mieux compris à la lecture de la description et à l'observation des dessins ci-après, dans lesquels :
- la figure 1 représente, à titre illustratif, un organigramme des étapes essentielles de mise en œuvre du procédé objet de la présente invention ;
- la figure 2a représente, à titre illustratif, une représentation graphique de l'étape d'allocation à chaque zone DNS, parente ou fille, d'une valeur cryptographique privée spécifique, représentée en figure 1 ;
- la figure 2b représente, à titre illustratif, un organigramme détaillé des étapes de mise en oeuvre de la procédure d'enregistrement de routage représentée en figure 1 ;
- la figure 2c représente, à titre illustratif, un organigramme détaillé des étapes de mise en oeuvre de la procédure d'authentification du certificat d'autorisation de routage représentée en figure 1 ;
- la figure 2d représente, à titre illustratif, un processus d'authenti¬ fication de clé publique associée à la clé privée détenue par chaque serveur DNS ;
- la figure 3 représente, à titre illustratif, un organigramme des étapes essentielles de mise en oeuvre préférentiel du procédé objet de l'invention dans une version optimisée du point de vue du volume de trafic nécessaire à la mise en oeuvre de ce dernier sur le réseau IP visité ; - la figure 4a représente, à titre illustratif, une configuration réseau particulier et une structure de données élémentaire de déclaration de requête d'authentification d'une ressource DNS de routage, conformément au procédé objet de la présente invention ;
- la figure 4b représente, à titre illustratif, une structure de données de déclaration d'une ressource DNS de routage enregistrée en mémoire d'un serveur DNS comportant des structures de données élémentaires de définition d'une zone DNS donnée, en particulier une structure de données élémentaire de déclaration de requête d'authentification d'une ressource DNS telle qu'illustrée en figure 4a ; - la figure 5 représente, à titre illustratif, un organigramme d'un protocole interne préférentiel, non limitatif, de vérification du certificat d'autorisation de routage mis en œuvre par un terminal candidat, conformément à l'objet de la présente invention.
Une description plus détaillée du procédé d'authentification de la découverte de voisinage de l'environnement réseau IP d'un terminal candidat à un accès réseau, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 1 et les figures suivantes.
D'une manière générale, en référence avec la figure 2a, on rappelle que Ie réseau IP est géré par une pluralité de zones DNS formées par un serveur DNS racine et par des serveurs DNS intermédiaires, chaque zone DNS étant associée à l'un des serveurs DNS. L'ensemble des zones DNS et des serveurs
DNS est noté (1)
[Z DNS1 SDNS 1 J o
Les zones DNS et les serveurs DNS sont configurés selon une arborescence de zones DNS parentes et de zones DNS filles entre une zone
DNS racine et une zone DNS fille d'accès du terminal candidat, le terminal candidat T exécutant cet accès par connexion au réseau IP. La connexion au réseau IP du terminal candidat T est effectuée par l'intermédiaire d'un routeur R.
En référence à la figure 2a, on indique que les serveurs DNS sont notés à titre de simplification S0 pour le serveur racine et S^ pour tout serveur de rang hiérarchique I représenté par commodité de représentation sur la figure 2a sur une même ligne, l'indice k représentant un identifiant de serveur DNS sous l'autorité d'un serveur DNS noté SM 1 k.
Ainsi, toute zone DNS Zi-1, k, associée à un serveur DNS noté SM, k, est une zone DNS parente, ZDNSP, d'une zone DNS fille, ZDNSC, associée à un serveur DNS noté Si1 k-
La notation précédente est valable quel que soit le rang hiérarchique du serveur DNS considéré et de la zone DNS associée à ce dernier.
En outre, à chaque zone DNS parente respectivement fille, zone ZDNSP respectivement ZDNSC, est allouée, A, une valeur cryptographique privée spécifique, notée CVP pour la valeur cryptographique privée spécifique allouée à toute zone DNS et à tout serveur DNS parent, respectivement notée CVC pour toute valeur cryptographique privée spécifique allouée à tout serveur fils associé à une zone DNS fille.
Ainsi, en relation avec les figures 1 et 2a, on indique que : CVp = CVM , k CVc = CVi, k. Selon un aspect remarquable du procédé objet de la présente invention, chaque valeur cryptographique privée allouée à une zone DNS fille est susceptible d'être authentifiée par l'intermédiaire de la valeur cryptographique privée CVP associée à la zone DNS parente immédiatement supérieure de la structure arborescente. Cette opération d'allocation réalisée à l'étape A est représentée par la relation symbolique (2)
(ZDNSPI ZDNSC) ^""^ (CVp, CV0)
^cvP (CVc) = vraie
Dans la relation précédente, on indique que l'égalité ^cvP (CVC) = vraie désigne l'opération d'authentification réussie de chaque valeur cryptographique privée allouée à une zone DNS fille par l'intermédiaire de la valeur cryptographique privée associée à la zone DNS parente immédiatement supérieure de la structure arborescente.
Le processus d'authentification précité représenté par l'égalité précédente peut, de manière avantageuse, être mis en œuvre à partir de tout processus de signature, vérification de signature par exemple de la valeur cryptographique fille CV0 au moyen d'un algorithme de signature, vérification de signature paramétré par la valeur cryptographique privée CVP associée à la zone DNS et au serveur DNS parent.
En raison de l'allocation de chaque valeur cryptographique privée spécifique, chacun des serveurs DNS de la structure arborescente représentée en figure 2a, selon un aspect particulièrement remarquable du procédé objet de la présente invention, on constitue ainsi un réseau de confiance permettant, en particulier, de reconstituer réellement ou implicitement une chaîne de confiance dans le contrôle du routage des paquets de données par contrôles successifs des différentes zones DNS par l'intermédiaire des serveurs DNS parents et fils, ainsi qu'il sera décrit ultérieurement dans la description. Bien entendu, l'allocation à chaque zone DNS parente respectivement fille d'une valeur cryptographique privée spécifique est réalisée une seule fois par configuration réseau, sous réserve d'un processus de changement de valeur cryptographique destiné à renforcer la sécurité réseau, ainsi qu'il sera décrit ultérieurement dans la description, afin d'assurer une immunité de haut niveau à toute attaque malveillante par exemple.
Compte tenu des éléments précités, le procédé objet de la présente invention consiste alors, sur première requête d'accès au réseau IP pour connexion d'un terminal candidat T à un routeur R de la zone DNS fille d'accès, cette zone DNS fille d'accès pouvant bien entendu être totalement quelconque parmi les zones DNS définies par l'arborescence représentée en figure 2a, consiste à lancer à partir du routeur R constituant un routeur d'accès pressenti RA, du fait de la tentative de connexion du terminal T à ce dernier, à lancer via le routeur d'accès RA vers l'un au moins des serveurs DNS d'une zone DNS parente une procédure d'enregistrement d'autorisation de routage représentée à l'étape B de la figure 1 , afin d'engendrer et transmettre au routeur d'accès RA un certificat d'autorisation de routage délivré par le serveur de zone DNS parente.
Selon un aspect particulièrement remarquable du procédé objet de la présente invention, le certificat d'autorisation de routage consiste en une valeur de signature de paramètres spécifiques au routeur d'accès RA. La valeur de
signature est obtenue à partir de la valeur cryptographique privée allouée à la zone DNS parente.
Sur la figure 1 à l'étape B de celle-ci, la requête de connexion lancée par le terminal candidat auprès du routeur R est notée a_r(T) et l'opération de signature permettant de délivrer le certificat d'autorisation de routage est notée par la relation (3)
Cert(RA) = SCvP(RAP)
Dans cette relation,
- RAP désigne les paramètres spécifiques au routeur d'accès RA ; - Scvp désigne l'opération de signature proprement dite de ces paramètres ;
- Cert(RA) désigne le certificat d'autorisation de routage obtenu par l'opération de signature précitée.
L'opération de l'étape B est alors suivie par une étape C consistant à lancer, à partir du routeur d'accès RA, une procédure d'authentification du certificat d'autorisation de routage par vérification de la valeur de signature précitée en fonction de la valeur cryptographique privée CVp allouée à la zone
DNS parente.
L'opération d'authentification du certificat d'autorisation de routage, est représentée par la relation symbolique (4) JZL(Cert (RA)) = T(S0Vp (RAP)) Dans la relation précédente :
- 'V(5cvp(RAP)) désigne l'opération de vérification de la valeur de signature précitée ; - Λ(Cert(RA)) désigne l'opération d'authentification du certificat d'autorisation de routage.
On comprend, en particulier, que, sur authentification réussie du certificat d'autorisation de routage précité, la connexion du terminal T au routeur d'accès RA peut être validée en toute sécurité, ainsi qu'il sera décrit ultérieurement dans la description.
Une description plus détaillée des procédures d'enregistrement de routage respectivement d'authentification du certificat d'autorisation de routage
des étapes B et C de la figure 1 sera maintenant donnée en liaison avec les figures 2b, 2c et 2d.
En référence à la figure 2b, on indique que la procédure d'enregistrement d'autorisation de routage peut consister au moins, de manière avantageuse, à transmettre en une étape B1 au serveur DNS de la zone parente une requête d'enregistrement d'autorisation de routage comportant au moins un champ d'information de ressources DNS associant au moins une adresse IP représentative de l'adresse IP du routeur d'accès RA et une référence de chemin d'accès réseau au routeur d'accès RA précité. A l'étape Bi, l'opération de transmission de la requête d'enregistrement d'autorisation est représentée par la relation symbolique (5)
PJ "r _r (RAP) „
^U k > ύl-l, k
RAP = RA _@IP, PATH _RA Dans la relation précédente, on indique que :
- RAi, k désigne le routeur d'accès pressenti qui a reçu la demande d'accès du terminal T, le routeur d'accès RA pressenti étant réputé se trouver dans une zone DNS fille d'accès à laquelle est associé un serveur DNS noté Si1 k en relation avec la figure 2a ;
- ar_r(RAP) désigne la requête d'enregistrement d'autorisation de routage en tant que telle ; - Sμ-i. k désigne le serveur DNS de la zone parente Zi-1, k selon la représentation de la figure 2a.
D'une manière générale, on indique que les paramètres spécifiques au routeur RAP peuvent comprendre, ainsi que mentionné dans la relation symbolique précédente, l'adresse IP représentative de l'adresse IP du routeur d'accès, adresse notée RA_@IP, et la référence de chemin d'accès réseau à ce routeur d'accès RA, cette référence étant notée par commodité PATH_RA.
En ce qui concerne la référence de chemin d'accès réseau au routeur d'accès RA, on indique que cette référence de chemin d'accès peut avantageusement consister en la collection de toutes les adresses d'accès au routeur d'accès RA connectées en réseau et permettant à ce dernier d'exécuter sa fonction légitime de routage, ainsi qu'il sera décrit ultérieurement dans la description.
L'étape Bi est alors suivie d'une étape B2 consistant à signer électroniquement des informations de ressources DNA à partir de la valeur cryptographique privée allouée à la zone DNS parente, pour engendrer une valeur de signature des informations de ressources DNS précitées. L'étape de signature électronique réalisée à l'étape B2 est représentée par la relation symbolique (6)
Scγι _j (RA _@ IP, PATH _ RA) > SV{RAP)
I*? - <?
VCVl-I ~ KSl-I, k
Dans la relation symbolique précédente on indique que :
- SV(RAP) désigne la valeur de signature des informations de ressources DNS, selon la valeur attribuée à celle-ci selon la relation (5) précédente ;
- 51 CVi-I désigne l'opération proprement dite de signature électronique des informations de ressources DNS précitées à partir de la valeur cryptographique privée CVn allouée à la zone DNS parente associée au serveur DNS parent de position hiérarchique 1-1.
Enfin, l'étape B2 est alors suivie d'une étape B3 consistant à transmettre la valeur de signature des informations de ressources DNS précitées au routeur d'accès pressenti RA précédemment cité.
Cette opération est représentée à la figure 2b par la relation symbolique (7)
SV(RAP) v SM1 k ~~ * RA
Dans la relation précédente, SM, k désigne le serveur DNS parent associé à la zone DNS parente titulaire de la valeur cryptographique privée CVn qui a permis d'exécuter l'opération de signature à l'étape B2 précédemment décrite.
En référence à la figure 2c on indique que la procédure d'authentification du certificat d'autorisation de routage de l'étape C de la figure 1 peut avantageusement consister au moins à transmettre en une étape Ci, via le routeur d'accès, au terminal candidat T les informations de ressources DNS notées RAP et, bien entendu, la valeur de signature des informations de
ressources DNS, la valeur de signature précitée étant notée SV(RAP), l'ensemble de ces informations constituant en fait le certificat d'autorisation de routage.
L'opération de transmission de l'étape Ci est représentée par la relation symbolique (8)
^ RAP9 SV(RAP)) > τ
Cert(RA) = (RAP, SV(RAP))
L'étape C1 précitée est alors suivie d'une étape C2 consistant à vérifier électroniquement la valeur de signature des ressources DNS en fonction de la valeur cryptographique privée allouée à la zone DNS parente.
Sur la figure 2c, l'opération de vérification de signature de l'étape C2 est représentée par la relation symbolique (9)
(V(CVM) = VKP1-1, k) Dans la relation précédente, V(cvι-1) (SV(RAP)) désigne l'opération de vérification de signature de la valeur de signature SV(RAP) en fonction de la valeur cryptographique CV1-1 utilisée pour exécuter l'opération de signature à l'étape B2 de la figure 2b.
D'une manière plus spécifique, on indique que l'opération de signature exécutée à l'étape B2 de la figure 2b précédemment mentionnée est réalisée directement à partir de la valeur cryptographique privée CVn alors que l'opération de vérification de signature réalisée à l'étape C2 est réalisée en fonction de cette valeur cryptographique privée, ainsi qu'il sera décrit ultérieurement dans la description. En particulier, on indique que la valeur cryptographique privée précédemment citée peut être utilisée pour les opérations de signature respectivement de vérification de signature précédemment décrite dans la description dans le cadre d'un processus de chiffrement - déchiffrement symétrique, par exemple. Dans cette hypothèse, toutefois, on indique que l'utilisation d'un processus de chiffrement - déchiffrement symétrique implique une gestion de la transmission des clés de chiffrement - déchiffrement, c'est-à-dire de la valeur cryptographique privée précitée relativement lourde, ce processus de gestion de
clés nécessitant en particulier la transmission des valeurs de clés sous forme chiffrée.
Afin d'éviter un processus de gestion de clés trop lourd et nécessitant le développement d'un protocole de gestion de clés adapté, le procédé objet de la présente invention peut au contraire être mis en œuvre, dans un mode de réalisation préférentiel, au moyen d'une valeur cryptographique privée spécifique et constituée par une clé secrète détenue par la zone DNS parente et le serveur DNS associé à celle-ci. Dans le cas précité, la mise en œuvre de l'étape B2 de la figure 2b, la valeur cryptographique privée CVM est alors constituée par une clé secrète KSM, k, cette clé secrète étant détenue dans une zone sécurisée du serveur DNS parent et utilisée pour signer électroniquement les informations de ressources DNS afin d'obtenir la valeur de signature des informations de ressources DNS. Dans ce mode de mise en œuvre, l'opération de signature de l'étape B2 est notée 5cvn = Sκsι-1, k- La valeur cryptographique privée est également constituée par une clé publique associée à la clé secrète précitée et librement disponible. La clé publique associée à la clé secrète précédemment mentionnée est notée KPM1 k et est utilisée pour vérifier électroniquement la valeur de signature des ressources DNS. Les clés secrète et publique allouées à chaque serveur DNS et associées à chaque zone DNS peuvent, de manière particulièrement avantageuse, correspondre aux clés secrète et publique allouées à ces serveurs dans le cadre de la recommandation RFC 3008 (IETF) "Domain Name System Security Signing Authority" (OHSsec), B. Wellington, 2000.
A l'étape C
2 de la figure 2c, l'opération de vérification de signature en fonction de la valeur cryptographique privée précédemment mentionnée est alors notée
k-
Cette clé publique est alors utilisée avantageusement pour vérifier électroniquement la valeur de signature des ressources DNS précitée. La mise en œuvre d'une valeur cryptographique privée constituée par une clé secrète à laquelle est associée une clé publique permet ainsi de réduire le processus de gestion des valeurs cryptographiques précitées et en particulier des clés publiques, celles-ci, par définition, étant disponibles librement et pouvant bien entendu être transmises librement. Le processus de gestion de clés est ainsi
grandement simplifié car il se limite alors sensiblement à un programme de changement temporel des clés secrètes allouées à chacun des serveurs DNS associé à chaque zone DNS parente ou fille correspondante.
La mise en œuvre du procédé objet de l'invention à l'aide de jeux de clés secrète respectivement publique allouée respectivement associée à chacun des serveurs DNS et la structure arborescente représentée en figure 2a, est alors particulièrement avantageuse dans la mesure où chaque zone DNS et, finalement, chaque serveur DNS est ainsi caractérisé dans le réseau de confiance ainsi constitué uniquement par sa seule clé publique, étant entendu que chaque serveur DNS détient la clé secrète correspondante.
En particulier, les opérations de signature respectivement de vérification de signature exécutées pour la mise en œuvre du procédé objet de la présente invention peuvent alors être effectuées à partir d'un processus de signature respectivement de vérification de signature exécuté par l'intermédiaire des algorithmes RSA par exemple, algorithmes de Rivest Shamir et Adleman ou par l'intermédiaire de l'algorithme DSA pour Digital Signature Algorithm. Les algorithmes précités sont des algorithmes conduits par voie logicielle, connus de l'état de la technique, lesquels, pour cette raison, ne seront pas décrits en détail.
En particulier, la mise en œuvre du procédé objet de la présente invention au moyen d'un processus de signature-vérification de signature à partir de clés dissymétriques, clés secrètes et clés publiques, apparaît particulièrement avantageuse dans la mesure où, préalablement à chaque opération de vérification de signature, ainsi que représenté en figure 2d, au moyen de la clé publique associée à la clé privée associée à chaque zone DNS fille ou parente, une procédure d'authentification de la clé publique par requête de signature de cette clé publique au moyen de la clé privée parente, auprès du serveur DNS gérant la zone DNS parente et détenant la clé privée parente, puis vérification par le terminal candidat T de la valeur signée de cette clé publique au moyen de la clé publique parente, peut, de manière avantageuse, être réalisée. Un tel processus est décrit en liaison avec la figure 2d où C21 désigne la transmission d'une requête de vérification de la clé publique, requête notée v_key_r(KPn, k), c'est-à-dire la requête de signature de la clé publique KPM | k transmise au serveur DNS SM1 k pour signature à l'étape C22 de la figure 2d au
moyen de la clé privée parente KSM, k- Cette opération est notée par la relation symbolique (10)
Sκsι-i, k(KPι-i, k) -> SV(KPM, k) Dans la relation précédente : - SV(KPn, k) désigne la valeur de signature de la clé publique KPM, k ;
- Sκs\-1, k(KPι-i, k) désigne l'opération de signature de la clé publique précitée au moyen de clé privée KSM, k-
L'opération C22 peut alors être suivie, après transmission de la valeur de signature précitée au terminal candidat, d'une opération C23 de vérification de la valeur de signature de cette clé publique au moyen de la clé publique parente, cette opération de vérification étant exécutée par le terminal candidat T qui, bien entendu, détient la clé publique précitée.
Cette opération est représentée à l'étape C
23 de la figure 2d par la relation symbolique (11)
k))
D'une manière générale, on indique que le procédé objet de la présente invention peut être mis en œuvre, sur première tentative de connexion et d'accès d'un terminal candidat T, par le routeur d'accès pressenti RA, lequel transmet alors les informations de ressources DNS auprès du serveur DNS parent correspondant ainsi que décrit précédemment dans la description. En particulier, on indique que la requête d'enregistrement d'autorisation de routage peut être effectuée une fois pour toutes lorsque le routeur est inséré sur le réseau. Lorsqu'un terminal se connecte ultérieurement à ce routeur, ce dernier transmet simplement une requête d'accès à ces données d'enregistrement par exemple.
Toutefois, la mise en œuvre du procédé objet de la présente invention n'est pas limitée à l'exemple de mise en œuvre précédemment cité. En effet, le processus d'authentification peut être directement mis en œuvre à partir du terminal candidat T, l'opération de signature des ressources DNS du routeur d'accès pressenti RA pouvant alors être exécutée à l'initiative du terminal T, le routeur transmettant simplement les informations de ressources DNS qui lui sont propres auprès du serveur DNS associé à la zone DNS fille d'accès. Le procédé objet de l'invention peut alors être mis en œuvre à partir de cette dernière et du serveur DNS associé à celle-ci.
On comprend, en particulier, que le processus d'authentification de clé publique tel que décrit en liaison avec la figue 2d peut alors être mis en œuvre vis-à-vis du serveur DNS parent de la zone DNS parente associée à la zone DNS fille d'accès correspondante. D'une manière plus spécifique, on indique que dans tous les cas la relation ou chaîne de confiance est établie entre le terminal candidat T et tout serveur DNS intermédiaire, le cas échéant le serveur racine, en raison de la délivrance du certificat d'autorisation de routage, lequel constitue une habilitation par tout serveur DNS parent intermédiaire, y compris, le cas échéant, le serveur racine, pour tout routeur d'accès R susceptible de constituer un routeur d'accès pressenti RA parmi un ensemble de routeurs destinés à exercer leur fonction de routage. Tout routeur d'accès pressenti est alors en mesure d'obtenir de tout serveur DNS intermédiaire ou du serveur DNS racine un certificat d'autorisation de routage, lequel est ensuite authentifié sous l'autorité du serveur DNS racine par le terminal candidat T.
Une description plus détaillée du procédé objet de la présente invention dans un mode de mise en œuvre préférentiel pour exécuter une mise en œuvre optimisée en termes de flux de données sur le réseau IP visité sera maintenant décrite en liaison avec la figure 3. Le procédé objet de la présente invention, dans le mode de mise en œuvre représenté en figure 3 précité, apparaît du plus grand intérêt en particulier en raison de la variabilité des réseaux visités, lorsque, notamment, les requêtes d'accès sont émises par un terminal nomade ou par un terminal fixe ou mobile connecté à un réseau mobile par exemple, la configuration réseau pouvant être modifiée régulièrement et de façon peu prévisible dans ce dernier cas notamment.
Ainsi que représenté sur la figure 3 précitée, dans le mode de mise en œuvre préférentiel mentionné, le procédé objet de l'invention consiste à transmettre du routeur d'accès vers un serveur DNS parent une requête unique d'enregistrement d'autorisation de routage. L'étape précitée correspond à l'étape Bi de la figure 2b, l'opération correspondante étant représentée par la relation symbolique (5), étant toutefois précisé que la requête unique est notée uar_r(RAP).
L'étape B2i précitée est alors suivie d'une étape B22 consistant à transmettre, du serveur DNS parent vers tout serveur DNS parent intermédiaire hiérarchiquement supérieur au serveur DNS parent précité, jusqu'au serveur DNS parent racine par exemple, des requêtes successives de communication de la clé publique et de la valeur de signature séparée de cette clé publique au moyen de la clé secrète associée à et respectivement détenue par chacun des serveurs DNS parents intermédiaires hiérarchiquement supérieurs.
Sur la figure 3 on a représenté, à titre d'exemple non limitatif, les opérations de transmission successive des requêtes de communication de la clé publique, requête désignée ukp_r(*) entre tout serveur DNS d'une zone DNS fille d'accès, noté Si-1, k, et tout serveur parent intermédiaire hiérarchiquement supérieur de rang m et noté pour cette raison Sm, k, cette requête successive de communication étant suivie d'une réponse notée aukp_r(KPm, k ; SV(KPm, k))- Les opérations de transmission de requête de communication de la clé publique et de la valeur de signature séparée de cette clé publique de réponse permettant la communication de ces valeurs sont représentées par la relation symbolique (12)
„ aukp_r (KPm, k;SV (KPm, k) q
/-1, k m, k
Une étape de test B222 est alors exécutée sur la variable de comptage du rang m, la transmission des requêtes de communication de clés étant poursuivie par l'intermédiaire du test B222 de comparaison de la valeur de comptage m à la valeur 0 par comparaison négative poursuivie par l'étape de décrémentation m = m - 1 à l'étape B223 et retour, bien entendu, à l'appel de l'opération de transmission de requête de communication et de réponse de communication de la valeur de clé publique et de la valeur de signature de cette clé publique pour le serveur DNS hiérarchiquement supérieur, représenté par la décrémentation m = m - 1 , jusqu'au serveur DNS racine S0, ainsi que représenté conventionnellement en figure 2a.
On comprend, en particulier, que dans la relation symbolique précitée KPm_k représente la clé publique associée au serveur DNS dont la position hiérarchique correspond à la variable de comptage m et SV(KPm,k) désigne la
valeur de signature de cette clé publique au moyen de la clé privée du serveur DNS précité.
Sur réponse positive au test B222, le serveur DNS racine ayant été atteint et la valeur de clé publique ainsi que la valeur de signature de cette clé publique associée au serveur racine précité ayant été obtenues, l'on procède à une étape B23 à un processus dit d'agrégation, dans un message unique, de la valeur des clés publiques reçues et de la clé publique du serveur DNS parent ainsi que des valeurs de signature correspondantes SV(KPm,k). On rappelle que la notion de serveur DNS parent correspond au serveur DNS qui assure la gestion du routeur d'accès pressenti RA.
L'opération d'agrégation consiste, par exemple, en une opération de constitution d'une liste des valeurs de clé publique reçues, cette opération étant représentée symboliquement par la relation (13)
Dans la relation précédente, on indique que le message unique est m = 1—1 noté UM(KPm, R) _ . L'agrégation peut en effet être constituée par la mise
sous forme d'une liste par exemple de la valeur des clés publiques reçues précitées et des valeurs de signature de ces clés publiques.
L'opération B23 est suivie d'une opération B24 consistant à calculer la valeur de signature des informations de ressources DNS au moyen de la clé secrète associée à la zone DNS. parente et bien entendu au serveur DNS parent
Sι - i, k-
L'opération de signature précitée correspond à celle qui est réalisée à l'étape B2 de la figure 2b à partir de la clé secrète KSi _ 1, k associée au serveur DNS Sι_i, k.
L'étape B24 précitée peut alors être suivie d'une étape B25 correspondant sensiblement à l'étape B3 de la figure 2b précédemment décrite.
L'étape B
25 précitée consiste à transmettre au terminal candidat T la valeur des clés publiques agrégées par l'intermédiaire du message unique UM(
«), la valeur de signature séparée de chacune des clés publiques agrégées, ces
valeurs de signature étant notées [SV(KP
m,
k)] ainsi que, bien entendu, la
valeur de signature des informations de ressources DNS, SV(RAP).
Dans cette situation, les valeurs de signature précédemment mentionnées constituent le certificat d'autorisation de routage mis à disposition du terminal candidat pressenti T.
L'opération réalisée à l'étape B25 est représentée par la relation symbolique (14)
A l'étape B25 on indique que la transmission précitée est réalisée vers le terminal candidat T par l'intermédiaire du routeur d'accès pressenti RA.
Après réception du certificat de routage par le terminal candidat T, c'est-à-dire suite à l'étape B25 précitée, le terminal candidat T procède alors à une vérification de chacune des valeurs de signature séparée de chaque clé publique communiquée, à l'étape C21. L'opération est réalisée par une étape de test représentée symboliquement par la relation (15)
[Tκpm, k (SV(KPm, k)] * = ' ~ l = vraie ? m ≈ U
Dans la relation précédente : m = / — 1
['Vkpm, k (SV(KPm1 k)] = vraie ? désigne la vérification successive m = 0 à la valeur vraie de chaque valeur de signature SV de la clé publique KPm, k pour m = 1-1 à m = 0 de chacun des serveurs DNS intermédiaires jusqu'au serveur DNS racine So, y compris le serveur DNS parent précédemment mentionné dans la description.
Sur vérification à la valeur vraie de chacune des valeurs de signature séparée de chaque clé publique, la valeur de la clé publique associée à la zone DNS parente et au serveur parent Sμ 1, k, ainsi qu'implicitement la valeur de la clé secrète détenue par le serveur DNS parent, ainsi que bien entendu toute clé publique intermédiaire jusqu'à la clé publique associée au serveur DNS racine sont authentifiées sous l'autorité de ce dernier.
On comprend bien sûr que le serveur DNS racine S0 est bien entendu investi, par définition, de la confiance maximale pour tout terminal candidat exécutant une tentative d'accès. Cette confiance est bien entendu justifiée dans la mesure où il est quasi certain que le serveur DNS racine est un serveur d'administration générale des réseaux lequel, à ce titre, dispose des protections les plus fortes et de la garantie maximale de légitimité et d'intégrité de l'exécution de ses fonctions.
On comprend aussi que le serveur DNS racine permet, bien entendu, d'authentifier toutes les branches du réseau de confiance représenté en figure 2a, et en particulier tout routeur géré par les serveurs DNS intermédiaires précédemment décrits dans la description. L'ensemble des mailles du réseau précité étant ainsi sécurisées, toute chaîne de confiance mettant en jeu un trajet quelconque à partir des branches de routage gérées par les serveurs DNS intermédiaires correspondants est donc authentifié sous l'autorité du serveur DNS racine.
Bien entendu, ceci permet de rétablir la chaîne de confiance d'authentification du routeur d'accès pressenti RA à partir du seul paramètre de clé publique du serveur DNS parent SM1 k au bénéfice du terminal candidat.
Sur réponse positive au test C21, en particulier toutes les clés ayant été authentifiées, on dispose aux étapes C22, C23 de la valeur de la clé publique
KPM, k authentifiée. Le terminal T disposant de cette clé authentifiée peut alors procéder à l'opération de vérification électronique de la valeur de signature des ressources DNS, conduite à partir de la seule clé publique authentifiée. Cette opération est réalisée à l'étape C24 de la figue 3 laquelle correspond globalement à l'exécution proprement dite de l'authentification du certificat Cert(RA) représentée en figure 1.
Au contraire, sur réponse négative au test C2i, l'une des clés par exemple n'ayant pas été authentifiée par vérification de la valeur de signature de cette dernière, un retour à l'étape Bi peut être exécuté pour communication ou nouvelle communication de cette clé. Bien entendu, des sécurités en nombre de requêtes de communication pour un serveur DNS parent de rang hiérarchique déterminé peuvent être introduites afin de limiter les tentatives correspondantes.
D'une manière générale, on indique que les serveurs DNS conformes à l'objet de la présente invention sont des serveurs de type BIND, de tels
serveurs comportant des modules logiciels et étant le plus couramment utilisés pour le déploiement des architectures DNS sur le réseau IP, en particulier sur l'Internet. De tels serveurs DNS et les logiciels correspondants comportent des outils satisfaisant à la recommandation DNSsec visant à réguler les développements de modules de sécurité pour les architectures DNS.
Dans les serveurs DNS précités, la configuration de ces derniers est effectuée à partir de structures de données de déclaration de ressources DNS de routage enregistrées dans les zones mémoires du serveur DNS.
Ces structures de données, fichiers, comportent des structures de données élémentaires de définition d'un domaine DNS donné selon la représentation du tableau ci-après.
TABLEAU
domaine.com. SOA domaine.com. SIG SOA ... domaine.com. SIG AXFR domaine.com. NS domaine.com. SIG NS domaine.com. KEY domaine.com. SIG KEY ... domaine.com. NXT a.domaine.com. SOA AXFR NS KEY SIG domaine.com. SIG NXT ... a.domaine.com. A a.domaine.com. SIG A ... a.domaine.com. NXT d. domaine.com. A SIG a.domaine.com. SIG NXT ...
Les structures de données élémentaires précitées font l'objet de la normalisation selon la norme DNSsec précédemment citée.
En référence à la figure 4a, on indique que le routeur d'accès pressenti RA peut s'adresser à tout serveur DNS avec lequel il entretient une relation de confiance. La relation de confiance s'entend d'une relation fréquente par transactions successives et vérification de la valeur de clé publique par authentification de la clé publique associée au serveur DNS précité, ainsi que représenté en liaison avec la figure 2d par exemple.
Pour exécuter l'opération d'enregistrement de routage, le serveur RA peut transmettre une requête en utilisant un champ DNS de type RR pour "Resource Record" en anglais qui contient la liste des préfixes réseaux préfixe 2, c'est-à-dire la valeur PATH_RA de la figure 2b par exemple, préfixes réseau pour lesquels il est autorisé à exécuter légitimement sa fonction de routage des paquets de données. Le serveur DNS Su, k signe l'information de ressource DNS correspondante et renvoie au routeur RA la signature de cette information en utilisant un champ SIG RR accompagné ou non de la valeur de clé publique, selon que le routeur d'accès connaît ou non la valeur de cette dernière. La notification d'autorisation de routage est enregistrée dans une zone
DNS déterminée. Selon le serveur DNS Sn1 k, elle est peut être enregistrée dans une zone préexistante ou dans une zone spécifique dans laquelle le serveur enregistre toutes les autorisations de routage.
En supposant que le routeur RA s'enregistre auprès de la zone DNS associée au serveur DNS du domaine, désignée domaine.com sur le tableau précité dans cet exemple, le fichier de la zone DNS sur le serveur de noms de domaine, domaine.com précité, c'est-à-dire le serveur Sn,k se présente sous la forme et au format donné dans le tableau introduit précédemment. Après enregistrement des nouveaux préfixes diffusés par le routeur RA2, selon un aspect remarquable du procédé objet de l'invention, la déclaration de requête d'authentification d'une ressource DNS de routage enregistrée pour exécution de cette déclaration sur un serveur DNS tel que le serveur SM1 k de la figure 4a comporte une structure de données élémentaires comprenant un premier champ de données représentatif de l'adresse IP de la ressource DNS de routage, adresse @IP2 sur la figure 4a et sur la figure 4b, champ Fi, un deuxième champ codant le type d'enregistrement requis pour cette ressource DNS, c'est-à-dire le type désigné arbitrairement par PX au champ F2 de la figure 4b codant le type d'enregistrement, type désignant une requête d'enregistrement d'autorisation de routage pour la ressource DNS à l'adresse précisée au champ F1, et un troisième champ, champ F3, représentatif d'informations d'adresses d'accès réseau de la ressource DNS de routage autorisant l'acheminement des paquets de données par la fonction de routage légitimement exécutée par la ressource DNS de routage, c'est-à-dire le routeur RA2. Les informations d'adresse sont désignées préfixe 2 sur la figure 4a et la figure 4b.
On comprend ainsi, en référence à la figure 4b, que la structure de données de déclaration d'une ressource DNS de routage enregistrée en zone mémoire d'un serveur DNS indiqué au tableau précité comporte bien sûr les structures de données élémentaires de définition du domaine DNS précitées, ainsi que des structures de données élémentaires spécifiques comprenant au moins la structure de données élémentaire de déclaration de requête d'authentification de requête d'une ressource DNS selon la figure 4b. Cette structure de données est représentée sur la figure précitée où l'on retrouve bien entendu la structure de données élémentaire de déclaration de requête d'authentification de ressources DNS de routage de la figure 4a.
Enfin, en référence à la même figure 4b, on indique que la structure de données précitée comporte en outre des structures de données élémentaires spécifiques comprenant au moins une structure de données élémentaire d'adresse et une structure de données de jonction de définitions des zones DNS, ces structures de données caractérisées par leur champ F2 correspondant au champ SIG, respectivement NXT pour la structure de données de jonction précitée.
Une description plus détaillée des fonctions et étapes successives mises en oeuvre par un produit de programme enregistré sur un support de mémorisation pour exécution, par un terminal candidat à un accès réseau IP, d'une authentification de la découverte de voisinage de l'environnement réseau IP de ce terminal candidat, lors de la connexion de ce dernier à ce réseau, sera maintenant décrite en liaison avec la figure 5, lorsque l'authentification de la découverte de voisinage est mise en œuvre conformément au procédé objet de la présente invention décrit précédemment en liaison avec les figures 1 à 4b précédentes.
Sur réception par le terminal candidat T des informations de ressources DNS notées RAP et de la valeur de signature de ces dernières notées SV(RAP) à l'étape 100 de la figure 5, le produit de programme comporte au moins un module de sous-programme SP1 de discrimination de la connaissance par le terminal candidat de la clé publique de la zone DNS et du serveur DNS parent qui a exécuté l'opération de calcul de la valeur de signature de ces ressources DNS. Cette opération de discrimination de la connaissance de la clé publique précitée est représentée par un test 101 vérifiant la relation (16)
KPm, k ≡ 0 ?
Le test précité revient à vérifier, par exemple, l'existence d'une valeur non vide pour la clé publique KPm,k, avec m = I - 1 , selon les conventions précédemment mentionnées dans la description pour le serveur DNS parent Sn1 k.
Sur discrimination de l'absence de connaissance de la clé publique précitée, c'est-à-dire en réponse positive au test 101 précédemment mentionné, un module SP2 de sous-programme est appelé, lequel permet d'assurer la transmission auprès du serveur DNS parent précédemment cité d'un message de requête de communication de toute clé publique accompagné d'une valeur de signature de cette clé publique au moyen de la clé secrète détenue par le serveur DNS parent. L'étape 102 précitée est une étape semblable à l'étape B22 de la figure 3, les messages de demande de communication de clé publique ukp_r(«) et de réponse à cette requête de communication de clé publique aukp_r(«) pouvant présenter la même forme que dans le cas de la mise en œuvre de l'étape B22 de la figure 3 précitée.
Suite à la réception de la clé publique et de la valeur de signature de cette clé publique correspondante, un module de programme SP3 permet de vérifier la valeur de signature de toute clé publique reçue à l'étape précédente 102, y compris de la clé publique associée à la zone DNS fille d'accès en raison du fait que le protocole est conduit par le terminal T.
A l'étape 103 de la figure 5, l'opération de vérification de la valeur de signature est notée selon la même relation que celle indiquée précédemment dans la description à l'étape C21 de la figure 3. Pour la vérification ou authentification de la clé publique KPι,ι< associée à la zone DNS du serveur d'accès fille Si, R, une procédure semblable à celle décrite précédemment dans la description en liaison avec la figure 2d peut être exécutée, étant précisé que la clé publique KPM1R a été authentifiée, soit sur connaissance particulière de la valeur de cette clé publique et confiance suffisante du terminal candidat en réponse négative au test 101 précédemment décrit. La clé publique KPi.k peut alors être authentifiée à partir de la clé secrète KSM,k du serveur DNS associé à la zone DNS fille d'accès correspondante, ainsi que décrite précédemment avec la figure 2d.
En tout état de cause, sur réponse négative au test 101 de la figure 5 ou sur réponse positive à ce même test, mais après exécution des modules de sous-programmes SP2 et SP3, étape 102 et test 103, à l'étape 104, on dispose de clés publiques authentifiées KPn ,k et KPι,k ainsi que représenté à la figure 5. Le terminal T comporte en outre un module de sous-programme SP4 de vérification de la valeur de signature des ressources DNS avec la clé publique associée au serveur DNS parent et à la zone DNS parente, SM ,k. Le module de sous-programme SP4 permet d'effectuer une opération de vérification de signature représentée symboliquement par la même relation que la relation de l'étape C23 de la figure 2d, par exemple.
Sur réponse positive au test 105 précité, on dispose à l'étape 106 d'un certificat Cert(RA) authentifié.
Le terminal T dispose alors d'un module de sous-programme SP5 de confirmation du routeur d'accès pressenti RA comme routeur d'accès par défaut pour la connexion et l'accès du terminal candidat T au réseau IP.
A l'étape 107 de la figure 5, la relation de confirmation du routeur d'accès pressenti RA comme routeur d'accès par défaut est représentée par la relation symbolique
T «--> RA défaut. Au contraire, sur réponse négative au test 105, le module de sous- programme SP4 permet l'appel d'un module de sous-programme SP6 d'affichage sur le terminal candidat T d'un message d'avertissement WM informant l'utilisateur du terminal candidat T des risques dus à la non-conformité de la transmission des données aux critères de sécurité de la transaction.