Despite the potential convenience of electronic signatures, they are not widely used in commerce or legal practice other than for low-risk or low-value documents. This is due to fundamental deficiencies in existing electronic signing processes, which fail to: mitigate the potential for mistakes and abuse, and consequently fail to meet the relevant legal thresholds for the enforcement of many types of contract; and conform to common practices in transactions (many of which have been enshrined in legislation and tax rules) meaning lawyers are reluctant or unable to adopt electronic signatures as part of their workflow.
The application discloses, in embodiments, a server, for use in digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the server comprising: one or more processors; a communication module, to communicate with a signee device; memory comprising instructions which when executed by one or more of the processors configure the server to: process a document based on a set of rules to extract writing from the document, for signing, from other document data; and generate, on the server, or receive, from the signee device: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the instructions further configure the server to update the document to include the signee security stamp. In embodiments the instructions further configure the server to generate, on the server, or receive, from the signee device, a randomness metric indicative of randomness of the writing. In embodiments the instructions further configure the server to: calculate the proportion of the extracted writing which is in a lexicon; and generate the randomness metric by comparing the proportion of the extracted writing which is in the lexicon with the entire writing. In embodiments the proportion of the extracted writing is calculated by the number of: bits, bytes, characters, words, paragraphs, or combinations thereof. In embodiments the instructions further configure the server to update the document to including the randomness metric. In embodiments the instructions further configure the server to update the document to include the hash value. In embodiments the instructions further configure the server to authenticate credentials of the signee. In embodiments the instructions further configure the server to further authenticate the signee by a second level of authentication. In embodiments, the instructions further configure the server to create a session with session variables uniquely linked to the web browser used by the signee. In embodiments, the instructions further configure the server to verify that the signee's web browser is being operated by an individual with access to information (such as passwords) and/or hardware (such as a phone, e.g. by receipt of an SMS message) which should only be in the possession of the signee. In embodiments the instructions further configure the server to receive the unsigned document from the signee device. In embodiments the instructions further configure the server to transmit the updated document to the signee device. In embodiments the communication module is further configured to communicate with a witness device. In embodiments the instructions further configure the server to, generate on the server, or receive, from the signee device or the witness device, a witness security stamp, associated with a witness of the signee signing the document. In embodiments the instructions further configure the server to update the document to include the witness security stamp. In embodiments the instructions further configure the server to stream video and/or audio data of the signee, from the signee device, to the witness device. In embodiments the instructions further configure the server to receive instructions from the witness device to permit generation of the signee security stamp. In embodiments instructions further configure the server to transmit, to the witness device, either: a partial version of the hash; or the entire hash. In embodiments instructions further configure the server to generate, on the server, or receive from the signee device, a locality sensitive hash. In embodiments instructions further configure the server to generate the signee security stamp based on the signee's private key and the hash in combination with either or both of: the locality sensitive hash and the randomness metric. In embodiments wherein the communication module is further configured to communicate with a verification device. In embodiments instructions further configure the server to, receive, from the verification device, second writing, a second hash, and a second security stamp to be verified. In embodiments wherein the instructions further configure the server to compare the second writing, second hash and second security stamp against the first writing, first hash and signee security stamp. In embodiments the instructions further configure the server to, if the first writing and second writing differ, generate a value indicative of the difference. In embodiments the instructions further configure the server to calculate a string similarity metric between the first writing and second writing to generate the value indicative of the difference. In embodiments the instructions further configure the server to transmit, to the verification device, the value indicative of the difference, and/or a string comprising the difference between the first writing and second writing.
The application further discloses, in embodiments, a signee device, for use in digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the signee device comprising: one or more processors; a communication module, to communicate with a server; memory comprising instructions which when executed by one or more of the processors configure the signee device to: receive, from the server a document processed based on a set of rules to extract writing from the document, for signing, from other document data; generate, on the signee device, or receive, from the server: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the instructions further configure the device to update the document to include the signee security stamp. In embodiments the instructions further configure the signee device, to generate, on the signee device, or receive, from the server, a randomness metric indicative of randomness of the writing. In embodiments the instructions further configure the signee device to receive the document including the randomness metric. In embodiments the instructions further configure the signee device to receive the document including the hash value. In embodiments the instructions further configure the signee device to receive authentication credentials of the signee and transmit the authentication credentials to the server. In embodiments the instructions further configure the signee to further receive a second level of authentication details and transmit the second level of authentication details to the server. In embodiments the instructions further configure the signee device to transmit the unsigned document to the server. In embodiments the instructions further configure the signee device to receive the updated document from the server. In embodiments the instructions further configure the signee device to, generate on the signee device, or receive, from the server, a witness security stamp, associated with a witness of the signee signing the document. In embodiments the instructions further configure the signee device to stream video and/or audio data of the signee, to a witness device. In embodiments the instructions further configure the signee device to receive instructions from the witness device which permit generation of the signee security stamp. In embodiments instructions further configure the signee device to generate, on the signee device, or receive from the server device, a locality sensitive hash. In embodiments instructions further configure the signee device to receive the signee security stamp based on the signee's private key and the hash in combination with either or both of: the locality sensitive hash and the randomness metric.
The application further discloses, in embodiments, a witness device, for use in digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the witness device comprising: one or more processors; a communication module, to communicate with a server; memory comprising instructions which when executed by one or more of the processors configure the witness device to: receive, from the server: a document processed based on a set of rules to extract writing from the document, for signing, from other document data; a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash; and receive, from the server, or generate, on the witness device: a witness security stamp based on a private key associated with a witness and the hash. In embodiments the instructions further configure to witness device to update the document to include the witness security stamp. In embodiments the instructions further configure the witness device to receive video and/or audio stream data of the signee, from the signee device, to the witness device. In embodiments the instructions further configure the witness device to transmit instructions to permit generation of the signee security stamp. In embodiments instructions further configure the witness device to receive, from the server, either: a partial version of the hash; or the entire hash.
The application further discloses, in embodiments, apparatus, for use in digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the server comprising: one or more processors; memory comprising instructions which when executed by one or more of the processors configure the apparatus to: process a document based on a set of rules to extract writing from the document, for signing, from other document data; and generate: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the instructions further configure the server to update the document to include the signee security stamp. In embodiments the instructions further configure the apparatus to generate a randomness metric indicative of randomness of the writing. In embodiments the instructions further configure the server to: calculate the proportion of the extracted writing which is in a lexicon; and generate the randomness metric by comparing the proportion of the extracted writing which is in the lexicon with the entire writing. In embodiments the proportion of the extracted writing is calculated by the number of: bits, bytes, characters, words, paragraphs, or combinations thereof. In embodiments the instructions further configure the apparatus to update the document to including the randomness metric. In embodiments the instructions further configure the apparatus to update the document to include the hash value. In embodiments instructions further configure the apparatus to generate a locality sensitive hash. In embodiments instructions further configure the apparatus to generate the signee security stamp based on the signee's private key and the hash in combination with either or both of: the locality sensitive hash and the randomness metric.
The application further discloses, in embodiments, apparatus for detection of a hash collision attack, apparatus comprising: one or more processors; memory comprising: a lexicon of a language; instructions when executed by one or more of the processors configure the apparatus to: receive writing; calculate the proportion of the writing which is in the lexicon; generate a randomness metric by comparing the proportion of the extracted writing which is in the lexicon; compare the generated randomness metric with a predetermined threshold.
The application further discloses, in embodiments, a method, on a server, for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the method comprising: communicating with a signee device; processing a document based on a set of rules to extract writing from the document, for signing, from other document data; and generating, on the server, or receiving, from the signee device: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the method further comprises updating the document to include the signee security stamp. In embodiments the method further comprises generating, on the server, or receiving, from the signee device, a randomness metric indicative of randomness of the writing. In embodiments the method further comprises calculating the proportion of the extracted writing which is in a lexicon; and generating the randomness metric by comparing the calculated proportion of the extracted writing which is in the lexicon with the entire writing. In embodiments the method further comprises wherein the proportion of the extracted writing is calculated by the number of: bits, bytes, characters, words, paragraphs, or combinations thereof. In embodiments the method further comprises updating the document to including the randomness metric. In embodiments the method further comprises updating the document to include the hash value. In embodiments the method further comprises authenticating credentials of the signee. In embodiments the method further comprises further authenticating the signee by a second level of authentication. In embodiments the method further comprises receiving the unsigned document from the signee device. In embodiments the method further comprises transmitting the updated document to the signee device. In embodiments the method further comprises communicating with a witness device. In embodiments the method further comprises generating on the server, or receiving, from the signee device or the witness device, a witness security stamp, associated with a witness of the signee signing the document. In embodiments the method further comprises updating the document to include the witness security stamp. In embodiments the method further comprises streaming video and/or audio data of the signee, from the signee device, to the witness device. In embodiments the method further comprises receiving instructions from the witness device to permit generation of the signee security stamp. In embodiments the method further comprises transmitting, to the witness device, either: a partial version of the hash; or the entire hash. In embodiments the method further comprises generating, on the server, or receiving from the signee device, a locality sensitive hash. In embodiments the method further comprises generating the signee security stamp based on the signee's private key and the hash in combination with either or both of: the locality sensitive hash and the randomness metric. In embodiments the method further comprises communicating with a verification device. In embodiments the method further comprises receiving, from the verification device, second writing, a second hash, and a second security stamp to be verified. In embodiments the method further comprises comparing the second writing, second hash and second security stamp against the first writing, first hash and signee security stamp. In embodiments the method further comprises if the first writing and second writing differ, generating a value indicative of the difference. In embodiments the method further comprises calculating a string similarity metric between the first writing and second writing to generate the value indicative of the difference. In embodiments the method further comprises transmitting, to the verification device, the value indicative of the difference, and/or a string comprising the difference between the first writing and second writing.
The application further discloses, in embodiments, a method, on a signee device, for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the method comprising: communicating with a server; receiving, from the server a document processed based on a set of rules to extract writing from the document, for signing, from other document data; generating, on the signee device, or receive, from the server: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the method further comprises updating the document to include the signee security stamp. In embodiments the method further comprises generating, on the signee device, or receiving, from the server, a randomness metric indicative of randomness of the writing. In embodiments the method further comprises receiving the document including the randomness metric. In embodiments the method further comprises receiving the document including the hash value. In embodiments the method further comprises receiving authentication credentials of the signee and transmitting the authentication credentials to the server. In embodiments the method further comprises further receiving a second level of authentication details and transmitting the second level of authentication details to the server. In embodiments the method further comprises transmitting the unsigned document to the server. In embodiments the method further comprises receiving the updated document from the server. In embodiments the method further comprises generating on the signee device, or receiving, from the server, a witness security stamp, associated with a witness of the signee signing the document. In embodiments the method further comprises streaming video and/or audio data of the signee, to a witness device. In embodiments the method further comprises receiving instructions from the witness device which permit generation of the signee security stamp. In embodiments the method further comprises generating, on the signee device, or receiving from the server device, a locality sensitive hash. In embodiments the method further comprises receiving the signee security stamp based on the signee's private key and the hash in combination with either of both of: the locality sensitive hash and the randomness metric.
The application discloses, in further embodiments, a method, on a witness device, for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the method comprising: communicating with a server; receiving, from the server: a document processed based on a set of rules to extract writing from the document, for signing, from other document data; a hash of the extracted writing; signee security stamp based on a private key associated with the signee and the hash; and receiving, from the server, or generating, on the witness device: a witness security stamp based on a private key associated with a witness and the hash. In embodiments the method further comprises updating the document to include the witness security stamp. In embodiments the method further comprises receiving video and/or audio stream data of the signee, from the signee device, to the witness device. In embodiments the method further comprises transmitting instructions to permit generation of the signee security stamp. In embodiments the method further comprises receiving, from the server, either: a partial version of the hash; or the entire hash.
The application discloses, in further embodiments, a method, on an apparatus, for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the method comprising: processing a document based on a set of rules to extract writing from the document, for signing, from other document data; and generating: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash. In embodiments the method further comprises updating the document to include the signee security stamp. In embodiments the method further comprises generating a randomness metric indicative of randomness of the writing. In embodiments the method further comprises: calculating the proportion of the extracted writing which is in a lexicon; and generating the randomness metric by comparing the proportion of the extracted writing which is in the lexicon with the entire writing. In embodiments the method further comprises wherein the proportion of the extracted writing is calculated by the number of: bits, bytes, characters, words, paragraphs, or combinations thereof. In embodiments the method further comprises updating the document to including the randomness metric. In embodiments the method further comprises updating the document to include the hash value. In embodiments the method further comprises generating a locality sensitive hash. In embodiments the method further comprises generating the signee security stamp based on the signee's private key and the hash in combination with either or both of: the locality sensitive hash and the randomness metric.
The application further discloses, in embodiments, a method for detection of a hash collision attack, the method comprising: receiving writing; calculating the proportion of the writing which is in the lexicon; generating a randomness metric by comparing the proportion of the extracted writing which is in a lexicon; comparing the generated randomness metric with a predetermined threshold.
The application further discloses, in embodiments, a computer readable medium comprising instructions which when executed by one or more processors, cause the processor or processors together to provide, on a server, a controller for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the controller being configured to: communicate with a signee device; process a document based on a set of rules to extract writing from the document, for signing, from other document data; and generate, on the server, or receive, from the signee device: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash.
The application further discloses, in embodiments, a computer readable medium comprising instructions which when executed by one or more processors, cause the processor or processors together to provide, on a signee device, a controller for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the controller being configured to: communicate with a server; receive, from the server a document processed based on a set of rules to extract writing from the document, for signing, from other document data; generate, on the signee device, or receive, from the server: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash.
The application further discloses, in embodiments, a computer readable medium comprising instructions which when executed by one or more processors, cause the processor or processors together to provide, on a witness device, a controller for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the controller being configured to: communicate with a server; receive, from the server: a document processed based on a set of rules to extract writing from the document, for signing, from other document data; a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash; and receive, from the server, or generate, on the witness device: a witness security stamp based on a private key associated with a witness and the hash.
The application further discloses, in embodiments, a computer readable medium comprising instructions which when executed by one or more processors, cause the processor or processors together to provide, on an apparatus, a controller for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the controller being configured to: process a document based on a set of rules to extract writing from the document, for signing, from other document data; and generate: a hash of the extracted writing; a signee security stamp based on a private key associated with the signee and the hash.
The application further discloses, in embodiments, a computer readable medium comprising instructions which when executed by one or more processors, cause the processor or processors together to provide, on an apparatus, a controller for digitally signing writing in a legal document, wherein a signee has an associated public/private key pair, the controller being configured to: receive writing; calculate the proportion of the writing which is in the lexicon; generate a randomness metric by comparing the proportion of the extracted writing which is in a lexicon; compare the generated randomness metric with a predetermined threshold.
Embodiments of the invention are further described hereinafter with reference to the accompanying drawings, in which:
The memory 120 may be random access memory, and be configured to store instructions to be executed by the controller 110. The communication module 130 may be configured to both receive and transmit data. Further, the communication module 130 may be configured to transmit data over a wired or wireless connection. The wired connection may be configured as an Ethernet connection. Alternatively the wireless connection may be configured in accordance with W-Fi or any other telecommunication standards.
The memory 220 may be random access memory, and be configured to store instructions to be executed by the controller 210. The communication module 230 may be configured to both receive and transmit data. Further, the communication module 230 may be configured to transmit data over a wired or wireless connection. The wired connection may be configured as an Ethernet connection. Alternatively the wireless connection may be configured in accordance with W-Fi or any other telecommunication standards.
The display module 240 may provide a graphical representation of instruction executed by the controller. The camera 250 may be configured to capture image or video information. The microphone 260 may be configured to record sound information. The speaker may be configured to output sound from the device.
The memory 320 may be random access memory, and be configured to store instructions to be executed by the controller 310. The communication module 330 may be configured to both receive and transmit data. Further, the communication module 330 may be configured to transmit data over a wired or wireless connection. The wired connection may be configured as an Ethernet connection. Alternatively the wireless connection may be configured in accordance with W-Fi or any other telecommunication standards.
The display module 340 may provide a graphical representation of instruction executed by the controller. The camera 350 may be configured to capture image or video information. The microphone 360 may be configured to record sound information. The speaker may be configured to output sound from the device.
It will be readily understood that the configuration shown in
The land transfer instrument in this example is a standard template in the form of a HTML document. This only requires certain inputs, such as the party names, the title reference, and the payment amount, etc.
A process of extracting only the writing from an electronic document, in this case the HTML code of
Each element of the HTML code is compared to a list of elements stored, for example in memory 120, and may processed in accordance with a set of rules also stored, for example in memory 120. If an element in the code matches that in the stored list, a determination is made as to whether it should be categorised as writing or other data.
For example, it may be determined that only the text string between the “<p>” tag and “</p>” tag should be categorised as writing. This writing may be extracted from the file and stored as a string in a database. It may also determine that a date between the “<span id=“today”>” tag and “</span>” tag that is to be displayed as writing. This span tag references the JavaScript code within the “<script> and </script> tags. This JavaScript code determines the current date is the day/month/year format, which may then be determined to be writing within the “<p>” tag and “</p>” tag. Other elements, such as the tags themselves and other code and metadata, may be characterised, based on the stored list of elements and set of rules, as other data, and may be extracted and stored as a string or strings such in database.
It will be appreciated the process of extracting writing as described in relation to
In each case, the processing results in the extraction of certain elements of the file or file output as writing, and other elements as other data. The writing normally corresponds to the elements of the file that are apparent and legible to the viewer of the file when the file is processed and rendered on a display using a suitable viewer executable. This is achieved by the reference to the stored list of elements and set of rules configured for extracting writing from a given type or configuration of file and/or agreement.
A method of digitally signing a document will now be described in relation to
At 602, the server 100 may receive an unsigned document from a signee device 200. A user operating the signee 200 may have manually produced the unsigned document using, for example, word processing software. Alternatively, the user may obtain the document from another source, for example, the internet. The obtained document may be a complete document, or it may be uncompleted, and completed on the signee device. Tye user of the signee device 200 may have uploaded the file to the server via the browser.
At 604 the server 100 may process the document to extract the writing. The document may be processed in accordance with a set of rule. For example, the raw document may include code for the purposes of rendering the document. This code is not viewable when the document is rendered and therefore it may be disregarded when extracting the writing from document. The process used to extract the writing from the document may be similar to that described in relation to
At 606, the extracted writing may be transmitted from the server 100 to the signee device 200 and may be transmitted to the witness device 300.
At 608, the server 100 may generate a hash of the extracted writing. The hash may be generated using a hashing algorithm. Further, additional data be added when generating the hash, resulting in a ‘salted’ hash.
At 610, the hash may be transmitted from the server 100 to the signee device 200 and may also be transmitted to the witness device 300.
Here, the signee and the witness devices may be operated, as will be explained below, by the signee and witness users thereof, to give effect to the signing of the documents, or more specifically the writing extracted therefrom, using for example the web service, by using suitable electronic means to give their assent thereto.
A user of the signee device 200, the signee, may have an associated public/private key pair. The private key may only be known to the signee, whereas the public key may publically known. The public key may be used to verify files generated using the private key.
At 612, the server 100 may generate a signee security stamp. The signee security stamp may be based on a combination of the signee's private key and the generated hash.
The signing/witnessing of the document by the application thereto of the signee/witness security stamp may be effected by the signee and witness users of the signee and witness devices instructing the server 100, having securely signed in to the web service provided thereby using suitable credentials, to apply said stamp to the document using that user's private key, which may be securely held by the server 100. Alternatively, the signee or witness may carry a smart card which securely holds the user's private key, and the signee and witness may give effect to the application of the signee and witness security stamp respectively locally at the signee and witness devices using the smart cards held in their possession. The user may be required to input a security code or other security mechanisms may be used to give effect to the application of the appropriate security stamp. In the example shown in
At 614, the signee security stamp may be transmitted from the server 100 to the signee device 200 and may also be transmitted to the witness device 300.
At 616, the unsigned document may be updated to include the generated signee security stamp. The signee security stamp may be include in the document represented as a hexadecimal text string, or any other means or representing the stamp, such as QR code.
At step 618, the updated document may be transmitted from the server 100 to the signee device 200 and may also be transmitted to the witness device 300.
The signing of legal documents sometimes are required to be witnessed by a third party. This in turn requires a signature on the document by the witness. It will now be described how witness may digitally sign a legal document.
A user of the witness device 300, the witness, may have an associated public/private key pair. The private key may only be known to the witness, whereas the public key may publically known. The public key may be used to verify files generated using the private key.
At 620, the server 100 may generate a witness security stamp. The witness security stamp may be based on a combination of the signee's private key and the generated hash.
At 622, the witness security stamp may be transmitted from the server 100 to the signee device 200 and may also be transmitted to the witness device 300.
At 624, the unsigned document may be updated to include the generated witness security stamp. The signee security stamp may be include in the document represented as a hexadecimal text string, or any other means or representing the stamp, such as QR code.
It will be appreciated that the transmission of the extracted writing, the hash, the signee security stamp, the updated document and the witness security stamp may not necessarily be transmitted to the signee device 200 or witness device 300. For example, only the updated document may be transmitted. Alternatively, the updated document, the extracted writing, the hash, and the witness security stamp may all be sent at once, or in different combinations with one another.
In some embodiments, the following additional and optional steps may also be performed. The server 100, may generate a randomness metric indicative of the randomness of the writing. The randomness metric may also be used to generate the signee security stamp and/or the witness security stamp. Further, the document may be updated to include the randomness metric and/or the hash. The server 100 may also generate a locality sensitive hash base on the writing. The locality sensitive hash may also be used to generate the signee/witness security stamp.
The functionality of the witness device 300 will now be described in more detail. If a witness is physically in the same place as the signee, in one embodiment, the witness may manually record the hash of the file. The witness may write this down for example. Alternatively, the signee device may display a partial version of the hash. The signee device may further prompt the signee to enter contact details of the witness, for example, an email address. The witness may then be contacted to witness the document on the witness device 300.
On the witness device 300, the witness may be prompted to enter the hash or partial version of the hash corresponding to the document they witness being signed by the signee. If the correct hash or partial hash is entered, it may be verified that the witness is signing the same writing as that of the signee.
The facilitation of a witness device also allows for a remote-witness, i.e. a witness not physically in the same place as the user. In this situation, the witness may witness the signee signing the document over a live audio/video transmission and then add their own witness security stamp. Alternatively, the witness may be able to prevent the signee signing the document until they are satisfied with the signee. For example, verifying their identity and checking they are not under duress.
In a further embodiment, as part of the signing process, the signee security stamp and the witness security stamp may be added to a block chain. A third part would therefore be in a position to independently verify that a legal document has been signed by inspecting the block chain.
The verification device 400 may be used to verify the authenticity of a security stamp. A verifier may input a signed document onto a verification device. The verification device may then extract writing, and generate a hash and security stamp to be verified. These may then be compared with the original signed document on the server 100. The server may then generate a value indicative of the difference between the original writing and the second writing. Further, if a locality sensitive hash has been used, a value indicative of the difference between the hashes may be used. This may allow a verifier to judge how close a document to be verified is against an original.
Further, it will be appreciated that the aforementioned steps may not all be performed on the server, but may be performed by the signee device 200, or another third party device. For example, the writing may be extracted on the signee device 200 and then transmitted to the server 100.
A process of generating a randomness metric will now be described in relation to
As an example, if you have a message “Rob owes Dave £100” with cryptographic security stamp “123456” signed by Rob, and you want to use a collision attack to fraudulently claim that Rob in fact signed a message that says “Rob owes Dave £1000” in theory you could do this by adding random numbers to the message, and cycling through them until you get a cryptographic security stamp the same as the original message—e.g. “Rob owes Dave £10,000 bGvkwl449nc29linu”. To detect and avoid an attempted collision attack, reference to a Lexicon is used to determine a randomness metric. In this approach, the first message has 12 characters in 19 which are in a Lexicon. The second message has 12 characters in 39 which are in the same Lexicon. Wherever a document has the same cryptographic security stamps or hashes, but the randomness metric does not agree, it is likely that a collision attack has been attempted. Referring now to
At 706, the randomness metric is generated by evaluating the proportion of writing which appears in the lexicon.
At 708, the generated randomness metric may be compared with that of a predetermined threshold. If the randomness metric is above the threshold, it may be judged that it is actually writing. If the randomness metric is below the threshold, it may be judged that it is not writing, and includes a high amount of what appears to be random data.
Throughout the description and claims of this specification, the words “comprise” and “contain” and variations of them mean “including but not limited to”, and they are not intended to (and do not) exclude other moieties, additives, components, integers or steps. Throughout the description and claims of this specification, the singular encompasses the plural unless the context otherwise requires. In particular, where the indefinite article is used, the specification is to be understood as contemplating plurality as well as singularity, unless the context requires otherwise.
Features, integers or characteristics, described in conjunction with a particular aspect, embodiment or example of the invention are to be understood to be applicable to any other aspect, embodiment or example described herein unless incompatible therewith. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
Number | Date | Country | Kind |
---|---|---|---|
1618387.3 | Oct 2016 | GB | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB2017/053273 | 10/31/2017 | WO | 00 |