[go: up one dir, main page]

HK40124108A - Verification of digital credentials and digital signatures - Google Patents

Verification of digital credentials and digital signatures

Info

Publication number
HK40124108A
HK40124108A HK62025110017.3A HK62025110017A HK40124108A HK 40124108 A HK40124108 A HK 40124108A HK 62025110017 A HK62025110017 A HK 62025110017A HK 40124108 A HK40124108 A HK 40124108A
Authority
HK
Hong Kong
Prior art keywords
credential
issuer
entity
credentials
cert
Prior art date
Application number
HK62025110017.3A
Other languages
Chinese (zh)
Inventor
黄凯斌
Original Assignee
电信区块链联盟软件公司
Filing date
Publication date
Application filed by 电信区块链联盟软件公司 filed Critical 电信区块链联盟软件公司
Publication of HK40124108A publication Critical patent/HK40124108A/en

Links

Description

数字凭证与数字签章的验证Verification of digital credentials and digital signatures

技术领域Technical Field

本发明与用于验证凭证和签章的方法和系统相关,并且更确切地,与用于验证当签署文件时签署者的数字签章和数字凭证以及请求认证类型数字凭证的证明者的数字签章和数字凭证的方法和系统相关。This invention relates to methods and systems for verifying credentials and signatures, and more specifically, to methods and systems for verifying the digital signatures and digital credentials of signatories when signing documents, as well as the digital signatures and digital credentials of certifiers requesting authentication of digital credentials.

背景技术Background Technology

认证授权机构(certificate authority,CA)为验证身份并通过一对加密金钥将它们与数字认证绑定的一个组织。作为最常用的网络公开公钥基础结构(public keyinfrastructures,PKIs)方法,CA中的任何发行实体皆为发行数字认证的实体,其中该数字认证通过该认证的命名主题认证了公钥的所有权。CA阶层(hierarchy)由位于顶层的根CA(root CA)开始,在根CA下有数个中间CA(intermediate CA),该根CA会发行中间CA认证,该中间CA会接着发行一层之下的其他CA,或签署终端实体认证(end entity certificate)。A Certificate Authority (CA) is an organization that verifies identities and binds them to digital certificates using a pair of cryptographic keys. As the most commonly used method of public key infrastructures (PKIs) for networks, any issuing entity within a CA is an entity that issues a digital certificate, which authenticates ownership of the public key through the certificate's named subject. The CA hierarchy begins at the top with the root CA, followed by several intermediate CAs. The root CA issues intermediate CA certificates, which in turn issue certificates to other CAs below that level, or sign end entity certificates.

CA是作为授权公钥给网络中的实体们的可信任的第三方。通过由CA签署的金钥,多数网络服务为安全的。A Certificate Authority (CA) acts as a trusted third party, authorizing public keys to entities within a network. Most network services are secure thanks to keys signed by a CA.

由于为单独主导的信任阶层,该CA阶层因为在CA阶层的实体的网络身份需要由CA或在CA阶层中的中间CA,有时为私人公司或政府,来验证而存有问题和限制。另一个问题是在发行认证给实体/组织时,该CA必须亲自进行实体/组织的身份辨识以确保他们正在认证的实体/组织确实是其声称的认证实体,该步骤通常被称为认识你的客户(know yourcustomer,KYC)流程,传统上,当实体需要向不同的CA申请多个认证时,需要为了针对不同CA的申请而重复进行KYC流程。此外,此种中心化的信任阶层易受发生于中间CA和终端实体其中之一的单点故障影响,并在受危害时可能会发生灾难性的结果,如同DigiNotar的案例所示。Because it is a single-dominated trust hierarchy, this CA hierarchy suffers from problems and limitations because the online identities of entities within the CA hierarchy need to be verified by the CA itself or an intermediate CA within the CA hierarchy, sometimes a private company or government. Another issue is that when issuing certifications to entities/organizations, the CA must personally verify the entity/organization's identity to ensure that the entity/organization they are certifying is indeed the entity they claim to be certifying. This step is often referred to as the Know Your Customer (KYC) process. Traditionally, when an entity needs to apply for multiple certifications from different CAs, the KYC process needs to be repeated for each application. Furthermore, this centralized trust hierarchy is vulnerable to a single point of failure occurring at either the intermediate CA or the end entity, and could have catastrophic consequences if compromised, as illustrated by the DigiNotar case.

发明内容Summary of the Invention

本发明的目的为提供用以发行数字认证和电子签署文件的方法与系统,期可以消除CA系统的KYC流程以及单点失败,并提升数字身份验证的安全性。The purpose of this invention is to provide a method and system for issuing digital certifications and electronically signed documents, which can eliminate the KYC process and single point of failure in CA systems and improve the security of digital identity verification.

为达成上述目的,用以发行认证类型的数字凭证的方法包含:To achieve the above objectives, methods for issuing authentication-type digital credentials include:

认证发行实体由认证请求实体接收该认证类型的该数字凭证的请求,其中该认证类型的该数字凭证的该请求包含由该认证请求实体产生的公钥;The authentication issuing entity receives a request for a digital credential of the authentication type from the authentication request entity, wherein the request for the digital credential of the authentication type contains a public key generated by the authentication request entity;

该认证发行实体发送该认证请求实体的现存数字凭证的请求至该认证请求实体;The issuing entity sends a request to the requesting entity for its existing digital credentials.

该认证发行实体发送该认证请求实体的现存数字凭证的请求至该认证请求实体;The issuing entity sends a request to the requesting entity for its existing digital credentials.

该认证发行实体验证该现存数字凭证是否被验证过的且该认证请求实体是否有权背书该现存数字凭证,并且当验证该现存数字凭证为被验证过的且认证请求实体有权背书该现存数字凭证时,产生包含该认证请求实体的该公钥的该认证类型的该数字凭证;以及The issuing entity verifies whether the existing digital certificate has been verified and whether the requesting entity is authorized to endorse the existing digital certificate. When the existing digital certificate is verified as verified and the requesting entity is authorized to endorse it, the issuing entity generates a digital certificate of that authentication type containing the public key of the requesting entity.

该认证发行实体发送该认证类型的该数字凭证至该认证请求实体。The issuing entity sends the digital credential of that type of authentication to the requesting entity.

在一个实施例中,为了验证该现存数字凭证是否为被验证过的且该认证请求实体是否有权背书该现存数字凭证,方法进一步包含:In one embodiment, to verify whether the existing digital credential has been verified and whether the authentication requesting entity is authorized to endorse the existing digital credential, the method further includes:

分别将当前凭证以及当前凭证拥有者初始化为该现存数字凭证和该认证请求实体;Initialize the current credential and its owner to the existing digital credential and the authentication request entity, respectively.

认定该当前凭证是否有效;Determine whether the current credential is valid;

当认定该当前凭证有效时,认定发行该当前凭证的发行者是否在数字凭证阶层中为可用的且为可信任的,其中该发行者在该数字身份阶层中在凭证管理者的M层之下,其中M为大于零的整数,该发行者在该当前凭证拥有者的上面一层,并且拥有由在该发行者上面一层的另一个发行者所发行的数字凭证,以及该凭证管理者位在该数字凭证阶层中的最顶层。When the current credential is deemed valid, it is determined whether the issuer of the current credential is available and trustworthy in the digital credential hierarchy, wherein the issuer is below the credential manager at level M in the digital identity hierarchy, where M is a positive integer, the issuer is one level above the current credential owner, and has digital credentials issued by another issuer at level one above the issuer, and the credential manager is at the top level in the digital credential hierarchy.

当认定该发行者在该数字凭证阶层中为可用但不可信任时,将该当前凭证拥有者与该当前凭证分别替换为该发行者与该发行者的数字凭证,并且重新执行认定该当前凭证是否为有效的;When the issuer is determined to be available but untrusted in the digital certificate hierarchy, the current certificate owner and the current certificate are replaced with the issuer and the issuer's digital certificate, respectively, and the validity of the current certificate is re-evaluated.

当认定该发行者在该数字凭证阶层中为可用且可信任时,认定该现存数字凭证为被验证过的并执行认定该认证请求实体是否为有权背书该现存数字凭证;When the issuer is deemed available and trustworthy in the digital certificate hierarchy, the existing digital certificate is deemed verified and an assessment is performed to determine whether the entity requesting the authentication is authorized to endorse the existing digital certificate.

当认定该现存凭证为有效的和认定发行该当前凭证的发行者在该数字凭证阶层中为有用的且可信的任何认定结果为失败时,认定该现存数字凭证是未被验证的;以及The existing digital certificate is deemed unverified if any determination that the existing certificate is valid and that the issuer of the current certificate is useful and trustworthy within the digital certificate hierarchy fails; and

当认定该现存数字凭证是被验证过的时,认定该认证请求实体是否有权背书该现存数字凭证。When it is determined that the existing digital certificate has been verified, it is determined whether the entity requesting the authentication has the right to endorse the existing digital certificate.

为了达成前述目的,用于电子签署文件的方法包括:To achieve the aforementioned objectives, methods for electronically signing documents include:

凭证验证实体发送文件签署实体的签署者数字凭证的证明的请求至该文件签署实体,并且由该文件签署实体接收该签署者数字凭证的证明,其中该证明包含与该签署者数字凭证相关联的签署者公钥;The credential verification entity sends a request for proof of the signer's digital credential of the document signing entity to the document signing entity, and the document signing entity receives the proof of the signer's digital credential, wherein the proof contains the signer's public key associated with the signer's digital credential;

该凭证验证实体验证该签署者数字凭证是否为被验证过的,并且当确认该签署者数字凭证为有效时,发送文件至该文件签署实体;以及The credential verification entity verifies whether the signer's digital credential has been verified, and when the signer's digital credential is confirmed to be valid, sends the file to the file signing entity; and

该凭证验证实体由该文件签署实体接收由与该签署者公钥成对的签署者私密金钥所签署的该文件以及该签署者公钥,并且通过该签署者公钥验证该文件是否由该文件签署实体签署。The credential verification entity receives the file signed by the signer's private key, which is paired with the signer's public key, and the signer's public key from the file signing entity, and verifies whether the file was signed by the file signing entity using the signer's public key.

在一个实施例中,为了验证该签署者数字凭证是否为被验证过的,该方法进一步包含:In one embodiment, to verify whether the signer's digital credential has been verified, the method further includes:

将当前凭证以及当前凭证拥有者初始化为该签署者凭证以及该文件签署实体;Initialize the current credential and its owner to the signer's credential and the document's signing entity;

认定该当前凭证是否为有效的;Determine whether the current credential is valid;

当认定该当前凭证为有效时,认定发行该当前凭证的发行者是否在数字凭证阶层中为可用的且可信任的,其中该发行者在该数字凭证阶层中在凭证管理者的M层之下,其中M为大于零的整数,该发行者在该当前凭证拥有者的上面一层,并且拥有由在该发行者上面一层的另一发行者所发行的数字凭证,并且该凭证管理者位在该数字凭证阶层的最顶层;When the current credential is deemed valid, it is determined whether the issuer of the current credential is available and trustworthy in the digital credential hierarchy, wherein the issuer is below the credential manager at level M in the digital credential hierarchy, where M is an integer greater than zero, the issuer is one level above the current credential owner, and has digital credentials issued by another issuer at level one level above the issuer, and the credential manager is at the top level of the digital credential hierarchy.

当认定该发行者在该数字凭证阶层中为可用但不可信任时,将该当前凭证拥有者和该当前凭证分别替换为该发行者和该发行者的数字凭证,并且重新执行认定该当前凭证是否为有效的;When the issuer is determined to be available but untrusted in the digital certificate hierarchy, the current certificate owner and the current certificate are replaced with the issuer and the issuer's digital certificate, respectively, and the validity of the current certificate is re-evaluated.

当认定该发行者在该数字凭证阶层中为可用且可信任时,认定该签署者数字凭证为被验证过的;以及When the issuer is deemed available and trustworthy within the digital credential hierarchy, the signer's digital credential is deemed verified; and

当认定该当前凭证是否为有效的和认定的发行该当前凭证的发行者在该数字阶层中是否为可用的且可信的任何认定结果为失败时,认定该签署者数字凭证为未被验证的。The signer's digital certificate is deemed unverified if any determination of whether the current certificate is valid and whether the issuer of the current certificate is available and trustworthy in the digital hierarchy fails.

为反映前述内容,每个方法皆分别采用双重验证技巧,该双重验证技巧包括无论数字凭证属于认证类型或非认证类型,该数字凭证为有效的,并且验证根据亲子发行关系连接至该数字凭证的发行者为可信任的,由于双重验证技巧可以被当成是发行认证类型凭证和验证被签署的文件的应用的先决条件,因此可消除重复困扰应用中的证明者与验证者的KYC流程,同时,通过双重验证技巧,数字凭证可以被更安全的验证,此外,用于验证的cert-类型凭证和非cert凭证的弹性选择可以依序反应任何实体可以在身份阶层中拥有多个数字身份,可有cert-类型凭证、非cert凭证或两者皆有,该身份阶层可以统一容纳那些cert-类型凭证和非cert凭证。To reflect the foregoing, each method employs a dual authentication technique, which includes verifying the validity of the digital credential regardless of whether it is an authenticated or non-authenticated type, and confirming that the issuer linked to the digital credential based on the parent-child issuance relationship is trustworthy. Since dual authentication can be considered a prerequisite for issuing authenticated type credentials and verifying signed documents, it eliminates the redundant KYC process for provers and verifiers in applications. Furthermore, dual authentication allows for more secure verification of digital credentials. In addition, the flexible choice between cert-type and non-cert-type credentials used for verification can reflect that any entity can have multiple digital identities in an identity hierarchy, including cert-type, non-cert-type, or both, and the identity hierarchy can uniformly accommodate both cert-type and non-cert-type credentials.

为达成前述目的,用于发行认证类型的数字凭证和电子签署文件的系统包括分布式账本网络、第一计算设备、第二计算设备、至少一发行者设备以及数据库。To achieve the aforementioned objectives, a system for issuing digital credentials and electronically signed documents of the authentication type includes a distributed ledger network, a first computing device, a second computing device, at least one issuer device, and a database.

该分布式账本网络维护存储与被发行数字凭证有关的撤销信息的分布式账本。This distributed ledger network maintains and stores a distributed ledger that stores revocation information related to issued digital certificates.

该第一计算设备通讯连接至该分布式账本网络。The first computing device is communicatively connected to the distributed ledger network.

该第二计算设备通讯连接至该第一计算设备。The second computing device is communicatively connected to the first computing device.

当亲子发行关系存在并且当被提供为通讯连接至该第一计算设备时,该至少一发行者设备被提供并连接至该第二计算设备的数字签证,当至少一发行设备的发行者设备发行该数字凭证给该第二计算设备,并且当剩下的发行设备中每一者发行另一数字凭证给至少一发行设备中的其他一个设备,该亲子发行关系存在。When a parent-child issuing relationship exists and when provided for communication connection to the first computing device, the at least one issuing device is provided and connected to the digital certificate of the second computing device, the parent-child issuing relationship exists when the issuing device of the at least one issuing device issues the digital certificate to the second computing device, and when each of the remaining issuing devices issues another digital certificate to the other of the at least one issuing device.

该数据库通讯连接至该第二计算设备和该至少一个发行者设备,并且存储发行的数字凭证,该发行的数字凭证包含该第二计算设备和该至少一发行者设备的该数字凭证,其分别可被该第二计算设备和该至少一个发行者设备存取。The database communicates with the second computing device and the at least one issuer device, and stores issued digital credentials, which contain the digital credentials of the second computing device and the at least one issuer device, respectively accessible by the second computing device and the at least one issuer device.

考量到结构特征为第一计算设备作为认证发行实体和认证验证实体、第二计算设备当作认证请求实体和文件签署实体以及至少一发行者设备满足亲子发行关系而与待验证的数字凭证相关联,前述系统使其可如前述方法所述执行发行数字认证和电子签署文件的应用,因此也可由此系统得到源自证明者的现存凭证和数字身份验证的安全性被提升所达到的在KYC流程方面上进步的好处,至于单点失败,因为此系统是实现在分布式账本技术之上,源自任何单点失败的系统伤害可以被最小化,而不进一步影响系统中不受该失败所危害的部分。Considering the structural features of a first computing device acting as both an authentication issuing entity and an authentication verification entity, a second computing device acting as an authentication request entity and a document signing entity, and at least one issuer device being associated with the digital credential to be verified based on a parent-child issuing relationship, the aforementioned system enables it to perform the application of issuing digital authentication and electronically signing documents as described in the aforementioned method. Therefore, the system also provides the benefit of improved security in KYC processes due to enhanced security of existing credentials and digital identity verification derived from the certifier. As for single points of failure, because this system is implemented on distributed ledger technology, the system damage from any single point of failure can be minimized without further affecting the parts of the system that are not harmed by that failure.

其他发明的目的、优势或新颖的特征由以下实施方式段落并参考相应图示下会更加清楚。Other objectives, advantages, or novel features of the invention will become clearer from the following description paragraphs and with reference to the corresponding illustrations.

附图说明Attached Figure Description

图1为示意图,展示了根据本发明的数字身份阶层的一个实施例;Figure 1 is a schematic diagram illustrating an embodiment of the digital identity hierarchy according to the present invention;

图2为示意图,展示了根据本发明的数字身份阶层的另一个实施例;Figure 2 is a schematic diagram illustrating another embodiment of the digital identity hierarchy according to the present invention;

图3为流程图,展示了根据本发明的数字身份的真实性的验证;Figure 3 is a flowchart illustrating the verification of the authenticity of digital identity according to the present invention;

图4为流程图,展示了根据本发明的用于发行数字认证的方法;Figure 4 is a flowchart illustrating the method for issuing digital certification according to the present invention;

图5为流程图,展示了根据本发明用于电子签署文件的方法的一个实施例;Figure 5 is a flowchart illustrating an embodiment of the method for electronically signing documents according to the present invention;

图6为流程图,展示了根据本发明用于电子签署文件的方法的另一个实施例;Figure 6 is a flowchart illustrating another embodiment of the method for electronically signing documents according to the present invention;

图7为示意图,展示了根据本发明用于发行数字认证和电子签署文件的系统的第一实施例的网络架构;Figure 7 is a schematic diagram illustrating the network architecture of a first embodiment of the system for issuing digitally certified and electronically signed documents according to the present invention;

图8为示意图,展示了根据本发明用于发行数字认证和电子签署文件的系统的第二实施例的网络架构;以及Figure 8 is a schematic diagram illustrating the network architecture of a second embodiment of the system for issuing digitally certified and electronically signed documents according to the present invention; and

图9为示意图,展示了根据本发明用于发行数字认证和电子签署文件的系统的第三实施例的网络架构。Figure 9 is a schematic diagram illustrating the network architecture of a third embodiment of the system for issuing digital certifications and electronically signed documents according to the present invention.

具体实施方式Detailed Implementation

即使其与此领域某些特定的实施例的详细描述结合来使用,下方描述中所使用的术语旨在以其最广合理范围的方式进行解释。特定的词汇虽然可能在下文中被强调,然而任何旨在以任何限制方式进行解读的术语会在此实施方式区段中进行定义。Even when used in conjunction with the detailed description of certain specific embodiments in this art, the terminology used in the following description is intended to be interpreted in its broadest and most reasonable sense. Specific terms may be emphasized below, however any term intended to be interpreted in any limiting manner is defined in this section on implementation.

以下介绍的实施例得由经软件及/或固件设计程序或配置的可程序化电路系统实施,或可完全由专门用途电路系统实施,也可以该等方式的组合实施。该等专门用途电路系统(若存在时)得包括诸如一个或多个特殊应用集成电路(ASICs)、可程序化逻辑装置(PLDs)、场域可程序化逻辑门阵列(FPGAs)等的形式。在以下说明中数字凭证的用语可为在后方被改述为非认证数字凭证的数字凭证,或可为在后方被改述为认证数字凭证的数字凭证,而实体,例如认证者、签署者、发行者、验证者、认证请求实体、认证发行实体、文件签署实体或凭证验证实体,可以指的是计算设备,其可为服务器、桌上型电脑、笔记型电脑、智能装置、平板电脑或其他类似设备的其中之一。The embodiments described below can be implemented by a programmable circuit system designed or configured by software and/or firmware, or entirely by a special purpose circuit system, or a combination thereof. Such special purpose circuit systems (if present) may include forms such as one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc. In the following description, the term "digital credential" may refer to a digital credential hereinafter modified to mean a non-authenticated digital credential, or a digital credential hereinafter modified to mean an authenticated digital credential. An entity, such as an authenticator, signer, issuer, verifier, authentication request entity, authentication issuing entity, document signing entity, or credential verification entity, may refer to a computing device, which may be one of a server, desktop computer, laptop computer, smart device, tablet computer, or other similar device.

所描述的实施例与一个或多个方法和系统有关,该方法和系统用于当请求认证类型数字凭证时验证证明者的数字签章和数字凭证,和用于签署文件,并且可主要聚焦在针对发行认证类型数字凭证给认证请求实体的第一主体,以及针对对于由文件签署实体所签署的文件的验证的第二主体。实体的认证类型数字凭证为来自其他可信任实体的电子数据结构,其保证将该实体和其公钥绑定的公钥的有效性和真实性,该实体可为机构、个人、电脑程序、网络地址或其他,并且为确认实体为其宣称的实体的数字身份辨识证明。为了将其与传统上称为数字认证的认证类型数字凭证区分开,所有其他的数字凭证皆可被称为非认证类型数字凭证。一般来说无论是认证类型数字凭证或是非认证类型数字凭证皆为数字凭证,基本上认证类型数字凭证可被当作数字凭证的一种特殊种类。为了简明,“数字”一词会被从“非认证类型数字凭证”、“认证类型数字凭证”和“数字签章”中移除,作为非认证类型凭证和认证类型凭证的一般术语,“数字凭证”可同样被命成更简单形式为“凭证”,本文中术语“认证(certificate)”或“凭证(credential)”可被替代命名为简称“cert”或“cred”,此名称的简写可同样被使用在处理请求或发行cert类型凭证的实体,例如cert-发行实体或cert-请求实体,上述命名规则会在此后被采用。在第一主体中为了发行cert-类型数字凭证至cert-请求实体,cert-发行实体需要接收根据cert-请求实体的现存凭证所产生的证明以及与该现存凭证相关联的cert-请求实体的公钥,该cert-发行实体必须验证该现存凭证为被验证过的,并且该cert-请求实体为可信签署者(authentic signer)背书(endorsing)该现存凭证。在验证现存凭证是否为被验证过的第一部分中,第一步需要通过与现存凭证相关联的证明被验证为有效的且现存凭证无到期也无被撤销,来检查是否该现存凭证为有效的,接着可以开始下一步以验证根据亲子发行关系(parent-child issuingrelationship)递回地追踪并连接到现存凭证的至少一发行者的其中之一是否为可信任的以完成第一部分的验证。亲子发行关系定义了至少一发行者的其中之一发行了现存凭证,并且剩下的发行者中的每一者发行另一个凭证给至少一发行者中的另一个发行者,此种追踪至少一发行者的流程会持续进行直到找到一个可信任的发行者或是直到完全找不到发行者,在辨识出一个可信任的发行者之后,在第一部分中该现存凭证为被验证过的。在用以验证该cert-请求实体是否为可信签署者背书该现存凭证的第二部分中,cert-发行实体需通过cert-请求实体的公钥验证cert-请求实体的签名,该签名是为了背书该现存凭证而产生,当第一部分和第二部分对于该现存凭证的验证为正确时,cert-发行实体产生包括cert-请求实体的公钥的cert-类型凭证,并接着发行cert-类型凭证给cert-请求实体。在第二主体中为了验证被签名的文件,cred-验证实体由文件签署实体接收基于文件签署实体的签署者凭证所产生的证明,并且验证是否该签署者凭证为被验证过的,在该签署者凭证被验证后,cred-验证实体接着发送该文件至文件签署实体,由文件签署实体接收被签署的文件,并且验证该文件是否由文件签署实体所签署,验证该签署者凭证是否为被验证过的方法类似于前方讨论的内容,在可替换的方法中,cred-验证实体可在验证该签署者凭证前传送该文件至文件签署实体,在此情况下,cred-验证实体只在验证该签署者凭证为被验证过的之后,才验证该文件是否由文件签署实体所签名。涉及到第一主体和第二主体的系统包含了证明者/签署者、被请求凭证的发行者/验证者、涉及亲子发行关系的至少一发行者、数据库以及分布式账本网络,证明者/签署者、被请求凭证的发行者/验证者、涉及亲子发行关系的至少一发行者中每一者可为计算设备。The described embodiments relate to one or more methods and systems for verifying a certifier's digital signature and digital credentials when a certified digital credential is requested, and for signing documents. These methods and systems primarily focus on a first subject issuing the certified digital credential to the entity requesting authentication, and a second subject verifying the documents signed by the document signing entity. An entity's certified digital credential is an electronic data structure from another trusted entity that guarantees the validity and authenticity of the entity and the public key bound to it. This entity can be an organization, individual, computer program, network address, or other, and serves as proof of the entity's digital identity as claimed. To distinguish it from certified digital credentials, which are traditionally referred to as digital certifications, all other digital credentials can be called non-certified digital credentials. Generally, both certified and non-certified digital credentials are digital credentials; essentially, certified digital credentials can be considered a special type of digital credential. For simplicity, the term "digital" will be removed from "non-authenticated digital credentials," "authenticated digital credentials," and "digital signature." As a general term for both non-authenticated and authenticated credentials, "digital credential" can also be simply referred to as "credential." The terms "certificate" or "credential" in this document can be replaced with the abbreviation "cert" or "cred." This abbreviation can also be used for entities that process requests for or issue cert-type credentials, such as cert-issuing entity or cert-requesting entity. The above naming convention will be adopted thereafter. In the first entity, to issue a cert-type digital credential to the cert-requesting entity, the cert-issuing entity needs to receive proof based on the existing credential of the cert-requesting entity and the public key of the cert-requesting entity associated with that existing credential. The cert-issuing entity must verify that the existing credential is verified, and the cert-requesting entity endorses the existing credential as a trusted authentic signer. In the first part of verifying whether an existing certificate is verified, the first step is to check whether the existing certificate is valid by verifying that the certificate associated with it is valid and that the existing certificate has not expired or been revoked. Then, the next step can proceed to verify whether one of the at least one issuers recursively traced and connected to the existing certificate according to a parent-child issuing relationship is trustworthy to complete the verification in the first part. A parent-child issuing relationship defines that one of the at least one issuers issued the existing certificate, and each of the remaining issuers issues another certificate to the other issuer among the at least one issuers. This process of tracing at least one issuer continues until a trustworthy issuer is found or until no issuers can be found at all. After a trustworthy issuer is identified, the existing certificate is verified in the first part. In the second part, which verifies whether the cert-requesting entity is a trusted signer endorsing the existing credential, the cert-issuing entity needs to verify the signature of the cert-requesting entity using the public key of the cert-requesting entity. This signature is generated to endorse the existing credential. When the verification of the existing credential in the first and second parts is correct, the cert-issuing entity generates a cert-type credential including the public key of the cert-requesting entity, and then issues the cert-type credential to the cert-requesting entity. In the second entity, to verify the signed document, the cred-verifying entity receives proof generated based on the signer's credentials from the document signing entity and verifies whether the signer's credentials are verified. After the signer's credentials are verified, the cred-verifying entity then sends the document to the document signing entity, which receives the signed document and verifies whether the document was signed by the document signing entity. The method for verifying whether the signer's credentials are verified is similar to that discussed earlier. In an alternative method, the cred-verifying entity may send the document to the document signing entity before verifying the signer's credentials. In this case, the cred-verifying entity only verifies whether the document was signed by the document signing entity after verifying that the signer's credentials are verified. The system involving the first and second entities includes a prover/signer, a requester/verifier of the requested credential, at least one issuer involved in a parent-child issuance relationship, a database, and a distributed ledger network. Each of the prover/signer, the requester/verifier of the requested credential, and at least one issuer involved in a parent-child issuance relationship may be a computing device.

根据描绘了凭证阶层的一个实施例的图1,该凭证阶层包括了一个凭证管理者XYZ所拥有的根凭证(root credential)101,多个发行者凭证102-105,其每一者为一发行者所拥有,以及多个用户凭证201-207,其每一者为一用户所拥有。根凭证101位在凭证阶层的最顶层,并且凭证管理者XYZ发行在根凭证101阶层的下面一层的一部分的多个发行者凭证102、103,多个发行者凭证102-105在分别位在根凭证101阶层之下的复数层中,并且每个发行者凭证102-105的发行者发行至少一个剩余的发行者凭证104,105或多个用户凭证201-207的其中之一,该多个用户凭证201-207中每一者位于对应的发行者凭证102-105阶层的下面一层,例如,在根凭证101下面一层的发行者凭证102、103为对应的发行者DMV、CA1所拥有,并由凭证管理者XYZ所发行,并且在发行者凭证103阶层的下面一层的发行者凭证104、105为对应的发行者CA2、CA3所拥有,并由拥有发行者凭证103的发行者CA1所发行。多个用户凭证201-207位在对应的发行者凭证102-105的阶层之下的数层之中,例如,位在发行者凭证102阶层的下面一层的用户凭证201-203为对应的用户Alice、Bob和Cathy所拥有,并且由拥有发行者凭证102的发行者DMV所发行,在发行者凭证103的阶层之下的下一层的用户凭证204为对应的用户Bob所拥有,并且由拥有发行者凭证103的发行者CA1所拥有,在发行者凭证104阶层的下面一层的用户凭证205,206为对应的用户Alice和Cathy所拥有,并且由拥有发行者凭证104的发行者CA2所拥有,并且在发行者凭证105阶层下面一层的用户凭证207为对应的用户Bob所拥有,并且由拥有发行者凭证105的发行者CA3所拥有。由此可见,在凭证阶层中的发行者有资格发行对应的发行者凭证或是用户凭证,而在凭证阶层中拥有用户凭证的用户并无资格发行任何凭证给任何人,另外,在凭证阶层中,每一者与发行者凭证和用户凭证在特定目的上相关联的多个凭证系统是可接受的,如同图1所示,凭证阶层包括但不限于一个DMV系统和一个CA系统,DMV系统和CA系统包括用于驾照和CA认证的发行者凭证和用户凭证,通常来说,CA系统的发行者凭证和用户凭证属于cert-类型凭证,而DMV系统属于非cert-类型凭证,每个凭证很可能有在凭证系统的多个阶层中的发行者凭证,在此情境下,从凭证系统的顶层往下巡访,每一层的任意发行者可分别发行至少一发行者凭证给至少一另一发行者,或分别发行至少一用户凭证给至少一用户,或完全不发行任何凭证给凭证系统的下面一层。图2显示了有着位在凭证系统的复数层中的发行者凭证的凭证系统,图2所显示的是一个凭证系统包括了由凭证管理者XYZ发行给全球组织的发行者的发行者凭证301,包括由全球组织的发行者发行给两个国家组织A,B的两个发行者的两个发行者凭证302、303,包括四个发行者凭证304-307,其中两个分别由国家组织A的发行者发行给两个当地组织A1、A2的两个发行者,而另外两个则分别由国家组织B的发行者发行给两个当地组织B1、B2的两个发行者,以及包括八个用户凭证308-315,其中两个分别由当地组织A1的发行者发行给两个用户John、Sandra,另外两个分别由当地组织A2的发行者发行给两个用户Eric、Belinda,其他两个分别由当地组织B1的发行者发行给两个用户Peter、Mary,而剩下的两个分别由当地组织B2的发行者发行给两个用户Sam和Zoe,图2所绘凭证阶层中的发行者凭证和用户凭证可为cert-类型凭证或非cert凭证,由全球组织的发行者所拥有的发行者凭证301位在根凭证101阶层的下面一层,由国家组织A,B的发行者所拥有的发行者凭证302,303位在全球组织的发行者认证301阶层的下面一层,由当地组织A1,A2,B1,B2的发行者所拥有的发行者凭证304-307位在国家组织A和B的发行者认证302,303阶层的下面一层,用户凭证308-314位在当地组织的发行者认证304-307阶层的下面一层,基本上,在此凭证系统里只有一个给全球组织的发行者的发行者凭证,然而给国家组织和当地组织的发行者凭证和给用户的用户凭证的数量可能在不同系统中会不一样。According to Figure 1, which depicts an embodiment of a credential hierarchy, the credential hierarchy includes a root credential 101 owned by a credential administrator XYZ, multiple issuer credentials 102-105, each owned by an issuer, and multiple user credentials 201-207, each owned by a user. Root credential 101 is located at the top of the credential hierarchy, and credential manager XYZ issues multiple issuer credentials 102, 103 in a portion of the layer below root credential 101. Multiple issuer credentials 102-105 are located in multiple layers below root credential 101, and the issuer of each issuer credential 102-105 issues at least one remaining issuer credential 104, 105 or one of multiple user credentials 201-207, each of which is located in the layer below the corresponding issuer credential 102-105. For example, issuer credentials 102, 103 in the layer below root credential 101 are owned by the corresponding issuers DMV, CA1 and issued by credential manager XYZ, and issuer credentials 104, 105 in the layer below issuer credential 103 are owned by the corresponding issuers CA2, CA3 and issued by issuer CA1, which owns issuer credential 103. Multiple user credentials 201-207 are located in several layers below the corresponding issuer credentials 102-105. For example, user credentials 201-203, located one layer below issuer credentials 102, are owned by the corresponding users Alice, Bob, and Cathy, and issued by the issuer DMV, which owns issuer credentials 102. User credential 204, located one layer below issuer credentials 103, is owned by the corresponding user Bob and issued by the issuer CA1, which owns issuer credentials 103. User credentials 205 and 206, located one layer below issuer credentials 104, are owned by the corresponding users Alice and Cathy, and issued by the issuer CA2, which owns issuer credentials 104. User credential 207, located one layer below issuer credentials 105, is owned by the corresponding user Bob and issued by the issuer CA3, which owns issuer credentials 105. Therefore, it is evident that issuers in the credential hierarchy are qualified to issue corresponding issuer credentials or user credentials, while users holding user credentials in the credential hierarchy are not qualified to issue any credentials to anyone. Furthermore, in the credential hierarchy, it is acceptable for each to be associated with multiple credential systems for a specific purpose, such as issuer credentials and user credentials. As shown in Figure 1, the credential hierarchy includes, but is not limited to, a DMV system and a CA system. The DMV system and CA system include issuer credentials and user credentials used for driver's licenses and CA authentication. Generally speaking, issuer credentials and user credentials in the CA system are cert-type credentials, while those in the DMV system are non-cert-type credentials. Each credential may have issuer credentials in multiple tiers of the credential system. In this scenario, traversing from the top level of the credential system downwards, any issuer at each level can issue at least one issuer credential to at least one other issuer, or issue at least one user credential to at least one user, or not issue any credentials to the next level of the credential system. Figure 2 illustrates a credential system with issuer credentials at multiple layers. The system includes issuer credentials 301 issued by credential administrator XYZ to issuers of a global organization; two issuer credentials 302 and 303 issued by the global organization to issuers of two national organizations A and B; four issuer credentials 304-307, two of which are issued by issuers of national organization A to issuers of two local organizations A1 and A2, respectively, and the other two are issued by issuers of national organization B to issuers of two local organizations B1 and B2, respectively; and eight user credentials 308-315, two of which are issued by issuers of local organization A1 to users John and Sandra, two by issuers of local organization A2 to users Eric and Belinda, and the other two by issuers of local organization B1 to users Peter and Mary, respectively. The remaining two are issued by the issuer of local organization B2 to two users, Sam and Zoe, respectively. The issuer credentials and user credentials in the credential hierarchy shown in Figure 2 can be cert-type credentials or non-cert credentials. The issuer credential 301 owned by the issuer of the global organization is located one level below the root credential 101 level. The issuer credentials 302 and 303 owned by the issuers of national organizations A and B are located one level below the issuer authentication 301 level of the global organization. The issuer credentials 304-307 owned by the issuers of local organizations A1, A2, B1, and B2 are located one level below the issuer authentication 302 and 303 levels of national organizations A and B. The user credentials 308-314 are located one level below the issuer authentication 304-307 levels of the local organizations. Basically, there is only one issuer credential for the issuer of the global organization in this credential system. However, the number of issuer credentials for national and local organizations and the number of user credentials for users may vary in different systems.

凭证管理者有资格发行非cert-类型凭证和cert-类型凭证,在凭证阶层中的发行者和用户可作为第一主体中的cert-请求实体以及第二主体中的cert-验证实体和文件签署实体的其中之一,然而只有发行在凭证阶层中的cert-类型凭证的发行者可以作为第一主体的cert-发行实体,因为在凭证阶层中凭证分别由一个对应的实体所拥有,也就是凭证管理者、发行者和用户其中之一,同等对应于凭证阶层中相同身份的凭证和其对应的实体可互相选择为同一身份,值得注意的是在图1中同样的用户Bob可在凭证阶层中有不同的发行者凭证202、204、207,其分别由发行者DMV、发行者CA1和发行者CA3所发行,在任意实体的一些凭证受到危害的情况下,该实体仍可以使用其他未被危害的凭证来证明他/她/它的身份。The credential administrator is qualified to issue both non-cert-type and cert-type credentials. Issuers and users in the credential hierarchy can be either the cert-requesting entity in the first subject or the cert-verifying entity and document-signing entity in the second subject. However, only the issuer of a cert-type credential issued in the credential hierarchy can be the cert-issuing entity in the first subject. This is because in the credential hierarchy, each credential is owned by a corresponding entity, namely the credential administrator, issuer, or user. Credentials with the same identity in the credential hierarchy and their corresponding entities can mutually select the same identity. It is worth noting that in Figure 1, the same user Bob can have different issuer credentials 202, 204, and 207 in the credential hierarchy, issued by issuer DMV, issuer CA1, and issuer CA3 respectively. Even if some of an entity's credentials are compromised, the entity can still use other uncompromised credentials to prove its identity.

虽然在数据字段(data field)中不全都是相同的,就凭证的验证而言,当cert-类型凭证和非cert-类型凭证有共通的被请求用于验证的数据字段而只有剩余数据字段不同于彼此时,它们就可当作是相同的,如图1中所示,可参考cert-类型凭证105、207和非cert凭证201,共通的数据字段包括凭证的分散识别符(decentralized identifier,DID)、凭证的到期日以及发行者的公钥和签名,并且某种方式上解释了为何凭证阶层可以同时容纳cert-类型凭证和非cert凭证的原因。除了可用于cert-类型凭证和非cert凭证的共通数据字段以外,cert-类型凭证分别进一步包括以下剩余数据字段:Although not all data fields are identical, for the purpose of credential verification, cert-type and non-cert-type credentials can be considered identical when they share common data fields requested for verification and differ only in their remaining data fields, as shown in Figure 1. Referring to cert-type credentials 105 and 207 and non-cert-type credential 201, the common data fields include the credential's decentralized identifier (DID), expiry date, and the issuer's public key and signature. This, in a way, explains why the credential hierarchy can accommodate both cert-type and non-cert-type credentials. In addition to the common data fields available for both cert-type and non-cert-type credentials, cert-type credentials further include the following remaining data fields:

type(类型):type被设为“certificate(认证)”,此为区分cert-类型凭证与非cert凭证的数据字段,其中非cert凭证通常有着不同于“certificate”的其他类型。type: type is set to “certificate”, which is a data field that distinguishes cert-type certificates from non-certificate certificates. Non-certificate certificates usually have other types than “certificate”.

dn(专有名称):cert-类型凭证拥有者的专有名称(distinguished name),例如用户名,如cert-类型凭证207的“Bob”,或是公司名。专有名称可以不是一个唯一名称。DN (Distinguished Name): The distinguished name of the owner of the cert-type credential, such as a username like "Bob" in cert-type credential 207, or a company name. The distinguished name does not have to be a unique name.

public_key(公钥):cert-类型凭证拥有者的公钥,其用于验证由cert-类型凭证拥有者的私密金钥所签署的任何信息或文件,其中该私密金钥与该公钥成对。public_key: The public key of the owner of a cert-type credential, which is used to verify any information or document signed by the owner of a cert-type credential's private key, which is paired with the public key.

role(角色):role为issuer(发行者)或user(用户)取决于该cert-类型凭证为发行者凭证或用户凭证。当cert-类型凭证中的role为issuer时该cert-类型凭证拥有者可为发行者、证明者和验证者的其中之一,而当cert-类型凭证中的role为user时该cert-类型凭证拥有者可为证明者和验证者的其中之一。The role (issuer) or user depends on whether the cert-type credential is an issuer credential or a user credential. When the role in the cert-type credential is issuer, the owner of the cert-type credential can be one of the issuer, prover, or verifier. When the role in the cert-type credential is user, the owner of the cert-type credential can be one of the prover or verifier.

purpose(目的):其显示cert-类型凭证拥有者的公钥的目的,通常为用于数字签章或用于数据加密。Purpose: This indicates the purpose of the public key held by the owner of the cert-type credential, typically for digital signing or data encryption.

algorithm(算法):数字签章或数据加密的加密算法。RSA和ECDSA常用于数字签章。对于数据加密,RSA为最广泛被使用的。Algorithm: An encryption algorithm used for digital signatures or data encryption. RSA and ECDSA are commonly used for digital signatures. For data encryption, RSA is the most widely used.

相比于cert-类型凭证的固定剩余数据字段,非cert凭证的剩余数据字段可为弹性的以适应于用以辨识非cert凭证拥有者的不同需求。当由DMV所发行的数字驾照为非cert凭证时,每个数字驾照的剩余数据字段可包含以下数据字段:Compared to the fixed remaining data fields of cert-type certificates, the remaining data fields of non-cert-type certificates can be flexible to adapt to different needs in identifying the owner of the non-cert-type certificate. When a digital driver's license issued by the DMV is a non-cert-type certificate, the remaining data fields of each digital driver's license may include the following data fields:

type:Driver’s license(驾照)。不同于cert-类型凭证特定为“certificate”,非cert凭证的type可指定它们分别的类型为该非cert凭证被分类为的类型,藉此反映非cert凭证的多样的身份辨识目的。type的不限定实例可包括数字社会安全卡、数字护照、数字公司身份徽章、数字学位与该等。type: Driver’s license. Unlike cert-type credentials which are specifically “certificate”, the type of non-certificate credentials can specify their respective types as the type to which the non-certificate credential is classified, thereby reflecting the diverse identity verification purposes of the non-certificate credential. Unlimited examples of type can include digital Social Security cards, digital passports, digital corporate identity badges, digital degrees, and the like.

dn:非cert凭证拥有者的专有名称。如同图1中所绘,Bob的驾照202的专有名称为“Bob”。该专有名称可以不是唯一的名称,例如有可能存在多张专有名称为“MichaelJordan”或“Brenda Lee”的驾照。DN: The proprietary name of a non-certificate holder. As illustrated in Figure 1, Bob's license 202 has the proprietary name "Bob". This proprietary name may not be unique; for example, there may be multiple licenses with the proprietary names "Michael Jordan" or "Brenda Lee".

gender(性别):非cert凭证拥有者的性别,为男性(male)或女性(female)。gender: The gender of the non-certificate holder, either male or female.

date of birth(出生日期):凭证拥有者的出生日期。Date of birth: The date of birth of the credential holder.

license number(证件号码):多位数的字母/数字,其在一些国家可作为身份证号码,例如Alice的驾照201中为67892094。License number: A multi-digit alphanumeric number that can be used as an ID number in some countries, such as Alice's 201 driver's license number 67892094.

由于涉及第一主体的系统可包括维护分布式账本的分布式账本网络,与凭证有关的信息可被发行为链下的(off-chain)和链上的(on-chain)。在链下的部分,系统中的cert-发行实体发行cert-类型认证,并根据不同的情境将其存储在cert-请求实体、代理人或代理商的计算设备中,而在链上的部分,用于追踪分布式账本中的凭证的撤销状态的撤销信息会被发布至分布式账本,此撤销信息会在任何凭证拥有者的私密金钥被发现为脆弱或受危害时,或是在凭证拥有者违反凭证阶层的规范时被更新,凭证拥有者可向发行该凭证的发行者请求撤销拥有者的凭证,并且关联的发行者总是可以撤销凭证和更新相关的撤销信息。需要用以证明认证撤销是合理的理由,其可为以下几种案例之一,包括凭证或相关联的发行者的受危害的钥匙、凭证拥有者的终止或放弃、凭证重新发行、暂时性撤销、关联的发行者的退役及该等。Since the system involving the first entity may include a distributed ledger network that maintains the distributed ledger, information related to credentials can be issued both off-chain and on-chain. Off-chain, the issuing entity in the system issues cert-type credentials and stores them on the computing devices of the requesting entity, agent, or proxy, depending on the context. On-chain, revocation information used to track the revocation status of credentials in the distributed ledger is published to the distributed ledger. This revocation information is updated whenever a credential holder's private key is found to be vulnerable or compromised, or when the credential holder violates the specifications of the credential hierarchy. The credential holder can request the issuer that issued the credential to revoke their credential, and the associated issuer can always revoke the credential and update the related revocation information. Justification for credential revocation is required and can include one of the following: compromised key of the credential or associated issuer; termination or abandonment of the credential holder; reissue of the credential; temporary revocation; retirement of the associated issuer; and so on.

由于其牵涉了第一和第二主体以及本发明的关键技术,凭证真实性的验证须优先被介绍。当谈到证明者所拥有的凭证的验证时,验证者验证该凭证是否为被验证过的,其中该证明者可为第一主体中的cert-请求实体和第二主体中的文件签署实体的其中之一,而该验证者可为第一主体中的cert-发行实体和第二主体中cred-验证实体的其中之一,图3描绘了凭证真实性的验证包含了以下步骤。Because it involves the first and second entities and the key technologies of this invention, the verification of credential authenticity must be introduced first. When it comes to the verification of credentials possessed by a certifier, the verifier verifies whether the credential has been verified, wherein the certifier may be one of the cert-requesting entity in the first entity and the document signing entity in the second entity, and the verifier may be one of the cert-issuing entity in the first entity and the cred-verifying entity in the second entity. Figure 3 depicts the steps involved in the verification of credential authenticity.

步骤S310:将当前凭证和当前凭证拥有者分别初始化为该凭证和该证明者。发行者追踪流程(issuer-tracing process)用以验证证明者的凭证是否为被验证过的,在发行者追踪流程中,位在凭证阶层中证明者所在阶层之上的一或多层之中的至少一发行者中每一者皆需要被根据亲子发行关系递回地追踪直到被追踪的发行者之一的凭证被验证为有效的或被追踪的发行者的凭证中没有任何一个被验证为有效的,其方向为从证明者至位在凭证管理者之下的阶层的发行者。在发行者追踪流程的一开始,此当前步骤作为发行者追踪流程的初始化,用以分别定义当前凭证和当前凭证拥有者为证明者的凭证和证明者。Step S310: Initialize the current credential and the current credential owner as the credential and the prover, respectively. The issuer-tracing process is used to verify whether the prover's credential has been verified. In the issuer-tracing process, each of at least one issuer in one or more layers above the prover's layer in the credential hierarchy needs to be recursively traced according to parent-child issuing relationships until the credential of one of the traced issuers is verified as valid or none of the traced issuers' credentials are verified as valid. The direction is from the prover to the issuer in the layer below the credential manager. At the beginning of the issuer-tracing process, this current step serves as the initialization of the issuer-tracing process, used to define the current credential and the current credential owner as the prover's credential and prover, respectively.

步骤S320:认定当前凭证是否为有效的。需要满足三个条件以验证当前凭证为有效。第一,根据该当前凭证所产生的证明需被验证为有效的。第二,当前凭证不应到期。第三,当前凭证并未被撤销,为被认定为有效的当前凭证,三个条件皆应达到,当三个条件中的任一个条件失败时,当前凭证会被认定为无效的。当前凭证的证明由当前凭证拥有者根据当前凭证、关于当前凭证中的数据字段的当前凭证拥有者的认识以及来自验证者的验证请求文件(VRD)所产生,更多关于VRD的细节可参考标题为“VERIFICATION RQUIREMENTDOCUMENT FOR CREDENTIAL VERIFICATION”的专利申请PCT/US20/56388。该VRD指定当前凭证中的三种数据,也就是,公开部分、挑战(challenging)部分和私人部分,其中公开部分和挑战部分中至少一者可用于验证,且该私人部分出于隐私考量而因此不用于验证,因此若公开部分和挑战部分皆为可用的,针对公开部分和挑战部分的当前凭证的证明根据VRD可包含至少一公开字段(field)、该对应公开字段的至少一签章、当前凭证发行者的公钥以及至少一零知识证明挑战至少一个根据VRD位于挑战部分的中的挑战字段(challengingfield)。当VRD中只有指定公开部分时,只有至少一公开字段和对应公开字段的至少一签名会被呈现在证明中。当VRD只有指定挑战部分时,只有至少一零知识证明会被呈现在证明中。对应公开字段的至少一签名由发行者所签署,并且可以通过该发行者的公钥来验证。涉及在凭证的部分数据字段上产生签名的方法称为Camenisch-Lysyanskaya(CL)签名,其使得只要在用于发行者签署整个凭证数据字段的的签名为可用的,当前凭证拥有者就可以产生凭证的对应公开字段的至少一签名而不用知道发行者的私密金钥,此CL签名技术使得验证者可以通过发行者的公钥验证对应公开字段的至少一签名。至少一零知识证明中每一者用于挑战至少一挑战字段中的其中之一,并且是通过当前凭证、该挑战字段的值以及来自VRD的挑战条件(challenging condition)所计算而得,每个挑战条件包含一个比较运算符,例如>、<、>=、<=、=以及≠,其针对对应挑战字段进行测试以使证明者证明是否符合该挑战条件。至少一零知识证明中每一者在符合该零知识证明的挑战条件时会被验证为真。当前凭证要被验证为有效的需要依据VRD中的公开部分和挑战部分的可用性而对应公开字段的至少一签名和至少一零知识证明两者或其中之一被验证为正确的。以下以驾照为验证当前凭证的一个范例,若VRD指明公开部分的公开字段包括驾照中的dn、gender以及license number以及两个零知识证明,也就是年龄>18且12/31/2020前未过期以分别挑战挑战字段date of birth和expiration date,该当前凭证拥有者会输出由发行者所签署的公开字段dn、gender和license number的三个签名,并将三个公开字段、三个签名、由DMV所拥有的发行者公钥以及挑战挑战字段date of birth和expiration date的两个零知识证明提供给验证者。若挑战字段的值,date of birth和expiration date为08/08/2000和02/17/2025,在验证三个公开字段dn、gender和license number的三个签名以及两个零知识证明被验证为正确之后,验证者验证由当前凭证拥有者所提供的驾照的证明为有效的。Step S320: Determine if the current document is valid. Three conditions must be met to verify the validity of the current document. First, the proof derived from the current document must be verified as valid. Second, the current document should not have expired. Third, the current document has not been revoked. All three conditions must be met for the current document to be considered valid; if any one of the three conditions fails, the current document will be deemed invalid. The proof of the current document is generated by the current document owner based on the current document, the current document owner's knowledge of the data fields in the current document, and the Verification Request Document (VRD) from the verifier. More details about the VRD can be found in patent application PCT/US20/56388 entitled "VERIFICATION RQUIREMENT DOCUMENT FOR CREDENTIAL VERIFICATION". The VRD specifies three types of data in the current credential: a public portion, a challenging portion, and a private portion. At least one of the public and challenging portions is available for verification, while the private portion is not used for verification due to privacy concerns. Therefore, if both the public and challenging portions are available, a proof of the current credential based on the VRD for both public and challenging portions may include at least one public field, at least one signature of that corresponding public field, the public key of the current credential issuer, and at least one zero-knowledge proof challenge—at least one challenging field located in the challenging portion according to the VRD. When the VRD only specifies the public portion, only at least one public field and at least one signature of that corresponding public field will be presented in the proof. When the VRD only specifies the challenging portion, only at least one zero-knowledge proof will be presented in the proof. The at least one signature of the corresponding public field is signed by the issuer and can be verified using the issuer's public key. The method involving generating signatures on partial data fields of a credential is called Camenisch-Lysyanskaya (CL) signature. This allows the current credential owner to generate at least one signature for the corresponding public field of the credential without knowing the issuer's private key, provided that the signature used by the issuer to sign the entire credential data field is available. This CL signature technique allows a verifier to verify at least one signature for the corresponding public field using the issuer's public key. In an at least-one zero-knowledge proof, each party challenges one of at least one challenge field, calculated using the current credential, the value of the challenge field, and a challenge condition from the VRD. Each challenge condition includes a comparison operator, such as >, <, >=, <=, =, and ≠, which tests the corresponding challenge field to allow the prover to prove whether the challenge condition is met. In an at least-one zero-knowledge proof, each party is verified as true if the challenge condition of the zero-knowledge proof is met. For a credential to be verified as valid, at least one signature and at least one zero-knowledge proof for the corresponding public fields must be verified as correct, depending on the availability of the public and challenge portions of the VRD. The following example uses a driver's license to verify the credential. If the VRD specifies that the public fields of the public portion include the driver's license's DN, gender, and license number, along with two zero-knowledge proofs (i.e., age > 18 and not expired before 12/31/2020) to challenge the challenge fields "date of birth" and "expiration date"), the credential holder will output three signatures signed by the issuer for the public fields DN, gender, and license number, and provide the verifier with the three public fields, the three signatures, the issuer's public key held by the DMV, and the two zero-knowledge proofs for challenging the challenge fields "date of birth" and "expiration date". If the values of the challenge field, date of birth and expiration date, are 08/08/2000 and 02/17/2025, respectively, after verifying that the three signatures of the three public fields dn, gender, and license number, as well as the two zero-knowledge proofs, are correct, the verifier verifies that the proof of the driver's license provided by the current credential holder is valid.

无论凭证是属于非cert凭证的或cert-类型认证皆可适用于第二条件和第三条件,用以验证凭证是否到期的第二条件牵涉验证凭证中的“expiration date”数据字段,至于用于验证凭证的第三条件,与分布式账本网络通讯的验证者可取得分布式账本中的撤销信息,并根据撤销信息验证该凭证是否曾被撤销。Both the second and third conditions apply regardless of whether the credential is a non-certificate or a cert-type credential. The second condition, used to verify whether the credential has expired, involves verifying the "expiration date" data field in the credential. As for the third condition, the verifier communicating with the distributed ledger network can obtain revocation information from the distributed ledger and verify whether the credential has been revoked based on the revocation information.

当认定该数字凭证为有效时执行步骤S330,否则执行步骤S360。If the digital credential is deemed valid, proceed to step S330; otherwise, proceed to step S360.

步骤S330:认定是否发行当前凭证的发行者在凭证阶层中为可用且可信任的。发行当前凭证的发行者在凭证阶层中位在凭证管理者的M层之下,其中M为大于零的整数,发行者在当前凭证拥有者的上面一层且拥有由高于发行者一层的另一个发行者所发行的凭证,已知凭证管理者是在数字凭证阶层的最顶层。为验证当前凭证为被验证过的,不仅需要该当前凭证本身被验证为有效的,也需要根据发行者追踪流程在凭证阶层中递回地追溯到的发行者为被认定为可信任的。当发行该当前凭证的发行者在凭证阶层中为不可用时,执行步骤S360,此为当在凭证阶层中找不到发行当前凭证的发行者的情况。在一个实施例中,在预先批准清单中是否可以找到发行者将认定发行者是否为可信任。当发行者被认定为在凭证阶层中为可用且可信任的时执行步骤S350。当发行者被认定为在凭证阶层中为可用的但不可信任时执行步骤S340。Step S330: Determine whether the issuer of the current credential is available and trustworthy in the credential hierarchy. The issuer of the current credential is located below the credential manager at level M in the credential hierarchy, where M is a positive integer. The issuer is one level above the current credential owner and owns credentials issued by another issuer one level above the current owner. The credential manager is known to be at the top level of the digital credential hierarchy. To verify that the current credential is verified, not only must the current credential itself be verified as valid, but the issuer recursively traced back in the credential hierarchy according to the issuer tracing process must also be deemed trustworthy. When the issuer of the current credential is unavailable in the credential hierarchy, proceed to step S360, which is the case when the issuer of the current credential cannot be found in the credential hierarchy. In one embodiment, whether the issuer can be found in the pre-approved list will determine whether the issuer is trustworthy. When the issuer is deemed available and trustworthy in the credential hierarchy, proceed to step S350. When the issuer is deemed available but untrustworthy in the credential hierarchy, proceed to step S340.

步骤S340:将当前凭证拥有者和当前凭证替换为发行者和凭证发行者,并且重新回到步骤S320。在当前凭证和当前凭证拥有者被替换后,当前步骤递回回到前述步骤S320以验证当前凭证是否有效。Step S340: Replace the current credential owner and the current credential with the issuer and the credential issuer, and return to step S320. After the current credential and the current credential owner are replaced, the current step recursively returns to the aforementioned step S320 to verify whether the current credential is valid.

步骤S350:认定该证明者的凭证为被验证过的并结束。在验证该当前凭证遵守三个条件并且通过发行者追踪流程验证可信的发行者为可用的,验证者认定该证明者的凭证为被验证过的而不继续执行步骤S360。Step S350: Determine that the prover's credentials are verified and end. If the current credential meets three conditions and the issuer is verified as usable through the issuer tracking process, the verifier determines that the prover's credentials are verified and does not continue to step S360.

步骤S360:认定证明者的凭证为未被验证的。发行者的凭证被认定为未被验证的可能是因为未符合三个条件中的任一个条件或是在发行者追踪流程中未找到可信任的发行者。Step S360: Determine that the issuer's credentials are unverified. An issuer's credentials may be deemed unverified because any of the three conditions are not met or because a trustworthy issuer cannot be found in the issuer tracking process.

证明者凭证的真实性需要步骤S320-S340验证循环的每一轮所得出的结果皆为正向的。当第一轮的步骤S320-S340所得出的结果皆为正向的,其代表证明者凭证为有效的并且在凭证阶层中位在证明者上面一层的证明者凭证的发行者为可信任的。然而,若步骤S330的结果显示该发行者在凭证阶层中是可用但为不可信任的,则开始执行步骤S340并接着重做步骤S320的递回回圈以追踪在发行者上面一层的下一个发行者,并接着通过步骤S320-S340执行新一轮的验证以认定是否下一个发行者的凭证为有效的且下一个发行者为可信任的。预设上,位在凭证阶层中对应凭证系统顶层的发行者,如图1中的DMV和CA1,皆为可信的。以图1中用户凭证207的验证为例,假设第一轮的验证结果为用户凭证207为有效的且发行用户凭证207的发行者CA3为不可信的,若第二轮的验证结果为发行者CA3的发行者凭证105为有效的且发行者CA1为预设上可信任的,此例子的验证结果说明用户Bob的用户凭证207在两轮内被验证为被验证过的。The authenticity of the prover's credentials requires that the results of each round of the verification loop in steps S320-S340 be positive. If the results of the first round of steps S320-S340 are all positive, it means that the prover's credentials are valid and the issuer of the prover's credentials located one level above the prover in the credential hierarchy is trustworthy. However, if the result of step S330 shows that the issuer is usable but untrustworthy in the credential hierarchy, then step S340 is executed, and the recursive loop of step S320 is repeated to track the next issuer one level above the issuer. Then, a new round of verification is performed through steps S320-S340 to determine whether the next issuer's credentials are valid and the next issuer is trustworthy. By default, the issuers located at the top level of the credential hierarchy, corresponding to the top layer of the credential system, such as DMV and CA1 in Figure 1, are both trustworthy. Taking the verification of user credential 207 in Figure 1 as an example, assuming that the verification result of the first round is that user credential 207 is valid and the issuer CA3 that issued user credential 207 is untrusted, and the verification result of the second round is that the issuer credential 105 of issuer CA3 is valid and issuer CA1 is trusted by default, the verification result of this example shows that user Bob's user credential 207 has been verified in both rounds.

可通过前述凭证验证的技巧来实行第一主体和第二主体,除了cert-请求实体现存凭证的验证之外,有关发行cert-类型凭证给cert-请求实体的第一主体需要进一步验证其他东西来额外背书cert-类型凭证发行的请求,该其他东西可为cert-请求实体的签名。The first and second parties can be implemented using the aforementioned credential verification techniques. In addition to verifying the existing credentials of the cert-requesting entity, the first party issuing the cert-type credential to the cert-requesting entity needs to further verify something else to additionally endorse the request for the issuance of the cert-type credential. This other thing can be the signature of the cert-requesting entity.

参考图4,为了处理第一主体,用于发行cert-类型的方法包括以下步骤。Referring to Figure 4, the method for issuing cert-type documents in order to process the first subject includes the following steps.

步骤S410:cert-发行实体由cert-请求实体接收对于cert-类型凭证的请求。当前方法有两个参与者参与,两个参与者之一为cert-请求实体,其发起接收cert-类别凭证的请求,cert-发行实体为另一参与者,其验证cert-请求实体的资格并且评断cert-请求实体是否有资格接收由cert-发行实体所发行的cert-类型凭证。cert-请求实体和cert-发行实体皆可为互相通讯的计算设备。cert-类型凭证的请求由cert-请求实体所发起,其包括公钥,并被发送给cert-发行实体,该公钥属于由cert-请求实体根据公钥加密法所产生的一对金钥的一部分,并且与金钥对的私密金钥成对。Step S410: The cert-issuing entity receives a request for a cert-type credential from the cert-requesting entity. The current method involves two participants: one is the cert-requesting entity, which initiates the request to receive a cert-type credential; the other is the cert-issuing entity, which verifies the cert-requesting entity's eligibility and determines whether the cert-requesting entity is qualified to receive a cert-type credential issued by the cert-issuing entity. Both the cert-requesting entity and the cert-issuing entity can be communicating computing devices. The request for a cert-type credential is initiated by the cert-requesting entity, which includes a public key and is sent to the cert-issuing entity. This public key is part of a key pair generated by the cert-requesting entity using public-key cryptography and is paired with the private key of the key pair.

步骤S420:cert-发行实体传送cert-请求实体现存凭证的请求给cert-请求实体。回应于该cert-类型凭证的请求,cert-发行实体传送要求现存凭证的请求给cert-请求实体,该现存凭证可为cert-请求实体拥有的非cert凭证或cert-类型凭证。在一个实施例中,当现存凭证为非cert凭证,该非cert凭证为官方ID凭证之一,例如数字驾照、数字护照、数字国家ID卡和数字州ID卡其中之一,现存凭证的类型可由cert-发行实体在其请求中指定。Step S420: The cert-issuing entity transmits a request for an existing credential from the cert-requesting entity to the cert-requesting entity. In response to the request for the cert-type credential, the cert-issuing entity transmits a request for an existing credential to the cert-requesting entity, which may be a non-certificate credential or a cert-type credential owned by the cert-requesting entity. In one embodiment, when the existing credential is a non-certificate credential, it is one of the official ID credentials, such as a digital driver's license, digital passport, digital national ID card, and digital state ID card, and the type of existing credential may be specified by the cert-issuing entity in its request.

步骤S430:cert-请求实体产生现存凭证的证明,并提供该证明、公钥、数据片段和数字签章给cert-发行实体。如步骤S320中所述,提供现存凭证的证明用以验证是否现存凭证为被验证过的,并包含前述用以验证凭证的数据,数据片段可为一个随机数据的片段,其由cert-发行实体单独或是由cert-发行实体和cert-请求实体一起产生,其由金钥对的私密金钥所签署以产生签名,换言之,该数据片段可由cert-发行实体的个别或由cert-发行实体和cert-请求实体共同所产生,此处的公钥当作验证该签名由cert-请求实体所签署,因此有鉴于签名、公钥、数据片段和现存凭证的证明,可以接着提供对于发行cert-类型凭证的请求的背书。Step S430: The cert-requesting entity generates proof of the existing credential and provides this proof, public key, data fragment, and digital signature to the cert-issuing entity. As described in step S320, the proof of the existing credential is provided to verify whether the existing credential has been verified, and includes the aforementioned data used to verify the credential. The data fragment may be a fragment of random data generated by the cert-issuing entity alone or by the cert-issuing entity and the cert-requesting entity together. It is signed by the private key of the key pair to generate a signature. In other words, the data fragment may be generated by the cert-issuing entity individually or by the cert-issuing entity and the cert-requesting entity together. The public key here is used to verify that the signature was signed by the cert-requesting entity. Therefore, in view of the signature, public key, data fragment, and proof of the existing credential, an endorsement for the request to issue a cert-type credential can then be provided.

步骤S440:cert-发行实体验证是否现存凭证为被验证过的并且cert-请求实体为有权背书现存凭证。至于现存凭证的验证,细节可参考步骤S310-S360。为验证该cert-请求实体是否为有权为现存凭证背书,cert-发行实体使用公钥验证该签名是否由cert-请求实体所签署。当验证该现存凭证为被验证过的且cert-请求实体为有权为现存凭证背书时,执行步骤S450,否则执行步骤S460。Step S440: The cert-issuing entity verifies whether the existing credential has been verified and whether the cert-requesting entity is authorized to endorse it. For details regarding the verification of the existing credential, please refer to steps S310-S360. To verify whether the cert-requesting entity is authorized to endorse the existing credential, the cert-issuing entity uses its public key to verify whether the signature was signed by the cert-requesting entity. If the existing credential is verified and the cert-requesting entity is authorized to endorse it, proceed to step S450; otherwise, proceed to step S460.

步骤S450:cert-发行实体产生cert-类别凭证,并发送cert-类别凭证至cert-请求实体。发行至cert-请求实体的cert-类别凭证包括金钥对的公钥,依据不同应用,cert-发行实体可发送cert-类型凭证至其他地方存储,例如代理商或代理人的计算设备。Step S450: The issuing entity generates a cert-type credential and sends it to the requesting entity. The cert-type credential issued to the requesting entity includes the public key of the key pair. Depending on the application, the issuing entity may send the cert-type credential to another location for storage, such as a computing device belonging to an agent or proxy.

步骤S460:cert-发行实体拒绝cert-类型凭证的请求。Step S460: The issuing entity of cert-rejects the request for a cert-type certificate.

以下提供发行俱乐部会员的cert-类型凭证的范例。当俱乐部会员发行公司的计算设备从申请者的计算设备接收俱乐部会员的cert-类型凭证的请求时,其中俱乐部会员发行公司的计算设备作为cert-发行实体并在本文中命名为会员发行者,而申请者的计算设备作为cert-请求实体并在本文中命名为申请者,会员发行者传送数字驾照的请求给申请者,该俱乐部会员的请求也包含由申请者产生的金钥对的公钥,该公钥与金钥对的私密金钥成对。为回应数字驾照的请求,申请者产生数字驾照的证明并传送金钥对的公钥、签名、数据片段、证明给会员发行者。在验证该数字驾照为被验证过的并且通过金钥对的公钥验证申请者签署该数据片段之后,会员发行者为申请者产生俱乐部会员的cert-类型凭证,其包含公钥,并传送该cert-类型凭证给申请者。The following provides an example of issuing a cert-type credential for club membership. When the computing device of the club membership issuing company receives a request for a cert-type credential for club membership from the computing device of the applicant, where the computing device of the club membership issuing company is the cert-issuing entity and is named the membership issuer herein, and the computing device of the applicant is the cert-requesting entity and is named the applicant herein, the membership issuer transmits a request for a digital license to the applicant. This club membership request also includes the public key of a key pair generated by the applicant, which is paired with the private key of the key pair. In response to the request for a digital license, the applicant generates proof of the digital license and transmits the public key of the key pair, a signature, a data fragment, and proof to the membership issuer. After verifying that the digital license is verified and that the applicant has signed the data fragment using the public key of the key pair, the membership issuer generates a cert-type credential for club membership for the applicant, which includes the public key, and transmits the cert-type credential to the applicant.

第二主体验证文件是否由文件签署实体所签属,其先决条件为由文件签署实体所提供的签署者凭证先被cred-验证实体验证是否为被验证过的。第一主体和第二主体看起来可以被当成是同时需要凭证和数字签章的验证的应用。若第二主体中cred-验证实体指定cert-类型凭证,第一和第二主体皆可能可以通过利用初始并不可用而则可以由第一主体中取得的cert-类型凭证来验证第二主体中被签署的文件而连接在一起。例如,在第一主体中的cert-请求实体同时作为第二主体中的文件签署实体的情况下,在验证第二主体中用于申请贷款的文件的数字签章之前,被请求用于验证的CA认证可以由第一主体中的现存凭证中得知,例如数字驾照。The prerequisite for a second entity to verify whether a document was signed by a document signing entity is that the signer credentials provided by the document signing entity are first verified by the cred-verification entity to confirm their authenticity. The first and second entities can be viewed as applications requiring both credentials and digital signatures for verification. If the cred-verification entity in the second entity specifies a cert-type credential, both the first and second entities can potentially be linked together by using a cert-type credential that is initially unavailable but can be obtained from the first entity to verify the document signed in the second entity. For example, if the cert-requesting entity in the first entity also acts as the document signing entity in the second entity, the CA certificate requested for verification can be obtained from existing credentials in the first entity, such as a digital driver's license, before verifying the digital signature on a document used for a loan application in the second entity.

如图5所示,用于电子签署文件的方法的第一实施例包含以下步骤。As shown in Figure 5, a first embodiment of the method for electronically signing documents includes the following steps.

步骤S510:凭证验证实体传送文件签署实体的签署者凭证的证明的请求至文件签署实体,并且从文件签署实体接收签署者凭证的证明。cred-验证实体用作传送签署者凭证的证明请求至文件签署实体,cred-验证实体用作接收证明、验证文件签署实体的签署者凭证,并且判断文件签署实体是否为文件的合格签署者。cred-验证实体和文件签署实体皆可为互相通讯的计算设备。签署者凭证的证明由文件签署实体所准备,并且在后续步骤中证明的验证作为继续执行文件签署的条件。证明包括了从签署者凭证中的得知的签署者公钥,签署者凭证可为文件签署实体所拥有的非cert凭证或cert-类型凭证。在一个实施例中,当签署者凭证为非cert凭证,非cert凭证为官方ID非cert凭证,其为数字驾照、数字护照、数字国家ID卡和数字州ID卡其中之一。签署者凭证的类型可由cred-验证实体事前指定以对应于有着需被验证的签名的文件,例如数字驾照或CA认证被请求用于验证签署在取得医疗报告的申请表上的数字签章。Step S510: The credential verification entity transmits a request for proof of the signer's credentials of the document signing entity to the document signing entity, and receives the proof of the signer's credentials from the document signing entity. The cred-verification entity is used to transmit the request for proof of the signer's credentials to the document signing entity, and is used to receive the proof, verify the signer's credentials of the document signing entity, and determine whether the document signing entity is a qualified signer of the document. Both the cred-verification entity and the document signing entity can be computing devices that communicate with each other. The proof of the signer's credentials is prepared by the document signing entity, and the verification of the proof in subsequent steps is a condition for continuing to perform the document signing. The proof includes the signer's public key learned from the signer's credentials, which can be a non-cert credential or a cert-type credential owned by the document signing entity. In one embodiment, when the signer's credentials are non-cert credentials, the non-cert credential is an official ID non-cert credential, which is one of a digital driver's license, digital passport, digital national ID card, and digital state ID card. The type of signer's credentials can be specified in advance by the cred-verification entity to correspond to a document with a signature that needs to be verified, such as a digital driver's license or CA certificate requested to verify a digital signature on an application form for obtaining a medical report.

步骤S520:cred-验证实体验证签署者凭证是否为被验证过的,类似的,验证签署者凭证是否为被验证过的细节可参考步骤S310-S360。当签署者凭证被验证为被验证过的,执行步骤S530,否则执行步骤S570。Step S520: The cred-verifying entity verifies whether the signer's credentials have been verified. Similarly, details on verifying whether the signer's credentials have been verified can be found in steps S310-S360. If the signer's credentials have been verified, proceed to step S530; otherwise, proceed to step S570.

步骤S530:cred-验证实体发送文件至文件签署实体。在当前的实施例中,cred-验证实体只有在签署者凭证被验证为被验证过的后才发送文件至文件签署实体。Step S530: The cred-verification entity sends the file to the document signing entity. In the current embodiment, the cred-verification entity only sends the file to the document signing entity after the signer's credentials have been verified as verified.

步骤S540:文件签署实体通过与签署者公钥成对的文件签署实体的签署者私密金钥来签署文件,并发送被签署文件和签署者公钥给cred-验证实体。在一个实施例中,文件由签署者私密金钥所签署,当签署者凭证为非cert凭证时,该签署者私密金钥与在签署者凭证的数据字段之一中的文件签署实体的签署者分散识别符(DID)有关。在另一实施例中,文件为由签署者私密金钥所签署,当该签署者凭证为cert-类型凭证时,该签署者私密金钥与在签署者凭证的数据字段之一中的公钥成对。Step S540: The document signing entity signs the document using its own private key, which is paired with the signer's public key, and sends the signed document and the signer's public key to the cred-verification entity. In one embodiment, the document is signed by the signer's private key, which, when the signer's credential is not a cert credential, is associated with the signer's Distributed Identifier (DID) of the document signing entity in one of the data fields of the signer's credential. In another embodiment, the document is signed by the signer's private key, which, when the signer's credential is a cert-type credential, is paired with the public key in one of the data fields of the signer's credential.

步骤S550:在接收被签署文件和签署者公钥后,cred-验证实体通过签署者公钥签署验证文件是否由文件签署实体,当签署者凭证为非cert凭证时,签署者公钥可连接至在签署者凭证中的文件签署实体的签署者分散识别符(DID),或当签署者凭证为cert-类型凭证时签署者公钥可连接至在签署者凭证中的公钥。当验证结果为正向的,执行步骤S560,否则执行步骤S570。Step S550: After receiving the signed document and the signer's public key, the cred-verification entity verifies whether the document was signed by the document signing entity using the signer's public key. When the signer's credential is not a cert credential, the signer's public key can be linked to the signer's Distributed Identifier (DID) of the document signing entity in the signer's credential; or when the signer's credential is a cert-type credential, the signer's public key can be linked to the public key in the signer's credential. If the verification result is positive, proceed to step S560; otherwise, proceed to step S570.

步骤S560:cred-验证实体认定文件签署成功。Step S560: cred - Verify that the entity certification document has been successfully signed.

步骤S570:cred-验证实体认定文件签署失败。Step S570: cred - Verification of entity certification document signing failed.

不同于前述是在签署者凭证为被验证过之后才发送待签名的文件的第一实施例,根据图6,用于电子签署文件的方法的第二实施例包含以下步骤,其中在签署者凭证被验证为被验证过的之前,可选择性地发送该文件。为避免重复,类似于第一实施例的叙述在第二实施例中不再重复。Unlike the first embodiment, which sends the document to be signed only after the signer's credentials have been verified, according to FIG6, the second embodiment of the method for electronically signing documents includes the following steps, wherein the document may be selectively sent before the signer's credentials have been verified. To avoid repetition, descriptions similar to those in the first embodiment will not be repeated in the second embodiment.

步骤S610:cred-验证实体发送文件签署实体的签署凭证的证明的请求和文件至文件签署实体,应注意签署者凭证的证明的请求和文件由cred-验证实体同时被发送至文件签署实体。Step S610: The cred-verification entity sends a request for proof of the signing credentials of the document signing entity and the document to the document signing entity. Note that the request for proof of the signer's credentials and the document are simultaneously sent by the cred-verification entity to the document signing entity.

步骤S620:文件签署实体通过文件签署实体的签署者私密金钥签署文件,并且发送文件和签署者凭证的证明至cred-验证实体,证明包含与签署者私密金钥成对的签署者公钥,回应于接收到的请求和文件,文件签署实体需要发送被签署的文件和签署者凭证的证明至cred-验证实体作为回应。Step S620: The document signing entity signs the document using the signer's private key and sends proof of the document and signer's credentials to the cred-verification entity. The proof includes the signer's public key, which is paired with the signer's private key. In response to the received request and document, the document signing entity needs to send proof of the signed document and signer's credentials to the cred-verification entity as a response.

步骤S630:cred-验证实体验证签署者凭证是否为被验证过的,当签署者凭证被验证为被验证过的执行步骤S640,否则执行步骤S660。Step S630: The cred-verifying entity verifies whether the signer's credentials have been verified. If the signer's credentials have been verified, proceed to step S640; otherwise, proceed to step S660.

步骤S640:cred-验证实体通过与签署者私密金钥成对的签署者公钥来验证文件是否由文件签署实体签署,当验证结果为正向的执行步骤S650,否则执行步骤S660。Step S640: The cred-verifying entity verifies whether the document was signed by the document signing entity using the signer's public key, which is paired with the signer's private key. If the verification result is positive, proceed to step S650; otherwise, proceed to step S660.

步骤S650:cred-验证实体认定文件签署成功。Step S650: cred - Verify that the entity certification document has been successfully signed.

步骤S660:cred-验证实体认定文件签署失败。Step S660: cred - Verification of entity authentication document signing failed.

参考图7,可应用于第一和第二主体的系统包含分布式账本网络701、第一计算设备702、第二计算设备703、至少一发行者设备704和数据库705。该系统强调结构描述,而不是已在前述方法中讨论的功能。虽然在两个发行者设备704之间以及在他们与第一计算设备702和数据库705的连接之间的删节号显示了有多个发行者设备的实施例,其中多个发行者设备之一为可信任的,至少一发行者设备704也可包括其他实施例,例如如图8所示有一个可信任的发行者设备,或者如图9所示没有任何的发行者设备。Referring to Figure 7, the system applicable to the first and second principals includes a distributed ledger network 701, a first computing device 702, a second computing device 703, at least one issuer device 704, and a database 705. This system emphasizes structural description rather than the functionality already discussed in the foregoing methods. While ellipses between the two issuer devices 704 and between their connections to the first computing device 702 and the database 705 show an embodiment with multiple issuer devices, where one of the multiple issuer devices is trusted, the at least one issuer device 704 may also include other embodiments, such as having one trusted issuer device as shown in Figure 8, or having no issuer devices as shown in Figure 9.

分布式账本网络701维护分布式账本,其存储与发行者凭证有关的撤销信息。第一计算设备702通讯连接至分布式账本网络701,且可作为第一主体中的cert-发行实体或第二主体中的cred-验证实体。第二计算设备703通讯连接至第一计算设备702,且可作为第一主体中的cert-请求实体或第二主体中的文件签署实体,至少一发行者设备704在某种程度上为系统中有弹性的部分随着亲子发行关系变化,其通讯连接至第一计算设备702,并且当亲子发行关系可用时,被提供并连接至第二计算设备的凭证,亲子发行关系定义了至少一发行者设备704的其中之一发行了第二计算设备702的凭证,并且剩余的发行者设备704中每一者发行另一个凭证给至少一发行者设备704中的另一个设备,换言之,当亲子发行关系不存在时,至少一发行者设备704在系统中不可用,没有发行者设备704的情境可能源自伪造凭证和假的凭证导致没有发行者设备704会根据亲子发行关系连接至假凭证。当亲子关系存在时,至少一发行者设备704会连接至第二计算设备703的凭证,并且至少一发行者设备704和其至少一凭证位于凭证阶层之中。当身为凭证阶层中的发行者时,第一计算设备702、第二计算设备703和至少一发行者设备704中每一者可以维护分布式账本。数据库705通讯连接至第二计算设备703和至少一发行者设备704,并存储被发行的凭证,其包含了第二计算设备703和至少一发行者设备704的凭证,其分别对于第二计算设备703和至少一发行者设备704为可存取的。Distributed ledger network 701 maintains a distributed ledger that stores revocation information related to issuer credentials. First computing device 702 is communicatively connected to distributed ledger network 701 and can act as either the cert-issuing entity in a first entity or the cred-verifying entity in a second entity. The second computing device 703 is communicatively connected to the first computing device 702 and can act as a cert-request entity in the first subject or a document signing entity in the second subject. At least one issuer device 704 is a flexible part of the system that changes with the parent-child issuance relationship. Its communication connection to the first computing device 702 is maintained, and when the parent-child issuance relationship is available, it provides and connects to the second computing device with credentials. The parent-child issuance relationship defines that one of the at least one issuer device 704 issues credentials to the second computing device 702, and each of the remaining issuer devices 704 issues another credential to the other of the at least one issuer device 704. In other words, when the parent-child issuance relationship does not exist, at least one issuer device 704 is unavailable in the system. The absence of an issuer device 704 may stem from forged or fake credentials, causing the absence of an issuer device 704 to connect to fake credentials based on the parent-child issuance relationship. When the parent-child relationship exists, at least one issuer device 704 connects to the credentials of the second computing device 703, and at least one issuer device 704 and its at least one credential reside in the credential hierarchy. When acting as an issuer in the credential hierarchy, each of the first computing device 702, the second computing device 703, and at least one issuer device 704 can maintain a distributed ledger. A database 705 is communicatively connected to the second computing device 703 and the at least one issuer device 704, and stores issued credentials, which contain credentials of the second computing device 703 and the at least one issuer device 704, respectively, and is accessible to both the second computing device 703 and the at least one issuer device 704.

值得一提的是,若至少一发行者设备704为可用的,当第一计算设备702验证发行者设备704是否为可信任时,在接收验证至少一发行者设备704中的任一设备的凭证是否为有效的请求后,发行者设备704立即发送根据其凭证的证明给第一计算设备702用以验证。It is worth mentioning that if at least one issuer device 704 is available, when the first computing device 702 verifies whether the issuer device 704 is trustworthy, after receiving a request to verify whether the credentials of any of the at least one issuer device 704 are valid, the issuer device 704 immediately sends a proof based on its credentials to the first computing device 702 for verification.

从上述的叙述,本发明无论是在请求发行新cert-类型凭证和验证文件上的数字签章时,在消除繁琐且重复的KYC流程中都具有优势,因为通过当前凭证无论现存凭证为cert-类型凭证或非cert凭证类型,新cert-类型凭证的发行可被接收且文件签章可被验证。除了不需要KYC流程,结合阶层结构的凭证阶层有多个凭证系统,其每一者包括cert类型凭证或非cert凭证,用户/发行者可由多个凭证系统中取得不同凭证,并因此有选择他们偏好的种类的身份或用户/发行者凭证的自由。由于本发明的凭证阶层中每个发行者皆可维护分布式账本,单点错误的问题仅会导致单一且唯一的实体凭证被危害而在凭证阶层中为无效的,对于任何基于亲子发行关系而与被危害凭证连接的凭证,凭证的发行者仅遭受该凭证的损失,但仍可以通过在凭证阶层中的其他凭证进行身份辨识。此外,为被认证为被验证过的凭证,其需仰赖双重验证,其中凭证需被验证为有效的,并且根据亲子关系连接到凭证的至少一发行者需被验证为可信任的,此双重验证确保凭证的验证更加安全。From the above description, this invention offers advantages in eliminating cumbersome and repetitive KYC processes when requesting the issuance of new cert-type certificates and verifying digital signatures on documents. This is because the issuance of new cert-type certificates can be accepted and document signatures can be verified using the existing certificates, regardless of whether the existing certificates are cert-type or non-cert-type. Besides eliminating the need for KYC processes, the hierarchical certificate hierarchy offers multiple certificate systems, each including cert-type or non-cert-type certificates. Users/issuers can obtain different certificates from multiple systems and thus have the freedom to choose their preferred type of identity or user/issuer certificate. Since each issuer in the certificate hierarchy of this invention can maintain a distributed ledger, the problem of a single point of failure only results in a single, unique entity certificate being compromised and invalidated within the certificate hierarchy. For any certificate linked to the compromised certificate based on a parent-child issuance relationship, the issuer of the certificate only suffers the loss of that certificate but can still be identified through other certificates in the certificate hierarchy. In addition, in order to be certified as a verified credential, it relies on dual verification, in which the credential must be verified as valid and at least one issuer linked to the credential based on parentage must be verified as trustworthy. This dual verification ensures that the verification of the credential is more secure.

虽然在前述内容中已提出了本发明的多种特征与优点,连同结构的细节和发明的功能,本公开仅供参考。在细节上,特别是在形状、大小和部件排列的问题上,可在根据附加权利要求中所表达的广泛的一般意义所指示的本发明原理的最大范围内进行修改。While various features and advantages of the invention have been set forth in the foregoing, together with structural details and the functionality of the invention, this disclosure is for reference only. Modifications may be made, in particular, to the extent indicated by the broad general meaning set forth in the appended claims, to the maximum extent of the principles of the invention.

HK62025110017.3A 2022-09-21 Verification of digital credentials and digital signatures HK40124108A (en)

Publications (1)

Publication Number Publication Date
HK40124108A true HK40124108A (en) 2025-11-07

Family

ID=

Similar Documents

Publication Publication Date Title
US8312264B2 (en) Method and system for authentication among peer appliances within a computer network
CN113950801B (en) Method and apparatus for public key management using blockchain
US20170346639A1 (en) Public Key Infrastructure based on the Public Certificates Ledger
US8726012B2 (en) Method and apparatus for external organization path length validation within a public key infrastructure (PKI)
Camenisch Better privacy for trusted computing platforms
US20140281491A1 (en) Identity escrow management for minimal disclosure credentials
US20050097316A1 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
Elley et al. Building Certifications Paths: Forward vs. Reverse.
CN105871545A (en) Credible electronic-certificate managing method and system
KR102372718B1 (en) Method for decentralized group signature for issuer anonymized credential system
LU93150B1 (en) Method for providing secure digital signatures
JP6688823B2 (en) A method for managing and inspecting data from various identity domains organized into structured sets
JP2005520364A (en) System and method for updating and extending a digitally signed certificate
JP2023503607A (en) Method and device for automatic digital certificate verification
US20020099668A1 (en) Efficient revocation of registration authorities
US20220294647A1 (en) Distributed ledger-based methods and systems for certificate authentication
US20040221158A1 (en) Digital signature and verification system for conversational messages
TW202423077A (en) Verification of digital credentials and digital signatures
CN117693925A (en) Data management program, data management method, data management device and data management system
HK40124108A (en) Verification of digital credentials and digital signatures
JP2002342167A (en) Device for managing entity information
CN119603011A (en) A distributed identity selective disclosure method and system
CN119628843A (en) A digital certificate-based authentication method for limited parties
Rasheed Identity Federation Using Multidomain Authentication in PKI
Soh et al. Internet Security: Public-Key Infrastractures and Certification Systems