Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR SECURE TRANSFER AND IDENTIFIED AND TRACEABLE USE OF PROPRIETARY COMPUTER FILES
Document Type and Number:
WIPO Patent Application WO/2018/087493
Kind Code:
A1
Abstract:
The invention relates to a system and method for secure transfer and identified and traceable use of computer files between a machine hosting proprietary computer files, known as a file host (6), and a machine requesting the receipt and use of at least one of said proprietary computer files, known as a file client (7), said machines being connected to a network, said private machine network (5) comprising at least one central server (8) and a database formed of a chain of ordered blocks, known as a blockchain (9), distributed on the private network (5) and associated with a write-read protocol and cryptographic validation of transactions performed on the private network, said file host (6) and said file client (7) being further connected to each other by a secure transmission channel dedicated to the transfer of proprietary computer files.

Inventors:
MITUCA VASILE ANDREI (DE)
GUERIN ALEXANDRE (FR)
JEOL ANTOINE (FR)
Application Number:
PCT/FR2017/053082
Publication Date:
May 17, 2018
Filing Date:
November 13, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
3DTRUST (FR)
International Classes:
H04L29/06
Foreign References:
US20160180061A12016-06-23
EP2701090A12014-02-26
EP2757736A12014-07-23
Attorney, Agent or Firm:
BRINGER IP (FR)
Download PDF:
Claims:
REVENDICATIONS

\. Procédé de transfert sécurisé et d'utilisation identifiée de fichiers informatiques entre au moins une machine hébergeant des fichiers informatiques propriétaires, dite hébergeur (6 ; 16 ; 3) de fichiers, et au moins une machine sollicitant la réception et l'utilisation d'au moins un desdits fichiers informatiques propriétaires, dite client (7 ; 17, 17' ; 2) de fichiers, lesdites machines étant reliées à un réseau de machines, dit réseau (5) privé, et comprenant au moins un serveur central (8 ; 18) et une base de données formée d'une chaîne de blocs ordonnés, dite blockchain (9), distribuée sur le réseau (5) privé et associée à un protocole d'écriture/lecture et de validation crypto graphique de transactions effectuées sur le réseau privé, lesdites machines étant en outre reliées les unes aux autres par un canal (10 ; 42) de transmission sécurisé, ledit procédé comprenant au moins les étapes suivantes :

un client (7 ; 17, 17' ; 2) de fichiers requiert le transfert d'un fichier propriétaire par une écriture d'une transaction correspondante dans ladite blockchain (9),

ledit serveur central (8 ; 18) détermine la validité de la requête et informe, en cas de requête valide, ledit hébergeur (6 ; 16 ; 3) de fichiers hébergeant ledit fichier requis par ledit client (7 ; 17, 17' ; 2) de fichiers,

ledit hébergeur (6 ; 16 ; 3) de fichiers fournit audit client de fichiers une clé représentative de l'adresse du fichier requis par une opération d'écriture d'une transaction correspondante dans ladite blockchain (9),

ledit client (7 ; 17, 17' ; 2) de fichiers récupère ledit fichier propriétaire à ladite adresse du fichier requis auprès de l'hébergeur (6 ; 16 ; 3) de fichiers par le biais dudit canal (10 ; 42) de transmission sécurisé,

ledit client (7 ; 17, 17' ; 2) de fichiers notifie l'utilisation du fichier propriétaire récupéré par l'écriture d'une transaction correspondante dans ladite blockchain (9), et utilise ledit fichier propriétaire avec une application dédiée.

2. Procédé selon la revendication 1, caractérisé en ce que ledit protocole d'écriture/lecture et de validation crypto graphique de transactions met en œuvre au moins un module, dit module mineur (11), configuré pour pouvoir valider les transactions d'écriture/lecture dans ladite blockchain (9).

3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que ledit protocole d'écriture/lecture et de validation crypto graphique de transactions effectuées sur ledit réseau (5) privé de ladite blockchain (9) est le protocole Ethereum® mettant en œuvre des entités programmables, dits contrats intelligents, associés chacun à une structure de données et à des méthodes de modification de ces données, de sorte qu'une écriture d'une transaction dans ladite blockchain (9) est une modification d'au moins une desdites données associées à un contrat intelligent obtenue par une exécution d'une desdites méthodes associées à un contrat intelligent.

4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que ladite blockchain (9) est initialisée en fournissant dans un premier bloc, dit bloc genesis, une liste prédéterminée d'identifiants, chaque identifiant, dit adresse, étant déterminé à partir d'une clé numérique privée et destiné à désigner une machine du réseau.

5. Procédé selon la revendication 4, caractérisé en ce que chaque clé numérique privée associée à une adresse enregistrée dans ledit bloc genesis est obtenue à partir d'une même clé racine prédéterminée et d'une fonction de dérivation prédéterminée.

6. Procédé selon l'une des revendications 4 ou 5, caractérisé en ce que chaque adresse est associée à un montant aléatoire supérieur à un seuil prédéterminé de crypto monnaie pour permettre à chaque machine d'effectuer des transactions sur ladite blockchain.

7. Procédé selon l'une des revendications 4 à 6, caractérisé en ce qu'au moins un module mineur (11) de validation crypto graphique des transactions dans ladite blockchain (9) est hébergé par ledit serveur central (8 ; 18).

8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que ledit hébergeur (6 ; 16 ; 3) de fichiers et ledit serveur central (8 ; 18) sont une seule et même machine.

9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que ledit canal (10 ; 42) de transmission sécurisé met en œuvre un protocole de sécurisation des échanges de données permettant une authentification de chaque machine émettrice et réceptrice de données.

10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que lesdits fichiers informatiques propriétaires sont des fichiers d'impression destinés à des imprimantes additives.

11. Procédé selon la revendication 10, caractérisé en ce que ledit client de fichiers qui utilise un fichier d'impression récupéré avec une imprimante additive et qui le notifie par l'écriture d'une transaction correspondante dans ladite blockchain (9) y inclut un numéro de série associé audit produit fabriqué à partir dudit fichier d'impression.

12. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que lesdits fichiers informatiques propriétaires sont des fichiers d'installation ou de mise à jour de logiciels propriétaires.

13. Système de transfert sécurisé et d'utilisation identifiée de fichiers informatiques entre au moins une machine hébergeant lesdits fichiers informatiques propriétaires, dite hébergeur (6 ; 16 ; 3) de fichiers, et au moins une machine sollicitant la réception et l'utilisation d'au moins un desdits fichiers informatiques propriétaires, dite client (7 ; 17, 17' ; 2) de fichiers, ledit système comprenant :

un réseau de machines, dit réseau (5) privé, comprenant chaque hébergeur (6 ; 16 ; 3) de fichiers, chaque client (7 ; 17, 17' ; 2) de fichiers, et ledit serveur central (8 ; 18),

une base de données formée d'une chaîne de blocs ordonnés, dite blockchain (9), distribuée sur le réseau privé et associée à un protocole d'écriture/lecture et de validation crypto graphique de transactions effectuées sur ledit réseau (5) privé,

un canal (10 ; 42) de transmission sécurisé reliant lesdites machines entre elles,

un module blockchain (19) hébergé par chaque machine du réseau privé et configuré pour pouvoir lire/écrire des transactions dans ladite blockchain (9) de manière à pouvoir interagir avec les autres machines par le biais de la blockchain (9) pour autoriser le transfert des fichiers propriétaires de l'hébergeur (8 ; 18 ; 3) de fichiers vers le client (7 ; 17, 17' ; 2) de fichiers si des conditions prédéterminées de transfert sont remplies et pour suivre l'utilisation faite par ledit client (7 ; 17, 17' ; 2) de fichiers des fichiers propriétaires transférés,

un module applicatif (12) hébergé par chaque machine du réseau privé et configuré pour pouvoir assurer le transfert des fichiers propriétaires de l'hébergeur (8 ; 18 ; 3) de fichiers vers le client (7 ;

17, 17' ; 2) de fichiers par le biais du canal (10 ; 42) de transmission sécurisé si lesdites conditions prédéterminées de transfert sont enregistrées et validées dans ladite blockchain (9). 14. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de transfert sécurisé et d'utilisation identifiée de fichiers informatiques, selon l'une des revendications 1 à 12, lorsque le programme est exécuté sur un ordinateur.

15. Moyen de stockage lisible par ordinateur, totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en œuvre le procédé de transfert sécurisé et d'utilisation identifiée de fichiers informatiques, selon l'une des revendications 1 à 12.

Description:
SYSTÈME ET PROCÉDÉ DE TRANSFERT SÉCURISÉ ET D'UTILISATION IDENTIFIÉE ET TRAÇABLE DE FICHIERS

INFORMATIQUES PROPRIÉTAIRES

1. Domaine technique de l'invention

Le domaine technique de l'invention est celui des systèmes et procédés de sécurisation des échanges de données entre deux machines. L'invention concerne plus particulièrement un système et un procédé de transfert sécurisé et d'utilisation traçable de fichiers informatiques propriétaires. 2. Arrière-plan technologique

Dans tout le texte, un fichier informatique propriétaire désigne un ensemble de codes numériques adapté pour pouvoir être directement ou indirectement interprété par une machine, tel qu'un ordinateur, une machine à commande numérique, une machine de fabrication additive, et d'une manière générale toute machine équipée d'un microprocesseur. Le fichier informatique est dit propriétaire dès lors que le créateur du fichier ou son ayant droit entend contrôler l'accès et l'utilisation du fichier. Un tel fichier informatique propriétaire est par exemple un logiciel destiné à être installé et exécuté sur un ordinateur, un fichier d'impression destiné à une machine de fabrication additive, telle qu'une imprimante 3D, un fichier image, un fichier vidéo, un fichier textuel, etc.

Aujourd'hui, la plupart des opérations de transfert de fichiers informatiques entre deux parties se fait de manière directe par exemple par un envoi d'un email d'une partie à l'autre, ou par une mise à disposition du fichier sur un serveur FTP ou tout moyen équivalent. Afin de sécuriser le transfert d'un fichier informatique, ce dernier est crypté avec une clé qui est connue de chaque partie pour pouvoir chiffrer et déchiffrer le fichier. Ce procédé simple confère au fichier une protection contre un accès frauduleux par un tiers et dont le niveau de sécurité est étroitement lié au type de clé utilisée et à son mode de sauvegarde. En revanche, ce procédé simple ne permet pas de tracer l'utilisation qui est faite du fichier une fois ce dernier reçu par l'une des parties. En outre, il ne fournit pas de moyen de preuve tangible que le transfert a bien eu lieu.

L'émergence des technologies d'impression additive, plus communément désignées d'impression 3D, impose la mise en place de nouveaux procédés de sécurisation des transferts de données.

En particulier, un objet 3D peut être associé à une variété de droits de propriété intellectuelle (protection de la forme de l'objet par un modèle, protection de la fonctionnalité de l'objet par un brevet, protection de l'originalité de l'objet par un droit d'auteur, protection du signe formé par l'objet par une marque tridimensionnelle, etc.).

Il est donc nécessaire pour favoriser l'émergence de ces technologies et d'une manière générale pour favoriser toutes les technologies ayant recours à des fichiers informatiques propriétaires, de disposer d'une solution qui permette de sécuriser le transfert d'un fichier informatique propriétaire d'une partie à une autre, et qui puisse garantir que les droits de propriété intellectuelle sont bien respectés.

Le document de brevet EP2757736 dédié aux fichiers d'impression 3D propose de ne pas transmettre les fichiers d'impression en tant que tel mais de ne transmettre que les instructions de commande de l'imprimante 3D (connues par exemple sous la dénomination de G-codes), ces instructions étant elles mêmes cryptées avec une clé connue seulement de l'imprimante 3D considérée. Ainsi, le contenu du fichier d'impression ne circule pas sur le réseau et seules les instructions de commande de la machine sont transmises d'un serveur à la machine, ce qui permet d'éviter une interception du fichier d'impression. En d'autres termes, la solution proposée par EP2757736 permet d'éviter qu'un tiers puisse récupérer le fichier source de l'objet à imprimer.

En revanche, cette solution ne permet pas de garantir que seul un exemplaire de la pièce sera produit à partir des instructions de commande. En effet, à partir du moment où les commandes sont reçues par l'imprimante 3D, rien n'empêche de fabriquer une pluralité de pièces à partir des instructions de commande de la machine. En d'autres termes, si la solution proposée semble autoriser la sécurisation des données à l'égard de tiers, elle ne permet pas au titulaire d'un droit sur l'objet à imprimer de vérifier l'utilisation faite des instructions transmises à l'imprimante. En particulier, la solution proposée ne permet pas de tracer l'utilisation des commandes d'instruction de l'imprimante 3D.

Il est donc primordial pour favoriser l'émergence de ces technologies d'impression additive, et d'une manière générale pour favoriser toutes les technologies ayant recours à des fichiers informatiques propriétaires, de disposer d'une solution qui permette de sécuriser le transfert d'un fichier informatique d'une partie à une autre, de garantir que ce transfert a bien eu lieu, et de tracer l'utilisation faite du fichier transféré.

3. Objectifs de l'invention

L'invention vise à fournir un procédé et un système de transfert sécurisé de fichiers informatiques propriétaires qui pallient au moins certains des inconvénients des solutions connues.

L'invention vise en particulier à fournir, dans au moins un mode de réalisation, un procédé et un système de transfert sécurisé de fichiers informatiques qui permettent de suivre et de tracer l'utilisation qui est faite du fichier informatique transféré.

L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé et un système de transfert de fichiers informatiques qui garantissent une inviolabilité des fichiers.

L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé et un système de transfert de fichiers informatiques qui garantissent inaltération des fichiers transmis.

L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé et un système de transfert de fichiers informatiques qui permettent d'authentifier chacune des parties impliquées dans l'opération de transfert.

L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé et un système de transfert de fichiers informatiques qui fournissent une information sur la qualité de l'utilisation du fichier transféré, et notamment une qualité de l'impression 3D dans le cas d'un fichier informatique propriétaire destiné à une imprimante 3D.

4. Exposé de l'invention

Pour ce faire, l'invention concerne un système de transfert sécurisé et d'utilisation identifiée de fichiers informatiques entre au moins une machine hébergeant lesdits fichiers informatiques propriétaires, dite hébergeur de fichiers, et au moins une machine sollicitant la réception et l'utilisation d'au moins un desdits fichiers informatiques propriétaires, dite client de fichiers, ledit système comprenant :

- un réseau de machines, dit réseau privé, comprenant au moins chaque hébergeur de fichiers, chaque client de fichiers, et un serveur central,

- une base de données formée d'une chaîne de blocs ordonnés, dite blockchain, distribuée sur le réseau privé et associée à un protocole d'écriture/lecture et de validation crypto graphique de transactions effectuées sur le réseau privé,

- un canal de transmission sécurisé reliant lesdites machines du réseau privé entre elles,

- un module blockchain hébergé par chaque machine du réseau privé et configuré pour pouvoir lire/écrire des transactions dans ladite blockchain de manière à pouvoir interagir avec les autres machines par le biais de la blockchain pour autoriser le transfert des fichiers propriétaires de l'hébergeur de fichiers vers le client de fichiers si des conditions prédéterminées de transfert sont remplies et pour suivre l'utilisation faite par ledit client de fichiers des fichiers propriétaires transférés,

- un module applicatif hébergé par chaque machine du réseau privé et configuré pour pouvoir assurer le transfert des fichiers propriétaires de l'hébergeur de fichiers vers le client de fichiers par le biais du canal de transmission sécurisé si lesdites conditions prédéterminées de transfert sont enregistrées dans ladite blockchain.

Un système selon l'invention comprend donc un réseau, dit réseau privé, qui héberge de manière distribuée une base de données formée d'une chaîne de blocs ordonnés, et associée à un protocole d'écriture/lecture et de validation cryptographique de transactions effectuées sur le réseau privé. Une telle base de données est plus connue sous sa dénomination anglaise de blockchain, qui est utilisée dans toute la suite.

Une blockchain forme ainsi un registre de transactions, répliqué sur une ou plusieurs machines du réseau privé reliées entre elles par un réseau pair à pair. Ces machines constituent des nœuds du réseau privé et la communication entre les nœuds est cryptée et garantit l'identité de l'expéditeur et du destinataire. Quand un nœud veut ajouter une nouvelle transaction au registre, il le propose au réseau qui forme un consensus pour déterminer où et quand cette transaction doit être inscrite dans le registre. Ce consensus constitue un bloc. En pratique, un bloc regroupe plusieurs transactions.

Selon l'invention, la blockchain est utilisée pour répertorier toutes les transactions entre les différentes machines du réseau privé, et notamment entre au moins une machine qui héberge des fichiers propriétaires (l'hébergeur de fichiers), au moins une machine qui sollicite l'utilisation d'un fichier propriétaire (le client de fichiers) et une machine qui pilote le système (le serveur central). La blockchain permet de garantir que le fichier a été envoyé par l'hébergeur de fichiers et reçu par le client de fichiers. En outre, chaque utilisation du fichier par le client de fichiers est retranscrite dans la blockchain, ce qui permet d'identifier et de tracer l'utilisation qui est faite du fichier propriétaire transmis.

La particularité de l'invention est aussi de recourir à un canal de transmission sécurisé qui relie les machines entre elles et notamment l'hébergeur de fichiers et le client de fichiers pour assurer le transfert sécurisé en tant que tel des fichiers informatiques propriétaires.

En d'autres termes, la blockchain et les modules blockchain des différentes machines du réseau privé permettent d'organiser le transfert d'un fichier informatique propriétaire, de vérifier que le transfert a bien eu lieu et de tracer l'utilisation faite du fichier, une fois transféré, mais le transfert en tant que tel s'effectue par le canal de transmission sécurisé, qui est donc piloté par le serveur central et la blockchain. C'est seulement lorsque les conditions prédéterminées de transfert sont enregistrées et lues dans la blockchain que le transfert physique du fichier par le canal de transmission sécurisé s'effectue. Une fois le transfert effectué, la blockchain enregistre la confirmation du transfert.

Les opérations d'écriture et de lecture dans la blockchain par les machines du réseau privé sont réalisées par le biais des modules blockchain hébergés par les machines et configurés pour pouvoir interagir avec la blockchain.

Selon un mode préférentiel de réalisation, au moins un module forme un module mineur configuré pour valider chaque transaction d'écriture/lecture dans la blockchain. En d'autres termes, c'est ce module mineur qui forme le consensus et qui valide les blocs et les impose à l'ensemble des machines du réseau.

Dans tout le texte, et sauf mention contraire, le terme « mineur » fait référence à l'action de « minage », c'est à dire à l'opération de validation des blocs de la blockchain et à la synchronisation des différentes copies de la blockchain sur le réseau privé.

Les opérations de transfert des fichiers par le canal de transmission sécurisé sont réalisées par le biais des modules applicatifs hébergés par les machines.

Dans tout le texte, on désigne par module, un élément logiciel, un sous- ensemble d'un programme logiciel, pouvant être compilé séparément, soit pour une utilisation indépendante, soit pour être assemblé avec d'autres modules d'un programme, ou un élément matériel, ou une combinaison d'un élément matériel et d'un sous-programme logiciel. Un tel élément matériel peut comprendre un circuit intégré propre à une application (plus connu sous l'acronyme ASIC pour la dénomination anglaise Application-Specific Integrated Circuit) ou un circuit logique programmable (plus connu sous l'acronyme FPGA pour la dénomination anglaise Field-Programmable Gâte Array) ou un circuit de microprocesseurs spécialisés (plus connu sous l'acronyme DSP pour la dénomination anglaise Digital Signal Processor) ou tout matériel équivalent. D'une manière générale, un module est donc un élément (logiciel et/ou matériel) qui permet d'assurer une fonction.

L'invention concerne également un procédé de transfert sécurisé et d'utilisation identifiée (on parle également dans tout le texte d'utilisation traçable) de fichiers informatiques entre au moins une machine hébergeant des fichiers informatiques propriétaires, dite hébergeur de fichiers, et au moins une machine sollicitant la réception et l'utilisation d'au moins un desdits fichiers informatiques propriétaires, dit client de fichiers, lesdites machines étant reliées à un réseau de machines, dit réseau privé, comprenant au moins un serveur central et une base de données formée d'une chaîne de blocs ordonnés, dite blockchain, distribuée sur le réseau privé et associée à un protocole d'écriture/lecture et de validation cryptographique de transactions effectuées sur ledit réseau privé, lesdites machines étant en outre reliées entre elles par un canal de transmission sécurisé.

Le procédé selon l'invention comprend au moins les étapes suivantes :

- un client de fichiers requiert le transfert d'un fichier propriétaire par une écriture d'une transaction correspondante dans ladite blockchain,

- ledit serveur central détermine la validité de la requête et informe, en cas de requête valide, ledit hébergeur de fichiers hébergeant ledit fichier requis par ledit client de fichiers,

- ledit hébergeur de fichiers fournit audit client de fichiers une clé représentative de l'adresse du fichier requis par une opération d'écriture d'une transaction correspondante dans ladite blockchain,

- ledit client de fichiers récupère ledit fichier propriétaire à ladite adresse du fichier requis auprès dudit hébergeur de fichiers par le biais dudit canal de transmission sécurisé,

- ledit client de fichiers notifie l'utilisation du fichier propriétaire récupéré par l'écriture d'une transaction correspondante dans ladite blockchain, et utilise ledit fichier propriétaire avec une application dédiée.

Un procédé selon l'invention est avantageusement mis en œuvre par un système selon l'invention et un système selon l'invention met avantageusement en œuvre un procédé selon l'invention.

Un procédé selon l'invention permet donc d'organiser et de contrôler le transfert de fichiers propriétaires entre un hébergeur de fichiers propriétaires et un client de fichiers.

Avantageusement et selon l'invention, le protocole d'écriture/lecture et de validation cryptographique de transactions met en œuvre au moins un module, dit module mineur, configuré pour pouvoir valider les transactions d'écriture/lecture dans ladite blockchain.

Selon ce mode de réalisation, chaque étape d'écriture d'une transaction dans la blockchain est suivie d'une étape de validation de la transaction par le module mineur. Ce module mineur peut être hébergé par une machine dédiée à la validation des transactions ou peut être hébergé par une machine du réseau privé, par exemple par un client de fichiers, et/ou par le serveur central. Selon une variante de l'invention, plusieurs modules mineurs sont utilisés en parallèle pour augmenter la puissance de calcul et la rapidité de mise en œuvre du procédé.

Comme indiqué précédemment, le terme « mineur » fait référence à l'action de « minage », c'est à dire à l'opération de validation des blocs de la blockchain et à la synchronisation des différentes copies de la blockchain sur le réseau privé.

Avantageusement et selon l'invention, ledit protocole d'écriture/lecture et de validation cryptographique de transactions effectuées sur ledit réseau privé de ladite blockchain est le protocole Ethereum® mettant en œuvre des entités programmables, dits contrats intelligents, associés chacun à une structure de données et à des méthodes de modification de ces données, de sorte qu'une écriture d'une transaction dans ladite blockchain est une modification d'au moins une desdites données associée à un contrat intelligent obtenue par une exécution d'une desdites méthodes associées à un contrat intelligent.

Selon cette variante avantageuse, l'utilisation de contrats intelligents du protocole Ethereum® permet d'initialiser un contrat dans la blockchain pour chaque fichier informatique propriétaire à transférer d'un hébergeur de fichiers vers un client de fichiers. L'initialisation du contrat est effectuée par le client de fichiers par l'exécution d'une méthode d'initialisation de contrat. Cette méthode de création de contrat fournit une identification du fichier sollicité, une adresse de l'hébergeur de fichiers qui détient le fichier souhaité, un montant en crypto monnaie, désignée par le terme Ether dans le protocole Ethereum®, et le nombre de copies souhaitées. Par la suite, tous les échanges entre le client de fichiers et l'hébergeur concernant ce fichier informatique propriétaire se font par la mise à jour (ou modification) du contrat correspondant.

Avantageusement et selon l'invention, ladite blockchain est initialisée en fournissant dans un premier bloc, dit bloc genesis, une liste prédéterminée d'identifiants, chaque identifiant, dit adresse, étant déterminé à partir d'une clé numérique privée et destiné à désigner une machine du réseau.

Selon cette variante, chaque client de fichiers se voit attribuer un identifiant prédéfini dans le bloc genesis de la blockchain. Le module blockchain hébergé par le client de fichiers est alors paramétré avec l'identifiant prédéfini dans le bloc genesis de la blockchain.

Avantageusement et selon l'invention, chaque clé numérique privée associée à une adresse enregistrée dans ledit bloc genesis est obtenue à partir d'une même clé racine prédéterminée et d'une fonction de dérivation prédéterminée.

Selon cette variante avantageuse, la sécurité cryptographique du système et du procédé selon l'invention repose sur une unique clé racine prédéterminée. Ainsi, dès que les clés numériques privées sont générées et que les identifiants des machines sont obtenus, il est possible de supprimer les clés numériques privées et de ne conserver en lieu sûr que la clé racine. En effet, en cas de perte des identifiants, il est toujours possible avec un système et un procédé selon l'invention, de les retrouver en accédant à la clé racine et à la fonction de dérivation prédéterminée.

Par exemple, chaque clé numérique privée est obtenue à partir d'une clé 128 bits et d'un algorithme de dérivation du type HKDF pour la dénomination anglaise Hashed Message Authentication Code (HMAC) Key Dérivation Function.

Avantageusement et selon l'invention, chaque adresse est associée à un montant aléatoire supérieur à un seuil prédéterminé de crypto monnaie pour permettre à chaque machine d'effectuer des transactions sur ladite blockchain.

En particulier, le protocole Ethereum® fonctionne avec une crypto monnaie, ou monnaie virtuelle, désignée Ether, qui a pour fonction de payer l'exécution des contrats intelligents, dont le fonctionnement peut consommer des ressources importantes. Dans le protocole Ethereum®, l'Ether sert à obtenir du « gas » (de l'essence) pour faire fonctionner les contrats. L'Ether permet également de récompenser les nœuds qui permettent de valider les blocs de la blockchain.

Pour pallier cet aspect inhérent à l'utilisation du protocole Ethereum®, mais qui est sans objet pour l'invention, l'invention prévoit d'attribuer un montant important d'Ether à chaque machine du réseau de telle sorte qu'elles peuvent toujours interagir avec la blockchain et ne retrouvent jamais sans « gas ».

Avantageusement et selon l'invention, au moins ledit serveur central est un nœud mineur du réseau privé configuré pour pouvoir valider chaque bloc de la blockchain.

Avantageusement et selon l'invention, ledit serveur central est également un hébergeur de fichiers propriétaires.

Selon cette variante, c'est le serveur central qui fournit les fichiers propriétaires aux clients de fichier. Selon une autre variante, les hébergeurs de fichiers sont distincts du serveur central dont le rôle se limite alors à administrer la blockchain.

Avantageusement et selon l'invention, ledit canal de transmission sécurisé met en œuvre un protocole de sécurisation des échanges de données permettant une authentification de chaque machine, et notamment du client de fichiers et dudit hébergeur de fichiers lors du transfert d'un fichier propriétaire.

Un tel protocole de sécurisation des échanges de données est par exemple le protocole connu sous l'acronyme TLS (pour la dénomination anglaise Transport Loyer Security) ou le protocole connu sous l'acronyme SFTP (pour la dénomination anglaise Secure File Transfer Protocol).

Avantageusement et selon l'invention, lesdits fichiers informatiques propriétaires sont des fichiers d'impression destinés à des imprimantes additives.

Selon cette variante avantageuse, le système et le procédé selon l'invention sécurisent le transfert de fichiers d'impression destinés à des imprimantes 3D. Un système et un procédé selon l'invention offrent donc aux titulaires de droits souhaitant transférer un fichier informatique 3D à un utilisateur autorisé la sécurité du transfert et la traçabilité de l'utilisation du fichier transféré. Par exemple, une société souhaitant fournir une pièce détachée à un client distant peut, grâce à l'invention, transférer le fichier numérique de la pièce détachée sans craindre l'utilisation frauduleuse du fichier par un tiers et tout en pouvant vérifier l'utilisation qui est faite du fichier, par consultation de la blockchain, qui est inaltérable.

Selon cette variante avantageuse, l'invention peut également fournir une information sur la qualité de la pièce produite par l'imprimante par la lecture des capteurs de l'imprimante 3D. En particulier, chaque imprimante 3D dispose de capteurs permettant de contrôler et suivre la production de la pièce. La lecture des données des capteurs et l'écriture de ces données dans la blockchain fournissent à l'hébergeur de fichiers des informations sur la qualité de la pièce produite. Cela permet par exemple de vérifier que la pièce produite répond bien à des critères prédéterminés, par exemple dans le cas d'une pièce normée devant répondre à certaines spécifications. L'invention permet donc, selon cette variante, de certifier à distance la qualité des pièces produites par l'imprimante additive par la lecture des capteurs de l'imprimante 3D et la comparaison des données fournies par ces capteurs à des valeurs nominales prédéterminées.

Avantageusement et selon cette variante, un client de fichiers qui utilise un fichier d'impression reçu avec une imprimante additive et qui le notifie par l'écriture d'une transaction correspondante dans ladite blockchain y inclut un numéro de série associé audit produit fabriqué à partir dudit fichier d'impression reçu.

Ainsi, la blockchain permet de suivre la fabrication des pièces et de répertorier l'ensemble des pièces produites par l'utilisation d'un fichier propriétaire et d'associer chaque production à un numéro de série de la pièce.

Selon d'autres variantes, au moins une ou plusieurs des informations suivantes sont enregistrées dans la blockchain : numéro de série de l'imprimante additive ayant imprimée la pièce produite ; les paramètres d'impression utilisés pendant l'impression ; des informations sur le matériel utilisé ; des informations relatives au logiciel d'impression. Bien entendu, d'autres informations peuvent également être enregistrées dans la blockchain en fonction des besoins des utilisateurs de l'invention.

Avantageusement et selon une autre variante de l'invention, les fichiers informatiques propriétaires sont des fichiers d'installation ou de mise à jour de logiciels propriétaires sur une machine client de fichiers.

Selon cette variante, l'invention permet de transférer de manière sécurisée des logiciels ou des mises à jour de logiciels vers des utilisateurs autorisés. En outre, l'invention permet alors de suivre les étapes d'installation ou de mise à jour du logiciel propriétaire et de suivre et tracer le nombre d'installation ou de mise à jour effectuées avec le fichier transféré. L'ensemble des informations sont enregistrées dans la blockchain et peuvent être contrôlées par le propriétaire du fichier informatique de mise à jour du logiciel propriétaire.

Cette variante permet par exemple d'installer des mises à jour de logiciels sur des véhicules automobiles et de déterminer le nombre de véhicules automobiles sur lesquels les mises à jour ont bien été effectuées.

L'invention permet donc de garantir aux titulaires de droits sur un logiciel ou sur une mise à jour d'un logiciel que le fichier est bien utilisé conformément aux accords prévus entre les différentes parties.

Un procédé selon l'invention peut être mis en œuvre sous la forme d'une séquence d'instructions d'un programme informatique. Le procédé peut également être mis en œuvre sous forme matérielle ou sous une forme mixte matérielle et logicielle. Dans le cas où l'invention est implantée partiellement ou totalement sous la forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible, tel qu'une disquette, un CD-ROM, un DVD-ROM, une clé USB, etc., ou un moyen de stockage non amovible, ces différents moyens étant lisibles partiellement ou totalement par un ordinateur ou par un microprocesseur.

L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de transfert sécurisé et d'utilisation traçable de fichiers informatiques selon l'invention, lorsque le programme est exécuté sur un ordinateur.

L'invention concerne également un moyen de stockage lisible par ordinateur, totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en œuvre le procédé de transfert sécurisé et d'utilisation traçable de fichiers informatiques selon l'invention.

L'invention concerne également un système et un procédé caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus ou ci- après.

5. Liste des figures

D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles :

- la figure 1 est une vue schématique d'un système de transfert sécurisé et d'utilisation identifiée de fichiers informatiques selon un premier mode de réalisation de l'invention,

- la figure 2 est une vue schématique d'un système de transfert sécurisé et d'utilisation identifiée de fichiers informatiques selon un mode de réalisation de l'invention sur laquelle les différents modules interagissant avec la blockchain et une imprimante 3D sont représentés,

- la figure 3 est une vue schématique d'un système et d'un procédé de transfert sécurisé et d'utilisation identifiée de fichiers informatiques selon un autre mode de réalisation de l'invention.

6. Description détaillée de modes de réalisation de l'invention

La figure 1 représente très schématiquement un système selon un mode de réalisation de l'invention comprenant un réseau de machines, dit réseau privé 5, et regroupant une machine hébergeant des fichiers propriétaires, dite hébergeur 6 de fichiers, une machine sollicitant l'utilisation d'un fichier propriétaire, dite client 7 de fichiers et une machine qui pilote le système, dite serveur central 8.

Ledit hébergeur 6 de fichiers, ledit client 7 de fichiers et le serveur central 8 sont par exemple des ordinateurs ou d'une manière plus générale des machines électroniques fonctionnant par une lecture séquentielle d'un ensemble d'instructions.

Le système selon l'invention comprend en outre une base de données formée d'une chaîne de blocs ordonnés, dite blockchain 9, distribuée sur le réseau privé 5 et associée à un protocole d'écriture/lecture et de validation cryptographique de transactions effectuées sur le réseau privé entre les différentes machines du réseau privé 5.

Le système comprend également un module mineur 11 dont le rôle est de valider les transactions de la blockchain 9. Ce module mineur 11 peut être un module indépendant ou être intégré à l'une des machines du réseau privé 5. L'action de minage et les moyens permettant ce minage sont connus de l'homme du métier et ne sont pas décrits ici en détail.

Sur la figure 1, une seule copie de la blockchain 9 a été représentée à des fins de clarté, étant entendu qu'en pratique, la blockchain étant distribuée sur le réseau privé, chaque machine peut héberger une copie de la blockchain 9.

Le système selon l'invention comprend en outre un canal dédié, dit canal

10 de transmission sécurisé, reliant entre elles les différentes machines du réseau privé, et notamment ledit hébergeur 6 de fichiers et ledit client 7 de fichiers.

Ce canal 10 de transmission sécurisé met de préférence en œuvre un protocole de sécurisation des échanges de données permettant une authentification de chaque partie interagissant par le biais de ce canal 10 de transmission sécurisé. Ce protocole est par exemple le protocole TLS (pour la dénomination anglaise Transport Loyer Security) ou le protocole SFTP (pour la dénomination anglaise Secure File Transfer Protocol) ou tout protocole équivalent.

Selon l'invention, la blockchain 9 est dédiée aux échanges d'informations permettant d'organiser et de suivre le transfert des fichiers de l'hébergeur 6 de fichiers vers le client 7 de fichiers. La blockchain 9 permet également de suivre l'utilisation du fichier par le client 7 de fichiers. La blockchain 9 permet également de suivre les échanges d'information entre le serveur central 8 et l'hébergeur 6 de fichiers. Le canal 10 de transmission sécurisé est utilisé pour le transfert des fichiers en tant que tel. Il est également utilisé pour échanger des informations entre le serveur central 8 et ledit hébergeur 6 de fichiers.

Chaque machine comprend en outre un module 19 blockchain (représenté sur la figure 3 uniquement), configuré pour pouvoir lire/écrire des transactions dans la blockchain 9 de manière à pouvoir interagir avec les autres machines par le biais de la blockchain 9. Ce module 19 blockchain est par exemple une couche logicielle configurée pour interagir avec la blockchain 9.

Chaque machine comprend également un module 12 applicatif blockchain (représenté sur la figure 3 uniquement) configuré pour pouvoir interagir sur le canal 10 de transmission sécurisé et notamment pour assurer le transfert des fichiers propriétaires de l'hébergeur 6 de fichiers vers le client 5 de fichiers par le biais du canal 10 de transmission sécurisé.

Selon un mode préférentiel de réalisation de l'invention, le protocole d'écriture/lecture et de validation crypto graphique de transactions effectuées sur le réseau privé de la blockchain 9 est le protocole Ethereum® mettant en œuvre des entités programmables, dits contrats intelligents, associés chacun à une structure de données et à des méthodes de modification de ces données, de sorte qu'une écriture d'une transaction dans la blockchain 9 est une modification d'au moins une des données associées à un contrat intelligent obtenue par une exécution d'une des méthodes associées à un contrat intelligent.

Dans toute la suite, la notion d'écriture/lecture d'une transaction dans la blockchain 9 fait indifféremment référence à l'exécution d'une méthode de modification de données associées à un contrat intelligent (dans le cas où le protocole Ethereum® est utilisé) ou à écriture/lecture en tant que telle de la transaction dans la blockchain 9 (dans le cas où un autre protocole est utilisé).

Sur la figure 2, l'hébergeur de fichiers et le serveur central sont formés de la même machine. Dans toute la description qui suit en référence à la figure 2, cette machine est désignée serveur central 3 étant entendu qu'elle assure également la fonction d'hébergeur de fichiers. Cet hébergement est schématisé par une zone 32 de stockage des fichiers propriétaires.

Le système selon le mode de réalisation de la figure 2 comprend donc un serveur central 3 et un client 2 de fichiers qui peuvent interagir l'un avec l'autre soit par le biais d'un protocole 41 Ethereum® et de la blockchain 9 associée, soit par le biais d'un canal 42 de communication sécurisée.

Le serveur central 3 et le client 2 de fichiers héberge chacun, au niveau d'une terminaison 38, 28 respective IPC (acronyme de la dénomination anglaise Inter-Process Communication) une instance client Ethereum®, par exemple l'application pyethapp, geth ou eth. Dans toute la suite, on désigne cette instance client Ethereum® par la référence 25 pour le client 2 de fichiers et 35 pour le serveur central 3.

Selon ce mode de réalisation, la blockchain 9 est synchronisée à la fois par le client 2 de fichiers et par le serveur central 3. En outre, on considère qu'au moins le serveur central 3 ou le client 2 de fichiers héberge un module mineur configuré pour valider les transactions effectuées sur la blockchain 9. Selon une autre variante, et comme indiqué précédemment, le module mineur peut être un module indépendant hébergé sur une machine dédiée à la validation des transactions de la blockchain.

Selon le mode de réalisation de la figure 2, le client 2 de fichiers héberge l'instance client Ethereum® 25, une application en Javascript® 26 qui utilise la plateforme logicielle node.js qui est en interaction avec l'instance client Ethereum® 25 et une application 27 par exemple implémentée en python qui est en interaction avec une imprimante additive 22. L'instance client Ethereum® 25 et l'application en Javascript® 26 forment selon ce mode de réalisation le module blockchain du client 2 de fichiers, et l'application 27 forme le module applicatif en interaction avec l'imprimante 22.

Le serveur central 3 héberge l'instance client Ethereum® 35, une application en Javascript® 36 qui utilise la plateforme logicielle node.js qui est en interaction avec l'instance client Ethereum® 35 et une application 37 configurée pour pouvoir interagir à la fois avec l'application en Javascript® 36 et avec la zone de stockage 32 des fichiers propriétaires.

L'instance client Ethereum® 35 et l'application en Javascript® 36 forment selon ce mode de réalisation le module blockchain du serveur central 3, et l'application 37 forme le module applicatif en interaction avec la zone de stockage 32.

Le procédé de transfert sécurisé d'un fichier propriétaire du serveur central 3 au client 2 de fichiers est obtenu par la succession des étapes suivantes :

- Le client 2 de fichiers requiert le téléchargement d'un fichier propriétaire. Cette requête prend la forme d'une transaction dans un contrat de la blockchain 9. Cette transaction est effectuée par l'application 27 en interaction avec l'imprimante 22 additive vers l'instance client 25 Ethereum® par le biais de l'application 26 Javascript ®. L'instance client 25 Ethereum® envoie cette requête au serveur 3 central ou l'ajoute directement dans la blockchain 9 si le client 2 de fichiers héberge un module mineur configuré pour valider les transactions. Le protocole Ethereum® devp2p qui est exécuté à la fois par le client 2 de fichiers et par le serveur central 3 synchronise la transaction et ajoute un nouveau bloc sur chaque copie respective de la blockchain 9.

- Le serveur central 3 détermine la validité de la requête, par le canal 42 de transmission sécurisé, puis effectue une transaction dans le contrat de la blockchain 9 pour autoriser ou non la requête du client en fonction de cette détermination. Si la requête est valable, le serveur central 3 (qui fait office d'hébergeur de fichiers) fournit une clé représentative de l'adresse du fichier requis.

- Le client 2 de fichiers fait des interrogations régulières du contrat de la blockchain 9 pour déceler le retour du serveur central 3. Dès qu'il détecte la clé représentative de l'adresse du fichier, il détermine l'adresse du fichier à partir de la clé représentative fournie par le serveur dans la blockchain 9. Cette détermination de l'adresse est obtenue par exemple par une fonction mathématique prédéterminée qui combine ladite clé représentative fournie par l'hébergeur de fichiers, une clé publique prédéterminée et une signature du fichier requis (hashfile).

- Le client 2 de fichiers commence le téléchargement du fichier par le biais de l'application 27 et du canal 42 de transmission sécurisé.

- Une fois le fichier récupéré, le client 2 de fichiers peut notifier l'utilisation dans la blockchain 9 et utiliser le fichier récupéré.

La figure 2 n'est qu'un mode de réalisation possible pour implémenter le module blockchain et le module application dans une machine d'un système selon l'invention. L'homme du métier est à même de déterminer d'autres implémentations logicielles ou matérielles de ces modules. En outre, les détails logiciels et matériels de l'implémentation du protocole Ethereum® ne sont pas décrits ici en détail dans la mesure où le protocole Ethereum® prévoit des tutoriels d' implémentations des routines associées (voir par exemple le site Internet de l'Ethereum® project à https://www.ethereum.org/).

La figure 3 est un mode de réalisation particulier de l'invention pour les fichiers propriétaires dédiés aux imprimantes additives.

Selon ce mode de réalisation particulier, le système comprend un hébergeur 16 de fichiers et un serveur 18 central. Il comprend en outre une machine associée à une imprimante 3D, désignée dans la suite par imprimerie 17. Cette imprimerie 17 fait office de client de fichiers dans la mesure où elle récupère de manière sécurisée le fichier propriétaire de l'hébergeur de fichiers. Le système comprend également une machine sollicitant l'impression d'un fichier propriétaire par l'imprimerie 17, désignée ci-après par client 17' de fichiers. L'imprimerie 17 et le client 17' de fichier forment un client de fichiers particulier constitué de deux entités qui peuvent échanger par le biais de la blockchain. Selon ce mode de réalisation particulier, les fichiers informatiques propriétaires sont donc des fichiers d'impression 3D. Un système selon le mode de réalisation de la figure 3 permet non seulement de sécuriser le transfert d'un fichier propriétaire d'un serveur de fichiers vers un client de fichiers, mais il permet également de fournir au client de fichiers des informations sur la qualité de l'impression de la pièce correspondant au serveur de fichiers par le partage d'un journal d'impression comme expliqué ci-après.

Sur la figure 3, les flèches en pointillés représentent des étapes du procédé selon l'invention mettant en œuvre la blockchain 9 et les flèches en traits continus représentent des étapes du procédé selon l'invention mettant en œuvre le canal 10 de transmission sécurisé. Les étapes El à E10, concentrées sur la partie droite de la figure, sont les étapes mises en œuvre pour transférer un fichier propriétaire de l'hébergeur 16 de fichiers vers l'imprimerie 17. Les étapes Ε à Ε1 , concentrées sur la partie gauche de la figure sont les étapes mises en œuvre pour utiliser le fichier informatique par le client 17' de fichiers qui se caractérise par l'impression d'une pièce 3D par l'imprimerie 17.

Sur la figure 3, le module mineur 11 n'est pas représenté à des fins de clarté. Ce module est hébergé par le serveur central 18. Aussi, dans la description de la figure 3, la validation des transactions est effectuée par le serveur central 18. Selon d'autres modes de réalisation, la validation peut être effectuée par un autre module d'un autre nœud configuré pour faire du minage de transactions.

Les étapes nécessaires pour que l'imprimerie 17 récupère un fichier propriétaire auprès de l'hébergeur 16 de fichiers sont les suivantes :

- Etape El : l'imprimerie 17 requiert le transfert d'un fichier propriétaire par l'écriture d'une transaction dans la blockchain 9.

Cette transaction consiste selon le mode préférentiel de réalisation de l'invention à exécuter une méthode associée à un contrat intelligent de la blockchain 9. Le serveur 18 central qui scrute régulièrement l'état du contrat intelligent accuse réception de la requête par l'écriture d'une transaction correspondante dans la blockchain 9. Selon une autre variante, le serveur central 18 reçoit une requête par le biais du canal 10 de transmission sécurisé de sorte qu'il n'a pas à scruter régulièrement l'état du contrat de la blockchain. Il accuse alors réception de cette requête par l'écriture d'une transaction dans la blockchain.

Etape E2 : Le serveur 18 central informe l'hébergeur 16 de fichiers par le biais du canal 10 de transmission sécurisé qu'une requête a été émise par l'imprimerie 17. Selon une variante, l'hébergeur 16 de fichiers et le serveur 18 central sont une seule et même machine, auquel cas, l'étape E2 n'est pas nécessaire. Selon une autre variante, l'information transite par la blockchain 9, auquel cas l'hébergeur 16 de fichiers doit présenter les mêmes fonctionnalités que le serveur central.

Etape E3 : L'hébergeur 16 de fichiers écrit une transaction dans la blockchain 9 en mettant des données du contrat intelligent à jour et en fournissant une clé représentative d'une adresse unique et valable qu'une fois du fichier requis. En parallèle, ledit hébergeur 16 de fichiers crée le localisateur uniforme de ressources correspondant (plus connu sous l'acronyme anglais URL pour Uniform Resource Locator) qui n'est accessible que par l'imprimerie 17. La transaction est validée par le serveur central 18.

Etape E4 : L'imprimerie 17 scrute l'état du contrat intelligent. Dès que la transaction a été validée par le serveur central 18 et que la clé représentative de l'adresse du fichier est décelée, l'imprimerie détermine l'adresse du fichier.

Etape E5 : L'imprimerie 17 récupère le fichier de l'hébergeur 16 de fichiers par le biais du canal 10 de transmission sécurisé.

Etape E6 : L'imprimerie 17 confirme le début du téléchargement du fichier par l'écriture d'une transaction dans la blockchain 9, qui est validée par le serveur central 18.

Etape E7 : L'hébergeur 16 de fichiers confirme le début du téléchargement par l'écriture d'une transaction dans la blockchain 9, qui est validée par le serveur central 18.

- Etape E8 : L'imprimerie 17 termine le téléchargement du fichier depuis l'hébergeur de fichiers 16.

- Etape E9 : L'imprimerie 17 met à jour l'état du contrat intelligent et confirme que le fichier a bien été récupéré. La transaction correspondante est validée par le serveur central 18.

- Etape E10 : L'hébergeur de fichiers 16 confirme la fin de la transmission du fichier et le serveur central 18 valide la transaction.

Selon le mode de réalisation de la figure 3, une fois le fichier récupéré par l'imprimerie 17, le client 17' de fichiers doit ensuite lancer l'opération d'impression du fichier. Pour ce faire, les étapes suivantes sont mises en œuvre :

- Etape El ' : Le client 17' de fichiers émet une requête d'impression du fichiers par l'imprimerie 17. Cette requête prend la forme d'une transaction dans la blockchain 9 qui est validée par le serveur central 18.

- Etape E2' : Le serveur central 18 détecte la requête dans la blockchain 9 et la notifie à l'imprimerie 17 par le biais du canal 10 de transmission sécurisé. Selon un autre mode de réalisation, la requête est notifiée par le canal 10 de transmission sécurisé et le serveur 18 vérifie sa validité par une lecture de la transaction dans la blockchain.

- Etape E3' : L'imprimerie notifie la validité de la requête par l'écriture d'une transaction dans la blockchain 9, qui est validée par le serveur central 18.

- Etape E4' : Le client 17' lit la réponse par la lecture d'une transaction dans la blockchain 9 et crée un URL.

- Etape E5' : Le client 17' confirme le début de l'impression du fichier.

- Etape E6' : Le client 17' effectue une transaction dans la blockchain 9 pour confirmer le début de l'impression. La transaction est validée par le serveur central 18. - Etape E7' : L'imprimerie 17 lit la transaction de confirmation dans la blockchain 9 et accuse réception par l'écriture d'une transaction correspondante dans la blockchain 9. La transaction est validée par le serveur central 18.

- Etape E8' : Lorsque l'imprimerie 17 a terminé l'impression du fichier, elle effectue une transaction dans la blockchain 9 pour fournir une clé représentative d'un URL de téléchargement d'un journal d'impression. Ce journal d'impression (plus connu sous la dénomination de log d'impression) fournit des données sur la qualité de l'impression. L'imprimerie 17 créé alors l'URL correspondant. La transaction est validée par le serveur central 18.

- Etape E9' : Le serveur central 18 lit la clé représentative de l'URL dans la blockchain 9 et détermine l'adresse correspondante.

- Etape E10' : Le serveur central 18 commence le téléchargement du journal d'impression et le notifie dans la blockchain 9 par l'écriture d'une transaction. La transaction est validée par le serveur central 18 (ou par tout module configuré pour miner les transactions).

- Etape Ε1 : Lorsque le serveur central 18 a terminé le téléchargement du journal d'impression, il le notifie dans la blockchain par l'écriture d'une transaction correspondante. La transaction est validée par le serveur central 18 (ou par tout module configuré pour miner les transactions).

Un système et un procédé selon ce mode de réalisation permet donc non seulement de sécuriser le transfert d'un fichier propriétaire d'un hébergeur de fichiers propriétaires vers une imprimante additive, d'identifier et de tracer l'utilisation faite du fichier propriétaire, et également de fournir une information sur la qualité de l'impression de la pièce.

Un système selon l'invention ne se limite pas uniquement aux modes de réalisation décrits. En particulier, un système et un procédé selon l'invention peuvent être mise en œuvre pour d'autres applications que celles décrites en lien avec l'impression additive. D'une manière générale, l'invention peut être mise en œuvre pour toutes les applications nécessitant un transfert sécurisé et une utilisation traçable de fichiers informatiques propriétaires.