Method for backing up a data stream within a public storage computer system
Patent Information
- Application Number
- PCT/EP2025/055723
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-04
- Filing Date
- 2025-03-03
- Publication Date
- 2025-10-02
AI Technical Summary
Existing methods for securing data backups in public storage computer systems with cloud architectures are complex to implement and lack robustness against unauthorized access, often requiring significant hardware resources and complex algorithms, leading to users opting for public solutions that compromise data security.
A method involving a local server that encrypts data streams using geolocation coordinates, transmitting them securely to a public storage system, and utilizing geolocation-based decryption to ensure data integrity, with optional symmetric encryption and digital fingerprints for secure recovery and deletion.
Ensures secure and reliable data storage and recovery by preventing unauthorized decryption of encrypted data streams, even if the local server is moved, while optimizing hardware resources and enhancing security through geolocation-based encryption and decentralized storage.
Smart Images

Figure EP2025055723_02102025_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] Title: Method for saving a data stream within a public storage computer system
[0003] TECHNICAL FIELD OF THE INVENTION
[0004] [1] The field of the invention is that of the secure backup of data within a public storage computer network having a cloud architecture, also known by the English term “cloud computing”.
[0005] [2] More specifically, the invention relates to a method for backing up a data stream within a public storage computer system having a cloud architecture and an associated local server.
[0006] STATE OF THE ART
[0007] [3] Secure backup operations of data from a server are particularly critical operations. Several types of techniques for securing data in a computer network are known from the prior art.
[0008] [4] For example, data encryption techniques, authentication and authorization techniques for data access are used to secure access to data stored on a public storage computer system.
[0009] [5] Among the encryption techniques, there are encryption protocols such as AES (Advanced Encryption Standard) and TLS (Transport Layer Security) for securing data in transit between servers and clients. There are also encryptions for data stored on a server based on public keys and private keys. These techniques help limit data leaks, or data being compromised.
[0010] [6] Authentication and authorization techniques include multi-factor authentication (MFA), which combines, for example, password authentication, authentication by a device such as a smartphone, and facial recognition. These techniques help to increase the certainty that the individual accessing information is truly authorized to do so.
[0011] [7] All of these techniques can be combined, or used independently of each other.
[0012] [8] The disadvantage of these techniques is that they are sometimes complex to implement, whether at the hardware level, for which it is sometimes necessary to request several servers with a large storage capacity for data storage; or at the software level by the development of complex algorithms, which are difficult to master.
[0013] [9] As a result, a large number of users are turning to public solutions, for example public storage IT systems with a cloud architecture, despite the fact that they may lose control over these solutions and the data they wish to store in a controlled and secure manner.
[0014]
[0010] There are currently no methods for saving a file within a public storage computer system having a cloud architecture, making it possible to secure a large data capacity with a reliable recovery system, without a third party being able to access it, all while limiting the hardware resources necessary for its implementation.
[0015] STATEMENT OF THE INVENTION
[0016]
[0011] The present invention aims to remedy all or part of the drawbacks of the state of the art cited above.
[0017]
[0012] The invention relates to a method for saving a data stream within a public storage computer system having a so-called cloud architecture, said method being characterized in that it comprises the steps of:
[0018] - Reception by a local server of a data stream to be saved, the local server comprising means for storing the data stream to be saved; - Determination of geolocation coordinates of the local server by a geolocation device of said local geolocation server;
[0019] - Encryption of all or part of the data flow with an encryption key defined from the geolocation coordinates associated with the local server receiving said data flow;
[0020] - Transmission of the encrypted data stream to the public storage computer system.
[0021]
[0013] The invention advantageously makes it possible to store data streams securely on a public storage computer system. In particular, it allows the local server to be robust against theft. Indeed, the data stream is encrypted with the geolocation coordinates of said local server; these coordinates are then essential for decrypting the data stream. When the local server is accidentally moved, for example during a theft, it no longer provides the correct position for decrypting the streams encrypted by the computer device with the backup method according to the invention. Therefore, the data streams can no longer be decrypted without returning the local server to its initial position.
[0022]
[0014] Such arrangements allow a computing device, for example a personal computer or a mobile phone, to securely save data streams by transmitting them to the local server.
[0023]
[0015] The invention advantageously makes it possible to securely save a data stream. Encryption with the encryption key defined from the geolocation coordinates associated with the local server makes it possible to prevent future decryption of the data stream if the geolocation coordinates associated with the local server are different from the geolocation coordinates used during encryption. In this way, a move of the local server prevents decryption of the data stream, which particularly robustly secures the backup of the data stream against theft.
[0024]
[0016] In a particularly advantageous embodiment, the encryption step comprises the following sub-steps: - Generation of an encryption key comprising a random unique identifier and the geolocation coordinates;
[0025] - Encryption with a symmetric encryption algorithm with the encryption key;
[0026] - Storage of the random unique identifier on a computing device.
[0027]
[0017] The use of a symmetric encryption algorithm is particularly advantageous because it allows the same key to be used for encryption and decryption and is particularly robust.
[0028]
[0018] Generating an encryption key with a random unique identifier helps to strengthen the robustness of the encryption.
[0029]
[0019] Alternatively or in addition, the transmission step is followed by the steps of:
[0030] - Generation of a digital fingerprint of the encrypted data flow by the public storage computer system;
[0031] - Transmission of the digital fingerprint of the encrypted data flow to the local server;
[0032] - Association of the digital fingerprint and the data flow encrypted by the local server.
[0033]
[0020] These steps allow the local server to be able to locate where the encrypted data stream is stored, before being able to restore it if necessary.
[0034]
[0021] In a particular embodiment, the method comprises a reconstruction step, said reconstruction step comprising the following sub-steps:
[0035] - Call from the local server to the public storage computer system with the digital fingerprint;
[0036] - Response from the public storage computer system and transmission of the encrypted data stream from the public storage computer system to a computing device through a virtual private network;
[0037] - Determination by the geolocation device of the local server of the geolocation coordinates; - Transmission of the geolocation coordinates to the computer device;
[0038] - Decryption of the encrypted data stream by the computer device using the transmitted geolocation coordinates.
[0039]
[0022] This new step advantageously allows the reconstruction of the data flow stored on the public storage computer system by the computer device in a secure manner.
[0040]
[0023] In a preferred embodiment, the method comprises a degraded reconstruction step without calling the local server to the public storage computer system, said reconstruction step comprising the following sub-steps:
[0041] - Transmission of the encrypted data stream from the computer server to the computer device;
[0042] - Decryption of the encrypted data stream by a computing device.
[0043]
[0024] This particular implementation mode cleverly makes it possible to securely recover the data stream from the local server, when the public storage computer system is not accessible.
[0044]
[0025] Alternatively or in addition, the local server comprises a node called a master node, and the public storage computer system comprises at least one node called a target node, the encrypted data stream being sent to the target node by the master node during the step of transmitting the encrypted data stream to the public storage computer system.
[0045]
[0026] This mode of implementation is particularly advantageous because it facilitates communication, in particular facilitated exchanges between the local server and the public storage computer system.
[0046]
[0027] Additionally, this implementation mode makes it possible, in a context of distributed data backup, to use the same device as a local server, called a master node, for the backup of a first data stream and as a computing resource, called a target node, of the public storage computing system for the backup of a second data stream.
[0028] The use of a public storage computing system comprising several nodes makes it possible to distribute the backup of the data stream over different computing resources. The distribution of the backup can cause the duplication of the data stream in electronic memories of different computing resources, which makes the backup robust to the failure of one or more nodes depending on a duplication rate.
[0047]
[0029] The distribution of the backup can also cause fragmentation of the data stream in the electronic memories of different computing resources. This fragmentation further strengthens the security of the data stream because even if a malicious third party succeeds in compromising one of the nodes of the public storage computer system and decrypting the fragment of the data stream saved on the compromised node, the malicious third party will not have access to the other fragments of the data stream.
[0048]
[0030] In a particular embodiment, the transmission step is preceded by a step of searching for at least one available target node, the availability of a target node being determined if a quality of service of a target node measured over a predetermined duration, for example greater than or equal to one hour, or even over four hours, defined by the following formula:
[0049] [Math 1]
[0050] Or :
[0051] - p n is a number of measurements over a predetermined period of the determined duration,
[0052] - n is the predetermined period,
[0053] - Dnode is an upstream rate of a node.
[0054] - is greater than a predefined threshold.
[0031] This implementation mode makes it possible to optimize the distribution of data flow storage within the public storage computer system.
[0055]
[0032] In a preferred embodiment, the public storage computing system comprises at least three target nodes, the transmission step is carried out in parallel to three target nodes.
[0056]
[0033] Having multiple target nodes helps limit the risk of data stream loss. If one node has a problem and is deleted, two other versions of the data stream exist and can be recovered.
[0057]
[0034] The number of three nodes is a good compromise between security and limiting the storage space required.
[0058]
[0035] In a preferred embodiment, the method for saving a data stream comprises a step of deleting the data stream on the public storage computer system, the deleting step comprising the following sub-steps:
[0059] - Transmission of an order to delete the data flow from the computer device to the local server;
[0060] - Geolocation of each target node on which the data stream is stored;
[0061] - Sending a request to delete the data stream by the local server on the target node(s).
[0062]
[0036] This method makes it possible to secure the deletion of encrypted data streams on the public storage computer system.
[0063]
[0037] Alternatively or in addition, the method comprises a step of developing a backup file of a set of saved data streams, comprising the following sub-steps:
[0064] - Emission, by the local server, of a backup file including the encryption key of each data flow of the set of backed up data flows, an identification of each target node on which each data flow is stored;
[0065] - Determination by the geolocation device of the local server of geolocation coordinates; - Encryption of all or part of the backup file with an encryption key defined from the geolocation coordinates associated with said data flow;
[0066] - Transmission of the encrypted backup file to the public storage computer system;
[0067] - Transmission of a digital fingerprint of the backup file from the public storage computer system to the local server.
[0068]
[0038] This implementation mode makes it possible to generate an easy and secure backup of one or more data streams. For example, it can secure a file database.
[0069]
[0039] In a particular embodiment, the method for saving a data stream comprises a step of recovering a set of data streams with a backup file of said set, comprising the following sub-steps:
[0070] - Call from the local server to the public storage computer system with the digital fingerprint of the backup file;
[0071] - Response from the public storage computer system and transmission of the encrypted backup file from the public storage computer system to a computing device through a virtual private network;
[0072] - Determination by the geolocation device of the local server of the geolocation coordinates;
[0073] - Transmission of geolocation coordinates to the computer device;
[0074] - Decryption of the encrypted backup file by the computer device using the transmitted geolocation coordinates;
[0075] - Recovery of the entire data stream with the data contained in the backup file by implementing the reconstruction step.
[0040] This implementation mode makes it easier to recover a secure backup of one or more data streams.
[0076]
[0041] Alternatively, the local server generates an authentication token that it associates with a user.
[0077]
[0042] This alternative provides additional security by limiting access to the data stream or other actions on the data stream to given users and / or on given computing devices.
[0078]
[0043] In a preferred embodiment, the local server generates an authentication token that it associates with a computing device comprising a computer.
[0079]
[0044] This alternative provides additional security by limiting access to the file or other actions on the data flow to given users and / or on given computing devices.
[0080]
[0045] The invention also relates to a local server comprising network equipment for communicating with a computer device and being connected to a public storage computer system having a cloud architecture, storage means, characterized in that it comprises a geolocation system, said local server being configured to implement a method for saving a data stream.
[0081] BRIEF DESCRIPTION OF THE FIGURES
[0082]
[0046] Other advantages, aims and particular characteristics of the present invention will emerge from the following non-limiting description of at least one particular embodiment of the methods and device which are the subject of the present invention, with reference to the appended drawings, in which:
[0083] - [Fig 1] is a flowchart of an example of an implementation mode of the method for saving a data flow according to the invention;
[0084] - [Fig 2] is a flowchart of the mode of implementation of the method for saving a data flow of figure 1 comprising a step of pre-configuration and validation of a telephone; - [Fig 3] is a flowchart of the mode of implementation of the method for saving a data flow of figure 1 comprising a step of reconstruction of the data flow;
[0085] - [Fig 4] is a flowchart of the mode of implementation of the method for saving a data flow of figure 1 comprising a step of degraded reconstruction of the data flow;
[0086] - [Fig 5] is a flowchart of an implementation mode of the method for saving a data stream comprising a step of deleting a data stream;
[0087] - [Fig 6] is a flowchart of an implementation mode of the method for saving a data flow comprising a step of creating a backup file;
[0088] - [Fig 7] is a flowchart of an implementation mode of the method for saving a data stream comprising a step of recovering the backup file;
[0089] - [Fig 8] is a schematic view of a server in one embodiment of the invention;
[0090] - [Fig 9] is a flowchart of another example of implementation of the method for saving a data stream according to the invention;
[0091] - [Fig 10] is a flowchart of an example of implementation of a method for recovering the saved data stream according to the invention.
[0092] DETAILED DESCRIPTION OF THE INVENTION
[0093]
[0047] The present description is given without limitation, each characteristic of an implementation or embodiment being able to be combined with any other characteristic of any other implementation or embodiment in an advantageous manner.
[0094] Example of a particular embodiment
[0048] Figure 1 is a flowchart of a method 2000 for saving a data stream according to the invention. A data stream is defined here as being a set of data capable of circulating on one or more computer networks, whether private or public.
[0095]
[0049] A data stream may be, by way of non-limiting examples, an audio communication, a video or even a file.
[0096]
[0050] The objective of the method 2000 for saving a data stream is to strengthen the security of the storage of data in a public storage computer system 30 having a so-called cloud architecture. This architecture is also known by the English name “cloud computing”.
[0097]
[0051] Said method 2000 comprises several steps.
[0098]
[0052] First of all, the first step 100 comprises the reception, by a local server 10, of the data stream to be saved.
[0099]
[0053] Before step 100, the method 2000 may comprise a step 90 of transmission by a computer device 20 of the data stream to be saved to a local server 10.
[0100]
[0054] The computing device 20 may be, for example, a personal computer or a smart mobile phone, generally known as a smartphone. The data stream to be backed up may be transmitted to the local server 10 during step 100 via a local network. A local network is understood to mean a private communications network, such as a home Wi-Fi or Ethernet network, or a virtual private network VPN (acronym for “Virtual Private Network”). The local network allows the computing device 20 and the local server 10 to exchange data securely.
[0101]
[0055] As illustrated in Figure 8, the local server 10 comprises storage means 15, capable of storing the data stream to be backed up. For example, it may be one or more SSD (Solid State Drive) or HHD (hard disk drive) hard disks. It also traditionally comprises a RAM memory 13, a motherboard, one or more network cards 14, and one or more processors, also called CPU (Central Processing Unit) 12.
[0102]
[0056] The server is characterized in that it comprises a geolocation device 16, making it possible to extract geolocation coordinates from said local server. This geolocation device 16 may, for example, comprise a GPS (“Global Positioning System”) chip. Said chip is connected to a power supply and to a communication system. Preferably, it is powered by a power supply from the local server. Thus, it is able to transmit the geolocation data from the server to said local server, which can store its position in its hard disk, but preferably in its random access memory (RAM) only.
[0103]
[0057] This step 100 may also comprise storage of the data stream to be saved on the storage means 15.
[0104]
[0058] The geolocation device 16 makes it possible to carry out a second step 200 of the method 2000, during which geolocation coordinates of the local server 10, by the geolocation device 16 of the local server 10.
[0105]
[0059] A next step 300 in the method 2000 comprises an encryption of all or part of the data stream with an encryption key. The encryption key is defined from the geolocation coordinates of the local server 10.
[0106]
[0060] In the preferred embodiment described herein, three sub-steps can be envisaged.
[0107]
[0061] A sub-step 310 of step 300, optional, makes it possible to generate an encryption key with the geolocation coordinates of the local server 10 and at least one other additional element. This may comprise, in addition to the geolocation coordinates, at least one of the following elements:
[0108] - A globally unique identifier. Also known as a GUID for "Globally Unique Identifier," this identifier, which can be random, is intended to be a unique string of characters. For example, it could be a string of 32 hexadecimal characters.
[0109] - Random data to strengthen the security of an encryption key. This random data is added to an encryption key before applying a hash function, or encryption function. It makes it possible to strengthen the uniqueness of each encryption key.
[0062] This or these elements can be combined with the geolocation coordinates of the local server 10. For example, the globally unique identifier can be positioned after the geolocation coordinates, and the random data can be positioned before the geolocation coordinates.
[0110]
[0063] This step 310 makes it possible to generate a particularly secure encryption key, here, preferably with a length of 256 bits to implement the encryption according to step 320. To generate a key with a length of 256 bits from a previous combination, the cryptographic hash function SHA 256 can for example be used.
[0111]
[0064] Sub-step 320 comprises the implementation of a symmetric encryption from the encryption key, but an asymmetric encryption, that is to say, based on a private and public key can very well be envisaged.
[0112]
[0065] The encryption can be carried out by an AES 256 algorithm, AES being the English acronym for “Advanced Encryption Standard”. This algorithm can, for example, use a 256-bit key as input. Advantageously, this is the encryption key generated in step 310. This algorithm is particularly advantageous because it is particularly robust to so-called brute force attacks.
[0113]
[0066] Sub-step 330 is a step of storing the random unique identifier. The random data can be stored on a local database. This local database can, for example, be included on a computing device 20, on which the encrypted data stream can be decrypted. It can also be stored on another computing device, or on the local server 10.
[0114]
[0067] On the contrary, the geolocation data of the local server 10 are not stored on the local database.
[0115]
[0068] The globally unique identifier may also be transmitted to a preconfigured telephone 40 and the globally unique identifier may be stored thereon. Alternatively or in addition, the random data may also be transmitted to the preconfigured telephone 40 and the random data may be stored thereon.
[0116]
[0069] An optional preliminary step 331 is the pre-configuration and validation of the telephone 40, as shown in FIG. 2. It comprises a first step 3311 of generation of an authentication token by the local server 10. The local server associates said authentication token with the mobile telephone 40, during a step 3312. This token can be used to secure the exchanges between the local server 10 and the telephone 40. When the local server 10 sends a request to the telephone 40 during a step 3313, for example for the recovery of the unique global identifier and / or the random data, the telephone 40 can return, during a step 3314, its token which is verified by the local server 10. When the local server 10 validates the token transmitted by the telephone 40, the telephone 40 can transmit the unique global identifier and / or the random data associated with the request during a step 3314. of a step 3315.
[0117]
[0070] This embodiment makes it possible to duplicate the storage of the unique global identifier and / or the random data, and therefore to reinforce its security. Indeed, if the telephone 40 breaks down, the local database can be used to recover this or these elements, and vice versa.
[0118]
[0071] Step 400 is a step of transmitting the secure data stream to the public storage computer system 30. This transmission, in order to reinforce the security of the system and limit potential attacks, can be carried out via a virtual private network, also known by the English acronym VPN (“Virtual Private Network”). Step 400 can then comprise a phase of saving the encrypted stream on the public storage computer system 30.
[0119]
[0072] Thus, the invention advantageously allows secure storage. Indeed, since the encryption key is necessary for decrypting the data stream, it will be necessary for the local server 10 not to be moved without the consent of the owner. Indeed, if necessary, which could be envisaged in a situation of theft of the local server 10, the geolocation data provided by the local server 10 would be different from the geolocation data used during encryption. The encryption key obtained would, consequently, be false, making it impossible to reconstruct the key allowing the data stream to be decrypted.
[0120]
[0073] According to Figure 1, the method may also comprise a step 500. This step comprises the generation of a digital fingerprint of the encrypted data stream by the public storage computer system 30. This digital fingerprint may, for example, be generated by the SHA-256 cryptographic hash function, making it possible to produce a digital fingerprint of a length of 256 bits, which may also be represented as a string of 64 hexadecimal characters. This digital fingerprint may be stored in the same location as the encrypted stream saved during step 400 in the public storage computer system 30. The digital fingerprint may be associated with the saved encrypted stream.
[0121]
[0074] The following step 600 comprises the transmission of this digital fingerprint to the local server 10. Said local server can then associate, during a step 700, the encrypted data stream and the digital fingerprint and store them locally in the storage means 15.
[0122]
[0075] Thus, this allows the local server 10 to find the location where the data stream is stored on the public storage computer system 30, during a reconstruction step.
[0123]
[0076] Figure 3 details a step of reconstructing the encrypted data stream 800.
[0124]
[0077] It comprises a first step 810, comprising a call from the local server 10 using the digital fingerprint generated during step 500 to the public storage computer system 30. The call may also comprise an identifier of the computer device 20 on which the encrypted data stream will be decrypted.
[0125]
[0078] Step 820 is a step of response from the public storage computer system 30 to the local server 10 with the same digital fingerprint of the encrypted data stream that the public storage computer system 30 has stored. The fingerprint sent by the local server 10 is compared to that stored on the public storage computer system 30. Thus, if the digital fingerprint sent in response by the public storage computer system 30 is the same as that sent by the local server 10, then the data stream to be reconstructed to which the digital fingerprint corresponds is indeed stored on said public storage computer system 30. Step 820 also comprises a phase of transmission of the encrypted data stream from the public storage computer system 30 to the computer device 20. This transmission is preferably carried out by a virtual private network (VPN) to reinforce the security of the transmission.
[0126]
[0079] Once the encrypted data stream has been received, the computing device 20 can send a request to the local network for the local server 10 to transmit its geolocation coordinates.
[0127]
[0080] The local server 10, in a sub-step 830, determines its geolocation coordinates by the geolocation device 16.
[0128]
[0081] Sub-step 840 then comprises the transmission of the geolocation coordinates from the local server 10 to the computing device 20. This transmission can be carried out via a local connection, when the local server 10 and the computing device 20 are connected via a local connection.
[0129]
[0082] The computing device 20 carries out a decryption step 850 using the transmitted geolocation coordinates. This decryption can also be carried out using the random unique identifier stored in the local database and / or on the mobile telephone 40. Similarly, the random data stored in the local database and / or on the mobile telephone 40 can be used. The computing device 20 carries out a decryption. This is carried out with the AES 256 algorithm using the geolocation coordinates. The decryption can be initiated by the combination of the unique identifier and / or the random data with the geolocation coordinates collected in step 840, according to the same operating mode as for the encryption 300. In the embodiment presented, it will then be appropriate to position the unique global identifier after the geolocation coordinates, and the random data before the geolocation coordinates.Finally, it will be necessary to use the SHA 256 cryptographic function on the combination obtained.
[0130]
[0083] Optionally, in order to reinforce the robustness of the encryption 300 and decryption 850 steps, the geolocation coordinates extracted during step 200 can be truncated. This operation makes it possible to reduce the precision of the location used for encryption and decryption. Thus, this makes it possible to reduce the influence of random events on the precision of the geolocation data provided by the GPS map 16. This also makes it possible to authorize slight movements over a predetermined distance from the server to facilitate the implementation of the backup method 2000. For example, the truncation of the geolocation coordinates can be carried out in order to reduce the precision by a few tens of centimeters, or even meters.
[0131]
[0084] An optional, but advantageous, step is the generation of an authentication token by the local server 10 which it associates with the computing device 20. This token can be used to secure the exchanges between the local server 10 and the computing device 20, or even the public storage computing system 30 and the computing device 20. When the computing device 20 requests a request, a verification of its token can be carried out by the local server 10. Similarly, before a data transmission, the local server 10 can carry out a verification of the authentication token of the computing device 20.
[0132]
[0085] The computing device 20 may be, by way of non-limiting example, a computer, a calculator, or a tablet. It is preferably connected to the local server 10 via a local network.
[0133]
[0086] In the same way as the authentication token associated with the computing device 20, an authentication token can be associated with a particular user. Here again, authorization levels can be associated with it by the local server 10. Thus, this again reinforces the security of the backup method 2000.
[0134]
[0087] Figure 4 shows a degraded reconstruction step. This step is particularly relevant when the data stream on the public storage computer system 30 is not accessible. For example, if the public storage computer system 30 has been destroyed, the public storage computer system 30 is not able to respond to the call sub-step 810. Thus, recovery of the data stream may prove impossible by passing through said public storage computer system. The degraded reconstruction step 900 aims to overcome this problem and comprises the following sub-steps:
[0135] - A sub-step 910 of transmitting the encrypted data stream from the local server 10 to the computing device 20, via a local connection between the local server 10 and the computing device 20.
[0136] - A sub-step 920 of decrypting the data stream encrypted by the computing device 20.
[0137]
[0088] The decryption key can be directly transmitted by the local server 10, if the local database is stored in the local server 10.
[0138]
[0089] The transmission of the data stream, recorded on the local server in step 100, can be secured using the TLS protocol (acronym for “Transport Layer Security”, also known as “Transport Layer Security”) during sub-step 910. Thus, the transmission of information is carried out via an encrypted channel, in accordance with TLS standards, ensuring the protection of the communication against unauthorized eavesdropping and interception.
[0139]
[0090] The invention also relates to the local server 10, as illustrated in FIG. 8. The local server 10 comprises one or more network cards 14 for communicating with the computing device 20. Said network equipment also allows the local server 10 to be connected to a public storage computing system 30 having a cloud architecture. Traditionally, the local server comprises storage means 15. It also comprises a geolocation system 16. Said local server is configured to implement the backup method 2000 of a data stream.
[0140] Another example of an embodiment
[0141]
[0091] In another embodiment, the local server 10 comprises a node called master node 11, and the public storage computer system 30 comprises at least one node called target node 31. In a non-limiting manner, in this embodiment, the public storage computer system 30 comprises several target nodes 31, and more precisely three.
[0092] The target node 31 designates a resource on the public storage computer system which can be the potential destination for storing the encrypted data stream. The master node 11 is integrated into the storage means of the local server.
[0142]
[0093] Step 400 of transmitting the secure data stream to the public storage computer system is then carried out on at least one of the target nodes 31. Preferably, it is carried out on the three nodes 31 in parallel in order to provide redundancy in the storage of the data streams. Thus, if one or two target nodes 31 are no longer accessible, it remains possible to recover the encrypted data stream on the third node 31.
[0143]
[0094] An availability index is associated with each target node 31. This index reflects the capacity of the target node 31 to receive data. In particular, it may be linked to its uplink rate at a given time. This rate is linked to the speed at which data can be sent to said target node 31.
[0144]
[0095] More specifically, the local server 10 can carry out, as a preliminary step, an installation of a set of nodes in the public storage computer system. Said node is then configured to transmit an upstream flow measurement to the local server 10. This upstream flow measurement is carried out in a given time interval. Here, for example, it is carried out every five minutes.
[0145]
[0096] An availability calculation is performed before the transmission step 400, in order to target nodes available for the transmission of the encrypted data stream.
[0146]
[0097] A node's availability to receive or not the encrypted data stream is linked to its performance to receive data. Said performance, QoS for "Quality of Service", or quality of service, is calculated in the form of the following formula, over a predetermined duration, for example four hours:
[0147] Where: - pn is a number of measurements over a predetermined period of time, for example one hour,
[0148] - n is the predetermined period considered (between one and four here),
[0149] - Dnode is an upstream rate of a node.
[0150]
[0098] In addition, a threshold is determined. This threshold is a so-called availability threshold. If the QoS performance value is lower than this threshold, the target node is said to be unavailable. On the contrary, if it is above, the target node is considered available.
[0151]
[0099] For example, the threshold may be equal to one hour.
[0152]
[0100] The transmission step 400 is then carried out on the target nodes 31, by associating the digital fingerprint of the data flow with said saved data flow.
[0153]
[0101] Step 820, in this embodiment, is a response step from the target node(s) 31 of the public storage computer system 30 to the local server 10 with the digital fingerprint of the encrypted data stream that the target node(s) 30 have stored. The fingerprint sent by the local server 10 is compared to that stored on the target node(s) 31. Thus, if the digital fingerprint sent in response by the target node(s) 31 of the public storage computer system 30 is the same as that sent by the local server 10, then the data stream to which the digital fingerprint corresponds is indeed stored on said target node(s) 31 of the public storage computer system 30.
[0154]
[0102] In this embodiment, the method for saving a data stream comprises an additional step. Figure 5 thus illustrates a step 1000 of deleting the data stream on the public storage computer system 30. This step comprises three sub-steps.
[0155]
[0103] A first sub-step 1001 comprises the transmission of an order to delete the encrypted data stream from the computing device 20 to the local server 10. This transmission can be carried out via a local network between the computing device 20 and the local server 10. The encrypted data stream is stored within the server 10 and is associated with its digital fingerprint following step 1000.
[0104] The master node 11 sends an order to the target nodes 31 to delete the encrypted data stream. In its request, the master node 11 indicates the digital fingerprint of the encrypted data stream to be deleted, which makes it possible to locate the target nodes 31 on which the encrypted data stream is stored in a step 1002.
[0156]
[0105] Once the target node(s) 31 have been located, FIG. 5 illustrates a step of sending a request to delete the encrypted data stream by the master node 11 of the local server 10 to the target nodes 31.
[0157]
[0106] The deletion request may be configured to require an additional criterion to be valid. In particular, a verification of the user's authentication token may be performed. This thus makes it possible to allow only certain users to delete data streams on the public storage computer system 30. Additional verifications, in particular of the authentication of the user or of the computing device 20, may be performed over several steps of said method.
[0158]
[0107] Figure 6 illustrates an optional step of creating a backup file 1100 of a set of backed up data streams.
[0159]
[0108] This step 1100 can be divided into several sub-steps. Sub-step 1110 is a sub-step of transmission, by the local server, of a backup file comprising the encryption key of each data stream of the set of data streams. Also, the local backup file comprises an identification of each target node 31 on which each data stream of the set of data streams is sent. This advantageously makes it possible to have all the encryption keys and the target nodes 31 on which the data streams are saved.
[0160]
[0109] Subsequently, sub-step 1120 is a sub-step of determination by the geolocation device 16 of the local server of the geolocation coordinates of the local server 10.
[0161]
[0110] Sub-step 1130 is a sub-step of encrypting all or part of the backup file with an encryption key defined from the geolocation coordinates associated with said data stream. This step is similar to step 300 of the method, applied to the backup file.
[0111] Similarly, sub-step 1140 is a sub-step of transmitting the encrypted backup file to the public storage computer system 30. It can be carried out in a similar manner to step 400, applied to the backup file.
[0162]
[0112] Substep 1150 comprises a transmission of a digital fingerprint of the backup file from the public storage computer system 30 to the local server 10.
[0163]
[0113] Figure 7 illustrates, following the development step 1100, a recovery step 1200 of a set of data streams with a backup file of said set. First, a sub-step 1210 comprises a call from the local server 10 to the public storage computer system 30 with the digital fingerprint of the backup file.
[0164]
[0114] A substep 1220 includes a response from the public storage computing system and a transmission of the encrypted backup file from the public storage computing system to a computing device through the virtual private network.
[0165]
[0115] A sub-step 1230 is a sub-step of determination by the geolocation device 16 of the local server 10 of the geolocation coordinates of the local server 10. This step can be carried out in the same way as step 830.
[0166]
[0116] Then, a sub-step 1240 of transmitting the geolocation coordinates to the computing device 20 is carried out, as for step 840.
[0167]
[0117] Sub-step 1250 comprises a decryption of the encrypted backup file by the computing device using the transmitted geolocation coordinates, in a similar manner to step 850.
[0168]
[0118] Finally, sub-step 1260 comprises recovering the set of data streams with the data contained in the backup file by implementing the reconstruction step 800.
[0169]
[0119] When the local server 10 is moved voluntarily, before its movement, its initial coordinates, that is to say before it is moved, can be recorded on an external storage device, such as a USB key.
[0170]
[0120] A file comprising a history of geolocation positions can also then be added to the local server 10, allowing the generation of successive geolocations used for encryption when the local server 10 is moved.
[0171]
[0121] Figure 9 is a flowchart of an example implementation of the method for saving a data stream according to the invention. At the start of the method 2000, the computing device 20 sends the data stream to be saved to the local server 10.
[0172]
[0122] Figure 10 is a flowchart of an example implementation of a method 4000 for recovering the saved data stream according to the invention. Once the data stream has been saved according to the method 2000, the computing device 20 can recover the saved data stream according to the following steps:
[0173] - 4010: The computing device 20 requests to retrieve the saved data stream from the local server 10. This request can take the form of sending a digital request comprising an identifier of the previously saved data stream.
[0174] - 4020: The local server 10 retrieves the encrypted data stream saved in the public storage computer system 30. This retrieval can take the form of a digital request sent by the local server 10 to the public storage computer system 30 then a transmission of the encrypted data stream from the public storage computer system 30 to the local server 10.
[0175] - 4030: Local server 10 determines its location coordinates.
[0176] - 4040: The local server 10 decrypts the data stream with its location coordinates. According to a preferred embodiment, the decryption is carried out by the local server 10. In degraded embodiments described previously, the decryption can be carried out by the computing device 20. During this step, if the location coordinates determined during the recovery of the data stream do not correspond to the location coordinates used during the backup, the data stream cannot be decrypted.
[0177] - 4050: The local server 10 transmits the decrypted data stream to the computing device 20.
[0178]
[0123] In this way, the data stream saved according to the method 2000 is particularly secure because it can only be recovered using the method 4000 at the geographical location of its prior backup. In other words, if the local server 10 is moved after the data stream has been saved, recovery of the saved data stream is impossible, without knowledge of the geographical location of the local server 10 at the time of the backup.
Claims
Claims 1. Method for saving (2000) a data stream within a public storage computer system (30) having a so-called cloud architecture, said method being characterized in that it comprises the steps of: • Reception (100) by a local server (10) of a data stream to be saved, the local server comprising storage means (15) of the data stream to be saved; • Determination (200) of geolocation coordinates of the local server (10) by a geolocation device (16) of said local geolocation server; • Encryption (300) of all or part of the data flow with an encryption key defined from the geolocation coordinates associated with the local server (10) receiving said data flow; • Transmission (400) of the encrypted data stream to the public storage computer system (30).
2. Method for saving (2000) a data stream according to claim 1, in which the encryption step (300) comprises the following sub-steps: • Generation (310) of an encryption key comprising a random unique identifier and geolocation coordinates; • Encryption (320) with a symmetric encryption algorithm with the encryption key; • Storing (330) the random unique identifier on a computing device (20).
3. Method for saving (2000) a data stream according to any one of claims 1 to 2, in which the transmission step (400) is followed by the steps of: • Generation (500) of a digital fingerprint of the encrypted data flow by the public storage computer system (30); • Transmission (600) of the digital fingerprint of the encrypted data flow to the local server (10); • Association (700) of the digital fingerprint and the data flow encrypted by the local server (10).
4. Method for saving (2000) a data stream according to claim 3, comprising a reconstruction step (800), said reconstruction step comprising the following sub-steps: • Call (810) from the local server (10) to the public storage computer system (30) with the digital fingerprint; • Response (820) from the public storage computer system (30) and transmission of the encrypted data stream from the public storage computer system (30) to a computing device (20) via a virtual private network; • Determination (830) by the geolocation device of the local server (10) of the geolocation coordinates; • Transmission (840) of the geolocation coordinates to the computer device (20); • Decryption (850) of the encrypted data stream by the computing device (20) using the transmitted geolocation coordinates.
5. Method for saving (2000) a data stream according to claim 3, comprising a degraded reconstruction step (900) without calling the local server (10) to the public storage computer system (30), said degraded reconstruction step comprising the following sub-steps: • Transmission (910) of the encrypted data stream from the computer server (30) to the computer device; • Decryption (920) of the encrypted data stream by a computing device (20).
6. Method for saving (2000) a data stream according to any one of claims 4 to 5 in which the local server (10) comprises a node called master node (11), and the public storage computer system (30) comprises at least one node called target node (31), the encrypted data stream being sent to the target node (31) by the master node (11) during the step of transmitting (400) the encrypted data stream to the public storage computer system (30).
7. Method for saving (2000) a data stream according to claim 6, the transmission step (400) being preceded by a step of searching for at least one available target node (31), the availability of a target node (31) being determined if a quality of service of a target node (31) measured over a determined duration, defined by the following formula: Or : • p n is a number of measurements over a predetermined period of the predetermined duration, • n is the predetermined period, • Dnode is an upstream rate of a node. is greater than a predefined threshold.
8. Method for saving (2000) a data stream according to any one of claims 6 and 7, in which the public storage computer system (30) comprises at least three target nodes (31), the transmission step (400) is carried out in parallel on three target nodes (31).
9. Method for saving (2000) a data stream according to any one of claims 6 to 8, comprising a step of deleting (1000) the data stream on the public storage computer system (30), the step of deleting (1000) comprising the following sub-steps: • Transmission (1001) of an order to delete the data flow from the computing device to the local server; • Geolocation (1002) of each target node (31) on which the data stream is stored; • Sending (1003) a request to delete the data flow by the local server on the target node(s).
10. Method for saving (2000) a data stream according to any one of claims 6 to 9, comprising a step of developing (1100) a backup file of a set of saved data streams, comprising the following sub-steps: • Transmission (1110), by the local server (10), of a backup file comprising the encryption key of each data flow of the set of saved data flows, an identification of each target node (31) on which each data flow is stored; • Determination (1120) by the geolocation device of the local server (30) of geolocation coordinates; • Encryption (1130) of all or part of the backup file with an encryption key defined from the geolocation coordinates associated with said data flow; • Transmission (1140) of the encrypted backup file to the public storage computer system (30); • Transmission (1150) of a digital fingerprint of the backup file from the public storage computer system (30) to the local server (10).
11. Method for saving (2000) a data stream according to claim 10, comprising a step of recovering (1200) a set of data streams with a backup file of said set, comprising the following sub-steps: • Call (1210) from the local server to the public storage computer system (30) with the digital fingerprint of the backup file; • Response (1220) from the public storage computer system (30) and transmission of the encrypted backup file from the public storage computer system (30) to a computing device (20) via a virtual private network; • Determination (1230) by the geolocation device (16) of the local server (10) of the geolocation coordinates; • Transmission (1240) of the geolocation coordinates to the computer device (20); • Decryption (1250) of the encrypted backup file by the computer device using the geolocation coordinates transmitted; • Recovery (1260) of the data stream set with the data contained in the backup file by implementing the reconstruction step.
12. Method for saving (2000) a data stream according to any one of claims 1 to 11 in which the local server (10) generates an authentication token which it associates with a user.
13. Method for saving (2000) a data stream according to any one of claims 1 to 12 in which the local server (10) generates an authentication token which it associates with a computing device (20) comprising a calculator.
14. Local server (10) comprising network equipment for communicating with a computer device (20) and being connected to a public storage computer system (30) having a cloud architecture, storage means (15), characterized in that it comprises a geolocation system (16), said local server (10) being configured to implement a backup method (2000) of a data stream according to any one of claims 1 to 13.