FR3136075A1 - Security infrastructure; process and associated computer program product. - Google Patents

Security infrastructure; process and associated computer program product. Download PDF

Info

Publication number
FR3136075A1
FR3136075A1 FR2205225A FR2205225A FR3136075A1 FR 3136075 A1 FR3136075 A1 FR 3136075A1 FR 2205225 A FR2205225 A FR 2205225A FR 2205225 A FR2205225 A FR 2205225A FR 3136075 A1 FR3136075 A1 FR 3136075A1
Authority
FR
France
Prior art keywords
client
agent
server
controller
service
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
FR2205225A
Other languages
French (fr)
Inventor
Gabriel LADET
Guillaume-Alexandre CHAIZY-GOSTOVITCH
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.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Priority to FR2205225A priority Critical patent/FR3136075A1/en
Priority to PCT/EP2023/064581 priority patent/WO2023232888A1/en
Publication of FR3136075A1 publication Critical patent/FR3136075A1/en
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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Infrastructure de sécurité  ; procédé et p roduit programme d’ordinateur associé s. Cette infrastructure pour sécuriser la connexion via l’internet entre un client (10) et un serveur (24), le serveur mettant à disposition un service (23), est une infrastructure Darknet comportant : un réseau Darknet (43) ; un agent client (41) exécuté par le client (10) et mémorisant un fichier de configuration client (T) ; un agent serveur (42) exécuté sur le serveur (24) et mémorisant un fichier de configuration serveur (F) ; et un contrôleur (44), comportant une base de données (B) stockant des informations de configuration, le contrôleur étant accessible à travers le réseau Darknet (43) par l’agent client (41), respectivement par l’agent serveur (42), pour recevoir des informations de configuration client, respectivement serveur, permettant la mise à jour du fichier de configuration client, respectivement serveur. Figure pour l'abrégé : Figure 1Security infrastructure; process and associated computer program product. This infrastructure for securing the connection via the Internet between a client (10) and a server (24), the server providing a service (23), is a Darknet infrastructure comprising: a Darknet network (43); a client agent (41) executed by the client (10) and storing a client configuration file (T); a server agent (42) running on the server (24) and storing a server configuration file (F); and a controller (44), comprising a database (B) storing configuration information, the controller being accessible through the Darknet network (43) by the client agent (41), respectively by the server agent (42 ), to receive client or server configuration information, allowing the client or server configuration file to be updated. Figure for abstract: Figure 1

Description

Infrastructure de sécurité ; procédé et produit programme d’ordinateur associés.Security infrastructure; process and associated computer program product.

La présente invention concerne le domaine de la sécurité informatique des réseaux.The present invention relates to the field of computer network security.

Internet est largement basé sur le modèle TCP/IP depuis sa création. Selon ce modèle, les services mis à disposition des utilisateurs sur internet sont « exposés » au monde entier. Comme exemples de service, on peut citer une application Web – c’est-dire une application manipulable directement en ligne grâce à un navigateur distant, une application VPN – c’est-à-dire une application permettant d’établir un tunnel de communication sécurisé, une application API – c’est-à-dire une application fournissant une fonctionnalité élémentaire à une application distante, etc.The Internet has been largely based on the TCP/IP model since its inception. According to this model, the services made available to users on the internet are “exposed” to the whole world. As examples of service, we can cite a Web application – that is to say an application that can be manipulated directly online using a remote browser, a VPN application – that is to say an application allowing the establishment of a communication tunnel secure, an API application – that is to say an application providing basic functionality to a remote application, etc.

Lorsqu’un service est exposé, il n’a d’autre choix que de « subir » les sollicitations de connexions de la part des clients.When a service is exposed, it has no choice but to “endure” connection requests from clients.

Un service exposé sur internet est identifiable, le plus souvent, par une adresse IPv4 (4 octets) et un port (2 octets).A service exposed on the internet is most often identifiable by an IPv4 address (4 bytes) and a port (2 bytes).

Il est ainsi possible de scanner l’internet pour disposer d’une cartographie de tous les services exposés.It is thus possible to scan the internet to have a map of all the services exposed.

Cela signifie que les services exposés sont trouvables par des attaquants. Les attaquants listent des services exposés d’une organisation donnée, recherche les vulnérabilités de ces services, puis lancent une attaque ciblée sur le service pour compromettre le système d’information. On constate que plus d’un tiers des compromissions de systèmes d’information sont dues à l’exploitation de vulnérabilités qui affectent un service exposé sur internet du système informatique compromis.This means that exposed services are findable by attackers. Attackers list exposed services of a given organization, search for vulnerabilities in these services, then launch a targeted attack on the service to compromise the information system. We note that more than a third of information system compromises are due to the exploitation of vulnerabilities which affect a service exposed on the internet of the compromised computer system.

Différentes manières de traiter ce problème ont été proposées, comme : la mise en place de pare-feu qui filtrent les tentatives de connexion ; l’analyse en profondeur du trafic et de blocage des tentatives de compromission ; le déploiement de processus de mise à jour des services exposés (avec la correction des vulnérabilités identifiées) ; la réduction de la surface d’exposition du système d’information (en déplaçant un service exposé sur internet vers l’intérieur du système d’information, puis en le rendant accessible à travers un seul point d’exposition, le plus souvent au moyen d’un VPN) ; le transfert des services exposés vers le cloud d’un tiers, qui en prend la responsabilité et en assure la protection.Different ways of dealing with this problem have been proposed, such as: setting up firewalls that filter connection attempts; in-depth analysis of traffic and blocking of compromise attempts; the deployment of updating processes for exposed services (with the correction of identified vulnerabilities); reducing the exposure surface of the information system (by moving a service exposed on the Internet to the interior of the information system, then making it accessible through a single point of exposure, most often by means a VPN); the transfer of exposed services to the cloud of a third party, which takes responsibility for them and ensures their protection.

Le but de la présente invention est de résoudre ce problème, en proposant une solution alternative aux solutions connues, qui est fondée sur la suppression des points d’exposition.The aim of the present invention is to solve this problem, by proposing an alternative solution to the known solutions, which is based on the elimination of exposure points.

Pour cela l’invention a pour objet une infrastructure de sécurité destinée à être déployée dans une architecture s’appuyant sur l’internet et comportant un client connecté à l’internet d’un côté et un serveur d’un système d’information connecté à l’internet d’un autre côté, le système d’information mettant à disposition un service, caractérisée en ce que l’infrastructure de sécurité est une infrastructure Darknet comportant : un réseau Darknet en superposition de l’internet pour cacher le service ; un agent client exécuté par le client pour accéder au service à travers le réseau Darknet, l’agent client mémorisant un fichier de configuration client ; un agent serveur exécuté sur le serveur du système d’information pour permettre un accès au service à travers le réseau Darknet, l’agent serveur mémorisant un fichier de configuration serveur ; et, un contrôleur, comportant une base de données stockant des informations de configuration, le contrôleur étant accessible à travers le réseau Darknet par l’agent client, respectivement par l’agent serveur, pour recevoir des informations de configuration client, respectivement serveur, permettant la mise à jour du fichier de configuration client, respectivement serveur, les informations de configuration client comportant au moins un adresse sur le réseau Darknet permettant au client d’accéder au service lorsque le client a effectivement le droit d’accéder au service, et les informations de configuration serveur comportant au moins des informations d’identification permettant au client de s’identifier auprès du serveur pour pouvoir accéder au service.For this purpose, the invention relates to a security infrastructure intended to be deployed in an architecture based on the Internet and comprising a client connected to the Internet on one side and a server of a connected information system. to the Internet on the other hand, the information system providing a service, characterized in that the security infrastructure is a Darknet infrastructure comprising: a Darknet network overlaying the Internet to hide the service; a client agent executed by the client to access the service through the Darknet network, the client agent storing a client configuration file; a server agent executed on the information system server to allow access to the service through the Darknet network, the server agent storing a server configuration file; and, a controller, comprising a database storing configuration information, the controller being accessible through the Darknet network by the client agent, respectively by the server agent, to receive client configuration information, respectively server, allowing updating the client or server configuration file, the client configuration information comprising at least one address on the Darknet network allowing the client to access the service when the client actually has the right to access the service, and the server configuration information comprising at least identification information allowing the client to identify itself with the server in order to access the service.

Suivant des modes particuliers de réalisation, l’infrastructure comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :Depending on particular embodiments, the infrastructure comprises one or more of the following characteristics, taken individually or in all technically possible combinations:

- un agent parmi l’agent client et l’agent serveur mémorise un jeton permettant une première connexion, via le réseau Darknet, au contrôleur afin de recevoir en retour des données d’authentification, l’agent établissant ensuite une connexion avec le contrôleur en utilisant les données d’authentification.- an agent among the client agent and the server agent memorizes a token allowing a first connection, via the Darknet network, to the controller in order to receive authentication data in return, the agent then establishing a connection with the controller by using authentication data.

- l’infrastructure comporte une console d’administration du contrôleur et avantageusement de l’agent serveur, la console d’administration exécutant un agent pour accéder au contrôleur et avantageusement à l’agent serveur à travers le réseau Darknet.- the infrastructure includes an administration console for the controller and advantageously for the server agent, the administration console running an agent to access the controller and advantageously the server agent through the Darknet network.

- l’infrastructure est fondée sur une implémentation Tor de l’infrastructure Darknet.- the infrastructure is based on a Tor implementation of the Darknet infrastructure.

- le réseau Darknet est un réseau privé.- the Darknet network is a private network.

L’invention a également pour objet un procédé de connexion à un service caché mis en œuvre dans une infrastructure de sécurité conforme à l’infrastructure précédentes, consistant à : renseigner un fichier de configuration client de l’agent client et renseigner un fichier de configuration serveur de l’agent serveur par connexion au contrôleur, le fichier de configuration client comportant au moins une adresse sur le réseau Darknet du service, et le fichier de configuration serveur comportant au moins une information d’identification permettant au client de s’identifier auprès du serveur pour pouvoir accéder au service ; rendre par l’agent serveur le service disponible sur le réseau Darknet ; établir par l’agent client une connexion avec un nœud dit « point de rendez-vous » du réseau Darknet (43), en utilisant les informations contenues dans le fichier de configuration client ; demander par l’agent client un accès au service auprès du réseau Darknet en déclarant l’identifiant du nœud « point de rendez-vous » ; vérifier par l’agent serveur d’identité du client sur lequel est exécuté l’agent client en utilisant les informations d’identification contenues dans le fichier de configuration serveur ; et, en cas de vérification positive, établir par l’agent serveur une connexion avec le nœud « point de rendez-vous » du réseau Darknet ; associer les connexions de part et d’autre du nœud « point de rendez-vous » pour établir une communication entre le client et le serveur.The invention also relates to a method of connection to a hidden service implemented in a security infrastructure conforming to the previous infrastructure, consisting of: filling in a client configuration file of the client agent and filling in a configuration file server of the server agent by connection to the controller, the client configuration file comprising at least one address on the Darknet network of the service, and the server configuration file comprising at least one identification information allowing the client to identify itself with from the server to be able to access the service; make the service available on the Darknet network through the server agent; establish by the client agent a connection with a so-called “meeting point” node of the Darknet network (43), using the information contained in the client configuration file; request access to the service from the Darknet network by the client agent by declaring the identifier of the “meeting point” node; verify by the server agent the identity of the client on which the client agent is running using the identification information contained in the server configuration file; and, in the event of positive verification, establish by the server agent a connection with the “meeting point” node of the Darknet network; associate the connections on either side of the “meeting point” node to establish communication between the client and the server.

Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :According to particular embodiments, the process comprises one or more of the following characteristics, taken individually or in all technically possible combinations:

- le procédé consiste en outre à : établir par l’agent serveur une connexion avec le contrôleur ; communiquer par l’agent serveur au contrôleur l’adresse sur le réseau Darknet du service, ladite adresse ayant été générée par l’agent serveur ; établir par l’agent client une connexion avec le contrôleur; communiquer par le contrôleur à l’agent client l’adresse sur le réseau Darknet du service pour renseigner le fichier de configuration client.- the method further consists of: establishing a connection with the controller by the server agent; communicate by the server agent to the controller the address on the Darknet network of the service, said address having been generated by the server agent; establish a connection with the controller by the client agent; communicate by the controller to the client agent the address on the Darknet network of the service to fill in the client configuration file.

- le procédé consiste en outre à : établir par l’agent serveur une connexion avec le contrôleur ; communiquer par le contrôleur à l’agent serveur les droits des utilisateurs sur le service pour renseigner le fichier de configuration serveur.- the method further consists of: establishing a connection with the controller by the server agent; communicate by the controller to the server agent the user rights on the service to fill the server configuration file.

- pour établir par un agent parmi l’agent client et l’agent serveur une connexion avec le contrôleur, le procédé consiste, en outre, à : recevoir par l’agent un jeton de connexion indiquant une adresse sur le réseau Darknet du contrôleur et un identifiant ; établir par l’agent une connexion au contrôleur en utilisant l’adresse sur le réseau Darknet du contrôleur indiquée dans le jeton et s’identifier par l’agent auprès du contrôleur en utilisant l’identifiant indiqué dans le jeton ; fournir en réponse par le contrôleur à l’agent des données d’authentification ; et établir par l’agent une connexion au contrôleur en utilisant les données d’authentification.- to establish by an agent among the client agent and the server agent a connection with the controller, the method further consists of: receiving by the agent a connection token indicating an address on the Darknet network of the controller and a login ; establish by the agent a connection to the controller using the address on the Darknet network of the controller indicated in the token and identify itself by the agent to the controller using the identifier indicated in the token; provide authentication data in response by the controller to the agent; and the agent establishes a connection to the controller using the authentication data.

L’invention a également pour objet un produit programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un client, un serveur et un contrôleur d’une infrastructure conforme à l’infrastructure précédente, mettent en œuvre un procédé conforme au procédé précédent.The invention also relates to a computer program product comprising software instructions which, when executed by a client, a server and a controller of an infrastructure conforming to the preceding infrastructure, implement a method conforming to the previous process.

L’invention et ses avantages seront mieux compris à la lecture de la description détaillée qui va suivre d’un mode de réalisation particulier, donné uniquement à titre d’exemple non limitatif, cette description étant faite en se référant aux dessins annexés sur lesquels :The invention and its advantages will be better understood on reading the detailed description which follows of a particular embodiment, given solely by way of non-limiting example, this description being made with reference to the appended drawings in which:

La est une représentation schématique d’un mode de réalisation préféré d’une infrastructure de sécurité selon l’invention, déployée pour sécuriser une architecture informatique utilisant l’internet ; There is a schematic representation of a preferred embodiment of a security infrastructure according to the invention, deployed to secure a computer architecture using the Internet;

La est une représentation sous forme de blocs d’un premier procédé mis en œuvre par l’infrastructure de sécurité de la ; There is a block representation of a first method implemented by the security infrastructure of the ;

La est une représentation sous forme de blocs d’un second procédé mis en œuvre par l’infrastructure de sécurité de la ; There is a block representation of a second process implemented by the security infrastructure of the ;

La est une représentation sous forme de blocs d’un troisième procédé mis en œuvre par l’infrastructure de sécurité de la ; et, There is a block representation of a third method implemented by the security infrastructure of the ; And,

La est une représentation sous forme de blocs d’un quatrième procédé mis en œuvre par l’infrastructure de sécurité de la . There is a block representation of a fourth method implemented by the security infrastructure of the .

DEFINITIONSDEFINITIONS

« Utilisateur » : c’est la personne qui interagit avec un ordinateur connecté au réseau internet, dénommé « ordinateur client » ou « client », pour accéder à un service. Sauf mention contraire, on parlera ci-après indistinctement de client ou d’utilisateur.“User”: this is the person who interacts with a computer connected to the Internet, called a “client computer” or “client”, to access a service. Unless otherwise stated, hereinafter we will speak without distinction of customer or user.

« Application client » : c’est un logiciel exécuté par un client et devant accéder à un service pour fonctionner correctement ou offrir une fonctionnalité particulière au client ou à l’utilisateur. Sauf mention contraire, on parlera ci-après indistinctement de client ou d’application client.“Client application”: this is software executed by a client and must access a service to function correctly or offer a particular functionality to the client or user. Unless otherwise stated, we will hereinafter speak indiscriminately of client or client application.

« Service » : c’est une fonctionnalité mise à disposition par le système d’information d’une organisation. Ce service est accessible via un serveur connecté (directement ou indirectement par l’intermédiaire d’une passerelle) au réseau internet. Par exemple, le service est un logiciel exécuté par l’ordinateur serveur. Sauf mention contraire, on parlera ci-après indistinctement de service ou de serveur.“Service”: this is a functionality made available by an organization’s information system. This service is accessible via a server connected (directly or indirectly via a gateway) to the internet network. For example, the service is software run by the server computer. Unless otherwise stated, we will hereinafter speak indiscriminately of service or server.

« Réseau Darknet » ou « Darknet » : c’est un réseau informatique pair à pair, distribué, superposé (ou réseau « overlay » en anglais) au réseau internet. Il utilise des protocoles spécifiques intégrant des fonctions d'anonymat permettant que les adresses IP des acteurs ne soient pas dévoilées publiquement.“Darknet Network” or “Darknet”: it is a peer-to-peer, distributed computer network, superimposed (or “overlay” network in English) on the Internet network. It uses specific protocols integrating anonymity functions so that the IP addresses of the actors are not revealed publicly.

« Infrastructure Darknet » : en plus du réseau Darknet, l’infrastructure Darknet englobe les logiciels (ou agents) exécutés sur les machines pour permettre à celles-ci d’utiliser le réseau Darknet en mettant en œuvre les protocoles adaptés.“Darknet infrastructure”: in addition to the Darknet network, the Darknet infrastructure includes the software (or agents) executed on machines to allow them to use the Darknet network by implementing the appropriate protocols.

« Implémentation Tor » (ou « technologie Tor », ou encore « logiciel Tor ») (acronyme de « The “.onion » Router » ou « le routeur “.onion » » en français) : c’est une implémentation particulière d’une infrastructure Darknet. L’implémentation Tor est un réseau informatique superposé mondial et décentralisé. Il se compose d'un certain nombre de serveurs, appelés nœuds du réseau Darknet et dont la liste est publique. Ce réseau permet d'anonymiser l'origine de connexions TCP. L’implémentation Tor est composée de logiciels libres, qui sont tenus à jour par l’organisation « The Tor Projet », dont le site internet (https://forum.torproject.net) offre différentes informations et met à la disposition de tous les versions des logiciels. Le dernière version stable de l’implémentation Tor est la version 0.4.7.7 du 27 avril 2022. Il est à noter que la présente invention s’appuie sur les fonctionnalités de base de l’implémentation Tor, que l’on retrouve d’une version à l’autre.“Tor implementation” (or “Tor technology”, or even “Tor software”) (acronym for “The “.onion” Router” or “the “.onion” router” in French): it is a particular implementation of Darknet infrastructure. The Tor implementation is a global, decentralized overlay computing network. It consists of a number of servers, called Darknet network nodes, the list of which is public. This network makes it possible to anonymize the origin of TCP connections. The Tor implementation is made up of free software, which is kept up to date by the organization “The Tor Project”, whose website (https://forum.torproject.net) offers various information and makes available to all software versions. The latest stable version of the Tor implementation is version 0.4.7.7 of April 27, 2022. It should be noted that the present invention is based on the basic functionalities of the Tor implementation, which can be found in a version to another.

Adresse «.onion » : selon l’implémentation Tor, l’accès à un service caché nécessite que l’utilisateur connaisse l’adresse « .onion » de celui-ci. L’adresse « .onion » permet de négocier « un point de rendez-vous » avec l’infrastructure Darknet. Ce point de rendez-vous est un nœud du réseau Darknet utilisé comme intermédiaire de connexion entre l’utilisateur et le service. Personne ne peut négocier de point de rendez-vous avec le service caché sans connaître l’adresse « onion » de ce service. L’adresse « .onion » est générée exclusivement côté service. De plus, l’adresse « onion » d’un service est certes connue du client, mais n’est pas connue des autres machines de l’infrastructure Darknet (en utilisant des mécanismes de « cryptographie en aveugle », un service parvient à se déclarer auprès du Darknet sans avoir à révéler son adresse « .onion ». Dans la mesure où elles sont composées de 56 caractères semi-alphanumériques, il est très difficile de craquer une adresse « onion » par une attaque en force.“.onion” address: according to the Tor implementation, access to a hidden service requires the user to know its “.onion” address. The “.onion” address allows you to negotiate “a meeting point” with the Darknet infrastructure. This meeting point is a node in the Darknet network used as a connection intermediary between the user and the service. No one can negotiate a meeting point with the hidden service without knowing the “onion” address of this service. The “.onion” address is generated exclusively on the service side. Furthermore, the “onion” address of a service is certainly known to the client, but is not known to other machines in the Darknet infrastructure (by using “blind cryptography” mechanisms, a service manages to declare to the Darknet without having to reveal your “.onion” address. Since they are made up of 56 semi-alphanumeric characters, it is very difficult to crack an “onion” address with a force attack.

« Anonymat » : selon la version en vigueur de l’implémentation Tor, pour ne pas exposer l’adresse IP d’une machine, la connexion créée entre cette machine et le point de rendez-vous n’est pas directe, mais passe par un ou plusieurs nœuds relais du Darknet entre la machine et le point de rendez-vous. Ainsi, la compromission du point de rendez-vous ne permet pas d’obtenir l’adresse IP de la machine, en particulier côté service. De plus, la technologie Tor assure un chiffrement de bout en bout entre machine et point de rendez-vous. Plus précisément, les données qui transitent sont chiffrées autant de fois que le nombre de nœuds relais traversés (chiffrement dit « en oignon»), évitant ainsi que la compromission d’une partie du chemin d’accès au point de rendez-vous ne remette en cause la confidentialité des données qui transitent.“Anonymity”: according to the current version of the Tor implementation, in order not to expose the IP address of a machine, the connection created between this machine and the meeting point is not direct, but goes through one or more Darknet relay nodes between the machine and the meeting point. Thus, the compromise of the meeting point does not make it possible to obtain the IP address of the machine, in particular on the service side. In addition, Tor technology provides end-to-end encryption between machine and meeting point. More precisely, the data passing through is encrypted as many times as the number of relay nodes crossed (so-called “onion” encryption), thus preventing the compromise of part of the access path to the meeting point from resetting. the confidentiality of the data in transit is at stake.

« Principe d’indirection » : il s’agit d’établir indirectement une connexion entre le client et le serveur. selon la version en vigueur de l’implémentation Tor, le client choisit le point de rendez-vous au sein du réseau Darknet, construit une connexion jusqu’à ce point de rendez-vous, puis communique l’identifiant du point de rendez-vous au service via un mécanisme spécifique de la technologie Tor qui n’est pas détaillé ici. Le service vérifie l’identité du client qui cherche à établir une connexion. Dans la technologie Tor, cette vérification est effectuée au moyen de certificats stockés localement côté service. Si le client a le droit d’établir une connexion, alors le service crée une connexion jusqu’au point de rendez-vous choisi par le client. Le service devient ainsi le dernier acteur à établir la connexion. Il passe d’un composant passif (dans TCP/IP, le service accepte une connexion émanant d’un client) à un composant actif (dans une infrastructure Darknet, le service établit la connexion vers le point de rendez-vous). De plus, les points de rendez-vous ne sont jamais les mêmes car choisis aléatoirement par les clients au sein des nœuds du réseau Darknet.“Principle of indirection”: this involves indirectly establishing a connection between the client and the server. according to the current version of the Tor implementation, the client chooses the meeting point within the Darknet network, builds a connection to this meeting point, then communicates the meeting point identifier to the service via a specific mechanism of Tor technology which is not detailed here. The service verifies the identity of the client seeking to establish a connection. In Tor technology, this verification is carried out using certificates stored locally on the service side. If the customer has the right to establish a connection, then the service creates a connection to the meeting point chosen by the customer. The service thus becomes the last actor to establish the connection. It goes from a passive component (in TCP/IP, the service accepts a connection from a client) to an active component (in a Darknet infrastructure, the service establishes the connection to the meeting point). In addition, the meeting points are never the same because they are chosen randomly by the clients within the nodes of the Darknet network.

GENERALITESGENERAL

L’invention consiste à sécuriser une architecture informatique s’appuyant sur internet en déployant une infrastructure Darknet adaptée, de manière à supprimer les points d’exposition des services de manière à les rendre invisibles.The invention consists of securing an IT architecture based on the Internet by deploying a suitable Darknet infrastructure, so as to remove the points of exposure of the services so as to make them invisible.

L’infrastructure de sécurité selon l’invention est fondée sur l’emploie du principe d’indirection : les acteurs sensibles de la communication client - serveur n’emploient que des flux sortants. Ces flux convergent vers le réseau Darknet. En particulier, le serveur devient le dernier acteur à décider d’établir ou non une connexion avec un client. Cette décision est prise en fonction d’un certain nombre de critères, notamment les droits d’accès du client.The security infrastructure according to the invention is based on the use of the principle of indirection: the sensitive actors of client-server communication only use outgoing flows. These flows converge on the Darknet network. In particular, the server becomes the last actor to decide whether or not to establish a connection with a client. This decision is made based on a number of criteria, including the client's access rights.

L’infrastructure de sécurité selon l’invention s’appuie sur le modèle « ZTNA ». Le modèle « ZTNA » (pour « Zero-Trust Network Access » ou « accès réseau zéro confiance ») est un concept de sécurité, notamment applicable aux réseaux informatiques, fondé sur la vérification systématique des droits des utilisateurs, considérant qu’il n’est pas possible de faire confiance à un utilisateur par défaut. De la sorte, la compromission d’une partie de l’architecture ne remet pas en cause la confidentialité des informations échangées entre une application client et un serveur, ne remet pas en cause l’anonymat du service, ni l’intégrité de ce service.The security infrastructure according to the invention is based on the “ZTNA” model. The “ZTNA” model (for “Zero-Trust Network Access”) is a security concept, particularly applicable to computer networks, based on the systematic verification of user rights, considering that it does not It is not possible to trust a user by default. In this way, the compromise of part of the architecture does not call into question the confidentiality of the information exchanged between a client application and a server, does not call into question the anonymity of the service, nor the integrity of this service. .

Dans le mode de réalisation préféré décrit ci-dessous en détails, l’infrastructure de sécurité met en œuvre l’implémentation Tor d’une infrastructure Darknet. Cependant, d’autres implémentations d’une infrastructure Darknet pourraient tout aussi bien être utilisées, notamment l’implémentation I2P (« Invisible Internet Project » ou « projet d’internet invisible »).In the preferred embodiment described in detail below, the security infrastructure implements the Tor implementation of a Darknet infrastructure. However, other implementations of a Darknet infrastructure could also be used, notably the I2P implementation (“Invisible Internet Project”).

ARCHITECTUREARCHITECTURE

En se référant à la , l’infrastructure de sécurité selon l’invention est déployée dans une architecture comportant l’internet 30, un client 10 connecté à l’internet 30 d’un côté, et un système d’information 20 connecté à l’internet d’un autre côté.Referring to the , the security infrastructure according to the invention is deployed in an architecture comprising the Internet 30, a client 10 connected to the Internet 30 on one side, and an information system 20 connected to the Internet on the other. other side.

Le système d’information 20 comporte un réseau privé 21 connecté à l’internet via une passerelle 22. Le système d’information 20 met à disposition un service 23 à un ensemble d’utilisateurs distants. Le service 23 est par exemple exécuté sur un ordinateur serveur 24. Le service 23 est par exemple une application web.The information system 20 includes a private network 21 connected to the Internet via a gateway 22. The information system 20 provides a service 23 to a set of remote users. The service 23 is for example executed on a server computer 24. The service 23 is for example a web application.

Le client 10 est un ordinateur (comme un ordinateur personnel, un téléphone mobile, etc.) qui exécute une application 12 ayant besoin d’accéder au service 23 pour que l’utilisateur 1 du client 10 bénéficie pleinement de la fonctionnalité associée à l’exécution de l’application 12. L’application 12 est par exemple un navigateur internet.The client 10 is a computer (such as a personal computer, a mobile telephone, etc.) which runs an application 12 needing access to the service 23 so that the user 1 of the client 10 fully benefits from the functionality associated with the execution of the application 12. The application 12 is for example an internet browser.

L’infrastructure de sécurité (référencée de manière générale par le chiffre 40 sur la ) comporte :The security infrastructure (generally referenced by the number 40 on the ) includes:

- un réseau Darknet 43 ;- a Darknet 43 network;

- un agent côté client (ou agent client) 41;- a client-side agent (or client agent) 41;

- un agent côté service (ou agent serveur) 42;- a service-side agent (or server agent) 42;

- un contrôleur 44 ; et, de préférence,- a controller 44; and, preferably,

- une console d’administration 46.- an administration console 46.

L’infrastructure de sécurité 40 est une infrastructure Darknet, conforme à l’implémentation Tor sauf mention contraire.Security infrastructure 40 is a Darknet infrastructure, conforming to the Tor implementation unless otherwise noted.

Réseau Darknet 43Darknet 43 network

Le réseau Darknet 43 est un réseau composé d’une pluralité de nœuds en superposition de l’internet 30. Sur la , on a référencé des nœuds par les chiffres 51 et 52, 61, 62 et 63, et 71 et 72.The Darknet network 43 is a network composed of a plurality of nodes superimposed on the Internet 30. On the , we referenced nodes by the numbers 51 and 52, 61, 62 and 63, and 71 and 72.

Le réseau Darknet 43 est avantageusement déployé sur plusieurs réseaux « en nuage » (« cloud » en anglais), gérés par des fournisseurs différents. Ainsi, sur la , on a représenté les nœuds du réseau Darknet 43 comme appartenant à trois réseaux en nuage différents, respectivement 50, 60 et 70. Les fournisseurs sont avantageusement des entités différentes de l’organisation gérant le système d’information 20 ou du prestataire fournissant la présente solution de sécurisation. La distribution du réseau Darknet 43 sur une pluralité de réseaux en nuage permet d’assurer une résilience suffisante, ainsi qu’une couverture géographique étendue (par exemple mondiale).The Darknet 43 network is advantageously deployed on several “cloud” networks, managed by different providers. Thus, on the , the nodes of the Darknet network 43 have been represented as belonging to three different cloud networks, respectively 50, 60 and 70. The suppliers are advantageously different entities from the organization managing the information system 20 or from the service provider providing this security solution. The distribution of the Darknet 43 network over a plurality of cloud networks ensures sufficient resilience, as well as extensive geographic coverage (for example global).

Sur la , est représenté de manière schématique le système de gestion 45 du réseau Darknet 43. Ceci n’est qu’une représentation, dans la mesure où les fonctions de gestion sont en fait réparties au sein du réseau Darknet 43 lui-même entre les nœuds le composant.On the , is schematically represented the management system 45 of the Darknet network 43. This is only a representation, insofar as the management functions are in fact distributed within the Darknet network 43 itself between the nodes component.

Avantageusement, dans la présente implémentation, le réseau Darknet 43 est privé et non pas public (comme dans l’implémentation Tor). Cela signifie qu’il n’est pas possible d’ajouter un nœud au réseau Darknet 43 sans y être autorisé. Outre certains problèmes de sécurité que cela peut engendrer, l’ajout de nœuds malveillants peut poser des problèmes de performances si la bande passante des nœuds ajoutés n’est pas maîtrisée.Advantageously, in the present implementation, the Darknet 43 network is private and not public (as in the Tor implementation). This means that it is not possible to add a node to the Darknet 43 network without being authorized to do so. In addition to certain security problems that this can cause, adding malicious nodes can cause performance problems if the bandwidth of the added nodes is not controlled.

Selon l’implémentation Tor, un nœud candidat se rajoute au réseau en se déclarant auprès de nœuds du réseau Darknet ayant un niveau hiérarchique élevé, aussi dénommés nœuds « autorités ». Pour ce faire, le nœud candidat communique un document de description de routeur (ou « Router Descriptor ») aux nœuds « autorités ». Les nœuds « autorités » incluent les informations contenues dans le document de description de routeur au sein d’un document de consensus, lors d’un vote qui a lieu à intervalle régulier. Le document de consensus est un document public produit régulièrement par le réseau Darknet et qui donne la liste de tous les nœuds qui le composent, ainsi que les informations cryptographiques associées à chacun de ces nœuds. Le document de consensus est notamment utilisé par les processus de l’implémentation Tor pour construire les chemins (aussi dénommé « circuit » dans l’implémentation Tor) jusqu’aux points de rendez-vous, comme cela sera décrit ci-dessous.According to the Tor implementation, a candidate node is added to the network by declaring itself to nodes of the Darknet network having a high hierarchical level, also called “authority” nodes. To do this, the candidate node communicates a router description document (or “Router Descriptor”) to the “authority” nodes. The “authority” nodes include the information contained in the router description document within a consensus document, during a vote which takes place at regular intervals. The consensus document is a public document produced regularly by the Darknet network and which gives the list of all the nodes that compose it, as well as the cryptographic information associated with each of these nodes. The consensus document is notably used by the processes of the Tor implementation to construct the paths (also called "circuit" in the Tor implementation) to the meeting points, as will be described below.

Selon l’invention, afin d’éviter que le document de description de routeur d’un nœud non autorisé soit accepté par les nœuds « autorités », un certificat supplémentaire est intégré au sein des documents de description de routeur valides. Ce certificat est signé par une autorité de confiance et chaque nœud « autorité » détient le certificat d’autorité lui permettant de valider le document de description de routeur d’un nœud candidat en vérifiant sa signature. Le nom commun (« Common Name ») du certificat d’autorité d’un nœud candidat spécifie l’adresse IP publique du nœud candidat et permet ainsi aux nœuds « autorités » de vérifier la légitimité du nœud candidat demandant son intégration au réseau Darknet 43. Ainsi, le réseau Darknet 43 a la capacité de refuser les nœuds candidats ne disposant pas d’un certificat valide et signé par l’autorité de confiance.According to the invention, in order to prevent the router description document of an unauthorized node from being accepted by the “authority” nodes, an additional certificate is integrated within the valid router description documents. This certificate is signed by a trusted authority and each “authority” node holds the authority certificate allowing it to validate the router description document of a candidate node by verifying its signature. The Common Name of the authority certificate of a candidate node specifies the public IP address of the candidate node and thus allows the “authority” nodes to verify the legitimacy of the candidate node requesting its integration into the Darknet network 43 Thus, the Darknet 43 network has the capacity to refuse candidate nodes that do not have a valid certificate signed by the trusted authority.

En cela, le réseau Darknet 43 est une altération de l’implémentation Tor telle que définie par la version actuelle du standard.In this way, the Darknet 43 network is an alteration of the Tor implementation as defined by the current version of the standard.

Agent client 41Customer Agent 41

L’agent client 41, qui s’installe et s’exécute sur un ordinateur, comme le client 10 de l’utilisateur 1, permet d’accéder aux services dissimulés par l’infrastructure de sécurité 40.The client agent 41, which is installed and executed on a computer, like the client 10 of user 1, provides access to the services hidden by the security infrastructure 40.

L’agent client 41 mémorise un fichier de configuration client T.The client agent 41 stores a client configuration file T.

Le fichier T comporte des données d’authentification du client 10, comme par exemple une clé privée, une clé publique et un certificat associé à la clé publique pour la connexion au contrôleur 44.The file T includes authentication data of the client 10, such as for example a private key, a public key and a certificate associated with the public key for connection to the controller 44.

Le fichier T mémorise également les adresses « .onion » des services cachés pour lesquels l’utilisateur 1 du client 10 a des droits d’accès.The T file also stores the “.onion” addresses of the hidden services for which user 1 of client 10 has access rights.

Avantageusement, le fichier T associe chaque adresse « .onion » d’une part, à une adresse IP et/ou un nom de domaine d’autre part.Advantageously, the T file associates each “.onion” address on the one hand, with an IP address and/or a domain name on the other hand.

L’agent client 41 mémorise avantageusement un jeton J1 pour permettre une première connexion au contrôleur 44.The client agent 41 advantageously memorizes a J1 token to allow a first connection to the controller 44.

L’agent client 41 est composé de deux processus.The client agent 41 is composed of two processes.

Le premier processus 411 est un processus Tor. Il s’agit d’un mandataire local (aussi appelé «.Onion Proxy » - OP) en écoute sur la boucle locale. Ce premier processus 411 accepte les connexions depuis le protocole SOCKS. Le premier processus 411 redirige les paquets de données provenant de l’application client 12 vers les services cachés par le réseau Darknet 43. Le protocole SOCKS est un protocole standard, employé dans l’implémentation Tor pour fournir aux applications exécutées sur une machine, une manière standard d’accéder au Darknet. Dans la présente implémentation, au lieu de configurer les applications pour qu’elles utilisent le mandataire SOCKS local de Tor, c’est l’agent qui se charge de négocier une connexion SOCKS avec le mandataire local à chaque fois qu’une connexion avec un service caché est nécessaire.The first 411 process is a Tor process. This is a local proxy (also called “.Onion Proxy” - OP) listening on the local loop. This first process 411 accepts connections from the SOCKS protocol. The first process 411 redirects the data packets coming from the client application 12 to the services hidden by the Darknet network 43. The SOCKS protocol is a standard protocol, used in the Tor implementation to provide applications running on a machine with a standard way to access the Darknet. In this implementation, instead of configuring applications to use Tor's local SOCKS proxy, the agent is responsible for negotiating a SOCKS connection with the local proxy each time a connection with a hidden service is necessary.

Ce premier processus 411 est similaire au mandataire local de l’implémentation Tor, mais est avantageusement modifié pour assurer la création de circuits directs vers un point de rendez-vous de façon à supprimer l’anonymat du client. La suppression de l’anonymat des utilisateurs permet à l’administrateur des services cachés de connaître les véritables adresses IP des utilisateurs. Ainsi, la connexion entre l’agent client 41 et le point de rendez-vous est directe et n’emploie aucun nœud relai intermédiaire du réseau Darknet 43. Les services cachés restent quant à eux anonymes. La levée de l’anonymat du client permet également d’augmenter la performance du réseau Darknet, en réduisant les étapes de relai et de chiffrement des flux côté client.This first 411 process is similar to the local proxy of the Tor implementation, but is advantageously modified to ensure the creation of direct circuits to a meeting point so as to remove the anonymity of the client. Removing user anonymity allows the administrator of hidden services to know the real IP addresses of users. Thus, the connection between the client agent 41 and the meeting point is direct and does not use any intermediate relay node from the Darknet network 43. The hidden services remain anonymous. Removing client anonymity also increases the performance of the Darknet network, by reducing the relaying and encryption steps for client-side flows.

Le second processus 412 est spécifique à la présente infrastructure de sécurité. Il établit et maintient une connexion vers le contrôleur 44, en s’appuyant sur le premier processus 411.The second process 412 is specific to this security infrastructure. It establishes and maintains a connection to the controller 44, relying on the first process 411.

Ce second processus 412 est propre à se connecter au contrôleur 44 pour récupérer tout ou partie des informations du fichier de configuration T.This second process 412 is capable of connecting to the controller 44 to retrieve all or part of the information from the configuration file T.

Lorsqu’il détecte une requête générée par l’application 12, exécutée sur le client 10, à destination d’un nom de domaine ou d’une adresse IP mentionné dans le fichier T, le second processus 412 modifie cette requête en substituant l’adresse « .onion» associée à ce nom de domaine ou à cette adresse IP, et redirige la requête modifiée vers le réseau Darknet et le service caché, via le premier processus 411.When it detects a request generated by the application 12, executed on the client 10, for a domain name or an IP address mentioned in the file T, the second process 412 modifies this request by substituting the “.onion” address associated with this domain name or IP address, and redirects the modified request to the Darknet network and the hidden service, via the first 411 process.

Plus précisément, le second processus 412 intercepte les requêtes DNS de l’application 12 lorsque celles-ci comportent un nom de domaine du fichier T. Le second processus forge une réponses DNS contenant une « fausse » adresse IP associée à ce nom de domaine (cette « fausse » adresse IP est soit indiquée dans le fichier T soit une adresse par défaut attribuée par le second processus). Lorsque le second processus 412 détecte une requête à destination de cette « fausse » adresse IP, il redirige le paquet vers le proxy local Tor avec l’adresse « .onion » correspondante.More precisely, the second process 412 intercepts DNS requests from the application 12 when these include a domain name from the file T. The second process forges a DNS response containing a “false” IP address associated with this domain name ( this “fake” IP address is either indicated in the T file or a default address assigned by the second process). When the second process 412 detects a request to this “fake” IP address, it redirects the packet to the local Tor proxy with the corresponding “.onion” address.

Cette fonctionnalité du second processus 412 n’est pas essentielle à l’invention, mais elle permet de rendre la solution proposée plus simple d’emploi pour l’utilisateur, qui ne manipule pas des adresses « .onion » mais des adresses IP ou des noms de domaine, comme il en a l’habitude lorsqu’il utilise l’internet. Mais le processus 412 lui-même est essentiel, notamment pour communiquer avec le contrôleur et recevoir les informations sur les services accessibles.This functionality of the second process 412 is not essential to the invention, but it makes it possible to make the proposed solution easier to use for the user, who does not manipulate “.onion” addresses but IP addresses or domain names, as he is used to when using the Internet. But the 412 process itself is essential, in particular to communicate with the controller and receive information on the accessible services.

Agent serveur 42Server Agent 42

L’agent serveur 42 s’installe et s’exécute sur une machine du système d’information 20, afin de dissimuler tel ou tel service du système d’information. Par exemple, l’agent serveur 42 est exécuté par le serveur 24 pour dissimuler le service 23. L’agent serveur 42 permet alors de rendre le service accessible à travers l’infrastructure de sécurité 40.The server agent 42 is installed and executed on a machine of the information system 20, in order to conceal this or that service of the information system. For example, the server agent 42 is executed by the server 24 to hide the service 23. The server agent 42 then makes it possible to make the service accessible through the security infrastructure 40.

L’agent serveur 42 mémorise un fichier de configuration serveur F.The server agent 42 stores a server configuration file F.

Le fichier F comporte des données d’authentification du serveur 24, comme par exemple une clé privée, une clé publique et un certificat associé à la clé publique, pour la connexion au contrôleur 44.The file F includes authentication data from the server 24, such as for example a private key, a public key and a certificate associated with the public key, for connection to the controller 44.

La fichier F mémorise également les informations d’identification associées aux utilisateurs pouvant accéder au service 23. Ces informations d’identification comportent de préférence des données d’authentification de chaque client et les droits d’accès associés à ce client.The F file also stores the identification information associated with the users who can access the service 23. This identification information preferably includes authentication data of each client and the access rights associated with this client.

L’agent serveur 42 mémorise un jeton J2 pour permettre une première connexion au contrôleur 44.The server agent 42 memorizes a J2 token to allow a first connection to the controller 44.

L’agent serveur 42 est composé de deux processus.Server agent 42 is made up of two processes.

Le premier processus 421 est un processus Tor. Il permet de générer les adresses « .onion » des services à dissimuler et de déclarer ces derniers auprès du système de gestion 45 du réseau Darknet 43 pour les rendre accessibles aux utilisateurs autorisés via le Darknet [A VERIFIER : il y a bien communication des adresses « .onion » au Darknet]. Pour ce faire, le premier processus 421 lit le fichier de configuration F détenant ces informations. Tout comme pour l’agent client 41, ce premier processus 421 exécute un mandataire local pour permettre d’accéder au réseau Darknet 43. Ce premier processus 421 est conforme au proxy local selon l’implémentation Tor.The first 421 process is a Tor process. It makes it possible to generate the “.onion” addresses of the services to be hidden and to declare them to the management system 45 of the Darknet network 43 to make them accessible to authorized users via the Darknet [TO CHECK: there is communication of the addresses “.onion” on the Darknet]. To do this, the first process 421 reads the configuration file F containing this information. Just as for the client agent 41, this first process 421 executes a local proxy to provide access to the Darknet network 43. This first process 421 conforms to the local proxy according to the Tor implementation.

Le second processus 422 est spécifique à la présente invention. Il permet à un administrateur 28 du système d’information 20 de dialoguer avec le premier processus 421 afin de configurer les services. Avantageusement, l’administrateur 28 accède au second processus 422 comme à un service caché du Darknet.The second process 422 is specific to the present invention. It allows an administrator 28 of the information system 20 to communicate with the first process 421 in order to configure the services. Advantageously, the administrator 28 accesses the second process 422 as a hidden Darknet service.

Le second processus 422 permet également d’établir et maintenir une connexion avec le contrôleur 44 pour recevoir des informations permettant de mettre à jour le fichier de configuration F.The second process 422 also makes it possible to establish and maintain a connection with the controller 44 to receive information allowing the configuration file F to be updated.

Contrôleur 44Controller 44

Le contrôleur 44 est une machine connectée à l’internet.Controller 44 is a machine connected to the internet.

Le contrôleur 44 comporte une base de données B. Celle-ci contient les informations permettant de mettre à jour les fichiers de configuration client et serveur. La base de données B référence par exemple les utilisateurs, les services et les droits d’accès de ces services par les utilisateurs.The controller 44 includes a database B. This contains the information allowing the client and server configuration files to be updated. Database B references, for example, users, services and access rights to these services by users.

Le contrôleur 44 agit comme un service caché par le réseau Darknet 43.The controller 44 acts as a service hidden by the Darknet network 43.

Le contrôleur 44 est avantageusement hébergé dans un système d’information différent du système d’information à sécuriser et géré par le fournisseur de cette solution de sécurisation.The controller 44 is advantageously hosted in an information system different from the information system to be secured and managed by the supplier of this security solution.

Alternativement, il est hébergé directement sur le système d’information de l’organisation qui souhaite utiliser la présente solution de sécurisation afin d’avoir un contrôle optimal de ses données.Alternatively, it is hosted directly on the information system of the organization that wishes to use this security solution in order to have optimal control of its data.

Avantageusement, il existe autant de contrôleurs que d’organisations dont on cherche à sécuriser le système d’information afin que les services de ces différentes organisations ne soient pas référencés au sein d’un même contrôleur. Ce partitionnement entre organisations permet d’accroître la sécurité.Advantageously, there are as many controllers as there are organizations whose information system we seek to secure so that the services of these different organizations are not referenced within the same controller. This partitioning between organizations helps increase security.

Le contrôleur 44 exécute un processus 441 et deux services du type application réseau 442 et 443. Ces deux applications agissent comme des services cachés par le réseau Darknet 43. Ils sont eux-mêmes renseignés au sein du contrôleur 44 et est administrable comme n’importe quel autre service caché.The controller 44 executes a process 441 and two services of the network application type 442 and 443. These two applications act as services hidden by the Darknet network 43. They are themselves informed within the controller 44 and can be administered as any what other hidden service.

Le processus 441 est un processus Tor, du type mandataire local. Le processus 441 permet de générer les deux adresses « .onion » des deux services 442 et 443 pour rendre ces services accessibles aux agents distants, clients des services du contrôleur, au travers du réseau Darknet 43.The 441 process is a Tor process, of the local proxy type. The process 441 makes it possible to generate the two “.onion” addresses of the two services 442 and 443 to make these services accessible to remote agents, clients of the controller services, through the Darknet 43 network.

La première application 442 écoute un premier port sur la boucle locale pour permettre aux agents de se connecter, s’authentifier et recevoir les informations qui les intéressent, comme par exemple, les adresses « .onion » des services ouverts à l’utilisateur pour l’agent client 41, ou les noms de domaine et/ou adresses IP pour l’agent client 41, ou encore les identités des utilisateurs autorisés pour l’agent serveur 42.The first application 442 listens to a first port on the local loop to allow agents to connect, authenticate and receive the information that interests them, such as for example, the “.onion” addresses of the services open to the user for client agent 41, or the domain names and/or IP addresses for the client agent 41, or the identities of the authorized users for the server agent 42.

De préférence, le contrôleur 44 est administrable au travers de la seconde application 443 qui est une application web accessible via un second port, distinct du premier port. L’administrateur 28 de l’infrastructure de sécurité connaît l’adresse « .onion » lui permettant d’accéder à la seconde application 443 du contrôleur 44 et de gérer les utilisateurs, les services et les droits d’accès associés, c’est-à-dire de mettre à jour le contenu de la base de données B.Preferably, the controller 44 can be administered through the second application 443 which is a web application accessible via a second port, distinct from the first port. The administrator 28 of the security infrastructure knows the “.onion” address allowing him to access the second application 443 of the controller 44 and to manage the users, services and associated access rights, this is i.e. to update the contents of database B.

Console d’administration 46.Administration console 46.

L’administrateur 28 accède au service d’information 20 et au contrôleur 44 au moyen d’une console 46. La console 46 est un client, similaire au client 10 présenté ci-dessus. Il exécute une application 12’ d’administration du système d’information 20 et du contrôleur 44 pouvant se connecter à travers le réseau Darknet 43 en exécutant un agent client 41’ (comportant un premier processus 411’ et un second processus 412’) en utilisant les informations regroupées dans un fichier de configuration T’.The administrator 28 accesses the information service 20 and the controller 44 by means of a console 46. The console 46 is a client, similar to the client 10 presented above. It executes an application 12' for administering the information system 20 and the controller 44 which can connect through the Darknet network 43 by executing a client agent 41' (comprising a first process 411' and a second process 412') in using the information grouped in a configuration file T'.

PROCEDESPROCESSES

Procédé de connexion à un service cachéMethod of connecting to a hidden service

En se référant à la , un procédé de connexion 100 est mis en œuvre pour établir une connexion (par exemple la connexion 101 de la ) entre une application d’un client enregistré, comme l’application 12 du client 10, et un service caché, comme le service 23 du serveur 24.Referring to the , a connection method 100 is implemented to establish a connection (for example connection 101 of the ) between an application of a registered client, such as application 12 of client 10, and a hidden service, such as service 23 of server 24.

Etape 110 : lorsqu'un utilisateur 1 cherche à utiliser un service caché 23, l’agent client 41 lit le fichier de configuration client T pour extraire l’adresse « .onion » du service auquel il veut accéder. Il établit une connexion avec un point de rendez-vous du Darknet, par exemple le nœud 61. Pour ce faire, l’agent client 41 choisit arbitrairement ce nœud parmi la liste des nœuds qui composent le réseau Darknet 43, cette liste étant publiquement disponible par exemple en interrogeant le système de gestion 45. L’agent client 41 établit ensuite une connexion avec le nœud de rendez-vous choisi. Dans la présente implémentation, cette connexion est avantageusement directe. C’est à dire qu’il n’existe aucun nœud relai du réseau Darknet 43 entre le client 10 et le point de rendez-vous choisi et ce pour permettre de casser l’anonymat du client 10.Step 110: when a user 1 seeks to use a hidden service 23, the client agent 41 reads the client configuration file T to extract the “.onion” address of the service to which he wishes to access. It establishes a connection with a Darknet meeting point, for example node 61. To do this, the client agent 41 arbitrarily chooses this node from the list of nodes which make up the Darknet network 43, this list being publicly available for example by querying the management system 45. The client agent 41 then establishes a connection with the chosen meeting node. In the present implementation, this connection is advantageously direct. That is to say that there is no relay node of the Darknet 43 network between client 10 and the chosen meeting point, to make it possible to break the anonymity of client 10.

Etape 120 : une fois la connexion au réseau Darknet établie, l’agent client 41 demande un accès au service 24 et déclare son point de rendez-vous auprès du système de gestion 45, qui se charge de communiquer à l’agent serveur 42 associé au service demandé, la demande de connexion de la part de l’agent client 41 et l’emplacement du point de rendez-vous choisi. Ce processus, spécifique à l’implémentation Tor n’est pas décrit plus en détails ici.Step 120: once the connection to the Darknet network has been established, the client agent 41 requests access to the service 24 and declares its meeting point to the management system 45, which is responsible for communicating to the associated server agent 42 to the requested service, the connection request from the customer agent 41 and the location of the chosen meeting point. This process, specific to the Tor implementation, is not described in more detail here.

Etape 130 : lors de la réception d’une demande de connexion au service 23, l’agent serveur 42 vérifie l’identité du client 10 en consultant le fichier de configuration serveur F.Step 130: upon receiving a connection request to the service 23, the server agent 42 verifies the identity of the client 10 by consulting the server configuration file F.

Etape 140 : après vérification positive de l’identité du client ayant initié une demande de connexion, l’agent serveur 42 initie une connexion TCP auprès d’un premier nœud du réseau Darknet, par exemple le nœud 52. Puis l'agent serveur 42 étend la connexion préalablement établie en indiquant au premier nœud relai 52 du circuit d’établir une connexion TCP vers un second nœud relai, choisi par le premier nœud relai, par exemple le nœud 71. Enfin, l’agent serveur 42 étend la connexion une fois de plus, jusqu’au point de rendez-vous 61. En variante, le circuit entre le système d’information 20 et le point de rendez-vous peut avoir un autre nombre de sauts (au moins deux pour masquer l’IP du serveur 24).Step 140: after positive verification of the identity of the client having initiated a connection request, the server agent 42 initiates a TCP connection to a first node of the Darknet network, for example node 52. Then the server agent 42 extends the previously established connection by indicating to the first relay node 52 of the circuit to establish a TCP connection to a second relay node, chosen by the first relay node, for example node 71. Finally, the server agent 42 extends the connection a time again, until the meeting point 61. Alternatively, the circuit between the information system 20 and the meeting point can have another number of hops (at least two to hide the IP of the server 24).

Etape 150 : les connexions de part et d’autre du point de rendez-vous sont associées par le point de rendez-vous pour permettre à l’agent client 41 et à l’agent serveur 42 d’établir un tunnel sécurisé, et de permettre à l’application 12 exécutée sur le client 10 et au service 23 exécutée par le serveur 24 de communiquer. Le client 10 ne connaît pas l’adresse IP effective du service 23, tandis que le service 23 connaît celle du client qui lui est transmise par le point de rendez-vous.Step 150: the connections on either side of the meeting point are associated by the meeting point to allow the client agent 41 and the server agent 42 to establish a secure tunnel, and to allow the application 12 executed on the client 10 and the service 23 executed by the server 24 to communicate. Client 10 does not know the effective IP address of service 23, while service 23 knows that of the client which is transmitted to it by the meeting point.

On constate que le service étant le dernier à établir la connexion, il choisit si oui, ou non, il doit procéder à l’établissement de la connexion jusqu’au point de rendez-vous en fonction de l’identité de l’utilisateur : c’est le principe d’indirection.We see that the service being the last to establish the connection, it chooses whether or not it must proceed to establish the connection to the meeting point based on the identity of the user: this is the principle of indirection.

Procédé deProcess of mise à jour des droits d’un utilisateur et communication de l’adresse d’un serviceupdating a user's rights and communicating the address of a service cachéhidden

En se référant à la , les étapes du procédé 200 sont avantageusement mises en œuvre pour renseigner les fichiers de configuration client T et serveur F.Referring to the , the steps of the method 200 are advantageously implemented to inform the client T and server F configuration files.

Dans une étape 210, l'administrateur 28 se connecte au contrôleur 44 des identités et des accès. Il ajoute à la base de données B un droit au client 10 de l’utilisateur 1 pour permettre l’accès au service caché 23. Pour ce faire, la console 46 en tant que client et le contrôleur 44 en tant que serveur d’un service caché réalisent les étapes du procédé de connexion 100 pour établir la liaison 401. Une fois cette connexion établie, la seconde application 443 permet à l’administrateur d’avoir la main sur la base de données B.In a step 210, the administrator 28 connects to the identity and access controller 44. It adds to the database B a right to the client 10 of the user 1 to allow access to the hidden service 23. To do this, the console 46 as a client and the controller 44 as a server of a hidden service carries out the steps of the connection process 100 to establish the connection 401. Once this connection has been established, the second application 443 allows the administrator to have control over the database B.

Dans une étape 220, le contrôleur 44 communique l’identité de l’utilisateur et ses droits à l’agent serveur 42. Cette étape est par exemple exécutée sur requête de l’agent serveur 42 lorsqu’il doit vérifier une demande de connexion (étape 130 du procédé 100). Ainsi, l’agent serveur 42 sait qu’il peut autoriser l’établissement d’une connexion jusqu’au point de rendez-vous pour répondre à une demande de connexion du client 10. La communication de cette information est réalisée au moyen d’une connexion 301 à travers le Darknet préalablement établie et maintenu entre l’agent serveur 42, en tant que client, et la première application 442, du contrôleur 44 (circuit 301 sur la ).In a step 220, the controller 44 communicates the identity of the user and his rights to the server agent 42. This step is for example executed at the request of the server agent 42 when it must verify a connection request ( step 130 of process 100). Thus, the server agent 42 knows that it can authorize the establishment of a connection to the meeting point to respond to a connection request from the client 10. The communication of this information is carried out by means of a connection 301 through the Darknet previously established and maintained between the server agent 42, as client, and the first application 442, of the controller 44 (circuit 301 on the ).

Dans une étape 230, le contrôleur 44 communique l’adresse « .onion » du service 23 à l’agent client 41. Cette communication est réalisée via un tunnel sécurisé préalablement établi et maintenu entre l’agent client 10 de l’utilisateur 1, en tant que client, et la première application 442 du contrôleur, en tant que service caché (circuit 201 de la ).In a step 230, the controller 44 communicates the “.onion” address of the service 23 to the client agent 41. This communication is carried out via a secure tunnel previously established and maintained between the client agent 10 of user 1, as a client, and the first application 442 of the controller, as a hidden service (circuit 201 of the ).

Une fois qu’il dispose de l’adresse « .onion » du service 23 cible, le client 10 peut alors établir un tunnel sécurisé jusqu’à ce service et l’agent serveur 42 peut vérifier l’identité du client et établir la connexion jusqu’au point de rendez-vous conformément au procédé 100.Once it has the “.onion” address of the target service 23, the client 10 can then establish a secure tunnel to this service and the server agent 42 can verify the identity of the client and establish the connection to the meeting point in accordance with method 100.

Procédé d’aProcess of uthentificationauthentication d’un clientfrom a customer auprèswith d’un agent serveurof a server agent

Afin de s’assurer que la seule connaissance d’une adresse « .onion » ne soit pas suffisante pour réaliser une connexion avec un service caché, on prévoit avantageusement la mise en œuvre des étapes du procédé 300 pour permettre l’authentification d’un client 10 par l’agent serveur 42 associé au service 23 (étape 130 du procédé 100).In order to ensure that the mere knowledge of a “.onion” address is not sufficient to make a connection with a hidden service, the implementation of the steps of the method 300 is advantageously provided to allow the authentication of a client 10 by the server agent 42 associated with the service 23 (step 130 of the method 100).

Ce procédé élémentaire 300 est illustré par la .This elementary process 300 is illustrated by the .

Dans une étape 310, l’agent serveur 42 rend disponible le service 23 sur le Darknet 43, en générant une adresse « .onion » pour le service 23, et enregistre le service 23 auprès du système 45 du réseau Darknet 43. Cette fonctionnalité est native à l’implémentation Tor selon la version en vigueur et n’est pas modifiée ici.In a step 310, the server agent 42 makes the service 23 available on the Darknet 43, by generating an “.onion” address for the service 23, and registers the service 23 with the system 45 of the Darknet 43 network. This functionality is native to the Tor implementation according to the current version and is not modified here.

Dans une étape 320, l’agent serveur 42 établit et maintient une connexion 301 à travers le réseau Darknet 43 avec la première application 442 du contrôleur 44 des accès et identités.In a step 320, the server agent 42 establishes and maintains a connection 301 through the Darknet network 43 with the first application 442 of the access and identity controller 44.

Dans l’étape 330, l’agent serveur 42 communique également au contrôleur 44 l’adresse « .onion » qu’il a générée pour le service 23.In step 330, the server agent 42 also communicates to the controller 44 the “.onion” address that it generated for the service 23.

Dans l’étape 340, le contrôleur 44 communique à l’agent serveur 42 l’ensemble des identités des utilisateurs ayant le droit d’établir une connexion avec le service 23 (ceci correspond à l’étape 220 du procédé de la ). A chaque modification de droit dans la base de données B, le contrôleur 44 avertit l’agent serveur 42.In step 340, the controller 44 communicates to the server agent 42 all the identities of the users having the right to establish a connection with the service 23 (this corresponds to step 220 of the method of the ). At each modification of rights in the database B, the controller 44 notifies the server agent 42.

Dans une étape 350, lors d’une tentative de connexion de la part de l’agent client 41, l’agent serveur 42 vérifie que le client 10 détient effectivement le droit de se connecter. Si oui, il établit une connexion vers le point de rendez-vous choisi par ce dernier, en suivant le principe d’indirection (étape 140 du procédé de la ).In a step 350, during a connection attempt by the client agent 41, the server agent 42 verifies that the client 10 actually has the right to connect. If yes, it establishes a connection to the meeting point chosen by the latter, following the principle of indirection (step 140 of the method of the ).

Il est à souligner que l’étape 330 permet de centraliser les adresses « .onion » des services d’une organisation donnée au sein de la base de données B mémorisée par le contrôleur 44. Le contrôleur 44 référence ainsi les utilisateurs de l’organisation, les services et les droits d’accès. Cela permet au contrôleur 44 d’indiquer aux clients les adresses « .onion » des services accessibles, comme cela est décrit en référence à la . Au contraire, dans l’implémentation Tor selon la version en vigueur, les adresses « .onion » sont considérées comme des informations hors du cadre du standard, qu’il est de la responsabilité des administrateurs de services de communiquer à leurs utilisateurs.It should be noted that step 330 makes it possible to centralize the “.onion” addresses of the services of a given organization within the database B stored by the controller 44. The controller 44 thus references the users of the organization , services and access rights. This allows the controller 44 to indicate to clients the “.onion” addresses of the accessible services, as described with reference to the . On the contrary, in the Tor implementation according to the current version, “.onion” addresses are considered information outside the scope of the standard, which it is the responsibility of service administrators to communicate to their users.

Première connexion par jetonFirst token login

Etant donné que les agents client 41 et serveur 43 ont besoin de connaître l’adresse « .onion » de la première application 442 du contrôleur 44, ils doivent détenir certaines informations de configuration initiale, comme un certificat, une clé et l’adresse « .onion » du contrôleur 44.Since the client 41 and server 43 agents need to know the “.onion” address of the first application 442 of the controller 44, they must have certain initial configuration information, such as a certificate, a key and the “.onion” address. .onion” of controller 44.

Afin de faciliter le dépôt de ces informations de configuration initiale sur la machine sur laquelle l’agent est exécuté, l’agent peut avantageusement récupérer ces informations directement auprès du contrôleur 44 en mettant en œuvre les étapes du procédé 400 de la .In order to facilitate the deposit of this initial configuration information on the machine on which the agent is executed, the agent can advantageously retrieve this information directly from the controller 44 by implementing the steps of the method 400 of the .

Dans une étape 410, l’utilisateur (respectivement l’administrateur du service à cacher) reçoit un jeton d’initialisation. Celui-ci est par exemple composé de l’adresse « .onion »du contrôleur 44 et d’un identifiant unique. Ce couple d’informations est par exemple généré par le contrôleur 44 sur demande de l’administrateur 28. Ce couple d’informations est communiqué à l’utilisateur 1 (ou à l’administrateur du service à cacher) par un moyen de communication annexe avec le niveau de sécurité adapté, par exemple par la transmission d’un courrier électronique crypté comportant le jeton.In a step 410, the user (respectively the administrator of the service to be hidden) receives an initialization token. This is for example composed of the “.onion” address of controller 44 and a unique identifier. This pair of information is for example generated by the controller 44 at the request of the administrator 28. This pair of information is communicated to the user 1 (or to the administrator of the service to be hidden) by an additional means of communication with the appropriate level of security, for example by transmitting an encrypted email containing the token.

Dans une étape 420, au moyen de ce jeton, l’agent client 41 (respectivement l’agent serveur 42) se connecte au contrôleur 44. Il lit l’adresse « .onion » du contrôleur 4 indiquée par le jeton, se connecte au contrôleur 44 et transmet au contrôleur 44 l’identifiant unique indiqué par le jeton.In a step 420, by means of this token, the client agent 41 (respectively the server agent 42) connects to the controller 44. It reads the “.onion” address of the controller 4 indicated by the token, connects to the controller 44 and transmits to controller 44 the unique identifier indicated by the token.

En retour, dans une étape 430, le contrôleur 44 génère un certificat et une clé et transmet ces données d’authentification à l’agent client (ou à l’agent serveur). Le jeton est alors « consommé » (invalidé) par le contrôleur 44. Un jeton n’est valide que pendant une durée limitée et n’est utilisable qu’une seule fois pour garantir la sécurité.In return, in a step 430, the controller 44 generates a certificate and a key and transmits this authentication data to the client agent (or the server agent). The token is then “consumed” (invalidated) by the controller 44. A token is only valid for a limited time and can only be used once to guarantee security.

Par la suite, dans une étape 440, grâce à ces informations de configuration, qui sont mémorisées dans le fichier T (respectivement dans le fichier F), l’agent client 41 (respectivement l’agent serveur 42) a la possibilité d’établir une nouvelle connexion avec le contrôleur 44 et de s’authentifier auprès du contrôleur 44 en utilisant les informations du fichier T (respectivement dans le fichier F). De préférence, un agent maintient cette connexion avec le contrôleur.Subsequently, in a step 440, thanks to this configuration information, which is stored in the file T (respectively in the file F), the client agent 41 (respectively the server agent 42) has the possibility of establishing a new connection with the controller 44 and to authenticate with the controller 44 using the information from the file T (respectively in the file F). Preferably, an agent maintains this connection with the controller.

Dans une étape 450, l’agent client 41 récupère des informations de configuration générales comme les adresses « .onion » des services cachés qui lui sont ouverts. Il stocke ces informations dans le fichier T. L’agent serveur 42 récupère les informations de configuration générales comme l’identification de chaque utilisateurs. Il stocke ces informations dans le fichier F.In a step 450, the client agent 41 retrieves general configuration information such as the “.onion” addresses of the hidden services open to it. It stores this information in the T file. The server agent 42 retrieves general configuration information such as the identification of each user. It stores this information in the F file.

Enfin, dans une étape 460, le client 10 accède au service caché désiré en utilisant son adresse « .onion », en négociant un point de rendez-vous avec le réseau Darknet, puis en établissant une connexion avec le service caché via le processus usuel de l’implémentation Tor (mise en œuvre du procédé 100).Finally, in a step 460, the client 10 accesses the desired hidden service using its “.onion” address, by negotiating a meeting point with the Darknet network, then by establishing a connection with the hidden service via the usual process. of the Tor implementation (implementation of method 100).

Avec le procédé 400, les agents client et serveur connaissent l’adresse « .onion » du contrôleur 44.With method 400, the client and server agents know the “.onion” address of the controller 44.

À tout moment, dès qu’une modification est réalisée sur des droits d’accès dans la base de données B, le contrôleur 44 indique cette modification aux clients concernés : une nouvelle adresse « .onion » est disponible, qu’une adresse « .onion » doit être invalidée, un utilisateur a droit d’accéder à tout ou partie d’un service caché ou au contraire n’a plus le droit d’accéder à tout ou partie d’un service caché.At any time, as soon as a modification is made to access rights in the database B, the controller 44 indicates this modification to the clients concerned: a new “.onion” address is available, a “.onion” address is available. onion” must be invalidated, a user has the right to access all or part of a hidden service or, on the contrary, no longer has the right to access all or part of a hidden service.

AVANTAGESBENEFITS

L’invention porte donc sur une infrastructure fondée sur un réseau Darknet privé permettant de supprimer l’exposition des services sur internet.The invention therefore relates to an infrastructure based on a private Darknet network making it possible to remove the exposure of services on the internet.

L’implémentation Tor d’une infrastructure Darknet est modifiée, notamment pour supprimer l’anonymat des utilisateurs, tout en gardant celui des services cachés. Elle est également modifiée pour Rendre le réseau darknet privé, c’est-à-dire empêcher d’autres acteurs que l’administrateur d’y ajouter des machines.The Tor implementation of a Darknet infrastructure is modified, in particular to remove the anonymity of users, while keeping that of hidden services. It is also modified to Make the darknet network private, that is to say, prevent actors other than the administrator from adding machines to it.

Les agents client permettent avantageusement aux utilisateurs d’accéder aux services cachés comme s’ils accédaient à des services exposés sur internet.Customer agents advantageously allow users to access hidden services as if they were accessing services exposed on the internet.

L’infrastructure proposée présente les propriétés suivantes :The proposed infrastructure has the following properties:

- Il est techniquement impossible pour quiconque ayant accès à une partie ou à l’intégralité des machines de l’infrastructure d’établir une connexion avec les services cachés sans détenir les droits sur ces machines spécifiés dans la base de données de management de l’organisation.- It is technically impossible for anyone with access to part or all of the machines in the infrastructure to establish a connection with the hidden services without holding the rights to these machines specified in the management database. organization.

- Il est impossible de déterminer les adresses IP publiques des services cachés.- It is impossible to determine the public IP addresses of hidden services.

- La console d’administration n’est plus exposée sur l’Internet et utilise elle-même l’infrastructure pour se dissimuler.- The administration console is no longer exposed on the Internet and uses the infrastructure itself to hide itself.

Ces propriétés font que l’infrastructure est une infrastructure respectant le modèle ZTNA.These properties mean that the infrastructure is an infrastructure respecting the ZTNA model.

Claims (10)

Infrastructure de sécurité destinée à être déployée dans une architecture s’appuyant sur l’internet et comportant un client (10) connecté à l’internet (30) d’un côté et un serveur (24) d’un système d’information (20) connecté à l’internet d’un autre côté, le système d’information (20) mettant à disposition un service (23),
caractérisée en ce que l’infrastructure de sécurité est une infrastructure Darknet comportant :
- un réseau Darknet (43) en superposition de l’internet (30) pour cacher le service (23) ;
- un agent client (41) exécuté par le client (10) pour accéder au service (23) à travers le réseau Darknet (43), l’agent client mémorisant un fichier de configuration client (T) ;
- un agent serveur (42) exécuté sur le serveur (24) du système d’information (20) pour permettre un accès au service (23) à travers le réseau Darknet (43), l’agent serveur mémorisant un fichier de configuration serveur (F) ; et,
- un contrôleur (44), comportant une base de données (B) stockant des informations de configuration, le contrôleur étant accessible à travers le réseau Darknet (43) par l’agent client (41), respectivement par l’agent serveur (42), pour recevoir des informations de configuration client, respectivement serveur, permettant la mise à jour du fichier de configuration client, respectivement serveur,
les informations de configuration client comportant au moins un adresse sur le réseau Darknet permettant au client d’accéder au service (23) lorsque le client a effectivement le droit d’accéder au service, et les informations de configuration serveur comportant au moins des informations d’identification permettant au client de s’identifier auprès du serveur pour pouvoir accéder au service (23).
Security infrastructure intended to be deployed in an architecture based on the Internet and comprising a client (10) connected to the Internet (30) on one side and a server (24) of an information system ( 20) connected to the Internet on the other hand, the information system (20) providing a service (23),
characterized in that the security infrastructure is a Darknet infrastructure comprising:
- a Darknet network (43) overlaying the Internet (30) to hide the service (23);
- a client agent (41) executed by the client (10) to access the service (23) through the Darknet network (43), the client agent storing a client configuration file (T);
- a server agent (42) executed on the server (24) of the information system (20) to allow access to the service (23) through the Darknet network (43), the server agent storing a server configuration file (F); And,
- a controller (44), comprising a database (B) storing configuration information, the controller being accessible through the Darknet network (43) by the client agent (41), respectively by the server agent (42 ), to receive client or server configuration information, allowing the client or server configuration file to be updated,
the client configuration information comprising at least one address on the Darknet network allowing the client to access the service (23) when the client actually has the right to access the service, and the server configuration information comprising at least information identification allowing the client to identify himself to the server in order to access the service (23).
Infrastructure selon la revendication 1, dans laquelle un agent parmi l’agent client et l’agent serveur mémorise un jeton (J1, J2) permettant une première connexion, via le réseau Darknet (23), au contrôleur (44) afin de recevoir en retour des données d’authentification, l’agent établissant ensuite une connexion avec le contrôleur en utilisant les données d’authentification.Infrastructure according to claim 1, in which an agent among the client agent and the server agent memorizes a token (J1, J2) allowing a first connection, via the Darknet network (23), to the controller (44) in order to receive in returning the authentication data, the agent then establishing a connection with the controller using the authentication data. Infrastructure selon l’une quelconque des revendications 1 à 2, comportant une console d’administration (46) du contrôleur (44) et avantageusement de l’agent serveur (42), la console d’administration exécutant un agent pour accéder au contrôleur et avantageusement à l’agent serveur à travers le réseau Darknet (43).Infrastructure according to any one of claims 1 to 2, comprising an administration console (46) of the controller (44) and advantageously of the server agent (42), the administration console running an agent to access the controller and advantageously to the server agent through the Darknet network (43). Infrastructure selon l’une quelconque des revendications précédentes, fondée sur une implémentation Tor de l’infrastructure Darknet.Infrastructure according to any of the preceding claims, based on a Tor implementation of the Darknet infrastructure. Infrastructure selon l’une quelconque des revendications précédentes, dans laquelle le réseau Darknet est un réseau privé.Infrastructure according to any one of the preceding claims, wherein the Darknet network is a private network. Procédé de connexion à un service caché mis en œuvre dans une infrastructure de sécurité selon l’une quelconque des revendications 1 à 5, consistant à :
- renseigner (230) un fichier de configuration client (T) de l’agent client et renseigner (220) un fichier de configuration serveur (F) de l’agent serveur par connexion au contrôleur (44), le fichier de configuration client comportant au moins une adresse sur le réseau Darknet du service (23), et le fichier de configuration serveur comportant au moins une information d’identification permettant au client de s’identifier auprès du serveur pour pouvoir accéder au service (23) ;
- rendre par l’agent serveur (42) le service disponible sur le réseau Darknet (43) ;
- établir (110) par l’agent client (41) une connexion avec un nœud dit « point de rendez-vous » du réseau Darknet (43), en utilisant les informations contenues dans le fichier de configuration client ;
- demander (120) par l’agent client (41) un accès au service (23) auprès du réseau Darknet (43) en déclarant l’identifiant du nœud « point de rendez-vous » ;
- vérifier (130) par l’agent serveur (42) d’identité du client (10) sur lequel est exécuté l’agent client (41) en utilisant les informations d’identification contenues dans le fichier de configuration serveur ; et, en cas de vérification positive,
- établir (140) par l’agent serveur (42) une connexion avec le nœud « point de rendez-vous » du réseau Darknet (43) ;
- associer (150) les connexions de part et d’autre du nœud « point de rendez-vous » pour établir une communication (101) entre le client et le serveur.
Method of connection to a hidden service implemented in a security infrastructure according to any one of claims 1 to 5, consisting of:
- enter (230) a client configuration file (T) of the client agent and enter (220) a server configuration file (F) of the server agent by connection to the controller (44), the client configuration file comprising at least one address on the Darknet network of the service (23), and the server configuration file comprising at least one identification information allowing the client to identify itself to the server in order to access the service (23);
- make the service available on the Darknet network (43) by the server agent (42);
- establish (110) by the client agent (41) a connection with a so-called “meeting point” node of the Darknet network (43), using the information contained in the client configuration file;
- request (120) by the client agent (41) access to the service (23) from the Darknet network (43) by declaring the identifier of the “meeting point” node;
- verify (130) by the server agent (42) the identity of the client (10) on which the client agent (41) is executed using the identification information contained in the server configuration file; and, in the event of a positive verification,
- establish (140) by the server agent (42) a connection with the “meeting point” node of the Darknet network (43);
- associate (150) the connections on either side of the “meeting point” node to establish communication (101) between the client and the server.
Procédé selon la revendication 6, dans lequel, le procédé consiste en outre à :
- établir (320) par l’agent serveur (42) une connexion avec le contrôleur (44) ;
- communiquer (330) par l’agent serveur (42) au contrôleur (44) l’adresse sur le réseau Darknet du service (23), ladite adresse ayant été générée par l’agent serveur ;
- établir par l’agent client (41) une connexion avec le contrôleur (44) ;
- communiquer par le contrôleur à l’agent client l’adresse sur le réseau Darknet du service (23) pour renseigner le fichier de configuration client.
A method according to claim 6, wherein the method further comprises:
- establish (320) by the server agent (42) a connection with the controller (44);
- communicate (330) by the server agent (42) to the controller (44) the address on the Darknet network of the service (23), said address having been generated by the server agent;
- establish by the client agent (41) a connection with the controller (44);
- communicate by the controller to the client agent the address on the Darknet network of the service (23) to fill in the client configuration file.
Procédé selon la revendication 6 ou la revendication 7, dans lequel le procédé consiste en outre à :
- établir (320) par l’agent serveur (42) une connexion avec le contrôleur (44) ;
- communiquer (340) par le contrôleur à l’agent serveur les droits des utilisateurs sur le service (23) pour renseigner le fichier de configuration serveur.
A method according to claim 6 or claim 7, wherein the method further comprises:
- establish (320) by the server agent (42) a connection with the controller (44);
- communicate (340) by the controller to the server agent the rights of the users on the service (23) to inform the server configuration file.
Procédé selon l’une quelconque des revendications 6 à 8, dans lequel, pour établir par un agent parmi l’agent client et l’agent serveur une connexion avec le contrôleur (44), le procédé consiste, en outre, à :
- recevoir (410) par l’agent un jeton de connexion indiquant une adresse sur le réseau Darknet du contrôleur et un identifiant ;
- établir (420) par l’agent une connexion au contrôleur en utilisant l’adresse sur le réseau Darknet du contrôleur indiquée dans le jeton et s’identifier par l’agent auprès du contrôleur en utilisant l’identifiant indiqué dans le jeton ;
- fournir (430) en réponse par le contrôleur à l’agent des données d’authentification ; et
- établir (440) par l’agent une connexion au contrôleur en utilisant les données d’authentification.
Method according to any one of claims 6 to 8, in which, to establish by an agent among the client agent and the server agent a connection with the controller (44), the method further consists of:
- receive (410) by the agent a connection token indicating an address on the Darknet network of the controller and an identifier;
- establish (420) by the agent a connection to the controller using the address on the Darknet network of the controller indicated in the token and identify itself by the agent to the controller using the identifier indicated in the token;
- provide (430) in response by the controller to the agent authentication data; And
- establish (440) by the agent a connection to the controller using the authentication data.
Produit programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un client (10), un serveur (24) et un contrôleur (44) d’une infrastructure selon l’une quelconque des revendications 1 à 5, mettent en œuvre un procédé selon l’une quelconque des revendications 6 à 9.Computer program product comprising software instructions which, when executed by a client (10), a server (24) and a controller (44) of an infrastructure according to any one of claims 1 to 5, implement implementing a method according to any one of claims 6 to 9.
FR2205225A 2022-05-31 2022-05-31 Security infrastructure; process and associated computer program product. Pending FR3136075A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2205225A FR3136075A1 (en) 2022-05-31 2022-05-31 Security infrastructure; process and associated computer program product.
PCT/EP2023/064581 WO2023232888A1 (en) 2022-05-31 2023-05-31 Security infrastructure and associated method and computer program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2205225 2022-05-31
FR2205225A FR3136075A1 (en) 2022-05-31 2022-05-31 Security infrastructure; process and associated computer program product.

Publications (1)

Publication Number Publication Date
FR3136075A1 true FR3136075A1 (en) 2023-12-01

Family

ID=83505710

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2205225A Pending FR3136075A1 (en) 2022-05-31 2022-05-31 Security infrastructure; process and associated computer program product.

Country Status (2)

Country Link
FR (1) FR3136075A1 (en)
WO (1) WO2023232888A1 (en)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GARETH OWEN ET AL: "Empirical analysis of Tor Hidden Services", IET INFORMATION SECURITY, THE INSTITUTION OF ENGINEERING AND TECHNOLOGY, MICHAEL FARADAY HOUSE, SIX HILLS WAY, STEVENAGE, HERTS. SG1 2AY, UK, vol. 10, no. 3, 1 May 2016 (2016-05-01), pages 113 - 118, XP006105557, ISSN: 1751-8709, DOI: 10.1049/IET-IFS.2015.0121 *
LOESING KARSTEN: "Privacy-enhancing technologies for private services", 24 April 2009 (2009-04-24), XP093012720, Retrieved from the Internet <URL:https://www.freehaven.net/anonbib/cache/loesing2009thesis.pdf> [retrieved on 20230110] *
NURMI JUHA ET AL: "Observing Hidden Service Directory Spying with a Private Hidden Service Honeynet", 2016 11TH ASIA JOINT CONFERENCE ON INFORMATION SECURITY (ASIAJCIS), IEEE, 4 August 2016 (2016-08-04), pages 55 - 59, XP033023342, DOI: 10.1109/ASIAJCIS.2016.31 *
PENGPENG WANG ET AL: "Simulation of Dark Network Scene Based on the Big Data Environment", INFORMATION TECHNOLOGY AND ELECTRICAL ENGINEERING 2018, ACM, 2 PENN PLAZA, SUITE 701NEW YORKNY10121-0701USA, 7 December 2018 (2018-12-07), pages 1 - 6, XP058427872, ISBN: 978-1-4503-6352-5, DOI: 10.1145/3148453.3306250 *

Also Published As

Publication number Publication date
WO2023232888A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
EP1733533B1 (en) System and method for user authorization access management at the local administrative domain during the connection of a user to an ip network
EP2819052B1 (en) Method and server for processing a request for a terminal to access a computer resource
US20160337484A1 (en) Systems and methods for protecting communications
EP3857848B1 (en) Method for allocating an identifier to a client node, method for recording an identifier, corresponding device, client node, server and computer programs
Kantola Trust networking for beyond 5G and 6G
FR3072238A1 (en) DEVICE AND METHOD FOR DATA TRANSMISSION
EP4066461B1 (en) Method, device and system for coordinating the mitigation of network attacks
EP3811587A1 (en) Method for editing messages by a device on a communication path established between two nodes
CN106411893A (en) Hypertext transfer protocol secure (HTTPS) service deployment method
WO2019211548A1 (en) Method for sending an information item and for receiving an information item for the reputation management of an ip resource
FR3136075A1 (en) Security infrastructure; process and associated computer program product.
CH718976A2 (en) Management of corporate firewalls and network isolation.
FR3028369A1 (en) METHOD AND SYSTEM FOR MANAGING USER IDENTITY TO BE IMPLEMENTED DURING COMMUNICATION BETWEEN TWO WEB BROWSERS
EP3815335A1 (en) Methods for verifying the validity of an ip resource, and associated access control server, validation server, client node, relay node and computer program
EP3857849A1 (en) Methods for protecting a client domain, corresponding client node, server and computer programs
EP3149902B1 (en) Technique for obtaining a policy for routing requests emitted by a software module running on a client device
WO2019102077A1 (en) Process, device and method for establishing a socksified, secured, segregated, anonymised communication in an ip (internet protocol) network, between different analog islands, transmitted via a socks proxy network and routed on the basis of the &#34;domain name space&#34; / fqdn (fully qualified domain name )
WO2023083769A1 (en) Method for processing at least one data packet, and associated device and system.
Wei et al. Foggy: a new anonymous communication architecture based on microservices
Rafiee et al. Towards Privacy Awareness in Future Internet Technologies
FR3145253A1 (en) Method for revoking a certification token making it possible to authenticate the establishment of a connection between two corresponding communications equipment, devices and computer programs
WO2023117802A1 (en) Methods for identifying at least one server for mitigating and protecting a client domain against a computer attack, corresponding devices and signal
EP4066460A1 (en) Assistance method for managing a cyber attack, and device and system thereof
Müller Past, Present and Future of Tor Hidden Services
FR3137238A1 (en) Method for suspending a certification token making it possible to authenticate the establishment of a connection between two corresponding communications equipment, devices and computer programs

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231201

PLFP Fee payment

Year of fee payment: 3