CN117579252A - 基于密码技术的信息选择性披露方法 - Google Patents

基于密码技术的信息选择性披露方法 Download PDF

Info

Publication number
CN117579252A
CN117579252A CN202311534356.9A CN202311534356A CN117579252A CN 117579252 A CN117579252 A CN 117579252A CN 202311534356 A CN202311534356 A CN 202311534356A CN 117579252 A CN117579252 A CN 117579252A
Authority
CN
China
Prior art keywords
information
issuer
holder
verifier
verifiable
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.)
Pending
Application number
CN202311534356.9A
Other languages
English (en)
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.)
Sichuan Qiruike Technology Co Ltd
Sichuan Changhong Electronic Holding Group Co Ltd
Original Assignee
Sichuan Qiruike Technology Co Ltd
Sichuan Changhong Electronic Holding Group Co Ltd
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 Sichuan Qiruike Technology Co Ltd, Sichuan Changhong Electronic Holding Group Co Ltd filed Critical Sichuan Qiruike Technology Co Ltd
Priority to CN202311534356.9A priority Critical patent/CN117579252A/zh
Publication of CN117579252A publication Critical patent/CN117579252A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于密码技术的信息选择性披露方法,包括:获取原始信息;所述原始信息包括至少一个字段;对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;基于颁发者对所述目标信息进行签名;基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;以预设传输方式传输公开字段密文的解密方式。

Description

基于密码技术的信息选择性披露方法
技术领域
本发明涉及基于密码技术的信息选择性披露技术领域,具体涉及一种基于密码技术的信息选择性披露方法。
背景技术
引证反映现有技术的文件,写明所做得检索或查阅到的现有技术资料,包括本技术的历史背景和现状,说明现有技术的缺陷、不足或存在的弊病。在对背景技术作了简要描述和评价的基础上,针对最接近的现有技术存在的问题结合本发明所取得的效果提出本发明或发明的目的,也就是本发明或发明所要解决的任务。
数字身份通常指对实体的数字化刻画所形成的数字信息,如个人标识及可与标识一一映射的绑定信息。数字身份可作为其在网络上证明其身份(属性)真实性的凭证,在不同的应用服务中可使用不同的数字身份进行标识(如与人相关的手机号码、电子邮箱、微博等;与物相关的设备编码等),这些身份信息可以辅助业务机构确定身份。在信息时代,隐私问题越来越得到广泛的关注。选择性披露信息是为了保护隐私和信息安全,同时在特定情况下进行必要的信息分享。选择性披露信息可以帮助保护隐私权,降低身份暴露和信息泄露的风险。仅向可信任的实体或平台提供必要的信息,以减少信息被滥用、盗用或恶意攻击的风险。在遵守法律的前提下,选择性披露信息是合规的做法。
当前使用数字身份较普遍的方式是持有者出示自己的数字证书,数字证书包含其全部属性以及颁发者签名,这会披露持有者的全部属性。
因此,需要一种基于密码技术的信息选择性披露方法,实现由持有者选择性披露信息,提升安全性。
发明内容
本发明的目的在于提供一种基于密码技术的信息选择性披露方法及系统。以期解决背景技术中存在的技术问题。
为了实现上述目的,本发明采用以下技术方案:
一种基于密码技术的信息选择性披露方法,包括:
获取原始信息;所述原始信息包括至少一个字段;
对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;
将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;
基于颁发者对所述目标信息进行签名;
基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;
以预设传输方式传输公开字段密文的解密方式。
在一些实施例中,所述方法还包括:
颁发者本地生成颁发者公私钥对;
持有者本地生成持有者公私钥对;
验证者本地生成验证者公私钥对。
在一些实施例中,所述方法还包括:
颁发者使用颁发者公钥在基于区块链的分布式数字身份系统上生成颁发者唯一标识;
持有者使用持有者公钥在基于区块链的分布式数字身份系统上生成持有者唯一标识;
验证者使用验证者公钥在基于区块链的分布式数字身份系统上生成验证者唯一标识。
在一些实施例中,所述方法还包括:
颁发者在基于区块链的分布式数字身份系统上注册为颁发者;
颁发者在基于区块链的分布式数字身份系统上注册颁发的凭证声明类型;
运营基于区块链的分布式数字身份系统的管理者通过线下、线上方式核验颁发者的资格;
响应于核验通过,颁发者成为权威颁发者;
基于区块链的分布式数字身份系统管理颁发者,公开已有的颁发者信息。
在一些实施例中,所述方法还包括:
验证者在基于区块链的分布式数字身份系统上注册基本信息;
基于区块链的分布式数字身份系统管理验证者,公开已有的验证者信息。
在一些实施例中,所述方法还包括:
持有者获取公开的颁发者信息表,选择对应的颁发者进行可验证数字凭证的生成;
颁发者根据持有者的请求生成可验证数字凭证;
持有者存储可验证数字凭证;
持有者使用可验证数字凭证;
在使用不同的业务系统时,持有者根据业务系统的需要对自己的属性信息进行选择性披露;
验证者验证可验证表达。
在一些实施例中,所述颁发者根据持有者的请求生成可验证数字凭证包括:
使用颁发者的颁发者私钥,对解密关键信息的密文进行解密,得到解密关键信息;
使用解密关键信息对属性值的密文进行解密,得到原始属性信息;
对原始属性信息进行线上或线下的核验;
响应于核验不通过,返回错误提示;
响应于核验通过,添加可验证数字凭证的其他信息;
对各个字段进行安全哈希处理;
将各字段的哈希值按照预设顺序组合并再执行哈希处理生成固定长度的数据;
颁发者使用颁发者私钥进行签名;
将生成的可验证数字凭证返回给持有者。
在一些实施例中,所述持有者根据业务系统的需要对自己的属性信息进行选择性披露包括:
对于需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文;
对于不需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文,然后再经过安全哈希,以哈希值替代属性值;
可验证数字凭证及其他信息保持原文;
在基于区块链的分布式数字身份系统上获取验证者的基本信息;
将披露信息的字段以及对应的加密算法和密钥、不披露的字段组成解密关键信息;
使用验证者的验证者公钥对解密关键信息进行加密,生成解密关键信息密文;
对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名,生成可验证表达;
将可验证表达发送给DID doc验证者中的服务地址。
在一些实施例中,所述对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名包括:
生成各字段的安全哈希;
将各字段的哈希按照预设组合,然后再哈希生成固定长度;
持有者再使用持有者私钥进行签名。
在一些实施例中,所述验证者验证可验证表达包括:
验证者使用可验证表达中的验证算法验证可验证表达的签名是否一致;
响应于不一致,则返回错误提示;
响应于一致,验证者从可验证表达中得到选择性披露后的可验证数字凭证验证可验证表达的签名是否一致;
响应于不一致,则返回错误提示;
响应于一致,使用验证者的验证者私钥,对解密关键信息密文进行解密,得到解密关键信息;
验证者使用解密关键信息解密对应披露的字段,以进行相关业务操作。
同时,本发明还公开了一种基于密码技术的信息选择性披露系统,包括:
获取模块,用于获取原始信息;所述原始信息包括至少一个字段;
处理模块,用于对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;
排序模块,用于将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;
签名模块,用于基于颁发者对所述目标信息进行签名;
展示模块,用于基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;
传输模块,用于以预设传输方式传输公开字段密文的解密方式。
同时,本发明还公开了一种基于密码技术的信息选择性披露装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述装置实现上述任一项所述基于密码技术的信息选择性披露方法。
同时,本发明还公开了一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行上述任一项所述基于密码技术的信息选择性披露方法。
有益效果
本发明与现有技术相比,其显著优点是:
本发明的方案在现有选择性披露方法的基础上提出一种更安全的改进方式。本发明的方案引入密码学技术,对原始信息各字段进行密码学变换之后,再对各字段的密文进行哈希,然后将各字段的哈希按照一定的顺序(按字段顺序或者按hash结果排序)组合再生固定长度(如再哈希),最后颁发者再签名,持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段,同时以安全的方式传输公开字段密文的解密方式。本发明的方案通过密码变换扩大的信息空间,避免彩虹表等攻击方式。同时提供了基本的使用流程。通过本发明的方案的方式可以极大的提高选择性信息披露的安全性。
附图说明
图1是本实施例涉及基于密码技术的信息选择性披露系统示意图;
图2是本实施例涉及的基于密码技术的信息选择性披露方法的流程示意图;
图3为本发明实施例的原始信息的hash生成过程的示意图;
图4为本发明实施例的由披露字段和不披露字段组成选择性披露信息的示意图;
图5为本发明实施例的选择性披露信息片段hash生成过程的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
相反,本申请涵盖任何由权利要求定义的在本申请的精髓和范围上做的替代、修改、等效系统以及方案。进一步,为了使公众对本申请有更好的了解,在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。
以下将结合图1-5对本申请实施例所涉及的一种基于密码技术的信息选择性披露方法及系统进行详细说明。值得注意的是,以下实施例仅仅用于解释本申请,并不构成对本申请的限定。
实施例1
如图1所示为本实施例的基于密码技术的信息选择性披露系统100的示意图,如图1所示,基于密码技术的信息选择性披露系统100包括:
获取模块110,用于获取原始信息;所述原始信息包括至少一个字段;
处理模块120,用于对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;
排序模块130,用于将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;
签名模块140,用于基于颁发者对所述目标信息进行签名;
展示模块150,用于基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;
传输模块160,用于以预设传输方式传输公开字段密文的解密方式。
需要注意的是,以上对于基于密码技术的信息选择性披露系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图1中披露的获取模块110、处理模块120可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
如图2所示为本实施例的基于密码技术的信息选择性披露方法的流程200的示意图。在一些实施例中,流程200可以基于密码技术的信息选择性披露系统100执行。如图2所示,流程200包括:
步骤210,获取原始信息;所述原始信息包括至少一个字段;
步骤220,对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;
步骤230,将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;
步骤240,基于颁发者对所述目标信息进行签名;
步骤250,基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;
步骤260,以预设传输方式传输公开字段密文的解密方式。
本方案的实施涉及3个角色,颁发者、持有者、验证者。在一些实施例中,所述方法还包括:
颁发者本地生成颁发者公私钥对;持有者本地生成持有者公私钥对;验证者本地生成验证者公私钥对。
例如,颁发者本地生成自己的公私钥对(公钥:Public颁发者、私钥:Private颁发者);持有者本地生成自己的公私钥对(公钥:Public持有者、私钥:Private持有者);验证者本地生成自己的公私钥对(公钥:Public验证者、私钥:Private验证者)。
在一些实施例中,所述方法还包括:
颁发者使用颁发者公钥在基于区块链的分布式数字身份系统上生成颁发者唯一标识;持有者使用持有者公钥在基于区块链的分布式数字身份系统上生成持有者唯一标识;验证者使用验证者公钥在基于区块链的分布式数字身份系统上生成验证者唯一标识。
例如,颁发者使用自己的公钥(Public颁发者)在基于区块链的分布式数字身份系统上生成唯一标识:DID颁发者;持有者使用自己的公钥(Public持有者)在基于区块链的分布式数字身份系统上生成唯一标识:DID持有者;验证者使用自己的公钥(Public验证者)在基于区块链的分布式数字身份系统上生成唯一标识:DID验证者。
在一些实施例中,所述方法还包括:
颁发者在基于区块链的分布式数字身份系统上注册为颁发者;颁发者在基于区块链的分布式数字身份系统上注册颁发的凭证声明类型;运营基于区块链的分布式数字身份系统的管理者通过线下、线上方式核验颁发者的资格;响应于核验通过,颁发者成为权威颁发者;基于区块链的分布式数字身份系统管理颁发者,公开已有的颁发者信息。
例如,颁发者在基于区块链的分布式数字身份系统上注册可以颁发的凭证声明类型(Claim Protocol Type,简称CPT),其中主要包含凭证支持的字段(比如身份CPT包含:姓名、出生年月等;学历CPT包含:姓名、学历等)。运营基于区块链的分布式数字身份系统的管理者通过线下、线上方式核验颁发者的资格,核验通过后,颁发者成为权威颁发者。基于区块链的分布式数字身份系统管理颁发者,公开已有的颁发者信息:DID颁发者、颁发者注册的CPT、DID doc颁发者(包含公钥:Public颁发者、支持的加密算法、服务地址)、可选的备注信息(描述颁发者信息)。
在一些实施例中,所述方法还包括:
验证者在基于区块链的分布式数字身份系统上注册基本信息;基于区块链的分布式数字身份系统管理验证者,公开已有的验证者信息。
例如,验证者在基于区块链的分布式数字身份系统上注册自己的基本信息。基于区块链的分布式数字身份系统管理验证者,公开已有的验证者信息:DID验证者、DID doc验证者(包含公钥:Public验证者、支持的加密算法、服务地址)、可选的备注信息(描述验证者)。
在一些实施例中,所述方法还包括:
持有者获取公开的颁发者信息表,选择对应的颁发者进行可验证数字凭证的生成;颁发者根据持有者的请求生成可验证数字凭证;持有者存储可验证数字凭证;持有者使用可验证数字凭证;在使用不同的业务系统时,持有者根据业务系统的需要对自己的属性信息进行选择性披露;验证者验证可验证表达。
例如,持有者获取公开的颁发者信息表,选择对应的颁发者进行可验证数字凭证(Verifiable Credential,简称VC)的生成,包括:
首先持有者按照颁发者注册的CPT准备相应信息(比如身份CPT包含的姓名、出生年月等);持有者按照DID doc颁发者中的信息,根据安全需要自主选择颁发者注册的CPT相应信息的字段的加密算法和密钥(不同的字段可采用不同的加密算法、密钥,不加密可以视为一种特殊的加密方式),此处的信息需要进行共享,因此加密算法为对称加密算法。同时,本地记录DID颁发者、颁发者注册的CPT、CPT中字段、CPT中字段使用的加密算法和密钥;持有者按照上一步的选择对不同的字段进行加密,生成字段属性值的密文。将CPT中字段、CPT中字段属性值使用的加密算法和密钥,使用DID doc颁发者信息中公钥:Public持有者进行非对称加密,生成解密关键信息的密文;将解密关键信息的密文、所有字段以及字段属性值的密文,发送到DID doc颁发者信息中服务地址,等待颁发者生成可验证数字凭证(Verifiable Credential,简称VC)。
在一些实施例中,所述颁发者根据持有者的请求生成可验证数字凭证包括:
使用颁发者的颁发者私钥,对解密关键信息的密文进行解密,得到解密关键信息;使用解密关键信息对属性值的密文进行解密,得到原始属性信息;对原始属性信息进行线上或线下的核验;响应于核验不通过,返回错误提示;响应于核验通过,添加可验证数字凭证的其他信息;对各个字段进行安全哈希处理;将各字段的哈希值按照预设顺序组合并再执行哈希处理生成固定长度的数据;颁发者使用颁发者私钥进行签名;将生成的可验证数字凭证返回给持有者。
例如,使用颁发者的私钥:Private颁发者,对解密关键信息的密文进行解密,得到解密关键信息,使用解密关键信息对属性值的密文进行解密,得到原始属性信息;对原始属性信息进行线上或线下的核验。核验不通过,返回错误。核验通过进行下一步;添加可验证数字凭证(Verifiable Credential,简称VC)其他信息,如VC包含属性字段及其密文、CPT信息、颁发时间、过期时间、VC的唯一标识ID、颁发者DID、验证算法的等信息;对各个字段进行安全哈希(参考图3,添加的其他信息明文),然后将各字段的哈希按照一定的顺序(按字段顺序或者按hash结果排序)组合,然后再哈希生成固定长度,最后颁发者再使用私钥:Private持有者进行签名。将生成的可验证数字凭证(Verifiable Credential,简称VC)返回给持有者。VC包含属性字段及其密文、CPT信息、颁发时间、过期时间、VC的唯一标识ID、颁发者DID、签名、验证算法的等信息。
在一些实施例中,所述持有者根据业务系统的需要对自己的属性信息进行选择性披露包括:对于需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文;对于不需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文,然后再经过安全哈希,以哈希值替代属性值;可验证数字凭证及其他信息保持原文;在基于区块链的分布式数字身份系统上获取验证者的基本信息;将披露信息的字段以及对应的加密算法和密钥、不披露的字段组成解密关键信息;使用验证者的验证者公钥对解密关键信息进行加密,生成解密关键信息密文;对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名,生成可验证表达;将可验证表达发送给DID doc验证者中的服务地址。
图4为本发明实施例的由披露字段和不披露字段组成选择性披露信息的示意图。例如,对于需要披露的信息,使用生成可验证数字凭证(Verifiable Credential,简称VC)时记录的字段的加密算法和密钥生成属性值的密文(与生成可验证数字凭证(VerifiableCredential,简称VC)密文一致,也可以提前缓存);对于不需要披露的信息,使用生成可验证数字凭证(Verifiable Credential,简称VC)时记录的字段的加密算法和密钥生成属性值的密文,然后再经过安全哈希,以哈希值替代属性值,也可以提前缓存;可验证数字凭证(Verifiable Credential,简称VC)其他可保持原文。在基于区块链的分布式数字身份系统上获取验证者的基本信息:DID验证者、DID doc验证者(包含公钥:Public验证者、支持的加密算法、服务地址)、可选的备注信息;将披露信息的字段以及对应的加密算法和密钥、不披露的字段组成解密关键信息。使用验证者的公钥:Public验证者对解密关键信息进行加密,生成解密关键信息密文。对选择性披露后的可验证数字凭证(Verifiable Credential,简称VC)使用持有者的私钥Private进行签名,生成可验证表达(Verifiable Presentation,简称VP)。可验证表达(Verifiable Presentation,简称VP)包含选择性披露后的VC、签名、签名算法、验证算法、持有DID、持有者公钥、创建时间、解密关键信息密文等信息。签名方式为:首先生成各字段的安全哈希(不需要披露的信息已使用了哈希值,此处跳过),然后将各字段的哈希按照一定的顺序(按字段顺序或者按hash结果排序)组合,然后再哈希生成固定长度,最后持有者再使用私钥:Private持有者进行签名。将可验证表达(VerifiablePresentation,简称VP)发送给DID doc验证者中的服务地址。
图5为本发明实施例的选择性披露信息片段hash生成过程的示意图。在一些实施例中,所述对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名包括:生成各字段的安全哈希;将各字段的哈希按照预设组合,然后再哈希生成固定长度;持有者再使用持有者私钥进行签名。
在一些实施例中,所述验证者验证可验证表达包括:验证者使用可验证表达中的验证算法验证可验证表达的签名是否一致;响应于不一致,则返回错误提示;响应于一致,验证者从可验证表达中得到选择性披露后的可验证数字凭证验证可验证表达的签名是否一致;响应于不一致,则返回错误提示;响应于一致,使用验证者的验证者私钥,对解密关键信息密文进行解密,得到解密关键信息;验证者使用解密关键信息解密对应披露的字段,以进行相关业务操作。
例如,验证者使用VP中的验证算法验证VP的签名是否一致(采用同样的方式生成最终的哈希,与使用Public持有者解密后的原签名比对),如果不一致,则返回错误,否则,进行下一步,验证者从VP中得到选择性披露后的可验证数字凭证(VerifiableCredential,简称VC)验证VC的签名是否一致(采用生成VC同样的方式生成最终的哈希,与使用Public颁发者解密后的原签名比对),如果不一致,则返回错误,否则,进行下一步,使用验证者的私钥:Private验证者对解密关键信息密文进行解密,得到解密关键信息,验证者使用解密关键信息解密对应披露的字段,然后就可以进行相关业务操作。
同时,本发明还公开了一种基于密码技术的信息选择性披露装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述装置实现上述任一项所述基于密码技术的信息选择性披露系统。
同时,本发明还公开了一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行上述任一项所述基于密码技术的信息选择性披露系统。
综上可知,通过本发明的技术方案在现有选择性披露方法的基础上提出一种更安全的改进方式。本发明的技术方案引入密码学技术,对原始信息各字段进行密码学变换之后,再对各字段的密文进行哈希,然后将各字段的哈希按照一定的顺序(按字段顺序或者按hash结果排序)组合再生固定长度(如再哈希),最后颁发者再签名,持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段,同时以安全的方式传输公开字段密文的解密方式。通过本文的方式可以极大的提高选择性信息披露的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于密码技术的信息选择性披露方法,其特征在于,包括:
获取原始信息;所述原始信息包括至少一个字段;
对所述原始信息的字段进行密码学变换之后,再对字段的密文进行哈希处理;
将各字段的哈希值按照预设顺序进行排序组合,得到具有固定长度的目标信息;
基于颁发者对所述目标信息进行签名;
基于持有者在选择性披露信息时使用密文方式展示需要公开的字段,使用密文的哈希展示需要保护的字段;
以预设传输方式传输公开字段密文的解密方式。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
颁发者本地生成颁发者公私钥对;
持有者本地生成持有者公私钥对;
验证者本地生成验证者公私钥对。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
颁发者使用颁发者公钥在基于区块链的分布式数字身份系统上生成颁发者唯一标识;
持有者使用持有者公钥在基于区块链的分布式数字身份系统上生成持有者唯一标识;
验证者使用验证者公钥在基于区块链的分布式数字身份系统上生成验证者唯一标识。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
颁发者在基于区块链的分布式数字身份系统上注册为颁发者;
颁发者在基于区块链的分布式数字身份系统上注册颁发的凭证声明类型;
运营基于区块链的分布式数字身份系统的管理者通过线下、线上方式核验颁发者的资格;
响应于核验通过,颁发者成为权威颁发者;
基于区块链的分布式数字身份系统管理颁发者,公开已有的颁发者信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
验证者在基于区块链的分布式数字身份系统上注册基本信息;
基于区块链的分布式数字身份系统管理验证者,公开已有的验证者信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
持有者获取公开的颁发者信息表,选择对应的颁发者进行可验证数字凭证的生成;
颁发者根据持有者的请求生成可验证数字凭证;
持有者存储可验证数字凭证;
持有者使用可验证数字凭证;
在使用不同的业务系统时,持有者根据业务系统的需要对自己的属性信息进行选择性披露;
验证者验证可验证表达。
7.根据权利要求6所述的方法,其特征在于,所述颁发者根据持有者的请求生成可验证数字凭证包括:
使用颁发者的颁发者私钥,对解密关键信息的密文进行解密,得到解密关键信息;
使用解密关键信息对属性值的密文进行解密,得到原始属性信息;
对原始属性信息进行线上或线下的核验;
响应于核验不通过,返回错误提示;
响应于核验通过,添加可验证数字凭证的其他信息;
对各个字段进行安全哈希处理;
将各字段的哈希值按照预设顺序组合并再执行哈希处理生成固定长度的数据;
颁发者使用颁发者私钥进行签名;
将生成的可验证数字凭证返回给持有者。
8.根据权利要求7所述的方法,其特征在于,所述持有者根据业务系统的需要对自己的属性信息进行选择性披露包括:
对于需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文;
对于不需要披露的信息,使用生成可验证数字凭证时记录的字段的加密算法和密钥生成属性值的密文,然后再经过安全哈希,以哈希值替代属性值;
可验证数字凭证及其他信息保持原文;
在基于区块链的分布式数字身份系统上获取验证者的基本信息;
将披露信息的字段以及对应的加密算法和密钥、不披露的字段组成解密关键信息;
使用验证者的验证者公钥对解密关键信息进行加密,生成解密关键信息密文;
对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名,生成可验证表达;
将可验证表达发送给DID doc验证者中的服务地址。
9.根据权利要求8所述的方法,其特征在于,所述对选择性披露后的可验证数字凭证使用持有者的持有者私钥进行签名包括:
生成各字段的安全哈希;
将各字段的哈希按照预设组合,然后再哈希生成固定长度;
持有者再使用持有者私钥进行签名。
10.根据权利要求8所述的方法,其特征在于,所述验证者验证可验证表达包括:
验证者使用可验证表达中的验证算法验证可验证表达的签名是否一致;
响应于不一致,则返回错误提示;
响应于一致,验证者从可验证表达中得到选择性披露后的可验证数字凭证验证可验证表达的签名是否一致;
响应于不一致,则返回错误提示;
响应于一致,使用验证者的验证者私钥,对解密关键信息密文进行解密,得到解密关键信息;
验证者使用解密关键信息解密对应披露的字段,以进行相关业务操作。
CN202311534356.9A 2023-11-17 2023-11-17 基于密码技术的信息选择性披露方法 Pending CN117579252A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311534356.9A CN117579252A (zh) 2023-11-17 2023-11-17 基于密码技术的信息选择性披露方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311534356.9A CN117579252A (zh) 2023-11-17 2023-11-17 基于密码技术的信息选择性披露方法

Publications (1)

Publication Number Publication Date
CN117579252A true CN117579252A (zh) 2024-02-20

Family

ID=89885617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311534356.9A Pending CN117579252A (zh) 2023-11-17 2023-11-17 基于密码技术的信息选择性披露方法

Country Status (1)

Country Link
CN (1) CN117579252A (zh)

Similar Documents

Publication Publication Date Title
ES2881289T3 (es) Método para gestionar una identidad de confianza
KR101999188B1 (ko) 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
CN106302312B (zh) 获取电子文件的方法及装置
US6834112B1 (en) Secure distribution of private keys to multiple clients
JP4625234B2 (ja) トークン使用可能公開鍵インフラストラクチャ・システムにおけるユーザ証明書/秘密鍵の割り当て
US6058188A (en) Method and apparatus for interoperable validation of key recovery information in a cryptographic system
CN108768664A (zh) 密钥管理方法、装置、系统、存储介质和计算机设备
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
KR20000075650A (ko) 네트워크 환경에서 신규의 비밀 무작위 숫자의 운영과 이용에대한 시스템
CN110188551B (zh) 一种保单加密传输方法及系统
CN102075544A (zh) 局域网共享文件加密系统及其加解密方法
JPH09505711A (ja) コンピュータ・ネットワーク暗号鍵配布システム
CN105812349A (zh) 一种基于身份信息的非对称密钥分发及消息加密方法
CN110597836A (zh) 基于区块链网络的信息查询请求响应方法及装置
CN110189184A (zh) 一种电子发票存储方法和装置
JPH0962596A (ja) 電子メールシステム
JP4250429B2 (ja) 連鎖型署名作成装置、及びその制御方法
CN112564906A (zh) 一种基于区块链的数据安全交互方法及系统
CN109347923A (zh) 基于非对称密钥池的抗量子计算云存储方法和系统
CN107947939A (zh) 支持sm3密码杂凑算法和sm2数字签名算法的pdf签名方法和系统
CN111770081B (zh) 基于角色认证的大数据机密文件访问方法
JPH09305661A (ja) 出所認証方法
JPH0969831A (ja) 暗号通信システム
CN116528230A (zh) 验证码处理方法、移动终端及可信服务系统
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge

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