CN113569295B - 黑名单数据共享方法及获取方法 - Google Patents
黑名单数据共享方法及获取方法 Download PDFInfo
- Publication number
- CN113569295B CN113569295B CN202111120123.5A CN202111120123A CN113569295B CN 113569295 B CN113569295 B CN 113569295B CN 202111120123 A CN202111120123 A CN 202111120123A CN 113569295 B CN113569295 B CN 113569295B
- Authority
- CN
- China
- Prior art keywords
- client
- key
- blacklist
- initiator
- party
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Abstract
本申请涉及一种黑名单数据共享方法及黑名单数据获取方法,其中,所述黑名单数据共享方法,一方面,通过对黑名单用户身份标识进行哈希生成第一密钥发送至接收方客户端,使得接收方客户端只能获取到哈希后的第一秘钥,无法获知黑名单用户身份标识,传输的过程中可以确保用户的黑名单用户身份标识不外泄。另一方面,发起方客户端生成与每一个接收方客户端对应的第一密钥,且需要接收每一个接收方客户端返回的每一个签名身份数据,累加所有的签名身份数据生成黑名单密钥再进行上链操作,使得黑名单秘钥包含所有机构的签名身份数据,不但有利于机构之间构建互信联盟,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
Description
技术领域
本申请涉及信息安全技术领域,特别是涉及一种黑名单数据共享方法及获取方法。
背景技术
黑名单数据作为一种有价值的隐私数据,归各个机构所有。目前,各个机构基于数据安全的考虑,担心数据泄露因此都是各自持有,从而导致现有黑名单数据共享不充分,孤岛现象严重。
黑名单数据包括黑名单用户身份标识(简称为id,如身份证号码)和黑名单用户详情数据(简称为data)两部分,一般情况下,黑名单用户身份标识作为上链的黑名单密钥(key),黑名单用户详情数据作为上链的(value),通过 key可以检索value。
现有的区块链黑名单数据共享方法大多都是将黑名单数据明文上链,也就是同时将key和value明文保存在区块链上,这就会直接泄露黑名单用户身份标识和黑名单用户详情数据,无法保证链上数据的隐私安全。
发明内容
基于此,有必要针对传统黑名单数据共享方法无法保证黑名单数据在上链之后,在链上的隐私安全无法保证的问题,提供一种黑名单数据共享方法及获取方法。
本申请提供一种黑名单数据共享方法,所述方法包括:
发出黑名单数据上链请求的客户端作为发起方客户端,读取发起方客户端的黑名单用户身份标识;
将联盟链里除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端对黑名单用户身份标识进行哈希,基于取余算法生成与每一个接收方客户端对应的第一密钥;
发起方客户端将每一个接收方客户端对应的第一密钥发给每一个接收方客户端;
每一个接收方客户端收到第一密钥后,提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端;
发起方客户端接收到所有接收方客户端返回的签名身份数据后,将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加,将累加结果作为对称密钥;
发起方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥;
发起方客户端提取与发起方客户端的黑名单用户身份标识对应的黑名单用户详情数据;
发起方客户端利用黑名单密钥对黑名单用户详情数据进行加密,将加密后的黑名单用户详情数据作为与黑名单密钥对应的值,将黑名单密钥与值同步上传至联盟链。
本申请涉及一种黑名单数据共享方法,对于需要将黑名单数据上链的客户端而言,保护了链上数据的隐私安全。一方面,通过对黑名单用户身份标识进行哈希生成第一密钥发送至接收方客户端,使得接收方客户端只能获取到哈希后的第一秘钥,无法获知黑名单用户身份标识,传输的过程中可以确保用户的黑名单用户身份标识不外泄。另一方面,发起方客户端生成与每一个接收方客户端对应的第一密钥,且需要接收每一个接收方客户端返回的每一个签名身份数据,累加所有的签名身份数据生成黑名单密钥再进行上链操作,使得黑名单秘钥包含所有机构的签名身份数据,不但有利于机构之间构建互信联盟,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
本申请还提供一种黑名单数据获取方法,所述方法包括:
将接收黑名单数据获取请求的客户端作为获取方客户端,获取方客户端获取黑名单数据获取请求中包含的待查询黑名单用户身份标识;
将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端对待查询黑名单用户身份标识进行哈希,基于取余算法生成与每一个协同方客户端对应的第三密钥;
获取方客户端将与每一个协同方客户端对应的第三密钥发给每一个协同方客户端;
每一个协同方客户端收到第三密钥后,提取本地存储的私钥对第三密钥进行签名,生成签名身份数据并将签名身份数据返回至获取方客户端;
获取方客户端接收到所有协同方客户端返回的签名身份数据后,将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加,将累加结果作为对称密钥;
获取方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥;
获取方客户端以黑名单密钥为索引,在联盟链上获取与黑名单密钥对应的值;
获取方客户端利用黑名单密钥对值进行解密,得到与待查询黑名单用户身份标识对应的黑名单用户详情数据。
本申请涉及一种黑名单数据获取方法,对于需要从链上获取黑名单数据的客户端而言,保护了链上数据的隐私安全。一方面,通过对待查询黑名单用户身份标识进行哈希生成第三密钥发送至协同方客户端,使得协同方客户端只能获取到哈希后的第三秘钥,无法获知黑名单用户身份标识,达到了匿名查询的功能。另一方面,发起方客户端生成与每一个接收方客户端对应的第一密钥,且需要接收每一个接收方客户端返回的每一个签名身份数据,累加所有的签名身份数据生成黑名单密钥再进行上链操作,使得黑名单秘钥包含所有机构的签名身份数据,不但有利于机构之间构建互信联盟,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
附图说明
图1为本申请一实施例提供的黑名单数据共享方法的流程示意图。
图2为本申请一实施例提供的黑名单数据获取方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种黑名单数据共享方法。需要说明的是,本申请提供的黑名单数据共享方法的应用于形成联盟链的区块链链群。联盟链中有多个机构。
此外,本申请提供的黑名单数据共享方法不限制其执行主体。可选地,本申请提供的黑名单数据共享方法的执行主体的可以为联盟链中的任意一个机构控制的客户端。
本方法的应用场景是,联盟链中的某一个机构有上链需求,需要在联盟链中共享某一个用户的黑名单用户详情数据,那么先通过该机构的客户端发起黑名单数据上链请求,然后执行本方法提供的黑名单数据共享方法即可实现黑名单数据的共享。
如图1所示,在本申请的一实施例中,黑名单数据共享方法包括如下S100 至S930:
S100,发出黑名单数据上链请求的客户端作为发起方客户端,读取发起方客户端的黑名单用户身份标识。
具体地,本实施例中,每一个机构控制一个客户端。每一个客户端持有一个或多个用户的黑名单用户详情数据。当一个机构有黑名单用户详情数据的共享需求时,将自身控制的客户端作为发起方客户端,发出黑名单数据上链请求。
进一步地,发起方客户端读取自己想要共享的黑名单用户详情数据对应的黑名单用户身份标识(id)。黑名单用户身份标识可以是用户的身份证号码。用户-黑名单用户身份标识-黑名单用户详情数据是一一对应的关系。
S300,将联盟链里除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端对黑名单用户身份标识进行哈希,基于取余算法生成与每一个接收方客户端对应的第一密钥。
具体地,本步骤中,发起方客户端对黑名单用户身份标识执行哈希算法,再对哈希后的结构基于取余算法生成第一密钥。需要注意的是,发起方客户端针对每一个接收方客户端生成一个第一密钥,但是黑名单用户身份标识是不变的且是发起方客户端持有的。
S500,发起方客户端将与每一个接收方客户端对应的第一密钥发给每一个接收方客户端。
具体地,由于哈希算法是不可逆的,因此其他接收方客户端无法依据第一密钥解密还原出黑名单用户身份标识,这样可以保证第一密钥中包含的黑名单用户身份标识不会泄露。
S700,每一个接收方客户端收到第一密钥后,提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端。
具体地,基于区块链的分享机制,以及便于机构之间构建互信联盟,本步骤中,每一个接收方客户端提取本地存储的私钥对第一密钥进行签名,生成签名身份数据返回至发起方客户端。
S800,发起方客户端接收到所有接收方客户端返回的签名身份数据后,将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加,将累加结果作为对称密钥。
具体地,需要注意的是发起方客户端的签名身份数据也要生成,再将发起方客户端的签名身份数据和所有接收方客户端返回的签名身份数据累加,将累加结果作为对称密钥(K)。
S910,发起方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥。
具体地,黑名单密钥在本实施例中作为上链的key。
S920,发起方客户端提取与发起方客户端的黑名单用户身份标识对应的黑名单用户详情数据。
具体地,可以理解,黑名单用户详情数据后续可以作为上链的key对应的 value。
S930,发起方客户端利用黑名单密钥对黑名单用户详情数据进行加密,将加密后的黑名单用户详情数据作为与黑名单密钥对应的值,将黑名单密钥与值同步上传至联盟链。
具体地,本步骤中黑名单秘钥和黑名单用户详情数据建立了映射关系,即 key和value的映射关系。将黑名单密钥与值同步上传至联盟链后,后续其他机构就可以通过联盟链去获取链上的加密后的黑名单用户详情数据了。
本实施例提供的黑名单数据共享方法,对于需要将黑名单数据上链的客户端而言,保护了链上数据的隐私安全。一方面,通过对黑名单用户身份标识进行哈希生成第一密钥发送至接收方客户端,使得接收方客户端只能获取到哈希后的第一秘钥,无法获知黑名单用户身份标识,传输的过程中可以确保用户的黑名单用户身份标识不外泄。另一方面,发起方客户端生成与每一个接收方客户端对应的第一密钥,且需要接收每一个接收方客户端返回的每一个签名身份数据,累加所有的签名身份数据生成黑名单密钥再进行上链操作,使得黑名单秘钥包含所有机构的签名身份数据,不但有利于机构之间构建互信联盟,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
在本申请的一实施例中,S300包括如下S310至S320:
S310,发起方客户端生成一个第一随机数。
具体地,第一随机数记为r1。第一随机数可以为正整数。
S320,将联盟链里的除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端依据公式1生成与每一个接收方客户端对应的第一密钥。
Pj=[r1ej×H(idi)]mod(nj) 公式1
其中。Pj为序号为j的接收方客户端的第一密钥。r1为第一随机数。ej为序号为j的接收方客户端的公钥中的第一公钥元素。r1ej为对第一随机数使用第一公钥元素加密后的结果。j为接收方客户端的序号。idi为发起方客户端的黑名单身份标识。H(idi)为对黑名单身份标识进行哈希得到的哈希值。mod为取余符号。nj为序号为j的接收方客户端的公钥中的第二公钥元素。
具体地,本实施例中,每一个客户端都持有并在本地存储了基于RSA算法生成的公钥和私钥。每个客户端持有的公钥和私钥是与自身客户端序号对应的。每个客户端持有的公钥包括第一公钥元素和第二公钥元素。也即,每一个接收端客户端持有的公钥为(ej,nj),私钥为dj,j为接收端客户端的序号。发起方客户端持有的公钥为(ei,ni),私钥为di,i为发起方客户端的序号。
H(idi)为对黑名单身份标识进行哈希得到的哈希值。该黑名单身份标识是发起方客户端的黑名单身份标识。哈希算法可以采用256哈希算法。可选的,本申请中提到的所有哈希算法可以共用同一种哈希算法,例如,本申请中提到的所有哈希算法可以共用256哈希算法。
r1ej为对第一随机数使用第一公钥元素加密后的结果,即对r1使用ej加密后生成的结果。加密方法可以使用RSA算法。由于所有客户端的公钥都是公开的,因此发起方客户端能够获取所有接收方客户端的ej,去计算r1ej。同理,发起方客户端能够获取所有接收方客户端的nj,去执行后续的取余算法。例如,如果联盟链中一共有11个机构,即有1个发起方客户端,10个接收方客户端,那么发起方客户端在本步骤中最终生成10个第一密钥。
本实施例中,通过设置第一随机数去混淆哈希值H(idi),增加了第一密钥在传输过程中的安全性,对第一随机数使用第一公钥元素加密,可以对哈希值H (idi)进一步模糊化,进一步提高第一密钥的安全性,大大增加其他接收方客户端破解第一密钥得到黑名单身份标识的难度。
在本申请的一实施例中,在S300之后,所述方法还包括:
S400,发起方客户端提取发起方客户端的私钥,依据公式2对与每一个接收方客户端对应的第一密钥进行签名,得到与每一个接收方客户端对应的第二密钥。
Vj=[H(Pj)]di 公式2
其中。Vj为序号为j的接收方客户端的第二密钥。i为发起方客户端的序号。 di为发起方客户端的私钥。Pj为与序号为j的接收方客户端对应的第一密钥。H (Pj)为对第一密钥进行哈希得到的哈希值。
具体地,本实施例中,在生成一个第一密钥后,发起方客户端还对第一秘钥进行签名,得到一个第二密钥。第二密钥是对第一秘钥使用发起方客户端的私钥di进行签名得到的。因此,发起方客户端至此针对每一个接收方客户端生成了第一密钥和第二密钥。例如,如果联盟链中一共有11个机构,即有1个发起方客户端,10个接收方客户端,那么发起方客户端在本步骤中最终生成10个第一密钥,以及10个第二密钥。
本实施例中,通过设置包含发起方客户端的签名的第二密钥,使得后续接收方客户端可以依据第二密钥对发起方客户端的合法性进行检验。
在本申请的一实施例中,在发起方客户端将与每一个接收方客户端对应的第一密钥发给每一个接收方客户端时,还同步地将与每一个接收方客户端对应的第二密钥发给每一个接收方客户端。
具体地,一个接收方客户端这样就可以同时接收两个密钥。
在本申请的一实施例中,在S700之前,还包括S610至S640:
S610,接收方客户端提取本地存储的发起方客户端的公钥对第二密钥进行解密,得到解密结果。
S620,接收方客户端对第一密钥进行哈希,生成哈希结果。
S630,接收方客户端判断解密结果是否等于哈希结果。
S640,若解密结果等于哈希结果,则接收方客户端进一步执行后续提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端的步骤。
具体地,在每一个接收方客户端收到发起方客户端发送的第一密钥和第二密钥后,在接收方客户端提取本地存储的私钥对第一密钥进行签名之前,执行本实施例。
本实施例增加了S610至S640的步骤。
所述S610包括如下S611至S613:
S611,接收方客户端提取本地存储的发起方客户端的公钥对第二密钥进行解密,判断是否能够解密成功;
S612,若能够解密成功,则得到解密结果,执行后续S620。
S613,若无法解密成功,则发出报警消息,终止后续步骤。
由于第二密钥是对第一秘钥使用发起方客户端的私钥di进行签名得到的,且发起方客户端的公钥是向所有客户端公开的,因此,如果接收方客户端使用发起方客户端的公钥对第二密钥进行解密且能解密成功,表明第二密钥确实是合法的发起方客户端签名且发出的。如果无法解密成功,则表明第二密钥不合法,来源可疑。发出报警消息提醒操作人员。
S620至S640中,接收方客户端对第一密钥进行哈希,可以得到H(Pj)。S610 的解密结果也是H(Pj)。如果第一密钥和第二密钥都是合法的,那么解密结果应当是等于哈希结果的。
若解密结果等于哈希结果,表明第一密钥和第二密钥都是合法的且完整的,没有被篡改,执行后续S700,即接收方客户端可以提取本地存储的私钥dj对第一密钥进行签名,生成签名身份数据Pj dj并将签名身份数据返回至发起方客户端。
所述S600还包括:S650,若解密结果不等于哈希结果,则丢弃第一秘钥和第二密钥,发出报警消息,终止后续步骤。此时可以认为第一密钥和第二密钥中的数据很有可能被篡改了,第一密钥和第二密钥必须弃用。
本实施例中,一方面,通过接收方客户端提取本地存储的发起方客户端的公钥对第二密钥进行解密,可以验证发起方客户端的合法性。另一方面,通过比较解密结果和哈希结果,能检验第一密钥和第二密钥的完整性,检验在传输过程中第一密钥和第二密钥中的数据没有被篡改。
在本申请的一实施例中,所述S800包括如下S810至S830:
S810,发起方客户端接收到所有接收方客户端返回的签名身份数据后,依据公式3计算发起方客户端的签名身份数据。
Qi'=[H(idi)]dimod(ni) 公式3
其中。Qi'为序号为i的发起方客户端的签名身份数据。i为发起方客户端的序号。idi为发起方客户端的黑名单身份标识。H(idi)为对黑名单身份标识进行哈希得到的哈希值。mod为取余符号。di为序号为i的发起方客户端的私钥。ni为与序号为i的发起方客户端的公钥中的第二公钥元素。
具体地,前述实施例已经说明,接收方客户端是提取本地存储的私钥dj对第一密钥进行签名,生成签名身份数据Pj dj,再返回给发起方客户端的。
因此,在发起方客户端接收到所有接收方客户端返回的签名身份数据后,在依据公式3计算发起方客户端的签名身份数据之前,和S610至S640类似,发起方客户端可以使用接收方客户端的公钥对签名身份数据Pj dj解密。如果解密成功得到了解密结果,表明接收方客户端可信。
进而发起方客户端可以比较第一秘钥和解密后的结果进行比较,如果一致,说明解密出来的结果确实是Pj,表明签名身份数据是完整的没有被篡改,可以执行后续依据公式3计算发起方客户端的签名身份数据的步骤。
由于之前的步骤没有计算发起方客户端的签名身份数据,因此,本步骤通过公式3计算补充发起方客户端的签名身份数据。注意的是,由于发起方客户端的签名身份数据不再需要传输出去给别的客户端,因此没有增添第一随机数r1的必要。
S820,发起方客户端对每一个接收方客户端返回的签名身份数据依据公式4 进行去模糊化处理。
Qj'=Qj/r1 公式4
其中。Qj'为去模糊化处理后的序号为j的接收方客户端的签名身份数据。 Qj为序号为j的接收方客户端的签名身份数据。r1为第一随机数。
具体地,签名身份数据不需要再传输出去,因此本步骤要把签名身份数据除以r1,去掉模糊化的r1的影响。
S830,发起方客户端将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加。将累加结果作为对称密钥。
具体地,例如,有1个发起方客户端,10个接收方客户端,那么对称密钥就是Qi'加上10个Qj'的和。
本实施例中,通过累加所有的签名身份数据作为对称密钥,使得对称密钥包含所有机构的签名身份数据,后续生成黑名单密钥key时,不但有利于机构之间构建互信联盟,相当于上链得到了所有机构的同意与认可,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
本申请提供一种黑名单数据获取方法。
需要说明的是,本申请提供的黑名单数据获取方法的应用于形成联盟链的区块链链群。联盟链中有多个机构。
此外,本申请提供的黑名单数据获取方法不限制其执行主体。可选地,本申请提供的黑名单数据获取方法的执行主体的可以为联盟链中的任意一个机构控制的客户端。
本方法的应用场景是,联盟链中的某一个机构有获取某个用户的黑名单用户详情数据的需求,需要在联盟链中查询该用户的黑名单用户详情数据,那么先通过该机构的客户端发起黑名单数据获取请求,然后执行本方法提供的黑名单获取共享方法。
由于前述内容已经介绍了黑名单数据共享方法,用于将黑名单用户详情数据共享到链上,此处提供的黑名单数据获取方法是从链上获取黑名单用户详情数据的,两种方法是互相配合,互相依存的关系。
如图2所示,在本申请的一实施例中,所述黑名单数据获取方法包括如下 W100至W930:
W100,将接收黑名单数据获取请求的客户端作为获取方客户端,获取方客户端获取黑名单数据获取请求中包含的待查询黑名单用户身份标识。
W300,将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端对待查询黑名单用户身份标识进行哈希,基于取余算法生成与每一个协同方客户端对应的第三密钥。
W500,获取方客户端将与每一个协同方客户端对应的第三密钥发给每一个协同方客户端。
W700,获取方客户端将与每一个协同方客户端对应的第三密钥发给每一个协同方客户端。
W800,获取方客户端接收到所有协同方客户端返回的签名身份数据后,将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加,将累加结果作为对称密钥。
W910,获取方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥。
W920,获取方客户端以黑名单密钥为索引,在联盟链上获取与黑名单密钥对应的值。
W930,获取方客户端利用黑名单密钥对值进行解密,得到与待查询黑名单用户身份标识对应的黑名单用户详情数据。
具体地,本方法中的W100至W800与前述黑名单数据共享方法中的S100至 S800的原理相同,此处不再赘述。同样的,获取方客户端可以是联盟链中所有客户端中的任意一个客户端(获取方客户端与黑名单数据共享方法中的发起方客户端类似,只是两个方法应用场景不同),其他客户端作为协同方客户端存在 (协同方客户端与前述黑名单数据共享方法中的接收方客户端类似)。
区别在于,W100至W800中,获取方客户端是对待查询黑名单用户身份标识进行哈希,而不是对获取方客户端自身的黑名单用户身份标识进行哈希。S100 至S800中,发起方客户端是对发起方客户端自身的黑名单用户身份标识进行哈希。
待查询黑名单用户身份标识是包含在黑名单数据获取请求中的。例如,用户A想要查询用户A在链上存储的黑名单用户详情数据,那么用户A的黑名单用户身份标识(id)不一定是获取方客户端原本持有的,但是用户A依然可以在获取方客户端处获取链上存储的黑名单用户详情数据。只要用户A建立一个黑名单数据获取请求且在黑名单数据获取请求中附上用户A的黑名单用户身份标识,然后用户A将黑名单数据获取请求发送至获取方客户端即可。
可以理解,通过前述内容的黑名单数据共享方法,联盟链上存储了很多黑名单密钥(key)与值(value)的映射对,那么通过本方法的W910至W930,可以以黑名单密钥为索引,在联盟链上获取与黑名单密钥对应的值。进而利用黑名单密钥对值进行解密,就可以得到与待查询黑名单用户身份标识对应的黑名单用户详情数据。
本实施例对于需要从链上获取黑名单数据的客户端而言,保护了链上数据的隐私安全。一方面,通过对待查询黑名单用户身份标识进行哈希生成第三密钥发送至协同方客户端,使得协同方客户端只能获取到哈希后的第三秘钥,无法获知黑名单用户身份标识,达到了匿名查询的功能。另一方面,发起方客户端生成与每一个接收方客户端对应的第一密钥,且需要接收每一个接收方客户端返回的每一个签名身份数据,累加所有的签名身份数据生成黑名单密钥再进行上链操作,使得黑名单秘钥包含所有机构的签名身份数据,不但有利于机构之间构建互信联盟,而且实现了黑名单数据的高效共享,提升了黑名单数据的利用效率。
在本申请的一实施例中,W300包括如下W310至W320:
W310,获取方客户端生成一个第二随机数。
W320,将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端依据公式5生成与每一个协同方客户端对应的第三密钥。
Pk=[r2ek×H(id)]mod(nk) 公式5
其中。Pk为序号为k的协同方客户端的第三密钥。r2为第二随机数。ek为序号为k的协同方客户端的公钥中的第一公钥元素。r2ek为对第二随机数使用第一公钥元素加密后的结果。k为协同方客户端的序号。id为待查询黑名单用户身份标识。H(id)为对黑名单身份标识进行哈希得到的哈希值。mod为取余符号。nk为序号为k的协同方客户端的公钥中的第二公钥元素。
具体地,W310至W320的原理与前述黑名单数据共享方法中S310至S320的原理一致,此处不再赘述。区别在于,公式5使用的随机数是另一个随机数,即第二随机数。第二随机数的数值不等于第一随机数。公式5使用的id是待查询黑名单用户身份标识,而不是获取方客户端的黑名单身份标识。
本实施例中,通过设置第二随机数去混淆哈希值H(id),增加了第三密钥在传输过程中的安全性,对第二随机数使用第一公钥元素加密,可以对哈希值H (id)进一步模糊化,进一步提高第三密钥的安全性,大大增加其他协同方客户端破解第三密钥得到待查询黑名单身份标识的难度。
在本申请的一实施例中,在W300之后,所述方法还包括:
W400,获取方客户端提取获取方客户端的私钥,依据公式6对与每一个协同方客户端对应的第三密钥进行签名,得到与每一个协同方客户端对应的第四密钥。
Vk=[H(Pk)]dm 公式6
其中。Vk为序号为k的协同方客户端的第四密钥。m为获取方客户端的序号。 dm为序号为m的获取方客户端的私钥。Pk为与序号为k的协同方客户端对应的第三密钥。H(Pk)为对第三密钥进行哈希得到的哈希值。
具体地,W400和前述黑名单数据共享方法中S300的原理一致,此处不再赘述。
本实施例中,通过设置包含获取方客户端的签名的第四密钥,使得后续接收方客户端可以依据第四密钥对获取方客户端的合法性进行检验。
在本申请的一实施例中,在获取方客户端将与每一个协同方客户端对应的第三密钥发给每一个协同方客户端时,还同步地将与每一个协同方客户端对应的第四密钥发给每一个协同方客户端。
具体地,协同方客户端这样就可以同时接收两个密钥。
可选地,在每一个协同方客户端收到获取方客户端发送的第三密钥和第四密钥后,在协同方客户端提取本地存储的私钥对第三密钥进行签名之前,可以执行类似黑名单数据共享方法中S610至S640的步骤,对获取方客户端进行合法性检验,同时对第三密钥和第四密钥的完整性进行检验,此处不再具体赘述,其原理和黑名单数据共享方法中S610至S640的原理是一致的。
在本申请的一实施例中,W800包括如下W810至W830:
W810,获取方客户端接收到所有协同方客户端返回的签名身份数据后,依据公式7计算获取方客户端的签名身份数据。
Qm'=[H(id)]dmmod(nm) 公式7
其中。Qm'为序号为m的获取方客户端的签名身份数据。m为获取方客户端的序号。id为待查询黑名单用户身份标识。H(id)为对待查询黑名单用户身份标识进行哈希得到的哈希值。mod为取余符号。dm为序号为m的获取方客户端的私钥。nm为与序号为m的获取方客户端的公钥中的第二公钥元素。
W820,获取方客户端对每一个协同方客户端返回的签名身份数据依据公式8 进行去模糊化处理。
Qk'=Qk/r2 公式8
其中。Qk'为去模糊化处理后的序号为k的协同方客户端的签名身份数据。 Qk为序号为k的协同方客户端的签名身份数据。r2为第二随机数。
W830,获取方客户端将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加。将累加结果作为对称密钥。
具体地,本实施例中的W810至W830与前述黑名单数据共享方法中S810至 S830的原理类似,此处不再赘述。
本实施例中,通过累加所有的签名身份数据作为对称密钥,使得对称密钥包含所有机构的签名身份数据,后续生成黑名单密钥key时,才能生成和前述黑名单数据共享方法中上链时生成的黑名单密钥key一模一样的黑名单密钥 key,才能依据黑名单密钥key从链上查询到待查询黑名单用户身份标识对应的黑名单用户详情数据,本实施例也体现黑名单数据共享方法与黑名单数据获取方法的互相耦合的关系。
以上所述实施例的各技术特征可以进行任意的组合,各方法步骤也并不做执行顺序的限制,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (8)
1.一种黑名单数据共享方法,其特征在于,所述方法包括:
发出黑名单数据上链请求的客户端作为发起方客户端,读取发起方客户端的黑名单用户身份标识;
将联盟链里除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端对黑名单用户身份标识进行哈希,基于取余算法生成与每一个接收方客户端对应的第一密钥;所述将联盟链里除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端对黑名单用户身份标识进行哈希,基于取余算法生成与每一个接收方客户端对应的第一密钥,包括:
发起方客户端生成一个第一随机数;
将联盟链里的除发起方客户端之外的所有客户端作为接收方客户端,发起方客户端依据公式1生成与每一个接收方客户端对应的第一密钥;
Pj=[r1ej×H(idi)]mod(nj) 公式1;
其中,Pj为序号为j的接收方客户端的第一密钥,r1为第一随机数,ej为序号为j的接收方客户端的公钥中的第一公钥元素,r1ej为对第一随机数使用第一公钥元素加密后的结果,j为接收方客户端的序号,idi为发起方客户端的黑名单身份标识,H(idi)为对黑名单身份标识进行哈希得到的哈希值,mod为取余符号,nj为序号为j的接收方客户端的公钥中的第二公钥元素;
发起方客户端将与每一个接收方客户端对应的第一密钥发给每一个接收方客户端;
每一个接收方客户端收到第一密钥后,提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端;
发起方客户端接收到所有接收方客户端返回的签名身份数据后,将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加,将累加结果作为对称密钥;
发起方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥;
发起方客户端提取与发起方客户端的黑名单用户身份标识对应的黑名单用户详情数据;
发起方客户端利用黑名单密钥对黑名单用户详情数据进行加密,将加密后的黑名单用户详情数据作为与黑名单密钥对应的值,将黑名单密钥与值同步上传至联盟链。
2.根据权利要求1所述的黑名单数据共享方法,其特征在于,在基于取余算法生成与每一个接收方客户端对应的第一密钥之后,所述方法还包括:
发起方客户端提取发起方客户端的私钥,依据公式2对与每一个接收方客户端对应的第一密钥进行签名,得到与每一个接收方客户端对应的第二密钥;
Vj=[H(Pj)]di 公式2;
其中,Vj为序号为j的接收方客户端的第二密钥,i为发起方客户端的序号,di为发起方客户端的私钥,Pj为序号为j的接收方客户端对应的第一密钥,H(Pj)为对第一密钥进行哈希得到的哈希值。
3.根据权利要求2所述的黑名单数据共享方法,其特征在于,在发起方客户端将与每一个接收方客户端对应的第一密钥发给每一个接收方客户端时,还同步地将与每一个接收方客户端对应的第二密钥发给每一个接收方客户端。
4.根据权利要求3所述的黑名单数据共享方法,其特征在于,在每一个接收方客户端提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端之前,还包括:
接收方客户端提取本地存储的发起方客户端的公钥对第二密钥进行解密,得到解密结果;
接收方客户端对第一密钥进行哈希,生成哈希结果;
接收方客户端判断解密结果是否等于哈希结果;
若解密结果等于哈希结果,则接收方客户端进一步执行后续提取本地存储的私钥对第一密钥进行签名,生成签名身份数据并将签名身份数据返回至发起方客户端的步骤。
5.根据权利要求4所述的黑名单数据共享方法,其特征在于,发起方客户端接收到所有接收方客户端返回的签名身份数据后,将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加,将累加结果作为对称密钥,包括:
发起方客户端接收到所有接收方客户端返回的签名身份数据后,依据公式3计算发起方客户端的签名身份数据;
Qi'=[H(idi)]dimod(ni) 公式3;
其中,Qi'为序号为i的发起方客户端的签名身份数据,i为发起方客户端的序号,idi为发起方客户端的黑名单身份标识,H(idi)为对黑名单身份标识进行哈希得到的哈希值,mod为取余符号,di为序号为i的发起方客户端的私钥,ni为与序号为i的发起方客户端的公钥中的第二公钥元素;
发起方客户端对每一个接收方客户端返回的签名身份数据依据公式4进行去模糊化处理;
Qj'=Qj/r1 公式4;
其中,Qj'为去模糊化处理后的序号为j的接收方客户端的签名身份数据,Qj为序号为j的接收方客户端的签名身份数据,r1为第一随机数;
发起方客户端将所有接收方客户端返回的签名身份数据和发起方客户端的签名身份数据累加,将累加结果作为对称密钥。
6.一种黑名单数据获取方法,其特征在于,包括:
将接收黑名单数据获取请求的客户端作为获取方客户端,获取方客户端获取黑名单数据获取请求中包含的待查询黑名单用户身份标识;
将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端对待查询黑名单用户身份标识进行哈希,基于取余算法生成与每一个协同方客户端对应的第三密钥;所述将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端对待查询黑名单用户身份标识进行哈希,基于取余算法生成与每一个协同方客户端对应的第三密钥包括:
获取方客户端生成一个第二随机数;
将联盟链里的除获取方客户端之外的所有客户端作为协同方客户端,获取方客户端依据公式5生成与每一个协同方客户端对应的第三密钥;
Pk=[r2ek×H(id)]mod(nk) 公式5;
其中,Pk为序号为k的协同方客户端的第三密钥,r2为第二随机数,ek为序号为k的协同方客户端的公钥中的第一公钥元素,r2ek为对第二随机数使用第一公钥元素加密后的结果,k为协同方客户端的序号,id为待查询黑名单用户身份标识,H(id)为对待查询黑名单身份标识进行哈希得到的哈希值,mod为取余符号,nk为序号为k的协同方客户端的公钥中的第二公钥元素;
获取方客户端将与每一个协同方客户端对应的第三密钥发给每一个协同方客户端;
每一个协同方客户端收到第三密钥后,提取本地存储的私钥对第三密钥进行签名,生成签名身份数据并将签名身份数据返回至获取方客户端;
获取方客户端接收到所有协同方客户端返回的签名身份数据后,将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加,将累加结果作为对称密钥;
获取方客户端对所述对称密钥进行哈希运算,将哈希运算得到的结果作为黑名单密钥;
获取方客户端以黑名单密钥为索引,在联盟链上获取与黑名单密钥对应的值;
获取方客户端利用黑名单密钥对值进行解密,得到与待查询黑名单用户身份标识对应的黑名单用户详情数据。
7.根据权利要求6所述的黑名单数据获取方法,其特征在于,在基于取余算法生成与每一个协同方客户端对应的第三密钥之后,所述方法还包括:
获取方客户端提取获取方客户端的私钥,依据公式6对与每一个协同方客户端对应的第三密钥进行签名,得到与每一个协同方客户端对应的第四密钥;
Vk=[H(Pk)]dm 公式6;
其中,Vk为序号为k的协同方客户端的第四密钥,m为获取方客户端的序号,dm为序号为m的获取方客户端的私钥,Pk为序号为k的协同方客户端的第三密钥,H(Pk)为对第三密钥进行哈希得到的哈希值。
8.根据权利要求7所述的黑名单数据获取方法,其特征在于,获取方客户端接收到所有协同方客户端返回的签名身份数据后,将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加,将累加结果作为对称密钥,包括:
获取方客户端接收到所有协同方客户端返回的签名身份数据后,依据公式7计算获取方客户端的签名身份数据;
Qm'=[H(id)]dmmod(nm) 公式7;
其中,Qm’为序号为m的获取方客户端的签名身份数据,m为获取方客户端的序号,id为待查询黑名单用户身份标识,H(id)为对待查询黑名单用户身份标识进行哈希得到的哈希值,mod为取余符号,dm为序号为m的获取方客户端的私钥,nm为与序号为m的获取方客户端的公钥中的第二公钥元素;
获取方客户端对每一个协同方客户端返回的签名身份数据依据公式8进行去模糊化处理;
Qk'=Qk/r2 公式8;
其中,Qk'为去模糊化处理后的序号为k的协同方客户端的签名身份数据,Qk为序号为k的协同方客户端的签名身份数据,r2为第二随机数;
获取方客户端将所有协同方客户端返回的签名身份数据和获取方客户端的签名身份数据累加,将累加结果作为对称密钥。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111120123.5A CN113569295B (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
CN202111447921.9A CN114386086A (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111120123.5A CN113569295B (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111447921.9A Division CN114386086A (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569295A CN113569295A (zh) | 2021-10-29 |
CN113569295B true CN113569295B (zh) | 2022-02-15 |
Family
ID=78174293
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111120123.5A Active CN113569295B (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
CN202111447921.9A Pending CN114386086A (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111447921.9A Pending CN114386086A (zh) | 2021-09-24 | 2021-09-24 | 黑名单数据共享方法及获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113569295B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785525A (zh) * | 2022-05-12 | 2022-07-22 | 深圳壹账通科技服务有限公司 | 黑名单库生成方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365670A (zh) * | 2019-07-08 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 黑名单共享方法、装置、计算机设备和存储介质 |
CN111369236A (zh) * | 2020-02-19 | 2020-07-03 | 中国建设银行股份有限公司 | 一种应用于区块链的数据管理方法和装置 |
CN111723060A (zh) * | 2019-03-18 | 2020-09-29 | 苏宁易购集团股份有限公司 | 基于区块链的黑名单数据共享方法及系统 |
-
2021
- 2021-09-24 CN CN202111120123.5A patent/CN113569295B/zh active Active
- 2021-09-24 CN CN202111447921.9A patent/CN114386086A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723060A (zh) * | 2019-03-18 | 2020-09-29 | 苏宁易购集团股份有限公司 | 基于区块链的黑名单数据共享方法及系统 |
CN110365670A (zh) * | 2019-07-08 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 黑名单共享方法、装置、计算机设备和存储介质 |
CN111369236A (zh) * | 2020-02-19 | 2020-07-03 | 中国建设银行股份有限公司 | 一种应用于区块链的数据管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113569295A (zh) | 2021-10-29 |
CN114386086A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213042B (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
JP3872107B2 (ja) | 暗号キー回復システム | |
KR100956482B1 (ko) | 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체 | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
CN110048849B (zh) | 一种多层保护的会话密钥协商方法 | |
JP2001513227A (ja) | ネットワーク環境における秘密最新乱数の管理および使用 | |
CN105763331A (zh) | 一种数据加密方法和数据解密方法及装置 | |
US9130744B1 (en) | Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary | |
CN107094108A (zh) | 连接到数据总线的部件和在该部件中实现加密功能的方法 | |
CN114095181B (zh) | 一种基于国密算法的门限环签名方法及系统 | |
Guo et al. | A Secure and Efficient Mutual Authentication and Key Agreement Protocol with Smart Cards for Wireless Communications. | |
CN105025036B (zh) | 一种基于互联网的认知能力测试值加密和传输方法 | |
CN114448641A (zh) | 一种隐私加密方法、电子设备、存储介质以及芯片 | |
CN113569295B (zh) | 黑名单数据共享方法及获取方法 | |
Heninger | RSA, DH, and DSA in the Wild | |
US20210044435A1 (en) | Method for transmitting data from a motor vehicle and method for another vehicle to receive the data through a radio communication channel | |
CN114866244B (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
Baee et al. | The Security of “2FLIP” Authentication Scheme for VANETs: Attacks and Rectifications | |
CN111526131B (zh) | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 | |
Rasmussen et al. | Weak and strong deniable authenticated encryption: on their relationship and applications | |
Tiwari et al. | Physiological value based privacy preservation of patient’s data using elliptic curve cryptography | |
KR100453113B1 (ko) | 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법 | |
CN113326326A (zh) | 一种基于区块链发送数据加密保护的方法 | |
CN108768958B (zh) | 基于第三方不泄露被验信息的数据完整性和来源的验证方法 | |
Wong et al. | E–mail protocols with perfect forward secrecy |
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 |