Brevet FR2880487A1 — publié le 20060707

PROCEDE DE CONTROLE D'ACCES La présente invention se rapporte au domaine du contrôle d'accès. Ce domaine fait intervenir généralement un utilisateur donné d'un ensemble d'utilisateurs, qui désire appliquer une fonction donnée d'un ensemble de fonctions à une ressource d'un ensemble de ressources. Le contrôle d'accès rencontre de nombreux champs d'application, aussi bien sur des ressources logicielles que matérielles. Par exemple, l'accès à un bâtiment ou à certaines salles, peut être 10 restreint à certaines personnes. L'autorisation d'accès sera donnée par un dispositif de contrôle d'accès qui contrôle l'ouverture de chaque porte. L'accès aux médicaments dans un hôpital peut également être restreint à certaines personnes suivant la nature du médicament, c'est à dire que par exemple les infirmières ont accès à des médicaments courants et bon marché comme l'aspirine, tandis que les préparateurs ont accès à l'ensemble de la pharmacie. Les médicaments constituent ici les ressources, et l'ensemble des utilisateurs comprend un groupe constitué par les infirmières, ainsi qu'un groupe constitué par les préparateurs. L'ensemble des fonctions que les utilisateurs peuvent souhaiter appliquer comprend une saisie physique de médicaments. Le contrôle d'accès intervient également dans le domaine de la gestion de réseaux informatiques. De tels réseaux, comme Internet par exemple, comprennent un ensemble de routeurs. Un outil de gestion de réseau permet de modifier les logiciels de tout ou partie des routeurs: ainsi, si l'un des routeurs tombe en panne, l'outil de gestion de réseau permet de reconfigurer les autres routeurs. Plusieurs personnes utilisent l'outil de gestion de réseau, avec des droits différents. Par exemple, une personne responsable aura le droit d'arrêter les routeurs, une personne gardienne pourra visualiser l'état des routeurs et désactiver des alarmes, tandis qu'un stagiaire ( trainee en anglais) pourra visualiser l'état des routeurs et simuler des arrêts afin de s'entraîner à la gestion de réseau. De plus, les droits des personnes peuvent être limités à un sous- ensemble de routeurs. Par exemple, certaines personnes pourront seulement visualiser l'état d'un routeur déterminé, tandis que d'autres auront la possibilité de redémarrer tous les routeurs d'une technologie donnée. La figure 1 illustre le fonctionnement d'un exemple de dispositif de 10 contrôle d'accès selon l'art antérieur. Lorsqu'un utilisateur donné 1, ici John, souhaite appliquer à une ressource donnée 2, ici le routeur identifié par le numéro 12533, une fonction donnée, ici lire des fichiers ou des programmes du routeur, un module logiciel 3 transmet à un module de contrôle d'accès 4 un message 5. Le message 5 comprend un champ utilisateur 6 contenant un identifiant de l'utilisateur donné 1, un champ fonction 7 contenant un identifiant de la fonction donnée et un champ ressource 8 contenant un identifiant de la ressource donnée. Le module de contrôle d'accès 4 comprend une variable d'utilisateur 10, une variable de fonction 11 et une variable de ressource 12 allouées lors de la création du module de contrôle d'accès 4. Lors de l'installation du module de contrôle d'accès 4 dans un environnement donné, les identifiants des utilisateurs de l'ensemble des utilisateurs pour cet environnement sont saisis, ainsi que les identifiants des fonctions de l'ensemble de fonctions et que les identifiants des ressources de l'ensemble des ressources. Le module de contrôle d'accès 4 détermine si l'utilisateur donné 1 est autorisé à appliquer la fonction donnée à la ressource donnée à partir de l'identifiant de l'utilisateur donné 1 reçu, de l'identifiant de la fonction donnée reçu et de l'identifiant de la ressource donnée reçu. Le module de contrôle d'accès 4 renvoie au module logiciel 3 une réponse suite au message 5 reçu. Dans l'exemple représenté figure 1, la réponse est positive: l'utilisateur donné 1 est autorisé à appliquer la fonction donnée à la ressource donnée. Le nombre d'utilisateurs de l'ensemble des utilisateurs est en général relativement faible, par exemple une centaine de personnes. De même, le nombre de fonctions de l'ensemble de fonctions est en général relativement faible, par exemple une dizaine de fonctions. En revanche, le nombre de ressources de l'ensemble de ressources peut être relativement élevé, de l'ordre du million par exemple. La gestion du dispositif de contrôle d'accès peut ainsi être relativement délicate du fait du nombre relativement élevé d'identifiants de ressources. II est connu de catégoriser les ressources en groupes de ressources: lors de l'installation du module de contrôle d'accès, chaque identifiant de ressource peut être classé suivant l'appartenance de la ressource correspondante à un groupe de ressources donné, pourvu que la personne qui configure le module de contrôle d'accès ait connaissance de cette catégorisation. Un document papier détaillant l'appartenance de chaque ressource à un groupe de ressources donné est en général imprimé à cet effet. La classification des identifiants de ressources permet ensuite de simplifier la programmation de l'algorithme de détermination d'autorisation: dans un premier temps, l'algorithme détermine à quel groupe appartient l'identifiant de la ressource donnée reçu, et dans un deuxième temps détermine quelle réponse accorder en fonction de ce groupe et des autres identifiants reçus, c'est à dire l'identifiant de l'utilisateur donné et l'identifiant de la fonction donnée. Toutefois, la configuration du module de contrôle d'accès est effectuée de manière manuelle, à partir d'un document papier reprenant la catégorisation des ressources. La présente invention permet une gestion du dispositif de contrôle d'accès plus aisée. La présente invention a pour effet un procédé de contrôle d'accès pour déterminer si un utilisateur donné d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée parmi un ensemble de ressources, les ressources pouvant être classées suivant au moins un critère. Le procédé de contrôle d'accès selon l'invention comprend une étape de transmission à un module de contrôle d'accès d'un message comprenant un champ utilisateur contenant un identifiant de groupe de l'utilisateur donné, ainsi qu'une liste de champs structurée en au moins un champ de critère, chaque champ de critère contenant la valeur d'un critère déterminé pour la ressource donnée. Le procédé selon la présente invention permet d'éviter la saisie et la mémorisation dans le module de contrôle d'accès d'un nombre relativement élevé d'identifiants de ressource. Lorsque le module de contrôle d'accès est installé, la personne configurant le module de contrôle d'accès n'a pas besoin de connaître l'ensemble des ressources, mais simplement des valeurs potentielles de critères. La gestion du module de contrôle d'accès est ainsi clarifiée et simplifiée. Par exemple, lorsque de nouvelles ressources sont ajoutées dans un ensemble de ressources déjà existant, il n'est pas besoin de saisir dans le module de contrôle d'accès les identifiants des nouvelles ressources. Si un utilisateur donné cherche à appliquer une fonction donnée sur une nouvelle ressource, le module de contrôle d'accès recevra non pas un identifiant de la nouvelle ressource mais un message comprenant une liste de champs structurée en au moins un champ de critère, chaque champ de critère contenant la valeur d'un critère déterminé pour la nouvelle ressource. L'ajout de la nouvelle ressource est donc transparent pour le module de contrôle d'accès. De plus, le procédé selon la présente invention permet d'économiser de la place mémoire du module de contrôle d'accès. Le champ utilisateur contient un identifiant de groupe de l'utilisateur donné, c'est à dire éventuellement un identifiant de l'utilisateur lui-même si 5 l'on considère que le groupe de l'utilisateur donné comprend seulement un utilisateur. L'utilisateur peut être humain ou non. Par exemple l'utilisateur peut être une application logicielle qui cherche à appliquer une fonction donnée à une ressource donnée. La liste de champs est avantageusement structurée en plusieurs champs de critères. La liste de champs peut par exemple être structurée en p critères, chaque critère pouvant dans cet exemple prendre un même nombre q de valeurs. Lorsque le module de contrôle d'accès est créé, il peut comprendre p variables de critère, chaque variable de critère correspondant à un critère. Lors de l'installation ou d'opérations de rnaintenance, q valeurs potentielles peuvent être saisies pour chaque critère, soit p*q valeurs. Avec les procédés selon l'art antérieur, il est considéré que les p critères susceptibles chacun de prendre q valeurs permettent de définir qP groupes de ressources. Non seulement la personne configurant le module de contrôle d'accès doit gérer les identifiants des ressources, mais elle doit les classer en qP groupes, soit un nombre souvent bien plus élevé que les p*q valeurs du procédé selon la présente invention. Alternativement, la liste de champs comprend un seul champ de critère. Avantageusement, le message transmis comprend également un champ fonction contenant un identifiant de la fonction donnée. Cette caractéristique n'est toutefois pas limitative: par exemple, si l'ensemble des fonctions comprend une seule fonction, ou bien si les droits ne dépendent pas de la nature de la fonction, le message transmis peut ne pas comprendre de champ fonction. Avantageusement, chaque champ de critère contient également un identifiant du critère déterminé. Cette caractéristique n'est bien entendu pas 5 limitative. Chaque champ de critère contient ainsi un couple identifiant de critère-valeur du critère. Le message est alors transmis suivant un protocole libre, dans lequel le critère de chaque champ de critère peut être identifié par l'identifiant de critère. Les protocoles libres permettent une plus grande souplesse d'utilisation quant à l'ordre des champs de critères à l'intérieur du message, quant au choix du ou des critères etc. Alternativement, chaque champ de critère peut contenir seulement la valeur du critère déterminé pour la ressource donné. Le message est alors transmis suivant un protocole figé. Avantageusement, le procédé cornprend au préalable une étape d'authentification de l'utilisateur donné. L'utilisateur donné qui souhaite appliquer la fonction donnée à la ressource donnée peut être d'abord authentifié, par exemple par un module logiciel. L'identifiant de l'utilisateur authentifié peut être transmis au module de contrôle d'accès en tant qu'identifiant de groupe de l'utilisateur. Le procédé peut également comprendre une étape de catégorisation de l'utilisateur donné dans un groupe, par exemple le groupe des stagiaires, en particulier si les droits sont identiques pour tous les membres du groupe. Un identifiant de ce groupe peut être transmis au module de contrôle d'accès. Alternativement, le procédé selon la présente invention peut comprendre une étape d'authentification non de l'utilisateur donné, mais du requerrant qui cherche à déterminer si I"utilisateur donné peut appliquer la fonction donnée à une ressource donnée. L'utilisateur donné peut en effet être distinct du requerrant. Alternativement, le procédé selon la présente invention ne comprend aucune étape d'authentification. Le procédé selon la présente invention comprend de préférence une étape de détermination de la valeur de chaque champ de critère pour la ressource donnée. Cette étape peut être effectuée par un logiciel qui interroge la ressource donnée, laquelle transmet en réponse la valeur de chaque champ de critère. Alternativement, le logiciel peut avoir une représentation des ressources de l'ensemble de ressources telle qu'il connaît pour chaque ressource la valeur de chaque champ de critère. L'invention n'est pas limitée par la manière dont cette détermination est mise en oeuvre. Par ailleurs, le procédé selon la présente invention peut ne pas comprendre cette étape de détermination de la valeur de chaque champ de critère pour la ressource donnée. Par exemple, l'utilisateur donné peut vouloir appliquer la fonction donnée à toutes les ressources répondant à au moins un critère donné. L'utilisateur peut saisir directement la valeur de chaque champ de critère. La présente invention a également pour objet un module de contrôle d'accès pour déterminer si un utilisateur donné d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée parmi un ensemble de ressources, les ressources pouvant être classées suivant au moins un critère. Le module de contrôle d'accès selon l'invention comprend: - une variable d'utilisateur, - une liste de variables de critère structurée en au moins une variable de critère, chaque variable de critère correspondant à un critère déterminé, - des moyens de détermination d'autorisation à partir d'un identifiant de groupe d'utilisateur reçu par le module de contrôle d'accès et d'une liste de valeurs reçues par le module de contrôle d'accès, comprenant, pour au moins une variable de critère de la liste de variables de critère, une valeur du critère déterminé pour la ressource donnée. Les modules de contrôle d'accès sellon l'art antérieur comprennent les identifiants de toutes les ressources de l'ensemble des ressources, et éventuellement une liste de groupes, de manière à permettre une détermination en deux temps. Lors qu'un identifiant de ressource est reçu par le module de contrôle d'accès, le module de contrôle d'accès détermine à quel groupe de ressources appartient l'identifiant reçu, puis détermine si l'autorisation doit être accordée ou pas à partir du groupe de ressources ainsi retrouvé et d'un identifiant d'utilisateur reçu. Le module de contrôle d'accès selon la présente invention permet d'éviter cette première étape: c'est - avec; l'identifiant de groupe d'utilisateur reçu - la liste de valeurs reçue qui détermine l'autorisation, et non une valeur retrouvée à partir d'un identifiant reçu. Le module de contrôle d'accès selon la présente invention n'a ainsi pas besoin de garder en mémoire les identifiants de toutes les ressources de l'ensemble des ressources. Le module de contrôle d'accès selon l'invention est en fait destiné à recevoir le message du procédé selon la présente invention et présente donc les mêmes avantages que le procédé selon la présente invention. II peut être adapté pour les mêmes caractéristiques préférentielles, sans que celles-ci soient limitatives. Par exemple le module de contrôle d'accès selon l'invention peut avantageusement comprendre une liste de plusieurs variables de critère, chaque variable de critère correspondant à un critère déterminé. Le module de contrôle d'accès selon l'invention peut avantageusement comprendre une variable de fonction. Les moyens de détermination peuvent également prendre en compte un identifiant de fonction reçu par le module de contrôle d'accès. Le module de contrôle d'accès selon la présente invention est capable de fonctionner avec un module logiciel selon l'art antérieur, et réciproquement, le module logiciel selon la présente invention est capable de fonctionner avec un module de contrôle d'accès selon l'art antérieur. La présente invention a également pour objet un dispositif de contrôle d'accès pour mettre en oeuvre le procédé selon la présente invention, comprenant un module de contrôle d'accès selon la présente invention. Le dispositif de contrôle d'accès permet de déterminer si un utilisateur donné d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée parmi un ensemble de ressources. L'ensemble de ressources comprend avantageusement des ressources logicielles. Les ressources logicielles comprennent un logiciel. Le dispositif de contrôle d'accès permet ainsi déterminer si un utilisateur donné peut appliquer une fonction donnée à un logiciel. Alternativement les ressources peuvent comprendre des ressources matérielles, comme des portes. Les ressources logicielles comprennent avantageusement des équipements de réseau d'un réseau informatique de télécommunication. Les équipements de réseau peuvent par exemple comprendre des routeurs. Le procédé selon la présente invention trouve ici une application particulièrement avantageuse au vu du grand nombre possible de routeurs dans un tel réseau. Cette application n'est bien entendu pas limitative. Le dispositif de contrôle d'accès peut par exemple comprendre le module logiciel et le module de contrôle d'accès. Le module logiciel comprend un logiciel permettant de générer des messages comprenant un champ utilisateur ainsi qu'une liste de champs structurée en au moins un champ de critère, chaque champ de critère contenant la valeur d'un critère déterminé pour la ressource donnée. Le module logiciel et le module de contrôle d'accès peuvent être intégrés dans un même appareil, comme par exemple un outil de gestion de réseau, ou bien dans plusieurs appareils distincts. L'invention est décrite ci-après plus en détail à l'aide de figures ne représentant qu'un mode de réalisation préféré de l'invention. La figure 1, déjà commentée, illustre le fonctionnement d'un exemple 10 de dispositif de contrôle d'accès selon l'art antérieur. La figure 2 illustre un exemple de fonctionnement d'un exemple de dispositif de contrôle d'accès selon un mode de réalisation préféré de la présente invention. On notera que des éléments ou parties identiques ou similaires ont été 15 désignés par les mêmes signes de référence sur les différentes figures. Dans l'exemple illustré figure 2, un utilisateur donné 1 désire appliquer à une ressource donnée, ici routeur donné 2, une fonction donnée, ici lire un fichier ou un programme de ce routeur 2. Le routeur donné 2 est identifié par l'identifiant 12533. L'utilisateur donné 1 s'authentifie auprès d'un module logiciel 3 et formule sa requête de telle sorte que le module logiciel 3 reçoit un identifiant de la ressource donnée et un identifiant de la fonction donnée. La ressource donnée 3 fait partie d'un ensemble de ressources. Les routeurs peuvent être classés suivant deux critères: localisation et 25 technologie. Le module logiciel 3 envoie un message 5 à un module de contrôle d'accès 4 pour savoir si l'utilisateur donné 1 peut accéder à sa requête. Le module de contrôle d'accès 4 envoie son accord ou son désaccord en réponse au message reçu. Le module de contrôle d'accès est créé avec une variable d'utilisateur 10, une variable de fonction 11, et une liste de variables de critère. La liste de variables de critère comprend une variable de localisation 16 et une variable de technologie 17. Lorsque le module de contrôle d'accès 4 est installé afin de gérer l'accès à l'ensemble de ressources considéré, ici les routeurs d'un réseau informatique de télécommunication déterminé, une personne doit configurer le module de contrôle d'accès. Pour au moins une variable de critère, la personne saisit un jeu de valeurs potentielles du critère déterminé correspondant, pour les ressources de l'ensemble de ressources considéré. Dans l'exemple illustré, le réseau informatique comprend des routeurs en Europe, aux Etats-Unis et au Japon: on aura donc trois valeurs potentielles du critère localisation lors de l'installation. De même, les routeurs de ce réseau peuvent être des routeurs ATM ou bien des routeurs MPLS, soit deux valeurs potentielles pour le critère technologie pour l'ensemble de ressources considéré. Les jeux de valeurs potentielles dépendent donc de l'ensemble de ressources. Le module de contrôle d'accès peut comprendre une variable de critère sans jeu de valeurs potentielles de critère associé. Les jeux de valeurs potentielles peuvent également évoluer. Lorsque le module de contrôle d'accès est configuré, la personne doit être au courant des jeux de valeurs potentielles. Ceux-ci peuvent être imprimés sur un document papier (ou électronique) à cet effet. Le document papier ne comprend pas, contrairement au document papier de l'art antérieur, de liste des identifiants de toutes les ressources de l'ensemble de ressources considéré. Ces jeux de valeurs potentielles pourront être modifiés par la suite, par exemple par un logiciel administrateur. Dans l'exemple illustré figure 2, le module logiciel 3 détermine, pour la ressource donnée, la valeur d'un champ de critère de localisation et la valeur d'un champ de critère de technologie. Le module logiciel 3 comprend une représentation de chaque ressource de l'ensemble des ressources et est capable de déterminer la valeur du critère localisation et la valeur du critère technologie pour chaque ressource de l'ensemble de ressources. Le module logiciel 3 génère et transmet donc le message 5. Le message 5 comprend: - un champ utilisateur 6 contenant un identifiant de l'utilisateur donné, - un champ fonction 7 contenant un identifiant de la fonction donnée, et - une liste de champs structurée en deux champs de critères (14, 15). Chaque champ de critère (14, 15) contient un identifiant d'un critère déterminé et la valeur de ce critère déterminé pour la ressource donnée 2. Un champ de localisation 14 contient par exemple un identifiant du critère localisation, loc sur la figure, ainsi que la valeur Europe ou un identifiant de cette valeur, tandis qu'un champ de technologie 15 contient un identifiant du critère technologie, tech sur la figure, ainsi que la valeur ATM ou un identifiant de cette valeur. Le message 5 peut être transmis suivant un protocole libre, ou bien suivant un protocole figé. Le protocole choisi ne limite aucunement la présente invention. Un protocole libre permet une plus grande souplesse d'utilisation: par exemple, l'utilisateur donné 1 peut désirer appliquer une fonction donnée à tous les routeurs d'une technologie donnée, par exemple les routeurs ATM. Le module logiciel 3 peut alors générer un message comprenant: un champ utilisateur contenant un identifiant de l'utilisateur donné, un champ fonction contenant un identifiant de la fonction donnée, et une liste de champs structurée en un seul champ de critère; le champ de critère contient un identifiant du critère technologie et la valeur ATM de ce critère. Le message peut être généré et transmis une seule fois: si l'autorisation est obtenue, l'utilisateur donné pourra appliquer la fonction donnée à tous les routeurs ATM. Le module logiciel peut également et de manière préférentielle transmettre ce message plusieurs fois, par exemple avant chaque application de la fonction donnée à l'un des routeurs ATM. Lorsque le module de contrôle d'accès 4 reçoit le message transmis 5, des moyens de détermination d'autorisation 13 permettent de déterminer l'autorisation à partir de l'identifiant de l'utilisateur reçu, de l'identifiant de fonction reçu, de la valeur du critère de localisation reçu et de la valeur du critère de technologie reçu. Le module de contrôle d'accès renvoie ensuite au module logiciel une réponse binaire autorisant ou non l'utilisateur donné 1 à appliquer la fonction donnée à la ressource donnée. La module de contrôle d'accès peut éventuellement renvoyer une réponse autre qu'une autorisation ou une non autorisation: en particulier, le module de contrôle d'accès peut renvoyer un message d'erreur, par exemple lorsque la liste de champs du message reçu comprend un champ de critère contenant un identifiant d'un critère non connu par le module de contrôle d'accès. REVENDICATIONS 1. Procédé de contrôle d'accès pour déterminer si un utilisateur donné (1) d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée (2) parmi un ensemble de ressources, les ressources pouvant être classées suivant au moins un critère, comprenant une étape de transmission à un module de contrôle d'accès (4) d'un message (5) comprenant un champ utilisateur (6) contenant un identifiant de groupe de 10 l'utilisateur donné, une liste de champs structurée en au moins un champ de critère (14, 15), chaque champ de critère contenant la valeur d'un critère déterminé pour la ressource donnée. 2. Procédé suivant la revendication 1, dans lequel la liste de champs est 15 structurée en plusieurs champs de critère (14, 15). 3. Procédé suivant l'une des revendications précédentes, dans lequel le message transmis (5) comprend également un champ fonction (7) contenant un identifiant de la fonction donnée. 4. Procédé suivant l'une des revendications précédentes, dans lequel chaque champ de critère contient également un identifiant du critère déterminé. 5. Procédé suivant l'une des revendications précédentes, comprenant au préalable une étape d'authentification de l'utilisateur donné (2). 6. Procédé suivant l'une des revendications précédentes, comprenant une étape de détermination de la valeur de chaque champ de critère (14, 15) pour la ressource donnée (2). 7. Module de contrôle d'accès (4) pour déterminer si un utilisateur donné (1) 30 d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée (2) parmi un ensemble de ressources, les ressources pouvant être classées suivant au moins un critère, comprenant une variable d'utilisateur, une liste de variables de critère structurée en au moins une variable de 5 critère (16, 17), chaque variable de critère correspondant à un critère déterminé, des moyens de détermination d'autorisation (13) à partir un identifiant de groupe d'utilisateur reçu par le module de contrôle d'accès, et d'une liste de valeurs reçues par le module de contrôle d'accès comprenant, pour au moins une variable de critère de la liste de variables de critère, une valeur du critère déterminé pour la ressource donnée. 8. Dispositif de contrôle d'accès pour mettre en oeuvre le procédé suivant l'une des revendications 1 à 6, comprenant le module de contrôle d'accès (4) selon la revendication 7, le dispositif de contrôle d'accès permettant de déterminer si un utilisateur donné (1) d'un ensemble d'utilisateurs peut appliquer une fonction donnée d'un ensemble de fonctions à une ressource donnée (2) parmi un ensemble de ressources, l'ensemble de ressources comprenant des ressources logicielles. 9. Dispositif de contrôle selon la revendication 8, les ressources logicielles comprenant des équipements de réseau d'un réseau informatique de télécommunication.