WO2014165925A1 - Procédé et système de transfert et confirmation sécurisés de la propriété de séquences numériques - Google Patents
Procédé et système de transfert et confirmation sécurisés de la propriété de séquences numériques Download PDFInfo
- Publication number
- WO2014165925A1 WO2014165925A1 PCT/AU2014/000402 AU2014000402W WO2014165925A1 WO 2014165925 A1 WO2014165925 A1 WO 2014165925A1 AU 2014000402 W AU2014000402 W AU 2014000402W WO 2014165925 A1 WO2014165925 A1 WO 2014165925A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- owner
- hash
- record
- transfer
- sequence
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Definitions
- the present invention relates to secure transfer of digital sequences.
- a digital sequence such as a sequence of letters and numbers of a certain length, can be used to represent other digital data or any real or virtual object that has value for its owner and others.
- the value of a digital sequence is determined by the value of the underlying object. Since a digital sequence represents another object or data, the transfer of ownership of digital sequence becomes equi valent to transferring ownership of the underlying ob ject or data. For this to happen the digital sequence issuer must guarantee a permanent and unbreakable bond between digital sequence ownership and the right to own the underlying object or data. In some cases the digital sequence can be used as a form of online currency.
- the complexity of the task is dynamically adjusted so that on average it takes approximately 10 minutes to sol ve.
- Ever Bitcoin server tries to solve the task, so 10 minutes of solving represents the efforts of many Bitcoin servers.
- Bitcoin uses a public key cryptography based approach for linking transaction records which can in principle be compromised.
- a method for generating the next set of ⁇ ? published records from a published record in transaction system for recording ownership of a digital sequence the published record has a first owner of the digital sequence, and after publishing the N"' record the digital sequence is owned by a second owner, the published record having a first set of N transfer hash values known to the first owner, and the published record comprises at least a record number field, the digital sequence, a transfer hash field, and owner hash fields, wherein /Vis at least one, the record number field has a value selected from an ordered sequence, and for each of N first owner hashes in the N owne hash fields, the f h first owner has was generated from a hash based on the ' record number in the next N ordered sequence of record numbers after the first record number, the digital sequence, and the ' 1 transfer hash in the first set of " N transfer hash values, the method comprising;
- each second owner hashes are generated from a hash function provided with an input based upon a record number in the next 2N ordered sequence .of record numbers after the first record number, the digi tal sequence, and one of the transfer hash values in the second set of N transfer hash values;
- first owner hashes associated with the * transfer hash to the second owner, and upon receipt the second owner initiates publishing of a record comprised of at lea st the next record number in the ordered sequence of record numbers, the digital sequence, the ' transfer hash in the first set of N transfer hash values and the N- i first owner hashes received from the first owner, and ./ second owner hashes generated by the second Owner,
- the step of generating at least " ⁇ -i i second owner hashes is performed recursively, recursively generated by a hash function provided with an input based upon a record number in the next 2N ordered sequence of record numbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of N transfer hash values.
- the step of generating at least ⁇ fL, i second owner hashes comprise generating 0;, : .. 0;V;A ! ' using O / - hash(N;»./ s DN, 0 /+ .j / ⁇
- hash is a hash function
- hash is the t+1 record number in the ordered sequence of record numbers after the record number in the publ ished record
- DN is the digital sequence
- the second set of N transfer hash values are Qx .,;. .. Osv.» and act as base cases which terminate the recursion of the hash function.
- the has function is selected from the group comprising MD5, SHA- 1 , SHA-2 and SHA-3,
- the record is published in a distributed network of nodes.
- the published record further comprises a data field for storing data associated with the digital sequence.
- the step of obtaining, by the second owner, a second set of N transfer hash values are each obtained by taking a hash func tion of a passphrase known to the second owner.
- the first set of N transfer hash values is generated by the first owner by taking a hash function of a passphrase known to the first owner.
- j 00171 in a further aspect, the first owner and the second owner are the same owner.
- the second owner verifies ownership by publishing at least one further record, the further record comprising at least one hash value used to generate a hash value in the preceding record.
- tire next record comprises ' the next record number in the record number field, the digital sequence, the transfer hash value used to generate the first owner hash field of the current record, and ./Vowner hash fields comprising the N- generating hash values and the new owner hash value.
- the method further comprises repeating the method to generate a further N-l records, wherein in each further record a further new owner hash value is generated based upon a further new transfer hash value.
- the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and further comprises sending the new owner hash value to the first owner, and the step of obtaining the transfer hash value, obtaining the ⁇ ' -1 generating hash values, and publishing the next record is performed by the first owner, wherein for each further record, the AW generating hash values are obtained from the first owner and i generating hash values are obtained from the second owner.
- the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and the step of obtaining the transfer hash value is performed by the first owner.
- generating a new owner hash value is performed by a second owner by taking a has function of a passphrase known to the? second owner, and the step of obtaining the transfer hash value is performed by the first owner by taking hash function of a passphrase known to the first owner.
- the first owner and the second owner are the same owner.
- an apparatus comprising:
- a memory operatively coupled to the at least one processor and comprising instructions for causing a processor to perform any of the above methods.
- a system comprising a plurality of networked computer nodes, each networked node comprising at least one processor, and a memory operative iy coupled to the at least one processor and comprising instructions for causing a processor to perform any of the above methods, and each of the computer nodes communicates with one or more other computer node to distribute the transaction history of a digital sequence throughout the system.
- Figure I is a diagram illustration of the process of transferring ownership of the digital sequence from a first owner to a second owner according to an embodiment
- Figure 2 is a schematic diagram of the process of generation of the fields in a first record which includes one additional transfer hash field according to an embodiment
- Figure 3 is a schematic diagram of the process of publishing and transfer of ownership of a digital sequence from a first to a second and to a third owner in system using one additional transfer field according to an embodiment
- Figure 4 is a schematic diagram of the records used in transferring o wnershi for the case where the transfer requires the new owner to generate one private key according to an embodiment
- Figure 5 is a schematic diagram of the records used in transferring ownership for the case where the transfer requires the new owner to generate two private keys according to an embodiment:
- Figure 6 is a schematic diagram of the records used in transferring ownership for the case where the transfer requires the new owner to generate three, private keys accordi ng to an: embodiment; j 0035 j
- Figure 7 is schematic diagram of a computing device according to an embodiment;
- Figure 8 is a schematic diagram of a network of nodes according to an embodiment
- Figure 9 is a flowchart of a method for generating the next set of /V published records from a published record in transaction system for recording ownership of a digital sequence according' to an embodiment
- Figure j Figure .10 i s a flowchart of a method for generating the next record from a current record in a transaction history of a system for recording ownership of a digital sequence.
- hash functions are one-way functions, which can take an input such as arbitrary binary or textual byte sequence (eg string of text), and generate a sequence of letters and numbers of a certain length (eg a fixed size bit string, sometimes referred to as a digest).
- Hash functions are one way functions in that the same input will always p oduce the same output hash value, but knowledge of the output hash value cannot be used to detennine the input to the hash function (or at least it is extremely difficult or computationally infeasible to do so, and in some cases may be impossible).
- hash function it is to be understood that this will include procedures, modules, executable code that implement an algorithm utilising a hash function to generate output having a hash format. Further a change to the input data to a hash function will, at least with an extremely high
- hash values are, to an extremely high probability, unique (ie it is extremely unlikely that two different inputs will generate the sam output hash value).
- the digital sequence is a sequence of letters and numbers of certain length. In some' embodiments it-may be a sequence produced by one way hash functions, or at least, have the appearance of the output of a one way hash function.
- the digital sequence can be used to represent other digital data or any real or virtual object that has value for its owner and others.
- Third parties ma assign a value to a digital sequence and thus it may be referred to as a Digital Note or DN, which reflects the similarities between a digital sequence and a bank note - specifically the inability to access a digital sequence (or DN) once ownership is passed on to another patty. For example, if a bank note is given to someone as payment for goods, it cannot be given again by the same person to someone else as another payment.
- a digital sequence must be unique within the system. This uniqueness can be achieved with the use one of the well-known and proven hash functions such as MD5, SHA-i , SHA-2, or SHA-3.
- hash values produced by the .D5, SHA-l, SHA-2 256 and SHA-2 512 hash functions from the word "Test" are, respectively:
- any other hash function including a custom one-way function can be used.
- the digital sequences may be used for a variet of other uses besides digital currency.
- a digital sequence may be used as a self-signing object to prove something happened at a particular time (eg an email was sent), or as proof of the content of digital object at a particular time (eg the content of an email or a message).
- the digital sequence may also be used to store reference information, such as a URL reference or P address, or any other data which can be changed in time but is well-defined at any moment in time.
- the digital sequence can be a sequence associated with or linked to a physical object, for example a serial number on a physical object, in which case the digital sequence can be used to prove ownership of a physical object.
- the digital sequence, along with a plurality of hash values which are used to establish ownership are published in a record.
- the record will include several fields. Some of the fields contain values produced by one way hash functions, or at least have the appearance or format of the output of a one way hash function.
- the record may also include additional data associated with the digital sequence (this may relate to the digital object, or it may be relate to the system itself).
- the system stores a transaction history for each digi tal sequence which is a sequence of linked records. Every record corresponds to a step in the transfer of ownership of a digital sequence (DN) from one party to another party. The number of steps in the transfer of ownership depends upon the number of pri vate keys used to generate the record.
- the private keys are hash values, or sequences having a format that matches the output format of a predefined hash function.
- the private keys may be generated by providing information to a hash function, such as a passphrase, other information known to the owner, or data easily locatahle by the owner which can be provided as input to the hash function. This avoids the need for the owner to remember or physically store long hash sequences which are produced by hash functions. Rather, all they need to remember is how the private keys (hashes) were generated.
- each record published in the sequence also includes at least one hash value obtained using a pri vate key of the ne owner.
- each published record contains previously private information used by the previous owner to generate a part ( eg a field) of the previous record, and information generated using pri vate informatio known only to the new owner.
- the each record except the last record is published using a combination of information (e fields) which was generated from, information known only to the current owner, and information (eg fields) which was generated from information known only to the (intended, or soon to be) new owner.
- the last record contains information which was generated from information known only to the (now) new owner, and does not contain any information which was generated from information known only to the previous owner. It does however include a previously private key (hash) of the previous owner.
- the records are thus constructed and linked in such a.
- the fields of a digital sequence record and one embodiment of the structure of the fields is described below in Table 1.
- the fields comprise a record number field, a digital sequence field (which may or may not be in hash format), a transfer hash field (hash format), one or more optional additional hash fields (hash format), an owner hash field (hash format), an optional system field for system tags, and an optional data field for data associated with the digital sequence.
- the record has one or more associated hash functions which are used to produce the hash values. That is a hash format is the format of the output produced by a predefined hash function. Typically, all fields having hash formats will use the same hash format (ie are generated using the same hash function), but some fields may use different hash functions and thus have different hash formats to other fields. Fo example, one hash function could be used to produce or define the format of the digital sequence field, and another ' hash function used to produce or define the format for the transfer hash field, optional additional hash fields, and the owner hash field.
- the hash is the value produced by a hash function. This typically has a binary format meaning that every byte of a hash can have value ranging from 0 to 255. In order to make those values readable by a human it is conventional to map them into printable characters, such as the ASCII character set and there are various different ways as to how this can be achieved.
- N based upon the value in the previous record
- Digital sequence which represents other real or virtual object or data. This may be a
- hashed value but does not need to be a hash.
- the transfer hash field (hash format) which is the private key (in hash format) of the
- Additional hash fields ⁇ ⁇ Gi G? ... ⁇ ] or owner (0) hash field, of the previous record.
- Additional hash fields (hash format; optional). Any number of optional additional generated values in hash format may be i ncluded and used for creating additional
- the can b recursively generated from one or more fields in the next record to be published.
- Owner hash field (hash format) representing the digital sequence owner. This is
- the private key may itself be generated using a hash of a passphrase known to the owner.
- Optional tags for storing internal system information could include a field to indicate the hash function used to generate or define the hash
- Optional data associated with the digital sequence This may be a website URL,
- the tratisfer hash fields, additional hash fields, and owner hash fields are related and will be collectively referred, to as ownership hash fields.
- ownership hash fields There will be ⁇ + ⁇ ownership fields in a record where Nis the number of private keys (transfer hash values) used to establish ownership. Note that the number of private keys Nis different to the record number field . To distinguish the two (if it is not apparent from the context) the number of private keys TV will be italicised.
- the ownership fields will be arranged in an ordered sequence., with the first field in the sequence being the transfer hash field and the last field in the sequence being the owner field.
- Figure 1 is a schematic illustration of the process of transferring ownership of the digital sequence from a first owner to a second owner ' accordmg to an embodiment and illustrates how the fields in three records 1 , 2 and 3 are generated and f inked according to an embodiment, in this embodiment, ⁇
- Figure 1 illustrates a first record .1 representing a published record owned by a first owner,
- the record includes a record number A3 ⁇ 4 in die ordered sequence of record numbers in the record field, the digi tal sequence (DN), the private key of the previous owne K 0 and the owner field Of .
- the owner field is the output hash value from a hash function 6 provided with an input sequence 4 comprising the next record number N s in the ordered sequence of record numbers, the digital sequence, and a private key Kj known to the first (current) owner, i.e.
- hash function implies an algorithm of collecting arguments and using a defined hash function to produce the output in predefined hash format.
- the three values can be combined into a single input sequence to the hash function such as concatenating the three fields and inserting a field separator such as a space. Variations may be used (eg different separators) and other data added to the input sequence provided the input sequence is consistency constructed for all records.
- Figure 1 also illustrates the process of transferring ownership of the digital sequence from a first owner to a second owner.
- the second owner calculates a. ew value for the owner field Q? using
- the private key K 2 can optionally be generated by providing a passphrase 7 known to the second owner to the hash fiinction 6. Once the second owner has generated the new value for the owner field ⁇ 3 ⁇ 4 this can be sent to the first owner.
- the first owner then initiates publishing of the next record using the next record number N t in the ordered sequence of record numbers, the digital sequence, the (previously) private key , and the owner field ( 3 ⁇ 4 provided by the new owner.
- This record is then publ ished in the transactio history of the digital sequence by the system.
- Figure 2 illustrates generation of the first record 1 which in this embodiment includes one additional transfer hash field.
- the record 1 includes a record number N 0 in the ordered sequence of record numbers in the record field, the digital sequence (DN), and the private key of the previous owner K (! .
- an additional hash field G t is included in the field prior to the owner field (1 ⁇ 4.
- the additional hash field Gi is the output hash value from a hash function 6 provided with an input sequence 4 comprising the next record number N ( in the ordered sequence of record numbers, the digital sequence, and a first private ke t known to the first owner.
- the owner field 0 5 is the output hash value from a hash function 6 provided with an input sequence 9 comprising the next record number t in the ordered sequence of record numbers, the. digital sequence, and the additional hash field G% which is to be included in the next record to be published.
- the additional hash field G 2 is provided to the first owner from the second owner as part of a transfer process.
- the additional hash, field G 2 is the output hash value from a hash function 6 provided with an input sequence 8 comprising the record number 2 which is two records along the ordered sequence of record numbers from the current published record number N 0 , the digital sequence DN, and a second pri vate key K 2 known to the second owner,
- Figure 3 illustrates publishing and transfer of ownership of a digital sequence from a first to a second to a third owner in a system using one additional transfer field.
- Time runs down the page.
- the records published at 5 time points tj ... t-j are indicated, along with the ownership status, of the digital sequence DN, At time ti the digital sequence is owned by Owner 1 ( ⁇ ).
- the record is published with the use of bash keys K f j and K J2 (ie first and second private hash values grouped in the upper dotted box) which were used to generate Gu and 0 !
- the transfer of the ownership in this embodiment is performed as a two stage process (as there are two private keys).
- the two stages are indicated by brackets ⁇ .
- the first stage comprises publishing a first updated record.
- the record number field comprises the next record number in the ordered sequence of record numbers
- the transfer hash field comprises a first private hash generated by the current owner
- the owner hash field comprises a hash calculated by the new owner using the published record and a third private hash generated by the new owner.
- the second stage comprises publishing a second updated record.
- the record number field comprises the next record number in the ordered sequenc of record number fields
- the transfer hash field comprises a second private hash generated by the current owner
- the owner hash field comprises a hash calculated by the new owner using the published record and a fourth private hash generated by the new ner.
- the method requires the current owner to reveal the first and second private hash value they used to obtain ownership, and the new owner generates a third and fourth private hash value which are used to generate the owner fields in the first and second records published as part of the transfer process.
- These hash values can be generated in any way, such as taking a hash of a passphrase. in one embodiment the passphrase is combined or concatenated with the digital sequence hash (DN) and the record number ( ), and a hash value of this string obtained. In this way the owner needs only to remember a passphrase, and when combined with information in the record a unique hash is generated.
- this hash is generated is only known to the owner providing enhanced security comparing to public key based systems which re aries the owner to securely store a private key. Further, the passphrase does not need to be very long and can be meaningful to the owner, and thus can easily be remembered by the owner and so does not need be written down or stored on a device.
- first stage comprises the new owner accessing the published record for the digital sequence to be transferred. They then generate an interim ownership transfer hash by applying a hashing function to a partial record comprising at least tire record number corresponding to the record number two positions ahead of the current record number, the digital sequence and the third private hash. The new owner then sends the generated interim ownership transfer hash to the current owner and a first updated record is published.
- the record number field comprises the next record number in the ordered sequence of record numbers
- the transfer hash field comprises the first private hash
- owner hash field comprises the interim ownership, transfer hash.
- the second stage of the transaction process is similar.
- the new owner accesses the updated published record for the digital sequence to be transferred. They then generate an ownership transfer hash by applying a hashing function to a partial record comprising at least the record number corresponding to the record numbe two positions ahead of the current record number, the digital sequence and the fourth private hash.
- a hashing function to a partial record comprising at least the record number corresponding to the record numbe two positions ahead of the current record number, the digital sequence and the fourth private hash.
- the same passphrase could be combined with the digital sequence and the updated (eg incremented) record number as this will generate a different hash value, as the value of the record number has changed.
- the new owner needs to know the future values of the record number which will be published. Th is is most easily achieved usin a sequential field, in which each subsequent record number is an increment (+1) of the previous value.
- the record numbers could be selected fro an ordered sequence of values, in this ease, the owner need only to define how many records in ad vance of the current record they need (eg. two records in advance) and can look up the value in the ordered sequence.
- the ownership fields in a record are recursively generated from fields in further records to be published.
- V private keys used to establish ownership there are N+l ownership fields in a record.
- the process of generating a new set of records, for example to transfer ownership, or to record a change in the object the digital sequence is representing ownership of, comprises publishing Nrecords.
- the transfer process comprises calculating the first A r rows of matrix O. As each row is calculated it is published within each record (with ownership transferring when the last row is published),
- the first column Oj 3 ⁇ 4 > comprises the private hash keys (hash transfer fields), with the first owners hash keys stored in rows L..N, and the second owners hash, keys stored in rows N+1.. N
- the first owner knows, or know how to calculate, the upper left hand entries of the matrix, as these are based upon the private keys known to the first user stored in the first column of the first Nrpws.
- the second owner needs to calculate the first A " rows of the last, column, starting with the first row Qi.A') and the entrie diagonally down and back to the first row. Once the value of the last column is obtained, the hash value is. provided to the first owner who initiates publishing of a record comprising information i the first row, along with the record number field, digital sequence field, and any other optional fields (thus reveals further elements of the upper left hand portion of the matrix). The second user then begins calculating the last col umn of the next row and the entries diagonally down and back to the first row. Once this is done the second owner provides the last column of the second row, and the second to last column of the second row which was obtained in the previous step (calculating the last column value of the first row).
- each figure the published records are shown with the optional tag and data fields [T, D] omitted.
- the first row of each figure (N 0 ) represents the most recently published record in the transaction history for the data sequence DN.
- The- elements of the matri O which is spread over several records, are outlined.
- a solid dark line represents the border between information provided by the first owner (abo ve and to the left of the dark line) and the elements to be calculated by the second owner during the transfer process, and based on private keys known to the second owner.
- the information provided by the first owner was obtained whe the first owner obtained ownership, and becomes published during the transfer of ownership.
- the dashed lines indicate the recursive chain of hash functions used to generate the ownership fields in the last column.
- Private keys in the first column are shown in bold font - the first .'V are known to the first owner and become revealed during publishing, the next JVknown to the second owner and are not required to be revealed until the second owner wishes to transfer the ownership to a new owner or to generate anew set of records whilst still retaining ownership.
- publishing a record comprises initiating publishing by transaction, system by providing trie required fields for building a record. This may be performed by an owner entering the information into a user interface, ft will also be realised that whilst information is provided by the second owne to the first owner so the first owner can publish the. information, these roles may be reversed. That is the first owner could provide transfer hash and N-i first owner hashes to the second owner, who combines with the / second owner hashes to generate the required information to enable publishing of the next record.
- An example set of hash calculations are illustrated in Table 2 below.
- the MD5 as the hash function, which produces binary output in which each byte has a value ranging from 0 to 255whic.h is mapped to a printable character to make them human readable (eg ASCII characters), m the following example below we use standard lower case hexadecimal representation without a hexadecimal prefix or postfix (e.g. 5a is used instead of 0x5a). has a decimal representation.
- the input- to the hash function is always a set of ASCII symbols even if it represents a. hash value produced earlier. For example 0x5a is hexadecimal representation of decimal value 90.
- the input to the hash function will be a string consisting of two ASCII symbols: '5' (ASCII code 35) and 'a' (ASCII code 61). Symbol is treated as a single delimiter with ASCII code 32. (space). TABLE 2
- HashC Example' b66068cf75e5acb6cflaf2adld0642 K
- Hash( 135+b66068cf75e5aeb6cf1af2adldO642 ed+ c31650e34686537Q20ee36190e71daSb) 6£ f7ae80e284cdd01845a9ec89£285£b
- Hash( 136+b66068c f75e5aeb6c f1a f2adld0642ed+ 3d81009a6cd9a27e5ee8043 24070dfb) c0d£337 f6643284c076a211ee95 f16bd
- Hash(N 2 +DN+G 2 ) Hash( 135+b66068cf75e5acb6cf1 f2adld0642ed+
- FIG. 9 is a flowchart of a method for generating the next set of A'published records from a published record in transaction system for recording ownership of a digi tal sequence according to an embodiment.
- the published record has a first owner of the digital sequence, and after publishing the ⁇ # ⁇ • record the digital sequence is owned by a second owner, the published record having a first set of N transfer bash values known to the first owner, and the published record comprises at least a record number field, the digital sequence, a transfer hash field, and owner hash fields, wherein ./Vis at least one, the record number field has a value selected from an ordered sequence, and for each of N first owner hashes in the N owner hash fields, the ⁇ " first owner hash was generated from a hash based on the f h record number in the next A/Ordered sequence of record numbers after the first record number, the digital sequence,, and the ' transfer hash in the first set of M transfer hash, values.
- the method has a first owner of
- owner hashes are generated from a hash function provided with an input based upon a record number in the next 2N ordered sequence of record numbers after the first record number, the digital sequence, and one of the transfer hash values in the second set of i ⁇ T transfer hash values-.
- the method further comprises, at step 2.16, progressively providing the £ / L t i second owner hashes to the first owner in N steps, wherein in the F' step, i second owner hashes are sent to the first owner, wherein, upon receipt of the I second owner hashes, the first owner publishes a record comprised of at least the next record number in the ordered sequence of record numbers, the digital sequence, the ' transfer hash in the first set of N transfer hash values, N-i first owner hashes, and the / second owner hashes sent by the second owner,
- the first owner sends the transfer hash in the first: set of N transfer hash values, and N-i first owner hashes associated with the * transfer hash to the second owner, and the second owner initiates publishing of a record comprised of at least the next record number in the ordered sequence of record numbers, the digital sequence, the f transfer hash in the first set of N transfer hash values and the N-i first owner hashes received from the first owner, and / second owner hashes generated by the second owner, wherein after the . h record is published all of the transfer hash values in the first set of N transfer hash values, and the published in the Npublished records.
- Verification of ownership can be performed by requiring the owner to demonstrate knowledge of the private keys used to generate the ownership keys displayed in a public record, by publishing a record or a new set of records .
- a user could be challenged to publish a new record, or a new set of records within a defined time period such as 1, 2, 5, 10, 15, 30, 60 minutes or even longer such as 1 day, o at a particular time.
- the defined time period is much less than the time period to crack a hash output (eg by brute force estimation or other means), and thus generation of records which reveal the hash keys used to generat them acts as de-facto proof of ownership.
- the owner could be required to publish a new record, or a new set of records which includes specific data or challenge information provided to the owner.
- ownership can established if the owner can generate and publish a new set of records with the challenge information included in the optional data field (Dj.
- a time limit can also be defined within which the records must be generated.
- the generation of a set of new published records can be used as proof of ownership.
- Publishing the next record in the sequence will reveal the previously hidden pri vate key in the transfer field, and the hashes in the owner hash fields which were used to generate the first owner fields in the published record. For example with reference to Figure 6, if the new owner had to establis ownership of record N 3 , they need only publish record N*, which contains 0« it 0 4i and 0 « used to generate 0 ; Qy, and Or? .
- a flow chart of a method 220 for generating the next record from a current record in a transaction history of a system for recording ownership of a digital sequence is shown in Figure 10.
- the current record comprises a plurali ty of fields: comprising at least a record number field, the digital sequence, a transfer hash field, and N owner hash fields, wherein Nis at least one.
- the method comprises, at step 222, generating a new owner hash value from a. hash function of an input based upon a new transfer hash value.
- obtaining the N-1 generating hash values used to generate the remaining N-l owner hash fields in the current record is shown in Figure 10.
- step 228 publishing the next record wherein the next record comprises the next record number in the record number field, the digital sequence, the transfer hash value used to generate the first owner hash field of the current record, and /V owner hash fields comprising the N ⁇ l generating hash values and the new owner hash value.
- This method could be used to verify ownership.
- N-1 which corresponds to the case where there arc no optional fields G
- step 226 is effectively omitted as Nl-i), and thus no further records need to be obtained (this is evident from Figure 4).
- the method call further comprise repeating the method to generate a further N-1 records, wherein in each further record a further new owner hash value is generated based upon a further new transfer hash value.
- This can be used to transfer ownership.
- the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and further comprises sending the new owner hash value to the first owner, and the step of obtaining the transfer hash value, obtaining the N-J.
- generating hash values, and publ ishing the next record(s) is performed by the first owner, wherein for each further record, the N-i generating hash values are obtained from the first owner and i generating hash values are obtained from the second owner.
- the digital sequence is owned by a first owner, and the step of generating a new owner hash value is performed by a second owner and the step of obtaining the transfer hash value(s) is performed by the first owner.
- generating a new owner hash value is performed by a second owner by taking a hash function of a passphrase known to the second owner, and the step of obtaining the transfer hash value(s) is performed by the first owner by takin a hash function of a passphrase known to the first owner.
- the first owner and the second owner are the same owner. This may be used in tile case where the owner wishes to record a change in data associated with the digital sequence. In this case publishing one new record is sufficient regardless of N.
- the preceding examples have generally referred to the generation of new sets of records to allow transfer of the digital sequence.
- the owner can initiate generation of a. new set of(iV records, whilst still retaining ownership. That is the first owner and second owner can be the same.
- This may be to create a record (or group of records) associated with a change in the object the digital sequence relates to, or to verify the content of a document or digital object at a point in time.
- an owner might send an email message and wish to record the time and content of the email
- the owner can take a hash of the email message and include this in the additional data, or use it to create a new digital sequence .
- the records will thus include the hash of the message, and publishing of the records can be time stamped by the system.
- the transaction history will store the hash of the message and the time the record was generated, and this information will be distributed throughout the network. If the user needs to verify the authenticity of a message, a hash of the message can be taken and compared with the hash in. the record. The owner of the record can then verify they are the owner.
- hash functions may be used. However, for ease of implementation, most embodiments will use only the same hash function for all fields. A default hash function will be selected during implementation. (eg one of MD5, SHA-1 , SHA-2 and SHA-3) and will be used in all transaction histories.
- An input format may be defined for the hash function., and a one or more input conversion functions can be implemented which combine fields to generate a suitable input for the hash function. These can insert: defined field separators or eon vert data to a specific data format (binary, hex, etc).
- Implementatio tags in a record may be used to signify the hash function used to generate the ownershi fields, or other fields. Give the recursi ve nature of the method the use of the same hash functio shnp!ifies implementation. It should also be noted that fields in a record may be arranged in any order, pro ided the ordering is used consistently for all records in a transaction history.
- the transaction system checks data supplied to the system by user (eg an owner). As data (fields) for a new record is submitted to the transaction system for publishing, the system (or components that receive the fields) perform data cheeking. This may be using hash functions and to cheek that tha fields in the current record were in fact generated by the supplied hash values. If there is a data inconsistency the data can be rejected and no new record is published until the correct data is submitted.
- a computer readable medium comprising instructions for causing a processor to perform the above method can be provided.
- an apparatus comprising at least one processor and a memory operativcly coupled to the at least one processor and comprising instructions for causing a processor to perform the method described herein can be provided.
- This can be a general purpose computer, a computer server, or some other computing device such as smart phone.
- An application with a user interface could be executed on the computer to manage storage of transaction histories, publishing of records, distributio of transaction histories, generation of hash values etc.
- the computer device could be a webserver (or a server) and the user interface could be via a web browser or a client application (eg an app on a smartphone).
- An embodiment of a computing device 100 is illustrated in Figure 7.
- a client server based system could be provided in which servers are used to store and publish transaction history- records, and client applications communicate with the servers to access transaction history records, generate hash values, and initiate publishing of new records, for example to transfer ownership or to record a change.
- Client applications could be provided which connect, to servers over http or https protocols.
- the elicnt applications could be pro ided as a web plugin, a smart phone application or app.
- a standalone system could also be provided which stores transaction histories and provides a user interface to access and publish records. When a new record is created on a server, the server can time stamp the records and then distribute the data to other nodes in the network. Time stamp data, and data identifying the server node the data was first entered on can be included in the record (in the additional data field), or the system can store and publish this information along with the transaction history,
- the system may be a computer implemented system comprising one or more computing de vices (or apparatus) each comprising a display device (optional for servers), a processor and a memory and an input device.
- the method may be performed by a single owner, or two owners on two computing devices which communicate with each other.
- the memory may comprise instructions to cause the processor to execute a method described herein, or relevant steps ' of the method, for example one sends information and the second device recei ves and processes the information.
- both owners access the same server, or alternative they may access separate severs of the system, which then communicate information to implement the method.
- the processor memory and display device may be included in a standard computing device, such as a desktop computer, a portable computing device such as a laptop computer, tablet or smart phone, or they may be included in a customised device or system.
- the computing device may be a unitary computing or programmable device, or a distributed device comprising several components operativcly (or functionally) connected via wired or wireless connections.
- An embodiment of a computin device 100 is illustrated in Figure 7 and comprises a central processing unit (CPU) 1 10, a memory 120, a display apparatus 30, and may include an input device 140 such as keyboard, moose, etc.
- the CPU 1 10 comprises an input/Output Interface 1 12, an Arithmetic and Logic Unit (ALU) 14 and a Control Unit and Program Counter element 1 16 which is in communication with input and output devices (eg input device 140 and displa apparatus 130) through the Input/Output interface.
- the Input Output Interface may comprise a network interface and/or communications module for communicating with an equivalent communications module in a user input device using a predefined communications protocol (eg Bluetooth, Zigbee, IEEE 802.15, IEEE 802.11, TCP/IP, UDP, etc).
- a graphical processing unit (GPU) may also be included.
- the display apparatus may comprise a flat screen display (eg LCD, LED, plasma, touch screen, etc), a projector, CRT, etc.
- the computing device may comprise a single CPU (core) or multiple CPU's (multiple core).
- the computing device may use a parallel processor, a vector processor, or be a distributed computing device.
- the memory is operatively coupled to the proeessor(s) and may comprise RAM and ROM components, and may be provided within or external to the device.
- the memory may be used to Store the operating system and additional software modules that can be loaded and executed by the processor(s).
- the system comprises a plurality of networked computer nodes, each networked node comprising at least one processor, and a memory operatively coupled to the at least one processor and comprising instructions for causing a processor to perform the method described herein can be provided.
- Each of the compute nodes can communicate with one or more other computer node to distribute the transaction history (published records) of a digital sequences throughout the system
- Figure 8 illustrates a network of nodes 201, 202, 203 , 204, 205 which publish and share transaction histories (ie datasets).
- the servers share informatio so each record is stored in. multiple nodes of the network to provide redundancy in. case of data corruption or loss of a node or nodes. This ensures that consistent datasets are shared between server nodes.
- Each node may be
- nodes may be controlled by different entities (these could be commercial competitors). However, whilst the nodes may be controlled by different entities, consistent data and interfaces can be shared between the nodes.
- Sever nodes can also be configured to automatically handle conflicts as they are detected (eg attempts to transfer the same record to different parties). For example, nodes can be given trust ratings by other nodes, and in the event of a. conflict the data from the more trusted server can be used. The more trusted node can then propagate its data through the network overriding any conflicting records. It is noted that the system is an open system - no private information (eg passphrases, private keys, digital signatures, or user information) are stored on the nodes, only the fully public records. Any private information (ie keys to generate a record) is retained by the individual owners (ie the users of the system).
- no private information eg passphrases, private keys, digital signatures, or user information
- the system described herein has a number of advantages over prior art systems.
- the use of linked records and a hash based system allows for the rapid transfer of sequences. Transfer can occur in seconds or less, as compared to 10 minutes with Bitcoin. Owners typically onl need to remember a relatively short passphrases used to generate the private keys (hashes), and do not have to store a wallet of digital signatures. Transactions and owners can remain anonymous if desired, although data in the optional data field can be used to identify owners if desired or required.
- the hash values (and other information) can be sent over open communication channels between the current owner and the new owner. Alternatively, a secure- communications channel could be used, or the data encrypted and sent over an open channel.
- the system can also be easily implemented as a web service (or other service) and does not require special client software to be installed on a. computin device.
- a simple: http web interface can be provided allowing users to access the system via a web browser or other application.
- the system and method described herein allow anybody to create a digital sequence (or digital object, or a digital sequence associated with/linked to a physical object) and/or securel transfer ownership to another party without risk of someone stealing or modifying the digital sequence. Transfer can be fully anonymous or owners can choose t reveal, identifying information.
- the system has application in many digital environments such as the issuance and tracking of financial instruments including derivatives; digital currencies and registration of any kinds of interests in an entity.
- the system can also be used to time stamp documents or verify documents.
- the digital sequences' data fields can be used to store infonnation to serve as an intermediary between users and other data. This feature allows for creation of 'floating' web sites which are impossible to block or for providin permanent storage for information leading to some other data.
- the digital sequence can be a sequence associated with or Jinked to a physical object, for example a serial number on a physical object, in which case the digital sequence can be used to prove ownership of a physical object.
- the system can be configured to use well known and trusted hash functions (although any hash functions can be used, provided it is used consistently for a set of records).
- the sys tem uses linked records which c ontain fields based on information known only to the owner to keep track of transaction history and for authenticating digital sequence owners. Transfer of ownershi is performed by the current owner gradually revealing previously hidden information used to generate the previous record, and the new owner gradually providing hash values known only to the new owner until all of the previously hidden information of the first owner is revealed.
- ASICs application specific integrated circuits
- DSPs digital signal, processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, microcontrollers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereo
- Software modules also known as computer programs, computer codes, or instructions, may contai a number a number of source code or object code segments or instructions, and may reside in any computer readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, hard disk, a removable disk, a CD- ROM, a DVD-ROM or any other form of computer readable medium, in
- the processor and the computer readable medium may reside i art ASIC or related device.
- the software codes may be stored in a memory unit and executed by a processor.
- the memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention concerne un système et un procédé qui donnent la possibilité de transférer de façon sécurisée la propriété de séquences numériques, ou d'en confirmer la propriété, sans qu'il soit nécessaire de faire confiance à une tierce partie, et sans risque que quiconque vole ou modifie la séquence numérique. Le système utilise des fonctions de hachage et des enregistrements liés pour créer un historique des transactions concernant une séquence numérique. La séquence numérique peut être utilisée pour représenter un autre objet numérique. Chaque enregistrement contient des champs générés à l'aide d'une ou plusieurs valeurs de hachage connues du propriétaire. Un propriétaire transfère la propriété en publiant un ou des enregistrements supplémentaires dans lesquels les valeurs de hachage sont révélées et le nouveau propriétaire insère des champs générés à l'aide d'une ou plusieurs valeurs de hachage connues du nouveau propriétaire. Un propriétaire peut démontrer la propriété en publiant un ou des enregistrements supplémentaires qui révèlent les valeurs de hachage utilisées pour générer des champs de l'enregistrement précédent.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013205125A AU2013205125B1 (en) | 2013-04-13 | 2013-04-13 | Method and system for the secure transfer and verification of ownership of digital sequences |
AU2013205125 | 2013-04-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014165925A1 true WO2014165925A1 (fr) | 2014-10-16 |
Family
ID=51386550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2014/000402 WO2014165925A1 (fr) | 2013-04-13 | 2014-04-11 | Procédé et système de transfert et confirmation sécurisés de la propriété de séquences numériques |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2013205125B1 (fr) |
WO (1) | WO2014165925A1 (fr) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851284A (zh) * | 2015-04-06 | 2018-03-27 | 比特记号公司 | 用于分散式所有权记录和鉴定的系统和方法 |
RU2673385C1 (ru) * | 2017-05-26 | 2018-11-26 | Максим Львович Лихвинцев | Способ управления документированием обмена данными в информационно-телекоммуникационной сети и удостоверяющая система электронной почты |
RU2703682C1 (ru) * | 2019-05-13 | 2019-10-21 | Акционерное общество "Конструкторское бюро приборостроения им. академика А.Г. Шипунова" | Способ документирования данных в многозадачной системе |
JP2020521373A (ja) * | 2017-05-22 | 2020-07-16 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 終了条件を用いたスマートコントラクトの複製 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807634B (zh) * | 2019-09-30 | 2022-08-02 | 中国人民解放军战略支援部队信息工程大学 | 基于Hasq哈希链与智能合约的二手票券交易方法和平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117806A2 (fr) * | 2005-05-04 | 2006-11-09 | Abdul Rahman Syed Ibrahim Abdu | Systeme de cles de cryptage produites bilateralement |
US20080149518A1 (en) * | 2006-07-26 | 2008-06-26 | Macor James J | Protection and authentication device for a collectable object |
US8229859B2 (en) * | 2007-04-19 | 2012-07-24 | Gideon Samid | Bit currency: transactional trust tools |
-
2013
- 2013-04-13 AU AU2013205125A patent/AU2013205125B1/en not_active Ceased
-
2014
- 2014-04-11 WO PCT/AU2014/000402 patent/WO2014165925A1/fr active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117806A2 (fr) * | 2005-05-04 | 2006-11-09 | Abdul Rahman Syed Ibrahim Abdu | Systeme de cles de cryptage produites bilateralement |
US20080149518A1 (en) * | 2006-07-26 | 2008-06-26 | Macor James J | Protection and authentication device for a collectable object |
US8229859B2 (en) * | 2007-04-19 | 2012-07-24 | Gideon Samid | Bit currency: transactional trust tools |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851284A (zh) * | 2015-04-06 | 2018-03-27 | 比特记号公司 | 用于分散式所有权记录和鉴定的系统和方法 |
EP3281171A4 (fr) * | 2015-04-06 | 2018-11-07 | Bitmark Inc. | Système et procédé d'enregistrement et d'authentification de titre décentralisé |
US11514441B2 (en) | 2015-04-06 | 2022-11-29 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
JP2020521373A (ja) * | 2017-05-22 | 2020-07-16 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 終了条件を用いたスマートコントラクトの複製 |
JP7071403B2 (ja) | 2017-05-22 | 2022-05-18 | エヌチェーン ホールディングス リミテッド | 終了条件を用いたスマートコントラクトの複製 |
RU2673385C1 (ru) * | 2017-05-26 | 2018-11-26 | Максим Львович Лихвинцев | Способ управления документированием обмена данными в информационно-телекоммуникационной сети и удостоверяющая система электронной почты |
RU2673385C9 (ru) * | 2017-05-26 | 2018-12-24 | Максим Львович Лихвинцев | Способ управления документированием обмена данными в информационно-телекоммуникационной сети и удостоверяющая система электронной почты |
RU2703682C1 (ru) * | 2019-05-13 | 2019-10-21 | Акционерное общество "Конструкторское бюро приборостроения им. академика А.Г. Шипунова" | Способ документирования данных в многозадачной системе |
Also Published As
Publication number | Publication date |
---|---|
AU2013205125B1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169877B (zh) | 经由对等网络存储、检索和通信数据的计算机实现的系统和方法 | |
CN108370318B (zh) | 用于使用数字签名的区块链变型的方法和系统 | |
EP3308280A2 (fr) | Élaboration de requêtes cryptographiques relatives à des données mémorisées à l'aide d'un système d'ancrage | |
WO2014165925A1 (fr) | Procédé et système de transfert et confirmation sécurisés de la propriété de séquences numériques | |
WO2020065460A1 (fr) | Système et procédé implémentés par ordinateur pour un transfert d'accès à une ressource numérique | |
JP2009530906A (ja) | コールサインを用いたエンドポイント検証 | |
CN110706100B (zh) | 一种保障隐私同时公开透明的区块链认证方法 | |
CN104935591A (zh) | 基于非对称身份的动态口令生成与验证方法 | |
Zhang et al. | Genuine and Secure Identity‐Based Public Audit for the Stored Data in Healthcare Cloud | |
TWI854899B (zh) | 用以基於證明驗證來認證資料饋入之電腦實施方法、運算系統及非暫時性電腦可讀儲存媒體 | |
JP2003169052A (ja) | デジタル署名システム | |
CN118199926A (zh) | 数据验证方法、验证装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14782472 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14782472 Country of ref document: EP Kind code of ref document: A1 |