CN108604335B - 提供对文件的公证服务并验证记录文件的方法和服务器 - Google Patents

提供对文件的公证服务并验证记录文件的方法和服务器 Download PDF

Info

Publication number
CN108604335B
CN108604335B CN201780009643.4A CN201780009643A CN108604335B CN 108604335 B CN108604335 B CN 108604335B CN 201780009643 A CN201780009643 A CN 201780009643A CN 108604335 B CN108604335 B CN 108604335B
Authority
CN
China
Prior art keywords
hash value
specific
server
value
another device
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.)
Active
Application number
CN201780009643.4A
Other languages
English (en)
Other versions
CN108604335A (zh
Inventor
鱼浚善
洪载佑
宋周翰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cp Laboratory Co ltd
Original Assignee
Coinplug Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Coinplug Inc filed Critical Coinplug Inc
Publication of CN108604335A publication Critical patent/CN108604335A/zh
Application granted granted Critical
Publication of CN108604335B publication Critical patent/CN108604335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (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所述的服务器,其中,所述数据库是虚拟货币的区块链,或者所述数据库通过所述服务器管理。
CN201780009643.4A 2016-02-02 2017-02-01 提供对文件的公证服务并验证记录文件的方法和服务器 Active CN108604335B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160012760A KR101772554B1 (ko) 2016-02-02 2016-02-02 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
KR10-2016-0012760 2016-02-02
PCT/KR2017/001071 WO2017135669A1 (ko) 2016-02-02 2017-02-01 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버

Publications (2)

Publication Number Publication Date
CN108604335A CN108604335A (zh) 2018-09-28
CN108604335B true 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)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
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
CN109697204B (zh) 2017-10-23 2021-03-30 创新先进技术有限公司 一种数据审计的方法及装置
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 주식회사 코인플러그 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말
WO2019240804A1 (en) * 2018-06-14 2019-12-19 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 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、区块链***及存储介质
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 キヤノン株式会社 プログラム、情報処理装置、情報処理装置の制御方法
CN115226093A (zh) * 2022-06-28 2022-10-21 山东新一代信息产业技术研究院有限公司 一种机器人ota升级包完整性验证方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (79)

* Cited by examiner, † Cited by third party
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 ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体
WO2001011843A1 (en) * 1999-08-06 2001-02-15 Sudia Frank W 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
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
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
CN1886929A (zh) * 2003-11-21 2006-12-27 埃里科斯·皮特索斯 数据管理和数据分布过程中提供完整性与信任的方法与***
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
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 署名管理プログラム、署名管理方法及び署名管理装置
EP2247023B1 (en) * 2008-02-19 2018-05-09 Fujitsu Limited Stream data management program, method and system
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 富士通株式会社 電子署名方法、電子署名プログラムおよび電子署名装置
WO2010111439A2 (en) * 2009-03-25 2010-09-30 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
WO2010149333A1 (en) * 2009-06-26 2010-12-29 Trusted Logic Data verification method
US8386800B2 (en) * 2009-12-04 2013-02-26 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
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 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
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 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體
WO2014074041A1 (en) * 2012-11-12 2014-05-15 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
US10340038B2 (en) * 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
EP3202103B1 (en) * 2014-09-30 2021-06-16 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 数字资产(瑞士)股份有限公司 数字资产中介电子结算平台
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 北京航空航天大学 一种云存储数据完整性验证方法

Also Published As

Publication number Publication date
EP3413251A1 (en) 2018-12-12
KR101772554B1 (ko) 2017-08-30
US10235538B2 (en) 2019-03-19
CA3012306A1 (en) 2017-08-10
KR20170091902A (ko) 2017-08-10
US10372942B1 (en) 2019-08-06
EP3413251B1 (en) 2021-11-17
CA3012306C (en) 2021-09-21
US20190220624A1 (en) 2019-07-18
EP3413251A4 (en) 2019-01-23
WO2017135669A1 (ko) 2017-08-10
US20180365448A1 (en) 2018-12-20
CN108604335A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
CN108604335B (zh) 提供对文件的公证服务并验证记录文件的方法和服务器
CN108604336B (zh) 提供对文件的公证服务并验证记录文件的方法和服务器
US11205014B2 (en) Method and server for authenticating and verifying file
JP6877448B2 (ja) 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
JP6756041B2 (ja) 情報保護用のシステム及び方法
CN116776318A (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和***
US10469264B2 (en) Method and server for authenticating and verifying file
KR101798119B1 (ko) 주주명부를 등록하고 주식 소유권 이전을 기록하고 등록된 주주명부 파일을 검증하는 방법 및 서버
CN110910110B (zh) 一种数据处理方法、装置及计算机存储介质
KR101829731B1 (ko) 주주명부를 등록하고 주식 소유권 이전을 기록하는 방법 및 서버
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
KR20200096790A (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

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

CP03 Change of name, title or address