Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PLATFORM AND METHOD FOR DATA TRACEABILITY AND USE IN A DISTRIBUTED ENVIRONMENT THAT IS OPEN TO PEER-TO-PEER SHARING
Document Type and Number:
WIPO Patent Application WO/2020/127361
Kind Code:
A1
Abstract:
The present invention relates to a method implemented in a completely distributed computer environment open to peer-to-peer sharing between entities, without a central entity for regulating sharing communications, using the blockchain, to allow the traceability of exchanges between entities and each entity comprising a hardware and software arrangement allowing the implementation of the following three steps: the first step consists firstly in transforming all the attributes, which are not already in digital form, into (homogeneous) digital values; the second step consists in transforming these initial digital data into marked digital secondary data that can be shared, the marking of the initial data item being carried out by transforming all the initial digital values of the initial data item by means of a function "f using a private key" into public data that will constitute a machine learning model, this machine learning model then being marked by a secondary marking using an unshared private data item that is stored separately; and a third step of verifying marked data or models in order to know whether or not the data item/model is authentic and to identify the author or the entity by the traceability of the exchanges provided by a history of the exchanges stored in the nodes of the blockchain.

Inventors:
KESSACI YACINE (FR)
Application Number:
PCT/EP2019/085770
Publication Date:
June 25, 2020
Filing Date:
December 17, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WORLDLINE (FR)
International Classes:
G06F21/62; G06F21/64
Foreign References:
US20180068130A12018-03-08
Other References:
ALLISON ACKERMAN SHRIER ET AL: "Blockchain and health IT: Algorithms, Privacy, and Data - Whitepaper", US FED NEWS SERVICE, INCLUDING US STATE NEWS, 30 August 2016 (2016-08-30), Washington, D.C, XP055569588, Retrieved from the Internet [retrieved on 20190315]
KARAFILOSKI ELENA ET AL: "Blockchain solutions for big data challenges: A literature review", IEEE EUROCON 2017 -17TH INTERNATIONAL CONFERENCE ON SMART TECHNOLOGIES, IEEE, 6 July 2017 (2017-07-06), pages 763 - 768, XP033143425, DOI: 10.1109/EUROCON.2017.8011213
ARVIND NARAYANAN ET AL: "Bitcoin and Cryptocurrency Technologies", BITCOIN AND CRYPTOCURRENCY TECHNOLOGIES, 9 February 2016 (2016-02-09), US, pages 1 - 308, XP055574627, Retrieved from the Internet [retrieved on 20190326]
Attorney, Agent or Firm:
DEBAY, Damien (FR)
Download PDF:
Claims:
Revendications

[Revendication 1 ] [Procédé mis en œuvre dans un environnement

informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant la blockchain, pour permettre la traçabilité des échanges entre entités et chaque entité comportant un agencement matériel et logiciel permettant la mise en œuvre des trois étapes suivantes :

- La première étape consiste d’abord à transformer tous les attributs, qui ne sont pas déjà sous forme numérique, en valeurs numériques (homogènes) ;

- La seconde étape consiste à transformer ces données initiales numériques en données secondaires numériques marquées qui pourront être partagées, le marquage de la donnée initiale s’effectuant en transformant toutes les valeurs numériques initiales de la donnée initiale grâce à une fonction « f utilisant une clé privée» en données publiques qui constitueront un Modèle de machine learning, ce modèle de Machine learning étant ensuite marqué par un marquage secondaire utilisant une donnée privée non partagée et stockée séparément, les marquages étant réalisés sur lesdites données tout en les conservant lisibles et utilisables par une entité tierce ;

- Une troisième étape de vérification de données ou modèles marqués pour connaître, l’authenticité de la donnée/ modèle ou non et identifier l’auteur ou l’entité par la traçabilité des échanges fournie par un historique des échanges mémorisés dans les nœuds de la blockchain.

[Revendication 2] Procédé selon la revendication 1 caractérisé en ce que la fonction « f » utilisant une clé privée configurée pour réaliser, sur la base des données à marquer, l’ensemble des particularités suivantes :

- Être assez complexe pour ne pas pouvoir déduire la fonction inverse « f-1 » à partir du résultat partagé (robustesse) ;

- Garder les caractéristiques de la donnée initiale afin de pouvoir arriver aux mêmes résultats de modèle en utilisant soit les données initiales soit les données transformées (utilisabilité) ;

- Être paramétrable sur chaque entité afin de différencier les données transformées en fonction de l’entité avec laquelle s’effectue le partage (capacité) ;

- Être non distinguable dans la donnée partagée (transparence).

- Être unique pour chaque couple « donnée transformée/clé privée » ayant permis la transformation avec « f » (sécurité).

Etre capable de retrouver le marquage avec « f-1 » même si une autre entité marque de nouveau les données avec une autre fonction « f » (transitivité)

[Revendication 3] Procédé selon la revendication 1 ou 2 caractérisé en ce que l’étape de vérification consiste à prendre une donnée marquée (D’m’), à vérifier, dissocier grâce à la donnée (D’) et le marquage (m’) en utilisant dans le nœud de l’entité émettrice la fonction inverse « f-1 » sur la donnée marquée (D’m’) et à comparer le marquage initial (m) réalisé par le nœud de l’entité émettrice avec le marquage (m’) de la donnée (D’) à vérifier puis générer par le nœud un message indiquant que la donnée est valide, si (m) et (m’) sont égaux ou sinon un message indiquant qu’il y a eu contrefaçon.

[Revendication 4] Procédé selon une des revendications 1 à 3 caractérisé en ce que le message indiquant la contrefaçon génère également l’émission d’une requête d’historique des échanges entre entités pour cette donnée (D’), ce qui permet à l’entité émettrice de repérer l’entité qui a modifié le marquage et par conséquent la source de la contrefaçon.

[Revendication 5] Procédé selon une des revendications 1 à 4 caractérisé en ce que l’étape de vérification consiste dans le cas d’un modèle (M’) à utiliser les données privées (p) associées au modèle (M’m) dans l'historique de l’entité ayant généré M’m pour interroger l’entité du modèle (M’) et à en comparer les résultats à (M’m) sur ces données-là pour savoir si (M’) est bien la version officielle diffusée.

[Revendication 6] Procédé selon une des revendications 1 à 5 caractérisé en ce qu’il comporte une étape d’utilisation de l'historique des échanges entre les entités conservées sur un nœud en le couplant avec la comparaison des marquages des données ou modèles concernés pour les entités concernées. [Revendication 7] Procédé selon une des revendications 1 à 6 caractérisé en ce qu’il comprend une étape de répertoriage et consignation de toute transaction dans cet environnement entre entités. [Revendication 8] Plateforme de traçabilité utilisée dans un environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage utilisant des nœuds, pour mettre en œuvre le procédé selon l’une quelconque des revendications précédentes, ladite plateforme de traçabilité utilisant la blockchain pour permettre de tracer tous les échanges réalisés et conserver un historique de toutes les opérations réalisées par chaque entité ou nœud ayant communiqué dans l’environnement distribué et ouvert.

[Revendication 9] Plateforme de traçabilité selon la revendication 8

caractérisée en ce que ladite plateforme de traçabilité permet au moins les fonctionnalités suivantes :

- Lister les entités qui ont une copie de ses données partagées par le biais d’un module de ladite plateforme qui interroge la chaîne de blocs et récupère un identifiant de l’ensemble des entités ayant reçu le partage;

- Envoi de requêtes régulières demandant si les ensembles de données d’une entité ont été repartagés dans le système, et par quelles autres entités ;

- Envoi de requêtes de suppression ou de modification d’une partie des données initialement partagées à des entités cibles. .

[Revendication 10] Plateforme de traçabilité selon une des revendications 8 à 9 caractérisée en ce que toute transaction dans cet environnement est répertoriée et consignée dans la blockchain.

[Revendication 11 ] Environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant une plateforme de traçabilité selon la revendication 8, 9 ou 10 caractérisée en ce que chaque entité peut indiquer par un message ou un attribut de message à la plateforme de traçabilité qu’elle souhaite partager ses résultats avec toute entité.

[Revendication 12] Environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant une plateforme de traçabilité selon une des revendications 8 à 10 caractérisée en ce que les entités ciblées par ces requêtes comportant les identifiants des entités ciblées, devront alors se conformer à la demande et répondre au propriétaire par un accusé de réception, cet accusé de réception servant de preuve qu'ils ont traité la demande.

[Revendication 13] Environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant une plateforme de traçabilité selon une des revendications 8 à 10 caractérisée en ce que chaque entité comporte un agencement matériel et logiciel permettant de coupler l’utilisation de cet historique des échanges entre les entités et la comparaison des marquages des données concernées pour en déduire l’origine d’une fraude ou

défaillance.

[Revendication 14] Environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant une plateforme de traçabilité selon une des revendications 8 à 10 caractérisée en ce que chaque entité comporte un agencement permettant de confirmer l’échange ou l’action en tant qu’entité représentant l’interlocuteur en face.

Description:
Description

Titre de l'invention : Plateforme et procédé de traçabilité de données et utilisation dans un environnement distribué et ouvert au partage pair à pair

[DOMAINE TECHNIQUE DE L’INVENTION

La présente invention concerne le domaine de la détection de violation de la propriété intellectuelle dans un environnement complètement distribué et ouvert au partage.

ETAT DE LA TECHNIQUE ANTERIEURE

De nos jours la donnée transite de façon très intense principalement dans des domaines comme le machine learning où elle est considérée comme la matière première.

Ainsi il est très bénéfique et même vital de partager sa donnée afin de la confronter aux meilleures techniques d’apprentissage. Cependant ce partage est facteur de risque. En effet plusieurs questions sont soulevées par ce partage dont celle de la propriété intellectuelle. Par conséquent, comment faire pour prouver la propriété des données une fois partagées et surtout comment faire pour prouver de façon transitive le droit à la propriété intellectuelle sur les produits dérivés découlant de la donnée initiale (modèle de Machine Learning, enrichissement de données personnelles, vente des données partagées de façon détournée, ... ).

Une solution connue est l’application d’un marquage sur des données en particulier des données structurées de type base de données au moyen d’une clé primaire ou de tables. Une autre solution est employée pour les données multimédia et en particulier image, vidéo et son, qui est liée au type de la donnée et donc au support sur lequel elles sont diffusées, par exemple en imposant un marquage de l’image pour détecter des contrefaçons.

En outre, les marquages préexistants ne se transmettent pas au résultat dérivé tel que des transformations de la donnée, des constructions de modèle, découlant de données déjà partagées. En d’autres termes, le marquage s’arrête après le partage de la donnée et ne se diffuse pas aux produits dérivés de cette donnée. Il n’est donc pas transitif ou héréditaire.

EXPOSE DE L’INVENTION

La présente invention a pour but de pallier certains inconvénients de l'art antérieur et en particulier d’encourager et de faciliter le partage de données dans un environnement décentralisé, offrant la possibilité au propriétaire qui partage sa donnée d’être capable de détecter une utilisation malhonnête de sa donnée mais également des produits dérivés qui sont issus de l’exploitation de sa donnée.

A cet effet, la présente invention concerne un procédé mis en oeuvre dans un environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage , utilisant la blockchain, pour permettre la traçabilité des échanges entre entités et chaque entité comportant un agencement matériel et logiciel permettant la mise en oeuvre des trois étapes suivantes :

- La première étape consiste d’abord à transformer tous les attributs, qui ne sont pas déjà sous forme numérique, en valeurs numériques (homogènes) ;

- La seconde étape consiste à transformer ces données initiales numériques en données secondaires numériques marquées qui pourront être partagées, le marquage de la donnée initiale s’effectuant en transformant toutes les valeurs numériques initiales de la donnée initiale grâce à une fonction « f utilisant une clé privée» en données publiques qui constitueront un Modèle de machine learning, ce modèle de Machine learning étant ensuite marqué par un marquage secondaire utilisant une donnée privée non partagée et stockée séparément, les marquages étant réalisés sur lesdites données tout en les conservant lisibles et utilisables par une entité tierce ;

- Une troisième étape de vérification de données ou modèles marqués pour connaître, l’authenticité de la donnée/ modèle ou non et identifier l’auteur ou l’entité par la traçabilité des échanges fournie par un historique des échanges mémorisés dans les noeuds de la blockchain. Selon une autre particularité, la fonction « f » utilisant une clé privée configurée pour réaliser, sur la base des données à marquer, l’ensemble des particularités suivantes :

- Être assez complexe pour ne pas pouvoir déduire la fonction inverse « f-1 » à partir du résultat partagé (robustesse) ;

- Garder les caractéristiques de la donnée initiale afin de pouvoir arriver aux mêmes résultats de modèle en utilisant soit les données initiales soit les données transformées (utilisabilité) ;

- Être paramétrable sur chaque entité afin de différencier les données transformées en fonction de l’entité avec laquelle s’effectue le partage (capacité) ;

Être non distinguable dans la donnée partagée (transparence).

- Être unique pour chaque couple « donnée transformée/clé privée » ayant permis la transformation avec « f » (sécurité).

- Être capable de retrouver le marquage avec « f-1 » même si une autre entité marque de nouveau les données avec une autre fonction « f » (transitivité)

Selon une autre particularité, l’étape de vérification consiste à prendre une donnée marquée (D’m’), à vérifier, dissocier grâce à la donnée (D’) et le marquage (m’) en utilisant dans le nœud de l’entité émettrice la fonction inverse « f-1 » sur la donnée marquée (D’m’) et à comparer le marquage initial (m) réalisé par le nœud de l’entité émettrice avec le marquage (m’) de la donnée (D’) à vérifier puis générer par le nœud un message indiquant que la donnée est valide, si (m) et (m’) sont égaux ou sinon un message indiquant qu’il y a eu contrefaçon.

Selon une autre particularité, le message indiquant la contrefaçon génère également l’émission d’une requête d’historique des échanges entre entités pour cette donnée (D’), ce qui permet à l’entité émettrice de repérer l’entité qui a modifié le marquage et par conséquent la source de la contrefaçon.

Selon une autre particularité, l’étape de vérification consiste dans le cas d’un modèle (M’m) à utiliser les données privées (p) associées au modèle (M’m) dans l'historique de l’entité ayant généré M’m pour interroger l’entité du modèle (M’) et à en comparer les résultats à (M’m) sur ces données-là pour savoir si (M’) est bien la version officielle diffusée. Selon une autre particularité, le procédé comporte une étape d’utilisation de l'historique des échanges entre les entités conservées sur un nœud en le couplant avec la comparaison des marquages des données ou modèles concernés pour les entités concernées.

Selon une autre particularité, le procédé comprend une étape de répertoriage et consignation de toute transaction dans cet environnement entre entités.

Selon un autre but l’invention concerne également une plateforme mettant en oeuvre le procédé.

Ce second but est atteint par une plateforme de traçabilité utilisée dans un environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage utilisant des noeuds, ladite plateforme de traçabilité utilisant la blockchain pour permettre de tracer tous les échanges réalisés et conserver un historique de toutes les opérations réalisées par chaque entité ou nœud ayant communiqué dans l’environnement distribué et ouvert.

Selon une autre particularité, les possibilités offertes par une telle plateforme de traçabilité sont au moins une des fonctionnalités suivantes :

- Permettre aux entités propriétaires de garder le contrôle de leurs ensembles de données, en listant les entités qui ont une copie de ces données partagées ;

- Permettre aux entités de voir par des requêtes régulières si leurs ensembles de données ont été repartagés dans le système, et par quelles autres entités ;

- Fournir un service de requêtes pour demander aux entités cibles de supprimer ou de modifier une partie des données initialement partagées.

Selon une autre particularité, toute transaction dans cet environnement est répertoriée et consignée dans la blockchain.

Un dernier but de l’invention est de proposer un environnement distribué ouvert au partage ; ce but est atteint par un environnement informatique complètement distribué et ouvert au partage pair à pair entre entités, sans entité centrale de régulation des communications de partage, utilisant une plateforme de traçabilité selon l’invention et caractérisée en ce que chaque entité peut indiquer par un message ou un attribut de message à la plateforme de traçabilité qu’elle souhaite partager ses résultats avec toute entité.

Selon une autre particularité, les entités ciblées par ces requêtes comportant les identifiants des entités ciblées, devront alors se conformer à la demande et répondre au propriétaire par un accusé de réception, cet accusé de réception servant de preuve qu'ils ont traité la demande.

Selon une autre particularité, chaque entité comporte un agencement matériel et logiciel permettant de coupler l’utilisation de cet historique des échanges entre les entités et la comparaison des marquages des données concernées pour en déduire l’origine d’une fraude ou défaillance.

Selon une autre particularité, chaque entité comporte un agencement permettant de confirmer l’échange ou l’action en tant qu’entité représentant l’interlocuteur en face.

D’autres particularités et avantages de la présente invention sont détaillés dans la description qui suit.

BREVE DESCRIPTION DES FIGURES

D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après, faite en référence aux dessins annexés, dans lesquels :

[Fig. 1 ] représente schématiquement le déroulement des différentes étapes de mise en œuvre d’un procédé de marquage selon l’invention.

[Fig. 2] représente schématiquement un scénario explicatif de fonctionnement de l’invention par la détection de partage de contrefaçon dans un environnement dédié capable de tracer les échanges entre les entités de cet environnement. [Fig. 3] représente schématiquement un exemple d’environnement informatique pouvant être utilisé pour mettre en oeuvre un ou plusieurs aspects de l'invention comprenant un groupe de noeuds d’un système informatique ayant une topologie de grappe du type « fat-tree ».

[Fig. 4] représente schématiquement un exemple de nœud d’un système informatique selon l’invention.

DESCRIPTION DES MODES DE REALISATION

Ainsi, la présente invention propose un nouveau procédé de marquage de données tabulaires brutes sans structures particulières à l’inverse des bases de données, images, vidéo, ce marquage se transmettant aux résultats dérivés en particulier sur des données liées aux domaines de la data science et du machine learning.

Notre invention traite du cas d’un partage de jeu de données tabulaires à des fins de création de modèles de machine learning capables de généraliser des comportements complexes dans le but de résoudre des problématiques de détection, de classification, de prédiction, ...

Un jeu de données de machine learning est composé d’observations exprimées à l’aide de caractéristiques. Ces observations sont utilisées pour déduire le modèle généralisant un objectif recherché. Les caractéristiques également appelées attributs se présentent sous forme de colonnes de plusieurs valeurs à la suite, relatives aux différentes observations.

Dans cet environnement, la méthode de marquage présente deux étapes afin d’offrir la possibilité d’un partage sous surveillance :

La première étape consiste d’abord à transformer tous les attributs en valeurs numériques homogènes, par une transformation utilisant une unique méthode sur l’ensemble des données en une fois. Cette homogénéité se traduit par la transformation atomique du jeu de données de façon à en garder la structure et l’expressivité. La transformation ne concernera évidemment que les attributs qui ne sont pas déjà sous forme numérique. On appelle cette étape « le feature embedding ». Comme dit précédemment, cette étape a pour contrainte de garder la même expressivité des attributs entre leur état non numérique et leur état transformé numérique. Cette étape peut être soit humaine soit automatique en fonction de la quantité de données à traiter.

La seconde étape consiste à transformer ces données initiales numériques en données secondaires numériques qui pourront être partagées. C’est au cours de cette seconde étape que le procédé procède au marquage des données permettant de présenter une preuve servant à faire valoir ses droits à la propriété en détectant et identifiant les coupables à l’origine d’une fuite comme décrit ci-dessous. Le marquage est réalisé sur lesdites données tout en les conservant lisibles et utilisables par une entité tierce.

La seconde étape peut comprendre deux sous étapes.

La première sous étape correspond à la transformation de toutes données initiales numériques en données secondaires numériques effectuée grâce à une fonction « f » présentant au moins certaines, de préférence toutes les particularités suivantes :

• Être assez complexe pour ne pas déduire la fonction inverse « f -1 » à partir du résultat partagé (robustesse).

• Garder les caractéristiques de la donnée initiale afin de pouvoir arriver aux mêmes résultats de modèle en utilisant les données initiales ou transformées (utilisabilité).

• Être paramétrable afin de différencier les données transformées en fonction de l’entité avec laquelle s’effectue le partage (capacité).

• Être non distinguable dans la donnée partagée (transparence). • Être unique pour chaque couple « donnée transformée/clé privée » ayant permis la transformation avec « f » (sécurité)

• Être capable de retrouver le marquage avec « f-1 » même si une autre entité marque de nouveau les données avec une autre fonction « f » (transitivité).

La seconde sous étape consiste à intégrer le cas de la transitivité, à savoir le marquage des résultats obtenus par le biais de données partagées précédemment. Ici le marquage s’effectue sur le modèle récupéré en le modifiant légèrement afin d’y intégrer un marquage le différenciant de toute autre version conçue à partir du partage des données initiales.

Ce marquage utilise des données privées inédites jamais partagées qui ont été extraites du jeu de donnée partagé avant que le partage ait eu lieu. Autrement dit, ces données doivent être gardées à part (rester privées) quand bien même issues du même jeu de données qui, après transformation par « f », est partagé pour servir à construire le modèle récupéré.

L’Homme du métier comprend aisément que ce marquage n’est pas un chiffrement de la donnée, mais bien un marquage « transparent ». Les données ainsi marquées sont non distinguables des données non marquées, sauf par la réalisation de l’étape de vérification par la comparaison des données en utilisant ladite fonction « f ».

En d’autres termes, cela permet de ne pas pouvoir distinguer le marquage de f au sein de la donnée pour éviter la possibilité pour un tiers de s’en débarrasser (transparence) et d’être en capacité à retrouver la source de la donnée même si une autre entité effectue un nouveau marquage elle-même sur la donnée partagée (transitivité).

L’objectif n’est ainsi pas de masquer le contenu mais de marquer la donnée de façon à garder ses caractéristiques (son exploitabilité) afin qu’elle puisse être utilisée marqué de la même façon que si elle était restée en clair, c'est-à-dire non marquée.

De plus, l’état de l’art montre que les mécanismes de cryptographie type (MPC ou homomorphe) sont limités par leur capacité à faire des opérations complexes (non linéaires ex : fonction Sigmoïde) nécessaires à la création d’un modèle de machine learning abouti. Ce procédé permettant d’offrir une alternative aux contraintes cryptographiques via les deux opérations de la seconde étape à savoir i) un marquage primaire des données consistant en une transformation des valeurs numériques initiales grâce à une fonction « f utilisant une clé privée », et ii) un marquage secondaire utilisant une donnée privée non partagée et stockée séparément.

L’homme du métier comprend aisément la nature de la fonction « f ». Celle-ci ne peut pas être précisée puisque par définition la fonction « f » dépend de la nature de la donnée et de l’objectif que l’on veut atteindre par le partage de cette donnée. En effet, « f » doit permettre d’être capable de garder les caractéristiques de la donnée initiale (usabilité). Ainsi « f » ne peut se dissocier de la donnée que l’on traite. La fonction f doit dépendre de l’intuition de l’entité qui veut l’utiliser pour partager ses données, concernant les caractéristiques à garder pour ne pas biaiser les résultats (modèles) escomptés. A titre d’exemple non limitatif, pour des données numériques si l’on veut garder au sein de la structure de la donnée la distance relative entre les éléments qui la compose il est possible de proposer une fonction « f » qui applique une homothétie sur les données.

L’illustration de l’organigramme des étapes susmentionnées est présentée en Figurel .

Par ailleurs, il est bon de noter que pour avoir un cycle complet de vérification de l’origine de la donnée il faut avoir procédé à la phase de mise en place du marquage ainsi qu’à celle de vérification de ce marquage :

1 - Phase de mise en place du marquage :

On génère la donnée (Dm) par le biais de « f » à partir de (D). Dans ce cas-là le marquage fait partie de la fonction « f ».

Pour ce qui est du modèle (M) on le combine non marqué avec le marqueur (m) pour générer le modèle marqué (Mm).

2- Phase de vérification du marquage :

Elle consiste à prendre une donnée marquée à vérifier (D’m’), dissocier grâce à

« f -1 », la donnée (D’) et le marquage (m’) et comparer (m) avec (m’). Si (m) et (m’) sont égaux alors la donnée est valide, sinon il y a eu contrefaçon. Dans le cas d’un modèle (M’m) on utilise la partie des données privée inédite (p) qui ont été extraites avant le partage et gardée en mémoire, pour interroger le modèle (M’) et l’on vérifie les résultats de (M’m) sur ces données-là. Ainsi on peut savoir si (M’) est bien la version officielle diffusée.

La vérification est réalisée par une inférence sur les données privées (p). Si c’est le bon modèle, ces données-là auront servi à son entrainement et donc donneront les résultats attendus. Si le modèle est une version non officielle, il n’aura pas été entraîné sur les données (p) et donnera lors du test d’inférence des résultats non attendus. Les données (p) sont des données non marquées gardées privées pour un entrainement du modèle (Mm) à posteriori du marquage (m) lié aux données par la fonction « f » afin d’en obtenir un modèle (M’m) à partager. Ceci permet de le distinguer du modèle (Mm) calculé par l’entité ayant reçu les données marquées. Nous cherchons donc à vérifier que la version en circulation est bien la version officielle (M’m). Puisque Mm est la version qui est censée ne plus être en circulation.

La classification de modèle occupe un rôle central dans l'apprentissage automatique à partir des données.

L'apprentissage automatique comporte généralement deux phases. La première consiste à estimer un modèle à partir de données, appelées observations, qui sont disponibles et en nombre fini, lors de la phase de conception du système. L'estimation du modèle consiste à résoudre une tâche pratique, telle que traduire un discours, estimer une densité de probabilités, reconnaître la présence d'un chat dans une photographie ou participer à la conduite d'un véhicule autonome. Cette phase dite « d'apprentissage » ou « d'entraînement » est généralement réalisée préalablement à l'utilisation pratique du modèle. La seconde phase correspond à la mise en production : le modèle étant déterminé, de nouvelles données peuvent alors être soumises afin d'obtenir le résultat correspondant à la tâche souhaitée. En pratique, certains systèmes peuvent poursuivre leur apprentissage une fois en production, pour peu qu'ils aient un moyen d'obtenir un retour sur la qualité des résultats produits. Notez que pour atteindre le résultat escompté par cette invention (détecter et identifier les coupables à l’origine d’une fuite), il y a besoin que le déroulement des étapes susmentionnées, ainsi que les échanges de données ou de modèles dont il est question, s’effectuent par le biais d’une plateforme décentralisée permettant de tracer tous les échanges réalisés.

Ainsi, grâce à la traçabilité offerte par le réseau dans lequel on évolue, nous sommes en mesure d’appliquer les principes de notre invention.

En d’autres termes, une telle plateforme permet avantageusement de fournir l’environnement présentant les conditions nécessaires à la mise en œuvre du procédé.

Les possibilités offertes par une telle plateforme de traçabilité sont :

- Lister les entités qui ont une copie de ses données partagées par le biais d’un module de ladite plateforme qui interroge la chaîne de blocs et récupéré un identifiant de l’ensemble des entités ayant reçu le partage ;

- Envoi de requêtes régulières demandant si les ensembles de données d’une entité ont été repartagés dans le système, et par quelles autres entités ;

- Envoi de requêtes de suppression ou de modification d’une partie des données initialement partagées à des entités cibles.

Les entités ciblées par ces requêtes devront alors se conformer à la demande et répondre au propriétaire par un accusé de réception. Cet accusé de réception sert de preuve qu'ils ont traité la demande. Dans un mode de réalisation préférentiel, ladite plateforme de traçabilité permet les 3 fonctionnalités cités précédemment.

Avantageusement, un module de la plateforme a pour but d’interroger la blockchain et récupérer l’ensemble des entités ayant reçu le partage, afin de pouvoir réaliser l’action de lister les entités. Cet environnement n’étant qu’un historique, il a l’inconvénient d’être incapable d’offrir une solution qui puisse fournir la preuve du non-respect des termes du contrat de partage ni de détecter les comportements illicites.

De ce fait, le but de notre invention est de combler ce vide. Ainsi elle donnera la possibilité de coupler l’utilisation de cet historique des échanges entre les entités et la comparaison des marquages des données concernées, ceci afin d’identifier les auteurs de la fuite et donc de pouvoir faire valoir ses droits à la propriété intellectuelle.

Exemple de réalisation d’un scénario de marquage illustré par la figure 2

Afin d’illustrer le fonctionnement du procédé de marquage, l’exemple suivant a été développé.

Deux utilisateurs « A » et « B » sont en relation grâce une plateforme de traçabilité DTP. Dès lors, toute transaction dans cet environnement est répertoriée et consignée et chaque échange/action se doit d’être confirmé par l’interlocuteur en face.

L’entité“A” veut partager à l’entité“B” le jeu de données (D).

L’entité“A” transforme le jeu de données (D) en jeu de données marquées (Dm) au moyen du procédé décrit ci-dessus par l’intermédiaire d’une fonction « f ».

« B » étant un partenaire, son rôle du point de vue de « A » est qu’il lui fournisse un modèle de données marquées (Mm) à partir de (Dm).

(M) correspond au modèle obtenu sur des données (D).

(Mm) correspond au modèle obtenu sur les données marquées (Dm)

Les modèles (Mm) et (M) sont différents mais équivalent car ils sont issus de l’utilisation de la même fonction « f ».

Une fois le modèle (Mm) récupéré par « A », « A » demande à « B » de supprimer le modèle (Mm) et les données (Dm), étant donné que (Mm) et (Dm) seront issues et utilisées uniquement sur le jeu de données appartenant à « A ». « B » confirme la suppression qui est répertoriée et stockée dans une blockchain.

Enfin, « A » marque le modèle récupéré (Mm) grâce aux données supplémentaires particulières (p) afin d’obtenir un modèle (Mm’) qui correspond :

(Mm’) = [(Mm) + (données supplémentaires privées)].

C’est le modèle marqué comprenant les données supplémentaires privées (Mm’) qui sera utilisé par « A » dans le cadre de son partage ou de sa diffusion.

Ainsi si « A » rencontre le modèle (Mm’) quelque part, il est capable de vérifier que c’est une version légitime, en utilisant les données supplémentaires privées (p) stockées en mémoire qui ont permis de marquer le modèle (Mm’). Si le modèle rencontré donne un résultat qui est égal sur certains exemples tout en étant différent sur les données particulières alors c’est que“B” a diffusé sans son accord (Mm). « A » est donc en mesure de prouver que « B » ne respecte pas sa propriété intellectuelle.

De même, si « A » rencontre la donnée (Dm) quelque part, « A » utilise une fonction inverse « f _1 » pour dissocier (D) et (m) et comparer les marquages afin de prouver que « B » diffuse des données issues de sa propriété intellectuelle.

Enfin, l’enregistrement dans la blockchain permet une traçabilité de l'historique, celui- ci devient très difficilement falsifiable. C’est grâce à cette historique infalsifiable des traces d’échanges stockés sur la plateforme décentralisée, que « A » pourra faire valoir ses droits vis-à-vis de « B ».

Dans certains modes de réalisation, la blockchain est privée. En effet, l’objectif ici est d’échanger des informations de manière collaborative entre membres affiliés afin de bénéficier de contrepartie et identifier les fuites. Cependant l’avantage du mécanisme de marquage est de pouvoir s’en servir sur potentiellement une blockchain publique avec un fonctionnement sans contrepartie se basant uniquement sur la capacité de traçage et de marquage de l’information. Ainsi dans d’autres modes de réalisation, la blockchain est publique.

On comprendra aisément à la lecture de la présente demande que les composants de la présente invention, comme généralement décrits et illustrés dans les figures, peuvent être arrangés et conçus selon une grande variété de configurations différentes. Ainsi, la description de la présente invention et les figures afférentes ne sont pas prévues pour limiter la portée de l'invention mais représentent simplement des modes de réalisation choisis.

Plusieurs unités fonctionnelles décrites dans la présente description ont été nommées « modules », afin de souligner leur indépendance d'exécution. Par exemple, un module peut être mis en œuvre par circuit électronique, tel qu’un circuit intégré par exemple ou par d’autre types d’arrangement de composants, tels que par exemple des semi-conducteurs, des portes logiques, des transistors ou d'autres composants discrets. De tels modules peuvent également être mis en œuvre par une ou plusieurs application(s) logicielle(s) ou portion(s) de code exécutable(s) au sein d’au moins un environnement logiciel, pour l'exécution par divers types de processeurs et ce, quel que soit le langage utilisé. Un module identifié peut, par exemple, comporter un ou plusieurs blocs physiques ou logiques d’instructions machine qui peuvent, par exemple, être organisés en objet, procédé, ou fonction. De plus, les routines et instructions d'un module identifié n'ont pas besoin d'être physiquement localisées ensemble, mais peuvent comporter des instructions disparates stockées dans différents endroits qui, une fois réunis fonctionnellement et logiquement ensemble, forment le module et réalisent le but indiqué pour le module.

En effet, un module peut être une instruction simple de code exécutable, ou une pluralité d'instructions, et peut même être distribué parmi plusieurs différents segments de code ou parmi différents programmes et stocké dans plusieurs blocs de mémoires. De même, des données opérationnelles peuvent être identifiées et illustrées dans des modules, et peuvent être incorporées sous n'importe quelle forme appropriée et être organisées dans n'importe quel type approprié de structure de données. Les données opérationnelles peuvent être rassemblées ou peuvent être réparties sur différents endroits incluant différents dispositifs de stockage finis, et peuvent exister, au moins partiellement, simplement en tant que signaux électroniques sur un système ou un réseau. De plus, par le terme système, on entend ici tout type de terminal ou dispositif agencé pour effectuer les fonctions décrites en référence aux modules. Le système comporte des moyens de traitement de données permettant de réaliser ces fonctions décrites et pourra donc comporter des circuits spécifiques réalisant ces fonctions ou comporter, d’une manière générale, des ressources informatiques permettant d’exécuter les instructions décrites précédemment.

Les références dans la présente description à une implémentation, un mode ou une variante de réalisation signifie qu'un dispositif, ou un module, ou une structure, ou une caractéristique particulière décrite est inclus dans au moins un mode de réalisation de la présente invention et que les différents exemples ne se rapportent pas forcément au même mode de réalisation.

En outre, les dispositifs, les structures, ou les caractéristiques décrites peuvent être combinés de n'importe quelle façon appropriée dans un ou plusieurs mode(s) de réalisation, à moins qu’ils ne soient incompatibles entre eux. Dans la présente description, de nombreux détails spécifiques sont fournis à titre illustratif et nullement limitatif, de façon à détailler précisément l’invention. L’homme de métier comprendra cependant que l'invention peut être réalisée en l’absence d’un ou plusieurs de ces détails spécifiques ou avec des variantes. A d’autres occasions, certains aspects ne sont pas détaillés de façon à éviter d’obscurcir et alourdir la présente description et l’homme de métier comprendra que des moyens divers et variés pourront être utilisés et que l’invention n’est pas limitée aux seuls exemples décrits.

La présente demande décrit diverses caractéristiques techniques et avantages en référence aux figures et/ou à divers modes de réalisation. L’homme de métier comprendra que les caractéristiques techniques d’un mode de réalisation donné peuvent en fait être combinées avec des caractéristiques d’un autre mode de réalisation à moins que l’inverse ne soit explicitement mentionné ou qu’il ne soit évident que ces caractéristiques sont incompatibles ou que la combinaison ne fournisse pas une solution à au moins un des problèmes techniques mentionnés dans la présente demande. De plus, les caractéristiques techniques décrites dans un mode de réalisation donné peuvent être isolées des autres caractéristiques de ce mode à moins que l’inverse ne soit explicitement mentionné.

Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la protection demandée, et l'invention ne doit pas être limitée aux détails donnés ci-dessus.

Après avoir décrit et illustré les principes de l'invention en référence à divers modes de réalisation, il sera reconnu que les divers modes de réalisation peuvent être modifiés en termes d'agencement et de détail sans s'écarter de ces principes. On comprendra que les différents concepts et aspects de l'invention décrits ci-dessus peuvent être mis en œuvre, par exemple, en utilisant un ou plusieurs processeurs, modules, instructions exécutables par machine, ordinateurs et / ou serveurs. Il convient de comprendre que les concepts et les aspects de l'invention décrits ici ne sont pas liés ni limités à un type particulier d'environnement informatique, sauf indication contraire. Différents types d'environnements informatiques spécialisés peuvent être utilisés avec ou effectuer des opérations conformément aux enseignements décrits ici. Les éléments des modes de réalisation montrés dans le logiciel peuvent être implémentés dans le matériel et inversement.

Un ou plusieurs dispositifs, processeurs ou dispositifs de traitement peuvent être configurés pour exécuter la ou les fonctions de chacun des éléments et modules de l'agencement structurel décrit ici. Par exemple, le ou les dispositifs, processeurs ou dispositifs de traitement peuvent être configurés pour exécuter une ou plusieurs séquences d'une ou plusieurs instructions exécutables par la machine contenues dans une mémoire principale afin de mettre en œuvre le ou les procédés ou la ou les fonctions décrites dans la présente. L'exécution des séquences d'instructions contenues dans une mémoire principale amène les processeurs à exécuter au moins certaines des étapes du processus ou des fonctions des éléments décrits ici. Un ou plusieurs processeurs dans un agencement multitraitement peuvent également être utilisés pour exécuter les séquences d'instructions contenues dans une mémoire principale ou un ordinateur lisible en mémoire. Dans des variantes de modes de réalisation, des circuits câblés peuvent être utilisés à la place ou en combinaison avec des instructions logicielles. Ainsi, les modes de réalisation ne sont limités à aucune combinaison spécifique de circuits matériels et logiciels. Le terme "support lisible par ordinateur", tel qu'utilisé ici, désigne tout support qui participe à la fourniture d'instructions à un processeur pour exécution. Un tel support est non transitoire et peut prendre de nombreuses formes, y compris, mais sans s'y limiter, un support non volatile, un support volatile et un support de transmission. Les supports non volatiles incluent, par exemple, les disques optiques ou magnétiques. Les supports volatiles incluent la mémoire dynamique. Les supports de transmission comprennent les câbles coaxiaux, le fil de cuivre et les fibres optiques. Les formes courantes de supports lisibles par ordinateur incluent, par exemple, une disquette, un disque flexible, un disque dur, une bande magnétique, tout autre support magnétique, un CD-ROM, un DVD, tout autre support optique, des cartes perforées, un autre support physique avec des motifs de trous, une RAM, une PROM et une EPROM, une FLASH-EPROM, toute autre puce mémoire ou cartouche, une onde porteuse comme décrit ci-après, ou tout autre support pouvant être lu par un ordinateur. Diverses formes de supports lisibles par ordinateur peuvent être impliquées dans le transport d'une ou plusieurs séquences d'une ou plusieurs instructions au processeur pour exécution.

Des programmes d'ordinateur comprenant des instructions exécutables par une machine pour la mise en œuvre d'au moins une des étapes des procédés et / ou des aspects et / ou des concepts de l'invention décrits ici ou une ou plusieurs fonctions de divers éléments de l'agencement structurel décrit ici peuvent être mis en œuvre ou plusieurs ordinateurs comprenant au moins une interface, un processeur physique et une mémoire non transitoire (également appelé, de manière générale, un support de stockage ou de lecture lisible par machine non transitoire). L’ordinateur est un ordinateur à usage spécial, car il est programmé pour exécuter des étapes spécifiques du ou des procédés décrits ci-dessus. La mémoire non transitoire est codée ou programmée avec des instructions de code spécifiques pour la mise en oeuvre du ou des procédés ci-dessus et de ses étapes associées. La mémoire non transitoire peut être agencée en communication avec le processeur physique afin que le processeur physique, en cours d'utilisation, lise et exécute les instructions de code spécifiques incorporées dans la mémoire non transitoire. L'interface de l'ordinateur à usage spécifique peut être agencée en communication avec le processeur physique et recevoir des paramètres d'entrée qui sont traités par le processeur physique.

L'homme du métier comprendra que les agencements et procédés décrits ici représentent une solution au problème technologique décrit ci-dessus.

La figure 3 montre un environnement informatique pouvant être utilisé pour mettre en œuvre un ou plusieurs aspects de l'invention.

Un tel calcul est généralement effectué sur des systèmes de traitement de données appelés grappes. Un cluster comprend généralement un groupe de nœuds interconnectés. Certains nœuds sont utilisés pour effectuer des tâches informatiques (nœuds de calcul), d'autres nœuds servent à stocker des données (nœuds de stockage) et un autre nœud gère normalement le cluster (nœud d'administration). Chaque nœud est par exemple un serveur mettant en œuvre un système d'exploitation tel que, par exemple, Linux (Linux est une marque déposée). La connexion entre les nœuds s'effectue, par exemple, à l'aide de liaisons de communication Ethernet ou InfiniBand (Ethernet et InfiniBand sont des marques déposées). la machine virtuelle respective d'au moins un moteur de contrôle de système de plateforme, d'au moins un dispositif de nœud de réseau ou d'au moins un dispositif est configurée pour exécuter des parties de la tâche spécifique, les parties de la tâche spécifique étant réparties en fonction de caractéristiques de capacité et d'efficacité de la machine virtuelle respective du au moins un moteur de contrôle du système de plate-forme, du au moins un dispositif de nœud de réseau ou du au moins un dispositif.

La figure 3 montre schématiquement un exemple de topologie de grappes 100, du type arbre fat. La topologie comprend un groupe de nœuds généralement référencé 105. Ici, les nœuds appartenant à un groupe 1 10 sont des nœuds de calcul et les nœuds d'un groupe 1 15 sont des nœuds de service (nœuds de stockage et nœuds d'administration). Les nœuds de calcul peuvent être regroupés dans des sous- groupes 120 appelés "îlots de calcul", le groupe 1 15 étant appelé "îlot de service". Les nœuds sont reliés entre eux par des commutateurs, par exemple hiérarchiquement. Dans l'exemple représenté sur la figure 3, les noeuds sont connectés à des commutateurs de premier niveau 125, qui sont reliés à des commutateurs de second niveau 130, eux-mêmes reliés à des commutateurs de troisième niveau 135.

Comme le montre la figure 4, chaque nœud comprend généralement un ou plusieurs microprocesseurs, des mémoires locales et une interface de communication. Plus précisément, le dispositif 200 comprend ici un bus de communication 202 auquel sont connectés :

- unités centrales ou microprocesseurs 204;

- composant de mémoire vive (RAM) 206, comprenant des registres adaptés pour enregistrer des variables et des paramètres créés et modifiés lors de l'exécution de programmes (comme indiqué, chaque composant de mémoire vive peut être associé à un microprocesseur); et,

- interfaces de communication 208 adaptées pour envoyer et recevoir des données.

Le nœud 200 comprend en outre ici des moyens de stockage internes 212, tels que des disques durs, capables notamment de contenir le code exécutable de programmes.

Le bus de communication permet une communication bidirectionnelle et une interopérabilité entre les différents éléments inclus dans le dispositif 200 ou connectés à celui-ci. Les microprocesseurs 204 contrôlent et dirigent l'exécution d'instructions ou de parties de code logiciel du programme ou des programmes. Lors de la mise sous tension, le ou les programmes stockés dans une mémoire non volatile, par exemple un disque dur, sont transférés dans la mémoire vive 206.

Système de plate-forme Internet de multiples dispositifs de plate-forme couplés en communication pour une communication bidirectionnelle à plusieurs nœuds de réseau de communication de plate-forme, système comprenant : Un moteur de plate-forme couplé en communication pour une communication bidirectionnelle avec les noeuds de réseau de communication de plate-forme, et via celui-ci couplé en communication pour une communication bidirectionnelle avec les dispositifs de plateforme ;

Le moteur de plate-forme ayant plusieurs modules de fonction, le moteur de plate forme étant disposé sur un nombre sélectionnable de noeuds de serveur d'un nuage de noeuds de serveur, au moins un module de fonction des modules de fonction multiples étant un module de moteur de provisionnement configuré pour remplir de manière sélectionnable les noeuds de serveur ou un des périphériques avec le moteur de la plate-forme, et un autre des modules de fonction multiples étant un module contrôlant l'affichage de tous les périphériques en

fonctionnement pour délivrer un signal pour chacun permettant une distinction visuelle établie entre les dispositifs de fonctionnement normaux (en vert par exemple), l'anormal des dispositifs de commande (par exemple en rouge) et coopérant avec un module prédictif établissant des valeurs prédites des signaux délivrés par chaque dispositif et indiquant différemment les dispositifs dont la valeur de prédiction doit dépasser la valeur de seuil prédéterminée établie par l'utilisateur dans son application métier.