CA3121595A1 - Procede de connexion d'une application informatique a une ressource informatique securisee - Google Patents

Procede de connexion d'une application informatique a une ressource informatique securisee Download PDF

Info

Publication number
CA3121595A1
CA3121595A1 CA3121595A CA3121595A CA3121595A1 CA 3121595 A1 CA3121595 A1 CA 3121595A1 CA 3121595 A CA3121595 A CA 3121595A CA 3121595 A CA3121595 A CA 3121595A CA 3121595 A1 CA3121595 A1 CA 3121595A1
Authority
CA
Canada
Prior art keywords
resource
application
safe
access
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CA3121595A
Other languages
English (en)
Inventor
Serge Adda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wallix SARL
Original Assignee
Wallix SARL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wallix SARL filed Critical Wallix SARL
Publication of CA3121595A1 publication Critical patent/CA3121595A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

Procédé de connexion d'une application (A) à une ressource (D) par une commande (B), l'application étant prévue pour configurer la ressource par une connexion à la ressource au moyen d'un programme (F) et de paramètres de configurations, le programme implémentant une partie client d'un protocole de communication, le procédé comportant une exécution de la commande lors d'un appel du programme par ladite application, la commande étant interposée entre l'application et le programme; une réception de données d'authentifications pour l'accès à la ressource, par interrogation d'un coffre-fort (C), à partir de paramètres de configurations; un établissement d'une connexion entre la commande et la ressource par exécution du programme, dans lequel sont injectés en entrée les données d'authentification pour l'accès à la ressource, et les paramètres de configuration récupérés; un établissement d'une connexion directe entre l'application et la ressource.

Description

Procédé de connexion d'une application informatique à une ressource informatique sécurisée Domaine technique 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 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.
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 (dey) et de l'administration des infrastructures informatiques (ops), notamment l'administration système.
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.
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
2 PCT/FR2019/053299 (logiciel libre permettant la gestion de la configuration de serveurs esclaves) ou Chief (logiciel libre de gestion de configuration).
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.
Ce besoin est déjà résolu en utilisant les concepts de plug-in (module d'extension informatique) configure pour extraire d'un coffre-fort des informations d'identification.
A cet effet, on pourra utilement se reporter à la demande internationale de la demanderesse, publiée sous le numéro W02018/162810, qui propose un procédé
d'accès à une ressource informatique sécurisée par une application informatique.
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'initialisation 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 b) 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.
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 Ansible.
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.
3 PCT/FR2019/053299 Exposé de l'invention Un but de l'invention est notamment de remédier à tout ou partie des inconvénients précités.
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.
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.
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.
Selon une particularité, l'application informatique est de type devops, c'est-à-dire une application informatique configurée pour la gestion à distance de ressources.
L'application informatique peut être configurée pour pouvoir configurer la ressource 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.
Par protocole de communication, la présente description vise par exemple le protocole SSH, pour Secure SHell.
Par programme client implémentant une partie client d'un protocole de communication, la présente description vise par exemple le programme client aussi connu sous le terme SSH.
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é.
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,
4 PCT/FR2019/053299 - 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.
Dans la présente description, un coffre-fort de mot de passe, aussi désigné
par le terme vault en anglais, vise un module logiciel qui conserve un certain nombre de mots de passe dans un emplacement numérique sécurisé. En cryptant le stockage de mot de passe, le coffre-fort de mot de passe offre aux utilisateurs la possibilité
d'utiliser un seul mot de passe principal pour accéder à un certain nombre de mots de passe différents utilisés pour différents sites Web ou services.
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.
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
5 PCT/FR2019/053299 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.
A 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.
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.
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.
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.
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
6 PCT/FR2019/053299 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, b) 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.
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.
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.
Selon un mode de réalisationune empreinte de l'arbre d'appel du programme client est déterminée.
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).
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 l'empreinte de l'arbre d'appel, 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.
Selon une variante, l'empreinte et les données extraites du coffre-fort sont enregistrées dans une mémoire permanente locale sous forme cryptée dans un cache local.
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.
7 PCT/FR2019/053299 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.
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.
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 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 D'autres avantages et particularités de l'invention apparaîtront à la lecture de la description détaillée de mises en oeuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels :
= La figure 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, = La figure 2 représente une vue schématique fonctionnelle d'un processus d'initialisation du procédé décrit à la figure 1, = La figure 3 représente une vue schématique fonctionnelle d'une partie du procédé d'accès à la ressource informatique décrit à la figure 1, = La figure 4 représente une vue schématique d'un enchaînement de traitements dans un procédé d'accès selon l'invention, = La figure 5 représente une vue schématique d'un diagramme d'un arbre d'appel du procédé d'accès selon l'invention, = La figure 6 représente est un pseudo-code d'une boucle d'attente mise en oeuvre par le précédé d'accès selon l'invention.
8 PCT/FR2019/053299 Description de mode de réalisation 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.
Sur les figures, un élément apparaissant sur plusieurs figures conserve la même référence.
Contexte de l'art antérieur 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 base de données.
A cet effet, il est proposé que l'application puisse recevoir d'un coffre-fort 10, enregistré
sur un équipement distant, par exemple un boîtier physique ou virtuel, les données d'authentification à la ressource sécurisée 15.
Schéma de fonctionnement 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.
Processus d'initialisation Ce 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 WebSphere (nom commercial).
9 PCT/FR2019/053299 Un administrateur 4 de l'application 12 lance sur le serveur 18 une commande 6 correspondant à l'exécution du procédé objet de l'invention.
Cette exécution commande l'étape d'initialisation.
Cette é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.
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.
La commande 6 récupère la ou les données d'authentification et les chiffres en appliquant un algorithme cryptographique.
A 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 morte. 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.
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.
Premier accès à la ressource hébergée La figure 3 illustre le processus d'accès par l'application 12 à la ressource hébergée 15.
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.
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
10 PCT/FR2019/053299 une clé cryptographique transitoire qui est à nouveau calculée à partir des données invariantes précitées.
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.
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.
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.
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.
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.
Accès ultérieur à la ressource sécurisée 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).
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.
Aussi, il est nécessaire de déchiffrer l'empreinte chiffrée enregistrée dans la mémoire locale. A cet effet, une clé cryptographique transitoire est à nouveau calculée à partir
11 PCT/FR2019/053299 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.
Si les deux empreintes diffèrent, le traitement est interrompu et envoie un message d'erreur.
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.
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.
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.
Indisponibilité du coffre-fort 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.
Proposition de procédé d'accès à une ressource informatique 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.
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.
12 PCT/FR2019/053299 A 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.
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.
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.
Bien entendu, les données d'authentifications peuvent être des mots de passe ou des clés privées.
Etape initiale d'interposition d'un processus de façade 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.
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.
Plusieurs solutions techniques peuvent être envisagées à cet effet.
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.
Une autre solution peut comporter de modifier la variable d'environnement informatique appelée PATH.
Étapes suivantes d'accès à la ressource informatiques 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,
13 PCT/FR2019/053299 - 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 plus utilisées, mettant fin à l'exclusivité de leurs utilisations, permettant, si nécessaire la rotation de celle-ci.
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.
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 Ni.
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.
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.
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.
14 PCT/FR2019/053299 Attente de la terminaison du démarrage du processus de programme client Les systèmes de type Unix, comme Linux, utilisent une séquence particulière pour démarrer un sous-processus.
Le processus parent commence par se dupliquer par une opération initiée à
l'aide d'une primitive appelée fork.
Lors de la création d'un processus-fils par la primitive fork, le processus-fils hérite du code du processus père.
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.
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.
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.
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.
Plus précisément, l'attente de la terminaison du processus de démarrage de la commande il est attendu que le code du processus de commande client pF
corresponde au code de la commande client F.
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.

Claims (13)

Revendications
1) Procédé de connexion d'une application informatique (A) à une ressource informatique sécurisée (D) par une commande de façade (B), ladite application informatique étant configurée pour configurer la ressource informatique sécurisée sans interaction homme-machine, ladite application informatique étant initialement configurée pour établir une connexion à ladite ressource sécurisée au moyen d'un programme client (F) et de paramètres de configurations, ledit programme client implémentant une partie client d'un protocole de communication et étant configure pour recevoir en entrée des données d'authentification, ledit procédé
comportant les étapes suivantes :
- une étape (El ) d'exécution de la commande de façade lors d'un appel dudit programme client par ladite application informatique, ladite commande de façade étant interposée entre l'application informatique et le programme client, - une étape de récupération, par ladite commande de façade, desdits paramètres de configuration, - une étape (E3) de réception, par la commande de façade, de données d'authentifications pour l'accès à la ressource informatique, par interrogation (E2) d'un coffre-fort (C), à partir des paramètres de configurations récupérés, - une étape (E4) d'établissement d'une connexion entre la commande de façade et la ressource sécurisée par exécution dudit 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 les paramètres de configuration récupérés, - une étape (E5, E6) d'établissement d'une connexion directe entre ladite application informatique et ladite ressource informatique sécurisée.
2) Procédé d'accès selon la revendication précédente, comportant une étape initiale d'interposition d'une commande de façade (B) entre l'application informatique (A) et le programme client (F).
3) Procédé de connexion selon l'une quelconque des revendications précédentes, dans lequel les paramètres de configuration reçus sont modifiées puis injectées dans ledit programme client (F).
4) Procédé de connexion selon l'une quelconque des revendications précédentes, comportant en outre une étape ultérieure à la terminaison de la connexion directe entre l'application informatique (A) et la ressource informatique sécurisée (D) dans laquelle une notification d'utilisation des données d'authentification est envoyée par la commande de façade (B) à destination du coffre-fort (C).
5) Procédé de connexion selon la revendication précédente, comportant en outre une étape de modification par le coffre-fort (C) des données d'authentification ultérieurement à la réception de la notification d'utilisation.
6) Procédé de connexion selon la revendication précédente, comportant en outre une étape (E2) de réception par le coffre-fort (C) d'une requête d'exclusivité des données d'authentification antérieurement à l'étape (E3) de récupération des données d'authentifications chiffrées.
7) Procédé de connexion selon l'une quelconque des revendications précédentes, dans lequel l'étape d'interrogation (E2) du coffre-fort (C) à partir des paramètres de configurations récupérés comporte 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 (B).
8) Procédé de connexion selon la revendication précédente, comprenant une étape préalable d'enregistrement de données d'authentifications chiffrées pour l'accès au coffre-fort (C) dans la mémoire permanente, lesdites 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.
9) Procédé de connexion selon l'une quelconque des revendications précédentes comportant en outre, ultérieurement à l'étape (E3) de réception de données d'authentifications pour l'accès à la ressource informatique sécurisée (D), et antérieurement à l'étape étape (E4) d'établissement d'une connexion entre la commande de façade (B) et la ressource informatique sécurisée, les étapes suivantes :
- calcul d'une empreinte du contexte d'appel du programme client (F) 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 i) en cas de différence, ne pas mettre en uvre étape (E4) d'établissement de la connexion entre la commande de façade et la ressource informatique sécurisée, ii) en cas de conformité, mettre en uvre étape (E4) d'établissement de la connexion entre la commande de façade et la ressource informatique sécurisée.
10) Procédé de connexion selon la revendication précédente, comportant une étape préalable d'enregistrement d'une empreinte chiffrée dans la mémoire permanente, ladite empreinte chiffrée résultant du chiffrement du chiffrement d'une empreinte du contexte d'appel du programme client (F) 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.
11)Procédé de connexion selon l'une quelconque des revendications 7 à 10, dans lequel une empreinte de l'arbre d'appel du programme client est déterminée.
12)Procédé de connexion selon la revendication précédente, dans lequel la commande de façade (B) est exécutée au sein d'un processus de façade (pB) et le programme client est exécuté au sein d'un processus de programme client (pF), le processus de programme client étant un processus fils du processus de façade (pB), la commande de façade comportant en outre, préalablement à l'étape de détermination de l'empreinte de l'arbre d'appel, 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.
13)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 dans une mémoire interne d'une unité de calcul, caractérisé en ce qu'il comporte des instructions de code de programme qui, lorsqu'elles sont exécutées par l'unité de calcul, mettent en uvre les étapes d'un procédé de connexion selon l'une quelconque des revendications précédentes.
CA3121595A 2019-01-04 2019-12-26 Procede de connexion d'une application informatique a une ressource informatique securisee Pending CA3121595A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1900092A FR3091601B1 (fr) 2019-01-04 2019-01-04 Procédé de connexion d’une application informatique à une ressource informatique sécurisée
FR1900092 2019-01-04
PCT/FR2019/053299 WO2020141277A1 (fr) 2019-01-04 2019-12-26 Procédé de connexion d'une application informatique à une ressource informatique sécurisée

Publications (1)

Publication Number Publication Date
CA3121595A1 true CA3121595A1 (fr) 2020-07-09

Family

ID=67107629

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3121595A Pending CA3121595A1 (fr) 2019-01-04 2019-12-26 Procede de connexion d'une application informatique a une ressource informatique securisee

Country Status (5)

Country Link
US (1) US12047364B2 (fr)
EP (1) EP3906635A1 (fr)
CA (1) CA3121595A1 (fr)
FR (1) FR3091601B1 (fr)
WO (1) WO2020141277A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11729163B2 (en) * 2021-03-19 2023-08-15 The Toronto-Dominion Bank System and method for establishing secure communication between applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10636084B2 (en) * 1996-10-31 2020-04-28 Citicorp Credit Services, Inc. (Usa) Methods and systems for implementing on-line financial institution services via a single platform
US6499036B1 (en) * 1998-08-12 2002-12-24 Bank Of America Corporation Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation
US7000235B2 (en) * 2001-10-30 2006-02-14 Sun Microsystems, Inc. Method and apparatus for managing data services in a distributed computer system
US7043738B2 (en) * 2002-03-05 2006-05-09 Sun Microsystems, Inc. Method and apparatus for managing a data imaging system using CIM providers in a distributed computer system
US7167862B2 (en) * 2003-03-10 2007-01-23 Ward Mullins Session bean implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
US10049335B1 (en) * 2009-10-06 2018-08-14 EMC IP Holding Company LLC Infrastructure correlation engine and related methods
US8806481B2 (en) * 2010-08-31 2014-08-12 Hewlett-Packard Development Company, L.P. Providing temporary exclusive hardware access to virtual machine while performing user authentication
US9390255B2 (en) * 2011-09-29 2016-07-12 Oracle International Corporation Privileged account manager, dynamic policy engine
US20140129457A1 (en) * 2012-11-02 2014-05-08 Stroz Friedberg, LLC An interactive organizational decision-making and compliance facilitation portal
FR3063822B1 (fr) 2017-03-10 2019-03-15 Wallix Procede d’acces a une ressource informatique securisee par une application informatique.
US11551195B2 (en) * 2017-07-18 2023-01-10 Tata Consultancy Services Limited Systems and methods for providing services to smart devices connected in an IoT platform
US10812581B2 (en) * 2018-10-12 2020-10-20 Bank Of America Corporation Heterogeneous distributed ledger data curator

Also Published As

Publication number Publication date
US12047364B2 (en) 2024-07-23
FR3091601B1 (fr) 2023-12-15
FR3091601A1 (fr) 2020-07-10
EP3906635A1 (fr) 2021-11-10
WO2020141277A1 (fr) 2020-07-09
US20220078176A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
US20070254631A1 (en) Secure Multi-Entity Access to Resources on Mobile Telephones
EP3732818B1 (fr) Procédé et système d'activation cryptographique d'une pluralité d'équipements
JP7554380B2 (ja) 異なるネットワークにわたって資産を転送するためのセキュアかつ信頼できるブリッジ
US11818122B2 (en) Secure authentication of a user
FR3048530B1 (fr) Systeme ouvert et securise de signature electronique et procede associe
EP2614458A2 (fr) Procede d'authentification pour l'acces a un site web
CN113609514B (zh) 一种云硬盘加解密方法、装置、系统及可读存储介质
FR3013541A1 (fr) Procede et dispositif pour la connexion a un service distant
CA3121595A1 (fr) Procede de connexion d'une application informatique a une ressource informatique securisee
FR2974207A1 (fr) Procede et systeme de securisation d'un logiciel
CH716295A2 (fr) Procédé de signature multiple d'une transaction destinée à une blockchain, au moyen de clés cryptographiques distribuées parmi les noeuds d'un réseau pair-à-pair.
EP4078922B1 (fr) Procédé d'obtention d'une commande relative à un profil d'accès réseau d'un module de sécurité de type euicc
CA3184096A1 (fr) Coffre-fort d'informations personnelles
EP3593270B1 (fr) Procédé d'accès a une ressource informatique sécurisée par une application informatique
EP2529330B1 (fr) Procédé de fourniture d'un code dynamique par l'intermédiaire d'un téléphone
EP2912598A1 (fr) Procédé de téléchargement d'au moins un composant logiciel dans un appareil informatique, produit programme d'ordinateur, appareil informatique et système informatique associés
EP3899765B1 (fr) Réinitialisation d'un secret applicatif au moyen du terminal
FR3020888A1 (fr) Chiffrement d'une cle de protection de secrets protegeant au moins un element sensible d'une application
EP3979109A1 (fr) Procédé et système d'authentification d'un utilisateur sur un appareil utilisateur
EP3825882A1 (fr) Procede et systeme pour le provisionnement ou remplacement securise d'un secret dans au moins un dispositif de communication portable
CH716296A2 (fr) Procédé de signature multiple d'une transaction destinée à une blockchain, sous condition de géolocalisation, au moyen de clés cryptographiques distribuées parmi les noeuds d'un réseau pair-à-pair.
CH716292A2 (fr) Procédé de signature décentralisée, sous contrôle biométrique et sous condition de géolocalisation, d'une transaction destinée à une blockchain.
FR3090154A1 (fr) Sécurisation des données au repos en utilisant la transportabilité des données chiffrées agnostiques de service de fournisseur de réseau de serveurs informatique
CH716299A2 (fr) Procédé de signature d'une transaction destinée à une blockchain, au moyen d'une clé cryptographique distribuée parmi les noeuds d'un réseau pair-à-pair.
CH716301A2 (fr) Procédé de signature d'une transaction destinée à une blockchain déployée sur un réseau pair-à-pair, au moyen d'une clé cryptographique distribuée parmi les noeuds d'un autre réseau pair-à-pair.