Brevet FR3025632A1 — publié le 20160311

PROCÉDÉ ET DISPOSITIF DE CONTRÔLE DE LA FOURNITURE DE CERTIFICATS D'AUTHENTIFICATION À DES NOEUDS DE SERVICE D'UN CALCULATEUR HAUTE PERFORMANCE L'invention concerne les calculateurs de type dit « haute performance » (ou supercalculateurs), et plus précisément le contrôle de la fourniture de certificats d'authentification à des noeuds de service que comprennent de tels calculateurs haute performance. Comme le sait l'homme de l'art, la mise en fonctionnement d'un calculateur haute performance (ou supercalculateur) peut être une opération assez longue, et donc une optimisation des étapes de cette mise en fonctionnement doit être effectuée afin que son propriétaire puisse l'utiliser le plus rapidement possible de façon sécurisée. L'une de ces étapes consiste à configurer chacun des noeuds de service avec un outil de configuration après une phase d'initialisation. Cette étape de configuration requiert l'authentification de chaque noeud de service par au moins un certificat d'authentification qui a été préalablement installé dans un endroit spécifique d'une zone de stockage du noeud de service considéré. Différentes méthodes d'installation des certificats d'authentification d'un noeud de service ont été proposées. Mais ces méthodes sont généralement toutes mises en oeuvre une fois que le noeud de service est en cours de fonctionnement, ce qui rajoute une étape supplémentaire lors de la mise en fonctionnement de son supercalculateur. L'invention a notamment pour but d'améliorer la situation, et notamment de permettre aux noeuds de service de s'authentifier auprès de leur serveur juste après la fin de la phase d'initialisation. Elle propose notamment à cet effet un procédé, destiné à contrôler la fourniture de certificats d'authentification à des noeuds de service d'un calculateur haute performance, et comprenant : - une première étape (i) dans laquelle on définit pour chaque noeud de 3025632 2 service un ensemble d'au moins un certificat d'authentification, puis on intègre chaque ensemble défini pour un noeud de service dans un fichier de configuration associé à un identifiant de ce noeud de service, - une deuxième étape (ii) dans laquelle chaque noeud de service transmet à 5 un serveur prédéfini une requête de démarrage destinée à récupérer son identifiant et un fichier de commande contenant l'ensemble compris dans le fichier de configuration associé, et - une troisième étape (iii) dans laquelle chaque noeud de service extrait du fichier de commande récupéré l'ensemble qu'il contient afin de stocker 1 o chaque certificat d'authentification qu'il contient dans un endroit associé dans une zone de stockage correspondante. On peut ainsi profiter de la phase de démarrage (ou d'amorçage ou encore de « boot réseau ») requise par un noeud de service auprès de son serveur pour transmettre immédiatement à ce noeud de service chaque 15 certificat d'authentification qui permettra de l'authentifier auprès de ce serveur pendant sa phase de configuration. Cela permet d'économiser avantageusement du temps lors de la mise en fonctionnement des différents noeuds de service. Le procédé selon l'invention peut comporter d'autres caractéristiques 20 qui peuvent être prises séparément ou en combinaison, et notamment : - dans la première étape (i) on peut intégrer chaque ensemble dans un fichier de configuration de type « pxelinux.cfg » ; - dans la première étape (i) chaque identifiant de noeud de service peut être une adresse IP ; 25 - dans la première étape (i) on peut intégrer dans chaque fichier de configuration un nom correspondant à l'adresse IP du noeud de service associé sous une forme hexadécimale ; - la première étape (i) peut être réalisée dans le serveur prédéfini ; - dans la troisième étape chaque noeud de service peut extraire du fichier de 30 commande récupéré chaque certificat d'authentification afin de le placer dans un fichier de certificat(s) d'authentification. L'invention propose également un produit programme d'ordinateur 3025632 3 comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre un procédé de contrôle du type de celui présenté ci-avant pour contrôler la fourniture de certificats d'authentification à des noeuds de service d'un calculateur haute 5 performance. L'invention propose également un dispositif de contrôle, destiné à équiper un calculateur haute performance comprenant un serveur couplé à des noeuds de service, et comprenant : - des premiers moyens de contrôle agencés pour définir pour chaque noeud 10 de service un ensemble d'au moins un certificat d'authentification, puis pour intégrer chaque ensemble défini pour un noeud de service dans un fichier de configuration associé à un identifiant de ce noeud de service, et, en cas de réception d'une requête de démarrage émise par un noeud de service, pour générer un fichier de commande contenant l'ensemble 15 compris dans le fichier de configuration associé à l'identifiant de ce noeud de service, et déclencher la transmission de ce fichier de commande à ce dernier, et - des seconds moyens de contrôle implantés dans chacun des noeuds de service et agencés chacun pour extraire d'un fichier de commande 20 transmis l'ensemble qu'il contient afin de stocker chaque certificat d'authentification de cet ensemble extrait dans un endroit associé dans une zone de stockage correspondante du noeud de service concerné. L'invention propose également un calculateur haute performance comprenant un serveur couplé à des noeuds de service, et un dispositif de 25 contrôle du type de celui présenté ci-avant. Par exemple, le serveur peut comprendre les premiers moyens de contrôle. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels : 30 - la figure 1 illustre de façon schématique et fonctionnelle un calculateur haute performance équipé d'un exemple de réalisation d'un dispositif de contrôle selon l'invention, et - la figure 2 illustre un exemple d'algorithme mettant en oeuvre un procédé 3025632 4 de contrôle selon l'invention. L'invention a notamment pour objet de proposer un procédé de contrôle, et un dispositif de contrôle D associé, destinés à permettre le contrôle de la fourniture de certificats d'authentification à des noeuds de 5 service Nq d'un calculateur haute performance CHP. On a schématiquement illustré sur la figure 1 un exemple non limitatif de calculateur haute performance CHP comprenant un serveur SC couplé à des noeuds de service N1, par exemple via un réseau de communication (comme par exemple l'Internet). Dans cet exemple, les noeuds de service Nq io du calculateur CHP sont regroupés dans N groupes (dits à haute disponibilité (ou HA)) Gi (avec i = 1 à N). Chaque groupe (à haute disponibilité) Gi comporte M(i) noeuds (de service) Nij (avec j = 1 à M(i)). Par exemple, N est égal à 10 et M(i) est égal à 500 quel que soit le groupe Gi considéré (et donc quelle que soit la valeur de l'indice i). Mais le nombre de noeuds Nij pourrait 15 varier d'un groupe Gi à l'autre Gr. Par ailleurs, le nombre N de groupes Gi peut prendre n'importe quelle valeur supérieure ou égale à un (1). De même, le nombre M(i) de noeuds Nij d'un groupe Gi peut prendre n'importe quelle valeur supérieure ou égale à trois (3). Chaque noeud Nij dispose de ressources qui sont généralement 20 partagées avec les autres noeuds Nq' (j' # j) de son groupe Gi, sous le contrôle d'un logiciel de haute disponibilité (ou HA (« High Availability »)). Ces ressources peuvent être de tout type dès lors qu'il s'agit de services configurables qui sont utiles au calculateur CHP ou à une application tournant dans ce calculateur CHP. 25 Le serveur SC assure plusieurs services liés au démarrage (ou « boot ») réseau des noeuds N1. Ainsi, il assure un service DHCP (« Dynamic Host Configuration Protocol ») destiné à fournir aux noeuds Nij leurs adresses IP au moment du boot réseau. Il peut également assurer des services « tftp » et « boot pxe » pour le transfert des fichiers hexadécimaux avec les variables 30 nécessaires à l'authentification des noeuds Nij après la phase d'initialisation et le transfert de l'image du système d'exploitation devant être utilisé par les noeuds N1. Il peut également, comme illustré non limitativement sur la figure 1, comprendre un outil de configuration OC destiné à configurer des ressources 3025632 5 de noeuds N1. On considère dans ce qui suit, à titre d'exemple non limitatif, que l'outil de configuration OC est Kconf® (commercialisé par la société BULL SAS). Comme indiqué plus haut, l'invention propose un procédé destiné à 5 permettre le contrôle de la fourniture de certificats d'authentification à des noeuds de service Nij d'un calculateur haute performance CHP. Ce procédé comprend des première (i), deuxième (ii) et troisième (iii) étapes, qui peuvent être mises en oeuvre au moins partiellement par un dispositif de contrôle D selon l'invention. 10 Comme illustré, un dispositif de contrôle D, selon l'invention, comprend au moins des premiers MC1 et seconds MC2 moyens de contrôle. Les seconds moyens de contrôle MC2 sont installés dans chacun des noeuds de service N1. Dans l'exemple non limitatif illustré sur la figure 1, les premiers moyens de contrôle MC1 sont installés dans le serveur SC, et plus 15 précisément dans l'outil de configuration OC. Mais cela n'est pas obligatoire. Ils pourraient en effet s'agir d'un équipement qui est externe au serveur SC mais accessible par ce dernier (SC), par exemple du fait d'une connexion informatique, ou bien qui fait partie du serveur SC mais pas de son outil de configuration OC. Par conséquent, le dispositif de contrôle D peut être réalisé, 20 soit sous la forme de modules logiciels (ou informatiques, ou encore « software ») ; on est alors en présence d'un produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement de type circuits électroniques (ou « hardware »), est propre à mettre en oeuvre le procédé de contrôle, soit sous la forme d'une combinaison 25 de modules logiciels et de circuits électroniques. Durant la première étape (i) du procédé selon l'invention, on définit pour chaque noeud (de service) Nq un ensemble d'au moins un certificat d'authentification, puis on intègre chaque ensemble défini pour un noeud Nq dans un fichier de configuration associé à un identifiant du noeud N1. Cette 30 première étape (i) est réalisée par les premiers moyens de contrôle MC1, éventuellement sous le contrôle d'une personne autorisée par l'administrateur du calculateur CHP. Elle peut être déclenchée de façon automatisée dans le cadre d'un processus de contact des noeuds Nij pour le boot réseau, ou bien 3025632 6 manuellement à l'initiative de l'administrateur du supercalculateur CHP. Cette première étape (i) est référencée 10 dans l'exemple d'algorithme de la figure 2. Chaque ensemble peut comprendre un, deux, trois ou quatre 5 certificats d'authentification, voire plus encore si cela s'avère nécessaire. Par exemple, les premiers moyens de contrôle MC1 peuvent être agencés de manière à générer chaque certificat d'authentification destiné à un noeud Nq à partir d'informations qui sont stockées dans une base de données BD du serveur SC et qui définissent toutes les caractéristiques des o noeuds N1q. Cette génération peut se faire au moyen d'un premier script. Les certificats d'authentification ainsi générés peuvent être stockés dans le serveur SC sous la forme de fichiers primaires dans une arborescence prédéfinie. Dans une variante de réalisation, les certificats d'authentification des noeuds Nq sont déjà générés et les premiers moyens de contrôle MC1 ne 15 font que les récupérer pour les stocker dans le serveur SC sous la forme de fichiers primaires dans une arborescence prédéfinie. Ensuite, les premiers moyens de contrôle MC1 peuvent être agencés de manière à récupérer le contenu de chaque fichier primaire associé à un noeud Nq afin de le mettre en forme et l'intégrer dans une (des) variable(s) 20 d'un fichier de configuration associé à un identifiant du noeud N1, préexistant et par exemple stocké dans des premiers moyens de stockage MS du serveur SC, comme par exemple une mémoire. On comprendra que chaque variable correspond à un certificat d'authentification. Chaque identifiant de noeud Nq est par exemple une adresse IP qui 25 est stockée dans la base de données BD parmi toutes les informations définissant ce noeud N1. A titre d'exemple, chaque fichier de configuration peut être de type « pxelinux.cfg ». Par exemple, pour un noeud Nq donné le fichier de configuration associé peut être « itftpbootipxelinux.cfg/OA00000D », où 30 0A00000D est le nom du fichier de configuration sous forme hexadécimale, lequel correspond à l'adresse IP de ce noeud Nij au format hexadécimal. Cette adresse IP du noeud est définie par le service DHCP. Le contenu d'un fichier 3025632 7 de configuration est du texte standard contenant les instructions de boot du noeud Nij via le réseau. L'intégration des valeurs des variables de certificat d'authentification peut se faire au moyen d'un second script des premiers moyens de contrôle MC1. 5 Durant la deuxième étape (ii) du procédé selon l'invention, chaque noeud Nij transmet au serveur SC prédéfini une requête de démarrage qui est destinée à récupérer son identifiant (ici son adresse IP) et un fichier de commande qui contient l'ensemble de certificats d'authentification compris dans le fichier de configuration associé (c'est-à-dire contenant son adresse o IP). Cette deuxième étape (ii) est référencée 20 dans l'exemple d'algorithme de la figure 2. Par exemple, lorsque l'administrateur du supercalculateur CHP souhaite démarrer les noeuds Nq il déclenche l'envoi des requêtes de 15 démarrage par ces noeuds N1q. A cet effet, il ordonne aux noeuds Nq de démarrer (ou booter) via le réseau. La suite se fait automatiquement pour chaque noeud Nij par l'envoi au serveur SC d'une requête de démarrage de préférence de type « boot réseau PXE ». Cela déclenche un contact avec le serveur SC grâce à l'adresse IP du noeud Nij obtenue via le service DHCP, 20 puis la récupération par ce noeud Nq de son fichier de configuration hexadécimal sur le service pxe du serveur SC, et l'obtention par ce noeud Nq de son système d'exploitation SC via le service de transfert tftp du serveur SC. A réception d'une requête de démarrage transmise par un noeud N1, 25 les premiers moyens de contrôle MC1 vont déterminer dans les moyens de stockage MS le fichier de configuration qui contient l'adresse IP de ce noeud N1q. Puis, ils vont extraire de ce fichier de configuration la valeur de chaque variable de certificat d'authentification afin de l'intégrer dans un fichier de commande, et finalement ils vont ordonner au serveur SC de transmettre ce 30 fichier de commande au noeud Nq requérant. Par exemple, ce fichier de commande peut être de type « /proc/cmdline ». Durant la troisième étape (iii) du procédé selon l'invention, chaque noeud Nq extrait du fichier de commande qu'il a récupéré (consécutivement à 3025632 8 l'envoi de sa requête de démarrage) l'ensemble de certificat(s) d'authentification qu'il contient afin de stocker chaque certificat d'authentification qu'il contient dans un endroit associé dans une zone de stockage MS' correspondante. Cette zone de stockage MS' est par exemple 5 une mémoire d'un noeud Nij qui est utilisée pour stocker des données indispensables pendant toute la phase d'exploitation de ce noeud Nij. Cette troisième étape (iii) est référencée 30 dans l'exemple d'algorithme de la figure 2. Ce sont les seconds moyens de contrôle MC2 de chaque noeud Nq io qui réalisent l'extraction de la valeur de chaque variable de certificat d'authentification, puis qui convertissent chaque valeur extraite dans un format compréhensible par son noeud N1, et enfin qui placent chaque valeur convertie dans l'endroit associé de la zone de stockage MS'. Cet endroit comprend par exemple une arborescence prédéfinie et au moins un fichier 15 prédéfini. Cette extraction, cette conversion et ce placement (ou stockage) peuvent se faire au moyen d'un script. Par exemple, dans la troisième étape (iii), avant que les seconds moyens de contrôle MC2 d'un noeud Nij procèdent au stockage (ou placement), ils peuvent extraire du fichier de commande récupéré chaque 20 certificat d'authentification afin de le placer (après son éventuelle conversion au bon format) dans un fichier de certificat(s) d'authentification. On notera que lorsque le noeud Nq comprend déjà un fichier original de certificat(s) d'authentification lorsqu'il reçoit un fichier de commande, ses seconds moyens de contrôle MC2 peuvent soit stocker le fichier original dans une 25 autre zone de stockage prédéfinie et le nouveau fichier de certificat(s) d'authentification à l'endroit où était stocké le fichier original (à savoir dans les moyens de stockage MS'), soit simplement remplacer (ou écraser) le fichier original par le nouveau fichier de certificat(s) d'authentification dans les moyens de stockage MS'. En l'absence de différence, on conserve en l'état le 30 fichier original à l'endroit où il est stocké (à savoir dans les moyens de stockage MS'). Grâce à l'invention, il est désormais possible de profiter de la phase 3025632 9 de démarrage (ou d'amorçage ou de « boot réseau») qui est requise par un noeud de service auprès de son serveur pour transmettre immédiatement à ce noeud de service chaque certificat d'authentification qui permettra ensuite de l'authentifier auprès de ce serveur pendant sa phase de configuration. Il en 5 résulte une réduction notable de la durée de mise en fonctionnement de chaque noeud de service d'un supercalculateur. L'invention ne se limite pas aux modes de réalisation de procédé de contrôle, de dispositif de contrôle, et de calculateur haute performance décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes 10 que pourra envisager l'homme de l'art dans le seul cadre des revendications ci-après. REVENDICATIONS1. Procédé de contrôle de la fourniture de certificats d'authentification à des noeuds de service (N1) d'un calculateur haute performance (CHP), caractérisé en ce qu'il comprend une étape (i) dans laquelle on définit pour chaque noeud de service (NO un ensemble d'au moins un certificat d'authentification, puis on intègre chaque ensemble défini pour un noeud de service (N1) dans un fichier de configuration associé à un identifiant dudit o noeud de service (NO, une étape (ii) dans laquelle chaque noeud de service (NO transmet à un serveur (SC) prédéfini une requête de démarrage destinée à récupérer son identifiant et un fichier de commande contenant ledit ensemble compris dans ledit fichier de configuration associé, et une étape (iii) dans laquelle chaque noeud de service (N1) extrait dudit fichier de commande 15 récupéré l'ensemble qu'il contient afin de stocker chaque certificat d'authentification qu'il contient dans un endroit associé dans une zone de stockage correspondante. 2. Procédé selon la revendication 1, caractérisé en ce que dans ladite étape (i) on intègre chaque ensemble dans un fichier de configuration de type 20 « pxelinux.cfg ». 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que dans ladite étape (i) chaque identifiant de noeud de service (NO est une adresse IP. 4. Procédé selon la revendication 3, caractérisé en ce que dans ladite 25 étape (i) on intègre dans chaque fichier de configuration un nom correspondant à ladite adresse IP du noeud de service (NO associé sous une forme hexadécimale. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que ladite étape (i) est réalisée dans ledit serveur (SC). 30 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que dans ladite étape (iii) chaque noeud de service (N1) extrait dudit fichier de commande récupéré chaque certificat d'authentification afin de le placer dans un fichier de certificat(s) d'authentification. 3025632 11 7. Produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre le procédé selon l'une des revendications précédentes pour contrôler la fourniture de certificats d'authentification à des noeuds de service (NO d'un 5 calculateur haute performance (CHP). 8. Dispositif de contrôle (D) pour un calculateur haute performance (CHP) comprenant un serveur (SC) couplé à des noeuds de service (N1), caractérisé en ce qu'il comprend i) des premiers moyens de contrôle (MC1) agencés pour définir pour chaque noeud de service (N1) un ensemble d'au moins un certificat d'authentification, puis pour intégrer chaque ensemble défini pour un noeud de service (N1) dans un fichier de configuration associé à un identifiant dudit noeud de service (NO, et, en cas de réception d'une requête de démarrage émise par un noeud de service (N1), pour générer un fichier de commande contenant l'ensemble compris dans le fichier de configuration associé à l'identifiant de ce noeud de service (NO, et déclencher la transmission de ce fichier de commande à ce dernier (NO, et ii) des seconds moyens de contrôle (MC2) implantés dans chacun desdits noeuds de service (NO et agencés chacun pour extraire d'un fichier de commande transmis l'ensemble qu'il contient afin de stocker chaque certificat d'authentification de cet ensemble extrait dans un endroit associé dans une zone de stockage correspondante du noeud de service (NO concerné. 9. Calculateur haute performance (CHP) comprenant un serveur (SC) couplé à des noeuds de service (N1), caractérisé en ce qu'il comprend en outre un dispositif de contrôle (D) selon la revendication 8. 10. Calculateur haute performance selon la revendication 9, caractérisé en ce que ledit serveur (SC) comprend lesdits premiers moyens de contrôle (MC1).