EP2936377A1 - Procédé de traitement de données dans un système de stockage réparti - Google Patents

Procédé de traitement de données dans un système de stockage réparti

Info

Publication number
EP2936377A1
EP2936377A1 EP13815049.5A EP13815049A EP2936377A1 EP 2936377 A1 EP2936377 A1 EP 2936377A1 EP 13815049 A EP13815049 A EP 13815049A EP 2936377 A1 EP2936377 A1 EP 2936377A1
Authority
EP
European Patent Office
Prior art keywords
add
data
encrypted
module
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP13815049.5A
Other languages
German (de)
English (en)
Inventor
Philippe Raipin Parvedy
Pierre OBAME MEYE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP2936377A1 publication Critical patent/EP2936377A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the invention relates to a method of data processing in a computer system.
  • the system includes a first device able to require, a second device, a storage of data and an operation to be performed on this data.
  • the first device stores both a private key and a public key; the second device is able to store an encrypted data by means of the public key.
  • the processing in question is such that the stored data resulting from the processing are of the homomorphic type.
  • a homomorphic type of storage has the following characteristics: data stored on a device can only be read by authorized users (U) having access rights to the data. Other third party users (T) can apply processing to this data without being able to know the content. Treatment results can only be read by authorized users (U).
  • This type of storage allows the first device to defer a data processing on a second device without the data being disclosed / accessible on the second device.
  • the treatment is any; it may include video transcoding, salary analysis, and so on.
  • accepting to store data in the network implies some loss of control of the data lifecycle.
  • the invention improves the situation
  • the subject of the invention is a data processing method in a system including a first device able to require, at a second device, an operation to be performed on a data item, the first device storing data. both a private key and a public key, the second device being able to store at least one encrypted data ( ⁇ ') by means of the public key, characterized in that it comprises
  • a second transmission step from the second device of the set of stored data a second reception step by the first device followed by a decryption step by means of the private key and a step of performing the operation.
  • the treatments to be performed are therefore stored in the second device in encrypted manner.
  • the second device does not perform processing but simply adds the processing to perform in memory.
  • the first device requires access to the data stored on the second device; the first device receives back the data and the processing to be performed; it is only then that the processing is applied to the data.
  • the step of performing the operation is followed by a step of encryption, by the public key, of the result of the step of carrying out the operation, and transmitting the result of this encryption to the second device (SRV) for storage.
  • the second device SVS
  • the first device later accesses the data stored on the second device again, the first device is not forced to perform again the previously performed operation.
  • the economy in terms of physical resources and / or software is all the more considerable that the operation to be performed is complicated.
  • the first device comprises an indexing table in which an index corresponds to a respective operation, and in that at the encryption step, in the first device, the operation to be encrypted includes the index corresponding to the operation to achieve.
  • the encryption step includes a digital signature generated by the first device.
  • the encryption step includes a random number generated by the first device.
  • the invention relates to a computer program adapted to be implemented on comprising code instructions for the implementation of the method according to one of the preceding claims, when this program is executed by a processor.
  • Such a program can use any programming language. It can be downloaded from a communication network and / or saved on a computer-readable medium.
  • the invention relates to a device, said second device in the embodiment which follows, comprising a storage module able to store at least one encrypted data ( ⁇ ') by means of a key public, characterized in that it comprises
  • a storage module capable of storing said at least one encrypted operation
  • the invention relates to a device, said first device in the following embodiment, comprising a storage module able to store a private key and a public key, characterized in that it comprises
  • an encryption module capable of encrypting at least one operation to be performed in connection with at least one piece of data stored on another device
  • An access request module adapted to require access, on this other device, to the transmitted data
  • a module for receiving at least one encrypted data item and at least one encrypted operation is a module for receiving at least one encrypted data item and at least one encrypted operation
  • a decryption module capable of decrypting, by means of the private key, said at least one encrypted data and said at least one encrypted operation
  • a processing module for carrying out the operation.
  • the encryption module is able to encrypt, by the public key, the result of the operation (A ADD B), and in that the transmission module is able to transmit the result of this encryption to the second device (SRV) for storage.
  • the invention also relates to the computer system including the first device and the second device referred to above.
  • FIG. 1 represents a computer system on which is illustrated an exemplary embodiment of the invention.
  • FIG. 2 is a view of the data exchanges between a first and a second device relative to an exemplary embodiment.
  • FIGS. 3 to 7 are variants of the exemplary embodiment described with reference to FIG. 2.
  • Fig. 1 shows a SYS system illustrating an embodiment.
  • a first group of users Gl users having the right to read / write on data
  • the first group G1 knows a key pair, namely a public key and a private key.
  • the second group is only aware of the public key. In this way, if the second group receives an encrypted data by means of the public key, it can not decrypt this data not knowing the secret key.
  • Data can also be processed, for example an ADD addition, a MUL multiplication, etc.
  • the first group G1 is illustrated by means of a PC device and the second group by means of a device such as an SRV processing server.
  • a data A will be transmitted by the first device to the server SRV.
  • the process comprises two phases
  • the data A is stored and encrypted by its pub key in the device PC.
  • a first step ET11 the encrypted data A 'is transmitted from the PC device to the server SRV to be stored there.
  • a particular treatment will be applied to the data A.
  • B will be added to A.
  • the device PC encrypts the operation ADD and the data B. the result is noted ( ADD: B) '
  • a third step ET13 the device PC transmits the result of the encryption of the second step ET12.
  • a fourth step ET14 the server receives the result of the encryption of the second step namely (ADD: B) '
  • the server Upon receipt, the server stores the order of arrival of the various data from the PC device. This order will then communicate to the PC device when accessing the data so that the decryption operation respects this order.
  • the server adds
  • ET2k 1 to 5
  • a second step ET22 the server responds by transmitting the result of the fifth step ET15 with reference to the first phase, namely
  • a ': (ADD: B)' In a third step ET23, the device receives A ': (ADD: B)' and decrypts with the private key.
  • a fourth step ET24 the device obtains the data and the operation to be applied to the data namely A ADD B.
  • a fifth step ET25 the device obtains the result of the sum of A and B. the result is noted D
  • a single device communicates with the server; however the number of devices and the number of servers can be any.
  • two devices communicate with the server, a first PCI device, and a second PC2 device.
  • the result D is encrypted with the public key and transmitted during a seventh step ET27 from the device, said first device, to the server to be stored therein at an eighth step ET28.
  • a request REQ ' issued for example from the second device PC2 during a ninth step ET29, for subsequent access to the data stored on the server will be followed by sending from the server during a tenth step ET210 of the encrypted data D '. If the second device is at the origin of this request, this second device receives the encrypted data D '. Then just this second device decrypting D 'with the private key to obtain D during an eleventh step ET211.
  • each processing request from a device includes a digital signature, in order to guarantee, like all digital signatures, both the integrity of the processing request and the to authenticate the device at the origin of the request.
  • the device PC encrypts the operation ADD, the data B and the signature SGN. the result is noted (ADD: B: SGN) '.
  • the device PC transmits the result of the encryption (ADD: B: SGN).
  • ADD B: SGN
  • the different types of operation are indexed for example as follows :
  • the PC device stores this indexing for example in the form of a correspondence table. Then, in the second step ET12, the device PC encrypts the operation ADD and the data B, possibly the digital signature if the third variant is implemented, the result is noted (ADD: B: SGN) '. The device transforms this result into (1: B: SGN) '.
  • a third step ET13 the PC device transmits (1: B: SGN) to the server SRV.
  • the device receives A ': (1: B: SGN)' which it decrypts with the private key.
  • the server does not know the operation used ADD.
  • This third variant reduces the risk of disclosure of data belonging to Gl.
  • an operation can be a complete program able to manipulate data. If the data is A, in this case, all the binary code of the program is encrypted, transmitted and added to the data A 'on the server SRV.
  • the PC device transmits (PROG) 'to the server SRV.
  • a fifth variant, described with reference to FIG. 7, makes it possible to further reduce the risk of disclosure.
  • a symmetric key is used to encrypt the data, and the symmetric key is encrypted with the public key of the data item.
  • a first step ETllbis the data A is encrypted by means of a symmetric key K.
  • the result, noted A ' ⁇ is stored in the server SRV.
  • the symmetric key is encrypted by means of the public key.
  • the result is noted K '.
  • the device PC transmits the two results A ' K : K'
  • a third step ET13bis the server receives A ' ⁇ : K' and stores it.
  • the second phase is as follows:
  • a first step ET21bis an access request REQ "is transmitted from the PC device to the server SRV.
  • the server responds in transmitting
  • a third step ET23bis the device receives ⁇ ' ⁇ : K' and decrypts K 'with the private key. He gets at first K; and decrypts A ' ⁇ with the symmetric key to obtain A.
  • each processing request from a device includes a random number generated by the device.
  • a second step ET12 the device PC encrypts the operation ADD, the data B and a random number ALEA, the result is noted (ADD: B: ALEA) '.
  • the device PC transmits the result of the encryption (ADD: B: ALEA) '.
  • the server SRV comprises
  • a module for receiving at least one encrypted operation (ADD: B) 'to be performed in connection with the said at least one data item A; the operation being encrypted by means of the public key;
  • a storage module capable of storing said at least one encrypted operation (ADD: B) ';
  • a transmission module capable of transmitting, on request, said at least one encrypted data item ( ⁇ ') and said at least one encrypted operation item (ADD: B)'.
  • the PC device comprises
  • an encryption module capable of encrypting at least one operation
  • a module for transmitting said at least one encrypted operation (ADD: B);
  • An access request module adapted to require access, on this other device, to the transmitted data;
  • a module for receiving at least one encrypted data item and at least one encrypted operation is a module for receiving at least one encrypted data item and at least one encrypted operation
  • a decryption module capable of decrypting, by means of the private key, said at least one encrypted data and said at least one encrypted operation
  • module a processing module for carrying out the operation (A ADD B).
  • module may correspond to either a software component or a hardware component, or to a set of hardware and / or software components, capable of implementing the function or functions described for the module.
  • At least one encrypted operation means indifferently an encryption of several operations or a plurality of operations ciphers respectively.
  • at least one encrypted data means either an encryption of several data or a plurality of data ciphers respectively.
  • the first operation is transmitted in encrypted form at first (ADD: B) '
  • the server stores A ': (ADD: B)' At this point, the server stores two encrypted data A 'and (ADD: B)' The second operation is transmitted in encrypted form (MIN: C) 'The server stores A': (ADD: B) ': (MIN: C ) '
  • the server keeps the order of the data and operations it receives from the terminal.
  • the server transmits all the encrypted data, in this case the encrypted data A ', and the encrypted operations: (ADD: B)' and (MIN: C) ', by respecting the order of reception.
  • the terminal can then, upon reception, decrypt all the encrypted blocks namely, A ', (ADD: B)' and (MIN: C) with the private key and obtain
  • the server stores the order of arrival of the various data from the PC device. This order is then communicated to the PC device when accessing the data so that the decryption operation respects this order.
  • Keeping the order of arrival may consist of concatenating the received encrypted data blocks one after the other.
  • n blocks ⁇ .,. ⁇ are successively received one by one by the server.
  • the server concatenates blocks Bl: B2: ...: Bn.
  • the server When the terminal requires access to the data, the server responds by transmitting the concatenated blocks Bl: B2: ...: Bn

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention a trait à un procédé de traitement de données dans un système incluant un premier dispositif (PC) apte à requérir, à un deuxième dispositif, une opération à réaliser sur une donnée, le premier dispositif stockant à la fois une clé privée et une clé publique, le deuxième dispositif étant apte à stocker au moins une donnée chiffrée (A') au moyen de la clé publique, caractérisé en ce qu'il comprend - une étape de chiffrement (ET12), dans le premier dispositif, d'une opération (ADD :B) à effectuer en liaison avec ladite au moins une donnée (A); - une première étape de transmission (ET13) à destination du deuxième dispositif du résultat du chiffrement ((ADD :B)'); - une première étape de réception (ET14) et de stockage dudit résultat dans le deuxième dispositif; suite à une demande d'accès aux données issue du premier dispositif, - une seconde étape de transmission (ET22) depuis le deuxième dispositif de l'ensemble des données stockées (A', (ADD :B)') - une seconde étape de réception (ET25) par le premier dispositif suivie d'une étape de déchiffrement au moyen de la clé privée et d'une étape de réalisation de l'opération (A ADD B).

Description

Titre : Procédé de traitement de données dans un système de stockage réparti.
Domaine technique
L'invention se rapporte à un procédé de traitement de données dans un système informatique.
Le système inclut un premier dispositif apte à requérir, à un deuxième dispositif, un stockage d'une donnée et d'une opération à réaliser sur cette donnée.
Dans ce système, le premier dispositif stocke à la fois une clé privée et une clé publique ; le deuxième dispositif est apte à stocker une donnée chiffrée au moyen de la clé publique.
Le traitement en question est tel que les données stockées résultant du traitement sont de type homomorphe. Rappelons qu'un stockage de type homomorphe a les caractéristiques suivantes : une donnée stockée sur un dispositif ne peut être lu que par des utilisateurs autorisés (U) ayant des droits d'accès à la donnée. D'autres utilisateurs tiers (T) peuvent appliquer des traitements à cette donnée sans pouvoir en connaître le contenu. Les résultats des traitements ne peuvent être lus que par les utilisateurs autorisés (U).
Ce type de stockage permet au premier dispositif de déporter un traitement de données sur un second dispositif sans que les données ne soient divulguées/accessibles sur le deuxième dispositif.
Le traitement est quelconque ; il peut avoir pour objet un transcodage de vidéo, une analyse de salaires, etc.
Etat de la technique
Aujourd'hui, le secteur des télécommunications est en train de vivre une mutation depuis un mode de fonctionnement dans lequel les utilisateurs finaux conservent des informations et des applications qui leurs sont propres, vers un autre mode de fonctionnement dans lequel les informations seront stockées de façon déportées/réparties dans des dispositifs distants. Cet autre mode de fonctionnement est appelé aujourd'hui « l'informatique en nuage », de l'expression anglaise « Cloud Computing » bien connue de l'homme du métier.
Dans un tel système, où le traitement des données est déporté, la confidentialité des données est le facteur de sécurité le plus mis en cause. En effet, on ne sait pas réellement où sont stockées et traitées les données. De plus, on ne connaît pas la façon dont la donnée est traitée même si le fournisseur dit garantir la confidentialité. Un utilisateur n'est pas certain que ses données ne seront pas déchiffrées lors du traitement et donc divulguées.
En d'autres mots, accepter de stocker des données dans le réseau implique une certaine perte de maîtrise du cycle de vie des données.
L'invention vient améliorer la situation
L'invention
A cet effet, selon un aspect fonctionnel, l'invention a pour objet un procédé de traitement de données dans un système incluant un premier dispositif apte à requérir, à un deuxième dispositif, une opération à réaliser sur une donnée, le premier dispositif stockant à la fois une clé privée et une clé publique, le deuxième dispositif étant apte à stocker au moins une donnée chiffrée (Α') au moyen de la clé publique, caractérisé en ce qu'il comprend
- une étape de chiffrement, dans le premier dispositif, d'une opération à effectuer en liaison avec ladite au moins une donnée
(A) ;
- une première étape de transmission à destination du deuxième dispositif du résultat du chiffrement ;
- une première étape de réception et de stockage dudit résultat dans le deuxième dispositif ;
suite à une demande d'accès aux données issue du premier dispositif,
- une seconde étape de transmission depuis le deuxième dispositif de l'ensemble des données stockées ; - une seconde étape de réception par le premier dispositif suivie d'une étape de déchiffrement au moyen de la clé privée et d'une étape de réalisation de l'opération.
Les traitements à réaliser sont donc stockés dans le deuxième dispositif de façon chiffrés. En d'autres mots, le deuxième dispositif n'effectue pas de traitement mais se contente d'ajouter le traitement à effectuer en mémoire. Ultérieurement, le premier dispositif requiert un accès aux données stockées sur le deuxième dispositif ; le premier dispositif reçoit en retour les données et le traitement à réaliser ; ce n'est qu'à ce moment-là que le traitement est appliqué aux données.
On comprend donc que, grâce à l'invention, les données et les traitements ne font donc pas l'objet d'un déchiffrement sur le deuxième dispositif. Sans connaissance de la clé privé qui a servi au chiffrement, il est donc quasi impossible d'accéder aux données dans le deuxième dispositif.
Le principe du stockage homomorphe défini ci-dessus est donc respecté.
Selon un premier mode de mise en œuvre particulier de l'invention, l'étape de réalisation de l'opération est suivie d'une étape de chiffrement, par la clé publique, du résultat de l'étape de réalisation de l'opération, et de transmission du résultat de ce chiffrement à destination du deuxième dispositif (SRV) pour y être stocké. Grâce à cette caractéristique, si le premier dispositif accède de nouveau ultérieurement aux données stockées sur le deuxième dispositif, le premier dispositif n'est pas contraint de réaliser une nouvelle fois l'opération réalisée précédemment. L'économie en terme de ressources physiques et/ou logicielles est d'autant plus considérable que l'opération à réaliser est compliquée.
Selon un autre mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec le précédent, le premier dispositif comprend une table d'indexation dans laquelle à un index correspond une opération respective, et en ce qu'à l'étape chiffrement, dans le premier dispositif, l'opération à chiffrer inclut l'index correspondant à l'opération à réaliser. Ainsi, même si les données étaient divulguées au niveau du deuxième dispositif, la méconnaissance de l'opération à réaliser évite la divulgation du résultat de l'opération.
Selon un autre mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, l'étape de chiffrement inclut une signature numérique générée par le premier dispositif. Selon un autre mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec le précédent, l'étape de chiffrement inclut un nombre aléatoire généré par le premier dispositif. Ces deux derniers modes de mise en œuvre garantissent que les données reçues depuis le deuxième dispositif proviennent bien initialement du premier dispositif.
Selon un aspect matériel, l'invention a trait à un programme d'ordinateur apte à être mis en œuvre sur comportant des instructions de code pour la mise en œuvre du procédé selon l'une des revendications précédentes, lorsque ce programme est exécuté par un processeur.
Un tel programme peut utiliser n'importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur.
Selon un autre aspect matériel, l'invention a trait à un dispositif, dit second dispositif dans l'exemple de réalisation qui suit, comprenant un module de stockage apte à stocker au moins une donnée chiffrée (Α') au moyen d'une clé publique, caractérisé en ce qu'il comprend
- un module de réception d'au moins une opération chiffrée à effectuer en liaison avec ladite au moins une donnée (A) ; l'opération étant chiffrée au moyen de la clé publique ;
- un module de stockage apte à stocker ladite au moins une opération chiffrée;
- un module de transmission apte à transmettre, sur requête, ladite au moins une donnée chiffrée (Α') et ladite au moins une opération chiffrée. Selon un autre aspect matériel, l'invention a trait à un dispositif, dit premier dispositif dans l'exemple de réalisation qui suit, comprenant un module de stockage apte à stocker une clé privée et une clé publique, caractérisé en ce qu'il comprend
- un module de chiffrement apte à chiffrer au moins une opération à réaliser en liaison avec au moins une donnée stockée sur un autre dispositif ;
- un module de transmission de ladite au moins une opération chiffrée ;
- Un module de demande d'accès apte à requérir un accès, sur cet autre dispositif, aux données transmises ;
- Un module de réception d'au moins une donnée chiffrée et d'au moins une opération chiffrée,
- un module de déchiffrement apte à déchiffrer, au moyen de la clé privée, ladite au moins une donnée chiffrée et ladite au moins une opération chiffrée
- un module de traitement pour la réalisation de l'opération.
En référence au premier mode de réalisation décrit ci-dessus, le module de chiffrement est apte à chiffrer, par la clé publique, le résultat de l'opération (A ADD B), et en ce que le module de transmission est apte à transmettre le résultat de ce chiffrement à destination du deuxième dispositif (SRV) pour y être stocké.
L'invention a aussi trait au système informatique incluant le premier dispositif et le second dispositif visés ci-dessus.
L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés sur lesquels :
Les figures
La figure 1 représente un système informatique sur lequel est illustré un exemple de réalisation de l'invention. La figure 2 est une vue des échanges de données entre un premier et un deuxième dispositif relativement à un exemple de réalisation.
Les figures 3 à 7 sont des variantes de l'exemple de réalisation décrit en référence à la figure 2.
Description détaillée d'un exemple de réalisation illustrant l'invention
La figure 1 représente un système SYS illustrant un mode de réalisation.
Un exemple de réalisation va être décrit en référence à la figure 1. Dans cet exemple, considérons deux groupes d'utilisateurs :
- un premier groupe d'utilisateurs Gl, utilisateurs ayant le droit de lecture/écriture sur des données ;
- un deuxième groupe d'utilisateurs G2, utilisateurs habilités à effectuer des opérations mais d'ayant pas un droit de lecture sur les données.
Le premier groupe Gl a connaissance d'une paire de clé à savoir une clé publique et une clé privé.
Le deuxième groupe a quant à lui connaissance uniquement de la clé publique. De cette façon, si le deuxième groupe reçoit une donnée chiffrée au moyen de la clé publique, il ne peut pas déchiffrer cette donnée ne connaissant pas la clé secrète.
A noter que dans la suite le résultat du chiffrement d'une donnée DATA sera noté DATA'.
Une donnée peut aussi faire l'objet d'un traitement par exemple une addition ADD, une multiplication MUL, etc.
Dans la suite, un traitement, par exemple une addition, sur une donnée DATA sera noté ADD: DATA.
Dans la suite, afin de simplifier l'exposé d'un mode de réalisation, le premier groupe Gl est illustré au moyen d'un dispositif PC et le deuxième groupe au moyen d'un dispositif tel qu'un serveur de traitement SRV. Dans la suite une donnée A va être transmise par le premier dispositif à destination du serveur SRV.
Le procédé comprend deux phases
- une première phase PHI de stockage et de traitement ;
- et une deuxième phase PH2 d'accès aux données stockées sur le serveur SRV.
Au cours de la première phase PHI, dans notre exemple, la donnée A est stockée et chiffrée par sa clé pub dans le dispositif PC.
La première phase comprend plusieurs étapes référencées ETln (n= l à 5).
Lors d'une première étape ET11, la donnée chiffrée A' est transmise du dispositif PC au serveur SRV pour y être stockée.
Ensuite, un traitement particulier va être appliqué sur la donnée A. Dans notre exemple, B va être ajouté à A. Lors d'une deuxième étape ET12, le dispositif PC chiffre l'opération ADD et la donnée B. le résultat est noté (ADD :B)'
Lors d'une troisième étape ET13, le dispositif PC transmet le résultat du chiffrement de la deuxième étape ET12.
Lors d'une quatrième étape ET14, le serveur reçoit le résultat du chiffrement de la deuxième étape à savoir (ADD : B)'
A réception, le serveur mémorise l'ordre d'arrivée des différentes données issues du dispositif PC. Cet ordre sera ensuite communiquer au dispositif PC lors de l'accès aux données afin que l'opération de déchiffrement respecte cet ordre. Dans notre exemple, lors d'une cinquième étape ET15, le serveur ajoute
(ADD : B)' à la donnée A'.
Le résultat est noté
A' : (ADD :B)' Considérons ensuite qu'un utilisateur du premier groupe souhaite accéder aux données stockées sur le serveur. La deuxième phase 2 d'accès aux données stockées sur le serveur comprend plusieurs étapes référencées ET2k (k= l à 5) . Lors d'une première étape ET21, une requête d'accès REQ est transmise depuis le dispositif PC au serveur SRV.
Lors d'une deuxième étape ET22, le serveur répond en transmettant le résultat de la cinquième étape ET15 en référence à la première phase à savoir
A' : (ADD :B)' Los d'une troisième étape ET23, le dispositif reçoit A' : (ADD :B)' et déchiffre avec la clé privée.
Lors d'une quatrième étape ET24, le dispositif obtient les données et l'opération à appliquer aux données à savoir A ADD B.
Lors d'une cinquième étape ET25, le dispositif obtient le résultat de la somme de A et B. le résultat est noté D
Le mode de réalisation décrit ci-dessus peut bien évidemment faire l'objet de variantes dont les suivantes.
Dans l'exemple décrit ci-dessus, un seul dispositif communique avec le serveur ; cependant le nombre de dispositifs et le nombre de serveurs peut être quelconque. Considérons que deux dispositifs communiquent avec le serveur, un premier dispositif PCI et un deuxième dispositif PC2. Selon une première variante du mode décrit ci-dessus, suite à la cinquième étape ET25, lors d'une sixième étape ET26, le résultat D est chiffré avec la clé publique et transmis lors d'une septième étape ET27 depuis le dispositif, dit premier dispositif, au serveur pour y être stocké lors d'une huitième étape ET28.
On comprend qu'une requête REQ', issue par exemple du second dispositif PC2 lors d'une neuvième étape ET29, d'accès ultérieure aux données stockées sur le serveur sera suivie de l'envoi depuis le serveur lors d'une dixième étape ET210 de la données chiffrée D'. Si le second dispositif est à l'origine de cette requête, ce second dispositif reçoit la donnée chiffrée D'. Il suffit alors pour ce second dispositif de déchiffrer D' avec la clé privée pour obtenir D lors d'une onzième étape ET211.
Cette variante évite de faire deux fois une opération déjà effectuée par un dispositif. Selon une seconde variante, décrite en référence à la figure 4, chaque demande de traitement issue d'un dispositif inclut une signature numérique, ce afin de garantir comme, toutes signatures numériques, à la fois l'intégrité de la demande de traitement et afin d'authentifier le dispositif à l'origine de la demande. En l'espèce, dans notre exemple, Lors d'une deuxième étape ET12, le dispositif PC chiffre l'opération ADD, la donnée B et la signature SGN. le résultat est noté (ADD : B : SGN)'.
Lors de la troisième étape ET13, le dispositif PC transmet le résultat du chiffrement (ADD : B : SGN)' Selon une troisième variante, décrite en référence à la figure 5, les différents types d'opération sont indexés par exemple de la façon suivante :
ADD = 1 ; MUL = 2 ; SIN = 12 , etc.
Le dispositif PC stocke cette indexation par exemple sous forme de table de correspondance. Ensuite, lors de la deuxième étape ET12, le dispositif PC chiffre l'opération ADD et la donnée B, éventuellement la signature numérique si la troisième variante est mise en œuvre, le résultat est noté (ADD : B :SGN)'. Le dispositif transforme ce résultat en (1 : B :SGN)'.
Lors d'une troisième étape ET13, le dispositif PC transmet (1 : B :SGN) au serveur SRV.
Los de troisième étape ET23 relative à la deuxième phase, le dispositif reçoit A' : (1 :B :SGN)' qu'il déchiffre avec la clé privée.
Grâce à cette variante, le serveur ne connaît pas l'opération utilisée ADD. Cette troisième variante diminue le risque de divulgation des données appartenant à Gl. Selon une quatrième variante, décrite en référence à la figure 6, au lieu d'être une opération simple indexée (ADD, MUL, SIN, etc.), une opération peut être un programme complet apte à manipuler des données. Si la donnée est A, dans ce cas, tout le code binaire du programme est chiffré, transmis et ajouté à la donnée A' sur le serveur SRV.
En l'espèce :
- Lors de la troisième étape ET13 de la 1ère phase, le dispositif PC transmet (PROG)' au serveur SRV.
- Lors de la quatrième étape ET14 de la 1ère phase, le serveur reçoit (PROG)' et l'ajoute à A', le résultat est noté A' : (PROG)'
Une cinquième variante, décrite en référence à la figure 7, permet de diminuer encore le risque de divulgation.
Selon cette cinquième variante, au lieu de tout chiffrer par des clés asymétriques, on utilise une clé symétrique pour chiffrer la donnée, et on chiffre la clé symétrique avec la clé publique de la donnée.
Lors d'une première étape ETllbis, la donnée A est chiffrée au moyen d'une clé symétrique K. Le résultat, noté A'^ est stocké dans le serveur SRV.
Lors de cette première étape, la clé symétrique est chiffrée au moyen de la clé publique. Le résultat est noté K'. Lors d'une deuxième étape ET12bis, le dispositif PC transmet les deux résultats A'K : K'
Lors d'une troisième étape ET13bis, le serveur reçoit A'^ : K' et le mémorise.
Considérons en suite qu'un utilisateur du premier groupe souhaite accéder à la donnée A stockée sur le serveur.
La deuxième phase s'effectue de la façon suivante :
Lors d'une première étape ET21bis, une requête d'accès REQ" est transmise depuis le dispositif PC au serveur SRV. Lors d'une deuxième étape ET22bis, le serveur répond en transmet
A : K'
Lors d'une troisième étape ET23bis, le dispositif reçoit Α'^ : K' et déchiffre K' avec la clé privée. Il obtient dans un premier temps K ; et déchiffre A'^ avec la clé symétrique afin d'obtenir A.
Selon une sixième et dernière variante, à l'image de la deuxième variante, chaque demande de traitement issue d'un dispositif inclut un nombre aléatoire généré par le dispositif.
En l'espèce, dans notre exemple, Lors d'une deuxième étape ET12, le dispositif PC chiffre l'opération ADD, la donnée B et un nombre aléatoire ALEA, le résultat est noté (ADD :B : ALEA)'.
Lors de la troisième étape ET13, le dispositif PC transmet le résultat du chiffrement (ADD :B : ALEA)'.
Pour la réalisation du procédé décrit ci-dessus, le serveur SRV comprend
- un module de réception d'au moins une opération chiffrée (ADD :B)' à effectuer en liaison avec ladite au moins une donnée A ; l'opération étant chiffrée au moyen de la clé publique ;
- un module de stockage apte à stocker ladite au moins une opération chiffrée (ADD :B)' ;
- un module de transmission apte à transmettre, sur requête, ladite au moins une donnée chiffrée (Α') et ladite au moins une opération chiffrée (ADD :B)'.
Aussi, pour la réalisation du procédé décrit ci-dessus, le dispositif PC comprend
- un module de chiffrement apte à chiffrer au moins une opération
(ADD :B) à réaliser en liaison avec au moins une donnée A stockée sur un autre dispositif ;
- un module de transmission de ladite au moins une opération chiffrée (ADD :B)' ; - Un module de demande d'accès apte à requérir un accès, sur cet autre dispositif, aux données transmises ;
- Un module de réception d'au moins une donnée chiffrée et d'au moins une opération chiffrée,
- un module de déchiffrement apte à déchiffrer, au moyen de la clé privée, ladite au moins une donnée chiffrée et ladite au moins une opération chiffrée
- un module de traitement pour la réalisation de l'opération (A ADD B). A noter que le te terme « module » utilisé dans ce document, peut correspondre soit à un composant logiciel, soit à un composant matériel, soit encore à un ensemble de composants matériels et/ou logiciels, aptes à mettre en œuvre la ou les fonctions décrites pour le module.
L'expression « au moins une opération chiffrée » signifie indifféremment un chiffrement de plusieurs opérations ou une pluralité de chiffrements d'opérations respectivement. De la même façon « au moins une donnée chiffrée » signifie indifféremment un chiffrement de plusieurs données ou une pluralité de chiffrements de données respectivement.
Dans l'exemple donné ci-dessus, une seule opération (ADD :B) est décrite. Naturellement, un traitement peut avoir pour objet une pluralité d'opérations.
Supposons les opérations suivantes à appliquer à la donnée A ADD :B et MIN :C
On suppose aussi que ces deux opérations sont transmises à deux instants distincts tl et t2, et que le premier dispositif ne requiert pas d'accès aux données stockées sur le serveur entre ces deux instants.
Dans cette configuration, la première opération est transmise sous forme chiffrée dans un premier temps (ADD :B)'
Le serveur stocke A' : (ADD : B)' A ce stade, le serveur stocke deux données chiffrées A' et (ADD :B)' La deuxième opération est transmise sous forme chiffrée (MIN :C)' Le serveur stocke A' : (ADD : B)' : (MIN :C)'
Le serveur conserve l'ordre des données et opérations qu'il reçoit depuis le terminal. Ainsi, lorsque le terminal requiert un accès aux données, le serveur transmet l'ensemble des données chiffrées, en l'espèce la donnée chiffrée A', et les opérations chiffrées: (ADD :B)' et (MIN :C)', en respectant l'ordre de réception.
Le terminal peut ensuite, à réception, déchiffrer l'ensemble des blocs chiffrées à savoir, A', (ADD : B)' et (MIN :C) grâce à la clé privée et obtenir
(A ADD B) MIN C en respectant l'ordre.
Nous avons vu dans l'exemple de réalisation décrit ci-dessus que le serveur mémorise l'ordre d'arrivée des différentes données issues du dispositif PC. Cet ordre est ensuite communiquer au dispositif PC lors de l'accès aux données afin que l'opération de déchiffrement respecte cet ordre.
Conserver l'ordre d'arrivée peut consister à concaténer les blocs de données chiffrés reçus les uns après les autres. Considérons n blocs ΒΙ.,.Βη sont reçus successivement les uns après les autres par le serveur. Afin de préserver l'ordre d'arrivée des blocs, le serveur concatène les blocs Bl : B2 : ... : Bn.
Lorsque le terminal requiert un accès aux donnés, le serveur répond en transmettant les blocs concaténés Bl :B2 :... :Bn

Claims

Procédé de traitement de données dans un système incluant un premier dispositif apte à requérir, à un deuxième dispositif, une opération à réaliser sur une donnée, le premier dispositif stockant à la fois une clé privée et une clé publique, le deuxième dispositif étant apte à stocker au moins une donnée chiffrée (A7) au moyen de la clé publique, caractérisé en ce qu'il comprend
- une étape de chiffrement (ET12), dans le premier dispositif, d'une opération (ADD : B) à effectuer en liaison avec ladite au moins une donnée (A) ;
- une première étape de transmission (ET13) à destination du deuxième dispositif du résultat du chiffrement ((ADD B)n);
- une première étape de réception (ET14) et de stockage dudit résultat dans le deuxième dispositif ; suite à une demande d'accès aux données issue du premier dispositif,
- une seconde étape de transmission (ET22), depuis le deuxième dispositif, de l'ensemble des données stockées (Α', (ADD : B)n)
- une seconde étape de réception (ET25) par le premier dispositif suivie d'une étape de déchiffrement au moyen de la clé privée et d'une étape de réalisation de l'opération (A ADD B).
Procédé selon la revendication 1, caractérisé en ce que l'étape de réalisation de l'opération (A ADD B) est suivie d'une étape de chiffrement, par la clé publique, du résultat de l'étape de réalisation de l'opération, et de transmission à destination du deuxième dispositif (SRV) pour y être stocké.
Procédé selon la revendication 1, caractérisé en ce que le premier dispositif comprend une table d'indexation (1 -> ADD, 2->MUL) dans laquelle à un index correspond une opération respective, et en ce qu'à l'étape chiffrement, dans le premier dispositif, l'opération à chiffrer (1 : B) inclut l'index correspondant à l'opération à réaliser. Procédé selon la revendication 1, caractérisé en ce que l'étape de chiffrement inclut une signature numérique générée par le premier dispositif.
Procédé selon la revendication 1, caractérisé en ce que l'étape de chiffrement inclut un nombre aléatoire généré par le premier dispositif.
Programme d'ordinateur apte à être mis en œuvre sur comportant des instructions de code pour la mise en œuvre du procédé selon l'une des revendications précédentes, lorsque ce programme est exécuté par un processeur.
Dispositif (SRV) comprenant un module de stockage apte à stocker au moins une donnée chiffrée (Α') au moyen d'une clé publique, caractérisé en ce qu'il comprend
- un module de réception d'au moins une opération chiffrée ((ADD : B)n) à effectuer en liaison avec ladite au moins une donnée (A) ; l'opération étant chiffrée au moyen de la clé publique ;
- un module de stockage apte à stocker ladite au moins une opération chiffrée ((ADD : B)') ;
- un module de transmission apte à transmettre, sur requête, ladite au moins une donnée chiffrée (Α') et ladite au moins une opération chiffrée (((ADD : B)').
Dispositif (PC) comprenant un module de stockage apte à stocker une clé privée et une clé publique, caractérisé en ce qu'il comprend
- un module de chiffrement apte à chiffrer au moins une opération (ADD : B) à réaliser en liaison avec au moins une donnée (A) stockée sur un autre dispositif ;
- un module de transmission de ladite au moins une opération chiffrée ((ADD : B)') ;
- Un module de demande d'accès apte à requérir un accès, sur cet autre dispositif, aux données transmises ; - Un module de réception d'au moins une donnée chiffrée et d'au moins une opération chiffrée,
- un module de déchiffrement apte à déchiffrer, au moyen de la clé privée, ladite au moins une donnée chiffrée et ladite au moins une opération chiffrée
- un module de traitement pour la réalisation de l'opération (A ADD B).
9. Dispositif selon la revendication 8, caractérisé en ce que le module de chiffrement est apte à chiffrer, par la clé publique, le résultat de l'opération (A ADD B), et en ce que le module de transmission est apte à transmettre le résultat de ce chiffrement à destination du deuxième dispositif (SRV) pour y être stocké.
10. Système informatique incluent un premier dispositif selon la revendication 8 et un second dispositif selon la revendication 7.
EP13815049.5A 2012-12-18 2013-12-04 Procédé de traitement de données dans un système de stockage réparti Withdrawn EP2936377A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1262219A FR2999750A1 (fr) 2012-12-18 2012-12-18 Procede de traitement de donnees dans un systeme de stockage reparti
PCT/FR2013/052943 WO2014096607A1 (fr) 2012-12-18 2013-12-04 Procédé de traitement de données dans un système de stockage réparti

Publications (1)

Publication Number Publication Date
EP2936377A1 true EP2936377A1 (fr) 2015-10-28

Family

ID=48468410

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13815049.5A Withdrawn EP2936377A1 (fr) 2012-12-18 2013-12-04 Procédé de traitement de données dans un système de stockage réparti

Country Status (4)

Country Link
US (1) US20150326544A1 (fr)
EP (1) EP2936377A1 (fr)
FR (1) FR2999750A1 (fr)
WO (1) WO2014096607A1 (fr)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963642A (en) * 1996-12-30 1999-10-05 Goldstein; Benjamin D. Method and apparatus for secure storage of data
US20050201555A1 (en) * 2004-02-09 2005-09-15 I-Ling Yen System, method and apparatus for secure computation on encrypted data
US20050216531A1 (en) * 2004-03-24 2005-09-29 Blandford Robert R Personal web diary
US8484464B2 (en) * 2007-06-15 2013-07-09 Research In Motion Limited Method and devices for providing secure data backup from a mobile communication device to an external computing device
US8862895B2 (en) * 2010-04-27 2014-10-14 Fuji Xerox Co., Ltd. Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2014096607A1 *

Also Published As

Publication number Publication date
US20150326544A1 (en) 2015-11-12
WO2014096607A1 (fr) 2014-06-26
FR2999750A1 (fr) 2014-06-20

Similar Documents

Publication Publication Date Title
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN110689349B (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
US10972251B2 (en) Secure web browsing via homomorphic encryption
US10762229B2 (en) Secure searchable and shareable remote storage system and method
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9137222B2 (en) Crypto proxy for cloud storage services
US10063372B1 (en) Generating pre-encrypted keys
US9602280B2 (en) System and method for content encryption in a key/value store
US10608813B1 (en) Layered encryption for long-lived data
CN108038128B (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
WO2018136801A1 (fr) Opérations sécurisées de bout en bout à l'aide d'une matrice d'interrogation
FR2930390A1 (fr) Procede de diffusion securisee de donnees numeriques vers un tiers autorise.
US11381381B2 (en) Privacy preserving oracle
US10536276B2 (en) Associating identical fields encrypted with different keys
US10476663B1 (en) Layered encryption of short-lived data
FR3006082A1 (fr) Procede de mise en œuvre d'un droit sur un contenu
FR2902547A1 (fr) Gestion d'informations cryptographiques non tributaire d'un dispositif
FR2930391A1 (fr) Terminal d'authentification d'un utilisateur.
US9641328B1 (en) Generation of public-private key pairs
CN106919348A (zh) 防暴力破解的分布式存储系统及存储方法
US10540522B2 (en) Storing data securely in a database
US11356254B1 (en) Encryption using indexed data from large data pads
CN117033466B (zh) 加密查询方法、设备、存储介质及装置
EP2936377A1 (fr) Procédé de traitement de données dans un système de stockage réparti
WO2023229718A1 (fr) Système et procédé de chiffrement incrémentiel

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150706

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20160525

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20161206