WO2017135669A1 - 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 - Google Patents
파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 Download PDFInfo
- Publication number
- WO2017135669A1 WO2017135669A1 PCT/KR2017/001071 KR2017001071W WO2017135669A1 WO 2017135669 A1 WO2017135669 A1 WO 2017135669A1 KR 2017001071 W KR2017001071 W KR 2017001071W WO 2017135669 A1 WO2017135669 A1 WO 2017135669A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hash value
- specific
- server
- node
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/3242—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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention relates to a method and a server for providing a battery service for a file and performing verification on a file recorded using the battery service, and more specifically, (i) a battery for a specific file.
- a service request is obtained, a message digest of the specific file is generated using a hash function, and if a predetermined condition is satisfied, a specific hash value-the specific hash value is a private key of the specific user and the Is a hash value for the result encoded by the server's private key-a " no " that registers a first representative hash value generated by calculating at least one neighboring hash value matching or a processed value of the first representative hash value in a database.
- a method and server are provided for providing a battery service for performing a “verification process” which determines that this has been done, and performing verification of a file recorded using the battery service.
- Notarization is the act of publicly proving the existence or content of a particular fact or legal relationship.
- the notary public prepares the certificate in a certain way and signs it and keeps it in the notary office.
- the conventional notarization method is a method in which a sponsor notarizes a notary by directly visiting a notary office with a document to be notarized, and the notary office stores the certificate in a document storage, so it takes a long time and space to receive a notary.
- a sponsor notarizes a notary by directly visiting a notary office with a document to be notarized, and the notary office stores the certificate in a document storage, so it takes a long time and space to receive a notary.
- the present invention aims to solve all the above-mentioned problems.
- the present invention provides a file notarization service that can perform notarization and verification in real time by recording the notarization information on the blockchain of the virtual currency, it is possible to ensure a fast service speed and to reduce the transaction cost It is done.
- the present invention instead of uploading all the battery service information on the blockchain to form a Merkle tree to register only the root value of the configured Merkle tree in the blockchain to improve the speed of the notary service and reduce the transaction cost It is another thing that can be done.
- Another object of the present invention is to further ensure the integrity of the database by performing verification using the Merkle tree generated as described above when requesting verification of a file.
- a method for providing a notary service for a file (a) if a request for a service of a service for a specific file is obtained, the server uses the hash function to specify the specific file. And generating (b) generating a message digest of the message digest, and (b) if a predetermined condition is satisfied, the server determines a specific hash value-the specific hash value is a private key of a specific user and the server for the message digest. And a hash value for the result of encoding the private key of the method, comprising: registering or registering a representative hash value generated by calculating at least one neighboring hash value matching or a processed value of the representative hash value in a database.
- a method is provided.
- a method of performing verification on a file recorded using a notary service comprising: (a) when a server receives a request for a battery service for a specific file; At least one matched under a predetermined condition with a specific hash value, the first specific hash value being a hash value for a result of encoding a message digest of the specific file into a private key of a specific user and a private key of the server; Acquiring, by the server, a verification request associated with the specific file, while registering a first representative hash value generated by calculating a neighbor hash value of or a value obtained by processing the first representative hash value in a database; (b) a second representative hash value or a value obtained by processing the second representative hash value generated by using the input data included in the verification request is stored in the database.
- the server includes a method of supporting or determining that
- a server providing a notary service for a file
- the server comprising: a communication unit for obtaining a service request for a specific file; (i) a request for a battery service for the specific file; Is obtained, supports generating or generating a message digest of the specific file using a hash function, and (ii) if a predetermined condition is satisfied, a specific hash value-the specific hash value is a specific user for the message digest.
- a server is provided that includes a processor that assists the user.
- a server for performing verification on a recorded file using a notary service comprising: a communication unit for obtaining a verification request associated with a specific file;
- a first specific hash value When receiving a service request for a file, a first specific hash value-The first specific hash value is a result of encoding a private key of a specific user and a private key of the server for message digest of the specific file.
- Is a hash value, and a first representative hash value generated by calculating at least one neighboring hash value matched under a predetermined condition or a value obtained by processing the first representative hash value is registered in a database.
- a processor that supports or determines that the verification related to the specific file has been performed when the processed value of the shsh corresponds to the processed value of the first representative hash value or the first representative hash value registered in the database.
- a server is provided.
- the present invention provides a file notarization system capable of performing notarization and verification in real time by recording notarization information in a blockchain of a virtual currency, thereby ensuring fast service speed and reducing transaction costs.
- the present invention instead of uploading all the battery service information on the blockchain to form a Merkle tree to register only the root value of the configured Merkle tree in the blockchain to improve the speed of the notary service and reduce the transaction cost It can be effective.
- the present invention has an effect of more ensuring the integrity of the database by performing the verification using the Merkle tree generated as described above when the verification request for the file.
- FIG. 1 is a block diagram illustrating a configuration of a server that provides a battery service for a file according to an embodiment of the present invention and performs verification on a file recorded using the battery service.
- FIG. 2 is a sequence diagram illustrating a process of performing a battery service for a file according to a request of a single user.
- 3 and 4 are diagrams showing examples of the Merkle tree generated according to one embodiment of the present invention.
- FIG. 5 is a sequence diagram illustrating a process of performing a verification service on a file according to a request of a single user.
- FIG. 6 is a sequence diagram illustrating a parallel signing process of performing a service in parallel with a request for multiple service users.
- FIG. 7 is a sequence diagram illustrating a serial signing process of sequentially performing a service for a multi-user battery service request.
- FIG. 8 is a sequence diagram illustrating a process of performing verification on a notarized file when notarization is performed by multiple user signatures.
- FIG. 1 is a block diagram illustrating a configuration of a server that provides a battery service for a file and performs verification on a file recorded using the battery service, according to an embodiment of the present invention.
- FIG. Sequence diagram illustrating a process of performing a battery service for a file according to a user's request.
- PubX Public key of X
- AESX AES secret key of X
- Enc PrivX (Y) Output of encryption of Y using PrivX
- Hash (Y) Hash value of Y
- a server 100 performing a battery service for a file includes a communication unit 110 and a processor 120.
- the server described in each embodiment may be configured differently, but for convenience of description, it will be described that the service is provided through the same server 100.
- the communication unit 110 is a configuration for transmitting and receiving data to a specific user (or user terminal), the database 200.
- the communication unit 110 may obtain a battery service request for a specific file (S210).
- a specific file and a public key (PubU) of the specific user who made the service request may be obtained.
- the communication unit 110 may respond to this (S220), and the response corresponding to the request may be made during one TCP session.
- MD Hash (File)
- the type of hash function is not limited here.
- the hash function may be triple sha256.
- the hash function generally means a function for transforming an original file, but in extreme cases, the hash function may include a function for simply storing the file without any processing.
- the message digest generated by applying the hash function may be identical to a specific file.
- the generated message digest may be delivered to a specific user who has made a request for a battery service for a specific file in response to the request for a battery service for the specific file. If the specific user requests a service service for a specific file through a user terminal (not shown), the generated message digest may be transmitted to the user terminal.
- the communication unit 110 may obtain a message digest (EncPrivU (MD)) encoded with the private key (PrivU) of the specific user from the specific user (S225).
- a message digest and a public key (PubU) of a specific user may also be received from the specific user.
- the description is based on the expression (EncPriv (MD), EncPub (MD)) encoding MD using a private key or a public key, but this can be replaced with SigPriv (File) and SigPub (File). have.
- the message digest is generated more than once, it may be represented as SigPriv (MD), SigPub (MD).
- the processor 120 obtains a message digest encoded with the private key of the specific user, and decodes the message digest encoded with the private key of the specific user into the public key of the specific user (A, DecPubU (EncPrivU ( If MD))) and the generated message digest (B, MD) match (S230-2), a hash value of the message digest encoded with the private key of the specific user and the private key (PrivC) of the server 100 is obtained. It may support to generate or generate (S240), and may support to register or register the generated hash value in the database 200 (S250). The reason for registering in the database 200 in the form of a hash value is to reduce the size of data due to the storage capacity limitation of the database 200.
- the database 200 may be a blockchain of virtual currency. For example, it may be a bitcoin blockchain.
- the processor 120 may generate a hash value of the message digest encoded in the order of the private key of the specific user and the private key of the server 100 (Hash [EncPrivC (EncPrivU (MD)). ))]) May be registered in the database 200 or may be supported to register. That is, a specific user (client) signs first with his private key, and a notary public (server) signs with the private key of the server 100, and then registers the hash value in the database 200.
- the order of signatures may be implemented differently. In particular, if a session is maintained between a particular user and the server 100, the server 100 may be implemented to sign first and then to sign the next user.
- the communication unit 110 may determine the registration of the registered hash value from the database 200.
- a transaction ID (TxID) indicating location information on the database 200 may be obtained (S255).
- processor 120 may transmit a registration failure response to a specific user because the specific user is not a person (eg, a party) associated with the specific file. It may be (S235).
- the processor 120 may support to store or store the specific file (S245).
- the specific file may be encrypted using a symmetric key encryption algorithm such as AES (Advanced Encryption Standard).
- the secret key may be a specific secret key processed from the user's public key, but is not limited thereto.
- the processor 120 may include a public key (PubU) of a specific user, a message digest (MD) of the specific file, a message digest (PrivU (MD)) encoded with the private key of the specific user, and the obtained transaction ID (TxID). Can be saved or supported to save.
- the message digest (EncPrivC (EncPrivU (MD))) encoded in the order of the private key of the specific user, the private key of the server 100, and the hash value of the encoded message digest (Hash [EncPrivC (EncPrivU ( MD))]) may be further saved or supported.
- the communication unit 110 may transmit a response indicating that the registration is successful to a specific user (S260).
- a notarization system that can guarantee a fast service speed and reduce costs by supplementing the advantages of the notary system, which can not be forged / modulated and can be used in real time, can be supplemented.
- a notary system uses a separate data structure managed by the server 100.
- the processor 120 may support generating or digesting a message digest of the specific file by using the hash function when the battery service request for the specific file is obtained by the communication unit 110. Since this has been described in detail in the above-described embodiment, redundant description will be omitted.
- the notional service for a specific file may be a notary service for the specific file or a revocation service for the specific file.
- the processor 120 determines a specific hash value-the specific hash value is a result of encoding the private key of the specific user and the private key of the server 100 with respect to the message digest. And a hash value generated by calculating at least one neighbor hash value matching the hash value, or a processed value of the representative hash value. That is, instead of registering the hash value for the result of encoding the private key (PrivU) of the specific user and the private key (PrivC) of the server 100 as in step S240 of the above-described embodiment, the processor 120 does not register the hash value in the database.
- a hash value and a at least one neighboring hash value for the result of encoding the private key (PrivU) of the specific user and the private key (PrivC) of the server 100 are calculated to represent the representative hash value. It can support to generate or create a, and to register or register the generated representative hash value or the processed value in the database.
- the database may be a database (for example, a blockchain of virtual currency) that is not managed by the server 100, such as the database 200 described above, but may be a database managed by the server 100. have.
- a description will be made of a database 200 that is not managed by the server 100, but the technical spirit of the present invention may be applied to a database managed by the server 100.
- a particular hash value is denoted by input and at least one neighboring hash value is represented by x1, x2,...
- the representative hash value t can be expressed as the following equation.
- the server 100 may store and manage the specific hash value and the at least one neighboring hash value in a predetermined data structure.
- the data structure may vary, for example, may be a merkel tree structure.
- the calculation of the specific hash value and at least one neighbor hash value may be performed through a merkel tree.
- the processor 120 may support to generate or generate a merkle tree in which the specific hash value is assigned to a specific leaf node, and if the predetermined condition is satisfied, at least one matching the specific hash value.
- a hash value assigned to another leaf node of a may be calculated to register or support registration in the database 200.
- the processor 120 supports (i) calculating or calculating a hash value assigned to a sibling node of a node to which the specific hash value and (ii) the specific hash value is assigned, A hash value for the operation value may be allocated to or assigned to a parent node of the node.
- the processor 120 If the parent node is the root node of the Merkle tree, the hash value assigned to the parent node becomes the representative hash value.
- the processor 120 repeats (x1) to (x3) by using the hash value assigned to the parent node as the specific hash value. Perform.
- the processor 120 supports registering or registering the hash value finally assigned to the root node of the Merkle tree as the representative hash value in the database 200. At this time, a value obtained by processing the representative hash value may be registered. For example, the result of performing the hex operation may be registered in the representative hash value.
- the server 100 stores the specific hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure.
- the first data structure and the second data structure may be connected in a chain form.
- the root value of the first data structure or the hash value of the root value is the first leaf node of the second data structure.
- data integrity may be more guaranteed by verifying the first data structure.
- the verification of the second data structure will be described later.
- the first leaf node of the first Merkle tree may be assigned a hash value or a processed value of predetermined message data consisting of text, numbers, or symbols. Can be.
- a hash value of an input message initially given by the server 100 may be assigned when generating the merkle tree.
- 3 and 4 are diagrams showing examples of the Merkle tree generated according to one embodiment of the present invention.
- the processor 120 When there is a battery service request for a specific file, the processor 120 generates the next leaf node of the last leaf node of the Merkle tree currently being configured to assign or assign a specific hash value or a machined value of the specific hash value. Support. For example, in the merkle tree of FIG.
- the processor 120 may support to calculate or compute a hash value assigned to (i) a specific hash value and (ii) a h3 node that is a sibling node of a h2 node that is the third leaf node to which the specific hash value is assigned.
- the hash value for the operation value is assigned to the parent node (h23 node) of the h2 node and the h3 node.
- the processor 120 may repeat the process by using the hash value assigned to the h23 node as the specific hash value. That is, the hash value assigned to the h23 node can be used as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node can be calculated and assigned to the parent node (h0123 node) of the h23 node and the h01 node. have.
- the processor 120 may register or register a value (hex (h ⁇ node_index ⁇ )) of the hash value allocated to the h0123 node in the database 200. .
- the above-mentioned predetermined conditions are (i) a condition in which a plurality of battery service requests are made and message digests are obtained by a predetermined number, (ii) a condition in which a predetermined time elapses, and (iii) a block is generated in the blockchain. And (iv) at least one of conditions for a user characteristic of making a request for a battery service.
- the hash value may be an input value (value assigned to the leaf node) of the aforementioned merkle tree.
- the processor 120 may generate the root value of the aforementioned Merkle tree in predetermined time units (condition (ii) above). In this case, when a predetermined time elapses, the processor 120 may generate a Merkle tree using an input value up to that time and register or register the root value of the Merkle tree in the database 200.
- a value may not be assigned to a sibling node of a node to which a specific hash value of the Merkle tree is assigned even after a predetermined time has elapsed.
- the processor 120 supports to assign or assign a predetermined hash value to the sibling node.
- the root value of the Merkle tree can be calculated.
- the processor 120 may duplicate the specific hash value and assign or assign the sibling node to the sibling node.
- the characteristics of the user who requested the battery service include at least one of cost information paid by the user who requested the battery service request, time zone information for the battery service, region information for the battery service, and user type information for the request for the battery service. It can be part of it. However, the present invention is not limited to the above description and includes various condition information in which a generally accepted differential service can be provided.
- the processor 120 determines whether the predetermined message data is allocated to the first leaf node and the second leaf node.
- the tree may be generated or generated, and the root value or the processed value of the merkle tree may be registered or registered in the database 200. In this case, a two leaf node Merkle tree can be created.
- the server 100 stores the specific hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores a second data structure having the same form as the first data structure.
- the first data structure and the second data structure may be connected in a chain form.
- a root value of the first data structure or a hash value of the root value may be assigned to the first leaf node of the second data structure.
- FIG. 4 illustrates a Merkle tree generated as the second data structure according to an embodiment of the present invention.
- the present invention has an advantage of improving data integrity by easily tracking even when data is tampered with by connecting a plurality of data structures generated when a transaction occurs.
- the verification described herein may be requested by a party or a third party, and may be divided into a case of using a separate data structure managed by the server 100 and a case of not. In terms of terms, both audit and verification can be used. First, a case of not using a separate data structure managed by the server 100 will be described first.
- the verification of the file may be performed by a separate device that may refer to the information of the server 100 described above, or may be performed by the server 100 described above.
- a separate device may refer to the information of the server 100 described above, or may be performed by the server 100 described above.
- description will be made on the premise that the file is verified by the server 100 described above.
- FIG. 5 is a sequence diagram illustrating a process of performing a verification service on a file according to a request of a single user.
- the communication unit 110 may obtain a verification request for a specific file (S510). As shown in FIG. 5, when a verification request for a specific file is obtained, a specific file and a public key PubU of a specific user who has made a verification request may be obtained. The communication unit 110 may respond to this, and a response corresponding to the request may be made during one TCP session.
- the processor 120 detects that the person associated with the specific file is a specific user, so that the private key of the specific user and the server ( When the hash value of the message digest encoded with the private key of 100) is stored in the database 200 and is managed by receiving a transaction ID, when a verification request for the specific file is obtained, the message digest (MD) of the specific file is obtained. ) And a transaction ID corresponding to at least one of the public key of the specific user.
- the transaction ID (TxID) may be stored in the server 100 or a device that the server 100 can refer to.
- the communication unit 110 may transmit a verification failure message to the specific user (S525). ).
- the communication unit 110 queries the database 200 using the transaction ID (TxID) (S525).
- TxID transaction ID
- an OP message including a hash value of a message digest encoded with the private key (PrivU) of the specific user and the private key (PrivC) of the server 100 may be obtained.
- the processor 120 may include a hash value of a value obtained by encoding the message digest of the specific file into the private key of the server 100 and the private key of the specific user, the private key of the specific user included in the OP message, and the server. If the hash value of the message digest encoded with the private key of 100 is the same, it may be determined that the specific file is verified or determined to be verified (S535).
- the value of encoding the message digest of the specific file into the private key of the server 100 and the private key of the specific user is a message digest of the specific file into the private key of the specific user and the private key of the server 100.
- the value may be sequentially encoded (Hash [EncPrivC (EncPrivU (MD))]).
- the processor 120 may include a hash value of a value X encoded from the message digest of the specific file into the private key of the server 100 and the private key of the specific user, and the specific user included in the OP message. Even if the hash value of the message digest encoded with the private key of the server 100 and the private key of the server 100 is the same, the result of decoding the X using the public key of the server 100 and the public key of the specific user ( If DecPubU (DecPubC (EncPrivC (EncPrivU (MD)))) is the same as the message digest (MD) of the specific file, the specific file may be additionally supported or determined to be verified (S540). That is, the verification of the file may be completed by performing two more stages of verification. This is to consider the possibility that the user's private key or public key has changed.
- the communication unit 110 may transmit a verification success message to a specific user (S545).
- the processor 120 may support the download of the specific file.
- a specific user may download a specific file through the user terminal.
- the first specific hash value (for the convenience of description, the above-described specific hash value is referred to herein as the first specific hash value).
- the first specific hash value is a hash value for the result of encoding the private key of the specific user and the private key of the server with respect to the message digest of the specific file.
- a first representative hash value generated by calculating one neighbor hash value (the aforementioned representative hash value is referred to herein as a first representative hash value for convenience of description) or a value obtained by processing the first representative hash value
- a second representative solution generated using the input data included in the verification request when a verification request associated with the specific file is obtained in the state of registering in the database 200. If a value or a value for processing the second representative hash value corresponds to a value for processing the first representative hash value or the first representative hash value registered in the database 200, the processor 120 determines the specific file. Assess or assist in determining that verification has been made.
- the second representative hash value is a second specific hash value-
- the second specific hash value is a private key of a specific user and the server for the message digest of the specific file relating to input data included in the verification request. It can be generated by calculating at least one neighbor hash value matching-which is a hash value for the result of encoding the private key.
- the input data included in the verification request may be any one of (i) the specific file, (ii) the message digest for the specific file, or (iii) an ID issued at the time of battery service for the specific file. It may include.
- a message digest for the specific file is generated by the above-described method, and the second specific hash value may be calculated based on the message digest.
- the second representative hash value may be generated by calculating at least one neighbor hash value matching the second specific hash value.
- a value assigned to a leaf node corresponding to the ID in a previously generated Merkle tree may be set as the second specific hash value.
- the ID may be a unique ID.
- the description of the first specific hash value described above may be equally applied to the second specific hash value. That is, the operation of the second specific hash value and the at least one neighbor hash value may be performed by various functions. Since it has been described above, the description is omitted.
- the calculation of the second specific hash value and at least one neighboring hash value may be performed through a merkel tree.
- the processor 120 may identify merkle tree information and leaf node information related to the input data.
- the second representative hash value may include at least one other matched with the second specific hash value and the second specific hash value in a merkle tree in which the second specific hash value is assigned to a specific leaf node. Can be generated by calculating the hash value assigned to the leaf node.
- the processor 120 refers to the predetermined transaction ID corresponding to the identified Merkle tree information. can do.
- the processor 120 refers to a predetermined transaction ID associated with the specific file, and obtains an OP message from the database 200 using the transaction ID. Can assist in obtaining.
- the first representative hash value or the first representative value in which the second representative hash value or the value of the second representative hash value generated by using the input data included in the verification request is included in the OP message.
- the hash value corresponds to the processed value, it may be determined that the verification related to the specific file has been made or may be determined.
- the predetermined transaction ID may be provided included in the input data. That is, the user may use the transaction ID together with any one of (i) the specific file, (ii) the message digest for the specific file, or (iii) the ID issued at the time of the battery service for the specific file. May be transferred to the server 100.
- the processor 120 may support to generate or generate a new Merkle tree.
- the Merkle tree generated during the aforementioned service execution may be used. That is, the processor 120 calculates (x1) (i) the second specific hash value and (ii) the hash value assigned to the sibling node of the node to which the second specific hash value is assigned in the previously generated Merkle tree. And a hash value for the operation value can be assigned or assigned to a parent node of the node in a new Merkle tree.
- (X2) if the parent node is the root node of the new merkle tree, supports to compare or compare a hash value assigned to the parent node with a value included in the OP message as the second representative hash value, and ( x3) If the parent node is not the root node of the new Merkle tree, the (x1) to (x3) may be repeated by using a hash value assigned to the parent node as the second specific hash value.
- the specific value is determined. It can help or judge that a file has been verified.
- the processor 120 may identify at least one of merkle tree information and leaf node information related to the input data with reference to time information related to the input data.
- the processor 120 identifies the previously generated Merkle tree and leaf node information with reference to the input data information, and identifies the identified Merkle tree information (tree_id).
- the processor 120 may support to generate or generate a new Merkle tree using the input 2. Since the hash value of input 2 (triplesha256digest (input2)) is assigned to the h2 node, the processor 120 may assign the hash value assigned to the h2 node and the hash assigned to the h3 node that is the sibling node of the h2 node in the generated Merkle tree.
- the hash value for the operation value is assigned to node h23, which is the parent node of node h2 and node h3. Since the h23 node is not the root node of the new Merkle tree, the processor 120 may repeat the process by using the hash value assigned to the h23 node as the second specific hash value. That is, the hash value assigned to the h23 node is used as the second specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node in the existing Merkle tree are calculated to be the parent of the h23 node and the h01 node. It can be assigned to node h0123.
- the processor 120 compares or compares a value (hex (h ⁇ node_index ⁇ )) of the hash value assigned to the h0123 node with a value included in the OP message.
- FIG. 6 illustrates a parallel signing process of performing a service in parallel with a request for multiple service of a user
- FIG. 7 illustrates a serial signing process of sequentially performing a service.
- MD Hash (File) of the specific file using a hash function.
- S612, S622 a message digest encoded with the private key Priv1 of the first user and a message digest encoded with the private key Priv2 of the second user are obtained (S612, S622).
- the communication unit 110 may obtain a transaction ID indicating location information on the database 200 of the registered hash value (S680).
- the processor 120 adds the message digest encoded with the private key of the first user and the message digest encoded with the private key of the second user.
- a value (EncPrivC (EncPrivU1 (MD) + EncPrivU2 (MD)))) encoded with a value as a private key of the server 100 may be registered or supported in the database 200.
- MD Hash (File)
- the public key (PubU1) of the first user, the public key (PubU2) of the second user, and a specific file are together. Can be obtained.
- the processor 120 obtains a message digest (EncPrivU1 (MD)) encoded with the private key Priv1 of the first user (S720), and stores the message digest encoded with the private key of the first user.
- 1 information A '', DecPubU1 (EncPrivU1 (MD))) decoded with the user's public key matches the generated message digest (B '', MD), and
- the private key of the first user and A message digest (EncPrivU2 (EncPrivU1 (MD))) encoded with the private key Priv2 of the second user is obtained (S745), and a message digest encoded with the private key of the first user and the private key of the second user is obtained.
- the communication unit 110 may obtain a transaction ID (TxID) indicating location information on the database 200 of the registered hash value (S780).
- TxID transaction ID
- S780 registered hash value
- the processor 120 supports (i) generating or digesting a message digest of the specific file using a hash function when a request for a service of a specific file is obtained, and (ii) if a predetermined condition is satisfied. At least one neighboring hash that matches the hash value of a result of encoding the message digest into a private key of a first user, a private key of a second user, and a private key of the server for the message digest; A representative hash value generated by calculating a value or a processed value of the representative hash value may be registered or registered in the database 200.
- the specific hash value is a value obtained by adding the value of encoding the message digest into the private key of the first user and the value of encoding the message digest into the private key of the second user as the private key of the server 100. It may be a hash value for the encoded value EncPrivC (EncPrivU1 (MD) + EncPrivU2 (MD)) (parallel signing process).
- the specific hash value is a value obtained by sequentially encoding the message digest into a private key of the first user, a private key of the second user, and a private key of the server (EncPrivC (EncPrivU2 (EncPrivU1 (MD)))). It can be a hash value for (serial signing process).
- FIG. 8 is a sequence diagram illustrating a process of performing verification on a notarized file when notarization is performed by multiple user signatures.
- steps S825 to S850 represent a serial signing process for sequentially performing verification for a user's verification request
- steps S860 to S885 represent a parallel signing process for performing verification in parallel. Each process may be performed separately or may be performed together.
- the processor 120 when the server 100 receives a battery service request for a specific file as described above, the processor 120 includes a first user and a second user who are associated with the specific file. Is detected, the hash value of the message digest encoded using the private key (PrivU1) of the first user, the private key (PrivU2) of the second user and the private key (PrivC) of the server 100 is stored in the database 200.
- TxID the state of storing and managing the transaction ID
- the communication unit 110 uses a transaction ID to generate a message digest encoded from the database 200 using the private key of the first user, the private key of the second user, and the private key of the server 100.
- An OP message including a hash value may be obtained (S835 and S870).
- the processor 120 may include a hash value of the value encoded by using the message digest of the specific file by using the private key of the server 100, the private key of the first user, and the private key of the second user. If the hash value of the message digest encoded using the private key of the first user, the private key of the second user, and the private key of the server 100 included in the message is the same, it is determined that the specific file is verified. Or to judge (S840, S875).
- the processor 120 may add the message digest encoded with the private key of the first user and the message digest encoded with the private key of the second user to the private key of the server 100.
- the processor 120 encodes a value obtained by adding the message digest encoded with the private key of the first user and the message digest encoded with the private key of the second user to the private key of the server 100.
- Y) hash value Hash [EncPrivC (EncPrivU1 (MD) + EncPrivU2 (MD))]
- the processor 120 encodes a value obtained by adding the message digest encoded with the private key of the first user and the message digest encoded with the private key of the second user to the private key of the server 100.
- the value of decoding the public key of the first user is the same as the message digest (MD) of the specific file, and (ii) the message digest obtained by decoding the Y with the public key of the server 100. 2 Decode the value encoded with the private key of the user into the private key of the second user.
- the specific file may be determined or determined to be verified. That is, the verification of the file may be completed by performing three more verifications.
- the four steps of verification can be expressed by the following expression.
- the processor 120 includes a hash value of a message digest sequentially encoded with the private key of the first user, the private key of the second user, and the private key of the server 100.
- the specific file may be determined or determined to be verified according to whether the hash values of the same are the same.
- the processor 120 may include a hash value Hash [EncPrivC () of a message digest (Z) sequentially encoded with the private key of the first user, the private key of the second user, and the private key of the server 100.
- Hash [EncPrivC () of a message digest (Z) sequentially encoded with the private key of the first user, the private key of the second user, and the private key of the server 100.
- the four steps of verification can be expressed by the following expression.
- the processor 120 has a first specific hash value-the first specific hash value is a private value of the first user with respect to the message digest of the specific file.
- a first representative hash value generated by calculating a hash value of a result encoded by a key, a private key of a second user, and a private key of the server, and at least one neighboring hash value matched under a predetermined condition.
- the second representative hash value or the second representative generated using the input data included in the verification request, when a verification request associated with the specific file is obtained while registering a representative hash value in a database. If a value obtained by processing a hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database, it is associated with the specific file. It can be supported so as to judge or determine that the verification is made.
- the first specific hash value is a value obtained by adding the value obtained by encoding the message digest into the private key of the first user and the value encoded by the message digest into the private key of the second user, into the private key of the server. It may be a hash value for the encoded value EncPrivC (EncPrivU1 (MD) + EncPrivU2 (MD)).
- the first specific hash value is a value obtained by sequentially encoding the message digest into a private key of the first user, a private key of the second user, and a private key of the server (EncPrivC (EncPrivU2 (EncPrivU1 (MD))). It may be a hash value for)) (serial signaling process).
- the processor 120 performs a function of controlling the flow of data between the communication unit 110 and other components. That is, the processor 120 controls the flow of data between the respective components of the server 100, thereby controlling the communicator 110 and other components to perform unique functions.
- the processor 120 may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, a data bus, and the like.
- the operating system may further include a software configuration of an application performing a specific purpose.
- the embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Databases & Information Systems (AREA)
Abstract
Description
Claims (30)
- 파일에 대한 노터리(notary) 서비스를 제공하는 방법에 있어서,(a) 특정 파일에 대한 노터리 서비스 요청이 획득되면, 서버가, hash 함수를사용하여 상기 특정 파일의 message digest를 생성하거나 생성하도록 지원하는 단계, 및(b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, 상기 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 (b) 단계에서,상기 소정의 조건은,(i) 복수의 노터리 서비스 요청이 이루어져 message digest가 소정의 개수만큼 획득되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이생성되는 조건, (iv) 노터리 서비스 요청을 한 사용자 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 (b) 단계에서,상기 서버는, 상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.
- 제3항에 있어서,상기 소정의 조건이 만족되면,(x1) 상기 서버는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산 값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 대표 해쉬값으로서 상기 데이터베이스에 등록하거나 등록하도록 지원하고,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.
- 제4항에 있어서,상기 (x1)에서상기 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 상기 서버는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 (a) 단계에서, 아무런 노터리 서비스 요청이 없고,상기 (b) 단계에서, 상기 소정의 조건이 만족되면, 상기 서버는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 특정 파일에 대한 노터리 서비스는,상기 특정 파일에 대한 공증 서비스 또는 상기 특정 파일에 대한 파기 서비스인 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 데이터베이스는 가상 화폐의 블록체인 또는 상기 서버에 의해 관리되는 데이터베이스인 것을 특징으로 하는 방법.
- 노터리(notary) 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법에 있어서,(a) 기존에 서버가 특정 파일에 대한 노터리 서비스 요청을 받았을 때, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, 상기 특정 파일의 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 서버가, 상기 특정 파일과 관련된 검증 요청을 획득하는 단계,(b) 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제 1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 서버가, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 단계를 포함하는 방법.
- 제9항에 있어서,상기 (a) 단계는,(a1) 상기 특정 파일과 관련된 검증 요청이 획득되면, 상기 서버가, 상기 특정 파일과 관련된 소정의 transaction ID를 참조하는 단계, 및(a2) 상기 서버가, 상기 transaction ID를 사용하여 상기 데이터베이스로부터 OP 메시지를 획득하는 단계를 포함하고,상기 (b) 단계에서,상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 서버가, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 것을 특징으로 하는 방법.
- 제10항에 있어서,상기 (a1) 단계에서,상기 특정 파일과 관련된 검증 요청이 획득되면, 상기 서버는, 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보를 식별하고, 상기 식별된 머클 트리 정보에 대응되는 상기 소정의 transaction ID를 참조하는 것을 특징으로 하는 방법.
- 제9항에 있어서,상기 제2 대표 해쉬값은, 제2 특정 해쉬값 - 상기 제2 특정 해쉬값은, 상기 검증 요청에 포함된 입력 데이터에 관한 상기 특정 파일의 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 것을 특징으로 하는 방법.
- 제12항에 있어서,상기 제2 대표 해쉬값은,상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 것을 특징으로 하는 방법.
- 제13항에 있어서,(x1) 상기 서버는, (i) 상기 제2 특정 해쉬값과 (ii) 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.
- 제9항에 있어서,상기 데이터베이스는 가상 화폐의 블록체인 또는 상기 서버에 의해 관리되는 데이터베이스인 것을 특징으로 하는 방법.
- 파일에 대한 노터리(notary) 서비스를 제공하는 서버에 있어서,특정 파일에 대한 노터리 서비스 요청을 획득하는 통신부,(i) 상기 특정 파일에 대한 노터리 서비스 요청이 획득되면, hash 함수를 사용하여 상기 특정 파일의 message digest를 생성하거나 생성하도록 지원하고, (ii)소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, 상기 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 프로세서를 포함하는 서버.
- 제16항에 있어서,상기 소정의 조건은,(i) 복수의 노터리 서비스 요청이 이루어져 message digest가 소정의 개수만큼 획득되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 노터리 서비스 요청을 한 사용자 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 서버.
- 제16항에 있어서,상기 프로세서는,상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는것을 특징으로 하는 서버.
- 제18항에 있어서,상기 소정의 조건이 만족되면,(x1) 상기 프로세서는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 대표 해쉬값으로서 상기 데이터베이스에 등록하거나 등록하도록 지원하고,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 서버.
- 제19항에 있어서,상기 (x1)에서상기 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 상기 프로세서는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 서버.
- 제16항에 있어서,상기 (i)에서, 아무런 노터리 서비스 요청이 없고,상기 (ii)에서, 상기 소정의 조건이 만족되면, 상기 프로세서는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 서버.
- 제16항에 있어서,상기 특정 파일에 대한 노터리 서비스는,상기 특정 파일에 대한 공증 서비스 또는 상기 특정 파일에 대한 파기 서비스인 것을 특징으로 하는 서버.
- 제16항에 있어서,상기 데이터베이스는 가상 화폐의 블록체인 또는 상기 서버에 의해 관리되는데이터베이스인 것을 특징으로 하는 서버.
- 노터리(notary) 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 서버에 있어서,특정 파일과 관련된 검증 요청을 획득하는 통신부, 및기존에 상기 서버가 상기 특정 파일에 대한 노터리 서비스 요청을 받았을 때, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, 상기 특정 파일의 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 특정 파일과 관련된 검증 요청이 획득되고, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 프로세서를 포함하는 서버.
- 제24항에 있어서,상기 프로세서는,상기 특정 파일과 관련된 검증 요청이 획득되면, 상기 특정 파일과 관련된 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 데이터베이스로부터 OP 메시지를 획득하거나 획득하도록 지원하고,상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 것을 특징으로 하는 서버.
- 제25항에 있어서,상기 특정 파일과 관련된 검증 요청이 획득되면, 상기 프로세서는, 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보를 식별하고, 상기 식별된 머클 트리 정보에 대응되는 상기 소정의 transaction ID를 참조하는 것을 특징으로하는 서버.
- 제24항에 있어서,상기 제2 대표 해쉬값은, 제2 특정 해쉬값 - 상기 제2 특정 해쉬값은, 상기 검증 요청에 포함된 입력 데이터에 관한 상기 특정 파일의 message digest에 대하여 특정 사용자의 private key 및 상기 서버의 private key로 인코딩한 결과에 대한 해쉬값임 - 과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 것을 특징으로 하는 서버.
- 제27항에 있어서,상기 제2 대표 해쉬값은,상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 것을 특징으로 하는 서버.
- 제28항에 있어서,(x1) 상기 프로세서는, (i) 상기 제2 특정 해쉬값과 (ii) 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 서버.
- 제24항에 있어서,상기 데이터베이스는 가상 화폐의 블록체인 또는 상기 서버에 의해 관리되는 데이터베이스인 것을 특징으로 하는 서버.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780009643.4A CN108604335B (zh) | 2016-02-02 | 2017-02-01 | 提供对文件的公证服务并验证记录文件的方法和服务器 |
CA3012306A CA3012306C (en) | 2016-02-02 | 2017-02-01 | Method and server for providing notary service for file and verifying file recorded by notary service |
EP17747714.8A EP3413251B1 (en) | 2016-02-02 | 2017-02-01 | Method and server for providing notary service for file and verifying file recorded by notary service |
US16/049,328 US10235538B2 (en) | 2016-02-02 | 2018-07-30 | Method and server for providing notary service for file and verifying file recorded by notary service |
US16/268,509 US10372942B1 (en) | 2016-02-02 | 2019-02-06 | Method and server for providing notary service for file and verifying file recorded by notary service |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0012760 | 2016-02-02 | ||
KR1020160012760A KR101772554B1 (ko) | 2016-02-02 | 2016-02-02 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/049,328 Continuation US10235538B2 (en) | 2016-02-02 | 2018-07-30 | Method and server for providing notary service for file and verifying file recorded by notary service |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017135669A1 true WO2017135669A1 (ko) | 2017-08-10 |
Family
ID=59500392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/001071 WO2017135669A1 (ko) | 2016-02-02 | 2017-02-01 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10235538B2 (ko) |
EP (1) | EP3413251B1 (ko) |
KR (1) | KR101772554B1 (ko) |
CN (1) | CN108604335B (ko) |
CA (1) | CA3012306C (ko) |
WO (1) | WO2017135669A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101572A (zh) * | 2018-07-17 | 2018-12-28 | 何晓行 | 基于区块链的存证方法、装置及服务器、存储介质 |
CN115226093A (zh) * | 2022-06-28 | 2022-10-21 | 山东新一代信息产业技术研究院有限公司 | 一种机器人ota升级包完整性验证方法及系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521775B2 (en) | 2016-04-18 | 2019-12-31 | R3 Ltd. | Secure processing of electronic transactions by a decentralized, distributed ledger system |
DE102017208503A1 (de) * | 2017-05-19 | 2018-11-22 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren, Computerlesbares Medium, System und Fahrzeug umfassend das System zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten |
WO2018222202A1 (en) * | 2017-06-02 | 2018-12-06 | Hewlett-Packard Development Company, L.P. | Digital composition hashing |
CN113139009B (zh) | 2017-10-23 | 2024-09-10 | 创新先进技术有限公司 | 一种数据审计的方法及装置 |
US11646894B2 (en) * | 2017-10-26 | 2023-05-09 | International Business Machines Corporation | Single channel multiple access communications system |
KR101937188B1 (ko) * | 2018-02-06 | 2019-04-09 | 주식회사 코인플러그 | 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말 |
CN112262558A (zh) * | 2018-06-14 | 2021-01-22 | 慧与发展有限责任合伙企业 | 基于区块链的验证框架 |
CN109598147B (zh) * | 2018-09-30 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法及装置、电子设备 |
CN109766084B (zh) * | 2018-12-28 | 2021-04-23 | 百富计算机技术(深圳)有限公司 | 支付应用的定制开发方法、装置、计算机设备和存储介质 |
FR3094521A1 (fr) * | 2019-03-29 | 2020-10-02 | Orange | Procédés et dispositifs permettant de prouver la connaissance d’une donnée par un utilisateur d’une chaîne de blocs |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN111353175B (zh) * | 2020-05-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
CN112383407B (zh) * | 2020-09-22 | 2023-05-12 | 法信公证云(厦门)科技有限公司 | 一种基于区块链的在线公证全流程日志处理方法及系统 |
US20230109544A1 (en) * | 2021-10-05 | 2023-04-06 | Capital One Services, Llc | Systems and methods for conducting remote attestation |
JP2023094838A (ja) * | 2021-12-24 | 2023-07-06 | キヤノン株式会社 | プログラム、情報処理装置、情報処理装置の制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250408A (ja) * | 1999-03-01 | 2000-09-14 | Ntt Data Corp | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
KR20020093680A (ko) * | 2002-10-17 | 2002-12-16 | 주식회사 로마켓아시아 | 전자문서의 공증 장치 및 그 방법 |
KR20120116898A (ko) * | 2009-06-26 | 2012-10-23 | 트러스티드 로직 | 데이터 검증 방법 |
JP2014042214A (ja) * | 2012-08-23 | 2014-03-06 | Seiko Instruments Inc | データ証明システムおよびデータ証明サーバ |
WO2014127904A1 (en) * | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification system and method with extra security for lower-entropy input records |
Family Cites Families (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881264A (en) * | 1987-07-30 | 1989-11-14 | Merkle Ralph C | Digital signature system and method based on a conventional encryption function |
US5422953A (en) * | 1993-05-05 | 1995-06-06 | Fischer; Addison M. | Personal date/time notary device |
US6219423B1 (en) * | 1995-12-29 | 2001-04-17 | Intel Corporation | System and method for digitally signing a digital agreement between remotely located nodes |
US20020010858A1 (en) * | 1997-06-18 | 2002-01-24 | Hidemi Moribatake | Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon |
US5978475A (en) * | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
AU6620000A (en) * | 1999-08-06 | 2001-03-05 | Frank W Sudia | Blocked tree authorization and status systems |
US6959382B1 (en) * | 1999-08-16 | 2005-10-25 | Accela, Inc. | Digital signature service |
US20030078880A1 (en) * | 1999-10-08 | 2003-04-24 | Nancy Alley | Method and system for electronically signing and processing digital documents |
JP2002093680A (ja) | 2000-09-13 | 2002-03-29 | Tdk Corp | フォトレジスト塗布方法及び塗布装置 |
US6944648B2 (en) * | 2000-09-22 | 2005-09-13 | Docusign, Inc. | System and method for managing transferable records |
US7043637B2 (en) * | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US7478243B2 (en) * | 2001-03-21 | 2009-01-13 | Microsoft Corporation | On-disk file format for serverless distributed file system with signed manifest of file modifications |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
WO2002077747A2 (en) * | 2001-03-27 | 2002-10-03 | Microsoft Corporation | Distributed, scalable cryptographic access control |
US7136840B2 (en) * | 2001-04-20 | 2006-11-14 | Intertrust Technologies Corp. | Systems and methods for conducting transactions and communications using a trusted third party |
US7428751B2 (en) * | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
EP1599965B1 (en) * | 2003-03-04 | 2015-02-11 | International Business Machines Corporation | Long-term secure digital signatures |
JP2004304304A (ja) * | 2003-03-28 | 2004-10-28 | Fujitsu Ltd | 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム |
GB2400463B (en) * | 2003-04-11 | 2005-05-25 | Nextenders | Data processing apparatus and method for distributing and authenticating electronic documents |
JP4460251B2 (ja) * | 2003-09-19 | 2010-05-12 | 株式会社エヌ・ティ・ティ・ドコモ | 構造化文書署名装置、構造化文書適応化装置及び構造化文書検証装置。 |
WO2005029292A1 (en) * | 2003-09-24 | 2005-03-31 | Accenture Global Services Gmbh | Server-based digital signature |
EP1690366A1 (en) * | 2003-11-21 | 2006-08-16 | Errikos Pitsos | Methods and systems for providing integrity and trust in data management and data distribution processes |
US7698558B2 (en) * | 2003-11-21 | 2010-04-13 | Rpost International Limited | System for, and method of, providing the transmission, receipt and content of an e-mail message |
US8037310B2 (en) * | 2004-11-30 | 2011-10-11 | Ricoh Co., Ltd. | Document authentication combining digital signature verification and visual comparison |
US7549051B2 (en) * | 2005-03-10 | 2009-06-16 | Microsoft Corporation | Long-life digital certification for publishing long-life digital content or the like in content rights management system or the like |
TWI351864B (en) * | 2005-03-25 | 2011-11-01 | Via Tech Inc | Apparatus and method for employing cyrptographic f |
JP4788212B2 (ja) * | 2005-07-13 | 2011-10-05 | 富士ゼロックス株式会社 | デジタル署名プログラム及びデジタル署名システム |
US8019988B2 (en) * | 2005-08-22 | 2011-09-13 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon | Security protocols for hybrid peer-to-peer file sharing networks |
JP4765482B2 (ja) * | 2005-08-25 | 2011-09-07 | 富士ゼロックス株式会社 | 文書管理システム、文書管理プログラム及び文書管理方法 |
US8108317B2 (en) * | 2005-08-31 | 2012-01-31 | Hand Held Products, Inc. | System and method for restricting access to a terminal |
ATE532144T1 (de) * | 2006-02-07 | 2011-11-15 | Nextenders India Private Ltd | Dokumentsicherheitsverwaltungssystem |
US8086859B2 (en) * | 2006-03-02 | 2011-12-27 | Microsoft Corporation | Generation of electronic signatures |
US7895666B1 (en) * | 2006-09-01 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Data structure representation using hash-based directed acyclic graphs and related method |
JP4197031B2 (ja) * | 2006-11-30 | 2008-12-17 | 沖電気工業株式会社 | メッセージ認証システム及びメッセージ認証方法 |
US9497028B1 (en) * | 2007-05-03 | 2016-11-15 | Google Inc. | System and method for remote storage auditing |
JP2009200595A (ja) * | 2008-02-19 | 2009-09-03 | Fujitsu Ltd | 署名管理プログラム、署名管理方法及び署名管理装置 |
JP5333239B2 (ja) * | 2008-02-19 | 2013-11-06 | 富士通株式会社 | ストリームデータ管理プログラム、方法、及びシステム |
FR2937484B1 (fr) * | 2008-10-22 | 2011-06-17 | Paycool Int Ltd | Procede de signature numerique en deux etapes |
US8768854B2 (en) * | 2009-01-13 | 2014-07-01 | Stephen W. NEVILLE | Secure protocol for transactions |
JP5332635B2 (ja) * | 2009-01-19 | 2013-11-06 | 富士通株式会社 | 電子署名方法、電子署名プログラムおよび電子署名装置 |
TW201103298A (en) * | 2009-03-25 | 2011-01-16 | Pacid Technologies Llc | Method and system for securing communication |
US8218763B2 (en) * | 2009-04-22 | 2012-07-10 | International Business Machines Corporation | Method for ensuring the validity of recovered electronic documents from remote storage |
US8850211B2 (en) * | 2009-04-27 | 2014-09-30 | Qualcomm Incorporated | Method and apparatus for improving code and data signing |
EP2507708B1 (en) * | 2009-12-04 | 2019-03-27 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8924302B2 (en) * | 2009-12-11 | 2014-12-30 | Eoriginal, Inc. | System and method for electronic transmission, storage, retrieval and remote signing of authenticated electronic original documents |
EP2651072A3 (en) * | 2010-09-20 | 2013-10-23 | Security First Corp. | Systems and methods for secure data sharing |
JP5853507B2 (ja) * | 2011-09-05 | 2016-02-09 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
JP5753273B2 (ja) * | 2011-10-14 | 2015-07-22 | 株式会社日立製作所 | データの真正性保証方法、管理計算機及び記憶媒体 |
US9935951B2 (en) * | 2012-07-18 | 2018-04-03 | TapLink, Inc. | Remote blind hashing |
US8805793B2 (en) * | 2012-08-08 | 2014-08-12 | Amazon Technologies, Inc. | Data storage integrity validation |
TWI483138B (zh) * | 2012-10-12 | 2015-05-01 | Acer Inc | 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體 |
US9432384B2 (en) * | 2012-11-12 | 2016-08-30 | Telefonaktiebolaget L M Ericsson | Methods and nodes for verification of data |
CN103281193B (zh) * | 2013-06-03 | 2016-08-17 | 中国科学院微电子研究所 | 身份认证方法、系统及基于其的数据传输方法、装置 |
US9880983B2 (en) * | 2013-06-04 | 2018-01-30 | X1 Discovery, Inc. | Methods and systems for uniquely identifying digital content for eDiscovery |
WO2014201059A1 (en) * | 2013-06-10 | 2014-12-18 | Certimix, Llc | Secure storing and offline transfering of digitally transferable assets |
CN103268460B (zh) * | 2013-06-20 | 2016-02-10 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
KR102238681B1 (ko) * | 2013-07-01 | 2021-04-12 | 삼성전자주식회사 | 데이터 인증을 위한 서명 정보 생성 및 검증 방법과 이를 위한 시스템 |
SE537697C2 (sv) * | 2013-08-08 | 2015-09-29 | Enigio Time Ab | Förfarande för att skapa signaler för tidsstämpling av dokument och förfarande för tidsstämpling av dokument |
US9268969B2 (en) * | 2013-08-14 | 2016-02-23 | Guardtime Ip Holdings Limited | System and method for field-verifiable record authentication |
US9363086B2 (en) * | 2014-03-31 | 2016-06-07 | Palo Alto Research Center Incorporated | Aggregate signing of data in content centric networking |
US9390289B2 (en) * | 2014-04-07 | 2016-07-12 | Palo Alto Research Center Incorporated | Secure collection synchronization using matched network names |
US11270298B2 (en) * | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US10340038B2 (en) * | 2014-05-13 | 2019-07-02 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain, systems and methods |
WO2016050285A1 (en) * | 2014-09-30 | 2016-04-07 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for handling data in a data network |
US20160098723A1 (en) * | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
US10230526B2 (en) * | 2014-12-31 | 2019-03-12 | William Manning | Out-of-band validation of domain name system records |
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
WO2016128070A1 (en) * | 2015-02-13 | 2016-08-18 | Nec Europe Ltd. | Method for storing a data file of a client on a storage entity |
AU2016246428B2 (en) * | 2015-04-05 | 2017-11-09 | Digital Asset (Switzerland) GmbH | Digital asset intermediary electronic settlement platform |
EP3286699A1 (en) * | 2015-04-20 | 2018-02-28 | OGY Docs Inc. | A method of distributed management of electronic documents of title (edt) and system thereof |
US10963881B2 (en) * | 2015-05-21 | 2021-03-30 | Mastercard International Incorporated | Method and system for fraud control of blockchain-based transactions |
US10181955B2 (en) * | 2015-05-29 | 2019-01-15 | Eoriginal, Inc. | Method for conversation of an original paper document into an authenticated original electronic information object |
US10509806B2 (en) * | 2015-08-17 | 2019-12-17 | Accenture Global Solutions Limited | Recommendation engine for aggregated platform data |
KR101658501B1 (ko) * | 2015-09-03 | 2016-09-22 | 주식회사 마크애니 | 해시함수 기반의 전자서명 서비스 시스템 및 그 방법 |
US10303887B2 (en) * | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
KR101977109B1 (ko) * | 2015-11-17 | 2019-08-28 | (주)마크애니 | 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법 |
US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
EP3411824B1 (en) * | 2016-02-04 | 2019-10-30 | Nasdaq Technology AB | Systems and methods for storing and sharing transactional data using distributed computer systems |
US20170236120A1 (en) * | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
-
2016
- 2016-02-02 KR KR1020160012760A patent/KR101772554B1/ko active IP Right Grant
-
2017
- 2017-02-01 EP EP17747714.8A patent/EP3413251B1/en active Active
- 2017-02-01 WO PCT/KR2017/001071 patent/WO2017135669A1/ko active Application Filing
- 2017-02-01 CN CN201780009643.4A patent/CN108604335B/zh active Active
- 2017-02-01 CA CA3012306A patent/CA3012306C/en active Active
-
2018
- 2018-07-30 US US16/049,328 patent/US10235538B2/en active Active
-
2019
- 2019-02-06 US US16/268,509 patent/US10372942B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250408A (ja) * | 1999-03-01 | 2000-09-14 | Ntt Data Corp | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
KR20020093680A (ko) * | 2002-10-17 | 2002-12-16 | 주식회사 로마켓아시아 | 전자문서의 공증 장치 및 그 방법 |
KR20120116898A (ko) * | 2009-06-26 | 2012-10-23 | 트러스티드 로직 | 데이터 검증 방법 |
JP2014042214A (ja) * | 2012-08-23 | 2014-03-06 | Seiko Instruments Inc | データ証明システムおよびデータ証明サーバ |
WO2014127904A1 (en) * | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification system and method with extra security for lower-entropy input records |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101572A (zh) * | 2018-07-17 | 2018-12-28 | 何晓行 | 基于区块链的存证方法、装置及服务器、存储介质 |
CN109101572B (zh) * | 2018-07-17 | 2021-03-02 | 何晓行 | 基于区块链的存证方法、装置及服务器、存储介质 |
CN115226093A (zh) * | 2022-06-28 | 2022-10-21 | 山东新一代信息产业技术研究院有限公司 | 一种机器人ota升级包完整性验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108604335A (zh) | 2018-09-28 |
US20190220624A1 (en) | 2019-07-18 |
US20180365448A1 (en) | 2018-12-20 |
CA3012306C (en) | 2021-09-21 |
EP3413251A1 (en) | 2018-12-12 |
EP3413251B1 (en) | 2021-11-17 |
EP3413251A4 (en) | 2019-01-23 |
KR101772554B1 (ko) | 2017-08-30 |
US10235538B2 (en) | 2019-03-19 |
US10372942B1 (en) | 2019-08-06 |
CN108604335B (zh) | 2022-01-28 |
KR20170091902A (ko) | 2017-08-10 |
CA3012306A1 (en) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017135670A1 (ko) | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 | |
WO2017135669A1 (ko) | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 | |
WO2018151427A1 (ko) | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2018151425A1 (ko) | Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2017116019A1 (ko) | 파일에 대한 공증 및 검증을 수행하는 방법 및 서버 | |
WO2018030707A1 (ko) | 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버 | |
WO2018194350A1 (ko) | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 | |
WO2018194351A1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 | |
WO2020220413A1 (zh) | 个人信息的零知识证明方法、系统及存储介质 | |
WO2018131886A1 (ko) | Utxo 기반 프로토콜을 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버 | |
WO2018194379A1 (ko) | 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버 | |
WO2017116062A1 (ko) | 파일에 대한 공증 및 검증을 수행하는 방법 및 서버 | |
JP5869052B2 (ja) | データセンタへのプラットフォームの内包検証 | |
WO2020147383A1 (zh) | 基于区块链系统的流程审批方法、装置、系统及非易失性存储介质 | |
WO2020062642A1 (zh) | 基于区块链的电子合同签署方法、装置、设备及存储介质 | |
WO2017171165A1 (ko) | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 | |
WO2018008800A1 (ko) | 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 | |
WO2020022599A1 (ko) | 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치 | |
WO2019132272A1 (ko) | 블록체인 기반의 서비스로서의 아이디 | |
WO2020164280A1 (zh) | 数据传输加密方法、装置及存储介质、服务器 | |
WO2021072881A1 (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
WO2018151426A1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2020189926A1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
WO2022102930A1 (ko) | 브라우저 기반 보안 pin 인증을 이용한 did 시스템 및 그것의 제어방법 | |
WO2020186775A1 (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: 17747714 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 3012306 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017747714 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017747714 Country of ref document: EP Effective date: 20180903 |