FR 3091601 A1 20200710 FR 1900092 A 20190104 Description Titre de l'invention : Procédé de connexion d'une application informatique à une ressource informatique sécurisée Domaine technique [0001] La présente invention se rapporte au domaine du DevOps, qui est la concaténation des trois premières lettres du mot anglais development qui vise le développement logiciel, et de l'abréviation usuelle ops du mot anglais operations, qui vise l'administration des infrastructures informatiques, et notamment l'administration système. État de la technique antérieure [0002] Selon le modèle d'architecture réseau SDN, pour l'anglais software-defined networking, les administrateurs de réseaux peuvent gérer les services de réseaux par abstraction de fonctionnalités. Ce modèle d'architecture réseau comporte un ensemble de technologies ayant pour point commun un contrôle centralisé des ressources réseau, une orchestration centralisée et une virtualisation des ressources physiques. [0003] Avec le développement du modèle d'architecture réseau SDN, les nouvelles structures informatiques sont de plus en plus gérées à l'aide de concepts provenant du domaine du DevOps. Le devops est un mouvement en ingénierie informatique et une pratique technique visant à l'unification du développement logiciel (dev) et de l'administration des infrastructures informatiques (ops), notamment l'administration système. [0004] Au début, cela concernait principalement les nuages publics, pour l'anglais public cloud, comme AWS, pour Amazon Web Services, qui vise des services d'informatique en nuage, pour l'anglais cloud computing, à la demande pour les entreprises et particuliers, ou encore Azure, qui est la plate-forme applicative développée par Microsoft. Cependant, ces concepts se répandent rapidement sur tous les types d'infrastructures. [0005] L'un des principaux atouts de ces technologies est l'automatisation des tâches de gestion. Pour ce faire, des outils spécifiques ont été développés, tels que Ansible (plate-forme logicielle libre pour la configuration et la gestion des ordinateurs), Puppet (logiciel libre permettant la gestion de la configuration de serveurs esclaves) ou Chief (logiciel libre de gestion de configuration). [0006] Ces outils permettent d'automatiser l'exécution de tâches sur un ensemble de ressources. Pour ce faire, ils s'appuient fortement sur des protocoles tels que SSH pour se connecter, déployer et exécuter des scripts sur les ressources. L'exécution de ces scripts nécessite un accès aux informations d'identification sans interaction humaine. [0007] Ce besoin est déjà résolu en utilisant les concepts de plue-in (module d'extension in- 2 formatique) configuré pour extraire d'un coffre-fort des informations d'identification. [0008] À cet effet, on pourra utilement se reporter à la demande internationale de la de- manderesse, publiée sous le numéro WO 2018/162810, qui propose un procédé d'accès à une ressource informatique sécurisée par une application informatique. [0009] La ressource informatique sécurisée est dépourvue d'interaction homme-machine pour la saisie d'une information d'authentification. Le procédé proposé comporte a) une première étape d'initial isation comprenant une création d'une clé cryptographique transitoire consistant à appliquer un traitement cryptographique à une pluralité d'informations invariantes dans le temps et à chiffrer avec la clé cryptographique transitoire ainsi calculée des données d'authentification d'un compte autorisé à accéder à un coffre-fort à mots de passe et h) des étapes d'accès automatique par l'application à la ressource informatique sécurisée consistant à créer une clé cryptographique transitoire consistant à appliquer un traitement cryptographique à la pluralité d'informations invariantes dans le temps, à lire le fichier crédentiel, pour l'anglais credential, créé lors de l'étape d' initialisation et à déchiffrer le fichier crédentiel avec la clé cryptographique transitoire calculée à l'étape précédente puis à transférer à l'application appelante les données provenant de la ressource informatique. [0010] Il serait possible de mettre en oeuvre le procédé d'accès selon l'art antérieur pour fournir le mot de passe aux outils spécifiques ont été développés, tels que Ansiblc. [0011] Cependant, la surface d'attaque entre l'extraction des informations d'identification et leur utilisation par l'outil d'accès sous-jacent (principalement le client SSH) offre toujours une grande opportunité pour un attaquant de voler les informations d'identification. Exposé de l'invention [0012] Un but de l'invention est notamment de remédier à tout ou partie des inconvénients précités. [0013] Selon un premier aspect de l'invention, il est proposé un procédé de connexion d'une application informatique à une ressource informatique sécurisée par une commande de façade. [0014] L'application informatique est initialement configurée pour établir une connexion à la ressource sécurisée au moyen d'un programme client et de paramètres de configuration. [0015] Le programme client implémente une partie client d'un protocole de communication et est configuré pour recevoir en entrée des données d'authentification. [0016] Selon une particularité, l'application informatique est de type devops, c'est-à-dire une application informatique configurée pour la gestion à distance de ressources. [0017] L'application informatique peut être configurée pour pouvoir configurer la ressource 3 distance sans interaction homme-machine pour la saisie d'une information d'authentification. Selon une possibilité, l'application informatique est dépourvue d'interaction homme-machine pour la saisie d'une information d'authentification. [0018] Par protocole de communication, la présente description vise par exemple le protocole SSH, pour Secure SI-Tell. [0019] Par programme client implémentant une partie client d'un protocole de commu- nication, la présente description vise par exemple le programme client aussi connu sous le terme SSH. [0020] Le procédé de connexion selon le premier aspect de l'invention peut comporter une étape initiale d'interposition d'une commande de façade entre l'application informatique et le programme client, telle que la commande SSHPASS (https ://sourceforge.net/p/sshpass), qui est utilisé uniquement pour permettre de passer le mot de passe sur la ligne de commande, ce que ne permet pas le client SSH nativement pour des raisons de sécurité. [0021] Le procédé de connexion selon le premier aspect de l'invention comporte : une étape d'exécution de la commande de façade lors d'un appel du programme client par l'application informatique, la commande de façade étant interposée entre l'application informatique et le programme client, une étape de récupération, par la commande de façade, desdits paramètres de configuration, une étape de réception de données d'authentifications pour l'accès à la ressource informatique, par la commande façade, par interrogation d'un coffre-fort, à partir des paramètres récupérés, une étape d'établissement d'une connexion entre la commande de façade et la ressource sécurisée par exécution du programme client, dans lequel sont injectés en entrée, d'une part les données d'authentification pour l'accès à la ressource informatique, et d'autre part des paramètres récupérés, une étape d'établissement d'une connexion directe entre l'application et la ressource informatique sécurisée. [0022] L'étape d'établissement d'une connexion entre la commande de façade et la ressource informatique sécurisée peut comporter une modification des paramètres de configuration reçus et une injection des paramètres de configuration modifiés dans le programme client. Les paramètres de configuration récupérés peuvent être modifiés, par exemple dans le but de s'adapter au type de données de connexions extraites du coffre-fort. Par exemple, lorsque l'application informatique est Ansible, cette dernière suppose l'utilisation de clés SSH et les paramètres reçus comportent ainsi des paramètres de la commande SSH en vue d'une utilisation de clé SSH. Pourtant, il peut arriver que les données d'authentification soient de type mot de passe auquel cas il est nécessaire de modifier les paramètres avant leur injection dans la commande SSH. [0023] L'étape d'exécution de la commande de façade peut comporter, ultérieurement à la fin de la connexion directe entre l'application et la ressource informatique sécurisée, un envoi d'une notification de fin d'utilisation des données d'authentification par la commande de façade à destination du coffre-fort. Aussi, si les données d'authentification ont été extraites du coffre en en demandant l'exclusivité, la notification de la fin de l'utilisation desdites données d'authentification met fin à l'exclusivité de leurs utilisations, permettant, si nécessaire la rotation de celles-ci. [0024] À cet effet, la commande de façade peut comporter une étape de modification par le coffre-fort des données d'authentification ultérieurement à la réception de la notification de fin d'utilisation. [0025] En outre, le processus de façade peut comporter une étape de réception par le coffre- fort d'une requête d'exclusivité des données d'authentification antérieurement à l'étape de réception des données d'authentifications ou implicite lors de celle-ci. [0026] L'étape d'interrogation du coffre-fort à partir des paramètres de configurations récupérés peut comporter l'envoi au coffre-fort de données d'authentifications pour l'accès au coffre-fort, les données d'authentifications pour l'accès au coffre-fort étant obtenues par déchiffrement par une clé cryptographique transitoire de données d'authentifications chiffrées pour l'accès au coffre-fort, les données d'authentifications chiffrées pour l'accès au coffre-fort étant enregistrées dans une mémoire permanente associée à la commande de façade. [0027] Le procédé peut comporter une étape préalable d'enregistrement de données d'authentifications chiffrées pour l'accès au coffre-fort dans la mémoire permanente, les données d'authentifications chiffrées résultant du chiffrement de données d'authentification d'un compte autorisé à accéder au coffre-fort avec une clé cryptographique transitoire, la clé cryptographique transitoire étant déterminée par calcul à partir de l'application d'un traitement cryptographique à une pluralité d'informations invariantes dans le temps, et représentatives de l'environnement informatique d'exécution de ladite application. [0028] Le procédé peut comporter, ultérieurement à l'étape de réception de données d'authentifications pour l'accès à la ressource informatique sécurisée, et antérieurement à l'étape étape d'établissement d'une connexion entre la commande de façade et la ressource informatique sécurisée, les étapes suivantes : calcul d'une empreinte du contexte d'appel du programme client en fonction de données invariantes représentatives de ce contexte, comparaison de l'empreinte calculée avec une empreinte enregistrée dans une mémoire permanente associée à la commande de façade, et a. en cas de différence, ne pas mettre en oeuvre étape d'établissement de la connexion entre la commande de façade et la ressource informatique sécurisée, h. en cas de conformité, mettre en oeuvre étape d'établissement de la connexion entre la commande de façade et la ressource informatique sécurisée. [0029] Le procédé peut comporter une étape préalable d'enregistrement d'une empreinte chiffrée dans la mémoire permanente, l'emprunte chiffrée résultant du chiffrement du chiffrement d'une empreinte du contexte d'appel du programme client en fonction de données invariantes représentatives de ce contexte, la clé cryptographique transitoire étant déterminée par calcul à partir de l'application d'un traitement cryptographique à une pluralité d'informations invariantes dans le temps, et représentatives de l'environnement informatique d'exécution de ladite application. [0030] Bien entendu, les données d'authentification chiffrées ainsi que l'empreinte chiffrée peuvent être enregistrées dans un même fichier, aussi appelé fichier crédentiel. [0031] Selon un mode de réalisation, la clé cryptographique transitoire est déterminée à partir d'une empreinte de l'arbre d'appel du programme client. [0032] Selon une possibilité, la commande de façade est exécutée au sein d'un processus de façade et le programme client peut être exécuté au sein d'un processus de programme client, le processus de programme client étant un processus fils du processus de façade. Le processus client peut par exemple être créé par appel de la primitive fork() par le processus de façade (pB). [0033] Lorsque les données invariantes comportent une empreinte de l'arbre d'appel du processus de programme client, la commande de façade peut comporter, préalablement à la détermination de la clé cryptographique transitoire, une étape d'attente qui s'achève lorsque le code du processus de programme client présente un code identique au code du programme client. [0034] Selon une variante, l'empreinte et les données extraites du coffre-fort sont enre- gistrées dans une mémoire permanente locale sous forme cryptée dans un cache local. [0035] Selon un mode de mise en oeuvre particulier, l'empreinte et les données extraites du coffre-fort numérique sont protégées par une technique d'obfuscation. [0036] Selon une première possibilité, la technique d'obfuscation est statique consiste à supprimer le registre frame pointer ou à remplacer des constantes du programme par des calculs récursifs. [0037] Selon une autre possibilité, la technique d'obfuscation est dynamique consiste à bloquer l'accès en cas de détection d'une opération de débogage. [0038] Selon un autre aspect de l'invention, il est proposé un produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, et chargeable 6 dans une mémoire interne d'une unité de calcul, comportant des instructions de code de programme qui, lorsqu'elles sont exécutées par l'unité de calcul, mettent en oeuvre les étapes d'un procédé de connexion selon le premier aspect de l'invention, ou l'un ou plusieurs de ses perfectionnements. Description des figures [0039] D'autres avantages et particularités de l'invention apparaîtront à la lecture de la des- cription détaillée de mises en oeuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels : [0040] [fie.1] représente une vue schématique fonctionnelle d'un procédé d'accès à une ressource informatique sécurisée par une application informatique, [0041] [fig.21 représente une vue schématique fonctionnelle d'un processus d' initial isation du procédé décrit à la figure 1, [0042] [fig.31 représente une vue schématique fonctionnelle d'une partie du procédé d'accès à la ressource informatique décrit à la figurc 1, [0043] [fig.41 représente une vue schématique d'un enchaînement de traitements dans un procédé d'accès selon l'invention, [0044] [fig.51 représente une vue schématique d'un diagramme d'un arbre d'appel du procédé d'accès selon l'invention, [0045] [fig.61 représente est un pscudo-code d'une boucle d'attente mise en oeuvre par le précédé d'accès selon l'invention, Description de mode de réalisation 10046] Les modes de réalisation décrits ci-après n'étant nullement limitatifs, on pourra notamment considérer des variantes de l'invention ne comprenant qu'une sélection de caractéristiques décrites, par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. Cette sélection comprend au moins une caractéristique, de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. 100471 Sur les figures, un élément apparaissant sur plusieurs figures conserve la même référence. 100481 Rappel du fonctionnement du procédé selon l'art antérieur Contexte de l'art antérieur 100491 Comme illustré par la figure 1, l'objet du procédé selon l'art antérieur est de permettre à une application 12, dépourvue d'interaction homme-machine, d'accéder à une ressource sécurisée 15, telle qu'une hase de données. 7 [0050] À cet effet, il est proposé que l'application puisse recevoir d'un coffre-fort 10, en- registré sur un équipement distant, par exemple un boîtier physique ou virtuel, les données d'authentification à la ressource sécurisée 15. [0051] Schéma de fonctionnement [0052] Le procédé d'accès à la ressource informatique sécurisée 15, selon l'art antérieur, se décompose en trois parties : un processus d'initialisation, un processus d'accès lors d'une première exécution, un processus d'accès pour les exécutions suivantes. [0053] Processus d'initialisation [0054] Cc processus, illustré par la figure 3, comporte le calcul d'une clé cryptographique transitoire par l'exécution d'un code informatique par l'application 12, qui est hébergée sur un serveur 18, par exemple par un serveur d'application WehSphere (nom commercial). [0055] Un administrateur 4 de l'application 12 lance sur le serveur 18 une commande 6 cor- respondant à l'exécution du procédé objet de l'invention. [0056] Ccttc exécution commande l'étape d' initialisation. [0057] Ccttc étape consiste à demander à l'utilisateur de saisir les données d'authentification nécessaire pour l'accès au coffre-fort numérique 10 dans lequel sont enregistrées les données d'authentification à la ressource sécurisée 15 à laquelle l'application 12 doit accéder. [0058] Plus généralement, le coffre-fort numérique 10 comporte plusieurs données d'authentifications, pour l'accès à plusieurs ressources sécurisées. [0059] La commande 6 récupère la ou les données d'authentification et les chiffres en ap- pliquant un algorithme cryptographique. [0060] À cet effet, la commande déclenche le calcul d'une clé cryptographique transitoire utilisant des paramètres correspondant à des données invariantes caractérisant l'environnement d'exécution de la commande. La clé cryptographique transitoire n'est jamais enregistrée sur une mémoire molle. Les données invariantes peuvent comprendre : le nom et/ou l'identifiant de l'ordinateur sur lequel est exécutée la commande, le nom de la commande, un condensat du code exécutable de cette commande, l'identifiant du propriétaire de l'exécutable. [0061] Les données d'authentification sont chiffrées avec la clé cryptographique transitoire ainsi calculée puis enregistrées, sous forme chiffrée, sur le serveur 18 dans un fichier crédentiel 5. [0062] Premier accès à la ressource hébergée 8 [0063] La figure 3 illustre le processus d'accès par l'application 12 à la ressource hébergée 15. [0064] Le lancement 7 de la commande 6 par l'application 12 en mode de premier accès provoque l'exécution d'une étape de récupération 8 dans le fichier crédentiel 5 des données d'authentification chiffrées (enregistrées lors du processus d'initialisation) permettant d'accéder au coffre-fort 10. [0065] La commande 6 lance ensuite une étape de déchiffrement des données d'authentification mettant en oeuvre l'algorithme cryptographique précité, lequel utilise une clé cryptographique transitoire qui est à nouveau calculée à partir des données invariantes précitées. [0066] La commande lance ensuite une étape 9 d'accès au coffre numérique 10 contenant les données d'authentification 11 à la ressource sécurisée 15 pour recevoir les données d'authentification 11. [0067] L'étape 9 d'accès peut mettre en oeuvre une interface de programmation d'authentification API, pour l'anglais application programming interface, pour s'identifier auprès du coffre-fort 10 et recevoir lesdites données d'authentification 11. [0068] Par ailleurs, la commande 6 effectue le calcul de l'empreinte de l'application 12 ayant lancé la commande 6. L'empreinte calculée est enregistrée dans une mémoire locale sur le serveur 18 sur laquelle est exécutée l'application 12. Le calcul de l'empreinte peut être réalisé antérieurement ou ultérieurement à l'étape 9, mais toujours antérieurement à l'étape 13 qui est maintenant décrite. [0069] La commande 6 chiffre ensuite les données d'authentification 11 et l'empreinte calculée avec la clé cryptographique transitoire utilisée pour le déchiffrement du fichier crédentiel, et enregistre, au cours d'une étape 13, les données d'authentification chiffrées ainsi que l'empreinte chiffrée dans la mémoire locale. [0070] La dernière étape 14 pour la commande 6 consiste à fournir à l'application 12 appelante les données d'authentification 11, pour permettre l'accès 16 à la ressource distante 15. Les données d'authentifications sont fournies en clair à l'application 12. [0071] Accès ultérieur à la ressource sécurisée [0072] Les accès ultérieurs mettent en oeuvre les mêmes étapes, à l'exception de l'étape de détermination de calcul de l'empreinte de l'application 12 (et de l'étape d'enregistrement de l'empreinte calculée). [0073] L'empreinte de l'application 12 étant déjà enregistrée sous forme chiffrée dans la mémoire locale 13 lors du premier accès à la ressource sécurisée, on compare l'empreinte enregistrée avec un nouveau calcul de l'empreinte de l'application appelante. [0074] Aussi, il est nécessaire de déchiffrer l'empreinte chiffrée enregistrée dans la mémoire locale. À cet effet, une clé cryptographique transitoire est à nouveau calculée à partir 9 des données invariantes précitées. L'empreinte chiffrée est déchiffrée par mise en oeuvre de l'algorithme cryptographique précité avec la clé cryptographique transitoire. [0075] Si les deux empreintes diffèrent, le traitement est interrompu et envoie un message d'erreur. [0076] Puis, optionnellement, il est prévu une nouvelle mise en oeuvre de l'étape 9 pour recevoir, du coffre-fort 10, de nouvelles données d'authentification 11, et d'autre part un nouvel enregistrement du chiffrement, avec la clé cryptographique transitoire utilisée mettant en oeuvre l'algorithme cryptographique précité, des nouvelles données d'authentification 11. [0077] Alternativement à ladite option, les données d'authentification 11 sont déterminées par déchiffrement mettant en oeuvre l'algorithme cryptographique précité, lequel utilise la clé cryptographique transitoire calculée. [0078] Enfin, le processus se poursuit par l'étape 14 consistant à fournir les données d'authentification 11, à l'application 12, pour permettre l'accès 16 à la ressource sécurisée 15. [0079] Indisponibilité du coffre-finl [0080] Dans le cas où l'accès au coffre-fort 10 n'est pas possible, les données d'authentification chiffrées enregistrées lors du premier accès, ou d'un accès subséquent, à la ressource sécurisée, sont utilisées, après déchiffrement par une étape de déchiffrement mettant en oeuvre l'algorithme cryptographique précité, lequel utilise une clé cryptographique transitoire qui est à nouveau calculée à partir des données invariantes précitées. [0081] Proposition de procédé d'accès à une ressource informatique [0082] Ainsi qu'il a été vu, le procédé selon l'art antérieur permet à une application de mettre en oeuvre un procédé, implémenté sous forme de commande, de récupération des données d'authentification dans un coffre-fort en vue d'un accès à une ressource sécurisée. [0083] En référence à la figure 4, la présente invention a pour objectif de sécuriser encore l'accès d'une application informatique A, par exemple Ansible, à une ressource sécurisée D, en ne fournissant pas les données d'authentification à l'application. [0084] À cet effet, il est proposé que l'application mette en oeuvre un procédé, implémenté sous forme de commande B, créant une connexion à la ressource partagée. [0085] Dans le cas d'une automatisation complète de l'application informatique A, cette- dernière est dépourvue d'interaction homme-machine pour la saisie d'une information d'authentification. [0086] En référence à la figure 1, l'application A est initialement configurée pour établir une connexion à ladite ressource sécurisée D au moyen d'un programme client F (non représenté sur les figures) implémentant une partie client, par un exemple un client SSH, d'un protocole de communication, tel que le protocole SSH, ledit programme client utilisant des données d'authentification. [0087] Bien entendu, les données d'authentifications peuvent être des mots de passe ou des clés privées. [0088] Étape initiale d'interposition (l'un processus de façade [0089] Selon l'invention, le procédé comporte une étape initiale El d'interposition d'une commande de façade B selon l'invention entre l'application informatique A et le programme client F. [0090] Par commande de façade, la présente description vise une commande exposant une interface similaire à celle du programme client F (ici SSH) utilisée normalement par l'application informatique A afin de s'interposer naturellement entre l'application informatique A et le programme client F. [0091] Plusieurs solutions techniques peuvent être envisagées à cet effet. [0092] Il est par exemple possible, le cas échéant, d'éditer un fichier de configuration de l'application informatique A, pour indiquer un chemin d'appel de la commande de façade B en lieu et place d'un chemin d'appel du programme client F. [0093] Une autre solution peut comporter de modifier la variable d'environnement in- formatique appelée PATH. [0094] Étapes suivantes d'accès à la ressource informatiques [0095] Les étapes suivantes d'accès à la ressource informatiques comportent : une étape El d'appel d'exécution de la commande de façade B par l'application A, l'application A exécutant la commande de façade en croyant appeler le programme client F dont la façade est émulée par la commande de façade, une étape E2 comportant : une étape de réception de paramètres passés par l'application A au programme client F, une étape de réception de données d'authentifications chiffrées, par la commande de façade, auprès d'un coffre-fort C, une étape E3 comportant : une étape d'établissement d'une connexion directe entre l'application A et la ressource sécurisée D au moyen du programme client F par injection dans le programme client F des données d'authentification reçues ainsi que des paramètres récupérés et modifiés si nécessaire, par exemple pour s'adapter au type de données de connexions extraites du coffre-fort C. À la fin de la connexion, si les données de connexion ont été extraites du coffre en en demandant l'exclusivité, la commande de façade B peut notifier le coffre-fort C, au moyen de son API, que les données de connexion ne sont 11 plus utilisées, mettant fin à l'exclusivité de leurs utilisations, permettant, si nécessaire la rotation de celle-ci. [0096] En référence à la figure 5, il est décrit un arbre d'appel d'un processus de façade pB, associé à la commande de façade B selon l'invention. [0097] Un processus pA associé à l'application informatique A peut comporter un ou plusieurs processus enfant, par exemple un processus enfant pN. Ces processus forment un premier niveau Nl. [0098] Le processus enfant pN comporte l'appel d'un processus de façade pB associé à la commande de façade B. Ce processus forme un deuxième niveau N2. [0099] Le processus de façade pB comporte la création d'un processus de programme client pF associé au programme client F, tel que précédemment décrit. Ce processus forme un troisième niveau N3. [0100] Parmi les données invariantes caractérisant l'environnement d'exécution de la commande, il est proposé d'intégrer une empreinte de l'arbre d'appel du programme client. [0101] Attente de la terminaison du démarrage du processus de programme client [0102] Les systèmes de type Unix, comme Linux, utilisent une séquence particulière pour démarrer un sous-processus. [0103] Le processus parent commence par se dupliquer par une opération initiée à l'aide d'une primitive appelée fork. [0104] Lors de la création d'un processus-fils par la primitive fork, le processus-fils hérite du code du processus père. [0105] Aussi, le sous-processus, dit processus fils, doit effectuer un appel à une primitive pour remplacer le code qu'il a hérité du processus père par celui de la commande désirée. Plusieurs primitives peuvent être appelées, telles que les primitives execl, execv, execle, execve, execlp, et execvp. [0106] Tant que la fonction de remplacement de code n'est pas terminée, le sous-processus enfant est vu comme exécutant le code du processus parent. [0107] Aussi, l'utilisation d'une emprunte de l'application appelante qui comporterait des données invariantes comportant l'arbre d'appel, préalablement à un déchiffrement des données d'authentification chiffrées mettant en oeuvre l'arbre d'appel, ne pourrait pas se faire car ce n'est pas le bon code qui serait pris en compte. [0108] Aussi, il est proposé, comme représenté par le pseudo-code de la figure 6, de ne dé- terminer l'empreinte de l'application appelante, qui contient des données invariantes telles que l'arbre d'appel, qu'après avoir attendu la terminaison du processus de démarrage de la commande appelée à l'étape E4 d'établissement d'une connexion entre le processus de façade et la ressource sécurisée au moyen du programme client F. [0109] Plus précisément, l'attente de la terminaison du processus de démarrage de la 12 commande il est attendu que le code du processus de commande client pF corresponde au code de la commande client F. [0110] Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l'invention peuvent être associés les uns avec les autres selon diverses combinaisons dans la mesure où ils ne sont pas incompatibles ou exclusifs les uns des autres. 13 [Revendication 1]