A method for recording computer files on a server linked to a blockchain.
The described process and architecture provide secure and controlled access to computer files linked to NFTs on a blockchain, addressing the lack of access control and security in existing solutions and ensuring compliance with legal and privacy standards.
Patent Information
- Application Number
- FR2023010686
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-05
- Publication Date
- 2025-04-11
AI Technical Summary
Existing solutions for recording and managing computer files associated with non-fungible tokens (NFTs) on a blockchain do not adequately ensure access control and security, violating legal frameworks and privacy regulations.
A process and architecture that allow creators to securely record computer files on a server linked to a blockchain by using an indexing code, digital safe, and hash imprint system, which enables controlled access and authorization for file downloads.
The solution ensures secure and controlled access to computer files, protecting the rights of creators and owners while complying with legal and privacy standards, thereby enhancing the security and integrity of NFT transactions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for recording computer files on a server linked to a blockchain
[0001] The invention relates to a method for enabling a creator to save a computer file on a server linked to a blockchain, in order to ensure access and security, as well as an architecture comprising means for implementing such a method.
[0002] It applies in particular to the recording of computer files associated with non-fungible tokens (NFTs), which correspond to digital representations of goods on a blockchain, similar to a title of ownership of said goods.
[0003] These goods may be physical objects, such as for example works of art or real estate, or digital elements, such as for example images or photographs.
[0004] Such a representation allows the owner of such a good to exchange or sell it to another user present on the blockchain in a secure manner, by carrying out the transmission of this digital representation in parallel with that of said good, in particular against a sum in scriptural currency or in cryptocurrency. Indeed, the duplication of a non-fungible token being impossible, this procedure makes it possible to cancel the risk of counterfeiting of the title of ownership.
[0005] To be able to carry out such exchanges, the creators of such computer files, as well as the users wishing to acquire them, can use decentralized structures, such as for example peer-to-peer protocols like the Interplanetary File System (IFPS), or storage and distribution platforms like Swann®.
[0006] These solutions are not entirely satisfactory, in that the computer files recorded therein are readable and downloadable by any user of the blockchain, which is not compatible with the legal frameworks governing secure electronic transaction services, in particular legislation relating to business law and / or respect for privacy.
[0007] In particular, these solutions do not make it possible to limit access to a computer file to authorized users, in particular the creator(s) of said computer file, the designated owners of said computer file, or even potential future buyers of said computer file.
[0008] The invention aims to improve the prior art by proposing a method to allow a creator to store his computer files on a server linked to a blockchain in a secure manner, in particular by allowing said creator to limit access to said file(s) to given users, advantageously following several levels of security.
[0009] To this end, according to a first aspect, the invention proposes a method for enabling a creator to save a computer file on a server linked to a blockchain, said method providing for: - associate with said file an indexing code, as well as a digital address for accessing a digital safe on the blockchain; - calculate a first hash imprint of said computer file; - record said first hash fingerprint in the digital safe, associating it with the indexing code; - record in the digital safe an authorization status defined by the creator for possible subsequent downloading of said computer file, by associating it with the indexing code;
[0010] said method providing, when uploading said computer file by said creator to a dedicated server comprising read access to the blockchain, to: - calculate a second hash fingerprint from said uploaded file; - read the indexing code and the numeric address associated with the uploaded file; - compare the second hash fingerprint calculated from said uploaded file to the first hash fingerprint previously recorded in the digital safe and associated with the indexing code read with said uploaded file; - save said uploaded file on the server in case of success of said comparison;
[0011] said method further providing, when a user of the blockchain requests the downloading of the computer file from the server, to: - check in the digital safe the download authorization status defined for said computer file and associated with the indexing code; and - where applicable, proceed with said download according to security procedures associated with said status.
[0012] According to a second aspect, the invention proposes an architecture to allow a creator to save a computer file on a server linked to a blockchain, said architecture comprising: a terminal linked to the creator and including: • means for associating an indexing code with said file, as well as that a digital address to access a digital vault on the blockchain; • means for calculating a first hash fingerprint of said computer file; • means for recording said first hash fingerprint in the digital safe, by associating it with the indexing code; • means to enable the creator to define and record in the digital safe an authorization status for possible subsequent downloading of said computer file, by associating it with the indexing code; - a server for uploading and downloading computer files, said server comprising read access to the blockchain;
[0013] said creator's terminal comprising means for enabling said creator to upload and save the computer file on the server, said server comprising means for, when uploading said file: - calculate a second hash fingerprint from said uploaded file; - read the indexing code and the numeric address associated with the uploaded file; - compare the second hash fingerprint calculated from said uploaded file to the first hash fingerprint previously recorded in the digital safe and associated with the indexing code read with said uploaded file; - save said uploaded file on said server in the event of success of said comparison;
[0014] said architecture further comprising a terminal to allow a user to request the downloading of the computer file from said server, said server comprising means for, where appropriate: - check in the digital safe the download authorization status defined for said computer file and associated with the indexing code; and - where applicable, proceed with said download according to security procedures associated with said status.
[0015] Other features and advantages of the invention will appear in the following description, given with reference to the appended figures, in which:
[0016] [Fig-1] schematically represents the recording (or uploading) steps of a computer file on a server linked to a blockchain, according to one embodiment of the invention;
[0017] [Fig.2] schematically represents, with the architecture of [Fig.l], the stages of downloading a computer file previously saved on a server linked to the blockchain by an authorized user of said blockchain, according to one embodiment of the invention.
[0018] In relation to these figures, a method is described below for enabling a creator 1 to save a computer file 2 on a server 16 linked to a blockchain, as well as an architecture comprising technical means for enabling the implementation of such a method.
[0019] In particular, the computer files 2 are associated with non-fungible tokens (NFTs), and correspond to digital representations of assets of the creator 1, whose associated non-fungible token represents this property on the blockchain.
[0020] The architecture comprises a platform 3 linked to the blockchain, which comprises an application programming interface (API) activating the technical means for receiving requests from creators 1 and users 4 also connected to the blockchain, the latter being formed by a set of communication and calculation platforms allowing its operation, and serving as means of access to said blockchain.
[0021] The architecture further comprises at least one terminal 5, 6 equipped with means to enable a creator 1 or a user 4 to interact with the blockchain and / or the platform 3, in particular to send requests such as those mentioned above.
[0022] As shown in the figures, the terminal 5, 6 may be a mobile telephone of the “smartphone” type. The terminal 5, 6 may also be of another type, in particular a digital tablet, a personal digital assistant (PDA), a laptop or a desktop computer, provided that it is equipped with technical means suitable for implementing the method.
[0023] In particular, the architecture may comprise at least one application with means adapted for implementing the method, which the user 4 or the creator 1 may download to install it on his terminal 5, 6, in particular by sending a request adapted to said architecture.
[0024] To be able to interact with the blockchain, the creator 1 or the user 4 must generate a pair of private keys 7a, 35a and public keys 7b, 35b, in particular during his first connection to said blockchain and in the event of loss or theft of his previous keys. The private key 7a, 35a is kept secret by its owner (creator 1 or user 4) and the public key 7b, 35b allows said owner to interact with the blockchain to carry out operations there. In particular, a personal digital address is derivable from the public key 7b, 35b to represent its owner 1, 4 on the blockchain.
[0025] To generate such keys 7a, 7b, 35a, 35b, creator 1 or user 4 can launch a suitable procedure on its terminal 5, 6 in particular by means of the application described above. The keys 7a, 7b, 35a, 35b are thus linked to the terminal 5, 6 within which they are generated under the control of the creator 1 or the user 4, who only uses the public key 7b, 35b. As a result, the private key 7a, 35a never leaves the terminal 5, 6, which guarantees its owner 1, 4 optimal security.
[0026] To finalize or update his membership in the blockchain, the creator 1 or the user 4 registers his public key 7b, 35b on said blockchain. In particular, the creator 1 or the user 4 can carry out this registration by associating his public key 7b, 35b with a digital fingerprint linked to the identity of said user.
[0027] To do this, the creator 1 or the user 4 can authenticate his identity with a third-party platform (not shown), in order to create a digital fingerprint using identity data provided by said third-party platform, said digital fingerprint then being recorded on the blockchain to be associated with the public key 7b, 35b.
[0028] The third-party platform has a trust level that can be assessed under the elDAS (Electronic IDentification And Trust Services) regulation or any other identity-based trust assessment system, and may be, for example, a platform for providing a public and / or administrative identification service such as social security, a service for paying official taxes such as income taxes, or any other identification service that achieves the elDAS trust level required by users, or any other system providing an identity, for example, a system for identifying employees of a company. In particular, the third-party platform may provide a unique identifier for the creator 1 or the user 4, in particular based on the identity data.
[0029] This recording can in particular be carried out in a personal digital safe 8, 36 held by the creator 1 or the user 4 on the blockchain, as shown in [Fig.l] in relation to the keys 7a, 7b held by the creator 1, and in [Fig.2] in relation to the keys 35a, 35b held by a third-party user 4.
[0030] The creator 1 or the user 4 can create such a personal safe 8, 36 to be able to subsequently interact with the blockchain only by means of the digital address 9, 37 of said personal safe, which allows said creator or user to register several public keys 7b, 35b in the same personal safe 8, 36 and to access the blockchain with any of said keys, and therefore to avoid the loss of his access to the blockchain in the event of loss and / or theft of his keys 7a, 7b, 35a, 35b and / or his terminal 5, 6.
[0031] To do this, the architecture comprises a platform for deploying safes on the blockchain, the terminal 5, 6 and / or the application comprising means to request said deployment platform to create a personal safe 8, 36, in particular by sending a suitable request (not shown).
[0032] In the embodiment shown, this functionality is performed by the blockchain access platform 3, which comprises technical means adapted to perform the deployment of safes 8, 36 at the request of any user 4 or creator 1 present on said blockchain. Alternatively, the architecture may comprise an additional safe deployment platform which is distinct from the blockchain access platform 3.
[0033] All digital safes in the architecture can be created in the form of computer protocols of the smart contract type, which are accessible on the blockchain by means of a public digital address.
[0034] The deployment platform 3 comprises an application programming interface (API), which comprises technical means adapted to enable the creation of safes on the blockchain.
[0035] Advantageously, the deployment platform 3 is arranged to allow the automatic creation of digital safes upon simple request from a user 4 or creator 1. To this end, as shown in the figures, the architecture comprises: - a digital safe 10 linked to the deployment platform 3, in which at least one identifier of said deployment platform on the blockchain is recorded, for example a digital address derived from a public key 11 for accessing said platform to said blockchain; - a central digital safe 12, which includes in particular: • a list of the safe deployment platforms belonging to a trusted network, said list including the digital addresses of the safes linked to each of these trusted platforms, in particular the digital address 13 of the safe 10 linked to the platform 3 represented; and • a list listing all the digital safes created by these trusted platforms on the blockchain, said list comprising entries which each contain the digital address of a safe created by a deployment platform, associated with the digital address of the safe linked to this deployment platform, and in particular two entries comprising respectively the address 9 of the personal safe 8 of the creator 1 and the address 37 of the personal safe 36 of a third-party user 4, each associated with the digital address 13 of the safe 10 presented above.
[0036] Alternatively, the deployment platform 3 may be arranged to allow the creation of digital safes by a blockchain administrator, in particular following the receipt of a solicitation request by a creator 1 or a user 4.
[0037] After creating his personal digital safe 8, 36, the creator 1 or the user 4 can authenticate his identity with the third-party platform described previously, in order to create a digital fingerprint using identity data provided by said third-party platform, said digital fingerprint then being recorded in said personal digital safe by the deployment platform 3.
[0038] At the end of this recording, the deployment platform 3 sends to the creator 1 or to the third-party user 4 a notification containing the public digital address 9, 37 of his personal safe 8, 36, so that said creator or user can access said personal safe by means of said digital address.
[0039] The method further provides, when a creator 1 present on the blockchain wishes to create computer files 2 there, to create a specific digital safe 14 for said creator on said blockchain, in order to allow said creator to manage the creation, editing and distribution of his computer files 2 by means of said management safe.
[0040] To do this, the terminal 5 of the creator 1 comprises means to allow said creator to request a deployment platform present on the blockchain, in particular the platform 3 shown in the figures, in order to create such a digital safe 14 for the management of his computer files 2.
[0041] In particular, the method provides for recording the digital address 9 of the personal safe 8 of the creator 1, as a parent address in the digital safe 14 for managing the computer files 2 of said creator during the creation of said digital management safe. To do this, the platform 3 comprises means adapted to carry out this recording in the management safe 14 during its creation.
[0042] Advantageously, the management safe 14 is in the form of a smart contract with functionalities adapted to allow the creator 1 to easily manage the creation, editing and recording of reading and access authorization data of his computer files 2 on the blockchain, including monitoring of updates to the characteristics of said files, in order to provide said creator with better visibility of said updates.
[0043] Platform 4, after creating the management safe 14: - records in the central safe 12 a digital address 15 allowing access to said management safe on the blockchain; - communicates this digital address 15 to the creator 1, for example via a suitable notification sent to his terminal 5, in order to allow the creator 1 to access said management safe using said digital address.
[0044] In relation to the figures, the architecture further comprises a server 16 linked to the blockchain for uploading and downloading computer files 2, said server notably comprising read access to the blockchain, as well as a database 17 in which the files 2 uploaded to said server are recorded.
[0045] To improve the security of storage of its computer files 2, the architecture can include several servers 16 comprising the required technical means, and the creator 1 can save said files on several servers 16 at the same time.
[0046] In particular, the creator 1 can record, in particular by means of the platform 3 and an application installed on his terminal 5, the digital address(es) on the blockchain of the server(s) 16 on which he wishes to record his computer files 2 in a list of variables provided for this purpose in the digital management safe 14.
[0047] The digital address of a server 16 is presented in particular in the form of a hypertext link of the URL type (for the English “Uniform Resource Locator”) and allows any person (creator 1 or third-party user 4) present on the blockchain to access said server by entering said digital address on his terminal 5, 6.
[0048] Advantageously, the creator 1 can change the digital address(es) of server(s) previously recorded in the management safe 14, in particular to delete digital addresses of servers 16 which have become obsolete or which he no longer wishes to use and / or to add digital addresses of new servers 16.
[0049] Prior to the uploading of a computer file 2 by its creator 1 to the server 16, the method provides for: - associate with said file an indexing code 18, as well as the digital address 15 for access to the digital safe 14; - calculate a first hash fingerprint 19 of said computer file; - recording said first hash fingerprint in the safe 14, associating it with the indexing code 18.
[0050] To do this, the terminal 5 linked to the creator 1 comprises, in particular by means of an application installed on said terminal, means adapted to carry out the aforementioned operations.
[0051] In relation to [Fig.l], the terminal 5 or the application installed therein comprises means for launching a procedure 20 adapted for: - add to file 2 metadata containing the indexing code 18 and the digital address 15 of the safe 14;
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058] - calculate a first fingerprint 19 of said file supplemented with said metadata, for example in the form of an alphanumeric sequence comprising a large number of bits, in particular of the order of 256 bits, and preferably expressed in hexadecimal, in order to minimize the risk of collision with fingerprints of other files previously recorded on the server 16. This arrangement also makes it possible to prevent any management of this computer file 2 with a digital safe other than the safe 14 of the creator 1. At the end of this procedure 20, the terminal 5 sends to the file management safe 14 2 a notification 21 containing the first fingerprint 19, in order to record it in said management safe. The terminal 5 further comprises means for uploading the file 2 completed with the metadata to the server 16, for example by sending to said server a request 22 containing said file. Upon receipt of the request 22, the server 16 launches a procedure 23 to verify the referencing of the management safe 14 in the central safe 12 of the blockchain, by verifying the presence in said central safe of the digital address 15 of said management safe. To do this, the server 16 comprises means for reading the digital address 15 added in the form of metadata to the file 2 extracted from the request 22, as well as means for sending to the central safe 12 a request 24 comprising this address 15, in order to verify its presence in said central safe. If the management safe 14 is correctly referenced in the central safe 12, the method then provides for: - calculate a second hash fingerprint from said uploaded file; - read the indexing code and the numeric address associated with the uploaded file; - compare the second hash fingerprint calculated from said uploaded file to the first fingerprint 19 previously recorded in the safe 14 and associated with the indexing code 18 read in said uploaded file; - save said uploaded file on said server in the event of success of said comparison. To do this, in relation to [Fig.l], the server 16 includes means for, by launching an adapted procedure 25: - read the indexing code 18 and the digital address 15 associated with the computer file 2 uploaded via the request 22. - calculate a second hash fingerprint of file 2 communicated in request 22; - compare this second hash fingerprint to the first fingerprint 19 previously recorded in the safe 14 and associated with the indexing code 18 read in said uploaded file.
[0059] In the case where the code 18 and the address 15 are added in the form of metadata to the uploaded file 2, the server 16 comprises means adapted to read said code and said address by consulting said metadata when uploading said file.
[0060] The server 16 further comprises means for, in the event of successful comparison of the hash fingerprints, launching a procedure 26 adapted to: - save the uploaded file 2 in its database 17; - send to terminal 5 a notification 27 to inform creator 1 of the success of this recording.
[0061] In particular, the method may provide for renaming the file 2 using its first fingerprint 19 as a new name at the time of its recording on the server 16, in order to facilitate the joint referencing of said file recorded on said server and of said first fingerprint recorded in the safe 14.
[0062] To do this, the terminal 5 may comprise means for, upon receipt of the notification 27 of saving the file 2 on the server 16, displaying on its screen a window for the attention of the creator 1, in which the new name used to save said file on said server is indicated by default. In particular, the window may comprise an interactive button to allow the creator to validate this new name, as well as possibly an interactive button to refuse said new name and choose another name himself, for example by manually entering the name of his choice in a field provided for this purpose on said window.
[0063] The method provides for recording in the digital safe 14 an authorization status defined by the creator 1 for a possible subsequent download of said uploaded file, for example by the creator 1 himself or by another user 4 present on the blockchain, by associating it with the indexing code 18.
[0064] This arrangement allows the creator 1 to keep his computer files 2 with several levels of security, which he can also change over time. Furthermore, this arrangement allows the creator 1 to easily benefit from monitoring of the updates made to his files 2.
[0065] To do this, the terminal 5 or the application installed therein comprises means to allow the creator 1 to define and record in the digital safe 14 such a download authorization status for a file 2 recorded or to be recorded on the server 16, by associating it with the indexing code 18.
[0066] In particular, the method provides, using suitable means of its terminal 5 or the application installed therein, to allow the creator 1 to define a download authorization status for a computer file 2 by choosing it from a set of predetermined authorization statuses, in order to facilitate this operation for said creator.
[0067] In particular, the application installed on the terminal 5 may comprise a database, in particular recorded on said terminal, in which predetermined authorization statuses are pre-recorded, as well as means for displaying on said terminal a window to allow the creator 1 to choose from these pre-recorded statuses a status to be associated with the computer file 2, for example by means of a drop-down menu containing a list of possible authorization statuses.
[0068] This recording can be carried out in the safe 14 at the same time as that of the first fingerprint 19, in particular during the procedure 20 of calculating and recording said first fingerprint, in order to simplify the uploading and recording of the file 2 on the server 16. In particular, the download authorization status can be sent in the request 21 containing the first fingerprint 19.
[0069] Alternatively, the recording of the authorization status in the safe 14 can be carried out during an independent procedure (not shown). In particular, the terminal 5 can display on its screen, at any time during the uploading of the file 2 to the server 16, a window as described previously to invite the creator 1 to choose a download authorization status to be associated with said file.
[0070] The download authorization status assigned to a file 2 may in particular be entered in the form of an alphanumeric code in the digital management safe 14, in particular in a dedicated list within said safe, in which it is associated with the indexing code 18 and the first hash imprint 19 of said file.
[0071] Advantageously, the set of predetermined authorization statuses comprises at least one authorization status which comprises a security modality providing authentication with the server of a user 1, 4 (creator 1 or third-party user 4) which requires the downloading of the corresponding computer file 2.
[0072] In particular, creator 1 can choose a download authorization status from among the following six predetermined statuses, ranked in decreasing order of their security levels: - a status “0”, corresponding to a maximum security level, for which file 2 must not be displayed by server 16; - a status “1”, for which the server 16 must only display the file 2 to its creator 1, after authentication of said creator; - a status “2”, for which the server 16 must send a notification to the creator 1 to warn him that a third-party user 4 wishes to view his file 2, in order to require validation from said creator to authorize the display of said file; - a status “3”, for which the server 16 must only display the file 2 to its creator 1 or an authorized third-party user 4, after authentication of said creator or third-party user; - a status “4”, for which the server 16 can display the file 2 unconditionally, for any user 1, 4 of the blockchain, in particular referenced in the central safe 13 of said blockchain, who requires it; and - a status “5”, for which the server 16 can display the file 2 unconditionally, for any user who requires it.
[0073] Furthermore, depending on the desired uses for the computer files 2, other types of statuses can be envisaged.
[0074] The method further provides, when the creator 1 chooses for an uploaded computer file 2 a download authorization status which provides for authentication of a user 1, 4 who requires it, such as for example the status “1” or the status “3” mentioned above, to record at least one list of digital addresses 7b, 9, 35b, 37 of the users 1, 4 authorized to download said computer file, in order to allow subsequent authentication of a third-party user 4 requesting the downloading of said file by verifying the presence in said list of a digital address 7b, 9, 35b, 37 of said user.
[0075] To do this, the terminal 5 comprises means to allow the creator 1 to carry out such a recording, for example by displaying on its screen a suitable window when said creator selects a predetermined authorization status which requires the authentication of a user 1, 4 wishing to download the file 2. The creator 1 can then enter in this window at least one digital address 7b, 9, 35b, 37 of a user 1, 4 that he wishes to authorize to download the file 2, in order to record said address, for example in the digital safe 14, by associating it with the indexing code 18 of said file.
[0076] In particular, the creator 1 can record in the safe 14 two separate lists for the creator(s) 1 of the file 2 and for the third-party user(s) 4 authorized to access said file, in order to guarantee access with separate security levels for said creator(s) and said third-party user(s). Advantageously, the public key 7b and / or the digital address 9 used by the creator 1 at the time of uploading the file 2 can be automatically recorded in a “creator(s)” access list of the safe 14 at the end of the upload.
[0077] In relation to [Fig.2], the method provides, when a user 4 of the blockchain requests from the server 16 the downloading of a file 2 previously uploaded to said server, to: - check in the digital safe 14 the download authorization status defined for said file and associated with the indexing code 18; and - where applicable, proceed with said download, according to security methods associated with said status.
[0078] To do this, the architecture comprises a terminal 6 to allow a user 4 to request the downloading of a file 2, in particular by sending to the server 16 a suitable request 28, said server comprising means for, where appropriate, checking the authorization status associated with said file, and, in the case where the conditions required for said downloading are met, proceeding with said downloading according to the security methods associated with said status.
[0079] In [Fig. 2], the user 4 requesting the downloading of a file 2 is a third-party user different from the creator 1 who uploaded said file to the server 16, and his terminal 6 for accessing the blockchain is different from the terminal 5 used by said creator. The terminal 6 is however similar to the terminal 5 of the creator 1, and notably comprises an application adapted to allow the user 4 to access the blockchain by means of keys associated with his terminal and / or, advantageously, recorded in a personal digital safe similar to the personal safe 8 of the creator 1.
[0080] In a variant not shown, the user requesting the downloading of a file 2 may be its creator 1 himself, who can carry out these downloading operations by means of the application installed on his terminal 5, which he previously used to upload said file to the server 16.
[0081] In [Fig.2], the terminal 6 sends to the safe 14, thanks to its digital address 15, a preliminary request 29 comprising the indexing code 18 of the file 2 that the user 4 wishes to download, in order to read the first fingerprint 19 recorded for said file. Then, the terminal 6 sends to the server 16 a request as described previously, which contains in particular the first fingerprint 19 read in the safe 14.
[0082] Upon receipt of these requests, the server 16 sends to the safe 14 a request 30 containing in particular the fingerprint 19 and the indexing code 18, in order to verify in parallel, using two adapted procedures 31, 32: - the existence of a fingerprint 19 corresponding to that communicated in request 28 (procedure 31); and - the download authorization status defined for the corresponding file 2, and in particular associated with the indexing code 18 of said file in said digital safe (procedure 32).
[0083] In particular, the server 16 comprises means for authenticating the user 4 requesting the downloading of the computer file 2, in the case where the status associated download authorization includes a security modality that provides for this.
[0084] To do this, during the corresponding procedure 32, the server 16 can in particular authenticate the user 4 by verifying the presence of a digital address 35b, 37 of said user in a list of authorized digital addresses previously recorded in the safe 14 for this file 2.
[0085] Advantageously, to improve the security of the downloading of the files 2, but also the connection of the user 4 to the blockchain, the method can provide for authenticating the user 4 by means of a connection token system, coupled with a personal safe 36 held by said user on said blockchain.
[0086] To do this, the server 16 can, during the procedure 32, communicate to the user 4 a token identifying his connection session to the blockchain, and the user 4 can, by means of his terminal 6: - generate a random number; - electronically sign the session token communicated by the server 16 and said random number by means of a private key 35a linked to the terminal 6, and associated with a public key 35b previously recorded in the personal safe 36 of said user on the blockchain; - communicate the signed session token and random number, as well as the digital address 37 of the personal safe 36;
[0087] in order to allow authentication of the user 4 successively by: - verification of the electronic signature of the session token and the random number by comparison with the public key 35b recorded in the personal safe 36, which makes it possible to ensure the validity of said public key and said digital address; then - verification of the presence of the public key 35b and / or the digital address 37 of the personal safe 36 of the user 4 in a list of authorized digital addresses 7b, 9, 35b, 37 associated with the file 2 in the safe 14.
[0088] In particular, to implement this authentication procedure, the architecture may comprise a server (not shown) specifically dedicated to said authentication, which comprises: - means for receiving the signed session token and random number and digital address 37 communicated by the terminal 6; - means for verifying the signature of said session token and said random number; - means for signing the random number using a private key of said authentication server;
[0089]
[0090]
[0091]
[0092] - means for communicating said signed random number to the server 16, in order to allow the server 16 to verify the reliability of said authentication server by verifying a public key associated with its private key; and - means for, in the event of successful authentication of user 4, communicating to his terminal 6 a notification comprising copies of the session token and the random number signed using the private key of said authentication server. At the end of procedures 31, 32, the server 16 sends a notification to the terminal 6 33 which varies according to the result of said procedures, in particular according to the referencing or not of the required file 2 in the safe 14 and / or according to the success or failure of the authentication of the user 4. In [Fig.2], corresponding to the case where file 2 is correctly referenced in the safe 14 and where user 4 has authorization to download it, in particular if he has been correctly authenticated by the server 16, the notification 33 communicated to his terminal 6 includes the required file 2. In other cases, notification 33 includes corresponding error codes the reasons for the failure to download file 2, including: - in the event of an error in the indexing code and / or in the hash fingerprint communicated by the terminal 6; and / or - in the absence of the required file 2 in database 17; and / or - in the event of the absence of a reference to said file in the safe 14; and / or - in the event of non-authorization of downloading for user 4 (status “0” prohibiting any downloading, or absence of the digital address provided by user 4 in the list associated with file 2 in safe 14). Finally, upon receipt of notification 33, the terminal 6 launches a procedure 34 adapted to display on its screen the result of the request to download file 2, with information readable for a human user 4.
Claims
1. Claims Method for enabling a creator (1) to save a computer file (2) on a server linked to a blockchain, said method providing: - associate with said file an indexing code (18), as well as a digital address (15) for access to a digital safe (14) on the blockchain; - calculate a first hash imprint (19) of said computer file; - recording said first hash fingerprint in the digital safe (14), associating it with the indexing code (18); - record in the digital safe (14) an authorization status defined by the creator (1) for possible subsequent downloading of said computer file, by associating it with the indexing code (18); said method providing, when uploading said computer file by said creator to a dedicated server (16) comprising read access to the blockchain, to: - calculate a second hash fingerprint from said uploaded file; - read the indexing code (18) and the numerical address (15) associated with said uploaded file; - comparing the second hash fingerprint calculated from said uploaded file to the first hash fingerprint (19) previously recorded in the digital safe (14) and associated with the indexing code (18) read with said uploaded file; - save said uploaded file on the server (16) in the event of success of said comparison; said method further providing, when a user (1, 4) of the blockchain requests the downloading of the computer file (2) from the server (16), to: - check the status in the digital safe (14) download authorization defined for said computer file and associated with the indexing code (18); and - where applicable, carry out said download according to security procedures associated with said status.
2. Method according to claim 1, characterized in that it provides for adding to the computer file (2) metadata containing the indexing code (18) and the digital address (15) of the safe (14), in order to allow the reading of said indexing code and said digital address by consulting said metadata when uploading said computer file to the server (16).
3. Method according to one of claims 1 or 2, characterized in that the download authorization status defined by the creator (1) for the computer file (2) is chosen by the creator (1) from a set of predetermined authorization statuses.
4. Method according to claim 3, characterized in that the set of predetermined authorization statuses comprises at least one authorization status which comprises a security modality providing authentication with the server (16) of a user (1, 4) requesting the downloading of the computer file (2).
5. Method according to claim 4, characterized in that it provides, when the creator (1) chooses for the uploaded computer file (2) a download authorization status providing for authentication of a user (1, 4) who requests the downloading thereof, to record at least one list of digital addresses (7b, 9, 35b, 37) of the users (1, 4) authorized to download said computer file, in order to allow subsequent authentication of a user who requests the downloading thereof by verifying the presence in said list of a digital address of said user.
6. Architecture for enabling a creator (1) to save a computer file (2) on a server linked to a blockchain, said architecture comprising: - a terminal (5) linked to the creator (1) and comprising: • means for associating with said file an indexing code (18), as well as a digital address (15) for access to a digital safe (14) on the blockchain; • means for calculating a first hash fingerprint (19) of said computer file; • means for recording said first hash fingerprint in the digital safe (14), by associating it with the indexing code (18); • means to enable the creator (1) to define and record in the digital safe (14) an authorization status for possible subsequent downloading of said computer file, by associating it with the indexing code (18); - a server (16) for uploading and downloading computer files (2), said server comprising read access to the blockchain; said creator's terminal (1) comprising means for enabling said creator to upload and save the computer file (2) on the server (16), said server comprising means for, when uploading said file: - calculate a second hash fingerprint from said uploaded file; - read the indexing code (18) and the numerical address (15) associated with said uploaded file; - comparing the second hash fingerprint calculated from said uploaded file to the first hash fingerprint (19) previously recorded in the digital safe (14) and associated with the indexing code (18) read with said uploaded file; - save said uploaded file on said server in the event of success of said comparison; said architecture further comprising a terminal (5, 6) to allow a user (1, 4) to request the downloading of the computer file (2) from said server, said server comprising means for, where appropriate: - check in the digital safe (14) the download authorization status defined for the said file in- computer and associated with the indexing code (18); and - where applicable, carry out said downloading according to security methods associated with said status.
7. Architecture according to claim 6, characterized in that the terminal (5) of the creator (1) comprises means for adding to the computer file (2) metadata containing the indexing code (18) and the digital address (15) of the safe (14), the server (16) comprising means for reading said indexing code and said digital address by consulting said metadata when uploading said computer file.
8. Architecture according to one of claims 6 or 7, characterized in that the terminal (5) of the creator (1) comprises means for allowing the creator (1) to define a download authorization status for the computer file (2) by choosing it from a set of predetermined authorization statuses.
9. Architecture according to claim 8, characterized in that the set of predetermined authorization statuses comprises at least one authorization status which comprises a security modality providing authentication with the server (16) of a user (1, 4) requesting the downloading of the computer file (2), said server comprising means for carrying out said authentication.
10. Architecture according to claim 9, characterized in that the terminal (5) of the creator (1) comprises means for allowing the creator (1), when he chooses for the uploaded computer file (2) a download authorization status providing for authentication of a user (1, 4) who requests the downloading thereof, to record at least one list of digital addresses (7b, 9, 35b, 37) of the users (1, 4) authorized to download said computer file, the server (16) comprising means for subsequently authenticating a user (1, 4) who requests the downloading thereof by verifying the presence in said list of a digital address (7b, 9, 35b, 37) of said user.
Citation Information
Patent Citations
File storage method and device based on block chain, equipment and storage medium
CN114398686A
Tokenized media content management
US20220215076A1
Systems for encryption using blockchain distributed ledgers
US20230108366A1