CN115550060B - 基于区块链的可信证书验证方法、装置、设备和介质 - Google Patents

基于区块链的可信证书验证方法、装置、设备和介质 Download PDF

Info

Publication number
CN115550060B
CN115550060B CN202211462551.0A CN202211462551A CN115550060B CN 115550060 B CN115550060 B CN 115550060B CN 202211462551 A CN202211462551 A CN 202211462551A CN 115550060 B CN115550060 B CN 115550060B
Authority
CN
China
Prior art keywords
information item
hash value
value
target information
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211462551.0A
Other languages
English (en)
Other versions
CN115550060A (zh
Inventor
张波
马若龙
郭世杰
聂凡杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Information and Communications Technology CAICT
Original Assignee
China Academy of Information and Communications Technology CAICT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Information and Communications Technology CAICT filed Critical China Academy of Information and Communications Technology CAICT
Priority to CN202211462551.0A priority Critical patent/CN115550060B/zh
Publication of CN115550060A publication Critical patent/CN115550060A/zh
Application granted granted Critical
Publication of CN115550060B publication Critical patent/CN115550060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开实施例公开了一种基于区块链的可信证书验证方法、装置、设备和介质,涉及区块链领域,其中,方法包括:响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,验证请求中包括验证方期望验证的目标信息项;基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息;基于待验证信息与数字签名,生成可信声明;将可信声明发送至验证方,以便验证方验证目标信息项。根据验证请求,选择性地披露可信证书中对应的内容,而不披露与验证请求无关的其他内容,可以降低与验证请求无关的其他内容的泄露风险,有助于提高可信证书的验证过程信息的安全性。

Description

基于区块链的可信证书验证方法、装置、设备和介质
技术领域
本公开涉及区块链技术领域,尤其是一种基于区块链的可信证书验证方法、装置、设备和介质。
背景技术
可信证书是现实世界中物理凭证的一种数字化表现形式,其技术特性是将密码学技术应用于数据计算和存储过程,以提供对数据的可信证明和隐私保护。通常,由数据的签发者(也称为发证方)对数据内容进行签名后,将数字签名附在数据内容后,持证方可以将可信证书和数字签名组装成可信声明,以供验证方对其中的数据的真实性和完整性进行验证。
相关技术中,当验证方需要对可信证书中的部分数据进行验证时,持证方需要出示可信证书的全文,这就导致可信证书中与待验证数据无关的其他数据存在泄露的风险。
发明内容
本公开实施例提供一种基于区块链的可信证书验证方法、装置、设备和介质。
本公开实施例的一个方面,提供一种基于区块链的可信证书验证方法,包括:响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,验证请求中包括验证方期望验证的目标信息项;基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息;基于待验证信息与数字签名,生成可信声明;将可信声明发送至验证方,以便验证方验证目标信息项。
在一些实施例中,基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息,包括:基于目标信息项,从可信证书中提取出目标信息项的原值、盐值和第一哈希值,目标信息项的第一哈希值通过对目标信息项的加盐后的原值进行散列得到;从可信证书中提取出除目标信息项之外的其他信息项的第一哈希值,其他信息项的第一哈希值通过对其他信息项的加盐后的原值进行散列得到;将目标信息项的原值、盐值、第一哈希值和其他项的第一哈希值确定为待验证信息。
在一些实施例中,该方法还包括如下生成可信证书步骤:获取各信息项的原值和盐值;基于各信息项的原值和盐值,对各信息项的原值进行加盐,得到各信息项的加盐后的原值;对加盐后的原值进行散列处理,得到各信息项的第一哈希值;对各信息项的第一哈希值进行散列处理,得到第二哈希值;对第二哈希值进行签名,得到数字签名;基于数字签名与各信息项的原值、盐值、第一哈希值,生成可信证书。
在一些实施例中,验证方通过如下方式验证目标信息项:从可信声明中提取数字签名,并获取数字签名对应的公钥;利用公钥对数字签名进行验证;响应于数字签名通过验证,从数字签名中提取第二哈希值;基于第二哈希值,对可信声明中包括的各信息项的第一哈希值进行验证;响应于各信息项的第一哈希值通过验证,从数字签名中提取目标信息项的第一哈希值;基于目标信息项的第一哈希值,对目标信息项的原值进行验证。
在一些实施例中,基于第二哈希值,对可信声明中包括的各信息项的第一哈希值进行验证,包括:响应于数字签名通过验证,从可信声明中提取各信息项的第一哈希值;对各信息项的第一哈希值进行散列处理,得到临时第二哈希值;对比临时第二哈希值与第二哈希值,以验证各信息项的第一哈希值。
在一些实施例中,基于目标信息项的第一哈希值,对目标信息项的原值进行验证,包括:响应于各信息项的第一哈希值通过验证,从可信声明中提取目标信息项的原值、盐值和第一哈希值;对目标信息项的原值进行加盐和散列处理,得到临时第一哈希值;对比临时第一哈希值与目标信息项的第一哈希值,以验证目标信息项的原值。
根据本公开实施例的又一个方面,提供一种基于区块链的可信证书验证装置,其特征在于,包括:证书获取单元,被配置成响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,验证请求中包括验证方期望验证的目标信息项;信息提取单元,被配置成基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息;声明组装单元,被配置成基于待验证信息与数字签名,生成可信声明;声明发送单元,被配置成将可信声明发送至验证方,以便验证方验证目标信息项。
在一些实施例中,信息提取单元进一步包括:第一提取模块,被配置成基于目标信息项,从可信证书中提取出目标信息项的原值、盐值和第一哈希值,目标信息项的第一哈希值通过对目标信息项的加盐后的原值进行散列得到;第二提取模块,被配置成从可信证书中提取出除目标信息项之外的其他信息项的第一哈希值,其他信息项的第一哈希值通过对其他信息项的加盐后的原值进行散列得到;信息确定模块,被配置成将目标信息项的原值、盐值、第一哈希值和其他项的第一哈希值确定为待验证信息。
根据本公开实施例的又一个方面,提供一种电子设备,包括:存储器,用于存储计算机程序产品;处理器,用于执行存储器中存储的计算机程序产品,且计算机程序产品被执行时,实现上述任一实施例中的方法。
根据本公开实施例的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述任一实施例中的方法。
本公开的实施例提供的基于区块链的可信证书验证方法,可以根据验证方的验证请求,从可信证书中提取与验证目标信息项相关的部分信息,作为待验证信息,并将待验证信息和数字签名组装成可信声明,以供验证方对目标信息项进行验证。根据验证请求,选择性地披露可信证书中对应的内容,而不披露与验证请求无关的其他内容,可以降低与验证请求无关的其他内容的泄露风险,有助于提高可信证书的验证过程信息的安全性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的基于区块链的可信证书验证方法所适用的一个场景示意图;
图2为本公开的基于区块链的可信证书验证方法的一个实施例的流程示意图;
图3为本公开的基于区块链的可信证书验证方法的一个实施例中提取待验证信息的流程示意图;
图4为本公开的基于区块链的可信证书验证方法的一个实施例中生成可信证书的流程示意图;
图5为本公开的基于区块链的可信证书验证方法的一个实施例中验证目标信息项的流程示意图;
图6为本公开的基于区块链的可信证书验证装置的一个实施例的结构示意图;
图7为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
在实现本公开的过程中,发明人发现,目前的可信证书验证过程中,无论验证方请求验证可信证书的全部内容还是仅验证其中的部分内容,持证方均需要出示可信证书的全文,这就导致与验证请求无关的数据存在被泄露的风险。
下面结合图1对本公开的基于区块链的可信证书验证方法进行示例性说明,图1示出了本公开的基于区块链的可信证书验证方法所适用的场景示意图。如图1所示,可信证书100中可以包括持证方110的名字(name)信息项和年龄(age)信息项,每个信息项可以包括该项信息的原值(value)、盐值(salt)和哈希值(hash),原值表示该项信息的真实值,盐值表示对该项信息的原值进行加盐处理的参数值,哈希值则表示对加盐处理后的原值进行散列得到的参数值。此外,可信证书100中还可以包括签发者对各个信息项进行签名生成的数字签名160,即图1中的Sign on (Name. hash,Age. hash)。
区块链130可以包括多个服务节点和骨干节点,用于存储可信证书100及其数字签名160。
验证方110可以根据实际需求向持证方120发送验证请求,例如可以是请求验证age(年龄)。持证方120接收验证请求之后,可以从区块链130中获取可信证书100及其数字签名160,然后从可信证书100中提取出与年龄信息项相关的部分信息,作为待验证信息150,例如包括年龄信息项的原值(Age.value)、盐值(Age.salt)、哈希值(Age. hash)以及名字信息项的哈希值(Name .hash);之后将待验证信息150和数字签名160组装成可信声明140,并将可信声明140发送至验证方110,以便于验证方验证持证方120的年龄信息。
下面结合图2对本公开的基于区块链的可信证书验证方法进行示例性说明,如图2所示,本公开的基于区块链的可信证书验证方法的一个实施例包括以下步骤。
步骤210、响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名。
其中,验证请求中包括验证方期望验证的目标信息项。
在本实施例中,数字签名是由发证方针对可信证书中的内容进行签名得到的数字凭证,数字签名可以附在可信证书中,也可以单独存储于区块链中。
作为示例,数字签名可以仅针对可信证书中的各信息项的哈希值进行签名,而忽略各信息项的原值和盐值,如此一来,对数字签名进行验证时仅能得到各信息项的哈希值,而无法得到各信息项的原值和盐值,可以降低信息泄露的风险。
步骤220、基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息。
在本实施例中,待验证信息既包括与目标信息项相关的部分信息,而不包括可信证书中的其他信息项的原值。
继续结合图1中的示例进行说明,验证请求中包括的目标信息项为年龄(Age)信息项,则待验证信息仅包括年龄信息项的原值、盐值、哈希值以及名字信息项的哈希值,而不包括名字(Name)信息项的原值和盐值。
步骤230、基于待验证信息与数字签名,生成可信声明。
在本实施例中,可信声明表示持证方向验证方出示的可验证的数字凭证,是由待验证信息和数字签名组装得到的。
步骤240、将可信声明发送至验证方,以便验证方验证目标信息项。
本公开的实施例提供的基于区块链的可信证书验证方法,可以根据验证方的验证请求,从可信证书中提取与验证目标信息项相关的部分信息,作为待验证信息,并将待验证信息和数字签名组装成可信声明,以供验证方对目标信息项进行验证。根据验证请求,选择性地披露可信证书中对应的内容,而不披露与验证请求无关的其他内容,可以降低与验证请求无关的其他内容的泄露风险,有助于提高可信证书的验证过程信息的安全性。
接着参考图3,图3示出了本公开的基于区块链的可信证书验证方法的一个实施例中提取待验证信息的流程图,如图3所示,该流程包括以下步骤。
步骤310、基于目标信息项,从可信证书中提取出目标信息项的原值、盐值和第一哈希值。
其中,目标信息项的第一哈希值通过对目标信息项的加盐后的原值进行散列得到。
在本实施例中,目标信息项的原值表示目标信息项的真实值,目标信息项的盐值表示对目标信息项的原值进行加盐处理时的参数值。
步骤320、从可信证书中提取出目标信息项之外的其他信息项的第一哈希值。
其中,其他信息项的第一哈希值通过对其他信息项的加盐后的原值进行散列得到。
继续结合图1进行示例性说明,目标信息项为年龄信息项,则其他信息项为名字信息项,名字信息项的第一哈希值(Name .hash)是通过对名字信息项的加盐后的原值(Name.value)进行散列得到的。
步骤330、将目标信息项的原值、盐值、第一哈希值和其他信息项的第一哈希值确定为待验证信息。
继续结合图1进行示例性说明,目标信息项为年龄信息项,待验证信息可以包括年龄信息项的原值(Age.value)、盐值(Age.salt)、哈希值(Age. hash)以及名字信息项的哈希值(Name .hash)。
图3所示的实施例体现了将目标信息项的原值、盐值、第一哈希值以及其他信息项的第一哈希值确定为待验证信息的步骤,可以避免向验证方披露其他信息项的原值,从而降低了其他信息项的泄露风险。
接着参考图4,图4示出了本公开的基于区块链的可信证书验证方法的一个实施例中生成可信证书的流程图,如图4所示,该流程包括以下步骤。
步骤410、获取各信息项的原值和盐值。
步骤420、基于各信息项的原值和盐值,对各信息项的原值进行加盐,得到各信息项的加盐后的原值。
步骤430、对加盐后的原值进行散列处理,得到各信息项的第一哈希值。
步骤440、对各信息项的第一哈希值进行散列处理,得到第二哈希值。
继续结合图1进行示例性说明,各信息项的第一哈希值包括年龄信息项的第一哈希值(Age .hash)和名字信息项的第一哈希值(Name .hash),第二哈希值则是利用单向Hash函数对Age .hash和Name .hash进行散列处理得到的哈希值。
步骤450、对第二哈希值进行签名,得到数字签名。
在本实施例中,可以利用私钥对第二哈希值进行加密处理,得到数字签名。
数字签名使用了“非对称密钥加解密”和“数字摘要”两项技术来实现一种类似纸质物理签名的效果。数字摘要是采用单向Hash函数将需要加密的明文散列成一串固定长度的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,可用于确保数据的完整性和防止篡改。之后,可以利用私钥对数字摘要加密,生成的字符串,即数字签名。验证方可以根据对应的公钥对数字签名进行解密,获得数字摘要,并验证摘要数据是否正确。
在本实施例中,数字摘要为第二哈希值,利用私钥对第二哈希值进行加密处理,即可得到数字签名。
步骤460、基于数字签名与各信息项的原值、盐值、第一哈希值,生成可信证书。
在图4所示的实施例中,可以对各信息项的第一哈希值进行散列处理,以生成第二哈希值,仅针对第二哈希值进行签名以生成数字签名,使得数字签名中仅包括第二哈希值,而不包括各信息项的原值和盐值,持证方只需提供各信息项的第一哈希值,即可由验证方对数字签名进行解密验证,而验证方对数字签名进行解密时,只能得到第二哈希值,而无法得到各信息项的原值和盐值,有助于进一步降低信息泄露的风险。
下面参考图5,图5示出了本公开的基于区块链的可信证书验证方法的一个实施例中验证目标信息项的流程图,如图5所示,该流程包括以下步骤。
步骤510、从可信声明中提取数字签名,并获取数字签名对应的公钥。
作为示例,公钥可以预先存储在区块链中,验证方可以根据数字签名从区块链中获取对应的公钥。
步骤520、利用公钥对数字签名进行验证。
作为示例,利用公钥对数字签名解密成功,即可确定数字签名是真实完整的,此时可以确定数字签名通过验证。
步骤530、响应于数字签名通过验证,从数字签名中提取第二哈希值。
步骤540、基于第二哈希值,对可信声明中包括的各信息项的第一哈希值进行验证。
在本实施例中,由于第二哈希值是对各信息项的第一哈希值进行散列处理得到的,因而,可以利用第二哈希值验证可信声明中包括的各信息项的第一哈希值的真实性。
具体的,若通过对可信声明中包括的各信息项的第一哈希值进行散列,可以得到第二哈希值,表示可信声明中包括的各信息项的第一哈希值是真实的,反之,则表示可信声明中包括的各信息项的第一哈希值存在虚假内容。
在本实施例的一些可选的实施方式中,该步骤可以进一步包括:响应于数字签名通过验证,从可信声明中提取各信息项的第一哈希值;对各信息项的第一哈希值进行散列处理,得到临时第二哈希值;对比临时第二哈希值与第二哈希值,以验证各信息项的第一哈希值。
在本实施方式中,临时第二哈希值表示验证方通过对可信声明中包括的各信息项的第一哈希值进行散列处理得到的哈希值。若临时第二哈希值与第二哈希值相同,表示可信声明中包括的各信息项的第一哈希值是真实可信的,反之,则表示可信声明中包括的各信息项的第一哈希值存在虚假内容。
步骤550、响应于各信息项的第一哈希值通过验证,从数字签名中提取目标信息项的第一哈希值。
步骤560、基于目标信息项的第一哈希值,对目标信息项的原值进行验证。
在本实施例中,由于目标信息项的第一哈希值是通过目标信息项的加盐后的原值进行散列后得到的,因而,可以利用目标信息项的第一哈希值对可信声明中提供的目标信息项的原值进行验证。具体的,若可以通过可信声明中的目标信息项的原值得到数字签名中的第一哈希值,表示可信声明中的目标信息项的原值是真实的,反之,表示可信声明中的目标信息项的原值是虚假的。
在本实施例的一些可选的实施方式中,该步骤可以包括:响应于各信息项的第一哈希值通过验证,从可信声明中提取目标信息项的原值、盐值和第一哈希值;对目标信息项的原值进行加盐和散列处理,得到临时第一哈希值;对比临时第一哈希值与目标信息项的第一哈希值,以验证目标信息项的原值。
在本实施方式中,临时第一哈希值表示持证方对可信声明中的目标信息项的原值、盐值进行散列处理得到的哈希值,通过对比临时第一哈希值与数字签名中的第一哈希值,可以验证目标信息项的真实性。具体的,若临时第一哈希值与第一哈希值相同,表示可信声明提供的目标信息项的原值是真实的,反之,则表示可信声明提供的目标信息项的原值是虚假的。
在图5所示的实施例中,可以利用公钥验证数字签名的正确性,进而利用数字签名中的第二哈希值验证可信声明中提供的各信息项的第一哈希值的真实性,然后利用数字签名中的目标信息项的第一哈希值验证可信声明中提供的目标信息项的原值的真实性,可以从三个不同的粒度对可信声明中的内容进行全面验证,能够有效识别出可信声明中的虚假信息,有助于提高对真实信息与虚假信息掺杂形成的可信声明的针对性和可靠性。
下面参考图6,图6示出了本公开的基于区块链的可信证书验证装置的一个实施例的结构示意图,如图6所示,该装置包括:证书获取单元610,被配置成响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,验证请求中包括验证方期望验证的目标信息项;信息提取单元620,被配置成基于目标信息项,从可信证书中提取出与验证目标信息项相关的部分信息,作为待验证信息;声明组装单元630,被配置成基于待验证信息与数字签名,生成可信声明;声明发送单元640,被配置成将可信声明发送至验证方,以便验证方验证目标信息项。
在其中一个实施方式中,信息提取单元620进一步包括:第一提取模块,被配置成基于目标信息项,从可信证书中提取出目标信息项的原值、盐值和第一哈希值,目标信息项的第一哈希值通过对目标信息项的加盐后的原值进行散列得到;第二提取模块,被配置成从可信证书中提取出除目标信息项之外的其他信息项的第一哈希值,其他信息项的第一哈希值通过对其他信息项的加盐后的原值进行散列得到;信息确定模块,被配置成将所述目标信息项的原值、盐值、第一哈希值和其他项的第一哈希值确定为待验证信息。
在其中一个实施方式中,该装置还包括证书生成单元,被配置成:获取各信息项的原值和盐值;基于各信息项的原值和盐值,对各信息项的原值进行加盐,得到各信息项的加盐后的原值;对加盐后的原值进行散列处理,得到各信息项的第一哈希值;对各信息项的第一哈希值进行散列处理,得到第二哈希值;对第二哈希值进行签名,得到数字签名;基于数字签名与各信息项的原值、盐值、第一哈希值,生成可信证书。
在其中一个实施方式中,该装置还包括证书验证单元,包括:公钥获取模块,被配置成从可信声明中提取数字签名,并获取数字签名对应的公钥;签名验证模块,被配置成利用公钥对数字签名进行验证;第一提取模块,被配置成响应于数字签名通过验证,从数字签名中提取第二哈希值;第一验证模块,被配置成基于第二哈希值,对可信声明中包括的各信息项的第一哈希值进行验证;第二提取模块,被配置成响应于各信息项的第一哈希值通过验证,从数字签名中提取目标信息项的第一哈希值;第二验证模块,被配置成基于目标信息项的第一哈希值,对目标信息项的原值进行验证。
在其中一个实施方式中,第一验证模块被进一步配置成:响应于数字签名通过验证,从可信声明中提取各信息项的第一哈希值;对各信息项的第一哈希值进行散列处理,得到临时第二哈希值;对比临时第二哈希值与第二哈希值,以验证各信息项的第一哈希值。
在其中一个实施方式中,第二验证模块被进一步配置成:响应于各信息项的第一哈希值通过验证,从可信声明中提取目标信息项的原值、盐值和第一哈希值;对目标信息项的原值进行加盐和散列处理,得到临时第一哈希值;对比临时第一哈希值与目标信息项的第一哈希值,以验证目标信息项的原值。
图7为本公开电子设备一个应用实施例的结构示意图。下面,参考图7来描述根据本公开实施例的电子设备。
如图7所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于区块链的可信证书验证方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的可信证书验证方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的可信证书验证方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (8)

1.一种基于区块链的可信证书验证方法,其特征在于,包括:
响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,所述验证请求中包括所述验证方期望验证的目标信息项;
基于所述目标信息项,从所述可信证书中提取出与验证所述目标信息项相关的部分信息,作为待验证信息;
基于所述待验证信息与所述数字签名,生成可信声明;
将所述可信声明发送至所述验证方,以便所述验证方验证所述目标信息项;
其中,基于所述目标信息项,从所述可信证书中提取出与验证所述目标信息项相关的部分信息,作为待验证信息,包括:基于所述目标信息项,从所述可信证书中提取出所述目标信息项的原值、盐值和第一哈希值,所述目标信息项的第一哈希值通过对所述目标信息项的加盐后的原值进行散列得到;从所述可信证书中提取出除所述目标信息项之外的其他信息项的第一哈希值,所述其他信息项的第一哈希值通过对所述其他信息项的加盐后的原值进行散列得到;将所述目标信息项的原值、盐值、第一哈希值和所述其他信息项的第一哈希值确定为所述待验证信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括如下生成所述可信证书的步骤:
获取各信息项的原值和盐值;
基于所述各信息项的原值和盐值,对所述各信息项的原值进行加盐,得到所述各信息项的加盐后的原值;
对所述加盐后的原值进行散列处理,得到所述各信息项的第一哈希值;
对所述各信息项的第一哈希值进行散列处理,得到第二哈希值;
对所述第二哈希值进行签名,得到所述数字签名;
基于所述数字签名与所述各信息项的原值、盐值、第一哈希值,生成所述可信证书。
3.根据权利要求2所述的方法,其特征在于,所述验证方通过如下方式验证所述目标信息项:
从所述可信声明中提取所述数字签名,并获取所述数字签名对应的公钥;
利用所述公钥对所述数字签名进行验证;
响应于所述数字签名通过验证,从所述数字签名中提取所述第二哈希值;
基于所述第二哈希值,对所述可信声明中包括的所述各信息项的第一哈希值进行验证;
响应于所述各信息项的第一哈希值通过验证,从所述数字签名中提取所述目标信息项的第一哈希值;
基于所述目标信息项的第一哈希值,对所述目标信息项的原值进行验证。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第二哈希值,对所述可信声明中包括的所述各信息项的第一哈希值进行验证,包括:
响应于所述数字签名通过验证,从所述可信声明中提取所述各信息项的第一哈希值;
对所述各信息项的第一哈希值进行散列处理,得到临时第二哈希值;
对比所述临时第二哈希值与所述第二哈希值,以验证所述各信息项的第一哈希值。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标信息项的第一哈希值,对所述目标信息项的原值进行验证,包括:
响应于所述各信息项的第一哈希值通过验证,从所述可信声明中提取所述目标信息项的原值、盐值和第一哈希值;
对所述目标信息项的原值进行加盐和散列处理,得到临时第一哈希值;
对比所述临时第一哈希值与所述目标信息项的第一哈希值,以验证所述目标信息项的原值。
6.一种基于区块链的可信证书验证装置,其特征在于,包括:
证书获取单元,被配置成响应于接收到验证方发送的验证请求,从区块链中获取可信证书及其数字签名,所述验证请求中包括所述验证方期望验证的目标信息项;
信息提取单元,被配置成基于所述目标信息项,从所述可信证书中提取出与验证所述目标信息项相关的部分信息,作为待验证信息;
声明组装单元,被配置成基于所述待验证信息与所述数字签名,生成可信声明;
声明发送单元,被配置成将所述可信声明发送至所述验证方,以便所述验证方验证所述目标信息项;
其中,所述信息提取单元进一步包括:第一提取模块,被配置成基于所述目标信息项,从所述可信证书中提取出所述目标信息项的原值、盐值和第一哈希值,所述目标信息项的第一哈希值通过对所述目标信息项的加盐后的原值进行散列得到;第二提取模块,被配置成从所述可信证书中提取出除所述目标信息项之外的其他信息项的第一哈希值,所述其他信息项的第一哈希值通过对所述其他信息项的加盐后的原值进行散列得到;信息确定模块,被配置成将所述目标信息项的原值、盐值、第一哈希值和所述其他信息项的第一哈希值确定为所述待验证信息。
7.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序产品;处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-5任一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-5任一所述的方法。
CN202211462551.0A 2022-11-22 2022-11-22 基于区块链的可信证书验证方法、装置、设备和介质 Active CN115550060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211462551.0A CN115550060B (zh) 2022-11-22 2022-11-22 基于区块链的可信证书验证方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211462551.0A CN115550060B (zh) 2022-11-22 2022-11-22 基于区块链的可信证书验证方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN115550060A CN115550060A (zh) 2022-12-30
CN115550060B true CN115550060B (zh) 2023-03-14

Family

ID=84721499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211462551.0A Active CN115550060B (zh) 2022-11-22 2022-11-22 基于区块链的可信证书验证方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115550060B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886319A (zh) * 2023-09-08 2023-10-13 海马云(天津)信息技术有限公司 证书校验方法及装置、通信设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493011A (zh) * 2019-09-26 2019-11-22 腾讯科技(深圳)有限公司 基于区块链的证书颁发管理方法以及装置
CN111092737A (zh) * 2019-12-27 2020-05-01 上海市数字证书认证中心有限公司 数字证书管理方法、装置及区块链节点
CN112380287A (zh) * 2020-11-13 2021-02-19 浙江数秦科技有限公司 一种分布式可信声明生成方法和***、设备及存储介质
WO2021068636A1 (zh) * 2019-10-11 2021-04-15 支付宝(杭州)信息技术有限公司 基于区块链的可验证声明的创建方法、装置、设备及***
WO2022042301A1 (zh) * 2020-08-26 2022-03-03 腾讯科技(深圳)有限公司 一种数据处理方法、装置、智能设备及存储介质
CN114201781A (zh) * 2021-12-14 2022-03-18 深圳市电子商务安全证书管理有限公司 基于区块链的存证验证方法、装置、计算机设备及介质
CN115037478A (zh) * 2022-06-07 2022-09-09 浙江网商银行股份有限公司 基于区块链的文件签约方法以及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090876B (zh) * 2020-03-18 2020-07-17 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
DE102020128685A1 (de) * 2020-10-30 2022-05-05 Bundesdruckerei Gmbh Blockchain-basiertes digitales Dokumentensystem
CN113014392B (zh) * 2021-02-19 2022-04-08 湖南大学 基于区块链的数字证书管理方法及***、设备、存储介质
CN114338054B (zh) * 2022-03-17 2022-06-07 北京笔新互联网科技有限公司 区块链可信数据传输、验证和获取方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493011A (zh) * 2019-09-26 2019-11-22 腾讯科技(深圳)有限公司 基于区块链的证书颁发管理方法以及装置
WO2021068636A1 (zh) * 2019-10-11 2021-04-15 支付宝(杭州)信息技术有限公司 基于区块链的可验证声明的创建方法、装置、设备及***
CN111092737A (zh) * 2019-12-27 2020-05-01 上海市数字证书认证中心有限公司 数字证书管理方法、装置及区块链节点
WO2022042301A1 (zh) * 2020-08-26 2022-03-03 腾讯科技(深圳)有限公司 一种数据处理方法、装置、智能设备及存储介质
CN112380287A (zh) * 2020-11-13 2021-02-19 浙江数秦科技有限公司 一种分布式可信声明生成方法和***、设备及存储介质
CN114201781A (zh) * 2021-12-14 2022-03-18 深圳市电子商务安全证书管理有限公司 基于区块链的存证验证方法、装置、计算机设备及介质
CN115037478A (zh) * 2022-06-07 2022-09-09 浙江网商银行股份有限公司 基于区块链的文件签约方法以及装置

Also Published As

Publication number Publication date
CN115550060A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN111066286B (zh) 使用高可用性的可信执行环境检索区块链网络的公共数据
US10609039B2 (en) Traitor tracing for obfuscated credentials
US11036861B2 (en) Host attestation
US11757641B2 (en) Decentralized data authentication
US10834117B2 (en) Enhanced data security through uniqueness checking
US10979403B1 (en) Cryptographic configuration enforcement
CN112507328B (zh) 一种文件签名方法、计算设备及存储介质
KR20150036104A (ko) 로그인 검증의 방법, 클라이언트, 서버 및 시스템
CN115550060B (zh) 基于区块链的可信证书验证方法、装置、设备和介质
CN115460019A (zh) 基于数字身份的目标应用提供方法和装置、设备和介质
US10158490B2 (en) Double authentication system for electronically signed documents
CN113221133A (zh) 数据传输方法以及装置
US7853793B2 (en) Trusted signature with key access permissions
CN116579026A (zh) 一种云数据完整性审计方法、装置、设备及存储介质
Wawrzyniak et al. New xml signature scheme that is resistant to some attacks
CN116244756A (zh) 浏览器插件的校验方法以及装置与计算设备
CN114698408B (zh) 多接收方安全通信
US11424939B1 (en) Privacy preserving attestation
US11722464B2 (en) Symmetric account authentication
Lewison et al. Rich credentials for remote identity proofing
CN117454437B (zh) 交易处理方法、存储介质及电子设备
JP2002006739A (ja) 認証情報生成装置およびデータ検証装置
CN116975937B (zh) 匿名证明方法、匿名验证方法
CN115664861B (zh) 基于区块链的身份信息验证方法和装置、设备和介质
CN117061127A (zh) 数字签名的生成方法及***、装置、电子设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant