Language selection

Search

Patent 3121595 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 3121595
(54) English Title: PROCEDE DE CONNEXION D'UNE APPLICATION INFORMATIQUE A UNE RESSOURCE INFORMATIQUE SECURISEE
(54) French Title: METHOD FOR CONNECTING A COMPUTER APPLICATION TO A SECURE COMPUTER RESOURCE
Status: Examination
Bibliographic Data
(51) International Patent Classification (IPC):
  • H4L 9/08 (2006.01)
  • H4L 67/08 (2022.01)
  • H4L 67/125 (2022.01)
(72) Inventors :
  • ADDA, SERGE (France)
(73) Owners :
  • WALLIX
(71) Applicants :
  • WALLIX (France)
(74) Agent: GOWLING WLG (CANADA) LLP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2019-12-26
(87) Open to Public Inspection: 2020-07-09
Examination requested: 2023-12-18
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/FR2019/053299
(87) International Publication Number: FR2019053299
(85) National Entry: 2021-05-31

(30) Application Priority Data:
Application No. Country/Territory Date
1900092 (France) 2019-01-04

Abstracts

English Abstract

The invention relates to a method for connecting an application (A) to a resource (D) by a command (B), the application being provided for configuring the resource by connecting to the resource by means of a program (F) and configuration parameters, the program implementing a client side of a communication protocol, the method comprising the steps of executing the command when the program is called by said application, the command being interposed between the application and the program; receiving authentication data for accessing the resource, by querying a vault (C), on the basis of configuration parameters; establishing a connection between the command and the resource by executing the program, into which the authentication data for accessing the resource are input and the configuration parameters retrieved; establishing a direct connection between the application and the resource.


French 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.

Claims

Note: Claims are shown in the official language in which they were submitted.


CA 03121595 2021-05-31
WO 2020/141277 15 PCT/FR2019/053299
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).

CA 03121595 2021-05-31
WO 2020/141277 16 PCT/FR2019/053299
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é

CA 03121595 2021-05-31
WO 2020/141277 17 PCT/FR2019/053299
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.

CA 03121595 2021-05-31
WO 2020/141277 18 PCT/FR2019/053299
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.

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 03121595 2021-05-31
WO 2020/141277 1 PCT/FR2019/053299
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

CA 03121595 2021-05-31
WO 2020/141277 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.

CA 03121595 2021-05-31
WO 2020/141277 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,

CA 03121595 2021-05-31
WO 2020/141277 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

CA 03121595 2021-05-31
WO 2020/141277 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

CA 03121595 2021-05-31
WO 2020/141277 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.

CA 03121595 2021-05-31
WO 2020/141277 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.

CA 03121595 2021-05-31
WO 2020/141277 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).

CA 03121595 2021-05-31
WO 2020/141277 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

CA 03121595 2021-05-31
WO 2020/141277 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

CA 03121595 2021-05-31
WO 2020/141277 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.

CA 03121595 2021-05-31
WO 2020/141277 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,

CA 03121595 2021-05-31
WO 2020/141277 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.

CA 03121595 2021-05-31
WO 2020/141277 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.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Letter Sent 2023-12-21
Request for Examination Received 2023-12-18
Request for Examination Requirements Determined Compliant 2023-12-18
All Requirements for Examination Determined Compliant 2023-12-18
Inactive: IPC expired 2022-01-01
Inactive: IPC from PCS 2022-01-01
Inactive: IPC from PCS 2022-01-01
Inactive: IPC expired 2022-01-01
Common Representative Appointed 2021-11-13
Letter sent 2021-10-22
Inactive: Cover page published 2021-07-29
Letter sent 2021-06-29
Priority Claim Requirements Determined Compliant 2021-06-16
Request for Priority Received 2021-06-16
Inactive: IPC assigned 2021-06-16
Inactive: IPC assigned 2021-06-16
Inactive: IPC assigned 2021-06-16
Application Received - PCT 2021-06-16
Inactive: First IPC assigned 2021-06-16
National Entry Requirements Determined Compliant 2021-05-31
Application Published (Open to Public Inspection) 2020-07-09

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 2023-12-13

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Basic national fee - standard 2021-05-31 2021-05-31
MF (application, 2nd anniv.) - standard 02 2021-12-29 2021-11-22
MF (application, 3rd anniv.) - standard 03 2022-12-28 2022-12-12
MF (application, 4th anniv.) - standard 04 2023-12-27 2023-12-13
Request for examination - standard 2023-12-27 2023-12-18
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
WALLIX
Past Owners on Record
SERGE ADDA
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column (Temporarily unavailable). To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 2021-05-30 14 681
Abstract 2021-05-30 2 96
Drawings 2021-05-30 3 52
Representative drawing 2021-05-30 1 17
Claims 2021-05-30 4 166
Cover Page 2021-07-28 1 53
Courtesy - Letter Acknowledging PCT National Phase Entry 2021-06-28 1 592
Courtesy - Letter Acknowledging PCT National Phase Entry 2021-10-21 1 588
Courtesy - Acknowledgement of Request for Examination 2023-12-20 1 423
Request for examination 2023-12-17 4 95
International search report 2021-05-30 6 181
National entry request 2021-05-30 7 184