This application claims the benefit of Belgian Application No. BE2016/5964 filed 22 Dec. 2016, Belgian Application No. BE2016/5965 filed 22 Dec. 2016, Belgian Application No. BE2016/5966 filed 22 Dec. 2016 and PCT/EP2017/056624 filed Oct. 25, 2017, International Publication No. WO 2018/115992 A1, which are hereby incorporated by reference in their entirety as if fully set forth herein.

TECHNICAL DOMAIN

The present invention relates to the technical domain of saving a location of a file.

STATE OF THE ART

A problem with the known methods for signing a PDF based document is the need for a central authority for the registration of the signature. A known alternative is the use of a blockchain.

US 2016/0212146 describes systems and methods using a blockchain for recording a file date and for avoiding manipulation, even for documents that are secret and also for those stored in uncontrolled environments. These systems and methods do not require that any confidence is placed in a timestamping authority or a document filing service. A trusted timestamping authority can be used, but even when this timestamping authority loses its credibility or when a third party refuses to recognize the validity of a time stamp, a date for an electronic document can still be specified.

A disadvantage of a method according to US 2016/0212146 is the lack of a mechanism for retrieving the author of a file or document. In terms of document security, this means that the authenticity of a document cannot be retrieved. In the same context, US 2016/0212146 does not offer a provision for non-repudiation, as a result of which an author of a particular file or document can deny the involvement in the realization of the particular file or document at his own discretion.

The present invention aims to find a solution for at least some of the above-mentioned problems.

SUMMARY OF THE INVENTION

In a first aspect, the invention provides a computer-implemented method for saving a location of a file by a user in a blockchain according to claim1.

First, this method provides a solution for the known problem of reference rot, also known as link rot, by using particular characteristics of the blockchain in a useful way. First of all, such a method advantageously makes use of the characteristics of a blockchain, by allowing a user to incontestably save a link between a file and a location in a decentralized way. As the blockchain also registers the moment of recording in an incontestable way, the location reference is also characterized by an incontestable date. By using a file hash, the file can hereby be identified in a unique way, without necessarily having to disclose the content of the file, which offers further advantages.

The invention offers a solution for the problem of reference rot, in which the provider of a file, i.e. the user, is no longer dependent on the first location, preferably comprising a URL, with which he provides the file. The user can indeed provide a new location for the file, and can record this new link between this existing file and the new location. As each location reference is characterized by a date, a visitor requesting access to the file on the blockchain can easily retrieve the most recently recorded location. Thus, the invention provides a method and a system of persistent locations, in which the file hash acts as file identification. Contrary to related methods of the state of the art, such as a system based on a digital object identifier (DOI), no central authority is involved in the recording and provision of the location of the file, thanks to the advantageous distributed character of the used blockchain. Each file can easily be retrieved in the blockchain via its file hash. For an obsolete location, where no file can be found anymore, it can also be retrieved which file or which files have ever been linked. Also, there are provisions for authenticity and non-repudiation, thanks to the signing of the hash-related string by the user. In a preferred embodiment, the hash-related string concerns the file hash, in which, by signing, the user recognizes having access to the file. In another embodiment, the hash-related string relates to a combination of the file hash and the location, in which, by signing, the user recognizes that the file and the location are mutually linked.

Further advantages of the invention relate amongst other things to the recording of a precise date of disclosure of a file, allowing an integrity control, and retrieving historical data with respect to a file. These advantages have been described elsewhere in the present document.

In a preferred embodiment, said location comprises several different location alternatives, in which each of said several location alternatives preferably comprises a corresponding URL. In such an embodiment, the invention provides mirror locations, resulting in equivalent locations for the file. In case of several URLs, a visitor desiring access to the file, for example is granted a faster access, or a more robust access. A faster access is for example obtained when the URLs correspond to several physical download locations spread all over the world, as a result of which it becomes possible, whether automatically or not, to choose the download location that is physically most nearby. A more robust access is obtained if one of the locations is inaccessible temporarily or permanently, for example because of problems relating to the network or a firewall blocking certain domains for certain visitors, but the other locations do remain accessible.

In a second aspect, the invention provides a method for confirming a validity of a location reference that has been recorded with the method for recording a location of a file according to the present invention by a validating party, said method comprising the steps:(A) receiving a location reference of a file, said location reference comprising a location, a signed hash-related string that has been signed by a user, a user identity with respect to said user, and a file hash, said location comprising one or more location alternatives, said signed hash-related string being constructed based on at least said file hash and preferably further based on said location;(B) processing said user identity for retrieving a public key belonging to a key pair belonging to said user;(C) decrypting said signed hash-related string with said public key that has been obtained in step (B), resulting in a decrypted hash-related string;(D) optionally, evaluating a validity of said decrypted hash-related string that has been obtained in step (C) with respect to said file hash that has been received in step (A);(E) retrieving a copy of said file for each of said one or more location alternatives;(F) calculating a file hash for each copy that has been retrieved in step (C);(G) evaluating a being equal of the file hash that has been received in step (A) and each file hash that has been calculated in step (F);
in which said confirmation of said validity takes place if said evaluation in step (G) is positive, and optionally if said evaluation in step (D) and step (G) are both positive. In a preferred embodiment, this method comprises the following further steps:(H) if said evaluation in step (G) is positive, and optionally if said evaluation in step (D) and step (G) are both positive, composing a location reference ready for validation comprising at least said location, said signed hash-related string that has been signed by the user, said file hash and a validating party identity for retrieving said validating party public key;(I) signing by said validating party of said location reference ready for validation, for obtaining a validating location reference;(J) optionally, adding said location reference of said user to said validating location reference if not yet included in said validating location reference;(K) registering said validating location reference in said blockchain;
in which said signing in step (I) comprises encrypting a validating string with a public key of a validating party that belongs to a validating party key pair of a validating party, and in which said validating string comprises at least said hash-related string that has been signed by the user.

The advantage of such a method is that it allows to check in a reliable, and preferably automated way the correctness of the recorded location, including possibly several location alternatives. This form of validation can moreover be carried out several times. Hereby, the different validating parties sign a validating string that comprises at least the hash-related string that has been signed by the user. In a preferred embodiment, the different validating parties can moreover sign the validating string that has been signed by a preceding validating party “in series”. Such a method has been described in Example 2. Depending on the importance of the file, the number of validating parties can be equal to 0 if not important, and can then increase if more trust must be placed in it. In a preferred embodiment, the choice of validating parties is made arbitrarily, in an alternative embodiment, the choice of validating parties is determined by a kind of “subscription” of the user at a trusted validating party. This is somewhat similar to the subscription that users/companies have at a Timestamp Authority. In such a case, the trusted validating party provides a service that is paying or not to act as validating authority.

In a third aspect, the invention relates to a system for recording a location of a file by a plurality of users, said system comprising a plurality of mutually linked devices, each of the devices comprising a processor, tangible non-volatile memory, instructions in said memory for controlling said processor, a client application, in which for each device, the client application is configured for carrying out a method according to the present invention, in which a user identity for retrieving a public key for at least one of the users is linked one-to-one to the client application on the device belonging to said user.

Such a system has amongst other things the advantage that a strongly controllable environment is created, allowing to take fast action in diverse situations, such as the case of a compromised HSM.

In a fourth aspect, the invention relates to a use of the method of the present invention in a system of the present invention.

In another aspect, the invention provides a use of a blockchain comprising a plurality of location references recorded with the method of the present invention and preferably recorded by the system of the present invention as file location index, in which a search query comprising a file hash and/or a metadata field and/or a first ID belonging to said metadata field and/or a second ID belonging to said metadata field results in the search of said plurality of location references that have been saved in the blockchain, resulting in a provision of a location reference recorded in the blockchain associated with said search, preferably a location reference that has been recorded most recently in the blockchain associated with said search query.

The advantage of such a use is that the blockchain realizes a user-friendly and transparent inventory of locations of files, i.e. a file location index. In this way, a search query can for example be carried out very easily on the file hash, in order to find out in this way if the file has been registered, what the location is, and if there are any problems, such as for example in case more references are present in the blockchain with mutually different authors or locations. A similar advantage can also be realized by using a unique file ID, as described in the present document. In a related way, a simple search for files of a particular user can immediately provide a whole list of references to anyone having access to the blockchain.

In a further aspect, the invention relates to a use of a blockchain comprising a plurality of location references recorded with the method of the present invention and preferably recorded by the system of the present invention as link index, in which a search query comprising a location concerning a URL to scan results in the searching of said plurality of location references that have been saved in the blockchain, resulting in a provision of an indication of the fact whether or not said link has been registered in the blockchain and/or file-related information based on a location reference related to said location and/or validation-related information based on a validating location reference related to said location.

In such a use, the blockchain is advantageously used as a user-friendly and transparent inventory of locations, in which it can be checked very easily which files have been provided at a particular location. The integrity of individual locations can also be checked.

According to another aspect, the invention relates to a use of a blockchain comprising a plurality of location reference recorded with the method of the present invention and preferably recorded by the system of the present invention as event trigger, in which an event relating to the recording of a location reference meeting one or more filtering criteria related to a user, a location, a file hash and/or a metadata field of a file forms a trigger for generating a notification related to said event.

Such a use is advantageous for the systematic inventory of files and file versions by third parties, that can use the information that has been written to the blockchain as a trigger for updating their inventory. An example of such a third party is a search engine realizing web crawling, an archiving service saving historical versions of files such as web pages, or a specialized service sending notifications to subscribed users based on certain search criteria and/or filters.

In a fourth aspect, the invention relates to a computer program product for carrying out a computer-implemented method of the present invention, preferably in a system of the present invention, which computer program product comprises at least one readable medium in which computer-readable program code portions are saved, which program code portions comprise instructions for carrying out said method.

Further preferred embodiments of the present invention will be described in the detailed description and the claims.

