CN117150561A - 一种基于区块链的信息查询方法、装置及存储介质 - Google Patents
一种基于区块链的信息查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117150561A CN117150561A CN202311247622.XA CN202311247622A CN117150561A CN 117150561 A CN117150561 A CN 117150561A CN 202311247622 A CN202311247622 A CN 202311247622A CN 117150561 A CN117150561 A CN 117150561A
- Authority
- CN
- China
- Prior art keywords
- information
- nodes
- node
- queried
- ciphertext
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 104
- 230000015654 memory Effects 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 230000008520 organization Effects 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 12
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的信息查询方法、装置及存储介质。涉及数据处理技术领域,该方法包括:第一节点获取所述待查询信息,通过预设的加密算法对待查询信息进行加密,获得加密后的第一密文。第一节点将第一密文上传至区块链系统。第一节点分别获取多个第二节点对待查询信息的查询结果,查询结果是各个第二节点通过预设的加密算法对自身数据源加密后与第一密文比对是否匹配而确定的,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,各个第二节点的查询结果为经过加密后的查询结果。通过该方法可以实现信息的安全共享。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于区块链的信息查询方法、装置及存储介质。
背景技术
当前各个金融机构都在积极开发各自的反欺诈风控系统。在反欺诈风控系统存储用户的风险名单,当系统检测到可疑人员办理业务时,可以进一步确认该人员是否在风险名单中,若为是则中断该交易。
然而,由于各个机构的业务开展相对独立,相互之间通常不共享隐私数据,各个机构维护的风险名单数据往往又不同。例如,用户A在机构X的风险名单中,但不在机构Y的风险名单中,这就可能导致用户A在机构X无法办理业务,但在机构Y可以正常办理业务,将给机构Y带来风险。因此,如何实现各机构间的信息共享是亟待解决的问题。
发明内容
本申请提供了一种基于区块链的信息查询方法、装置及存储介质,用以实现信息的安全共享。
第一方面,本申请提供了一种基于区块链的信息查询方法。该方法可应用于区块链系统,区块链系统包括第一节点及多个第二节点,第一节点及多个第二节点分别存储各自的用户风险名单,第一节点用于发起用户信息查询请求,多个第二节点用于查询用户信息是否存在于风险名单中。以应用于第一节点为例,该方法包括:第一节点获取所述待查询信息,待查询信息包括第一用户的身份信息。第一节点通过预设的加密算法对待查询信息进行加密,获得加密后的第一密文,预设的加密算法为第一节点及多个第二节点预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。第一节点将第一密文上传至区块链系统。第一节点分别获取多个第二节点对待查询信息的查询结果,查询结果是各个第二节点通过预设的加密算法对自身数据源加密后与第一密文比对是否匹配而确定的,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,各个第二节点的查询结果为经过加密后的查询结果。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,第一节点上传的第一密文还包括第一节点所使用的公钥,各个第二节点的查询结果通过公钥进行加密,各个第二节点将加密后的查询结果上传至区块链系统。
可选的,若各个第二节点未查询待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值,第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,包括:
第一节点将各个第二节点的加密后的查询结果进行横向累加,第一节点通过公钥对应的私钥对横向累加后的查询结果进行解密,获得待查询信息在区块链系统中的查询结果。若待查询信息在区块链系统中的查询结果不为空,则第一用户存在于多个第二节点的风险名单中。
可选的,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,在第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中之前,该方法还包括:第一节点根据区块链系统中的批次号判断是否所有第二节点已经查询完成,若所有第二节点已经查询完成,则第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中。
第二方面,本申请还提供了一种基于区块链的信息查询方法。该方法可应用于区块链系统,区块链系统包括第一节点及多个第二节点,第一节点及多个第二节点分别存储各自的用户风险名单,第一节点用于发起用户信息查询请求,多个第二节点用于查询用户信息是否存在于风险名单中。以应用于第二节点为例,该方法包括:多个第二节点从区块链系统获取第一密文,第一密文是通过预设的加密算法对待查询信息进行加密而获得的,待查询信息包括第一用户的身份信息,预设的加密算法为第一节点及多个第二节点之间预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。多个第二节点通过预设的加密算法对自身数据源加密,将加密后的数据源与第一密文比对是否匹配,获得查询结果,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。多个第二节点将查询结果进行加密,并上传至区块链,多个第二节点加密后的查询结果用于第一节点确定所述待查询信息是否存在于多个第二节点的风险名单中。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,多个第二节点通过预设的加密算法对自身数据源加密,将加密后的数据源与第一密文比对是否匹配,获得查询结果,包括:多个第二节点中的各个第二节点通过预设的加密算法对各自存储的用户风险名单中的用户信息进行加密。多个第二节点将加密后的风险名单中的用户信息与第一密文比对是否匹配,获得查询结果。其中,若各个第二节点未查询到待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值。
可选的,第一节点上传的第一密文还包括第一节点所使用的公钥,多个第二节点将查询结果进行加密,包括:多个第二节点获取第一密文中的公钥,通过公钥对查询结果进行加密,多个第二节点将加密后的查询结果上传至区块链系统,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,其中,批次号用于判断是否所有第二节点已经查询完成。
第三方面,本申请提供了一种基于区块链的信息查询装置,应用于区块链系统,区块链系统包括信息查询装置及多个第二节点,信息查询装置及多个第二节点分别存储各自的用户风险名单,信息查询装置用于发起用户信息查询请求,多个第二节点用于查询用户信息是否存在于风险名单中,信息查询装置包括:获取模块、加密模块、确定模块。其中,获取模块用于获取所述待查询信息,待查询信息包括第一用户的身份信息。加密模块用于通过预设的加密算法对待查询信息进行加密,获得加密后的第一密文,预设的加密算法为第一节点及多个第二节点预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。获取模块还用于将第一密文上传至区块链系统。获取模块还用于分别获取多个第二节点对待查询信息的查询结果,查询结果是各个第二节点通过预设的加密算法对自身数据源加密后与第一密文比对是否匹配而确定的,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。确定模块用于根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,各个第二节点的查询结果为经过加密后的查询结果。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,信息查询装置上传的第一密文还包括第一节点所使用的公钥,各个第二节点的查询结果通过公钥进行加密,各个第二节点将加密后的查询结果上传至区块链系统。
可选的,若各个第二节点未查询待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值,确定模块具体用于:将各个第二节点的加密后的查询结果进行横向累加,通过公钥对应的私钥对横向累加后的查询结果进行解密,获得待查询信息在区块链系统中的查询结果。若待查询信息在区块链系统中的查询结果不为空,则第一用户存在于多个第二节点的风险名单中。
可选的,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,获取模块还用于:根据区块链系统中的批次号判断是否所有第二节点已经查询完成,若所有第二节点已经查询完成,则根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中。
第四方面,本申请还提供了一种基于区块链的信息查询装置,应用于区块链系统,区块链系统包括第一节点及多个信息查询装置,第一节点及多个信息查询装置分别存储各自的用户风险名单,第一节点用于发起用户信息查询请求,多个信息查询装置用于查询用户信息是否存在于风险名单中,信息查询装置包括:获取模块、查询模块、加密模块。其中,获取模块用于从区块链系统获取第一密文,第一密文是通过预设的加密算法对待查询信息进行加密而获得的,待查询信息包括第一用户的身份信息,预设的加密算法为第一节点及多个第二节点之间预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。查询模块用于通过预设的加密算法对自身数据源加密,将加密后的数据源与第一密文比对是否匹配,获得查询结果,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。加密模块用于将查询结果进行加密,并上传至区块链,多个第二节点加密后的查询结果用于第一节点确定所述待查询信息是否存在于多个第二节点的风险名单中。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,查询模块具体用于:通过预设的加密算法对各自存储的用户风险名单中的用户信息进行加密。将加密后的风险名单中的用户信息与第一密文比对是否匹配,获得查询结果。其中,若各个第二节点未查询到待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值。
可选的,加密模块具体用于:获取第一密文中的公钥,通过公钥对查询结果进行加密,将加密后的查询结果上传至区块链系统,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,其中,批次号用于判断是否所有第二节点已经查询完成。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括处理器以及与处理器通信连接的存储器。其中,存储器存储有计算机执行指令,该指令被处理器执行,以使处理器能够执行上述第一方面中任一项所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机执行指令,当该计算机执行指令被处理器执行时,使得处理器执行上述第一方面中任一项所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,处理器可以从计算机可读存储介质读取计算机程序,处理器执行计算机程序时可实现上述第一方面中任一项所述的方法。
附图说明
图1为本申请实施例提供的基于区块链的信息查询方法应用的系统架构示意图;
图2为本申请实施例提供的基于区块链的信息查询方法的流程示意图;
图3为本申请实施例提供的基于区块链的信息查询方法的另一种流程示意图;
图4为本申请实施例提供的一种基于区块链的信息查询装置的结构示意图;
图5为本申请实施例提供的另一种基于区块链的信息查询装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为方便理解本申请各个实施例提供的技术方案,首先对本申请实施例涉及的部分技术术语进行解释说明。需要说明的是,在本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
1)区块链(Blockchain)技术是一种去中心化的分布式技术。网络上多个互相不完全信任的计算机可以组成一个区块链系统,通过区块链技术的共识规则,各个计算机将发送的数据写入区块中组成新的区块,将新的区块添加到当前区块的末端,可以形成一个多个区块组成的链条,即区块链。区块链中各个区块的数据由区块链系统中的各个计算机共同保存,且各个计算机无法独自篡改。
2)联盟链是一种特殊的区块链,其介于公有链和私有链之间。联盟链由多个互相信任的中心控制,这些中心可称为联盟链的预选节点,每个区块的生成由所有预选节点共同决定,除预选节点外的其他节点不参与区块的生成。
3)公钥和私钥,是通过一种算法得到的一个密钥对。其中,公钥对外界公开,私钥由使用者保留。通过公钥和私钥可以实现非对称加密,即在使用这个密钥对加密的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
4)哈希(hash)算法可以将任意长度的二进制输入(又称为预映射,pre-image)通过运算得到固定长度较小的二进制输出。哈希算法进行加密具有单向性,通过哈希算法对明文进行加密可以较为容易地获得固定长度的二进制密文,但无法根据得到的密文进行反向破解得到明文,具有较高的安全性。
如前述的,各个机构维护的风险名单数据可能存在不同,但通常情况下出于隐私保护的考虑各个机构之间又不共享隐私数据,使得数据共享与隐私保护之间存在冲突,不利于业务开展。
基于此,本申请实施例提供了一种基于区块链的信息查询方法。各个机构将待查询的信息通过预设的加密算法在区块链中进行加密传递,区块链中的其他机构可以根据同样的加密算法对自身数据源进行加密,以对待查询信息进行查询,判断待查询信息是否在自身存储的风险名单中。这样,基于区块链的各个机构可以共享加密的待查询信息,同时又无法直接获知待查询信息,通过这种方式实现的信息查询方法兼顾了信息共享与隐私保护。另外,各个机构将对待查询信息的查询结果同样通过区块链加密传递至发起请求的机构,进一步保证了信息查询的安全性。
请参见图1,示出了该基于区块链的信息查询方法的具体应用场景。区块链中存在多个机构节点,包括机构节点A、机构节点B、……机构节点N。各个机构节点组成一个联盟链,各个机构节点作为联盟链的预选节点,控制联盟链中区块的生成,其他非机构节点也可以参与该联盟链,共享该联盟链中的信息。各个机构节点连接各自的数据源,数据源独立存储于各个机构节点本地,即存储于区块链下,其他机构节点无法访问数据源。各个机构节点可以通过区块链发送数据,将数据写入区块中,其他节点可以共享彼此发送的信息。
结合图1所示的系统,继续参见图2,示出了本申请实施例提供的基于区块链的信息查询方法的流程。在下文的介绍中,对多个机构节点组成的该区块链系统进行介绍,对于多个机构节点中发起信息查询请求的节点,可以称为第一节点。对于多个机构节点中用于查询用户信息是否存在于数据源的风险名单中的节点,可以称为第二节点。也就是说,该区块链系统包括第一节点和多个第二节点。应理解,这里所指的“第一”、“第二”仅用于进行区分,并不用于限定不同对象之间的大小、顺序、优先级等。
S201、第一节点获取待查询信息,待查询信息包括第一用户的身份信息。
S202、第一节点通过预设的加密算法对待查询信息进行加密,获得加密后的第一密文。
当第一用户试图在第一节点对应的机构A办理业务时,机构A可以根据自身数据源存储的用户风险名单查询第一用户是否在风险名单中,如果第一用户在机构A的用户风险名单中,则直接终止为第一用户办理业务。若为否,机构A可以通过该区块链系统查询第一用户是否存在于其他机构节点存储的用户风险名单中。
第一节点可以将获取到的第一用户的身份信息作为待查询信息。第一用户的身份信息可以是用户的姓名、身份证号等可以唯一标识用户的信息。如果直接将第一用户的身份信息上传至区块链,则身份信息向区块链中的所有节点公开,可能造成第一用户的身份信息泄露。因此,第一节点可以采用预设的加密算法对待查询信息进行加密,预设的加密算法可以为哈希算法。通过预设的加密算法对待查询信息加密后,得到第一密文。再将第一密文上传至区块链,使得基于哈希算法的特性加密后的待查询信息不能被反向破解,保证了待查询信息的隐私性。
由于通过哈希算法加密待查询信息后不能反向破解,即多个第二节点无法直接获知第一用户的身份信息,则多个第二节点无法直接根据加密后的待查询信息进行信息查询。在本申请中,考虑到第一节点是通过预设的加密算法对待查询信息进行加密,多个第二节点与第一节点之间可以约定使用相同的预设加密算法,多个第二节点可以通过预设的加密算法对自身存储的风险名单中的用户信息进行加密,若自身数据源的风险名单中存在第一用户,则第二节点也可以得到与第一密文相同的密文。这样,可以实现在不解密待查询信息的情况下,进行信息查询。
在一种可能的实现方式中,预设的加密算法采用一种特殊的哈希算法,可以使得加密不同的明文数据得到的密文不同,即加密不同明文不会出现密文的重叠。作为一种示例,预设的加密算法为SHA-1算法。SHA-1算法是一种单向加密的算法,加密后的数据无法还原为原来的数据。另外,相同的输入数据经过SHA-1算法加密后,得到相同的输出结果,不同的输入数据经过SHA-1算法加密后,得到的输出结果不同。
采用SHA-1算法能够规避一般的哈希算法在加密时,将不同长度的二进制明文加密为固定长度的二进制密文,出现将不同明文加密为相同密文的情况。这种情况可能导致例如第二用户的身份信息加密后得到与第一密文相同的密文,则第二节点在根据第一密文对自身数据源进行检索时,误认为第一节点上传的第一密文所对应的用户为第二用户,则可能导致第一用户被误判为风险名单中的用户,使得无法正确进行信息查询。
S203、第一节点将第一密文上传至区块链系统。
S204、多个第二节点从区块链系统获取第一密文。
S205、多个第二节点通过预设的加密算法对自身数据源加密,将加密后的数据源与第一密文比对是否匹配,获得查询结果,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。
各个第二节点在从区块链系统中获取到第一密文后,通过与第一节点约定使用的预设的加密算法对自身数据源进行加密,即对自己存储的风险名单中的用户信息进行加密。应理解,第二节点在加密时是对每条用户信息分开进行加密的,由于用户信息能够对用户进行唯一标识,这样第二节点在对每条用户信息进行加密后,可以获得多条不相同密文。例如,风险名单中包括“张三”、“李四”、“赵五”……,分别对这些信息对应的二进制数加密,得到加密后的用户信息包括“SAFGJAIOJIAJDO”、“OPQJTEQIOTAD”、“POQTEUPODFDAF”……。
第二节点将加密后的用户信息与第一密文比对是否匹配,如果加密后的用户信息与第一密文相同,则基于SHA-1算法的特性,表明该用户信息与第一用户相同,也就是说,第二节点的风险名单中存在第一用户。如果第二节点对自身数据源进行加密查询后,未查询到与第一密文匹配的结果,则该第二节点的风险名单中不存在第一密文对应的信息,同时第二节点并不清楚第一密文对应的身份信息。这样,可以尽可能地保证第一用户的身份信息的安全性。
第二节点在对自身数据源加密查询后,可以向第一节点反馈查询结果。若第二节点根据第一密文未查询到待查询信息,则可以在查询结果中反馈0,表示第二节点的风险名单中不存在第一用户的身份信息。若第二节点根据第一密文查询到待查询信息,则查询结果不为空值,第二节点可以向第一节点反馈一个约定的具体数值或者一串数字,例如1等,以表示在风险名单中查询到第一用户。这样,第一节点只收到两种结果,可以较为容易地判断整个区块链系统的风险名单中是否存在第一用户的身份信息。
S206、多个第二节点将查询结果进行加密,并上传至区块链。
考虑到多个第二节点在得到查询结果后,如果直接将查询结果上传至区块链,则区块链中的其他节点可以得知该第二节点的查询结果,同样可能带来安全隐患,多个第二节点可以将查询结果进行加密后上传至区块链。
在一种可能的实现方式中,第一节点上传的第一密文中还包括第一节点使用的公钥。示例性的,第一密文的格式如下:REQ:第一密文的密文关键字|KEY:公钥|NO:批次号。其中,“REQ”用于表示第一节点的查询请求,以告知第二节点第一节点发起请求,批次号用于表示第一节点上传的第一密文在区块链中的编号。
第二节点在获取第一密文的密文关键字时,可以获取公钥,通过公钥对查询结果进行加密。与SHA-1算法类似的,采用公钥进行加密后的查询结果只有通过该公钥对应的私钥进行解密,而私钥掌握在第一节点,保证了第二节点上传的查询结果的安全性。另外,第二节点在上传加密后的查询结果时,同样携带批次号。示例性的,查询结果可以表示为:RESP:密文结果|KEY:公钥|NO:批次号。其中,“RESP”用于表示第二节点的查询结果,查询结果中同样携带批次号。由于第二节点存在多个,第一节点可以根据批次号的数目判断是否所有第二节点已经查询完成。
多个第二节点可以将各自的加密后的查询结果上传至区块链,加密后的查询结果用于第一节点确定待查询信息是否存在于多个第二节点的风险名单中。
S207、第一节点分别获取多个第二节点对待查询信息的查询结果。
S208、第一节点根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,各个第二节点的查询结果为经过加密后的查询结果。
第一节点获取到多个第二节点的所有查询结果之后,将各个第二节点的加密后的查询结果进行横向累加,然后,通过公钥对应的私钥对横向累加后的查询结果进行解密,获得待查询信息在区块链系统中的查询结果。这样,第一节点在确定最终的查询结果时,是将所有第二节点的查询结果进行累加后再进行解密,得到最终的查询结果的,第一节点不会得知区块链上的加密查询结果的来源,可以进一步保证信息查询的安全性。
若第二节点采用0或1表示查询结果,则根据公钥加密的线性特性,将各个第二节点的加密后的查询结果进行横向累加后得到的密文,相当于将多个第二节点的查询结果的明文横向累加再通过公钥加密后得到的密文。因此,第一节点在得到待查询信息在区块链系统中最终的查询结果后,如果结果为0,则区块链系统中的所有第二节点存储的风险名单中都不存在第一用户。如果结果不为0,则区块链系统中的所有第二节点存储的风险名单中存在第一用户,但不指定某一第二节点的风险名单存储该第一用户。
在确定待查询信息在区块链系统中的查询结果不为0之后,第一节点对应的机构A可以停止第一用户正在办理的业务,保证机构A的系统内部的安全性。
请参见图3,示出了本申请实施例提供的基于区块链的信息查询方法的另一种流程。第一用户在办理业务时,调用机构节点A的业务系统办理业务。机构节点A的业务系统检测到第一用户的身份信息后,通过SHA-1算法加密请求报文中的第一用户的身份信息。机构节点A把加密后的请求报文广播到区块链上的所有节点,各个机构节点查询本地数据,通过加密后的结果和第一密文做对比。各个机构节点把对比后的结果上传到区块链上,机构节点A通过安全多方的隐私计算最终获取到待查询信息的查询结果,可以判断第一用户是否在整个区块链的所有风险名单中。机构节点A把最终的查询结果反馈给业务系统,完成信息查询。
请参见图4,基于同一发明构思,本申请提供了一种基于区块链的信息查询装置400,应用于区块链系统,区块链系统包括信息查询装置400及多个第二节点,信息查询装置400及多个第二节点分别存储各自的用户风险名单,信息查询装置400用于发起用户信息查询请求,多个第二节点用于查询用户信息是否存在于风险名单中,信息查询装置400包括:获取模块401、加密模块402、确定模块403。其中,获取模块401用于获取所述待查询信息,待查询信息包括第一用户的身份信息。加密模块402用于通过预设的加密算法对待查询信息进行加密,获得加密后的第一密文,预设的加密算法为第一节点及多个第二节点预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。获取模块401还用于将第一密文上传至区块链系统。获取模块401还用于分别获取多个第二节点对待查询信息的查询结果,查询结果是各个第二节点通过预设的加密算法对自身数据源加密后与第一密文比对是否匹配而确定的,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。确定模块403用于根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中,各个第二节点的查询结果为经过加密后的查询结果。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,信息查询装置400上传的第一密文还包括第一节点所使用的公钥,各个第二节点的查询结果通过公钥进行加密,各个第二节点将加密后的查询结果上传至区块链系统。
可选的,若各个第二节点未查询待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值,确定模块403具体用于:将各个第二节点的加密后的查询结果进行横向累加,通过公钥对应的私钥对横向累加后的查询结果进行解密,获得待查询信息在区块链系统中的查询结果。若待查询信息在区块链系统中的查询结果不为空,则第一用户存在于多个第二节点的风险名单中。
可选的,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,获取模块401还用于:根据区块链系统中的批次号判断是否所有第二节点已经查询完成,若所有第二节点已经查询完成,则根据多个第二节点的所有查询结果确定待查询信息是否存在于多个第二节点的风险名单中。
请参见图5,基于同一发明构思,本申请还提供了一种基于区块链的信息查询装置500,应用于区块链系统,区块链系统包括第一节点及多个信息查询装置,第一节点及多个信息查询装置500分别存储各自的用户风险名单,第一节点用于发起用户信息查询请求,多个信息查询装置500用于查询用户信息是否存在于风险名单中,信息查询装置500包括:获取模块501、查询模块502、加密模块503。其中,获取模块501用于从区块链系统获取第一密文,第一密文是通过预设的加密算法对待查询信息进行加密而获得的,待查询信息包括第一用户的身份信息,预设的加密算法为第一节点及多个第二节点之间预先约定使用的加密算法,预设的加密算法加密不同的明文数据得到的密文不同。查询模块502用于通过预设的加密算法对自身数据源加密,将加密后的数据源与第一密文比对是否匹配,获得查询结果,若与第一密文匹配,则待查询信息存在于第二节点的风险名单中。加密模块503用于将查询结果进行加密,并上传至区块链,多个第二节点加密后的查询结果用于第一节点确定所述待查询信息是否存在于多个第二节点的风险名单中。
可选的,预设的加密算法采用安全散列算法SHA-1。
可选的,查询模块502具体用于:通过预设的加密算法对各自存储的用户风险名单中的用户信息进行加密。将加密后的风险名单中的用户信息与第一密文比对是否匹配,获得查询结果。其中,若各个第二节点未查询到待查询信息,则查询结果为空值,若各个第二节点查询到待查询信息,则查询结果不为空值。
可选的,加密模块503具体用于:获取第一密文中的公钥,通过公钥对查询结果进行加密,将加密后的查询结果上传至区块链系统,各个第二节点上传区块链系统的加密后的查询结果中携带批次号,其中,批次号用于判断是否所有第二节点已经查询完成。
请参见图6,基于同一发明构思,本申请实施例提供了一种电子设备600,该电子设备包括:至少一个处理器601、至少一个存储器602以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如前述的基于区块链的信息查询方法。
可选的,处理器601具体可以是中央处理器、特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:Field Programmable GateArray,简称:FPGA)开发的硬件电路,可以是基带处理器。
可选的,该读写锁操作设备还包括与至少一个处理器601连接的存储器602,存储器602可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。存储器602用于存储处理器601运行时所需的数据。存储器602的数量为一个或多个。其中,存储器602在图6中一并示出,但需要知道的是存储器602不是必选的功能模块,因此在图6中以虚线示出。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的基于区块链的信息查询方法。
在具体的实施过程中,计算机可读存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash drive,USB)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的存储介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash disk)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种基于区块链的信息查询方法,其特征在于,应用于区块链系统,所述区块链系统包括第一节点及多个第二节点,所述第一节点及多个第二节点分别存储各自的用户风险名单,所述第一节点用于发起用户信息查询请求,所述多个第二节点用于查询用户信息是否存在于风险名单中,所述方法包括:
所述第一节点获取所述待查询信息,所述待查询信息包括第一用户的身份信息;
所述第一节点通过预设的加密算法对所述待查询信息进行加密,获得加密后的第一密文,所述预设的加密算法为所述第一节点及所述多个第二节点预先约定使用的加密算法,所述预设的加密算法加密不同的明文数据得到的密文不同;
所述第一节点将所述第一密文上传至所述区块链系统;
所述第一节点分别获取所述多个第二节点对所述待查询信息的查询结果,所述查询结果是各个所述第二节点通过所述预设的加密算法对自身数据源加密后与所述第一密文比对是否匹配而确定的,若与所述第一密文匹配,则所述待查询信息存在于第二节点的风险名单中;
所述第一节点根据所述多个第二节点的所有查询结果确定所述待查询信息是否存在于所述多个第二节点的风险名单中,各个所述第二节点的查询结果为经过加密后的查询结果。
2.如权利要求1所述的方法,其特征在于,所述预设的加密算法采用安全散列算法SHA-1。
3.如权利要求1或2所述的方法,其特征在于,所述第一节点上传的第一密文还包括所述第一节点所使用的公钥,各个所述第二节点的查询结果通过所述公钥进行加密,各个所述第二节点将加密后的查询结果上传至所述区块链系统。
4.如权利要求1所述的方法,其特征在于,若各个所述第二节点未查询到所述待查询信息,则查询结果为空值,若各个所述第二节点查询到所述待查询信息,则查询结果不为空值,所述第一节点根据所述多个第二节点的所有查询结果确定所述待查询信息是否存在于所述多个第二节点的风险名单中,包括:
所述第一节点将各个所述第二节点的加密后的查询结果进行横向累加;
所述第一节点通过所述公钥对应的私钥对横向累加后的查询结果进行解密,获得所述待查询信息在所述区块链系统中的查询结果;
若所述待查询信息在所述区块链系统中的查询结果不为空,则所述第一用户存在于所述多个第二节点的风险名单中。
5.如权利要求4所述的方法,其特征在于,各个所述第二节点上传所述区块链系统的加密后的查询结果中携带批次号,在所述第一节点根据所述多个第二节点的所有查询结果确定所述待查询信息是否存在于所述多个第二节点的风险名单中之前,所述方法还包括:
所述第一节点根据所述区块链系统中的批次号判断是否所有所述第二节点已经查询完成;
若所有所述第二节点已经查询完成,则所述第一节点根据所述多个第二节点的所有查询结果确定所述待查询信息是否存在于所述多个第二节点的风险名单中。
6.一种基于区块链的信息查询方法,其特征在于,应用于区块链系统,所述区块链系统包括第一节点及多个第二节点,所述第一节点及多个第二节点分别存储各自的用户风险名单,所述第一节点用于发起用户信息查询请求,所述多个第二节点用于查询用户信息是否存在于风险名单中,所述方法包括:
所述多个第二节点从所述区块链系统获取第一密文,所述第一密文是通过预设的加密算法对待查询信息进行加密而获得的,所述待查询信息包括第一用户的身份信息,所述预设的加密算法为所述第一节点及所述多个第二节点之间预先约定使用的加密算法,所述预设的加密算法加密不同的明文数据得到的密文不同;
所述多个第二节点通过所述预设的加密算法对自身数据源加密,将加密后的数据源与所述第一密文比对是否匹配,获得查询结果,若与所述第一密文匹配,则所述待查询信息存在于第二节点的风险名单中;
所述多个第二节点将所述查询结果进行加密,并上传至区块链,所述多个第二节点加密后的查询结果用于所述第一节点确定所述待查询信息是否存在于所述多个第二节点的风险名单中。
7.如权利要求6所述的方法,其特征在于,所述预设的加密算法采用安全散列算法SHA-1。
8.如权利要求6或7所述的方法,其特征在于,所述多个第二节点通过所述预设的加密算法对自身数据源加密,将加密后的数据源与所述第一密文比对是否匹配,获得查询结果,包括:
所述多个第二节点中的各个第二节点通过所述预设的加密算法对各自存储的用户风险名单中的用户信息进行加密;
所述多个第二节点将加密后的风险名单中的用户信息与所述第一密文比对是否匹配,获得查询结果;其中,若各个所述第二节点未查询到所述待查询信息,则查询结果为空值,若各个所述第二节点查询到所述待查询信息,则查询结果不为空值。
9.如权利要求6所述的方法,其特征在于,所述第一节点上传的第一密文还包括所述第一节点所使用的公钥,所述多个第二节点将所述查询结果进行加密,包括:
所述多个第二节点获取所述第一密文中的所述公钥,通过所述公钥对查询结果进行加密;
所述多个第二节点将加密后的查询结果上传至所述区块链系统,各个所述第二节点上传所述区块链系统的加密后的查询结果中携带批次号,其中,所述批次号用于判断是否所有所述第二节点已经查询完成。
10.一种基于区块链的信息查询装置,其特征在于,应用于区块链系统,所述区块链系统包括所述信息查询装置及多个第二节点,所述信息查询装置及多个第二节点分别存储各自的用户风险名单,所述信息查询装置用于发起用户信息查询请求,所述多个第二节点用于查询用户信息是否存在于风险名单中,所述信息查询装置包括:
获取模块,用于获取所述待查询信息,所述待查询信息包括第一用户的身份信息;
加密模块,用于通过预设的加密算法对所述待查询信息进行加密,获得加密后的第一密文,所述预设的加密算法为所述第一节点及所述多个第二节点预先约定使用的加密算法,所述预设的加密算法加密不同的明文数据得到的密文不同;
所述获取模块,还用于将所述第一密文上传至所述区块链系统;
所述获取模块,还用于分别获取所述多个第二节点对所述待查询信息的查询结果,所述查询结果是各个所述第二节点通过所述预设的加密算法对自身数据源加密后与所述第一密文比对是否匹配而确定的,若与所述第一密文匹配,则所述待查询信息存在于第二节点的风险名单中;
确定模块,用于根据所述多个第二节点的所有查询结果确定所述待查询信息是否存在于所述多个第二节点的风险名单中,各个所述第二节点的查询结果为经过加密后的查询结果。
11.一种基于区块链的信息查询装置,其特征在于,应用于区块链系统,所述区块链系统包括第一节点及多个信息查询装置,所述第一节点及多个信息查询装置分别存储各自的用户风险名单,所述第一节点用于发起用户信息查询请求,所述多个信息查询装置用于查询用户信息是否存在于风险名单中,所述信息查询装置包括:
获取模块,用于从所述区块链系统获取第一密文,所述第一密文是通过预设的加密算法对待查询信息进行加密而获得的,所述待查询信息包括第一用户的身份信息,所述预设的加密算法为所述第一节点及所述多个第二节点之间预先约定使用的加密算法,所述预设的加密算法加密不同的明文数据得到的密文不同;
查询模块,用于通过所述预设的加密算法对自身数据源加密,将加密后的数据源与所述第一密文比对是否匹配,获得查询结果,若与所述第一密文匹配,则所述待查询信息存在于第二节点的风险名单中;
加密模块,用于将所述查询结果进行加密,并上传至区块链,所述多个第二节点加密后的查询结果用于所述第一节点确定所述待查询信息是否存在于所述多个第二节点的风险名单中。
12.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-5或权利要求6-9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5或权利要求6-9中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-5或权利要求6-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311247622.XA CN117150561A (zh) | 2023-09-25 | 2023-09-25 | 一种基于区块链的信息查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311247622.XA CN117150561A (zh) | 2023-09-25 | 2023-09-25 | 一种基于区块链的信息查询方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117150561A true CN117150561A (zh) | 2023-12-01 |
Family
ID=88912084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311247622.XA Pending CN117150561A (zh) | 2023-09-25 | 2023-09-25 | 一种基于区块链的信息查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117150561A (zh) |
-
2023
- 2023-09-25 CN CN202311247622.XA patent/CN117150561A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110033258B (zh) | 基于区块链的业务数据加密方法及装置 | |
AU2019381268B2 (en) | Systems and methods for distributed data storage and delivery using blockchain | |
US10402571B2 (en) | Community-based de-duplication for encrypted data | |
EP3609121B1 (en) | Method and device for managing digital certificate | |
CN110460439A (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN107948152B (zh) | 信息存储方法、获取方法、装置及设备 | |
US11546348B2 (en) | Data service system | |
EP3059919A1 (en) | Method and system for facilitating network joining | |
US20160125402A1 (en) | Method and device for payment using token | |
CA2921740A1 (en) | Enabling access to data | |
US20210160088A1 (en) | Device Pairing and Authentication | |
CN109347839A (zh) | 集中式密码管理方法、装置、电子设备及计算机存储介质 | |
US10063655B2 (en) | Information processing method, trusted server, and cloud server | |
KR20200085095A (ko) | 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법 | |
CN111294203A (zh) | 信息传输方法 | |
CN111523142B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN110620776B (zh) | 一种数据转移信息传输方法及其装置 | |
US20150350897A1 (en) | Method and User Equipment for Discovering Device User | |
CN116938985B (zh) | 基于数字凭证的数据流转方法、装置、终端设备及介质 | |
CN104735020A (zh) | 一种获取敏感数据的方法、设备及系统 | |
CN116155491B (zh) | 安全芯片的对称密钥同步方法及安全芯片装置 | |
CN117371010A (zh) | 数据匿踪查询方法、电子设备和可读存储介质 | |
US20220360429A1 (en) | Location-key encryption system | |
CN107395350B (zh) | 密钥及密钥句柄的生成方法、系统及智能密钥安全设备 | |
EP3883177B1 (en) | General data protection method for multicentric sensitive data storage and sharing |
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 |