WO2019201957A1 - Procédés de mise en oeuvre d'algorithmes d'analyse statistique de données caractérisant le comportement d'un ensemble d'éléments et système associé - Google Patents

Procédés de mise en oeuvre d'algorithmes d'analyse statistique de données caractérisant le comportement d'un ensemble d'éléments et système associé Download PDF

Info

Publication number
WO2019201957A1
WO2019201957A1 PCT/EP2019/059852 EP2019059852W WO2019201957A1 WO 2019201957 A1 WO2019201957 A1 WO 2019201957A1 EP 2019059852 W EP2019059852 W EP 2019059852W WO 2019201957 A1 WO2019201957 A1 WO 2019201957A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
data
platform
algorithm
data set
Prior art date
Application number
PCT/EP2019/059852
Other languages
English (en)
Inventor
Yves LOZINGUEZ
Laurent HENOCQUE
Dimitar JETCHEV
Yakov Gurkan
Original Assignee
Thales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales filed Critical Thales
Publication of WO2019201957A1 publication Critical patent/WO2019201957A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Definitions

  • the present invention relates to the field of secure data operating systems implementing statistical data analysis algorithms characterizing the behavior of a set of elements.
  • Such systems are used to extract statistical information from the experimental data and in particular to build statistical models that can be used later, in particular to anticipate the (dysfunctional) elements and / or their use.
  • the data characterizing the operation of equipment for example from sensors, are stored in a secure and confidential manner within respective platforms and can not be shared between the platforms.
  • these data include those characterizing the operation of a given piece of equipment integrated in a fighter plane or an airliner, which is therefore prohibited to share between the owners of the fleets of these aircraft for classification reasons or commercial confidentiality, or for example those characterizing the operation of several equipment of the same fighter aircraft or airliner, which it is therefore forbidden to share between the different manufacturers supplying these equipment for reasons of commercial confidentiality.
  • the invention proposes a method for implementing, by a secure data operating system, statistical data analysis algorithms characterizing the operation of a set of elements, said secure data operating system comprising a central platform and local platforms,
  • each of said algorithms being a model learned from data input to it, wherein said data is distributed into selectively held data sets in separate local platform memories each further comprising a used processor to implement the steps below pertaining to said local platforms, said method comprising the following steps:
  • each local platform holding a selected data set verifying the integrity of the selected data set held by said local platform according to its stamping, execution on the processor of said local platform of the program of respective executable computer of the algorithm selected on the data set of said local platform whose integrity has been verified, and delivery to the central platform by each local platform of the local result resulting from said execution;
  • the invention thus makes it possible to execute algorithms for statistical analysis of data by ensuring that the data held by each platform remain confidential and undisclosed beyond the platform while benefiting from all the data. distributed, and therefore the information they contain.
  • Each of the platforms continues to fully control the security conditions applied to their data since they do not leave the platform.
  • the method according to the invention further comprises one or more of the following features:
  • the stamping of a data set comprises the following steps:
  • creating a modified data set by inserting a data area at the location found in the data set to be stamped, the data area including a landmark and an excluded area;
  • the verification of the integrity of a data set according to its stamping comprises the following steps:
  • said stamping performed on a local platform further guarantees the identity of said local platform
  • the algorithms of the first list are non-trivial algorithms
  • the elements comprise technical equipment and the algorithms of the first list comprise algorithms among algorithms for developing models of the behavior of a technical equipment and algorithms for developing models of wear or failures or predictive maintenance at least one technical equipment;
  • the present invention proposes a method of implementation, by a local platform, of statistical data analysis algorithms characterizing the behavior of a set of elements, according to which the result of each of said algorithms being a model learned on data input to it, said system having a central platform and local platforms, said local platform including a memory storing at least one dataset and including a used processor to implement the steps below:
  • each local result comprising a model learned on a data set of a respective local platform and the overall result including a model learned on said data sets; - verification according to the dataset whose integrity has been verified, the result of the execution of the program on the local platform and the selected algorithm, that the local result corresponds to the data set and audit algorithm, generation of an item of evidence indicating such verification and issuance of the evidence generated at the central platform, for central platform verification based on said evidence and at least another piece of evidence determined by the other local platform, the overall result and the algorithm, that said overall result corresponds to said datasets used by the local platforms and to the algorithm.
  • the present invention proposes a system for implementing algorithms for the statistical analysis of data characterizing the behavior of a set of elements, said data being distributed into data sets held selectively in flat memories.
  • said system comprising a central platform and separate local platforms each comprising a processor and a memory storing at least one data set,
  • each local platform is adapted to digitally stamp the data sets held in the memory of said local platform, said stamping guaranteeing at least the date of stamping and the integrity of said data,
  • the central platform is adapted to provide to a third party device a first list of statistical data analysis algorithms, and to provide the third party device for each of said algorithms, a second list indicating those data sets held in memories of platforms usable as input data of said algorithm, for detecting a selection, by the third-party device, of an algorithm for statistical analysis of data in the first list and at least some data sets of the second list held by separate platforms;
  • the central platform being further adapted to develop for each local platform, based on said selected algorithm, a respective executable computer program of the algorithm having as input the selected data set held by said providing a local platform and providing, at each local platform holding a selected data set, said executable computer program developed for it;
  • each local platform holding a selected data set is further adapted to check the integrity of the selected data set held by said local platform according to its stamping, for executing on the processor of said local platform the respective executable computer program of the selected algorithm on the data set of said local platform whose integrity has been verified, and for delivering to the central platform the local result from said execution;
  • the central platform being adapted to determine an overall result based on the local results delivered by the local platforms, the global result including a learned model on the selected datasets;
  • each of said local platforms being adapted to verify, based on the data set of said local platform whose integrity has been verified, the result from the execution of the program on the local platform and the algorithm selected, that the local result corresponds to said selected data set and said algorithm and to generate an item of evidence indicating that check;
  • the central platform being adapted to check based on the evidence determined by said local platforms, the overall result and the selected algorithm that said overall result corresponds to said selected data sets whose integrity has been verified and to the selected algorithm, and to deliver the overall result to the third-party device only after said verification.
  • the present invention provides a platform for storing confidential data, comprising:
  • ZKP zero knowledge proof
  • FIG. 1 represents a schematic view of a system for implementing algorithms for the statistical analysis of data in one embodiment of the invention
  • FIG. 2 is a flowchart of steps of a method for implementing statistical data analysis algorithms in one embodiment of the invention.
  • the solution according to the invention relates to artificial intelligence and machine learning (machine learning English).
  • the invention provides an artificial intelligence system making it possible to extract statistical knowledge from a set of data distributed between different platforms, while guaranteeing the confidentiality of these data since the data of a platform form are not disclosed beyond the platform.
  • a "circle of trust” is guaranteed to several stakeholders (the source platforms holding the data, the part receiving the result of the algorithm which, moreover, can be one of the source platforms) making it possible to perform algorithmic processing requiring the analysis of data on a set gathering the data of the different parts without revealing the data themselves.
  • Learning a statistical model (or the subsequent execution of such a driven model) is made more efficient or relevant by accessing a larger data set without the need to centralize data in one place and to disclose the data to other parties.
  • each part provides a set of samples corresponding to the same type of data (typical case: measurements of the same characteristics (temperature, pressure, speed, acceleration, breakdowns .%) by the same equipment or by similar equipment held by parties different. Analysis by algorithmic processing is therefore done on the meeting of all samples from all parties.
  • the data can also be used "horizontally". In this case each part provides some attributes only of the same set of samples. Analysis by algorithmic processing is done on a data type corresponding to the meeting of attributes of all parties. For example, in the case where a sample is intended to characterize the behavior of the equipment of a combat aircraft in order to extract an availability prediction model, certain attributes will be extracted from the surveillance of a sensor-type equipment, from other attributes of a nacelle type designation equipment, yet other attributes of a front-end optronic type equipment.
  • all the communications between the parties including the requester are encrypted in such a way that someone who would have recorded all the exchanges related to the transmission of the software coding the algorithm or their results would be in the inability to retrieve input data;
  • FIG. 1 diagrammatically represents a system 1 for implementing algorithms for the statistical analysis of data in one embodiment of the invention.
  • the system 1 comprises different parts, in particular source platforms 21, a third electronic device 10 and an intermediate platform 3.
  • the third device 10 comprises a computer with central unit and screen and is particularly adapted to interact with a user.
  • the source platforms 21 are distinct and, in one embodiment, distributed in various geographical positions.
  • they are furthermore all distinct from the intermediate platform 3.
  • the system 1 further comprises a telecommunications network 7, for example the Internet, enabling telecommunications to be implemented at least between the intermediate platform 3 and the third device 10, and between the intermediate platform 3 and each of the platforms. source forms 21.
  • a telecommunications network 7 for example the Internet, enabling telecommunications to be implemented at least between the intermediate platform 3 and the third device 10, and between the intermediate platform 3 and each of the platforms. source forms 21.
  • Intermediate platform 3 comprises an interface electronic block 4, a main algorithmic processing electronic block 5 and a validation supervisory electronic block 6.
  • the electronic interface unit 4, the main algorithmic processing electronic block 5 and the validation supervisory electronic block 6 each comprise a memory and a processor. They are, according to the embodiments, geographically grouped or distributed.
  • Each of the source platforms 21 comprises a memory 22 and a processor 23.
  • Each memory 22 stores data sets 24.
  • Each source platform 21 furthermore comprises an electronic stamping module 25, a local electronic algorithm processing module 26 and a local electronic validation module 27.
  • FIG. 1 three source platforms 21 have been represented, denoted FA, FB, FC respectively comprising the memories MEM A, MEM B and MEM C and the respective processors Proc A, Proc B, Proc C.
  • the number of plates source-forms is here three, but it can take any value greater than or equal to 2.
  • the stamping module 25 is adapted to stamp the data sets 24 stored in the memory 22, and to further test whether data previously stamped by the module 24 are intact (ie have not been modified since stamping). Stamping module 25permet thus to guarantee the integrity of the stamped data sets when they are subsequently manipulated or to detect a malicious modification of said data.
  • the stamping of a data set made by the stamping module 25 comprises the calculation of a digital fingerprint (signature) as a function, in particular, of the data and, for example, of the stamping date.
  • the stamping is further dependent on an identification of the source platform includes the stamping module 25. In addition to the integrity of the data, that of the identity of the source platform of Data membership or date stamping are thus guaranteed in embodiments.
  • the stamping includes the insertion of such a signature within the data.
  • the stamping and the stamping test are carried out according to the solution implemented by KeeeX® (https://keeex.me/en/solutions/) whose principles are described below and detailed in the patent applications FR3001313, WO20141 14861, EP2949070,
  • KeeeX stamping and the stamping test are described here https://keeex.me/en/products/keeex-core/.
  • the stamping is carried out as indicated below:
  • creating a modified data set by inserting a data area at the location found in the data set to be stamped, the data area including a landmark and an excluded area;
  • the local algorithmic processing module 26 within a source platform 21 is adapted to receive, from the main algorithmic processing block 5, a message comprising an executable binary program encoding a statistical data analysis algorithm, and the identification of a selected dataset stored on the source platform 21.
  • the local algorithm processing module 26 is adapted to store this program in the memory 22, to start the execution of said program on the processor 23 of the source platform 21, with as input the indicated data set stored in the memory 22.
  • the algorithmic processing local module 26 is adapted to receive, from the main algorithmic processing block 5, a local secret key (which is a fraction of a global secret key) associated with the program. binary.
  • this program is further adapted, during the execution of this program, to exchange with the other source platforms 21, encrypted information that cryptographically guarantees that the input data is not encrypted. revealed. This information is encrypted based on the local key.
  • shared secrets in the sense of secret sharing of Adi Shamir (see “How to share a secret", Communications of the ACM, 22 (1 1): 612- 613).
  • the local algorithmic processing module 26 is adapted to transmit, at the end of the execution of the program, the result of this execution (called local result), to the main block of algorithmic processing 5.
  • this result was previously encrypted by the algorithmic processing local module 26 using the local secret key associated with the program and previously received.
  • the local electronic validation module 27 is further adapted to calculate a piece of evidence according to the data set stamped by the stamping module used for the execution of the binary program, the local result obtained on the source platform and the type of algorithm corresponding to the binary program.
  • Such a piece of evidence of a dataset is for example a ZKP element (known in English as Zero Knowledge P roof), known in French as “proof with null knowledge” or as interactive proof without revelation which gives somehow an indication of the execution of the correct binary program on the selected and guaranteed dataset integrates without revealing the input data that was used for the calculation.
  • ZKP element known in English as Zero Knowledge P roof
  • proof with null knowledge or as interactive proof without revelation which gives somehow an indication of the execution of the correct binary program on the selected and guaranteed dataset integrates without revealing the input data that was used for the calculation.
  • the Zero-Knowledge Proof principle allows a "verifier block” to validate a calculation on private data by allowing a "prover block” to generate cryptographic proof that testifies to the accuracy of the calculated result (see, for example, the publication The Knowledge Complexity of Interactive Proof-Systems, Shafi Goldwasser, Silvio Micali, and Charles Rackoff, 1985, pp. 291 -304, STOC '85 Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing ).
  • the checker block corresponds to the local electronic validation module 27 and the "prover block” corresponds to the validation supervisor block 6.
  • the piece of evidence is obtained for example in accordance with the QED-it® solution.
  • the principle of the QED-it solution is, among others, published on http://qed-it.com/2017/07/the-hunting-of-the-snark/.
  • the local electronic validation module 27 is adapted to transmit to the validation supervisor block 6 each ZKP proof element with the identification of the corresponding data set and the source platform 21 where it is stored and the identification of the binary program .
  • the electronic interface unit 4 is adapted to transmit to a third party device, in response to a request from the latter, a list of statistical data analysis algorithms, the implementation of which is offered by the system 1. At each The algorithm in this list is associated with a list of selected datasets as input datasets for the algorithm.
  • This list of statistical data analysis algorithms comprises, for example, algorithms of the type:
  • the variables correspond to some of the types of data stored in the source platforms, for example the temperature parameters of certain equipment or their occurrence of faults, their dust, pressure, acceleration etc. ;
  • the input data sets therefore include the available samples of values of these parameters for the same type of equipment installed in different systems, or on the contrary, the available samples of different types of equipment integrated in the same system; for example it may be the operating temperature as a function of time of an electronic card, each set of input data being measured for different copies of this type of card or it may be the temperature and dust from the same electronic card, one set of data storing the temperature and the other the dust.
  • any supervised learning algorithm such as logistic regression for classification, k-averages for partitioning, decision trees, random forests, and boosted gradient trees for regression or regression the classification.
  • the overall result of the algorithm, as described below, is a model learned on all data sets that is more precise, in the sense of minimizing the risk of overinterpretation, than the model derived from the same algorithm on a only dataset.
  • the algorithms of the list must be, in embodiments, non-trivial algorithms, that is to say that it must not be possible, from the result resulting from the execution of such an algorithm, to be able to deduce the value of the input data on which the algorithm was executed.
  • the function used in the algorithm does not accept a reciprocal function.
  • a trivial algorithm is, for example, the identity function or the average function on a dataset containing only a single sample.
  • the main algorithmic processing block 5 is adapted to receive the identification of an algorithm selected from the aforementioned list of statistical data analysis algorithms, and the identification of those of the selected data sets to serve as data of inputs to the algorithm, and is further adapted to construct, based on the selected algorithm, an executable binary program encoding the selected algorithm and adapted to each source platform 21, and to transmit, via the network of 7 at each of the source platforms 21 storing at least one of the selected data sets, the built executable binary program and the identification of the selected dataset stored on this source platform.
  • the main algorithmic processing block 5 is further adapted to generate a secret global key which is split and of which it is the only one to know the totality. Only a respective dedicated fraction of the global secret key is distributed by the main algorithmic processing block 5 to each of the platforms in the executable binary program: this fraction provides a local key to the local platform to which it is transmitted allowing it to encrypt the communications over the telecommunication network 7 with the other binary programs running on the other source platforms 21 and with the main algorithmic processing block 5.
  • the binary program is the same for the different source platforms (except the local key)
  • the executable binary program is further adapted selectively to the data set selected for the source platform, when for example the input data of a source platform do not correspond to the same type as those from another source platform (for example, in the case of the development of a global model for determining the state of a block of equipment using data such as temperature and dust an equipment E1 present on a first source platform and using the data for example temperature and acceleration of an equipment E2 of a different type of E1 and present on a second source platform.
  • the main algorithmic processing block 5 is further adapted to receive, from each of said source platforms 21, their local result, ie the result of the execution of the executable binary program coding the selected algorithm on the data set selected stored in this source platform 21.
  • the result arrives in encrypted form, it is adapted to decipher each local encrypted result with the local key specific to the source platform from which it originates.
  • the main algorithmic processing block 5 is adapted to combine these local results from the platforms 21 and to determine, based on these combined results, the overall result of the execution of the selected algorithm on all the sets of games. selected data as distributed in different platforms sources 21. It is the only one to be able to decipher and combine the different local results thanks to the complete secret key that it is the only one to hold.
  • variances, covariances, averages of the different data sets of the platforms 21 make it possible to obtain the coefficients of the regression line of the set of data.
  • the overall result is identical to that which would be obtained by executing the selected algorithm on a memory (not represented in FIG. 1) which would contain all the selected data sets of the source platforms 21.
  • the validation supervisor block 6 is adapted to receive from the source platforms 21 evidence elements, here ZKP elements with the identification of the corresponding data set of a source platform 21 where it is stored and the identification of the binary program. It is adapted for, at the time of the supply by the intermediate platform 3 to the third device 10, the overall result determined for a selected algorithm and selected data sets, validate according to the evidence items determined for the datasets selected and received from the source platforms 21, the global result and the selected algorithm, that said overall result corresponds to said selected data sets and to the selected algorithm, and for, only if the validation confirms the correspondence, to issue a validation indication associated with the determined overall result.
  • the source platforms 21 evidence elements here ZKP elements with the identification of the corresponding data set of a source platform 21 where it is stored and the identification of the binary program. It is adapted for, at the time of the supply by the intermediate platform 3 to the third device 10, the overall result determined for a selected algorithm and selected data sets, validate according to the evidence items determined for the datasets selected and received from the source platforms 21, the global result
  • this validation is performed according to the QED-it ® solution.
  • the system 1 is adapted to implement the steps of a method 100 as now described with reference to FIG.
  • each source platform 21 stores in its memory 22 the data sets 24 relating to equipment from different sources, for example different fleets of aircraft, and stamped by the module of The platforms FA, FB, FC correspond, for example, respectively to aircraft fleets of the same model gathering the same types of equipment.
  • the system 1 in such a particular embodiment makes it possible to perform statistical calculations distributed on multiple data sets comprising confidential data that the data providers do not want to disclose to the other providers or to the initiator of the calculation by guaranteeing the security and the reliability of the source data, the algorithm used and the overall result provided.
  • a user transmits from a third party device 10 a request to the intermediate platform 3, for example via the telecommunications network 7.
  • the interface block 4 of the platform -form intermediate 3 transmits, for example via the telecommunications network 7, a response comprising a list of statistical analysis algorithms data whose implementation is offered by the system 1.
  • the interface block 4 transmits also a list indicating for each algorithm respective sets of data selectable as input data sets of the algorithm.
  • the user selects an algorithm from the list and selects all or some of the sets of data from the selectable datasets associated with that algorithm.
  • the algorithm selected is an algorithm for determining a model for predicting the occurrence of aircraft equipment failures of the type in question according to the following parameters: age of the aircraft, age of the equipment, flight duration, temperature undergone, acceleration experienced. Some of this data is confidential and should not be disclosed outside each of the source platforms 21 of the FA, FB, FC fleets.
  • the proposed data sets include, for example, quintuplet samples of the form (age of the aircraft, age of the equipment, flight duration, temperature undergone, acceleration undergone, t) where t indicates the time corresponding to the values provided in the figure. 'sample.
  • the list of selectable datasets proposed for the algorithm includes, for example, the following 6 datasets: quintuplets for fleet FA, FB, FC over a period of one year, quintuplets for fleet FA, FB, FC over a period of three years.
  • These datasets stored in the memory of each source platform 21 have previously been stamped by the stamping module 25 of the source platform.
  • the selected data sets are, for example, quintuple samples over a period of three years for the fleet FA, respectively FB, and are hereinafter named JDA or J DB respectively.
  • the identification of the algorithm and the identification of the selected data sets are transmitted to the intermediate platform 3 by the third device 10, for example via the telecommunications network 7.
  • the main algorithmic processing block 5 receives the identification of the algorithm and the identification of the selected data sets. It constructs a ProgA executable binary program encoding the algorithm selected and adapted to the source platform FA; similarly, it constructs an executable binary program ProgB encoding the algorithm selected and adapted to the source platform FB.
  • the main algorithmic processing block 5 transmits, via the telecommunications network 7, to the source platform PFA the binary program ProgA and the identification of the data set JDA; it similarly transmits to the PFB source platform the ProgB binary program and the identification of the JDB dataset.
  • the source platform PFA, respectively PFB receives the binary program ProgA, respectively ProgB and the identification of the data sets JDA, respectively JDB.
  • the stamping module 25 tests while the data set JDA, resp. JDB, thus indicated and stored in the memory MEM A, resp. MEM B, is well integrated, equal to that previously stamped, then the local algorithmic processing module 26 within the platform PFA, resp. PFB stores the program Prog A, resp. Prog B, in the memory 22, starts the execution of Prog A, resp. Prog B on the processor 23 of the platform PFA, resp. PFB, with the data set JDA, resp. JDB, whose integrity has been tested.
  • the ProgA and ProgB bit programs of the PFA, PFB platforms interchange with each other in one embodiment of the information. This information is encrypted from the part of the secret key in their possession if any.
  • the local algorithmic processing module 26 of the platform PFA, resp. PFB transmits, at the end of the execution of the ProgA program, resp. ProgB, the local result resulting from this execution, to the main algorithmic processing block 5 by the network 7.
  • this local result is previously encrypted from the local secret key specific to the source platform of which it is from.
  • the main algorithmic processing block 5 thus receives the local results, which are intermediate and partial results, of the source platforms PFA and PFB, in association with the identification of the program and the selected data sets. the origin of these results, then it calculates an overall result of the selected algorithm by combining these intermediate results.
  • the local electronic validation module 27 of the source platform PFA, resp. PFB calculates the evidence ZKPA, resp. ZKPB, depending on the JDA dataset, resp. JDB, and the local result provided by the local algorithmic processing module 26 of the source platform PFA, resp. PFB and the type of algorithm selected. Then, the local electronic validation module 27 of the source platform PFA, resp. PFB, transmits the evidence ZKPA, resp. ZKPB, via the network 7, to the validation supervisor block 6 accompanied by the identification of the data set JDA, resp. JDB, and the selected program. The validation supervisor block 6 receives these pieces of evidence ZKPA, resp.
  • the overall result (in this case, a model for predicting the occurrence of breakdowns of aircraft equipment of the type considered according to the following variables: age of the aircraft, age of the equipment, flight duration, temperature undergone, acceleration undergone) and the validation indication associated with the determined overall result are delivered by the intermediate platform 3 to the third device 10.
  • step 106 concludes that said overall result does not correspond to the data sets JDA, resp. JDB, or the selected algorithm; or
  • an integrity test concludes that a data set is not integrity in step 103 or 105;
  • the interface block 4, the main algorithmic processing block 5, the validation supervisory electronic block 6, the stamping electronic module 25, the local algorithm processing module 26 and / or the local module validation elements 27 are software elements corresponding to software instructions stored in memories that are executed on processors or are implemented in the form of a programmable logic component, such as an FPGA (English Field Programmable Gate Arra ⁇ ), or in the form of a dedicated integrated circuit, such as an ASIC (English Applications Specifies Integrated Circuit).
  • a programmable logic component such as an FPGA (English Field Programmable Gate Arra ⁇ )
  • ASIC American Applications Specifies Integrated Circuit
  • the integrity of datasets can be further guaranteed by anchoring in a blockchain allowing an audit of any of the parties, and thus a guarantee of the security of the data used.
  • the reliability of a ZKP piece of evidence can also be guaranteed by anchoring in a blockchain allowing an audit of any of the parties and again a control of the data and algorithms used.
  • a blockchain is a transparent, secure, distributed database that operates without a central control body.
  • Different results of operations implemented by microprocessor are grouped and recorded in blocks. All operations of a new block are validated by entities named "minors", which analyze the complete history of the blockchain. If the block is valid, it is time stamped and added to the block chain. The operations contained are then visible throughout the network. Once added to the chain, a block can no longer be modified or deleted, which guarantees the authenticity and security of the network.
  • Each block in the chain consists of the following elements: operation results, hash (digest), used as identifier, hash digitization of the previous block, and measure of the amount of work which was needed to produce the block.
  • a concrete example of implementation has been described above with reference to the technical field of technical equipment supervision to determine functions relating to equipment monitoring, fault prediction or preventive maintenance.
  • the technical equipment mentioned in the example belonged to the aeronautical field, but obviously the technical equipment can belong to all kinds of technical fields such as fleets of boats, trucks etc.
  • the data relating to equipment is provided by test benches.
  • the invention can be implemented in any type of industry, with pooling of knowledge stored in the data both vertically and horizontally.
  • the statistical data analysis algorithms used make it possible to model the behavior (or functions predicted according to the behavior) of a set of elements, these elements possibly corresponding to technical equipment, groups of individuals, animals , plants, bacteria, pandemics, weather, stock prices ...
  • a system or method for implementing statistical data analysis algorithms characterizing the operation of a set of equipment according to the invention can be used for example in the field of profiling to enable planning of other actions than that of maintenance of the equipment, for example actions of supply, dimensioning of the necessary resources (computation or energy or volume).
  • IFE In Flight Entertainment
  • a system according to the invention makes it possible to build functions making it possible to predict passengers' needs in terms of the use of the equipment for viewing films, listening to audio libraries, consumption of food consumables etc., from the exploitation of data sets representing the passenger behavior, in particular by tracing the past use of this equipment and other parameters (overall consumption of energy resources / volume / calculation on board ...) for example on several flight companies.
  • a system or method for implementing statistical data analysis algorithms characterizing the operation of a set of equipment according to the invention can be used for example in the field of decision support, in order to pool and exploit past experiences.
  • ATM Air Traffic Management
  • the ATM data sets which have as parameters the flights planned by the airlines and the flights actually carried out, define the situations encountered and the various responses given to them, depending on the experience of the air controller who was in charge. charge, depending on the policy of the company etc.
  • the implementation of a solution according to the invention makes it possible to perform statistical analyzes including data deemed confidential by the airlines, for example the weight of the aircraft at takeoff, without revealing these data between the companies.
  • the invention can also be implemented in particular in the context of the application of the European regulation no. 2016/679, known as the General Data Protection Regulation (GDPR or GDPR), and concerning the protection of personal data. as part of police and judicial activities.
  • Confidential data relating to patients held in several source platforms hospitals, laboratories, social security and other health facilities
  • confidential data from domestic or international intelligence or counter-terrorism services relating to the behavior of individuals of interest or suspicious individuals may also benefit from the confidentiality guarantee offered by the solution. by allowing an exploitation of the knowledge contained in the set of distributed data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Procédé de mise en œuvre d'algorithmes d'analyse statistique de données et délivrant pour résultat un modèle appris sur des données d'entrée, comprenant: - sélection d'un algorithme; - télétransmission à chaque plate-forme locale (21) détenant un jeu de données d'entrée de l'algorithme sélectionné, d'un exécutable de l'algorithme sélectionné; - dans chaque plate-forme locale, vérification de l'estampillage du jeu de données exécution de l'exécutable sur le jeu de données estampillé, et délivrance à la plate-forme centrale du résultat local issu de ladite exécution; - détermination par la plate-forme centrale (3) d'un résultat global fonction des résultats locaux; - génération par chaque plate-forme locale d'une preuve que le résultat local correspond bien au jeu de données et à l'algorithme pour vérification globale par la plate-forme centrale en fonction des éléments de preuve.

Description

Procédés de mise en œuvre d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments et système associé
La présente invention concerne le domaine des systèmes d’exploitation sécurisée de données mettant en œuvre des algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments.
De tels systèmes sont utilisés pour extraire de l’information statistique des données expérimentales et notamment pour bâtir des modèles statistiques qui pourront être ultérieurement utilisés, pour notamment anticiper le (dys-)fonctionnement d 'éléments et/ ou leur utilisation.
Dans certains secteurs d’activité, les données caractérisant le fonctionnement d’équipements issues par exemple de capteurs sont stockées de manière sécurisée et confidentielle au sein de plates-formes respectives et ne peuvent pas être partagées entre les plates-formes.
Par exemple, ces données comportent celles caractérisant le fonctionnement d’un équipement donné intégré dans un avion de combat ou dans un avion de ligne, qu’il est donc interdit de partager entre les propriétaires des flottes de ces appareils pour des raisons de classification ou de confidentialité commerciale, ou encore par exemple celles caractérisant le fonctionnements de plusieurs équipements d’un même avion de combat ou avion de ligne, qu’il est donc interdit de partager entre les différents industriels fournisseurs de ces équipements pour des raisons de confidentialité commerciale.
Or utiliser l’ensemble des données caractérisant ce même type d’équipement permettrait de caractériser beaucoup plus finement et précisément le fonctionnement de cet équipement dans la construction des modèles statistiques appris sur un ensemble de données beaucoup plus vaste.
Il existe aujourd’hui un type de solution, connu sous l’appellation « data lake » basée sur une plate-forme centrale dans laquelle différents acteurs déversent leurs données. Ce type de solution, d’une part, repose sur des accords de confidentialité signés entre les différents intervenants, qui peuvent se révéler parfois ardus à négocier et d’autres part, ne donne pas de garantie aux acteurs que leurs données ne seront pas dévoilées aux autres acteurs notamment
A cet effet, suivant un premier aspect, l’invention propose un procédé de mise en œuvre, par un système d’exploitation sécurisée de données, d’algorithmes d’analyse statistique de données caractérisant le fonctionnement d’un ensemble d’élements, ledit système d’exploitation sécurisée de données comportant une plate-forme centrale et des plates-formes locales,
selon lequel le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée, selon lequel lesdites données étant réparties en jeux de données détenus sélectivement dans des mémoires de plates-formes locales distinctes comprenant chacune en outre un processeur utilisé pour mettre en oeuvre les étapes ci-dessous relevant desdites plates-formes locales, ledit procédé comprenant les étapes suivantes :
- dans les plates-formes locales, estampillage numérique des jeux de données détenus dans les mémoires desdites plates-formes locales, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données ;
- fourniture par la plate-forme centrale à un dispositif tiers d’une première liste d’algorithmes d’analyse statistique de données, et pour chacun desdits algorithmes, fourniture au dispositif tiers d’une deuxième liste indiquant ceux des jeux de données détenus dans des mémoires de plates-formes utilisables comme données d’entrée dudit algorithme ; et détection par la plate-forme centrale d’une sélection, par le dispositif tiers, d’un algorithme d’analyse statistique de données dans la première liste et d’au moins certains jeux de données de la deuxième liste détenus par des plates-formes distinctes ;
- télétransmission par la plate-forme centrale, à chaque plate-forme locale détenant un jeu de données sélectionné, d’un programme d’ordinateur exécutable respectif de l’algorithme sélectionné et ayant comme données d’entrée le jeu de données sélectionné et détenu par ladite plate-forme locale, ledit programme ayant été élaboré par la plate-forme centrale en fonction dudit algorithme sélectionné ;
- dans chaque plate-forme locale détenant un jeu de données sélectionné, vérification de l’intégrité du jeu de données sélectionné détenu par ladite plate forme locale en fonction de son estampillage, exécution sur le processeur de ladite plate-forme locale du programme d’ordinateur exécutable respectif de l’algorithme sélectionné sur le jeu de données de ladite-plate-forme locale dont l’intégrité a été vérifié, et délivrance à la plate-forme centrale par chaque plate-forme locale du résultat local issu de ladite exécution ;
- détermination par la plate-forme centrale d’un résultat global en fonction des résultats locaux délivrés par les plates-formes locales, le résultat global comprenant un modèle appris sur les jeux de données sélectionnés ;
- vérification par chacune desdites plates-formes locales en fonction du jeu de données de ladite plate-forme locale dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données sélectionné et audit algorithme et génération d’un élément de preuve indiquant cette vérification ;
- vérification par la plate-forme centrale en fonction des éléments de preuve déterminés par lesdites plates-formes locales, du résultat global et de l’algorithme sélectionné que ledit résultat global correspond bien auxdits jeux de données sélectionnés dont l’intégrité a été vérifiée et à l’algorithme sélectionné, et délivrance du résultat global par la plate-forme centrale au dispositif tiers seulement après ladite vérification.
L’invention permet ainsi d’exécuter des algorithmes d’analyse statistique de données en garantissant que les données détenues par chaque plate-forme restent bien confidentielles et non divulguées au-delà de la plate-forme tout en bénéficiant de l’ensemble des données réparties, et donc de l’information qu’elles comportent. Chacune des plates-formes continue à maîtriser pleinement les conditions de sécurité appliquées à leurs données puisque ces dernières ne sortent pas de la plate-forme.
Dans des modes de réalisation, le procédé suivant l’invention comporte en outre une ou plusieurs des caractéristiques suivantes :
- l'estampillage d'un jeu de données comporte les étapes suivantes :
- recherche d'un emplacement d'insertion libre dans un jeu de données à estampiller ;
- création d'un jeu de données modifié par insertion d'une zone de données à l'emplacement trouvé dans le jeu de données à estampiller, la zone de données comportant un repère et une zone exclue ;
- calcul d'une empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données modifié, l'empreinte ayant une valeur qui dépend de tous les bits du jeu de données modifié autres que les bits de la zone exclue ;
- insertion de l'empreinte au sein de la zone exclue du jeu de données modifié ;
- la vérification de l’intégrité d’un jeu de données en fonction de son estampillage comporte les étapes suivantes :
- recherche d'une zone exclue dans le jeu de données au moyen d'un repère ;
- calcul d'une première empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données, la première empreinte ayant une valeur qui dépend de tous les bits du jeu de données autres que les bits de la zone exclue ;
- vérification d'une seconde empreinte présente dans la zone exclue en la comparant à la première empreinte ;
- ledit estampillage effectué sur une plate-forme locale garantit en outre l’identité de ladite plate-forme locale ;
- les algorithmes de la première liste sont des algorithmes non triviaux ;
- les éléments comprennent des équipements techniques et les algorithmes de la première liste comprennent des algorithmes parmi des algorithmes d’élaboration de modèles du comportement d’un équipement technique et des algorithmes d’élaboration de modèles d’usure ou de pannes ou de maintenance prédictive d’au moins un équipement technique ;
- les éléments de preuve générés par les plates-formes locales sont de type preuves à connaissance nulle.
Suivant un deuxième aspect, la présente invention propose un procédé de mise en oeuvre, par une plate-forme locale, d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments, selon lequel le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée, ledit système comportant une plate-forme centrale et des plates-formes locales, ladite plate-forme locale comprenant une mémoire stockant au moins un jeu de données et comprenant un processeur utilisé pour mettre en oeuvre les étapes ci- dessous :
- estampillage numérique d’au moins le jeu de données stocké dans la mémoire de ladite plate-forme locale, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données ;
- réception d’un programme d’ordinateur exécutable respectif codant un algorithme d’analyse statistique de données ;
- vérification de l’intégrité du jeu de données sélectionné en fonction de son estampillage, exécution sur le processeur du programme d’ordinateur exécutable respectif sur le jeu de données dont l’intégrité a été vérifié, et délivrance à la plate forme centrale du résultat local issu de ladite exécution en vue de la détermination par la plate-forme centrale d’un résultat global en fonction dudit résultat local et d’au moins un autre résultat local délivré par une autre plate-forme locale, chaque résultat local comprenant un modèle appris sur un jeu de données d’une plate forme locale respective et le résultat global comprenant un modèle appris sur lesdits jeux de données ; - vérification en fonction du jeu de données dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données et audit algorithme, génération d’un élément de preuve indiquant cette vérification et délivrance de l’élément de preuve généré à la plate-forme centrale, en vue de la vérification par la plate-forme centrale en fonction dudit élément de preuve et d’au moins un autre élément de preuve déterminé par l’autre plate-forme locale, du résultat global et de l’algorithme, que ledit résultat global correspond bien auxdits jeux de données utilisés par les plates-formes locales et à l’algorithme.
Suivant un troisième aspect, la présente invention propose un système de mise en œuvre d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments, lesdites données étant réparties en jeux de données détenus sélectivement dans des mémoires de plates-formes locales distinctes, ledit système comportant une plate-forme centrale et des plates-formes locales distinctes comprenant chacune un processeur et une mémoire stockant au moins un jeu de données,
le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée,
dans lequel :
chaque plate-forme locale est adaptée pour opérer un estampillage numérique des jeux de données détenus dans la mémoire de ladite plate-forme locale, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données,
la plate-forme centrale est adaptée pour fournir à un dispositif tiers une première liste d’algorithmes d’analyse statistique de données, et pour fournir au dispositif tiers pour chacun desdits algorithmes, une deuxième liste indiquant ceux des jeux de données détenus dans des mémoires de plates-formes utilisables comme données d’entrée dudit algorithme, pour détecter une sélection, par le dispositif tiers, d’un algorithme d’analyse statistique de données dans la première liste et d’au moins certains jeux de données de la deuxième liste détenus par des plates-formes distinctes ;
la plate-forme centrale étant adaptée en outre pour élaborer pour chaque plate-forme locale, en fonction dudit algorithme sélectionné, un programme d’ordinateur exécutable respectif de l’algorithme ayant comme données d’entrée le jeu de données sélectionné et détenu par ladite plate-forme locale et pour fournir, à chaque plate-forme locale détenant un jeu de données sélectionné, ledit programme d’ordinateur exécutable élaboré pour elle;
chaque plate-forme locale détenant un jeu de données sélectionné étant en outre adaptée poour vérifier l’intégrité du jeu de données sélectionné détenu par ladite plate-forme locale en fonction de son estampillage, pour exécuter sur le processeur de ladite plate-forme locale le programme d’ordinateur exécutable respectif de l’algorithme sélectionné sur le jeu de données de ladite-plate-forme locale dont l’intégrité a été vérifié, et pour délivrer à la plate-forme centrale le résultat local issu de ladite exécution ;
la plate-forme centrale étant adaptée pour déterminer un résultat global en fonction des résultats locaux délivrés par les plates-formes locales, le résultat global comprenant un modèle appris sur les jeux de données sélectionnés ;
chacune desdites plates-formes locales étant adaptée pour vérifier en fonction du jeu de données de ladite plate-forme locale dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données sélectionné et audit algorithme et pour générer un élément de preuve indiquant cette vérification ;
la plate-forme centrale étant adaptée pour vérifier en fonction des éléments de preuve déterminés par lesdites plates-formes locales, du résultat global et de l’algorithme sélectionné que ledit résultat global correspond bien auxdits jeux de données sélectionnés dont l’intégrité a été vérifiée et à l’algorithme sélectionné, et pour délivrer le résultat global au dispositif tiers seulement après ladite vérification.
Suivant un autre aspect, la présente invention propose une plate-forme de stockage de données confidentielles, comprenant :
- des moyens pour stocker des données ;
- des moyens pour estampiller des données avant stockage ;
- des moyens pour recevoir un programme exécutable d’un algorithme d’analyse statistique de données garanti non trivial et l’indication de données stockées dans la plate-forme ;
des moyens pour vérifier l’intégrité des données stockées en fonction de leur estampillage avant qu’elles ne soient fournies en entrée du programme, des moyens pour exécuter le programme reçu sur les données ainsi garanties intègres, et pour obtenir comme résultat un modèle appris sur les données de la plate-forme locale ;
- des moyens pour élaborer une preuve à connaissance nulle (ZKP) à partir du résultat, des données estampillées stockées fournies en entrée du programme et de l’algorithme, garantissant que ce résultat est bien issu de l’algorithme sur les données indiquées et intègres ;
- des moyens pour transmettre la preuve à connaissance nulle et le résultat à une plate-forme globale, chargée de combiner ce résultat avec au moins un autre résultat d’une autre plate-forme de stockage de données confidentielles similaire à ladite plate-forme de stockage de données confidentielles, les données stockées dans ladite plate-forme n’étant ainsi nullement communiquées en-dehors de la plate-forme, mais la garantie étant fournie que les données utilisées pour l’algorithme étaient celles de la plate-forme et non corrompues et que le résultat obtenu correspond bien à l’algorithme non-trivial fourni et à ces données.
Ces caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple, et faite en référence aux dessins annexés, sur lesquels :
- la figure 1 représente une vue schématique d’un système de mise en oeuvre d’algorithmes d’analyse statistique de données dans un mode de réalisation de l’invention ;
- la figure 2 est un organigramme d’étapes d’un procédé de mise en oeuvre d’algorithmes d’analyse statistique de données dans un mode de réalisation de l’invention.
La solution selon l’invention relève de l’intelligence artificielle et de l’apprentissage machine (de l’anglais « machine learning »).
Plus spécifiquement, l’invention offre un système d’intelligence artificielle permettant d’extraire de la connaissance statistique d’un ensemble de données réparties entre différentes plates-formes, tout en garantissant la confidentialité de ces données puisque les données d’une plate-forme ne sont nullement divulguées au-delà de la plate forme.
Un « cercle de confiance » est garanti à plusieurs parties prenantes (les plates- formes sources détenant les données, la partie recevant le résultat de l’algorithme qui, d’ailleurs, peut être une des plates-formes sources) permettant de réaliser des traitements algorithmiques nécessitant l’analyse de données sur un ensemble réunissant les données des différentes parties sans révéler les données elles-mêmes. L’apprentissage d’un modèle statistique (ou l’exécution ultérieure d’un tel modèle entraîné) est rendu plus efficace ou plus pertinent par l’accès à un jeu de données plus large sans nécessiter de centraliser les données à un seul endroit et de divulguer les données aux autres parties.
Les données peuvent être utilisées « verticalement » comme dans l’exemple spécifique décrit ci-dessous. Dans ce cas, chaque partie fournit un ensemble d’échantillons correspondant au même type de données (cas typique : mesures des mêmes caractéristiques (température, pression, vitesse, accélération, pannes ....) par les mêmes équipements ou par des équipements similaires détenus par des parties différentes. L’analyse par traitement algorithmique est donc faite sur la réunion de tous les échantillons de toutes les parties.
Les données peuvent aussi être utilisées « horizontalement ». Dans ce cas chaque partie fournit certains attributs seulement d’un même ensemble d’échantillons. L’analyse par traitement algorithmique est faite sur un type de données correspondant à la réunion des attributs de toutes les parties. Par exemple, dans le cas où un échantillon est destiné à caractériser le comportement des équipements d’un avion de combat pour en extraire un modèle de prédiction de disponibilité, certains attributs seront extraits de la surveillance d’un équipement de type senseur, d’autres attributs d’un équipement de type nacelle de désignation, encore d’autres attributs d’un équipement de type optronique secteur frontal.
Les parties peuvent faire confiance à la solution globale et se faire confiance mutuellement parce que le traitement des données et les données elles-mêmes sont sécurisés. Ainsi, dans des modes de réalisation :
- les données source ne sont pas déplacées de leur emplacement d’origine et restent donc protégées comme prévus par les parties ;
l’intégrité des données entre le moment où elles sont produites et le moment où elles sont consommées pour les calculs est garantie ;
- il est vérifié que l’algorithme appliqué aux données est non-trivial ; c’est-à-dire que la connaissance du résultat du calcul ne permet pas de retrouver les données d’entrée (pas d’ingénierie inverse) ;
- dans un mode de réalisation, toutes les communications entre les parties y compris le demandeur sont chiffrées de telle manière que quelqu’un qui aurait enregistré tous les échanges liés à la transmission des logiciels codant l’algorithme ou de leurs résultats serait dans l’incapacité de retrouver les données d’entrée ;
- la solution garantit que le bon algorithme a été exécuté sur des données non corrompues en fournissant une preuve sans communication d’information (« Zéro Knowledge Proof » = ZKP) au demandeur ;
- il est détecté immédiatement qu’un jeu de données corrompu est utilisé ou qu’un algorithme corrompu a été exécuté.
La figure 1 représente schématiquement un système 1 de mise en oeuvre d’algorithmes d’analyse statistique de données dans un mode de réalisation de l’invention. Dans le mode de réalisation considéré ici, le système 1 comprend différentes parties, notamment des plates-formes sources 21 , un dispositif électronique tiers 10 et une plate-forme intermédiaire 3.
Dans le mode de réalisation concerné, le dispositif tiers 10 comprend un ordinateur avec unité centrale et écran et est adapté notamment pour interagir avec un utilisateur.
Les plates-formes sources 21 sont distinctes et, dans un mode de réalisation, réparties en des positions géographiques diverses.
Dans un mode de réalisation, elles sont en outre toutes distinctes de la plate-forme intermédiaire 3.
Le système 1 comprend en outre un réseau de télécommunications 7, par exemple Internet, permettant la mise en oeuvre de télécommunications au moins entre la plate-forme intermédiaire 3 et le dispositif tiers 10, et entre la plate-forme intermédiaire 3 et chacune des plates-formes sources 21.
La plate-forme intermédiaire 3 comprend un bloc électronique d’interface 4, un bloc électronique principal de traitement algorithmique 5 et un bloc électronique superviseur de validation 6.
Dans le mode de réalisation considéré, le bloc électronique d’interface 4, le bloc électronique principal de traitement algorithmique 5 et le bloc électronique superviseur de validation 6 comprennent chacun une mémoire et un processeur. Ils sont, suivant les modes de réalisation, géographiquement regroupés ou distribués.
Chacune des plates-formes sources 21 comprend une mémoire 22 et un processeur 23.
Chaque mémoire 22 stocke des jeux de données 24.
Chaque plate-forme source 21 comprend en outre un module électronique d’estampillage 25, un module électronique local de traitement algorithmique 26 et un module électronique local de validation 27.
Sur la figure 1 , trois plates-formes sources 21 ont été représentées, libellées FA, FB, FC comportant respectivement les mémoires MEM A, MEM B et MEM C et les processeurs respectifs Proc A, Proc B, Proc C. Le nombre de plates-formes sources est ici de trois, mais il peut prendre une valeur quelconque supérieure ou égale à 2.
Au sein de chaque plate-forme source 21 , le module d’estampillage 25 est adapté pour estampiller les jeux de données 24 stockés dans la mémoire 22, et pour tester en outre si des données précédemment estampillées par le module 24 sont intègres (i.e. n’ont pas été modifiées depuis leur estampillage). Le module d’estampillage 25permet ainsi de garantir l’intégrité des jeux de données estampillés quand ils sont manipulés par la suite ou de détecter une modification malveillante desdites données.
Dans un mode de réalisation, l’estampillage d’un jeu de données réalisé par le module d’estampillage 25 comprend le calcul d’une empreinte numérique (signature) en fonction notamment des données et par exemple de la date d’estampillage. Dans un mode de réalisation, l’estampillage est en outre fonction d’une identification de la plate forme source comprend le module d’estampillage 25. Outre l’intégrité des données, celle de l’identité de la plate-forme source d’appartenance des données ou celle de la date d’estampillage sont ainsi garanties dans des modes de réalisation.
Dans un mode de réalisation, l’estampillage comprend l’insertion d’une telle signature à l’intérieur des données. Par exemple, l’estampillage et le test d’estampillage sont réalisés conformément à la solution mise en oeuvre par KeeeX® (https://keeex.me/fr/solutions/) dont les principes sont exposés ci-dessous et détaillés dans les demandes de brevet FR3001313, WO20141 14861 , EP2949070,
US20150365426.
Les principes de l’estampillage KeeeX et du test d’estampillage sont décrits à cet endroit https://keeex.me/fr/produits/keeex-core/.
Dans un mode de réalisation notamment, l’estampillage est réalisé de la manière indiquée ci-dessous :
- recherche d'un emplacement d'insertion libre dans un jeu de données à estampiller ;
- création d'un jeu de données modifié par insertion d'une zone de données à l'emplacement trouvé dans le jeu de données à estampiller, la zone de données comportant un repère et une zone exclue ;
- calcul d'une empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données modifié, l'empreinte ayant une valeur qui dépend de tous les bits du jeu de données modifié autres que les bits de la zone exclue ;
- insertion de l'empreinte au sein de la zone exclue du jeu de données modifié.
Et la vérification de l’intégrité d’un jeu de données en fonction de son estampillage est réalisée ainsi :
- recherche d'une zone exclue dans le jeu de données au moyen d'un repère ;
- calcul d'une première empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données, la première empreinte ayant une valeur qui dépend de tous les bits du jeu de données autres que les bits de la zone exclue ;
- vérification d'une seconde empreinte présente dans la zone exclue en la comparant à la première empreinte. Le module local de traitement algorithmique 26 au sein d’une plate-forme source 21 est adapté pour recevoir, en provenance du bloc principal de traitement algorithmique 5, un message comprenant un programme binaire exécutable codant un algorithme d’analyse statistique de données, et l’identification d’un jeu de données sélectionné stocké sur la plate-forme source 21 . Le module local de traitement algorithmique 26 est adapté pour stocker ce programme dans la mémoire 22, pour lancer l’exécution dudit programme sur le processeur 23 de la plate-forme source 21 , avec comme données d’entrée le jeu de données indiqué stocké dans la mémoire 22.
Dans un mode de réalisation, le module local de traitement algorithmique 26 est adapté pour recevoir, en provenance du bloc principal de traitement algorithmique 5, en outre une clé secrète locale (qui est une fraction d’une clé secrète globale), associée au programme binaire.
Dans un mode de réalisation optionnel, il est en outre adapté pour, au cours de l’exécution de ce programme, échanger avec les autres plates-formes sources 21 , des informations chiffrées garantissant de manière cryptographique que les données d’entrées ne sont pas révélées. Ces informations sont chiffrées en fonction de la clé locale. En cours de calcul les programmes binaires échangent via le réseau de télécommunications 7, des secrets partagés au sens du partage de secret de Adi Shamir (voir "How to share a secret", Communications of the ACM, 22 (1 1 ): 612-613).
Le module local de traitement algorithmique 26 est adapté pour transmettre, à l’issue de l’exécution du programme, le résultat de cette exécution (dit résultat local), au bloc principal de traitement algorithmique 5. Dans un mode de réalisation, ce résultat a été préalablement chiffré par le module local de traitement algorithmique 26 à l’aide de la clé secrète locale associé au programme et précédemment reçue.
Le module électronique local de validation 27 est en outre adapté pour calculer un élément de preuve en fonction du jeu de données estampillé par le module d’estampillage 25 utilisé pour l’exécution du programme binaire, du résultat local obtenu sur la plate forme source et du type d’algorithme correspondant au programme binaire.
Un tel élément de preuve d’un jeu de données est par exemple un élément ZKP (de l’anglais Zéro Knowledge P roof), connu en français sous l’appellation « preuve à connaissance nulle « ou encore preuve interactive sans révélation qui donne en quelque sorte une indication de l’exécution du bon programme binaire sur le jeu de données sélectionné et garanti intègre sans révéler les données d’entrées qui ont servi au calcul.
Le principe du Zero-Knowledge Proof, inventé il y a plusieurs années, permet à un « bloc vérificateur » de valider un calcul sur des données privées en permettant à un « bloc prouveur » de générer une preuve cryptographique qui atteste de l’exactitude du résultat calculé (cf. par exemple la publication The knowledge complexity of interactive proof-systems, Shafi Goldwasser, Silvio Micali, and Charles Rackoff ; 1985 ; pp. 291 -304 ; STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing). Ici le bloc vérificateur correspond au module électronique local de validation 27 et le « bloc prouveur » correspond au bloc superviseur de validation 6.
Dans un mode de réalisation, l’élément de preuve est obtenu par exemple conformément à la solution QED-it ®. Le principe de la solution QED-it est, entre autre, publié sur http://qed-it.com/2017/07/the-hunting-of-the-snark/.
Le module électronique local de validation 27 est adapté pour transmettre au bloc superviseur de validation 6 chaque élément de preuve ZKP avec l’identification du jeu de données correspondant et de la plate-forme source 21 où il est stocké et l’identification du programme binaire.
Le bloc électronique d’interface 4 est adapté pour transmettre à un dispositif tiers, en réponse à une requête de ce dernier, une liste d’algorithmes d’analyse statistique de données dont la mise en œuvre est offerte par le système 1. A chaque algorithme de cette liste est associée une liste de jeux de données sélectionnâmes comme jeux de données d’entrée de l’algorithme.
Cette liste d’algorithmes d’analyse statistique de données comprend par exemple des algorithmes de type :
- calcul de régression linéaire pour déterminer la fonction linéaire liant plusieurs variables ; les variables correspondent à certains des types de données mémorisées dans les plates-formes sources, par exemple les paramètres de température de certains équipements ou leurs occurrences de pannes, leur empoussièrement, la pression, accélération etc. ; les jeux de données d’entrée comprennent donc les échantillons disponibles de valeurs de ces paramètres pour un même type d’équipement installé dans différents systèmes, ou au contraire, les échantillons disponibles de différents types d’équipement intégrés dans le même système; par exemple il peut s’agir de la température de fonctionnement en fonction du temps d’une carte électronique, chaque jeu de données d’entrée étant mesuré pour des exemplaires différents de ce type de carte ou il peut s’agir de la température et de l’empoussièrement de la même carte électronique, un jeu de données stockant le température et l’autre l’empoussièrement.
- plus globalement, algorithmes d’élaboration de fonctions (dits encore modèles) relatives à l’usure d’un équipement technique ou à un ensemble d’équipements techniques par apprentissage en fonction de certains paramètres ; les jeux de données d’entrée sont donc les échantillons disponibles de valeurs pour ces paramètres pour construire le modèle ; ces modèles sont adaptés par exemple pour :
i. prédire l’occurrence de pannes (et/ou donc de la nécessité d’opérations de maintenance préventive) d’équipements ou d’un ensemble d’équipements en fonction de certains paramètres, ou encore
ii. choisir au mieux les missions qu’un système peut remplir en fonction de l’usure de ses différents composants, ce qui permet d’améliorer la disponibilité du système ;
- plus généralement, tout algorithme d’apprentissage supervisé comme la régression logistique pour faire de la classification, les k-moyennes pour faire du partitionnement, les arbres de décision, les forêts aléatoires et les arbres de gradients boostés pour faire de la régression ou de la classification. Le résultat global de l’algorithme, tel que décrit plus loin, est un modèle appris sur l’ensemble des jeux de données qui est plus précis, au sens où on minimise le risque de surinterprétation, que le modèle issu du même algorithme sur un seul jeu de données.
Les algorithmes de la liste doivent être, dans des modes de réalisation, des algorithmes non triviaux, c’est-à-dire qu’il ne doit pas être possible, à partir du résultat issu de l’exécution d’un tel algorithme, de pouvoir en déduire la valeur des données d’entrée sur lesquelles l’algorithme a été exécuté. Autrement dit, la fonction utilisée dans l’algorithme n’admet pas de fonction réciproque. Un algorithme trivial est, par exemple, la fonction identité ou la fonction moyenne sur un jeu de données ne contenant qu’un seul échantillon.
Le bloc principal de traitement algorithmique 5 est adapté pour recevoir l’identification d’un algorithme sélectionné dans la liste précitée d’algorithmes d’analyse statistique de données, et l’identification de ceux des jeux de données sélectionnés pour servir de données d’entrées à l’algorithme, et il est en outre adapté pour construire, en fonction de l’algorithme sélectionné, un programme binaire exécutable codant l’algorithme sélectionné et adapté à chaque plate-forme source 21 , et pour transmettre, via le réseau de télécommunications 7, à chacune des plates-formes sources 21 stockant au moins un des jeux de données sélectionnés, le programme binaire exécutable construit et l’identification du jeu de données sélectionné stocké sur cette plate-forme source.
Dans un mode de réalisation, le bloc principal de traitement algorithmique 5 est en outre adapté pour générer une clé globale secrète qui est fractionnée et dont il est le seul à connaître la totalité. Seule une fraction respective dédiée de la clé secrète globale est distribuée par le bloc principal de traitement algorithmique 5 à chacune des plates-formes dans le programme binaire exécutable : cette fraction fournit une clé locale à la plate forme locale à laquelle elle est transmise lui permettant de chiffrer les communications à travers le réseau de télécommunication 7 avec les autres programmes binaires s’exécutant sur les autres plates-formes sources 21 et avec le bloc principal de traitement algorithmique 5.
Dans un mode de réalisation, le programme binaire est le même pour les différentes plates-formes sources (excepté la clé locale)
Suivant les modes de réalisation, le programme binaire exécutable est en outre adapté sélectivement au jeu de données sélectionné pour la plate-forme source, quand par exemple les données d’entrée d’une plate-forme source ne correspondent pas au même type que celles d’une autre plate-forme source (par exemple, dans le cas de l’élaboration d’un modèle global de détermination de l’état d’un bloc d’équipements utilisant les données par exemple de température et d’empoussièrement d’un équipement E1 présentes sur une première plate-forme source et utilisant les données par exemple de température et d’accélération d’un équipement E2 d’un type différent de E1 et présentes sur une deuxième plate-forme source.
Le bloc principal de traitement algorithmique 5 est en outre adapté pour recevoir, en provenance de chacune desdites plates-formes sources 21 , leur résultat local, i.e. le résultat de l’exécution du programme binaire exécutable codant l’algorithme sélectionné sur le jeu de données sélectionné stocké dans cette plate-forme source 21.
Dans un mode de réalisation où le résultat arrive sous forme chiffrée, il est adapté pour déchiffrer chacun des résultats locaux chiffrés avec la clé locale propre à la plate forme source dont il provient.
Et le bloc principal de traitement algorithmique 5 est adapté pour combiner ces résultats locaux issus des plates-formes 21 et déterminer, en fonction de ces résultats combinés, le résultat global de l’exécution de l’algorithme sélectionné sur l’ensemble des jeux de données sélectionnés tels que répartis dans les différentes plates-formes sources 21. Il est le seul à pouvoir déchiffrer et combiner les différents résultats locaux grâce à la clé secrète complète qu’il est le seul à détenir.
Par exemple variances, covariances, moyennes des différents jeux de données des plates-formes 21 permettent d’obtenir les coefficients de la droite de régression de l’ensemble des données. Le résultat global est identique à celui qui serait obtenu en exécutant l’algorithme sélectionné sur une mémoire (non représentée en figure 1 ) qui contiendrait la totalité des jeux de données sélectionnés des plates-formes sources 21.
Dans un mode de réalisation, ce calcul est effectué conformément à la solution Inpher ® basé sur le moteur XOR Secret Computing™ dont une description se trouve sur htps://www.inpher.io/mainproducts/ et https://www.youtube.com/watch ?v=mBn3QR- qflM&index=3&list=PLbPfgHjsf6Cqgg901zALf7Kh3V-WmGZEU.
Le bloc superviseur de validation 6 est adapté pour recevoir en provenance des plates-formes sources 21 des éléments de preuves, ici des éléments ZKP avec l’identification du jeu de données correspondant d’une plate-forme source 21 où il est stocké et l’identification du programme binaire. Il est adapté pour, au moment de la fourniture par la plate-forme intermédiaire 3 au dispositif tiers 10, du résultat global déterminé pour un algorithme sélectionné et de jeux de données sélectionnés, valider en fonction des éléments de preuve déterminés pour les jeux de données sélectionnés et reçus des plates-formes source 21 , du résultat global et de l’algorithme sélectionné, que ledit résultat global correspond bien auxdits jeux de données sélectionnés et à l’algorithme sélectionné, et pour, seulement si la validation confirme la correspondance, délivrer une indication de validation associée au résultat global déterminé.
Dans un mode de réalisation, cette validation est effectuée conformément à la solution QED-it ®.
Le système 1 est adapté pour mettre en oeuvre les étapes d’un procédé 100 tel que décrit à présent en référence à la figure 2.
Le mode de réalisation considéré dans cet exemple est le suivant : chaque plate forme source 21 stocke dans sa mémoire 22 les jeux de données 24 relatifs aux équipements de différentes sources, par exemple de différentes flottes d’avions, et estampillés par le module d’estampillage 25. Les plates-formes FA, FB, FC correspondent, par exemple, respectivement à des flottes d’avions d’un même modèle rassemblant les mêmes types d’équipements.
Le système 1 dans un tel mode de réalisation particulier permet de réaliser des calculs statistiques distribués sur des jeux de données multiples comportant des données confidentielles que les fournisseurs des données ne veulent pas divulguer aux autres fournisseurs ni à l’initiateur du calcul en garantissant la sécurité et la fiabilité des données sources, de l’algorithme utilisé et du résultat global fourni.
Dans une étape 101 , un utilisateur transmet depuis un dispositif tiers 10 une requête à la plate-forme intermédiaire 3, par exemple par l’intermédiaire du réseau de télécommunications 7. En réponse à cette requête, le bloc d’interface 4 de la plate-forme intermédiaire 3, transmet, par exemple par l’intermédiaire du réseau de télécommunications 7, une réponse comportant une liste d’algorithmes d’analyse statistique de données dont la mise en œuvre est offerte par le système 1. Le bloc d’interface 4 transmet également une liste indiquant pour chaque algorithme des jeux de données respectifs sélectionnables comme jeux de données d’entrée de l’algorithme.
L’utilisateur sélectionne un algorithme parmi la liste et il sélectionne tous ou certains des jeux de données parmi les jeux de données sélectionnables associés à cet algorithme.
Par exemple, l’algorithme sélectionné est un algorithme permettant de déterminer un modèle de prédiction de l’occurrence de pannes d’un équipement de l’avion du type considéré en fonction des paramètres suivants : âge de l’avion, âge de l’équipement, durée de vol, température subie, accélération subie. Certaines de ces données sont confidentielles et ne doivent pas être divulguées hors de chacune des plates-formes sources 21 des flottes FA, FB, FC.
Les jeux de données proposés comprennent par exemple des échantillons quintuplets de la forme (âge de l’avion, âge de l’équipement, durée de vol, température subie, accélération subie, t) où t indique le temps correspondant aux valeurs fournies dans l’échantillon.
La liste de jeux de données sélectionnables proposée pour l’algorithme comprend par exemple les 6 jeux de données suivants : les échantillons quintuplets pour la flotte FA, FB, FC sur une période de un an, les échantillons quintuplets pour la flotte FA, FB, FC sur une période de trois ans. Ces jeux de données stockés dans la mémoire de chaque plate forme source 21 ont précédemment fait l’objet d’un estampillage par le module d’estampillage 25 de la plate-forme source.
Les jeux de données sélectionnés sont par exemple les échantillons quintuplets sur une période de trois ans pour la flotte FA, respectivement FB et sont nommés ci-après JDA, respectivement J DB.
L’identification de l’algorithme et l’identification des jeux de données sélectionnés sont transmis à la plate-forme intermédiaire 3 par le dispositif tiers 10 par exemple via le réseau de télécommunications 7.
Dans une étape 102, le bloc principal de traitement algorithmique 5 reçoit l’identification de l’algorithme et l’identification des jeux de données sélectionnés. Il construit un programme binaire exécutable ProgA codant l’algorithme sélectionné et adapté à la plate-forme source FA; similairement il construit un programme binaire exécutable ProgB codant l’algorithme sélectionné et adapté à la plate-forme source FB. Le bloc principal de traitement algorithmique 5 transmet ensuite, via le réseau de télécommunications 7, à la plate-forme source PFA le programme binaire ProgA et l’identification du jeu de données JDA ; il transmet similairement à la plate-forme source PFB le programme binaire ProgB et l’identification du jeu de données JDB.
Dans une étape 103, la plate-forme source PFA, respectivement PFB, reçoit le programme binaire ProgA, respectivement ProgB et l’identification des jeux de données JDA, respectivement JDB. Dans chacune des plates-formes PFA, resp. PFB, le module d’estampillage 25 teste alors que le jeu de données JDA, resp. JDB, ainsi indiqué et mémorisé dans la mémoire MEM A, resp. MEM B, est bien intègre, égal à celui précédemment estampillé, puis le module local de traitement algorithmique 26 au sein de la plate-forme PFA, resp. PFB, stocke le programme Prog A, resp. Prog B, dans la mémoire 22, lance l’exécution de Prog A, resp. Prog B sur le processeur 23 de la plate forme PFA, resp. PFB, avec comme données d’entrée le jeu de données JDA, resp. JDB, dont l’intégrité a été testée. Les programmes binaires ProgA et ProgB des plates-formes PFA, PFB s’échangent entre eux dans un mode de réalisation des informations. Ces informations sont chiffrées à partir de la partie de la clé secrète en leur possession le cas échéant.
Le module local de traitement algorithmique 26 de la plate-forme PFA, resp. PFB, transmet, à l’issue de l’exécution du programme ProgA, resp. ProgB, le résultat local issu de cette exécution, au bloc principal de traitement algorithmique 5 par le réseau 7. Dans un mode de réalisation, ce résultat local est préalablement chiffré à partir de la clé secrète locale propre à la plate-forme source dont il est issu.
Dans une étape 104, le bloc principal de traitement algorithmique 5 reçoit ainsi les résultats locaux, qui sont des résultats intermédiaires et partiels, des plates-formes sources PFA et PFB, en association avec l’identification du programme et des jeux de données sélectionnés à l’origine de ces résultats, puis il calcule un résultat global de l’algorithme sélectionné en combinant ces résultats intermédiaires.
Dans une étape 105, le module électronique local de validation 27 de la plate forme source PFA, resp. PFB, calcule les éléments de preuve ZKPA, resp. ZKPB, en fonction du jeu de données JDA, resp. JDB, et du résultat local fourni par le module local de traitement algorithmique 26 de la plate-forme source PFA, resp. PFB et du type d’algorithme sélectionné. Puis, le module électronique local de validation 27 de la plate forme source PFA, resp. PFB, transmet les éléments de preuve ZKPA, resp. ZKPB, via le réseau 7, au bloc superviseur de validation 6 accompagné de l’identification du jeu de données JDA, resp. JDB, et du programme sélectionné. Le bloc superviseur de validation 6 reçoit ces éléments de preuve ZKPA, resp. ZKPB, et vérifie, à partir de ces éléments de preuve, du résultat global calculé par le bloc principal de traitement algorithmique 5 et de l’algorithme sélectionné que ledit résultat global correspond bien auxdits jeux de données JDA, JDB et à l’algorithme sélectionné. Dans le cas positif, il délivre une indication de validation associée au résultat global déterminé.
Dans une étape 106, le résultat global (dans le cas présent, un modèle de prédiction de l’occurrence de pannes d’un équipement de l’avion du type considéré en fonction des variables suivantes : âge de l’avion, âge de l’équipement, durée de vol, température subie, accélération subie) et l’indication de validation associée au résultat global déterminé sont délivrés par la plate-forme intermédiaire 3 au dispositif tiers 10.
On notera que dans un mode de réalisation, dès que :
l’opération de vérification de l’étape 106 conclut que ledit résultat global ne correspond pas aux jeux de données JDA, resp. JDB, ou à l’algorithme sélectionné ; ou
- un test d’intégrité conclut à la non-intégrité d’un jeu de données à l’étape 103 ou 105 ;
alors le processus est stoppé et un message d’alerte est généré à destination du superviseur du système 1 .
Suivant les modes de réalisation, le bloc d’interface 4, le bloc principal de traitement algorithmique 5, le bloc électronique superviseur de validation 6, le module électronique d’estampillage 25, le module local de traitement algorithmique 26 et/ou le module local de validation 27 sont des éléments logiciels correspondant à des instructions logicielles stockées dans des mémoires qui sont exécutés sur des processeurs ou sont réalisés sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gâte Arraÿ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Applications Spécifie Integrated Circuit).
L’intégrité des jeux de données peut en outre être garantie grâce à un ancrage dans une chaîne de blocs ce qui permet à un audit de n’importe laquelle des parties, et donc une garantie de la sécurisation des données utilisées.
La fiabilité d’un élément de preuve ZKP peut être garantie également grâce à un ancrage dans une chaîne de blocs ce qui permet à un audit de n’importe laquelle des parties et là encore un contrôle des données et algorithmes utilisés.
Comme il est connu, une chaîne de blocs (de anglais blockchain) est une base de données distribuée transparente, sécurisée, et fonctionnant sans organe central de contrôle. Différents résultats d’opérations mises en oeuvre par microprocesseur sont regroupés et enregistrés dans des blocs. Toutes les opérations d’un nouveau bloc sont validées par des entités nommées « mineurs », qui analysent l'historique complet de la chaîne de blocs. Si le bloc est valide, il est horodaté et ajouté à la chaîne de blocs. Les opérations contenues sont alors visibles dans l'ensemble du réseau. Une fois ajouté à la chaîne, un bloc ne peut plus être ni modifié, ni supprimé, ce qui garantit l'authenticité et la sécurité du réseau. Chaque bloc de la chaîne est constitué des éléments suivants : résultats d’opérations, empreinte numérique (par hashage) (« hash »), utilisée comme identifiant, l’empreinte numérique (par hashage) du bloc précédent et mesure de la quantité de travail qui a été nécessaire pour produire le bloc.
Un exemple concret de mise en oeuvre a été décrit ci-dessus en référence au domaine technique de la supervision d’équipements techniques pour déterminer des fonctions relatives à la surveillance des équipements, à prédiction de pannes ou à la maintenance préventive. Les équipements techniques mentionnés dans l’exemple appartenaient au domaine aéronautique, mais bien évidemment les équipements techniques peuvent appartenir à toutes sortes de domaines techniques tels que des flottes de bateaux, de camions etc. Dans un mode de réalisation, les données relatives à des équipements sont fournies par des bancs de tests.
L’invention peut être mise en oeuvre dans tout type d’industrie, avec mutualisation de la connaissance engrangée dans les données tant sur le plan vertical que sur le plan horizontal.
Les applications en outre peuvent être très différentes.
Les algorithmes d’analyse statistique de données utilisées permettent de modéliser le comportement (ou des fonctions prédites en fonction du comportement) d’un ensemble d’éléments, ces éléments pouvant correspondre à des équipements techniques, des groupes d’individus, d’animaux, de plantes, de bactéries, pandémies, de phénomènes météorologiques, de cours boursiers ...
Quelques exemples, non exhaustifs, sont indiqués ci-après.
Un système ou procédé de mise en oeuvre d’algorithmes d’analyse statistique de données caractérisant le fonctionnement d’un ensemble d’équipements selon l’invention peut être utilisé par exemple dans le domaine du profilage pour permettre de planifier d’autres actions que celle de maintenance des équipements, par exemple des actions d’approvisionnement, de dimensionnement des ressources nécessaires (de calcul ou d’énergie ou de volume). Par exemple dans les systèmes IFE (de l’anglais In Flight Entertainment), un système selon l’invention permet de bâtir des fonctions permettant de prédire les besoins des passagers en termes d’utilisation des équipements de visionnage de films, d’écoute des bibliothèques audio, de consommation des consommables alimentaires etc., à partir de l’exploitation de jeux de données représentant le comportement des passagers, en traçant notamment l’utilisation passée de ces équipements et des d’autres paramètres (de consommation globale des ressources d’énergie/volume/calcul à bord ...) par exemple sur plusieurs compagnies de vol.
Un système ou procédé de mise en œuvre d’algorithmes d’analyse statistique de données caractérisant le fonctionnement d’un ensemble d’équipements selon l’invention peut être utilisé par exemple dans le domaine de l’aide à la décision, afin de mutualiser et exploiter les expériences passées. Par exemple, l’ATM (de l’anglais Air Traffic Management) a pour mission de veiller à ce que les avions soient suffisamment éloignés entre eux pour préserver la sécurité et la fluidité du trafic. Les jeux de données ATM, ayant comme paramètres les vols planifiés par les compagnies aériennes et les vols réellement effectués définissent les situations rencontrées et les réponses diverses qui leur ont été apporté, en fonction de l’expérience du contrôleur de l’air qui était en charge, en fonction de la politique de la compagnie etc. La mise en œuvre d’une solution selon l’invention permet de réaliser des analyses statistiques incluant des données jugées confidentielles par les compagnies aériennes, par exemple le poids de l’avion au décollage, sans révéler ces données entre les compagnies.
L’invention peut également être mise en œuvre notamment dans le cadre de l’application du règlement européen n° 2016/679, dit règlement général sur la protection des données (RGPD ou GDPR), et relatif à la protection des données à caractère personnel dans le cadre des activités policières et judiciaires. Les données confidentielles relatives aux patients détenues au sein de plusieurs plates-formes sources (hôpitaux, laboratoires, sécurité sociale et autres établissements de santé) pourront être exploitées de manière à bénéficier de l’ensemble des données tout en garantissant la confidentialité de ces données qui demeurent stockées sur leur plate-forme source. Ou encore, les données confidentielles issues des services de renseignement intérieur ou international ou de protection anti-terroriste relatives aux comportements d’individus d’intérêt ou d’individus suspects pourront elles-aussi bénéficier de la garantie de confidentialité offerte par la solution, tout en permettant une exploitation de la connaissance contenue dans l’ensemble des données réparties.

Claims

REVENDICATIONS
1.- Procédé de mise en œuvre, par un système (1 ) d’exploitation sécurisée de données, d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments, ledit système (1 ) d’exploitation sécurisée de données comportant une plate-forme centrale (3) et des plates-formes locales (21 ), selon lequel le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée, selon lequel lesdites données sont réparties en jeux de données (24) détenus sélectivement dans des mémoires (22) des plates- formes locales distinctes (21 ) comprenant chacune en outre un processeur (23) utilisé pour mettre en œuvre les étapes ci-dessous relevant desdites plates-formes locales, ledit procédé comprenant les étapes suivantes :
- dans les plates-formes locales, estampillage numérique des jeux de données détenus dans les mémoires desdites plates-formes locales, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données ;
- fourniture par la plate-forme centrale à un dispositif tiers (10) d’une première liste d’algorithmes d’analyse statistique de données, et pour chacun desdits algorithmes, fourniture au dispositif tiers d’une deuxième liste indiquant ceux des jeux de données détenus dans des mémoires de plates-formes utilisables comme données d’entrée dudit algorithme ; et détection par la plate-forme centrale d’une sélection, par le dispositif tiers, d’un algorithme d’analyse statistique de données dans la première liste et d’au moins certains jeux de données de la deuxième liste détenus par des plates-formes distinctes ;
- télétransmission par la plate-forme centrale, à chaque plate-forme locale détenant un jeu de données sélectionné, d’un programme d’ordinateur exécutable respectif de l’algorithme sélectionné et ayant comme données d’entrée le jeu de données sélectionné et détenu par ladite plate-forme locale, ledit programme ayant été élaboré par la plate-forme centrale en fonction dudit algorithme sélectionné ;
- dans chaque plate-forme locale détenant un jeu de données sélectionné, vérification de l’intégrité du jeu de données sélectionné détenu par ladite plate forme locale en fonction de son estampillage, exécution sur le processeur de ladite plate-forme locale du programme d’ordinateur exécutable respectif de l’algorithme sélectionné sur le jeu de données de ladite-plate-forme locale dont l’intégrité a été vérifié, et délivrance à la plate-forme centrale par chaque plate-forme locale du résultat local issu de ladite exécution ; - détermination par la plate-forme centrale d’un résultat global en fonction des résultats locaux délivrés par les plates-formes locales, le résultat global comprenant un modèle appris sur les jeux de données sélectionnés ;
- vérification par chacune desdites plates-formes locales en fonction du jeu de données de ladite plate-forme locale dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données sélectionné et audit algorithme et génération d’un élément de preuve indiquant cette vérification ;
- vérification par la plate-forme centrale en fonction des éléments de preuve déterminés par lesdites plates-formes locales, du résultat global et de l’algorithme sélectionné que ledit résultat global correspond bien auxdits jeux de données sélectionnés dont l’intégrité a été vérifiée et à l’algorithme sélectionné, et délivrance du résultat global par la plate-forme centrale au dispositif tiers seulement après ladite vérification.
2.- Procédé selon la revendication 1 selon lequel l'estampillage d'un jeu de données comporte les étapes suivantes :
- recherche d'un emplacement d'insertion libre dans un jeu de données à estampiller ;
- création d'un jeu de données modifié par insertion d'une zone de données à l'emplacement trouvé dans le jeu de données à estampiller, la zone de données comportant un repère et une zone exclue ;
- calcul d'une empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données modifié, l'empreinte ayant une valeur qui dépend de tous les bits du jeu de données modifié autres que les bits de la zone exclue ;
- insertion de l'empreinte au sein de la zone exclue du jeu de données modifié.
3.- Procédé selon la revendication 1 ou 2, selon lequel la vérification de l’intégrité d’un jeu de données en fonction de son estampillage comporte les étapes suivantes :
- recherche d'une zone exclue dans le jeu de données au moyen d'un repère ;
- calcul d'une première empreinte numérique en appliquant une fonction de calcul d'empreinte au jeu de données, la première empreinte ayant une valeur qui dépend de tous les bits du jeu de données autres que les bits de la zone exclue ;
- vérification d'une seconde empreinte présente dans la zone exclue en la comparant à la première empreinte.
4.- Procédé de mise en œuvre d’algorithmes d’analyse statistique de données selon l’une des revendications 1 à 3, selon lequel ledit estampillage effectué sur une plate-forme locale (21 ) garantit en outre l’identité de ladite plate-forme locale.
5.- Procédé de mise en œuvre d’algorithmes d’analyse statistique de données selon l’une des revendications 1 à 4, selon lequel les algorithmes de la première liste sont des algorithmes non triviaux.
6.- Procédé de mise en œuvre d’algorithmes d’analyse statistique de données selon l’une des revendications 1 à 5, selon lequel les éléments comprennent des équipements techniques et les algorithmes de la première liste comprennent des algorithmes parmi des algorithmes d’élaboration de modèles du comportement d’un équipement technique et des algorithmes d’élaboration de modèles d’usure ou de pannes ou de maintenance prédictive d’au moins un équipement technique.
7.- Procédé de mise en œuvre d’algorithmes d’analyse statistique de données selon l’une des revendications 1 à 6, selon lequel les éléments de preuve générés par les plates- formes locales (21 ) sont de type preuves à connaissance nulle.
8.- Procédé de mise en œuvre, par une plate-forme locale (21 ), d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments, selon lequel le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée, ledit système comportant une plate-forme centrale (3) et des plates-formes locales (21 ), ladite plate-forme locale comprenant une mémoire stockant au moins un jeu de données (24) et comprenant un processeur (23) utilisé pour mettre en œuvre les étapes ci-dessous :
- estampillage numérique d’au moins le jeu de données stocké dans la mémoire de ladite plate-forme locale, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données ;
- réception d’un programme d’ordinateur exécutable respectif codant un algorithme d’analyse statistique de données ;
- vérification de l’intégrité du jeu de données sélectionné en fonction de son estampillage, exécution sur le processeur du programme d’ordinateur exécutable respectif sur le jeu de données dont l’intégrité a été vérifié, et délivrance à la plate forme centrale du résultat local issu de ladite exécution en vue de la détermination par la plate-forme centrale d’un résultat global en fonction dudit résultat local et d’au moins un autre résultat local délivré par une autre plate-forme locale, chaque résultat local comprenant un modèle appris sur un jeu de données d’une plate forme locale respective et le résultat global comprenant un modèle appris sur lesdits jeux de données ;
- vérification en fonction du jeu de données dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données et audit algorithme, génération d’un élément de preuve indiquant cette vérification et délivrance de l’élément de preuve généré à la plate-forme centrale, en vue de la vérification par la plate-forme centrale en fonction dudit élément de preuve et d’au moins un autre élément de preuve déterminé par l’autre plate-forme locale, du résultat global et de l’algorithme, que ledit résultat global correspond bien auxdits jeux de données utilisés par les plates-formes locales et à l’algorithme.
9.- Système de mise en oeuvre d’algorithmes d’analyse statistique de données caractérisant le comportement d’un ensemble d’éléments, lesdites données étant réparties en jeux de données détenus sélectivement dans des mémoires de plates-formes locales distinctes, ledit système comportant une plate-forme centrale (3) et des plates- formes locales distinctes (21 ) comprenant chacune un processeur (23) et une mémoire (22) stockant au moins un jeu de données (24),
le résultat de chacun desdits algorithmes étant un modèle appris sur des données qui lui sont fournies en entrée,
dans lequel :
chaque plate-forme locale est adaptée pour opérer un estampillage numérique des jeux de données détenus dans la mémoire de ladite plate-forme locale, ledit estampillage garantissant au moins la date d’estampillage et l’intégrité desdites données,
la plate-forme centrale est adaptée pour fournir à un dispositif tiers (10) une première liste d’algorithmes d’analyse statistique de données, et pour fournir au dispositif tiers pour chacun desdits algorithmes, une deuxième liste indiquant ceux des jeux de données détenus dans des mémoires de plates-formes utilisables comme données d’entrée dudit algorithme, pour détecter une sélection, par le dispositif tiers, d’un algorithme d’analyse statistique de données dans la première liste et d’au moins certains jeux de données de la deuxième liste détenus par des plates-formes distinctes ;
la plate-forme centrale étant adaptée en outre pour élaborer pour chaque plate-forme locale, en fonction dudit algorithme sélectionné, un programme d’ordinateur exécutable respectif de l’algorithme ayant comme données d’entrée le jeu de données sélectionné et détenu par ladite plate-forme locale et pour fournir, à chaque plate-forme locale détenant un jeu de données sélectionné, ledit programme d’ordinateur exécutable élaboré pour elle;
chaque plate-forme locale détenant un jeu de données sélectionné étant en outre adaptée poour vérifier l’intégrité du jeu de données sélectionné détenu par ladite plate-forme locale en fonction de son estampillage, pour exécuter sur le processeur de ladite plate-forme locale le programme d’ordinateur exécutable respectif de l’algorithme sélectionné sur le jeu de données de ladite-plate-forme locale dont l’intégrité a été vérifié, et pour délivrer à la plate-forme centrale le résultat local issu de ladite exécution ;
la plate-forme centrale étant adaptée pour déterminer un résultat global en fonction des résultats locaux délivrés par les plates-formes locales, le résultat global comprenant un modèle appris sur les jeux de données sélectionnés ;
chacune desdites plates-formes locales étant adaptée pour vérifier en fonction du jeu de données de ladite plate-forme locale dont l’intégrité a été vérifié, du résultat issu de l’exécution du programme sur la plate-forme locale et de l’algorithme sélectionné, que le résultat local correspond bien audit jeu de données sélectionné et audit algorithme et pour générer un élément de preuve indiquant cette vérification ;
la plate-forme centrale étant adaptée pour vérifier en fonction des éléments de preuve déterminés par lesdites plates-formes locales, du résultat global et de l’algorithme sélectionné que ledit résultat global correspond bien auxdits jeux de données sélectionnés dont l’intégrité a été vérifiée et à l’algorithme sélectionné, et pour délivrer le résultat global au dispositif tiers seulement après ladite vérification.
10.- Système selon la revendication 9, dans lequel les algorithmes de la première liste sont des algorithmes non triviaux.
PCT/EP2019/059852 2018-04-16 2019-04-16 Procédés de mise en oeuvre d'algorithmes d'analyse statistique de données caractérisant le comportement d'un ensemble d'éléments et système associé WO2019201957A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1800308A FR3080204B1 (fr) 2018-04-16 2018-04-16 Procede de mise en oeuvre d'algorithmes d'analyse statistique de donnees caracterisant le comportement d'un ensemble d'elements et systeme associe
FR1800308 2018-04-16

Publications (1)

Publication Number Publication Date
WO2019201957A1 true WO2019201957A1 (fr) 2019-10-24

Family

ID=63490502

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/059852 WO2019201957A1 (fr) 2018-04-16 2019-04-16 Procédés de mise en oeuvre d'algorithmes d'analyse statistique de données caractérisant le comportement d'un ensemble d'éléments et système associé

Country Status (2)

Country Link
FR (1) FR3080204B1 (fr)
WO (1) WO2019201957A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3001313A1 (fr) 2013-01-22 2014-07-25 Univ Aix Marseille Procede de verification d'au moins une metadonnee d'un bloc de donnees numeriques
WO2017187207A1 (fr) * 2016-04-29 2017-11-02 Privitar Limited Système et procédé d'ingénierie de confidentialité mis en œuvre par ordinateur

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3001313A1 (fr) 2013-01-22 2014-07-25 Univ Aix Marseille Procede de verification d'au moins une metadonnee d'un bloc de donnees numeriques
WO2014114861A1 (fr) 2013-01-22 2014-07-31 Université D'aix-Marseille Procédé de vérification de l'intégrité d'un bloc de données numériques
EP2949070A1 (fr) 2013-01-22 2015-12-02 Université d'Aix-Marseille Procédé de vérification de l'intégrité d'un bloc de données numériques
US20150365426A1 (en) 2013-01-22 2015-12-17 Université D'aix-Marseille Method for checking the integrity of a digital data block
WO2017187207A1 (fr) * 2016-04-29 2017-11-02 Privitar Limited Système et procédé d'ingénierie de confidentialité mis en œuvre par ordinateur

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ADI SHAMIR: "How to share a secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, pages 612 - 613, XP000565227, DOI: doi:10.1145/359168.359176
SAMI ALSOURI ET AL: "Group-Based Attestation: Enhancing Privacy and Management in Remote Attestation", 21 June 2010, TRUST AND TRUSTWORTHY COMPUTING, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 63 - 77, ISBN: 978-3-642-13868-3, XP019145253 *
SHAFI GOLDWASSER; SILVIO MICALI; CHARLES RACKOFF, THE KNOWLEDGE COMPLEXITY OF INTERACTIVE PROOF-SYSTEMS, 1985, pages 291 - 304
WALKER CORAL ET AL: "Personal Data Lake with Data Gravity Pull", 2015 IEEE FIFTH INTERNATIONAL CONFERENCE ON BIG DATA AND CLOUD COMPUTING, IEEE, 26 August 2015 (2015-08-26), pages 160 - 167, XP032802551, DOI: 10.1109/BDCLOUD.2015.62 *

Also Published As

Publication number Publication date
FR3080204B1 (fr) 2020-04-24
FR3080204A1 (fr) 2019-10-18

Similar Documents

Publication Publication Date Title
US10540264B2 (en) Computerized method and end-to-end “Pilot as a service” system for controlling start-up/enterprise interactions
US10057144B2 (en) Remote system data collection and analysis framework
US11321305B2 (en) Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain
US20080209567A1 (en) Assessment and analysis of software security flaws
EP3350660B1 (fr) Système et procédé d'aide à la decision pour la maintenance d'une machine avec apprentissage d'un modèle de décision supervisé par avis d'experts
US11507291B2 (en) Data block-based system and methods for predictive models
Syer et al. Continuous validation of load test suites
CN112148573A (zh) 一种网页操作过程记录与回放的方法及装置
Simou et al. Cloud forensics solutions: A review
US11392821B2 (en) Detecting behavior patterns utilizing machine learning model trained with multi-modal time series analysis of diagnostic data
Rios et al. SLA-driven monitoring of multi-cloud application components using the MUSA framework
CN110062926A (zh) 设备驱动器遥测
Shavit What does it take to catch a Chinchilla? Verifying rules on large-scale neural network training via compute monitoring
WO2019106186A1 (fr) Plate-forme de tracabilite securisee de donnees
Albanese et al. Computer-aided human centric cyber situation awareness
WO2019201957A1 (fr) Procédés de mise en oeuvre d'algorithmes d'analyse statistique de données caractérisant le comportement d'un ensemble d'éléments et système associé
Khan et al. ASMF: Ambient social media forensics chain of custody with an intelligent digital investigation process using federated learning
CN113383328A (zh) 一种用于高效处理汇集数据的云平台和方法
Paul et al. An ontology-based integrated assessment framework for high-assurance systems
Coppolino et al. Effective QoS monitoring in large scale social networks
Narayanan et al. A machine learning framework for providing data integrity and confidentiality for sensitive data cloud applications
FR3076000A1 (fr) Procede d'identification d'une unite de travail en cours d'execution, procede de controle d'execution d'une unite de travail, dispositifs, equipement serveur et programmes d'ordinateurs associes
CN115168828A (zh) 账号的安全登录方法、装置和电子设备
Tian et al. Study on information management and security of e-commerce system
US20240054205A1 (en) Hidden machine learning for federated learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19716954

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19716954

Country of ref document: EP

Kind code of ref document: A1