CN110785760A - 用于登记数字文档的方法和系统 - Google Patents
用于登记数字文档的方法和系统 Download PDFInfo
- Publication number
- CN110785760A CN110785760A CN201880029351.1A CN201880029351A CN110785760A CN 110785760 A CN110785760 A CN 110785760A CN 201880029351 A CN201880029351 A CN 201880029351A CN 110785760 A CN110785760 A CN 110785760A
- Authority
- CN
- China
- Prior art keywords
- document
- key
- version
- registry
- signature
- 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 68
- 238000012795 verification Methods 0.000 claims description 40
- 238000012937 correction Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000000717 retained effect Effects 0.000 claims description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000007792 addition Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000001149 cognitive effect Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 102000019298 Lipocalin Human genes 0.000 description 1
- 108050006654 Lipocalin Proteins 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
-
- 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
-
- 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/3247—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 involving digital signatures
-
- 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/3297—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 involving time stamps, e.g. generation of time stamps
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于登记电子存储数字文档(A)的方法,包括以下步骤:a)向拥有方提供数字文档和私有拥有权密钥,所述私有拥有权密钥是还包括对应公共拥有权密钥的不对称加密密钥对中的私有密钥;b)基于所述文档(A)来计算数字文档散列值;c)所述拥有方使用所述私有拥有权密钥来计算所述文档(A)的数字文档签名;d)在电子数字文档登记簿中数字存储所述文档签名以及所述公共拥有权密钥和所述文档散列值,而不是所述文档(A)。本发明还涉及一种系统。
Description
技术领域
本发明涉及一种用于登记数字文档,尤其是文本文档的方法和系统。
背景技术
模拟信息正日益数字化。这涉及许多不同类型的信息,诸如视觉和音频信息,包括图像、运动图像和音乐。一个正在迅速数字化的大领域是书面文档,诸如文学作品、通知、说明书、协议等。
传统上,模拟文档使用签名、印记、印章等进行认证,以便保证文档及其内容对相关方的真实性。
数字存储文档的常见问题是提供这种真实性,因为数字存储信息通常会被篡改而本身不会在文档中留下任何痕迹。数字签名是已知的,通常仅用于验证特定文档的信息内容是正确的并且已签名。已经以所谓的李嘉图合约(Ricardian Contract)的形式提出了对这种常规文档签名的改进,李嘉图合约是一种纯文本(人类可读)数字文档,其被数字签名并且携带与签名相关的密钥作为文档本身的一部分。
此外,已经提出了各种提议以将数字存储文档的特定版本绑定到物理世界,以便使得篡改这种文档更加困难。
示例包括SE 1350947,其提出了一种解决方案,其中数字文档包括从物理世界汲取的信息,而基于数字文档计算的单向函数值在物理世界信道中发布,从而以在稍后时间点处对第三方可验证的方式将特定版本或修订版的数字文档有效且安全地绑定到特定时间点。
也有人试图将数字文档绑定到可验证的外部信息流,诸如区块链,诸如以在公共比特币区块链上发布的彩色比特币的形式。
然而,这种解决方案仍然存在问题,因为不可能安全地确定特定数字文档的当前拥有权。作为其内容的一部分,数字文档可以包括关于这种拥有权的信息,但是文档的单独拥有权本身更难处理。可以有不同数字文档指定这种拥有权,但是当所拥有的这种数字文档演变成不同版本或修订版时,这造成复杂性。
用于管理数字文档的常规解决方案的另一个问题是确定特定数字文档是否是“原始”文档,或者所讨论文档是否是所讨论文档的最新版本或修订版,或者其是否是当前“有效”的文档。在模拟(非数字)情况下,这些问题使用原始的信头、墨水签名、印章、印记等来解决。然而,一般来说,数字文档可以被以这样的方式无损地复制,其中即使从理论上讲复本也无法与原始文档区分开。例如,在债券或其它规定性文档的情况下,使用明文数字文档的直接数字方法可能不够安全。
发明内容
本发明解决了上述问题,并且提出了一种管理数字文档的方式以实现上述目标。这是以如下方式完成的,其中此类文档既可容易被人读取,又可被人直接访问,同时还能以足够安全的方式由计算机读取。
因此,本发明涉及一种用于登记电子存储数字文档的方法,其包括以下步骤:a)向拥有方提供数字文档和私有拥有权密钥,所述私有拥有权密钥是还包括对应公共拥有权密钥的不对称加密密钥对中的私有密钥;b)基于所述文档来计算数字文档散列值;c)拥有方使用私有拥有权密钥来计算所述文档的数字文档签名;d)在电子数字文档登记簿中数字存储文档签名以及公共拥有权密钥和文档散列值,而不是存储文档。
此外,本发明涉及一种用于登记电子存储数字文档的系统,所述系统包括中央服务器,所述中央服务器布置成根据用户的计算机请求,在电子数字文档登记簿中数字存储数字文档签名以及公共拥有权密钥和数字文档散列值,而不是存储文档,因为公共拥有权密钥是还包括对应私有拥有权密钥的不对称加密密钥对中的公共密钥,因为散列值是基于文档计算的,并且因为文档签名是基于散列值并使用私有拥有权密钥计算的。
附图说明
在下文中,将参照本发明的示例性实施例和附图详细描述本发明,其中:
图1是根据本发明的系统的概述,所述系统布置成执行根据本发明的方法;
图2a至图2e示出了版本1、2、3、4和5中的特定数字存储文档的实际内容;
图3a至图3e示出了在登记图2a至图2e所示的相应文档版本之后的根据本发明的文档登记簿的内容;
图4是示出根据本发明的第一种方法的流程图;
图5是示出根据本发明的第二种方法的流程图;
图6是示出根据本发明的第三种方法的流程图;
图7是示出根据本发明的第四种方法的流程图;
图8a和图8b示出了版本1和2中的特定数字存储配置文档的实际内容;以及
图9示出了特定其它数字存储配置文档的实际内容。
具体实施方式
本发明部分基于加密密钥,尤其是不对称加密密钥对。通常,此类密钥对包括相应私有密钥和相应公共密钥。接着,已经使用其中一个密钥加密的某条信息可以使用另一个密钥进行解密。具体地说,公共密钥可以用于解密已经使用私有密钥加密的一条信息。
这种加密通常对信息的散列版本执行。接着,首先使用单向函数来计算散列值,换句话说,所述函数的输入值实际上不可能仅基于对应函数输出值来确定,并且在本文描述的实际应用中,两个不同输入值实际上总是会得到两个不同输出值,从这个意义上来说,所述函数基本上是一对一的。示例包括许多本身常规的散列函数,诸如例如SHA-1、SHA-2和SHA-3等SHA散列函数以及MD5。
因此,实际上不可能在没有实际访问所讨论私有密钥的情况下计算所述可验证的加密。类似地,以如下方式确定公共密钥:使得在实践中不可能在不实际知道所讨论私有密钥的值的情况下计算公共密钥的值。
在特定私有密钥已用于加密某条信息的情况下,使用对应公共密钥成功解密所述信息构成了所述私有密钥实际上用于加密所讨论的该条信息的证据。
此类不对称加密密钥对本身在本领域中是众所周知的,并且在此将不再更详细地论述。
这里,密钥通常被称为[公共/私有][类型]密钥,其中[公共/私有]可以是“公共”或“私有”;并且[类型]是所考虑的密钥对的类型,诸如版本、拥有权或分类帐密钥对。
图1示出了根据本发明的系统100,其可用于执行根据本发明的方法。
系统100包括至少一个中央服务器110,所述中央服务器又包括逻辑模块111、数据库112、时间单元113、文档登记接口114、文档验证接口115和分布式登记簿接口116。逻辑模块111与其余单元112、113、114、115、116进行数字通信,并且通常负责执行这里描述的由中央服务器110执行的方法步骤,包括文档和其它信息处置、处理和通信。因此,逻辑单元111优选地包括计算机处理器、随机存取存储器和用于与其它单元112至116通信的通信装置。
数据库112布置成存储下述登记簿,以及除此之外的任何其它相关数据,诸如系统100的方法状态数据以及用户的个人和账户用户数据。
时间单元113布置成提供当前时间,诸如来自内部时钟或来自外部时间源,并且根据下文可以向逻辑模块111提供当前时间和/或时间信号信息。
接口114、115、116将在下文中详细描述,但是通常是数字电子接口,优选地是应用编程接口(API),其布置用于与系统100部件(其相对于中央服务器110设置在外部)进行自动机器对机器通信。接口114、115、116可以是单独接口或者同一个接口的不同方面或功能。
这里使用的概念“中央服务器”涉及一组集中式功能性。这种功能性可以实现为在独立硬件服务器上运行的软件功能性;实现为作为单独通信软件应用程序在几个服务器上并行运行的分布式软件功能性;实现为在虚拟服务器上运行的软件功能性,虚拟服务器又在一个或多个分布式服务器上运行;或者这些设置的组合。还有可能的是中央服务器功能性的一部分以硬件来实现。因此,术语“集中式”描述了形成一个逻辑单元的连接功能性。
第二中央服务器120(其可以与第一中央服务器110相同(诸如在相同或不同状态下运行一组相同的软件功能性)或者相似)也可以是系统100的一部分,包括对应数据库122、时间单元123、文档登记接口124、文档验证接口125和分布式登记簿接口126。在这种情况下,中央服务器110、120经由相应分布式登记簿接口116、126彼此进行数字电子通信。还可以存在两个以上此类互连中央服务器110、120。
这里的所有通信都可以经由开放的互联网进行,或者视情况而定,在局域网内进行。此外,当由于通信信息的性质而需要时,对第三方开放的所有通信优选地被加密。无论如何,所有通信和所有数据管理都是电子和数字性质的。
本发明基于使用中央文档登记簿或分类帐。这里,术语“中央”应解释为相对于中央服务器来说位于上方(above),在这个意义上,其可作为一个连接实体来访问。因而,中央文档登记簿可以在逻辑上或物理上存储在一个集中位置中,或者以至少一个单一访问点分布。
因此,这种文档登记簿是数字和电子存储的,并且包括至少关于向根据本发明的系统100登记的文档以及与此类文档相关的文档事务(诸如对此类文档的添加)的信息;此类文档的拥有权的变更;以及此类文档的终止。
然而,文档登记簿不包括文档本身,尤其不包括此类文档的相应有效载荷内容。这样,文档及其有效载荷内容可以由相关方保存在本地,并且因此如果需要的话,保密。尽管如此,在系统100的文档登记簿中登记所讨论文档为各方和任何感兴趣的第三方提供了关于所讨论文档的各种版本的内容以及关于所讨论文档的拥有权的安全性。这将在下文中详细说明。
通常,文档登记簿可以存储在中央服务器110的数据库112中。其还可以存储在另一个中央服务器120的数据库122中,并且通常存储在此类中央服务器的多个数据库中。每个此类中央服务器110、120可以优选地存储其自己的同一个文档登记簿的完整复本,或者每个中央服务器110、120可以存储文档登记簿的不同子集,这些子集可以部分重叠。因此,文档登记簿可以分布在几个中央服务器110、120上,诸如分布在共同向第三方或在彼此之间内部提供文档登记服务的相应中央服务器上。
根据一个优选实施例,文档登记簿数据经由接口116、126在中央服务器110、120之间交换,优选地自动交换,以便在中央服务器110、120之间实现文档登记簿的预定同步方案。例如,每个中央服务器110、120可能必须以最小时间频率将其文档登记簿的复本更新到中央服务器110、120的网络上可用的最新版本,诸如从对等中央服务器或主中央服务器,所述最小时间频率优选为每天至少一次,优选为每小时至少一次。或者,每个中央服务器110、120可能必须将其文档登记簿的复本更新到与涉及所讨论中央服务器的每个文档登记簿事务相关的网络上可用的最新版本。
优选地,文档登记簿是完整的,在这个意义上,其包括与由共享所讨论同一文档登记簿的中央服务器110、120的网络处置的文档相关的所有文档事务。因此,通过查阅文档登记簿,一方可以验证文档登记簿中所登记的任何文档,包括其当前最新版本和先前版本。
文档登记簿还可以与外部信息存储部分一起存储,作为文档登记簿的备份或主要存储点。然而,优选的是,至少一个中央服务器110、120能够保证文档登记簿的有效性,并且是相对于系统100的所有用户U的可信方。
此类用户U各自使用相应通用计算机10、20、30,诸如台式计算机、膝上型计算机、智能电话或软件功能,来与中央服务器110、120中的至少相应一者进行交互。这种交互经由接口114、115、124、125参与,并且包括数字文档A的登记、此类文档A的添加、转让和终止,以及此类文档的验证,包括关于版本、拥有权和状态的信息。
用户U当然可以是人类。然而,可以认识到,根据本发明的系统100还可以处理机器用户,诸如自动电子操作的证券交易所服务器、经纪公司服务器、保险管理服务器或以自动化方式处理协议或其它类型的电子存储文档的任何其它实体。因此,计算机10、20、30可以由人类用户U控制,或者基于由计算机10、20、30自身实现的软件算法来自动进行动作,可能由外部通信的触发器(诸如引入双方之间的特定协议)触发,所述协议被编码在如本文所述的电子文档A中。
图4示出了根据本发明的方法,其用于在上述类型的文档登记簿中登记电子存储数字文档A。
图2a示出了待在文档登记簿中登记的示例性文档A。在这种情况下,文档A是一张普通期票。认识到,所述文档可以是任何类型的信息,诸如任何金融票据;协议;艺术作品;等等,只要文档可以以纯文本格式进行编码。如图2a所示的文档被完整地示出,并且格式化为纯文本的文本文档。文档A可以(例如)作为常规文本文件存储在登记文档A的用户的计算机10中。
如图2a所示,文档包括以下部分。
·注释,向文档的人类读者说明相关信息。这些信息可以涉及文档的内容和目的,还可以涉及文档所遵循的格式化标准。在图2a所示的示例中,格式化是YML。根据需要,这个部分还可以包括各种元数据。
·文档类型特定数据,在本例中是如下信息:指定债务金额;指定债务货币;债务的指定最终日期;指定债务人;以及证明债务人身份和/或意图的数字签名(“BankID”)。这些文档类型特定数据还被称为文档的“有效载荷”,并且对应于文档的认知内容(与关注方直接相关的信息部分)——在这种情况下,是一张普通期票。请注意,“BankID”是瑞典个人认证服务。
·分类帐密钥。
·公共拥有权密钥。
·私有版本密钥。
·时间戳。
·文档标识符(“ID”),在本例中作为URL(统一资源定位符)的一部分。
·签名。
如图4所示,在第一步骤中,所述方法开始。
接着,所述方法包括向文档拥有方提供数字文档和私有拥有权密钥的步骤。通常,登记文档的用户U是文档拥有者,因为在这里使用的术语中,控制私有拥有权密钥的那方是文档拥有者。注意,机器用户10、20、30可以是文档的“拥有者”,这暗示着控制机器用户或自动文档登记过程的公司或用户是文档的最终拥有者。因此,文档和私有拥有权密钥被“提供给”拥有方可以意味着拥有方自己产生文档和/或私有拥有权密钥,或者第三方向拥有用户提供此类信息。优选的是,拥有用户以常规合适方式产生私有/公共拥有权密钥对,而不在所述过程中向任何其它方透露私有拥有权密钥。
所述私有拥有权密钥是上述定义类型的不对称加密密钥对中的私有密钥,所述不对称加密密钥对还包括对应的公共拥有权密钥。在本系统100中,私有拥有权密钥的控制等同于对应登记文档的拥有权。如果私有拥有权私有密钥丢失,则文档的拥有权也会以不能挽回的方式丢失。
在下一个步骤中,基于所讨论文档计算数字文档散列值。优选地,散列值被计算为文档内容的散列,优选地,不包括散列信息或文档签名本身的一部分文档(因为散列值还可以以明文格式添加作为其所属文档的一部分),诸如在这些散列信息之前的整个文档。在文档既不包括散列值也不包括文档签名本身的情况下(诸如图2a所示的示例中的情况),或者在文档仅包括这些值之一的情况下,可以基于不包括所述文档签名和/或散列值的一部分文档(诸如直到但不包括所讨论签名的整个文档)来计算散列值。在图2a至图2e中,文档内容的优选相应部分由词“待散列的内容”来标记。在图2a中,待散列的内容不包括Url,因为文档标识符是基于文档的散列值来计算的。
优选地,至少基于文档有效载荷来计算散列值。散列值本身可以根据任何常规散列函数来计算,优选地是上述识别类型的单向函数,诸如使用SHA函数。优选地,所得散列值至少为32字节长。优选地,使用在系统100中广泛识别并定义的预定散列函数来计算散列值,使得能够访问所讨论文档的任何中央服务器110、120并且优选地还有任何用户可以计算所讨论散列值。
明确地说,优选的是,至少基于包含在所讨论文档中的时间戳来计算散列值。优选地,结合文档或文档版本在文档登记簿中的登记来计算时间戳,使得基于所讨论时间戳计算的散列值将因此取决于登记时间。在存储于文档登记簿和/或文档中的文档标识是特定文档的散列值或基于所述散列值来计算的情况下,这是特别优选的。在这种情况下,中央服务器110可以拒绝用与已经存储在所讨论文档登记簿中的文档相同的文档标识来登记文档,并且文档登记方可以接着作为响应等待一小段时间,将更新的时间戳包括在文档中,并且接着使用将接着与第一次尝试不同的散列重试。明确地说,当文档标识是散列值(优选地,第一文档版本的散列值)的短版本或截断版本(诸如散列值的前8个字节或字符)时,这是优选情况。
在下一个步骤中,所讨论拥有方使用所述私有拥有权密钥来计算待登记的文档的数字文档签名,所述计算使用所述散列值作为输入值。私有拥有权密钥“用于计算”签名意味着私有拥有权密钥是计算所讨论签名的必要先决条件。优选地,用于计算所讨论签名的签名函数在整个系统100中被足够好地定义和识别,使得能够访问所讨论散列值和所述公共拥有权密钥的任何中央服务器110、120并且优选地还有任何用户能够验证所讨论私有拥有权密钥实际上用于计算所讨论的签名值。优选地,能够访问散列值和所使用的签名计算函数的任何一方都有可能以确定性值来确定所述签名值。例如,签名值可以通过椭圆函数加密方法来计算。
接着,在下一个步骤中,至少以下数字数据以数字和电子方式存储在文档登记簿中:所述签名值、公共拥有权密钥和文档散列值。然而,所讨论文档本身并不存储在登记簿中。事实上,优选的是,文档本身和可用于恢复所讨论文档的任何信息,尤其是文档特定有效载荷数据(在图2a所示的示例中,如指定的债务人:Kalle Anka,金额:SEK 10000,最终日期:2019-01-05,以及签名银行账号(signature BankID)),都不存储在登记簿中,或者甚至不传送到中央服务器110,或者甚至不传送到中央服务器110、120中的任何一者。
优选地,至少散列值、签名值和公共拥有权密钥经由接口114从用户U的计算机10提供到中央服务器110,提供一组标准化的通信调用或方法,这些通信调用或方法提供了根据预定的允许且明确定义的格式提供这种信息的手段。
明确地说,优选的是,登记的文档的数字复本由登记用户U本地保存,并且有可能由用户U已经同意与其共享所述文档的其他相关方保存。因此,将不能通过检查文档登记簿来得到文档本身。
优选地,中央服务器110在将文档信息存储在文档登记簿中之前提供数据验证步骤,并且在数据验证结果不是肯定的情况下不执行所述存储。明确地说,在这种数据验证步骤中,优选地使用公共拥有权密钥来验证文档签名,在这个意义上,文档或文档版本的文档签名实际上是使用拥有权公共密钥来计算的。这可以(例如)通过使用公共拥有权密钥解密文档签名来发生,并且结果匹配对应散列值。验证步骤还可以包括验证版本密钥,如下所述。
图3a示出了在上述登记步骤之后立即构成的文档登记簿。第一行包含标题,后续行包含存储的数据。第二数据行(“事务ID”=1)对应于所述登记步骤。注意,图3a所示的信息是概念性的,并且实际数据可以以任何合适方式电子存储,诸如存储在常规关系数据库中。
这种方法和这种系统实现了所讨论文档和任何额外存储的文档可以由系统100的任何用户安全地验证,而文档本身不需要被分发或公开给除了拥有方以及拥有方或任何其他方已经授予这种访问的任何其他相关方之外的其他方。可以如何执行这种验证将在下文中描述。
事实上,如将从下文理解的,这种登记文档在其当前更新版本中的“拥有权”可以定义为拥有权私有密钥的控制,并且文档本身的任何数字存储版本可以被认为是原始文档的“复本”,原始文档仅仅定义为所讨论的由控制拥有权私有密钥的那方拥有的文档。
根据优选实施例,除了上述信息之外,作为所述文档登记的一部分,还可以在文档登记簿中存储文档登记簿中所存储的文档的第一版本的散列值。此外,在文档登记簿中存储文档的文档版本号。后者在图3a中示出(“文档版本”标题)。第一版本散列值未在图3a中示出为列(当使用下面描述的版本签名时,其不是必需的),但是在使用此类散列值的情况下,可以至少基于存储在文档登记簿中的文档的第一版本的有效载荷来计算此类散列值。此外,如果使用的话,此类原始散列值可以以对应于文档散列的方式计算,使得特定文档的第一存储版本的散列值与相同文档版本的原始散列值相同。使用这种文档版本和/或原始文档散列提供了跟踪同一文档的各种版本的简单方式,这些版本都通过原始散列值的同一个值绑定在一起。
根据本发明的一个优选实施例,每个文档可以仅以一个单一最新版本存在。因此,每次在文档登记簿中登记特定文档的更新文档版本时,那个版本都会取代所有先前版本。换句话说,文档版本优选地不能在树形结构中分叉。这优选由中央服务器110监控。
优选地,文档散列值和原始散列值两者被计算为上述类型的相应单向函数。更优选地,同一个文档的连续版本的相应版本号构成一系列单调值,诸如从“1”开始,每个值对于同一个文档是唯一的。
因此,同一个文档可以在文档登记簿中登记多次,其中每个此类登记与文档的特定版本相关,并且尤其是与所讨论文档的不同连续修正相关,如下所述。
优选地,在文档登记簿中还存储用于文档或文档相关事件的每个此类登记的唯一事务标识符(“文档ID”)。事务标识符是“唯一的”意味着其在文档登记簿中的所有登记帖子(图3a至图3e中的各个行)中是唯一的。优选地,事务标识符是单调递增的数字序列,诸如从“0”开始。
根据图2a和图3a所示的额外优选实施例,对于存储在文档登记簿中的文档,除了上述信息之外,还在文档登记簿中存储公共版本密钥,所述公共版本密钥是还包括对应私有版本密钥的不对称加密密钥对中的公共密钥。版本密钥对与拥有权密钥对不同,但是优选地也由向文档登记簿登记文档和/或文档版本的用户控制并且优选地产生。优选地,以常规方式产生私有版本密钥,之后基于私有版本密钥来计算对应公共版本密钥。私有版本密钥优选地作为人类可读的纯文本包含在文档登记簿中所登记的文档的当前版本中,优选地包含在所讨论的用于计算文档的上述散列值的文档部分中。在图2a中,字段“版本密钥”是私有版本密钥;在图3a中,字段“版本密钥”是对应的公共版本密钥。
明确地说,在文档登记簿中登记的所讨论文档的当前版本不是所述文档的第一版本。这在图2b和图3b中示出,其中指示了第二版本(“文档版本”=2,见图3b的第3行)。
明确地说,所讨论文档的第二版本包括对文档有效载荷的修正。在图3a所示的简单示例中,修正是文本“文本:这是一个修正”的添加。然而,所述修正可以是有效载荷的一部分的任何改变,所述有效载荷安排成在对所讨论文档感兴趣的各方(诸如文档中所表明的协议的各方或类似各方)之间传达认知定性信息。例如,所述修正可以推翻将债务金额从10000SEK改为5000SEK的信息。事实上,所述修正可以是第一版本有效载荷的认知内容的任何改变,或者所述有效载荷的任何添加。优选地,这种修正简单地由明文部分来指示,诸如“-文本:5000SEK”,所述明文部分被所讨论债务的各方推定为易读的。
优选地,额外文档版本包括所讨论文档的先前版本(优选地,所有先前版本)的所有文本内容,如果文档签名存在于文档中,则优选地还包括先前版本中所包含的文档签名。在图2b中,这通过文档的版本2来说明,所述版本2仅仅是文档的第一版本加上与第二版本相关的额外信息,所述额外信息附加到所讨论文档的第一版本,位于第一版本文本的末尾。因此,优选地,包含在任何先前版本中的所有拥有权和版本密钥还优选地包含在所讨论文档的当前最新版本中。
还应注意的是,所讨论文档的第2版中的修正并不需要改变公共拥有权密钥,因为文档的拥有者并未因修正而改变。因此,在标题“印章:”之后的文档文本不包含更新的拥有权公共密钥。然而,在图中未示出的优选实施例中,每个新文档版本的登记包括确定更新的拥有权私有-公共密钥对,以及向所讨论文档版本添加更新的公共拥有权密钥。
然而,文档的第二版本优选地包括更新版本私有密钥,其优选地针对每个新文档版本来重新计算。图3b中的第3行包括相应更新的公共版本密钥。
文档的第二版本还优选地包含(第二版本文档的)当前时间戳和更新的文档签名。优选地基于当前拥有权公共密钥以及基于更新的散列值来计算签名,所述更新的散列值是至少基于包含在最新文档版本中的修正的有效载荷信息来计算的,并且优选地还至少基于文档的先前版本(优选地,所有先前版本)的有效载荷来计算的。在图2b所示的示例中,散列值是基于文档的第二版本的从其开头一直到短语“-分类帐签名:”的整个文本内容来计算的。
在图3b中,示出了第三帖子(行),其对应于文档的第二版本的登记。用于所登记的第一版本的事务ID为1,而用于第二版本的事务ID为2。时间戳被更新以反映作为所讨论文档的一部分的时间戳,对于文档的第一版本也是如此。用于第一登记版本的事务类型是代表“创建”的“CRE”,而用于第二登记版本的事务类型是代表“附加”的“APP”。文档版本对于第二版本为2,并且对于第一版本为1。
如从图3b中还可以清楚地看出,内容散列以及文档签名(“拥有者签名”)在第一版本与第二版本之间是不同的。
由于拥有权公共密钥尚未在版本1与2之间在文档中改变,所以文档登记簿中的对应信息(其与在所讨论文档中相同)也没有改变。相反,版本公共密钥已经在版本1与2之间改变,这在文档登记簿的“版本密钥”字段中反映。注意,版本公共密钥不是文档的一部分,因为文档仅包含版本私有密钥(图2b中的“版本密钥”)。
在图3a和图3b两者中,还显示了相应“分类帐印章”值,每个文档版本(1和2)对应一个。分类帐印章是印章散列,其优选地是基于文档登记簿本身计算的散列值,优选地基于文档登记簿中的紧接在前登记的帖子或事务(不管所述帖子或事务与哪个文档相关)或者处于其紧接在添加包含所讨论印章散列的登记事务或帖子之前的状态的整个文档登记簿来计算。印章散列可以基于任何合适的单向函数(诸如SHA-256)来计算。
根据本发明的优选实施例,文档登记方法包括验证步骤,其中中央服务器10请求拥有方(换句话说,经由接口114登记所讨论的文档或文档版本的用户U的计算机10)使用包含在所讨论的同一文档的先前版本中的私有版本密钥产生一条验证信息的版本签名。
该条验证信息可以是能够使用私有版本密钥产生签名的任何信息,并且其真实性可以由中央服务器110使用用于所讨论的先前文档版本的存储在文档登记簿中的对应公共版本密钥来验证。例如,该条验证信息可以是用于这个验证步骤的预定标准信息;最新或先前版本的文档本身;或任何其它明确定义的信息。
包含版本私有密钥的文档的先前版本优选地是直接在正被验证的版本之前的文档的在前版本。
优选地,登记特定文档的修正版本包括以下步骤:
首先,文档拥有者创建新的版本公共/私有密钥对,以及经过修正的文档内容,其中新创建的版本私有密钥以明文形式插入在修正文档中。
其次,文档拥有者创建文档登记簿API调用,所述调用包含新创建的版本公共密钥,以及使用先前版本私有密钥的所述版本公共密钥的签名,所述版本私有密钥是从文档拥有者持有的文档的先前版本中读取的。
第三,文档登记簿验证所述签名以及文档拥有者签名,并且将它们与从文档拥有者接收的新版本公共密钥一起存储在文档登记簿中。
优选地不执行上述在文档登记簿中进行存储,除非相对于文档的所述先前版本存储在文档登记簿中的公共版本密钥与所讨论的版本签名相匹配,在这个意义上,中央服务器110能够使用所述版本公共密钥验证所讨论的版本签名实际上是使用所述版本私有密钥计算的。这可以暗示着中央服务器使用公共版本密钥解密版本签名,并且其将结果与预期的预定信息进行比较。
因此,为了存储文档的最近新版本,存储用户必须能够访问文档的所述先前版本的复本,因为版本私有密钥仅存储在那里。因此,未经授权的用户不可能通过向文档登记簿登记文档的新版本来劫持文档。此外,如果文档本身丢失,则不可能通过登记同一文档的额外版本来恢复所述文档。优选地,在这种情况下,中央服务器110所允许的仅有修正是撤销文档。此外,文档版本分叉(这是不希望的)将更加不可能。
一旦特定文档或特定文档的特定版本已经在文档登记簿中登记,其便可以被任何相关方验证为真实的,并且声称是所讨论的文档或版本的拥有者的一方实际上是合法拥有者。图5中示出了验证方法,其可以构成上述登记方法的延续,并且在第一步骤中开始。
在第二步骤中,所讨论的拥有方使用登记文档的私有拥有权密钥(即,对应于存储在文档登记簿中并且可以在文档本身中指定的公有拥有权密钥的私有拥有权密钥)来计算一条数字验证信息的数字验证签名。这个验证信息可以是任何预定信息,诸如文本“我,格林先生,在2014-12-03 08:43:02时拥有这个文档,文档Id为f7373b58”;文档本身;或任何其它合适的明确定义的信息。优选的是,该条预定信息包含特定于拥有者的子片段(“格林先生”)。此外,优选的是,该条预定信息包括特定于所讨论文档的子片段(“文档Idf7373b58”)。还优选的是,该条预定信息包括指定所讨论请求的当前时间的子片段(“2014-12-03 08:43:02”)。这避免了重放攻击。
接着,在下一个步骤中,拥有方向验证方提供所计算出的验证签名。验证方可以是请求验证所讨论的文档或文档版本的拥有权的任何相关方。这种请求可以经由接口115提出,并且经由中央服务器110在验证用户与拥有用户之间传达。然而,优选地,验证方和拥有方可以直接在它们之间执行这些验证步骤,优选地使用计算机10、20之间的预定通信接口,交换执行拥有权验证所需的信息。
在随后步骤中,所讨论的公共拥有权密钥用于验证验证签名和文档签名两者。因此,验证签名被验证,在这个意义上,使用存储在文档登记簿中并且有可能存储在文档本身中的公共拥有权密钥来验证所述私有拥有权密钥实际上用于计算所述验证签名。例如,公共拥有权密钥可以用于解密验证签名,并且可以将结果与预期的该条信息进行比较。还使用相同的拥有权公共密钥来验证文档签名,在这个意义上,存储在文档登记簿中的文档签名实际上是以对应方式使用拥有权公共密钥计算的。
只要验证方能够访问所讨论的文档或文档版本,双方就拥有执行这些验证步骤的所有必要信息。如果验证用户实际上没有访问文档的权限,则验证方可以经由接口115向中央服务器110请求拥有权公共密钥和文档签名。还可以使得中央服务器110经由接口115向第三方提供服务,以通过向由所讨论的第三方指示的拥有方发送对验证签名的对应请求来验证由所讨论的第三方识别的特定文档的拥有权和真实性。可以使用文档登记簿中存储的文档ID来识别文档。
在随后步骤中,如果上述验证结果是肯定的,则文档或文档版本被确认,这意味着声称是拥有者的那方实际上是拥有者,并且文档是真实的。
因此,使用这种验证方法,可以安全地验证文档或文档版本的拥有权和真实性,而不必在各方之间或者甚至在任何一方与中央服务器110之间实际传送实际文档内容。只要声称是拥有者的那方控制合适的私有拥有权密钥,该方实际上就是适当的拥有者。
明确地说,优选的是,文档登记簿不包含任何关于拥有方身份的信息。接着,验证过程优选地包括初始步骤,其中验证方以电子方式向拥有方询问所讨论的文档或文档版本的拥有权状态。
可以使得验证方希望还验证声称是特定文档或文档版本的拥有者的那方实际上能够访问所讨论的文档或文档版本的复本,例如作为额外安全措施。接着,验证方法包括额外的单独步骤,其中通过基于文档或文档版本计算验证散列值来验证拥有方有权访问文档或文档版本,并且验证方验证从拥有方以电子和数字方式发送给验证方的验证散列值。可以使用验证方和拥有方都知道的预定散列函数来计算所讨论的散列值,但是散列值优选地不同于存储在文档登记簿中的对应文档签名。
这里,使用术语“文档”和“文档版本”。应当理解,根据本发明的系统和方法可以允许或不允许文档版本化,但是如果允许,优选的是特定文档可以以一个或几个文档版本存在,对于这些版本,所讨论的“文档”总是相同的。进一步优选的是,在这种情况下,每个文档在文档登记簿中只有一个明确定义的最新(或仅有)文档版本。在图2a至图2e中,这些文档版本以递增登记时间的次序对应于不同的数据库帖子或文本行。
此外,应当理解,文档登记簿可以存储几个不同文档的登记帖子,在这种情况下,帖子或行以登记时间的次序出现在文档登记簿中,而不管特定文档版本属于哪个文档。
还应当理解,作为这里所使用的术语,文档的“登记”可以根据情况与特定文档或特定文档的文档版本相关。
图3a至图3e中示出的数字文档标识符(“文档Id”)优选地针对每个登记文档或文档版本存储在文档登记簿中,其长度优选地最多为16字节,并且优选地用于由相关方识别文档以及向相关方识别文档,尤其是由所讨论的拥有方和中央服务器110识别文档以及向其识别文档。优选地,当通过接口114、115通信时,使用这个数字文档标识符来识别特定的文档或文档版本。
根据一个优选实施例,接口115布置成将公共文档登记簿的所有字段公之于众。此外,中央服务器110、120中的至少一者布置成以公共方式发布更新的文档登记簿,诸如在公共可用的网站上,以供相关第三方进行文档验证。
如上提到,根据本发明的方法此外可以包括修正所讨论的文档的额外步骤,并且此后使用修正文档执行基于文档计算数字文档散列值以及计算文档的数字文档签名,如上所述。因此,在这种情况下,“修正文档”构成了新的后续文档版本,其在文档登记簿中登记为额外帖子或行,具有新的唯一版本号(“文档版本”),但是具有与先前版本相同的文档标识符(“文档id”)。作为所述步骤的结果,产生数字修正文档散列值以及数字修正文档签名,并且修正文档签名以及公共拥有权密钥和修正文档散列值以数字方式存储在文档登记簿中,作为额外文档版本,而修正文档本身不被存储在文档登记簿中。
这在图2b和图3b中示出,图2b示出了这种修正文档,图3b示出了在这种添加之后的文档登记簿的状态。
明确地说,优选的是,所述修正所涉及的文档与文档登记簿中的所讨论文档的所有修正相关联,并且当存储所讨论文档的额外修正时,针对所述文档和文档的所有修正存储的信息被保留在文档登记簿中。在图中,使用字段“文档ID”来体现关联。
事实上,图2c和图3c以对应方式示出了对文档的另一种修正,属于类型“TRA”,代表将所讨论的文档“转移”或指派给不同拥有方。此外,图2d和图3d还相应地示出了由所述不同拥有方(新的文档拥有者)执行的类型“APP”的额外修正,而图2e和图3e示出了又一个额外修正,这次是类型“REV”,代表所讨论文档的“撤销”或取消。“TRA”和“REV”类型的修正将在下文中详细描述。
一般来说,优选的是,对于每个文档和文档版本(修正),在文档登记簿中额外存储相应时间戳,至少对于添加和拥有权改变类型的修正,优选地与修正文档本身中所包含的对应时间戳相同。
明确地说,优选的是,所讨论的时间戳包括时间戳信号值或基于时间戳信号值来计算,所述时间戳信号值是基于公共可用信息源并使用上述定义类型的单向函数来计算的。这里,“公共可用信息源”意指某个明确定义的信息源,所述信息源可以按原样被采样、描述或使用以便产生描述参考源当前状态的参考文档。参考源的示例包括某个预先定义的交易所交易股票的当前报价;体育比赛中的当前状态;公共广播直播电视节目中的当前观看图像帧或这种节目或公共广播直播无线电节目中的当前广播音频信号;以及互联网上发布的报纸的当前头版。接着使用这种采样的参考文档来计算所讨论的时间戳信号。例如,在SE 1350947中描述了这种时间戳信号的计算。使用这种时间戳使得验证方能够验证所讨论的文档在用于计算所讨论的时间戳信号值的特定信息出现在所述信息源中的某个时间点之前不可能存在。
还优选的是,所述方法还包括一个步骤,所述步骤针对额外文档或文档版本的每次登记进行重复,其中基于文档登记簿本身来计算数字登记簿签名,并且其中这个登记簿签名被公开发布。上述印章散列在其是基于文档登记簿本身来计算的情况下是这种登记簿签名的示例。签名被“公开发布”意味着签名在数字发布通道中以如下方式发布,使得其容易被足够广泛的受众所获得,并且随着时间的推移具有足够的持久性,使得第三方有可能能够像在发布的日期和时间处那样准确地验证发布时间和签名值的内容,即使在发布之后已经过去一段时间,诸如几年。这使得有可能针对任何相关方验证在计算登记簿签名时的文档登记簿的状态至少在公布所述登记簿签名时存在。因此,结合登记簿签名的公开发布使用如上所述的时间戳信号,任何一方都可以高精度地验证特定登记文档或文档版本的时序。
为了清楚起见,时间戳可以优选地包含所讨论的实际时间,或者可以是与可以在线访问的时间戳明确相关联并指定所讨论时间的一条信息。
这种登记簿签名还可以应用于文档登记簿更新的帖子或区块,使得这种区块中所含有的信息使用公开发布的签名来盖章,并且还在随后的帖子或区块中添加到文档登记簿本身,诸如使用与图3a至图3e所示的列对应的额外列。
为了进一步提高安全性,可以使用合适的单向函数来计算登记簿签名,这也是基于上述定义类型的时间戳信号。明确地说,数字登记簿签名可以额外地基于一条公共信息来计算,所述公共信息是基于公共可用的信息源并使用单向函数来计算的。
如上提到,并且与图2a至图2e和图3a至3e所示的相反,优选的是,针对每个修正文档,换句话说,针对每个登记文档版本,提供并使用新的不对称拥有权密钥对。这提高了与以几个版本存在的文档的拥有权状态相关的安全性。注意,文档优选地仅在其最新版本中被认为是“真实的”。换句话说,文档的额外登记版本推翻所述文档的所有先前版本,使得先前版本的拥有者不一定是文档的拥有者。表达这一点的另一种方式是,在本发明意义上的拥有权优选地与文档级别相关,而不是与文档版本级别相关。
图2c和图3c示出了呈对不同拥有方(诸如控制计算机20的那方)的文档拥有权改变的形式的修正。这种拥有权改变方法可以形成上述登记方法的一部分,并且在图6中示出。在第一步骤中,所述方法开始。
接着,在额外步骤中,将新的私有拥有权密钥提供给不同拥有方。例如,这可以通过新的拥有方自己产生私有拥有权密钥并将其存储起来以备将来参考来发生。接着,新的拥有方还可以产生对应公共拥有权密钥,所述公共拥有权密钥接着作为添加的帖子或行的一部分添加到文档登记簿中,并且有可能还添加到修正文档中。
根据优选实施例,使用转让者的私有拥有权密钥创建并签署转让事务消息,或者致使其包含由同一密钥对某条其它明确定义的信息的签名,并且从转让者传送到中央服务器110。中央服务器110接着可以通过使用先前存储的公共拥有权密钥验证转让者实际上使用了私有拥有权密钥产生所述签名(通过使用对应公共拥有权密钥对签名进行解密的步骤)来验证转让事务。此后,如果签名验证结果是肯定的,则中央服务器110在文档登记簿中存储用于所讨论文档的受让者公共拥有权密钥。受让者的公共拥有权密钥可以包含在所述转让事务消息中,并且可以先前已经从受让者传送给转让者。
因此,图3c中所示的文档也是图2b中所示的前一版本(2)的文档的纯附加版本。在所述文档的先前版本中,在末尾处附加了以下信息:
·文本“-内容”,其给修正有效载荷信息加标题。
·文本“-文本:拥有者变更”,其向任何相关方发信号通知这个修正是拥有权转移型修正。
·新的公共拥有权密钥(“拥有者密钥”),其如上所述进行计算,对应于文档中未包含的新私有拥有权密钥(对应于以上内容)。
·新的私有版本密钥(“版本密钥”),其如上所述针对版本3进行计算。
·上述类型的新时间戳。
·新的分类帐签名(见下文)。
还可以添加新的文档签名(尽管图2c中未示出)。新的文档签名是使用新的公共拥有权密钥和至少文档有效载荷(诸如从文档的开始直到但不包括签名本身的整个版本3)来计算的。注意,图2b至图2d用词“待散列的内容”来标记以划定所讨论的文档的哪些部分用于散列的计算。
相应地,图3c在具有事务标识符3的第四帖子或行中示出了作为文档的第三版本的登记结果而添加到文档登记簿的信息,所述文档现在具有新的拥有者。文档标识符和原始散列保持不变,而内容散列、文档签名(“拥有者签名”)、拥有权公共密钥(“拥有者密钥”)、版本公共密钥(“版本密钥”)和印章散列(“分类帐印章”)在文档的版本2与3之间是不同的。注意,新的拥有者未在文档登记簿中标识。
由于新的拥有者现在控制与存储在文档登记簿(以及文档本身的版本3)中的公共拥有权密钥相对应的私有拥有权密钥,因此原始拥有方将不能提供如上所述的验证签名来证明合法拥有权;然而,新的拥有方将能够产生这种验证签名。
在图2d和图3d中,分别示出了新的文档拥有者如何向文档引入附加,从而创建新的修正文档版本4。结果,字段“文档散列”、“版本密钥”、“拥有者签名”、“版本签名”、“分类帐签名”和“分类帐印章”在事务3与5之间发生变化,而“拥有者密钥”保持不变(文档拥有者在这个附加操作中没有变化)。
图2e和图3e示出了在文档登记簿中登记的另一种类型的文档修正,即文档取消(代表撤销的事务类型“REV”)。这种修正类似于“APP”和“TRA”修正,因为在文档的末尾添加纯附加,具有“内容”文本以及新的公共拥有权密钥、新的版本密钥、新的时间戳和任选地(图2e中未示出),新的签名。然而,在这种取消之后,中央服务器110不允许进一步的文档修正。
优选地,在文档的取消版本“5”下,公共拥有权密钥被记录在文档登记簿中,其不对应于有效的私有拥有权密钥。在所述示例中,使用公共密钥“0000000000000000000000000000000000000000000000000000000000000000000000000000000000”。优选地,不对应于有效私有拥有权密钥的这个公共密钥也本身存储在文档中,这在图2e中示出。其可以存储或不存储在文档登记簿中—在图3e中,存储先前的公共拥有权密钥作为参考,而不是全部为零的新密钥。
由于在取消之后声称是文档拥有者的任何一方都将不能产生与现在存储的公共拥有权密钥相匹配的验证签名,所以文档实际上不属于任何人,并且因此是无效的或取消的。注意,取消事务本身可以由任何相关方经由接口115通过对中央服务器110的查询来验证。
图7示出了可能作为图4所示方法步骤的延续而采取的取消步骤。在第一步骤中,方法开始。接着,提供所述无效的公共拥有权密钥。计算文档散列,并且基于文档散列,以上述方式计算文档签名。此后,无效的公共拥有权密钥与至少所述散列和签名一起存储在文档登记簿中。
如上所述,每个文档在其所有潜在相应版本中都是相应的纯文本文档。这具有如下优点,即文档容易被人类读取,同时当通过使用本文所述类型的系统100的自动化方法处理时仍然有用。优选地,这里描述的存储在文档本身中的所有密钥、签名和散列也优选地以纯文本形式写出。这种纯文本文档的示例包括普通的.TXT文本文件,以Unicode格式或任何其它合适的文本格式编码,其方式使得所讨论的文档的散列将被很好地定义。
明确地说,优选的是,所述文档在其所有相应版本中包括关于以下各项的纯文本信息:时间戳;公共拥有权密钥;文档签名;和/或文档散列值,如上所述。所述文档还可以包括关于拥有方身份的信息。
如上所述,优选的是,基于既不包括文档散列值也不包括文档签名的文档部分来计算文档散列值和文档签名。
一般来说,优选的是,根据预定的纯文本文档格式化标准,尤其是可以由机器剖析器(例如,软件实现的剖析算法)明确且确定地剖析的标准,对文档的所有相应版本进行格式化,使得这种剖析器能够从所讨论的文档中自动提取各种预定信息部分,诸如公共拥有权密钥或文档有效载荷。
明确地说,优选的是,所讨论的文档格式化标准是不需要文档结束标签的纯文本格式。合适的此类格式化标准包括YML格式化标准,但一般不包括XML(因为XML格式化需要结束标签)。由于不需要结束标签,所以可以通过在所讨论的文档末尾简单地进行纯添加来产生文档修正,如例如图2b至图2d所示,而不必以任何其它方式重新格式化文档,诸如重新格式化包含在稍后版本中的文档的先前部分,以遵守格式化标准。这在不同的文档版本中维持完整的文档完整性和可跟踪性。
根据本发明的方法和系统的关键方面之一是文档登记簿不包含某些信息。例如,优选的是,文档登记簿不包括关于特定文档的拥有方的任何信息。事实上,文档登记簿和中央服务器110的活动优选地相对于文档本身保持在最小限度。例如,中央服务器110优选地不访问在文档登记簿中存储帖子所针对的任何文档,并且优选地从不改变这些文档的信息内容。这导致文档登记簿不包含可以被既不是拥有者也无权访问登记文档的任何复本的恶意方使用的任何信息。
此外,优选的是,中央服务器110不进行文档格式验证,而是登记用户负责根据上述预定格式来格式化所讨论的文档,所述预定格式可以(例如)是YML格式。
根据一个优选实施例,软件功能由系统100提供,诸如由一个或几个中央服务器110、120提供给用户U计算机10、20、30。软件功能可以(例如)作为可本地安装的软件应用程序、经由合适接口提供的网络服务等来提供,并且布置成允许此类计算机10、20、30自动执行与系统100相关并且使用由系统100指定的预定文档格式的特定任务。例如,软件应用程序可以布置成根据所述预定文档格式化标准,基于包括文档有效载荷信息、公共拥有权密钥等的文档信息,自动构建适当格式化的文档或文档版本;通过读取文档的公共拥有权密钥和公共版本密钥并经由接口115向中央服务器110查询所讨论的文档的有效性、文档是否已经被泄露、其是否是文档的最新版本等来自动确认文档;以及根据用户U的手动命令和/或根据由软件实现的算法生成的自动产生的命令执行的其它自动化文档特定任务。优选地,所讨论的软件应用程序由系统100提供,并且当软件应用程序的更新版本可用时,所述软件应用程序被自动推送给系统100的所有用户或对系统100的所有用户可用。这保证了在文档登记簿中登记的所有文档总是具有符合系统100的所有用户自动处理的格式化。软件应用程序的源代码也可以公开,使得系统100的所有用户可以将相同的源代码合并在内部数字文档处理软件系统中,并且使得在编译所述源代码之后,与系统100相关的文档处理方面被统一应用并且符合由系统100定义的预定通信标准。
在图2a至图2e中,为文档指定“Url”。在这种示例性情况下,所讨论的URL(统一资源定位符)指定包含文档身份的互联网地址,使得URL为全球唯一的。一般来说,存储在文档登记簿中的文档身份在文档登记簿中所登记的所有文档当中是唯一的。在文档中指定此类URL的情况下,优选的是,URL实际上指定使文档可用的网络资源。这样做的优点是向文档提供唯一地址,任何能够访问实际数字文档复本的人都可以得到所述地址,所述唯一地址将总是使得可以得到与文档的最新版本相关的信息(诸如版本信息、文档生命周期信息或其它元数据)(因为文档身份在文档版本之间不会改变)或者有可能甚至与所讨论的文档本身相关的信息。因此,在登记修正后,中央服务器110、拥有方或任何其它合适方可以更新所述URL所达到的内容以反映文档的最新更新版本。
图8a和图8b以文档版本“1”和文档版本“2”示出了根据本发明优选方面的配置文档。所述配置文档优选地具有与图2a至图2e示出并且上面讨论的“普通”文档相同的类型,并且关于图2a至图2e所示的文档所述的全部内容通常也适用于图8a至图8b所示的配置文档。明确地说,优选的是,配置文档用于将特定的分类帐或文档登记簿操作者绑定到文档登记簿,优选地使用如下所述的分类帐密钥对。优选为明文文件的配置文档还可以优选地用于记录关于文档登记簿、其特征和操作模式的其它信息。如果配置文档只是“普通”文档,其添加到文档登记簿中,进行修正并且以对应于任何文档的方式维持在其中,则不需要额外的基础设施来处理文档登记簿拥有权控制和配置。此外,文档登记簿变得独立,在这些方面只参考其自身。
在图8a至图8b所示的示例中,配置信息包含文档登记簿操作者的联系信息(“info@enigio.com”),以及关于维护者及其主网站的信息。优选地,配置文档的每一个或最新更新与文档登记簿自身一起分发,并且不包含秘密信息。其优选地以与任何其它文档登记簿文档相同的方式进行版本控制。
图3a至图3e示出了在事务“0”和“4”中如何在文档登记簿中登记配置文档。在事务“0”中,配置文档首先在表示为代表“配置创建”的“COC”的事务中进行登记。优选地,每个文档登记簿中的第一事务总是本类型的配置文档,使得任何相关方可以查询第一事务并且在那里找到关于文档登记簿的特定配置文档的可靠验证信息。
配置文档此外还包括关于控制文档登记簿的一方的信息,优选使用下面描述的分类帐密钥对。在代表“配置转移”的类型“COT”的事务“4”中,将文档登记簿控制从第一配置文档版本(图8a)所指定的一方“Enigio Time AB”转移到第二配置文档版本(图8b)所指定的“TimeBeat AB”。这个转移作为“普通”文档转移来执行,如上文结合用于文档“01c91cf9”的事务“3”所述。因此,与事务“0”相比,事务“4”中的公共拥有权密钥发生了变化,参见图8a和图8b。
因而,合法操作文档登记簿的一方的可验证踪迹被存储在文档登记簿本身中。这样,不被允许的一方变得难以控制分类帐。
此外,优选的是,文档登记簿中的每个帖子包含分类帐签名,所述分类帐签名是使用包括私有分类帐密钥和公共分类帐密钥的分类帐密钥对中的私有分类帐密钥以对应于上述签名的方式计算的签名。分类帐签名优选地至少基于文档登记簿中先前登记的帖子(诸如基于存储在所述帖子本身中的信息)来计算。
优选地,只有被授权为私有分类帐密钥拥有者的分类帐操作者可以向分类帐添加新的事务。这可以由任何相关方通过对向文档登记簿添加帖子以使用私有分类帐密钥提供特定某条信息的签名的感兴趣一方提出挑战来验证。此类签名接着可以使用公共分类帐密钥来验证,所述公共分类帐密钥是公开可用的,诸如来自配置文档的最新版本。历史上,可以使用针对每个帖子记录在文档登记簿中的分类帐签名来验证分类帐拥有权。
此外,如图2a至图2e所示,当前公共分类帐密钥优选地以明文形式包含在文档登记簿中所登记的每个文档的每个版本中。在本示例中,更新的公共分类帐密钥(“分类帐密钥”)仅在分类帐密钥更新时添加到文档中。接着,每个文档的拥有者可以验证操作文档登记簿的一方的合法性,并且因此整个系统是独立的,只参考其自身。
优选地,中央服务器110此外还经由接口114结合每个文档操作返回记录在每个文档登记簿中的分类帐签名,并且针对每个此类操作将其登记在文档登记簿中(列“分类帐签名”)中。这样,分类帐签名可以用于在每次文档操作之后使用分类帐签名和可用的公共分类帐密钥验证操作文档登记薄的一方的合法性。
如果私有分类帐密钥丢失,则操作文档登记簿的一方不能再向文档登记簿添加文档和文档版本。这可能导致文档登记簿被永久锁定而无法进行进一步文档操作。
文档登记簿控制优选地由新的操作员转移,从而创建新的私有/公共分类帐密钥对,并且登记对配置文档的拥有权转移(“COT”)文档修正。优选地,公共分类帐密钥与用于所述配置的公共拥有权密钥相同,并且文档登记簿操作方所持有的私有分类帐密钥与私有配置文档拥有权密钥相同。因此,通过在分类帐中登记配置文档转移操作,与“普通”文档拥有权转移相同的机制被用于整个文档登记簿的转移,其中对应历史可追溯性可用于每个相关方。或者,公共分类帐密钥可以在配置文档中登记为公共拥有权密钥,在这种情况下,在配置文档中只需要公布一个此类公共密钥。
在优选实施例中,只有当文档包含有效的(可验证的)当前私有文档版本密钥以及有效的(可验证的)当前分类帐签名时,文档才被认为是有效的。
在一个优选实施例中,系统100的所有用户都需要运行中央服务器110,进而保存文档登记簿的复本。接着,此类用户(诸如银行)可以允许子用户(诸如银行雇员)经由用户的计算机10、20访问所讨论的中央服务器。在这种情况下,优选的是,如果用户的中央服务器110没有首先接收最新文档登记簿的完整复本用于本地存储在所讨论的中央服务器110中,则文档登记簿中的事务不被认为是完整的,其中所述最新文档登记簿具有所讨论的事务。优选地,用户的中央服务器110可以与另一中央服务器120(诸如对等中央服务器或服务于几个中央子服务器的中央超级服务器)通信,其中从所述另一中央服务器120接收最新文档登记簿的复本。只有当接收中央服务器110向发送中央服务器120提供完整的接收文档登记簿的散列作为所述接收到文档登记簿的更新复本的证明时,才可以认为事务完成。
一般来说,本发明中所使用的所有密钥对优选地为256位ECC,或者更高的安全性。优选地不要在各方、中央服务器或任何其它实体之间传输私有密钥。
实际上,从客户端10、20到服务器110的所有API 114、115调用可以被加密,诸如使用上述公共分类帐密钥,以提高安全性。
图9示出了根据本发明的优选方面的又一个示例性配置文档。图9中的配置文档(参见初始有效载荷中的类型:协议)代表一种协议,其中初始有效载荷中的散列指出了所附的协议文本(可能是PDF文档),所述协议文本需要多个签署者和验证者。初始有效载荷(未修正的有效载荷)还规定了协议合法生效所必需的签署者和验证者。当每个签署者和验证者执行其相应职责时,为相应签名添加修正。签署者或验证者还有可能拒绝使其被放弃的协议。
在这个示例中,首先,文档登记有初始有效载荷。在有效载荷之前,指定应该有的文档类型,以及因此,此类初始有效载荷所需的必填字段和数据,在本例中为“协议”。
在这个示例中,有效载荷指定了创建者“Mats ”,其电子邮件为“mats@demo.se”。应该商定并签署的文本经由散列和文件名“ENIGIO_SPD_EARCHIVER.pdf”引用。此后,创建者还陈述了本协议合法生效所需的签名;两个签署者和一个验证者。验证者HansAlmgren签署了协议是可以的,并且准备好在他看来由签署者签署。Mats 和Almgren是所需的签署者。
正如在示例中可以看到的,当每个所列出的人员签署所述文档时,添加具有其签名的修正。每个修正有效载荷包含签署者的身份和所执行的操作以及签名。还进行来自系统和拥有者的所有其它所需签名来对修正文档和每个修正封口。每个更改的版本都在文档登记簿中用必要的散列和签名进行更新,以使新版本成为有效原件。当所有所需签名完成时,协议成为有效数字原件。
上面已经描述了优选实施例。然而,对于技术人员来说显而易见的是,在不脱离本发明的基本思想的情况下,可以对所公开的实施例进行许多修改。
例如,许多其它类型的数字文档可以使用这里描述的类型的系统和方法来登记和处理。
除了图3a至图3d所示的字段之外,文档登记簿可以包括用于每个登记文档或文档版本的额外字段。
这里关于根据本发明的方法所述的一切同样适用于根据本发明的系统,反之亦然。
因此,本发明不限于所描述的实施例,而是可以在所附权利要求书的范围内变化。
Claims (22)
1.用于登记电子存储数字文档(A)的方法,包括以下步骤:
a)向拥有方提供数字文档和私有拥有权密钥,所述私有拥有权密钥是还包括对应公共拥有权密钥的不对称加密密钥对中的私有密钥;
b)基于所述文档(A)来计算数字文档散列值;
c)所述拥有方使用所述私有拥有权密钥来基于所述数字文档散列值计算所述文档(A)的数字文档签名;
d)在集中式或分布式服务器功能或数据库(110、112、120、122)中,在电子数字文档登记簿中数字存储所述文档签名以及所述公共拥有权密钥和所述文档散列值,而不是数字存储所述文档。
2.根据权利要求1所述的方法,其中步骤d)还包括在所述文档登记簿中存储所述文档(A)的第一版本的散列值和所述文档的文档版本号。
3.根据权利要求1或2所述的方法,其中步骤d)还包括还在所述文档登记簿中存储唯一事务标识符。
4.根据前述权利要求中任一项所述的方法,其中步骤d)还包括还在所述文档登记簿中存储公共版本密钥,所述公共版本密钥是还包括对应私有版本密钥的不对称加密密钥对中的公共密钥,并且所述私有版本密钥包括在所述文档(A)中。
5.根据权利要求4所述的方法,其中所述文档(A)的当前版本不是第一版本,其中所述方法还包括验证步骤,在所述验证步骤中要求所述拥有方使用包含在所述文档(A)的先前版本中的私有版本密钥来产生一条验证信息的签名,并且其中除非相对于所述文档(A)的所述先前版本存储在所述文档登记簿中的公共版本密钥匹配所讨论的签名,否则不执行步骤d)。
6.根据前述权利要求中任一项所述的方法,包括以下步骤:
e)所述拥有方使用所述私有拥有权密钥来计算一条数字验证信息的数字验证签名;
f)所述拥有方向验证方提供所述验证签名;
g)使用所述公共拥有权密钥来验证所述验证签名和所述文档签名;以及
h)如果步骤g中的所述验证是肯定的,则确认所述文档(A)。
7.根据权利要求6所述的方法,其中所述文档登记簿不包括关于所述拥有方的身份的信息,并且在步骤e)之前有一个步骤,在该步骤中所述验证方以电子方式向所述拥有方询问所讨论的文档(A)的拥有权状态。
8.根据权利要求6或7所述的方法,其中在单独步骤中,通过使用所述验证方已知的散列函数基于所述文档(A)计算验证散列值并且所述验证方验证所述验证散列值,来验证所述拥有方有权访问所述文档(A)。
9.根据前述权利要求中任一项所述的方法,其中所述方法包括以下额外步骤:修正所述文档(A)并且然后使用修正的文档执行步骤b)和c),以便产生数字修正文档散列值和数字修正文档签名,并且在所述登记簿中数字存储所述修正文档签名以及所述公共拥有权密钥和所述修正文档散列值,而不是数字存储所述修正的文档。
10.根据权利要求9所述的方法,其中所述文档(A)与所述登记簿中的所述文档的所有修正相关联,并且其中当存储所述文档的额外修正时,针对所述文档(A)和所述文档的所有修正存储的信息被保留在所述登记簿中。
11.根据权利要求9或10所述的方法,其中对于每个文档和文档修正,在所述登记簿中额外存储相应时间戳。
12.根据权利要求11所述的方法,其中所述时间戳包括时间戳信号值或基于时间戳信号值来计算,所述时间戳信号值是基于公共可用信息源并使用单向函数来计算的。
13.根据权利要求9至12中任一项所述的方法,其中所述方法还包括重复步骤,在所述重复步骤中基于所述登记簿计算数字登记簿签名,并且其中所述登记簿签名被公开发布。
14.根据权利要求13所述的方法,其中所述数字登记簿签名是额外基于一条公共信息来计算的,所述公共信息是基于公共可用信息源并使用单向函数来计算的。
15.根据权利要求9至14中任一项所述的方法,其中提供新的不对称拥有权密钥对并且将其用于所述修正文档。
16.根据权利要求15所述的方法,其中所述文档修正是将文档拥有权改变为不同拥有方,并且其中所述方法包括向所述不同拥有方提供新的私有拥有权密钥的额外步骤。
17.根据权利要求9至16中任一项所述的方法,其中文档修正是文档取消,其中在这种文档取消之后不允许进一步的文档修正。
18.根据前述权利要求中任一项所述的方法,其中所述文档是纯文本文档。
19.根据权利要求18所述的方法,其中所述文档(A)包括关于以下各项的信息:拥有方身份;时间戳;公共拥有权密钥;文档签名;和/或文档散列值。
20.根据权利要求18至19中任一项所述的方法,其中所述文档(A)根据预定的纯文本文档格式化标准进行格式化。
21.根据权利要求20所述的方法,其中所述文档格式化标准不需要文档结束标签。
22.用于登记电子存储数字文档(A)的系统(100),所述系统(100)包括集中式或分布式服务器功能(110;120),其布置成根据来自用户(U)的计算机(10)的请求,在电子数字文档登记簿中数字存储数字文档签名以及公共拥有权密钥和数字文档散列值,而不是数字存储所述文档(A),其中所述公共拥有权密钥是还包括对应私有拥有权密钥的不对称加密密钥对中的公共密钥,其中所述散列值是基于所述文档(A)计算的,并且其中所述文档签名是基于所述散列值并使用所述私有拥有权密钥来计算的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1750538A SE541713C2 (en) | 2017-05-03 | 2017-05-03 | Method and system for registering digital documents |
SE1750538-9 | 2017-05-03 | ||
PCT/SE2018/050459 WO2018203817A1 (en) | 2017-05-03 | 2018-05-03 | Method and system for registering digital documents |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110785760A true CN110785760A (zh) | 2020-02-11 |
CN110785760B CN110785760B (zh) | 2023-12-05 |
Family
ID=64016134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880029351.1A Active CN110785760B (zh) | 2017-05-03 | 2018-05-03 | 用于登记数字文档的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11233657B2 (zh) |
EP (1) | EP3619640A4 (zh) |
CN (1) | CN110785760B (zh) |
SE (1) | SE541713C2 (zh) |
SG (1) | SG11201909905WA (zh) |
WO (1) | WO2018203817A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101897987B1 (ko) * | 2017-11-24 | 2018-09-12 | 주식회사 포드림 | 전자파일의 전자지문 관리방법, 관리장치 및 관리시스템 |
WO2019143936A1 (en) | 2018-01-19 | 2019-07-25 | Nasdaq, Inc. | Systems and methods of digital content certification and verification using cryptography and blockchain |
US11836721B2 (en) * | 2018-06-29 | 2023-12-05 | Intel Corporation | Protection of information in an information exchange |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
US11409845B2 (en) | 2019-01-17 | 2022-08-09 | Nxp B.V. | Method for determining if a machine learning model has been copied |
IT201900001169A1 (it) * | 2019-01-25 | 2020-07-25 | Land S R L | Procedimento e sistema per tracciare un documento digitale |
US11240038B2 (en) | 2019-03-15 | 2022-02-01 | Avaya Inc. | Ledger-based confidence model for content transfers across a communication network |
US20200366754A1 (en) * | 2019-05-13 | 2020-11-19 | Google Llc | Systems and methods for processing content item operations based on fraud resistent device identifiers |
CN110149205B (zh) * | 2019-05-27 | 2022-02-08 | 北京计算机技术及应用研究所 | 一种利于区块链保护物联网终端的方法 |
US11586989B2 (en) * | 2019-07-15 | 2023-02-21 | Nxp B.V. | Method for detecting if a machine learning model has been copied using intermediate outputs of the machine learning model |
US11651056B2 (en) | 2019-08-30 | 2023-05-16 | T-Mobile Usa, Inc. | Cryptographically managing license compatibility |
US11671263B2 (en) * | 2019-08-30 | 2023-06-06 | T-Mobile Usa, Inc. | Cryptographically securing data files in a collaborative environment |
US11455855B2 (en) * | 2019-09-24 | 2022-09-27 | International Business Machines Corporation | Content validation document transmission |
US11108920B2 (en) | 2019-10-03 | 2021-08-31 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
US10848628B1 (en) | 2019-10-03 | 2020-11-24 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
US10924615B1 (en) | 2019-10-03 | 2021-02-16 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
US11128765B2 (en) | 2019-10-03 | 2021-09-21 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
US10951779B1 (en) | 2019-10-03 | 2021-03-16 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
US10827082B1 (en) * | 2019-10-03 | 2020-11-03 | Starfish Technologies LLC | Cloud-based scanning systems and remote image processing methods |
SE545318C2 (en) | 2021-03-01 | 2023-07-04 | Enigio AB | Method and system for registering digital documents |
US11968307B2 (en) * | 2021-09-27 | 2024-04-23 | International Bisuness Machines Corporation | Private ledger partitions in blockchain networks |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254464A (zh) * | 1997-12-31 | 2000-05-24 | 皇家菲利浦电子有限公司 | 传输带数字签名的修订版本 |
CN1916985A (zh) * | 2001-03-07 | 2007-02-21 | 迪布尔特有限公司 | 自动交易机数字签名系统和方法 |
CN101124766A (zh) * | 2003-12-22 | 2008-02-13 | 英高系统有限公司 | 创建电子签名的文档的方法 |
US20090019549A1 (en) * | 2007-07-13 | 2009-01-15 | Microsoft Corporation | Updating and Validating Documents Secured Cryptographically |
CN101689989A (zh) * | 2007-07-13 | 2010-03-31 | 微软公司 | 创建和确认密码保护文档 |
US20160300234A1 (en) * | 2015-04-06 | 2016-10-13 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
US20160328713A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Identity Transactions Between Devices |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898707B1 (en) * | 1999-11-30 | 2005-05-24 | Accela, Inc. | Integrating a digital signature service into a database |
ES2385565T3 (es) * | 2000-09-21 | 2012-07-26 | Research In Motion Limited | Sistema y método de firma mediante código por software |
US7287164B2 (en) | 2002-09-12 | 2007-10-23 | International Business Machines Corporation | Method and system for encoding signatures to authenticate files |
EP1643402A3 (en) * | 2004-09-30 | 2007-01-10 | Sap Ag | Long-term authenticity proof of electronic documents |
ATE495602T1 (de) * | 2005-11-09 | 2011-01-15 | Xyzmo Software Gmbh | Verfahren zur erzeugung einer fortgeschrittenen elektronischen signatur eines elektronischen dokuments |
US20080195868A1 (en) * | 2007-02-12 | 2008-08-14 | Nokia Corporation | Rollback-Resistant Code-Signing |
US7958367B2 (en) * | 2007-05-30 | 2011-06-07 | Hitachi, Ltd. | Authentication system and apparatus |
US8868916B2 (en) * | 2011-09-30 | 2014-10-21 | Adobe Systems Incorporated | Self-contained electronic signature |
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 |
US10425428B2 (en) * | 2015-08-20 | 2019-09-24 | Guardtime Sa | Verification lineage tracking and transfer control of data sets |
US9935777B2 (en) * | 2015-08-31 | 2018-04-03 | Adobe Systems Incorporated | Electronic signature framework with enhanced security |
US9904805B2 (en) * | 2015-09-23 | 2018-02-27 | Intel Corporation | Cryptographic cache lines for a trusted execution environment |
EP3430563B1 (en) * | 2016-03-15 | 2020-09-09 | Visa International Service Association | Validation cryptogram for interaction |
US10419225B2 (en) * | 2017-01-30 | 2019-09-17 | Factom, Inc. | Validating documents via blockchain |
-
2017
- 2017-05-03 SE SE1750538A patent/SE541713C2/en unknown
-
2018
- 2018-05-03 EP EP18794628.0A patent/EP3619640A4/en active Pending
- 2018-05-03 US US16/608,974 patent/US11233657B2/en active Active
- 2018-05-03 WO PCT/SE2018/050459 patent/WO2018203817A1/en unknown
- 2018-05-03 CN CN201880029351.1A patent/CN110785760B/zh active Active
- 2018-05-03 SG SG11201909905W patent/SG11201909905WA/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254464A (zh) * | 1997-12-31 | 2000-05-24 | 皇家菲利浦电子有限公司 | 传输带数字签名的修订版本 |
CN1916985A (zh) * | 2001-03-07 | 2007-02-21 | 迪布尔特有限公司 | 自动交易机数字签名系统和方法 |
CN101124766A (zh) * | 2003-12-22 | 2008-02-13 | 英高系统有限公司 | 创建电子签名的文档的方法 |
US20090019549A1 (en) * | 2007-07-13 | 2009-01-15 | Microsoft Corporation | Updating and Validating Documents Secured Cryptographically |
CN101689989A (zh) * | 2007-07-13 | 2010-03-31 | 微软公司 | 创建和确认密码保护文档 |
US20160300234A1 (en) * | 2015-04-06 | 2016-10-13 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
US20160328713A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Identity Transactions Between Devices |
Also Published As
Publication number | Publication date |
---|---|
CN110785760B (zh) | 2023-12-05 |
EP3619640A1 (en) | 2020-03-11 |
US11233657B2 (en) | 2022-01-25 |
SG11201909905WA (en) | 2019-11-28 |
EP3619640A4 (en) | 2020-04-08 |
US20200186361A1 (en) | 2020-06-11 |
SE1750538A1 (en) | 2018-11-04 |
WO2018203817A1 (en) | 2018-11-08 |
SE541713C2 (en) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110785760B (zh) | 用于登记数字文档的方法和系统 | |
JP6943356B2 (ja) | Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same} | |
US10992456B2 (en) | Certifying authenticity of data modifications | |
US11849047B2 (en) | Certifying authenticity of data modifications | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
US20050177715A1 (en) | Method and system for managing identities in a peer-to-peer networking environment | |
US20200201964A1 (en) | File verification database system | |
US8312528B2 (en) | System and method for generating a digital certificate | |
CN111800268A (zh) | 用于区块链背书的零知识证明 | |
CN111723355A (zh) | 数据库中的信息管理 | |
US20050228999A1 (en) | Audit records for digitally signed documents | |
US20040250070A1 (en) | Authentication of electronic documents | |
US20030078880A1 (en) | Method and system for electronically signing and processing digital documents | |
US10936552B2 (en) | Performing bilateral negotiations on a blockchain | |
US20090006842A1 (en) | Sealing Electronic Data Associated With Multiple Electronic Documents | |
US11025430B2 (en) | File provenance database system | |
JP2003244139A (ja) | 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体 | |
US11139960B2 (en) | File redaction database system | |
CN111831740B (zh) | 对等体的同步 | |
US20220278848A1 (en) | Certifying authenticity of data modifications | |
US20080109651A1 (en) | System and methods for digital file management and authentication | |
US20200082391A1 (en) | Performing bilateral negotiations on a blockchain | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
JP2004110197A (ja) | センタ・システムにおける情報処理方法及びアクセス権限管理方法 | |
US11301823B2 (en) | System and method for electronic deposit and authentication of original electronic information objects |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40023938 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB02 | Change of applicant information |
Address after: Stockholm, SWE Applicant after: Enigio Co. Address before: Stockholm, SWE Applicant before: Enigio time |
|
CB02 | Change of applicant information |