CN108604335A - 用于提供对文件的公证服务并通过公证服务验证记录文件的方法和服务器 - Google Patents
用于提供对文件的公证服务并通过公证服务验证记录文件的方法和服务器 Download PDFInfo
- Publication number
- CN108604335A CN108604335A CN201780009643.4A CN201780009643A CN108604335A CN 108604335 A CN108604335 A CN 108604335A CN 201780009643 A CN201780009643 A CN 201780009643A CN 108604335 A CN108604335 A CN 108604335A
- Authority
- CN
- China
- Prior art keywords
- cryptographic hash
- file
- server
- another device
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012795 verification Methods 0.000 title claims description 57
- 238000012545 processing Methods 0.000 claims description 96
- 238000004873 anchoring Methods 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 24
- 230000009471 action Effects 0.000 claims description 2
- 238000012958 reprocessing Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 4
- 230000035899 viability Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005242 forging Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009414 blockwork Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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
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)
- General Business, Economics & Management (AREA)
- Strategic 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
根据本发明的一个方面,提供一种用于提供对文件的公证服务的方法,所述方法包括以下步骤:(a)当获得对特定文件的公证服务请求时,服务器通过使用哈希函数生成或支持生成特定文件的消息摘要;并且(b)如果满足预定条件,则服务器登记或支持登记代表性哈希值或通过处理代表性哈希值获得的值到数据库中,代表性哈希值通过计算与特定哈希值匹配的至少一个相邻哈希值来生成,其中,特定哈希值是利用特定用户的私钥和服务器的私钥对消息摘要进行加密的结果的哈希值。
Description
技术领域
本发明涉及一种用于提供对文件的公证服务并通过公证服务验证记录文件的方法;更具体地说,涉及提供对文件的公证服务并且使用公证服务验证记录文件的方法以及使用该方法的服务器,所述方法包括下面的“公证处理”以及“验证处理”,所述公证处理是:如果取得对文件的公证服务请求,则通过使用哈希函数生成或支持另一装置使用哈希函数生成文件的特定消息摘要,并且如果满足锚定条件(anchoring conditions)中的一个锚定条件,则登记或支持另一装置登记第一代表性哈希值或其处理值到数据库中,其中,通过使用特定哈希值和其对应的至少一个相邻哈希值来生成代表性哈希值,并且其中,所述特定哈希值是通过利用特定用户的私钥和服务器的私钥对特定消息摘要进行编码而取得的结果的哈希值,所述“验证处理”是:如果取得对文件的验证请求,并且如果通过使用所述验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于在所述数据库中登记的第一代表性哈希值或其处理值,则确定或支持另一装置确定文件验证已完成。
背景技术
认证是公开证明特定事实或特定法律关系的存在或内容的行为。当要求对特定法律关系进行认证时,认证官员通常在认证办公室中书写、签署和密封并保存文档。
然而,由于在以往的认证中客户带着要认证的文档实际访问认证办公室并将其证书保存在认证办公室中,因此具有时间和空间上的限制以及遗失、伪制和伪造认证文档的可能性。
在本文中,本发明的发明人开发了一种对文件的认证系统,通过在虚拟货币的区块链中记录认证信息,实时进行认证,不存在伪制和伪造的可能性并且没有空间限制,并且提交了韩国专利申请No.2015-0188978。
然而,存在以下缺点,例如,由于使用区块链的文件认证系统为每个文件生成OP消息并将其记录在区块链中,因此存在由于事务数量增加造成提供服务中的瓶颈,并且,由于必须每次都支付事务费,因此服务管理的成本很高。
因此,需要一种能够弥补这些缺点的技术方案,从而保证快速服务并降低成本,同时利用文件认证系统实时进行认证,而不存在伪造和篡改的可能性并且没有空间限制。
发明内容
本发明的目的是解决所有的上述问题。
本发明的另一个目的是通过在虚拟货币的区块链中记录认证信息,提供对文件的公证服务以实时进行认证和验证时,保证快速服务速度并降低事务成本。
本发明的又一个目的是通过使用关于公证服务的信息配置默克尔树并仅将默克尔树的根值登记在区块链中而不将关于公证服务的所有信息登记在区块链中,来提高服务速度并降低事务成本。
本发明的又一个目的是通过使用响应于对文件的验证请求而生成的默克尔树执行验证,来提供数据库的可靠的完整性。
根据本发明的一个方面,提供一种用于提供对文件的公证服务的方法,所述方法包括以下步骤:(a)如果取得对文件的公证服务请求,则所述服务器通过使用哈希函数生成或支持另一装置使用哈希函数生成文件的特定消息摘要;以及(b)如果满足锚定条件中的一个锚定条件,则所述服务器登记或支持另一装置登记代表性哈希值或其处理值到数据库中,其中,通过使用特定哈希值及其对应的至少一个相邻哈希值来生成代表性哈希值,并且其中,所述特定哈希值是通过利用特定用户的私钥和服务器的私钥对特定消息摘要进行编码而取得的结果的哈希值。
根据本发明的另一方面,提供一种使用公证服务验证记录文件的方法,所述方法包括以下步骤:(a)在服务器已经取得对文件的公证服务请求并且随后已经将第一代表性哈希值或其处理值登记在数据库中的条件下,服务器取得或支持另一装置取得对文件的验证请求,其中,在锚定条件中的一个锚定条件下通过使用第一特定哈希值及其对应的至少一个相邻哈希值来生成第一代表性哈希值,并且其中,第一特定哈希值是通过利用特定用户的私钥和服务器的私钥对文件的特定消息摘要进行编码而取得的结果的哈希值;并且(b)如果通过使用验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于登记在数据库中的第一代表性哈希值或其处理值,则确定或支持另一装置确定所述文件的验证完成。
根据本发明的另一个方面,提供一种用于提供对文件的公证服务的服务器,所述服务器包括:通信部,用于取得或支持另一装置取得对文件的公证服务请求;以及处理器,(I)如果取得对文件的公证服务请求,则所述处理器通过使用哈希函数生成或支持另一装置使用哈希函数生成文件的特定消息摘要,并且(II)如果满足锚定条件中的一个锚定条件,则登记或支持另一装置登记代表性哈希值或其处理值到数据库中,其中,通过使用特定哈希值及其对应的至少一个相邻哈希值来生成代表性哈希值,并且其中,所述特定哈希值是通过利用特定用户的私钥和服务器的私钥对特定消息摘要进行编码而取得的结果的哈希值。
根据本发明的又一方面,提供一种使用公证服务验证记录文件的服务器,所述服务器包括:通信部,用于取得或支持另一装置取得对文件的验证请求;以及处理器,在以下条件下:在服务器已经取得对文件的公证服务请求并且随后已经将第一代表性哈希值或其处理值登记在数据库中,其中,在锚定条件中的一个锚定条件下通过使用第一特定哈希值及其对应的至少一个相邻哈希值来生成第一代表性哈希值,并且其中,第一特定哈希值是通过利用特定用户的私钥和服务器的私钥对文件的特定消息摘要进行编码而取得的结果的哈希值,如果通过使用所述验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于登记在数据库中的第一代表性哈希值或其处理值,则确定或支持另一装置确定文件的验证完成。
附图说明
用于说明本发明的示例实施例的下面的附图仅是本发明的示例实施例的一部分,并且可以基于附图得到其他附图而无需本领域技术人员的创造性工作:
图1是示出根据本发明的一个示例实施例的服务器的配置的框图,该服务器为文件提供公证服务并通过使用公证服务验证记录文件。
图2是示出响应于来自单个用户的请求执行对文件的公证服务的处理的时序图。
图3和4是示出根据本发明的一个示例实施例生成的默克尔树的实例的图。
图5是示出响应于来自单个用户的请求而执行对文件的验证服务的处理的时序图。
图6是示出响应于来自多个用户的公证服务请求并行执行公证服务的并行签署处理的时序图。
图7是示出响应于来自多个用户的公证服务请求依次执行公证服务的串行签署处理的时序图。
图8是示出对利用多个用户的签署认证的文件执行验证的处理的时序图。
具体实施方式
在以下的详细描述中,参照附图,附图以示例的方式示出了可实施本发明的具体实施例。这些实施例被充分详细地描述以使本领域技术人员能够实施本发明。应该理解的是,本发明的各种实施例虽然不同,但并不一定是相互排斥。例如,在不背离本发明的精神和范围的情况下,本文结合一个实施例描述的特定特征、结构或特性可以在其他实施例内实现。此外,应该理解的是,在不背离本发明的精神和范围的情况下,可以改变所公开的每个实施例中的各个元件的位置或配置。因此,下面的详细描述不以限制的意义来理解,本发明的范围仅由所附权利要求以及权利要求所赋予权利的等同物的全部范围限定、适当地解释。在附图中,在几个图中,相同的附图标记指代相同或相似的功能性。
图1是示出根据本发明的一个示例实施例的服务器的配置的框图,该服务器提供对文件的公证服务并通过使用公证服务验证记录文件。图2是示出响应于来自单个用户的请求执行对文件的公证服务的处理的时序图。
在说明每个示例实施例之前,以下是本说明书中使用的表达的定义。’:’的左边是表达式,右边是表达式的定义。
<表达式的定义>
PrivX:X的私钥
PubX:X的公钥
AESX:X的AES密钥
EncPrivX(Y):使用PrivX的Y的加密的输出
DecPubX(Y):使用PubX的Y的解密的输出
EncAESX(Y):使用AESX的Y的AES加密的输出
DecAESX(Y):使用AESX的Y的AES解密的输出
Hash(Y):Y的哈希值
首先,参照图1和2说明响应于来自单个用户的请求执行对文件的公证服务的处理。
通过参照图1,根据本发明的所述一个示例实施例的执行对文件的公证服务的服务器100可以包括通信部110和处理器120。每个示例实施例中的服务器可以是单独的服务器,但是为了方便,对服务通过单个服务器100执行进行说明。
通信部110可以设置为向用户或用户装置以及数据库200发送数据、以及从用户或用户装置以及数据库200接收数据。首先,通信部110可以在步骤S210取得或支持另一装置取得对文件的公证服务请求。如图2所示,如果取得对文件的公证服务请求,则可以取得文件和PubU,所述PubU是请求公证服务的用户的公钥。通信部110可以在步骤S220响应该请求,在步骤S220,可以在一个TCP会话期间执行请求及其相应的响应。
如果取得对文件的公证服务请求,则在步骤S215,处理器120可以使用哈希函数、即、MD=Hash(File)生成或支持另一装置使用哈希函数生成文件的消息摘要。在本文中,哈希函数的类型可以变化。例如,哈希函数可以是三重sha256。此外,本说明书中的哈希函数通常表示转换原文件的函数,但是可以包括在极端情况下仅存储文件而没有任何修改的函数。在这种情况下,通过使用哈希函数生成的消息摘要可以与文件相同。
在步骤S220响应于对文件的公证服务请求而生成的消息摘要可以被发送给请求对文件的公证服务的用户。如果用户通过图中未示出的用户装置请求公证服务,则生成的消息摘要可以被发送到用户设备。
接下来,通信部110可以在步骤S225从用户取得通过利用用户的私钥PrivU对消息摘要进行编码而计算的EncPrivU(MD)。在这种情况下,由于TCP会话可以在步骤S220的响应之后断开,因此消息摘要和PubU也可以从用户接收。作为参考,尽管通过使用利用私钥和公钥对消息摘要进行编码的表达式EncPriv(MD)和EncPub(MD)说明本说明书,但是可以用SigPriv(File)和SigPub(File)替换表达式。另外,在消息摘要被生成多于一次的情况下,可以使用表达式SigPriv(MD)和SigPub(MD)。
此外,如果取得通过使用PrivU对消息摘要进行编码而计算的EncPrivU(MD),并且如果生成的消息摘要B对应于信息A、即、在步骤S230-2利用PubU对EncPrivU(MD)进行解码而取得的DecPubU(EncPrivU(MD)),则处理器120可以在步骤S240生成或支持另一装置生成通过利用PrivU和服务器100的私钥PrivC对消息摘要进行编码而生成的第一编码消息摘要的哈希值,并且可以在步骤S250登记或支持另一装置登记所生成的哈希值到数据库200中。将消息摘要以哈希值的形式登记到数据库200中的原因在于,由于对数据库200的存储容量的限制,需要减小数据的大小。在本文中,数据库200可以是虚拟货币的区块链。例如,其可能是比特币区块链。
作为参考,在图2中,使用表达式’DecPubU(EncPrivU(MD))==MD’表示A对应于B,但是本发明的表达式不限于此。例如,’True==VerPubU(SigPrivU(File))’也可以表示相同的关系。另外,在消息摘要被生成多于一次的情况下,可以使用表达式’True==VerPubU(SigPrivU(MD))’。
此外,如果A对应于B,则处理器120可以登记或支持另一装置登记Hash[EncPrivC(EncPrivU(MD))]到数据库200中,Hash[EncPrivC(EncPrivU(MD))]是通过利用PrivU和PrivC按顺序对消息摘要进行编码而生成的第一编码消息摘要的哈希值。换言之,在作为客户的用户首先使用PrivU签署消息摘要,然后作为认证官的服务器100利用PrivC签署消息摘要之后,第一编码消息摘要的哈希值可以登记到数据库200中。但是,签署顺序可以与此不同。特别地,如果用户和服务器100之间的会话被维持,则服务器100可以先签署然后用户可以签署。
在通过利用PrivU和PrivC对消息摘要进行编码所生成的第一编码消息摘要的哈希值被登记在数据库200中的情况下,通信部110可以在步骤S255从数据库200取得事务ID、即TxID,其中TxID表示登记在数据库200中的第一编码消息摘要的哈希值的位置。
另一方面,如果在步骤230-1中A不对应于B,则在步骤S235,处理器120可以由于用户不是与文件相关的人、例如办理人向用户发送未成功登记的消息。
另外,如果A对应于B,则处理器120可以在步骤S245存储或支持另一装置存储文件。这里,文件可以利用对称密钥加密算法、例如AES、即高级加密标准进行加密。在这种情况下,密钥可以是由用户的公钥处理后的特定密钥,但是本发明的范围不限于此。
处理器120可以存储或支持另一装置存储PubU、消息摘要MD、EncPrivU(MD)和TxID。此外,处理器120可以进一步存储或支持另一装置存储EncPrivC(EncPrivU(MD)),这是通过利用PrivU和PrivC按顺序对MD进行编码而生成的第一编码消息摘要及其哈希值Hash[EncPrivC(EncPrivU(MD))]。
如果认证信息如上所述被登记在数据库200中,则通信部110可以在步骤S260向用户发送成功登记的消息。
然而,在前述示例实施例的情况下,存在以下缺点,例如,由于OP消息对每个文件生成并记录在区块链中,因此存在由于事务数量增加造成提供服务中的瓶颈,并且,由于必须每次都支付事务费,因此服务管理的成本很高。
在下文中,说明了认证系统,该认证系统可以利用并进一步补充文件认证系统以实时执行认证而没有伪造和伪造篡改的可能性,从而保证快速服务同时降低成本。与上述示例实施例不同,这种认证系统使用通过服务器100管理的不同数据结构。
如果通过通信部110取得对文件的公证服务请求,则上述处理器120可以使用哈希函数生成或支持另一装置使用哈希函数生成文件的特定消息摘要。因为其类似于前述的示例实施例,因此省略重复说明。这里,与上述示例实施例不同,对文件的公证服务可以是文件认证服务或文件撤销服务。
此外,如果满足锚定条件中的一个锚定条件,则处理器120可以登记或支持另一装置登记代表性哈希值或其处理值到数据库中,其中,通过使用特定哈希值及其对应的至少一个相邻哈希值来生成代表性哈希值,并且其中,特定哈希值是通过利用特定用户的私钥和服务器100的私钥对特定消息摘要进行编码而取得的结果的哈希值。换言之,如果满足锚定条件中的所指的一个锚定条件,则处理器120可以通过计算利用特定用户的私钥PrivU和服务器100的私钥PrivC对特定消息摘要进行编码而取得的、结果的哈希值及其对应的至少一个相邻哈希值来生成或支持另一装置生成代表性哈希值或其处理值,并且登记或支持另一装置登记所生成的代表性哈希值或其处理值到数据库中,而不是如上所述在S240的步骤中登记通过利用PrivU和PrivC对特定消息摘要进行编码而取得的结果的哈希值。在本文中,数据库可以不像上述数据库200、例如虚拟货币的区块链那样通过服务器100管理,而也可以由服务器100管理。本说明书中的说明集中于不通过服务器100管理的数据库200,但是本发明的技术思想可以应用于通过服务器100管理的数据库。
特定哈希值及其对应的至少一个相邻哈希值的计算可以由各种函数执行。假设要输入的特定哈希值及相邻哈希值为x1,x2,...和xn,则代表性哈希值t可以表示为下式。
<式>
t=hash(function(input,x1,x2,…,xn))
这里,服务器100可以以某种形式的数据结构存储或支持另一装置存储特定哈希值及其对应的至少一个相邻哈希值并管理它们。在这方面,数据结构可以变化,并且其一个示例可以是默克尔树的结构。在这种情况下,特定哈希值及其对应的至少一个相邻哈希值的计算可以通过使用默克尔树来执行。
换言之,处理器120可以生成或支持另一装置生成包括被分配特定哈希值的特定叶节点的至少一个默克尔树,如果满足锚定条件中的所指的一个锚定条件,则可以登记或支持另一装置登记代表性哈希值或其处理值到数据库200中,该代表性哈希值是由特定哈希值或分配给至少一个其他叶节点的至少一个哈希值计算的,至少一个其他叶节点具有与默克尔树中的特定叶节点相同的深度。
更具体地,(x1)处理器120可以计算或支持另一装置计算:(i)特定哈希值和(ii)分配给被分配特定哈希值到的特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配结果值的哈希值给特定叶节点的父节点。(x2)如果父节点是默克尔树的根节点,则可以将分配给父节点的结果值的哈希值视为代表性哈希值。(x3)另一方面,如果父节点不是默克尔树的根节点,则处理器120可以通过使用分配给父节点的哈希值作为特定哈希值重复或支持另一装置重复步骤(x1)至(x3)。
另外,处理器120可以登记或支持另一装置登记最终分配给默克尔树的根节点的哈希值到数据库200中作为代表性哈希值。在本文中,可以登记代表性哈希值的处理值。例如,可以登记对代表性哈希值进行十六进制操作产生的值。
如果服务器100将特定哈希值和至少一个相邻哈希值存储在第一数据结构中,然后将第二数据结构以与第一数据结构相同的形式存储并管理,则第一数据结构和第二数据结构可以以链的形式链接。
特别地,如上所述,如果第一数据结构和第二数据结构是默克尔树,则第一数据结构的根值或根值的哈希值可以分配给第二数据结构的第一叶节点。
此外,可以通过在生成第二数据结构时验证第一数据结构,进一步确保数据完整性。下面将说明第二数据结构的验证。
此外,在以链的形式链接的两个或更多个默克尔树中的第一默克尔树的情况下,由文本、数字或符号组成的特定消息数据的哈希值或其处理值可以被分配给第一默克尔树的第一叶节点。例如,可以分配在生成默克尔树时由服务器100提供的第一输入消息的哈希值。
图3和4是示出根据本发明的所述一个示例实施例生成的默克尔树的示例的图。
图3示出了具有四个(22)叶节点的默克尔树。由于图示的默克尔树是tree_id为零的第一默克尔树,所以特定消息数据“Coinplug 2016-01-01”的哈希值triplesha256digest(coinplug_unique_message)被分配给节点h0、即第一叶节点。在取得对文件的公证服务请求的情况下,处理器120可以生成或支持另一装置生成与当前所设置的默克尔树的最后叶节点相邻的叶节点,并分配或支持另一装置分配特定哈希值或其处理值给生成的叶节点。例如,如果在前一步骤分配完成至节点h1、即图3中的默克尔树的第二叶节点,则可以生成节点h2、即下一个叶节点,并且特定哈希值或其处理值triplesha256digest(input2)可以分配给节点h2。进一步,处理器120可以计算或支持另一装置计算(i)特定哈希值和(ii)分配给节点h2的兄弟节点h3的哈希值、即被分配特定哈希值的第三叶节点,从而取得结果值。结果值的哈希值可以分配给节点h2和节点h3的父节点h23。由于父节点h23不是默克尔树的根节点,因此处理器110可以通过使用分配给节点h23的哈希值作为特定哈希值来重复或支持另一装置重复上述处理。换言之,可以使用分配给节点h23的哈希值和分配给节点h01的哈希值生成分配给节点h0123、即节点h23和节点h01的父节点的计算值。这里,由于节点h0123是默克尔树的根节点,因此处理器120可以登记或支持另一装置登记分配给节点h0123的哈希值的处理值hex(h{node_index})到数据库200中。
另一方面,上述的锚定条件可以包括以下中的至少一者:(i)响应于各公证服务请求取得包括特定消息摘要的特定数量的消息摘要;(ii)特定时间的流逝;(iii)在区块链中生成块;以及(iv)请求公证服务的用户的一个或多个特征。
例如,如果响应于各公证服务请求取得与默克尔树的叶节点的数量相同的消息摘要,则利用每个用户的私钥和服务器100的私钥对每个消息摘要进行编码而取得的结果的哈希值可以是默克尔树的输入,即,分配给叶节点的值。
此外,处理器120可以以如上面的条件(ii)的特定时间生成或支持另一装置生成默克尔树的根值。在这种情况下,如果经过了特定时间,则处理器120可以使用特定时间的输入生成或支持另一装置生成默克尔树,并且可以登记或支持另一装置登记默克尔树的根值到数据库200中。
然而,在这种情况下,尽管经过了特定时间,但是可能没有值分配给被分配特定哈希值的特定叶节点的兄弟节点。在尽管经过了特定时间也没有哈希值被分配给特定叶节点的兄弟节点的情况下,处理器120可以分配或支持另一装置分配特定哈希值给兄弟节点,从而以上述方式产生默克尔树的根值。例如,处理器120可以复制并分配特定哈希值给兄弟节点。
请求公证服务的用户的特征可以是关于请求公证服务的用户支付的费用的信息、关于执行公证服务的时区的信息、关于执行公证服务的位置的信息、以及关于请求公证服务的用户的类型的信息的至少一部分。但是,本发明的范围不限于此。
另一方面,如果开始生成新的默克尔树,并且如果满足锚定条件中的所指的一个锚定条件而没有任何公证服务请求,则处理器120可以生成或支持另一装置生成具有分别被分配特定消息数据的第一和第二叶节点的新的默克尔树,并且可以登记或支持另一装置登记新的默克尔树的根值或其处理值到数据库200中。在这种情况下,可以用两个叶节点生成默克尔树。
然而,如果服务器100将特定哈希值和至少一个相邻哈希值存储在第一数据结构中,然后以与上述第一数据结构相同的形式存储并管理第二数据结构,则第一数据结构和第二数据结构可以以链的形式被链接。特别地,如果第一数据结构和第二数据结构是默克尔树,则第一数据结构的根值或根值的哈希值可以分配给第二数据结构的第一叶节点。
图4是示出根据本发明的所述一个示例实施例的作为第二数据结构生成的新的默克尔树的示例的图。
参照图4可知,图3中tree_id为零的默克尔树的根值hex(h0123)以triplesha256digest(input4)被分配给节点h4,节点h4是新的默克尔树的第一叶。以这种方式,即使在伪造数据的情况下,追踪也变得更容易,因此本发明通过链接在事务发生时创建的多个数据结构,具有提高数据完整性的优点。
接下来,说明用于响应于来自单个用户的请求来验证文件的处理。
本说明书中的验证可以由交易者或第三方来请求,并且可以分成使用由服务器100管理的不同数据结构的情况和不使用不同数据结构的情况。可以使用“审计”和“验证”两个术语。首先,说明不使用由服务器100管理的不同数据结构执行的验证。
该文件可以由可参照关于上述服务器100的信息的单独的装置验证或者由上述服务器100验证。在下文中,为了方便,基于由上述服务器100对文件的验证进行说明。
图5是示出响应于来自单个用户的请求而执行对文件的验证服务的处理的时序图。
参照图5,类似于前述示例,通信部110可以在步骤S510取得对文件的验证请求。如图5所示,如果取得文件验证请求,则可以取得文件和PubU,所述PubU是请求验证的用户的公钥。通信部110可以响应该请求,并且可以在一个TCP会话内执行请求及其相应的响应。
如上所述,在以下条件下:服务器100响应于对文件的公证服务请求而已经确定请求对文件的公证服务的用户为与文件相关,并因此服务器100已经存储利用PrivU和PrivC对文件的消息摘要进行编码而生成的第一编码消息摘要的哈希值到数据库200中,并且已经管理其相应的事务ID的条件下,如果取得对文件的验证请求,则处理器120可以取得或支持另一装置取得与PubU和文件的消息摘要中的至少一者相对应的事务ID。在这种情况下,事务ID、即TxID可以已经存储在服务器100中或服务器100可以参照的装置中。
在通信部110在步骤S510接收到对文件的验证请求的情况下,如果取得文件用于验证,则处理器120可以在步骤S515使用哈希函数(即MD=Hash(File))生成或支持另一装置使用哈希函数生成文件的原始消息摘要。在这种情况下,处理器120可以参照与PubU和所生成的文件的原始消息摘要中的至少一者相对应的事务ID。
如果在S520-1的步骤中尽管有验证请求但是没有找到与原始消息摘要相对应的信息,则通信部110可以在步骤S525向用户发送未成功验证的消息。
此外,如果在步骤S520-2中找到作为与原始消息摘要相对应的事务ID的信息,则通信部110可以在步骤S525使用TxID向数据库200发送查询(query),并且在步骤S530从数据库200取得OP消息,该OP消息包括通过利用PrivU和PrivC对消息摘要进行编码而生成的第一编码消息摘要的哈希值。
此外,如果通过利用PrivC和PrivU对原始消息摘要进行编码而生成的第二编码消息摘要的哈希值与OP消息中的第一编码消息摘要的哈希值相对应,则处理器120可以在S535的步骤确定或支持另一装置确定文件为已验证。
在本文中,通过利用PrivC和PrivU对原始消息摘要进行编码而生成的第二编码消息摘要可以是通过利用PrivU和PrivC按顺序对原始消息摘要进行编码而生成的EncPrivC(EncPrivU(MD))。
然而,即使在作为第二编码消息摘要的X的哈希值对应于OP消息中的第一编码消息摘要的哈希值的情况下,如果通过利用服务器100的公钥PubC和PubU对X进行解码而取得的结果值DecPubU(DecPubCC(EncPrivU(MD))))对应于文件的消息摘要,则处理器120可以在步骤S540进一步确定或支持另一装置确定文件已验证。换言之,可以利用两个进一步的步骤完成文件验证。这是因为可能存在用户的私钥、公钥等变化的可能性。
上述验证的三个步骤可以表示为以下表达式。
<表达式1>
OP_MESSAGE==Hash[EncPrivC(EncPrivU(MD))]
EncPrivU(MD)==DecPubC[EncPrivC(EncPrivU(MD))]
MD(=Hash[File])==DecPubU[EncPrivU(MD)]
如果文件的验证成功,则通信部110可以在步骤S545向用户发送成功验证的消息。
另外,如果文件被确定为已验证,则处理器120可以允许文件的下载。在这种情况下,用户可以通过用户装置等下载文件。
接下来,说明通过使用由服务器100管理的不同数据结构执行的验证。
首先,如上所述,在以下的条件下:服务器100已取得对文件的公证服务请求,然后已经登记上述代表性哈希值(为方便,这里称之为第一代表性哈希值)或其处理值到数据库200中,其中,通过在所述一个锚固条件下使用上述特定哈希值(为方便,这里称之为第一特定哈希值)及其对应的至少一个相邻哈希值来生成第一代表性哈希值,并且其中,第一特定哈希值是通过利用特定用户的私钥和服务器100的私钥对文件的特定消息摘要进行编码而取得的结果的哈希值,如果取得对文件的验证请求,并且如果通过使用验证请求中包括的输入数据生成的第二代表性哈希值或其处理值与登记在数据库200中的第一代表性哈希值或其处理值相对应,则处理器120可以确定或支持另一装置确定文件验证完成。
在这方面,可以通过计算第二特定哈希值及其对应的至少一个相邻哈希值来生成第二代表性哈希值,其中,第二特定哈希值是通过利用特定用户的私钥和服务器的私钥对从验证请求中包括的输入数据中提取的文件的特定消息摘要进行编码而取得的结果的哈希值。
这里,验证请求中包括的输入数据可以具有以下的至少一者:(i)文件;(ii)文件的特定消息摘要;或(iii)在对文件的公证服务期间发出的ID。
如果输入数据包括文件,则可以通过上述方法生成文件的特定消息摘要,并且可以基于此生成第二特定哈希值。进一步,可以通过计算第二特定哈希值及其对应的至少一个相邻哈希值来生成第二代表性哈希值。
如果输入数据包括在公证服务期间发出的ID,则第二特定哈希值可以设定为分配给与之前生成的默克尔树中的ID相对应的叶节点的值。在图3和4所示的示例中,ID可以是唯一ID。
对上述第一特定哈希值的同样的说明可应用于第二特定哈希值。也就是说,第二特定哈希值及其对应的至少一个相邻哈希值的计算可以由各种函数执行。因此,其说明参考以上内容而被省略。
在这种情况下,第二特定哈希值及其对应的至少一个相邻哈希值的计算可以通过使用默克尔树来执行。如果取得验证请求,则处理器120可以识别或支持另一装置识别有关与输入数据相关的默克尔树以及有关其叶节点的信息。
进一步,可以通过使用分配给默克尔树的特定叶节点的第二特定哈希值以及分配给具有与默克尔树中的特定叶节点相同的深度的至少一个其他叶节点的哈希值来计算第二代表性哈希值。
在通过使用不由服务器100管理的数据库、例如虚拟货币的区块链执行服务的情况下,处理器120可以参照或支持另一装置参照与关于所识别的默克尔树的信息相对应的特定事务ID。
在这种情况下,如果取得对文件的验证请求,则处理器120可以参照或支持另一装置参照特定事务ID,并且通过参照特定事务ID来从数据库200取得或支持另一装置从数据库200取得OP消息。此外,如果通过使用验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于OP消息中包括的第一代表性哈希值或其处理值,则文件验证可被确定为完成。
另一方面,特定事务ID可以设置为包含在输入数据中。换言之,响应于验证请求,用户除了发送(i)文件、(ii)文件的特定消息摘要、或(iii)在对文件的公证服务的期间发出的ID中的至少一者以外,还可以发送或支持另一装置发送特定事务ID到服务器100。
在验证的计算处理中,处理器120可以生成或支持另一装置生成新的默克尔树。在该处理中,可以使用在上述公证服务期间生成的默克尔树。换言之,(x1)处理器120可以计算或支持另一装置计算:(i)第二特定哈希值和(ii)分配给在之前生成的默克尔树中被分配第二特定哈希值的特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配结果值的哈希值给新的默克尔树中的特定叶节点的父节点。进一步,(x2)如果父节点是新的默克尔树的根节点,则处理器120可以比较或支持另一装置比较作为第二代表性哈希值的分配给父节点的哈希值与OP消息中包括的第一代表性哈希值或其处理值,(x3)如果父节点不是默克尔树的根节点,则可以通过使用分配给父节点的哈希值作为第二特定哈希值来重复或支持另一装置重复步骤(x1)至(x3)。
如果在默克尔树中最终生成的根值或其处理值与OP消息中的第一代表性哈希值或其处理值相对应,则处理器120可以确定或支持另一装置确定文件的验证完成。
在本发明中,如果在公证服务期间生成具有nm(=N)个叶节点的默克尔树,则因为能够通过仅计算与默克尔树的高度、即lognN=m一样多进行文件的验证,因此可以快速地确认事务的完整性。
另一方面,如果取得输入数据,则处理器120可以通过参照与输入数据相关的时间信息来识别或支持另一装置识别关于与输入数据有关的默克尔树以及关于其叶节点的至少一部分信息。
在下文中,通过采用图3中所示的示例来说明验证处理。
再次参照图3,如果请求输入2的验证,则处理器120可以通过参照关于输入数据的信息来识别或支持另一装置识别关于之前生成的默克尔树以及关于其叶节点的信息,并且通过将与关于tree_id为零的所识别的默克尔树的信息相对应的特定事务ID发送到数据库200来从数据库200取得或支持另一装置从数据库200取得OP消息。然后,处理器120可以通过使用输入2来生成或支持另一装置使用输入2生成新的默克尔树。当输入2的哈希值、即triplesha256digest(input2)被分配给节点h2时,处理器120可以计算或支持另一装置计算在之前生成的默克尔树中被分配给节点h2的哈希值和分配给节点2的兄弟节点h3的哈希值,由此取得结果值。结果值的哈希值可以分配给节点h2和节点h3的父节点h23。由于节点h23不是新的默克尔树的根节点,所以处理器120可以通过使用分配给节点23的哈希值作为第二特定哈希值来重复或支持另一装置重复上述处理。换言之,通过使用分配给节点h23的哈希值作为第二特定哈希值,之前生成的默克尔树中被分配给节点h23的哈希值和分配给节点h01的哈希值可以被计算,然后被分配给节点h0123、即节点h23和节点h01的父节点。这里,由于节点h0123是默克尔树的根节点,因此处理器120可以比较或支持另一装置比较分配给节点h0123的哈希值的处理值hex(h{node_index})与OP消息中包括的第一代表性哈希值或其处理值。
接下来,说明根据本发明的另一示例实施例的响应于来自多个用户的请求执行对文件的公证服务的处理。然而,省略重复说明。此外,相同的数字表示在本发明的之前实施例中的相同装置。首先,说明不使用由服务器100管理的不同数据结构的认证系统。
图6表示并行执行公证服务的并行签署处理,图7表示响应于来自多个用户的至少一部分的公证服务请求按照顺序执行公证服务的串行签署处理。
首先,参照图6,如果在S610和S620的步骤中从多个用户中的至少两个用户取得至少两个对文件的公证服务请求,则处理器120可以在S612和S622的每个步骤中使用哈希函数来生成或支持另一装置使用哈希函数生成文件的消息摘要、即MD=Hash(File)。此外,如果在步骤S640和S650中取得通过利用第一用户的私钥PrivU1对消息摘要进行编码而生成的第一消息摘要以及通过利用第二用户的私钥PrivU2对消息摘要进行编码而生成的第二消息摘要,并且如果在步骤S640-3中(i)信息A’、即通过利用第一用户的公钥PubU1对第一消息摘要进行解码而取得的DecPubU1(EncPrivU1(MD))以及(ii)信息B’、即通过利用第二用户的公钥PubU2对第二消息摘要进行解码而取得的DecPubU2(EncPrivU2(MD))中的每一者对应于所生成的消息摘要C’、即MD,则处理器120可以在步骤S675中登记或支持另一装置登记通过利用PrivU1、PrivU2和PrivC对MD进行编码而生成的第三消息摘要的哈希值到数据库200中。
接下来,在步骤S680,通信部110可以取得指示在数据库200中第三消息摘要的登记的哈希值的位置的事务ID。
而且,如果A’和B’中的每一个对应于C’,则处理器120可以登记或支持另一装置登记通过用PrivC对数据组进行编码而取得的EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))到数据库200中,其中,数据组由通过利用PrivU1对MD进行编码而生成的第一消息摘要以及通过利用PrivU2对MD进行编码而生成的第二消息摘要组成。
接下来,参照图7,如果在S710和S735的每个步骤中取得对文件的公证服务请求,则处理器120可以在每个步骤S712和S737中使用哈希函数生成或支持另一装置使用哈希函数生成文件的消息摘要、即MD=Hash(File)。在这种情况下,如图7所示,可以一起取得PubU1、PubU2和文件。
如果(i)在步骤S720取得通过利用PrivU1对消息摘要进行编码而生成的第一消息摘要EncPrivU1(MD),并且信息A”、即通过利用PubU1对第一个消息摘要进行而取得的DecPubU1(EncPrivU1(MD))与生成的消息摘要B”、即MD相对应,并且如果(ii)在步骤S745取得通过利用PrivU1和PrivU2对消息摘要进行编码而生成的EncPrivU2(EncPrivU1(MD)),并且在步骤S760中信息C”、即通过利用PubU2对EncPrivU2(EncPrivU1(MD))进行编码而取得的DecPubU2(EncPrivU2(EncPrivU1(MD)))与信息D”、即第一消息摘要EncPrivU1(MD)相对应,则处理器120可以在S775的步骤登记或支持另一装置登记通过利用PrivU1、PrivU2和PrivC对消息摘要进行编码而生成的第三消息摘要的哈希值到数据库200中。
而且,如果A”对应于B”,并且如果C”对应于D”,则处理器120可以登记或支持另一装置登记通过利用PrivU1、PrivU2和PrivC按顺序对消息摘要进行编码而生成的SO=EncPrivC(EncPrivU2(EncPrivU1(MD)))到数据库200中。
在此,通信部110可以在步骤S780取得指示在数据库200中第三消息摘要的登记的哈希值的位置的事务ID、即TxID。
接下来,进一步说明在使用由服务器100管理的不同数据结构的认证系统中响应来自多个用户的公证服务请求的所述另一示例实施例。
(i)如果取得对文件的公证服务请求,则处理器120可以通过使用哈希函数生成或支持另一装置使用哈希函数生成文件的特定消息摘要,并且(ii)如果满足多个锚定条件中的一个锚定条件,则处理器可以登记或支持另一装置登记代表性哈希值或其处理值到数据库200中,其中,通过使用特定哈希值及其对应的至少一个相邻哈希值来生成代表性哈希值,其中,特定哈希值是通过利用第一用户的私钥、第二用户的私钥和服务器100的私钥对特定消息摘要进行编码而取得的结果的哈希值。
在此,在并行签署处理中,特定哈希值可以是通过利用服务器100的私钥对数据组进行编码而取得的EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))的哈希值,其中,数据组由通过利用第一用户的私钥对特定消息摘要进行编码而生成的第一编码消息摘要以及通过利用第二用户的私钥对特定消息摘要进行编码而生成的第二编码消息摘要组成。
另一方面,在串行签署处理中,特定哈希值可以是通过利用第一用户的私钥、第二用户的私钥和服务器100的私钥按照顺序对特定消息摘要进行编码而取得的EncPrivC(EncPrivU2(EncPrivU1(MD)))的哈希值。
接下来,说明响应于来自多个用户的请求验证已认证的文件的处理。首先,参照图8说明不使用由服务器100管理的不同数据结构执行的验证。然而,省略重复说明。
图8是示出验证利用多个用户的签署所认证的文件的处理的时序图。
作为参考,步骤S825至S850表示响应于来自多个用户中的至少一部分用户的验证请求,按照顺序验证文件的串行签署处理,并且步骤S860至S885表示响应于来自多个用户中的至少一部分用户的验证请求,并行验证文件的并行签署处理。串行签署处理和并行签署处理都可应用于本发明提供的服务。
参照图8,如上所述,在以下条件下:服务器100响应于对文件的公证服务请求已经确定第一用户和第二用户与文件相关,并且其结果,服务器100已经将通过利用PrivU1、PrivU2和PrivC对文件的MD进行编码而生成的第三消息摘要的哈希值存储在数据库200中,并且服务器100已经管理其相应的事务ID、即TxID,如果在步骤S810中取得至少一个对文件的验证请求,则处理器120可以取得与文件的原始消息摘要、即MD=Hash(文件)以及请求验证文件的用户的公钥中的至少一者相对应的TxID。
此外,通信部110可以在S835和S870的每个步骤中通过参照TxID从数据库200取得包括第三消息摘要的哈希值的OP消息。
进一步,如果通过利用PrivC、PrivU1和PrivU2对原始消息摘要进行编码而生成的第四消息摘要的哈希值与OP消息中的第三消息摘要的哈希值相对应,则处理器120可以在S840和S875的每个步骤中确定或支持另一装置确定文件已验证。
在并行签署处理中,处理器120可以根据Hash[EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))]、即通过利用PrivC对数据组进行编码而取得的第一编码值的哈希值是否与OP消息中的第三消息摘要的哈希值相对应,来确定或支持另一装置确定文件已验证,其中,数据组由通过利用PrivU1对原始消息摘要进行编码而生成的第五消息摘要以及通过利用PrivU2对原始消息摘要进行编码而生成的第六消息摘要组成。
然而,即使在Y的哈希值Hash[EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))]、即通过利用PrivC对由第五消息摘要和第六消息摘要组成的数据组进行编码而取得的第一编码值对应于OP消息中的通过利用PrivU1、PrivU2和PrivC对消息摘要进行编码而生成的第三消息摘要的哈希值的情况下,如果(i)通过利用PubU1对通过利用PubC对Y进行解码而取得的第五消息摘要进行解码而取得的第一解码值对应于MD,并且如果(ii)通过利用PubU2对通过利用PubC对Y进行解码而取得的第六消息摘要进行解码而取得的第二解码值对应于MD,则处理器120可以确定或支持另一装置确定文件已验证。换言之,可以利用三个进一步的步骤完成文件的验证。
上述验证的四个步骤可以表示为以下表达式。
<表达式2>
OP_MESSAGE==Hash[EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))]
EncPrivU1(MD)+EncPrivU2(MD)==DecPubC[EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))]
MD(=Hash[File])==DecPubU1[EncPrivU1(MD)]
MD(=Hash[File])==DecPubU2[EncPrivU2(MD)]
另一方面,在串行签署处理中,处理器120可以根据Hash[EncPrivC(EncPrivU2(EncPrivU1(MD)))]、即通过利用PrivU1、PrivU2和PrivC按照顺序对原始消息摘要进行编码而取得的第二编码值的哈希值是否对应于OP消息中的第三消息摘要的哈希值,确定或支持另一装置确定文件已验证。
然而,即使在Z的哈希值Hash[EncPrivC(EncPrivU2(EncPrivU1(MD)))]、即通过利用PrivU1、PrivU2和PrivC按照顺序对原始消息摘要进行编码而获得的第二编码值对应于OP消息中的第三消息摘要的哈希值的情况下,如果通过利用PubC、PubU2和PubU1按照顺序对Z进行编码而获得的DecPubU1(DecPubU2(DecPubC(EncPrivC(EncPrivU2(EncPrivU1(MD))))))对应于MD,则处理器120可以确定或支持另一装置确定文件已验证。换言之,可以利用三个进一步的步骤完成文件的验证。
上述验证的四个步骤可以表示为以下表达式。
<表达式3>
OP_MESSAGE==Hash[EncPrivC(EncPrivU2(EncPrivU1(MD)))]
EncPrivU2(EncPrivU1(MD))==DecPubC[EncPrivC(EncPrivU2(EncPrivU1(MD)))]
EncPrivU1(MD)==DecPubU2[EncPrivU2(EncPrivU1(MD))]
MD(=Hash[File])==DecPubU1[EncPrivU1(MD)]
接下来,进一步说明使用由服务器100管理的不同数据结构的认证系统中响应验证请求的所述另一示例实施例。
在以下条件下:服务器100已取得文件公证请求,然后已经登记第一代表性哈希值或其处理值到数据库中,其中,第一代表性哈希值通过在多个锚固条件中的一个锚固条件下使用第一特定哈希值及其对应的至少一个相邻哈希值生成,并且其中,第一特定哈希值是通过利用第一用户的私钥、第二用户的私钥和服务器的私钥对文件的特定消息摘要进行编码而取得的结果的哈希值,如果取得对文件的验证请求,并且如果通过使用验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于登记在数据库中的第一代表性哈希值或其处理值,则处理器120可以确定或支持另一装置确定文件的验证已完成。
这里,在并行签署处理中,第一特定哈希值可以是通过利用服务器的私钥对数据组进行编码而取得的EncPrivC(EncPrivU1(MD)+EncPrivU2(MD))的哈希值,其中,数据组由通过利用第一用户的私钥对特定消息摘要进行编码而生成的第一编码消息摘要以及通过利用第二用户的私钥对特定消息摘要进行编码而生成的第二编码消息摘要组成。
在串行签署处理中,第一特定哈希值可以是通过利用第一用户的私钥、第二用户的私钥和服务器的私钥按照顺序对特定消息摘要进行编码而取得的EncPrivC(EncPrivU2(EncPrivU1(MD)))的哈希值。
本发明通过将认证信息记录在虚拟货币的区块链中,具有在提供对文件的公证服务以实时进行认证和验证时保证快速服务速度并降低事务成本的效果。
本发明通过使用关于公证服务的信息配置默克尔树并利用区块链仅登记默克尔树的根值,而不是利用区块链登记关于公证服务的所有信息,具有提高服务速度并降低事务成本的另一效果。
本发明通过使用响应于对文件的验证请求而生成的默克尔树执行验证,具有提供数据库的可靠的完整性的又一效果。
另一方面,处理器120可以控制通信部110和其他部件之中的数据流。也就是说,处理器120可以通过控制服务器100内的每个部件之中的数据流来控制通信部110和其他部件以执行它们的独特的功能。
处理器120可以包括MPU(微处理单元)或CPU(中央处理器)、高速缓存存储器、数据总线等的硬件配置。另外,可以进一步包括实现特定目的的应用的OS和软件配置。
如上所述的本发明的实施例可以通过可记录到计算机可读介质的各种计算机装置以可执行的程序命令的形式来实现。计算机可读介质可以单独地或组合地包括程序命令、数据文件和数据结构。记录到介质的程序命令可以是为本发明专门设计的部件,或者可以对计算机软件领域的技术人员可用。计算机可读记录介质包括:磁介质,例如硬盘、软盘和磁带;光介质,例如CD-ROM和DVD;磁光介质,例如软光盘、以及诸如ROM、RAM和专门设计成存储并执行程序的闪存的硬件装置。程序命令不仅包括由编译器产生的机器语言代码,还包括可由解释器等使用的高级代码,解释器由计算机执行。上述硬件装置能够超出软件模块进行工作以执行本发明的动作,并且在相反的情况下它们能够进行同样的工作。硬件装置可以与诸如ROM和RAM的存储器组合以存储程序命令,并且包括构成为执行存储在存储器中的命令的诸如CPU或GPU的处理器,并且还包括用于与外部设备发送和接收信号的通信部。
如上所述,已经通过诸如详细的部件、有限的实施例和附图、具体的事项说明了本发明。虽然已经参照优选实施例示出并说明了本发明,但是本领域技术人员将理解的是,在不背离由所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和变更。
因此,本发明的思想不局限于所说明的实施例,并且以下专利权利要求以及包括与专利权利要求相同或等同的变型的所有内容都属于本发明的思想范畴。
Claims (30)
1.一种用于提供对文件的公证服务的方法,包括以下步骤:
(a)如果取得对文件的公证服务请求,则服务器通过使用哈希函数生成或支持另一装置使用哈希函数生成所述文件的特定消息摘要;以及
(b)如果满足锚定条件中的一个锚定条件,则所述服务器登记或支持另一装置登记代表性哈希值或其处理值到数据库中,其中,所述代表性哈希值通过使用特定哈希值及其对应的至少一个相邻哈希值来生成,并且其中,所述特定哈希值是通过利用特定用户的私钥和所述服务器的私钥对所述特定消息摘要进行编码而取得的结果的哈希值。
2.根据权利要求1所述的方法,其中,所述锚定条件包括以下中的至少一者:(i)响应于各公证服务请求取得包括所述特定消息摘要的一定数量的消息摘要;(ii)经过特定时间;(iii)在区块链中生成块;以及(iv)请求公证服务的用户的一个或多个特征。
3.根据权利要求1所述的方法,其中,在步骤(b)中,所述服务器执行或支持另一装置执行:(i)生成包括被分配所述特定哈希值的特定叶节点的至少一个默克尔树的处理;以及(ii)如果满足锚定条件中的所述一个锚定条件,则将所述代表性哈希值或其处理值登记在所述数据库中的处理,所述代表性哈希值通过使用所述特定哈希值和分配给至少一个其他叶节点的至少一个哈希值计算,所述至少一个其他叶节点具有与所述默克尔树中的所述特定叶节点相同的深度。
4.根据权利要求3所述的方法,其中,如果满足锚定条件中的所述一个锚定条件,
(x1)所述服务器计算或支持另一装置计算(i)所述特定哈希值和(ii)分配给所述特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配所述结果值的哈希值给所述特定叶节点的父节点;
(x2)如果所述父节点是所述默克尔树的根节点,则所述服务器登记或支持另一装置登记分配给所述父节点的哈希值到所述数据库中作为所述代表性哈希值;并且
(x3)如果所述父节点不是所述默克尔树的根节点,则所述服务器通过使用分配给所述父节点的哈希值作为所述特定哈希值来重复或支持另一装置重复步骤(x1)至(x3)。
5.根据权利要求4所述的方法,其中,在步骤(x1)中,如果即使满足锚定条件中的所述一个锚定条件也没有哈希值被分配给所述特定叶节点的所述兄弟节点,则所述服务器分配或支持另一装置分配特定哈希值给所述兄弟节点,然后执行或支持另一装置执行步骤(x1)至(x3)。
6.根据权利要求1所述的方法,其中,如果在步骤(a)没有取得公证服务请求,并且如果在步骤(b)满足锚定条件中的所述一个锚定条件,则所述服务器执行或支持另一装置执行生成具有分别被分配特定消息数据的第一叶节点和第二叶节点的默克尔树的处理、以及将所述默克尔树的根值或其处理值登记在所述数据库中的处理。
7.根据权利要求1所述的方法,其中,所述对文件的公证服务包括文件认证服务和文件撤销服务中的至少一者。
8.根据权利要求1所述的方法,其中,所述数据库是虚拟货币的区块链,或者所述数据库通过所述服务器管理。
9.一种使用公证服务验证记录文件的方法,包括以下步骤:
(a)在服务器已经取得对所述文件的公证服务请求并且随后已经登记第一代表性哈希值或其处理值到数据库中的条件下,所述服务器取得或支持另一装置取得对文件的验证请求,其中,所述第一代表性哈希值在锚定条件中的一个锚定条件下通过使用第一特定哈希值及其对应的至少一个相邻哈希值来生成,并且其中,所述第一特定哈希值是通过利用特定用户的私钥和所述服务器的私钥对所述文件的特定消息摘要进行编码而取得的结果的哈希值;以及
(b)如果通过使用所述验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于登记在所述数据库中的所述第一代表性哈希值或其处理值,则所述服务器确定或支持另一装置确定所述文件的验证完成。
10.根据权利要求9所述的方法,其中,步骤(a)包括:
(a1)如果取得所述验证请求,则所述服务器参照或支持另一装置参照与所述文件相关的特定事务ID;以及
(a2)所述服务器通过参照所述特定事务ID从所述数据库中取得或支持另一装置取得OP消息,
其中,在步骤(b)中,如果通过使用所述验证请求中包括的输入数据生成的所述第二代表性哈希值或其处理值对应于所述OP消息中包括的所述第一代表性哈希值或其处理值,则所述服务器确定或支持另一装置确定验证完成。
11.根据权利要求10所述的方法,其中,在步骤(a1)中,如果取得所述验证请求,则所述服务器执行或支持另一装置执行识别关于与所述输入数据有关的默克尔树以及关于其叶节点的信息的处理、以及参照与关于所识别的默克尔树的信息相对应的所述特定事务ID的处理。
12.根据权利要求9所述的方法,其中,通过使用第二特定哈希值及其对应的至少一个相邻哈希值来生成所述第二代表性哈希值,并且其中,所述第二特定哈希值是通过利用所述特定用户的私钥和所述服务器的私钥对从所述验证请求中包括的所述输入数据中提取的所述文件的所述特定消息摘要进行编码而取得的结果的哈希值。
13.根据权利要求12所述的方法,其中,通过使用分配给默克尔树的特定叶节点的所述第二特定哈希值以及分配给至少一个其他叶节点的哈希值来计算所述第二代表性哈希值,所述至少一个其他叶节点具有与所述默克尔树中的所述特定叶节点相同的深度。
14.根据权利要求13所述的方法,其中,
(x1)所述服务器计算或支持另一装置计算(i)所述第二特定哈希值和(ii)分配给被分配所述第二特定哈希值的所述特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配所述结果值的哈希值给所述特定叶节点的父节点;
(x2)如果所述父节点是所述默克尔树的根节点,则所述服务器比较或支持另一装置比较分配给所述父节点的、作为所述第二代表性哈希值的哈希值与从所述数据库中获取的OP消息中包括的所述第一代表性哈希值或其处理值;并且
(x3)如果所述父节点不是所述默克尔树的根节点,则所述服务器通过使用分配给所述父节点的哈希值作为所述第二特定哈希值来重复或支持另一装置重复步骤(x1)至(x3)。
15.根据权利要求9所述的方法,其中,所述数据库是虚拟货币的区块链,或者所述数据库通过所述服务器管理。
16.一种用于提供对文件的公证服务的服务器,包括:
通信部,用于取得或支持另一装置取得对文件的公证服务请求;以及
处理器,(I)如果取得对所述文件的所述公证服务请求,则所述处理器通过使用哈希函数生成或支持另一装置使用哈希函数生成所述文件的特定消息摘要,并且(II)如果满足锚定条件中的一个锚定条件,则所述处理器登记或支持另一装置登记代表性哈希值或其处理值到数据库中,其中,所述代表性哈希值通过使用特定哈希值及其对应的至少一个相邻哈希值来生成,并且其中,所述特定哈希值是通过利用特定用户的私钥和所述服务器的私钥对所述特定消息摘要进行编码而取得的结果的哈希值。
17.根据权利要求16所述的服务器,其中,所述锚定条件包括以下中的至少一者:(i)响应于各公证服务请求取得包括所述特定消息摘要的一定数量的消息摘要;(ii)经过特定时间;(iii)在区块链中生成块;以及(iv)请求公证服务的用户的一个或多个特征。
18.根据权利要求16所述的服务器,其中,所述处理器执行或支持另一装置执行:(i)生成包括被分配所述特定哈希值的特定叶节点的至少一个默克尔树的处理;以及(ii)如果满足所述锚定条件中的所述一个锚定条件,则将所述代表性哈希值或其处理值登记在所述数据库中的处理,所述代表性哈希值通过使用所述特定哈希值和分配给至少一个其他叶节点的至少一个哈希值计算,所述至少一个其他叶节点具有与所述默克尔树中的所述特定叶节点相同的深度。
19.根据权利要求18所述的服务器,其中,如果满足锚定条件中的所述一个锚定条件,
(x1)所述处理器计算或支持另一装置计算(i)所述特定哈希值和(ii)分配给所述特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配所述结果值的哈希值给所述特定叶节点的父节点;
(x2)如果所述父节点是所述默克尔树的根节点,则所述处理器登记或支持另一装置登记分配给所述父节点的所述结果值的哈希值在所述数据库中作为所述代表性哈希值;并且
(x3)如果所述父节点不是所述默克尔树的根节点,则所述处理器通过使用分配给所述父节点的哈希值作为所述特定哈希值来重复或支持另一装置重复处理(x1)至(x3)。
20.根据权利要求19所述的服务器,其中,在处理(x1)中,如果即使满足锚定条件中的所述一个锚定条件也没有哈希值被分配给所述特定叶节点的所述兄弟节点,则所述处理器分配或支持另一装置分配特定哈希值给所述兄弟节点,然后执行或支持另一装置执行处理(x1)至(x3)。
21.根据权利要求16所述的服务器,其中,如果在处理(I)中没有取得公证服务请求,并且如果在处理(II)中满足锚定条件中的所述一个锚定条件,则所述处理器执行或支持另一装置执行生成具有分别被分配特定消息数据的第一叶节点和第二叶节点的默克尔树的处理、以及将所述默克尔树的根值或其处理值登记在所述数据库中的处理。
22.根据权利要求16所述的服务器,其中,所述对文件的公证服务包括文件认证服务和文件撤销服务中的至少一者。
23.根据权利要求16所述的服务器,其中,所述数据库是虚拟货币的区块链,或者所述数据库通过所述服务器管理。
24.一种使用公证服务验证记录文件的服务器,包括:
通信部,用于取得或支持另一装置取得对文件的验证请求;以及
处理器,在以下条件下:所述服务器已经取得对所述文件的公证服务请求并且随后已经将第一代表性哈希值或其处理值登记在数据库中,其中,所述第一代表性哈希值在锚定条件中的一个锚定条件下通过使用第一特定哈希值及其对应的至少一个相邻哈希值来生成,并且其中,所述第一特定哈希值是通过利用特定用户的私钥和所述服务器的私钥对所述文件的特定消息摘要进行编码而取得的结果的哈希值,如果通过使用所述验证请求中包括的输入数据生成的第二代表性哈希值或其处理值对应于登记在所述数据库中的所述第一代表性哈希值或其处理值,则所述处理器确定或支持另一装置确定所述文件的验证完成。
25.根据权利要求24所述的服务器,其中,如果取得所述验证请求,则所述处理器参照或支持另一装置参照与所述文件相关的特定事务ID,并且通过参照所述特定事务ID从所述数据库取得或支持另一装置取得OP消息,并且,如果通过使用所述验证请求中包括的输入数据生成的所述第二代表性哈希值或其处理值对应于所述OP消息中包括的所述第一代表性哈希值或其处理值,则所述处理器确定或支持另一装置确定验证完成。
26.根据权利要求25所述的服务器,其中,如果取得所述验证请求,则所述处理器执行或支持另一装置执行识别关于与所述输入数据有关的默克尔树及其叶节点的信息的处理、以及参照与关于所识别的默克尔树的信息相对应的所述特定事务ID的处理。
27.根据权利要求24所述的服务器,其中,通过使用第二特定哈希值及其对应的至少一个相邻哈希值来生成所述第二代表性哈希值,并且其中,所述第二特定哈希值是通过利用所述特定用户的私钥和所述服务器的私钥对从所述验证请求中包括的所述输入数据中提取的所述文件的所述特定消息摘要进行编码而取得的结果的哈希值。
28.根据权利要求27所述的服务器,其中,通过使用分配给默克尔树的特定叶节点的所述第二特定哈希值以及分配给至少一个其他叶节点的哈希值来计算所述第二代表性哈希值,所述至少一个其他叶节点具有与所述默克尔树中的所述特定叶节点相同的深度。
29.根据权利要求28所述的服务器,其中,
(x1)所述处理器计算或支持另一装置计算(i)所述第二特定哈希值和(ii)被分配给被分配所述第二特定哈希值的所述特定叶节点的兄弟节点的哈希值,从而取得结果值,然后分配或支持另一装置分配所述结果值的哈希值给所述特定叶节点的父节点;
(x2)如果所述父节点是所述默克尔树的根节点,则所述处理器比较或支持另一装置比较分配给父节点的、作为所述第二代表性哈希值的哈希值或其处理值与从所述数据库中获取的OP消息中包括的所述第一代表性哈希值或其处理值;并且
(x3)如果所述父节点不是所述默克尔树的根节点,则所述处理器通过使用被分配给所述父节点的哈希值或其处理值作为所述第二特定哈希值来重复或支持另一装置重复处理(x1)至(x3)。
30.根据权利要求24所述的服务器,其中,所述数据库是虚拟货币的区块链,或者所述数据库通过所述服务器管理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0012760 | 2016-02-02 | ||
KR1020160012760A KR101772554B1 (ko) | 2016-02-02 | 2016-02-02 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
PCT/KR2017/001071 WO2017135669A1 (ko) | 2016-02-02 | 2017-02-01 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604335A true CN108604335A (zh) | 2018-09-28 |
CN108604335B CN108604335B (zh) | 2022-01-28 |
Family
ID=59500392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780009643.4A Active CN108604335B (zh) | 2016-02-02 | 2017-02-01 | 提供对文件的公证服务并验证记录文件的方法和服务器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10235538B2 (zh) |
EP (1) | EP3413251B1 (zh) |
KR (1) | KR101772554B1 (zh) |
CN (1) | CN108604335B (zh) |
CA (1) | CA3012306C (zh) |
WO (1) | WO2017135669A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383407A (zh) * | 2020-09-22 | 2021-02-19 | 法信公证云(厦门)科技有限公司 | 一种基于区块链的在线公证全流程日志处理方法及系统 |
Families Citing this family (14)
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 |
US11356268B2 (en) * | 2017-06-02 | 2022-06-07 | Hewlett-Packard Development Company, L.P. | Digital composition hashing |
CN113139009A (zh) | 2017-10-23 | 2021-07-20 | 创新先进技术有限公司 | 一种数据审计的方法及装置 |
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 | 주식회사 코인플러그 | 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말 |
US20210243201A1 (en) * | 2018-06-14 | 2021-08-05 | Hewlett Packard Enterprise Development Lp | Blockchain-based verification framework |
CN109101572B (zh) * | 2018-07-17 | 2021-03-02 | 何晓行 | 基于区块链的存证方法、装置及服务器、存储介质 |
CN111177797B (zh) * | 2018-09-30 | 2023-06-30 | 创新先进技术有限公司 | 基于区块链的数据处理方法及装置、电子设备 |
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 |
CN111353175B (zh) * | 2020-05-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
US20230109544A1 (en) * | 2021-10-05 | 2023-04-06 | Capital One Services, Llc | Systems and methods for conducting remote attestation |
CN115226093A (zh) * | 2022-06-28 | 2022-10-21 | 山东新一代信息产业技术研究院有限公司 | 一种机器人ota升级包完整性验证方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114666A1 (en) * | 1999-08-06 | 2005-05-26 | Sudia Frank W. | Blocked tree authorization and status systems |
CN1838140A (zh) * | 2005-03-25 | 2006-09-27 | 威盛电子股份有限公司 | 运用加密功能以产生信息摘要的设备及方法 |
CN103268460A (zh) * | 2013-06-20 | 2013-08-28 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
CN103281193A (zh) * | 2013-06-03 | 2013-09-04 | 中国科学院微电子研究所 | 身份认证方法、系统及基于其的数据传输方法、装置 |
JP2014042214A (ja) * | 2012-08-23 | 2014-03-06 | Seiko Instruments Inc | データ証明システムおよびデータ証明サーバ |
CN105164971A (zh) * | 2013-02-22 | 2015-12-16 | 保时知识产权控股有限公司 | 具有额外安全性的用于低熵输入记录的核验系统和方法 |
Family Cites Families (78)
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 |
JP2000250408A (ja) * | 1999-03-01 | 2000-09-14 | Ntt Data Corp | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
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 |
AU2002307015A1 (en) * | 2001-03-27 | 2002-10-08 | 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 |
KR100646948B1 (ko) * | 2002-10-17 | 2006-11-17 | 주식회사 로마켓아시아 | 전자문서의 공증 및 검증 처리가 가능한 공증 센터 서버 및 그 방법 |
US7428751B2 (en) * | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
KR20060006770A (ko) * | 2003-03-04 | 2006-01-19 | 인터내셔널 비지네스 머신즈 코포레이션 | 디지털 서명 방법, 컴퓨터 장치, 디지털 서명 시스템 및전자 문서 검증 방법 |
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 | 株式会社エヌ・ティ・ティ・ドコモ | 構造化文書署名装置、構造化文書適応化装置及び構造化文書検証装置。 |
US20050132201A1 (en) * | 2003-09-24 | 2005-06-16 | Pitman Andrew J. | Server-based digital signature |
AU2003292078A1 (en) * | 2003-11-21 | 2005-06-24 | 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 |
JP4788212B2 (ja) * | 2005-07-13 | 2011-10-05 | 富士ゼロックス株式会社 | デジタル署名プログラム及びデジタル署名システム |
WO2007024970A2 (en) * | 2005-08-22 | 2007-03-01 | The State Of Oregon Acting By And Through The State Board Of Higher | 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 |
ES2376883T3 (es) * | 2006-02-07 | 2012-03-20 | Nextenders (India) Private Limited | Sistema de gestión de seguridad de documentos |
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 |
WO2010081218A1 (en) * | 2009-01-13 | 2010-07-22 | Neville Stephen W | Secure protocol for transactions |
JP5332635B2 (ja) * | 2009-01-19 | 2013-11-06 | 富士通株式会社 | 電子署名方法、電子署名プログラムおよび電子署名装置 |
WO2010111447A1 (en) * | 2009-03-25 | 2010-09-30 | Pacid Technologies, Llc | Method and system for securing a file |
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 |
JP5749257B2 (ja) * | 2009-06-26 | 2015-07-15 | トラステッド ロジック | データ検証方法 |
KR101714108B1 (ko) * | 2009-12-04 | 2017-03-08 | 크라이프토그라피 리서치, 인코포레이티드 | 검증가능 누출 방지 암호화 및 복호화 |
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 |
EP2619939A2 (en) * | 2010-09-20 | 2013-07-31 | Rick L. Orsini | Systems and methods for secure data sharing |
JP5853507B2 (ja) * | 2011-09-05 | 2016-02-09 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
WO2013054701A1 (ja) * | 2011-10-14 | 2013-04-18 | 株式会社日立製作所 | データの真正性保証方法、管理計算機及び記憶媒体 |
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 | 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體 |
EP2918057B1 (en) * | 2012-11-12 | 2017-01-04 | Telefonaktiebolaget LM Ericsson (publ) | Methods and nodes for verification of data |
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 |
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 |
WO2015175722A1 (en) * | 2014-05-13 | 2015-11-19 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain proof-of-work, systems and methods |
US10862690B2 (en) * | 2014-09-30 | 2020-12-08 | Telefonaktiebolaget Lm 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 |
CN107683488B (zh) * | 2015-04-05 | 2023-09-05 | 数字资产(瑞士)股份有限公司 | 数字资产中介电子结算平台 |
CN115174089B (zh) * | 2015-04-20 | 2024-05-03 | 欧吉达克斯公司 | 物权电子凭证(edt)的分布式管理方法及其系统 |
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 |
AU2017216289A1 (en) * | 2016-02-04 | 2018-09-27 | 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 CN CN201780009643.4A patent/CN108604335B/zh active Active
- 2017-02-01 WO PCT/KR2017/001071 patent/WO2017135669A1/ko active Application Filing
- 2017-02-01 EP EP17747714.8A patent/EP3413251B1/en 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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114666A1 (en) * | 1999-08-06 | 2005-05-26 | Sudia Frank W. | Blocked tree authorization and status systems |
CN1838140A (zh) * | 2005-03-25 | 2006-09-27 | 威盛电子股份有限公司 | 运用加密功能以产生信息摘要的设备及方法 |
JP2014042214A (ja) * | 2012-08-23 | 2014-03-06 | Seiko Instruments Inc | データ証明システムおよびデータ証明サーバ |
CN105164971A (zh) * | 2013-02-22 | 2015-12-16 | 保时知识产权控股有限公司 | 具有额外安全性的用于低熵输入记录的核验系统和方法 |
CN103281193A (zh) * | 2013-06-03 | 2013-09-04 | 中国科学院微电子研究所 | 身份认证方法、系统及基于其的数据传输方法、装置 |
CN103268460A (zh) * | 2013-06-20 | 2013-08-28 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383407A (zh) * | 2020-09-22 | 2021-02-19 | 法信公证云(厦门)科技有限公司 | 一种基于区块链的在线公证全流程日志处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017135669A1 (ko) | 2017-08-10 |
US20190220624A1 (en) | 2019-07-18 |
CN108604335B (zh) | 2022-01-28 |
EP3413251A4 (en) | 2019-01-23 |
KR20170091902A (ko) | 2017-08-10 |
US20180365448A1 (en) | 2018-12-20 |
KR101772554B1 (ko) | 2017-08-30 |
US10235538B2 (en) | 2019-03-19 |
CA3012306C (en) | 2021-09-21 |
EP3413251B1 (en) | 2021-11-17 |
CA3012306A1 (en) | 2017-08-10 |
EP3413251A1 (en) | 2018-12-12 |
US10372942B1 (en) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604336A (zh) | 用于提供对文件的公证服务并通过公证服务验证记录文件的方法和服务器 | |
CN108604335A (zh) | 用于提供对文件的公证服务并通过公证服务验证记录文件的方法和服务器 | |
CN108985100B (zh) | 基于区块链的元素安全性证明方法、装置、设备和介质 | |
US20200013026A1 (en) | Systems and methods for blockchain addresses and owner verification | |
KR101837170B1 (ko) | 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버 | |
CN111066283A (zh) | 对区块链网络上实体提供的数据进行通信、存储和处理的系统和方法 | |
US20210118072A1 (en) | Method and apparatus for hotel management and blockchain node server | |
CN109325747B (zh) | 基于区块链的汇款方法及装置 | |
CN110428334A (zh) | 基于区块链网络的票据处理方法及装置 | |
CN108009445B (zh) | 一种半中心化的可信数据管理系统 | |
CN108431842A (zh) | 用于对文件进行认证和验证的方法和服务器 | |
CN110188550A (zh) | 一种区块链的数据验证方法和装置 | |
CN109861829B (zh) | 支持动态更新的云数据公正审计系统及其审计方法 | |
CN110188572A (zh) | 一种应用于区块链的可消耗凭证的验证方法和装置 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
EP3864794B1 (en) | Linking transactions | |
CN108770370A (zh) | 用于对文件进行认证和验证的方法和服务器 | |
CN111787034A (zh) | 区块生成方法、同步方法、装置、区块链系统和存储介质 | |
KR102128875B1 (ko) | 전문가에 의해 생성되는 프로젝트 결과물에 대한 수익을 기여도 정보를 바탕으로 분배하는 방법 및 시스템 | |
US20050097336A1 (en) | Cryptographic revocation method using a chip card | |
Billah et al. | Blockchain based architecture for certificate authentication | |
KR102494873B1 (ko) | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치 | |
KR102128874B1 (ko) | 전문가에 의해 생성되는 프로젝트 결과물을 기여도 정보를 바탕으로 관리하는 방법 및 시스템 | |
CN113486408B (zh) | 基于区块链的存单管理系统和方法 | |
KR102128873B1 (ko) | 복수의 수행주체에 의해 획득되는 저작물의 저작권 관리 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Gyeonggi Do, South Korea Patentee after: CP Laboratory Co.,Ltd. Country or region after: Republic of Korea Address before: Gyeonggi Do, South Korea Patentee before: COINPLUG, Inc. Country or region before: Republic of Korea |