CN110138802B - 用户特征信息获取方法、装置,区块链节点、网络,及存储介质 - Google Patents

用户特征信息获取方法、装置,区块链节点、网络,及存储介质 Download PDF

Info

Publication number
CN110138802B
CN110138802B CN201910475049.5A CN201910475049A CN110138802B CN 110138802 B CN110138802 B CN 110138802B CN 201910475049 A CN201910475049 A CN 201910475049A CN 110138802 B CN110138802 B CN 110138802B
Authority
CN
China
Prior art keywords
user
node
data
characteristic information
encrypted
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
CN201910475049.5A
Other languages
English (en)
Other versions
CN110138802A (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.)
Sichuan Changhong Electric Co Ltd
Sichuan Hongwei Technology Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Sichuan Hongwei Technology 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 Changhong Electric Co Ltd, Sichuan Hongwei Technology Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201910475049.5A priority Critical patent/CN110138802B/zh
Publication of CN110138802A publication Critical patent/CN110138802A/zh
Application granted granted Critical
Publication of CN110138802B publication Critical patent/CN110138802B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本申请实施例提供一种用户特征信息获取方法、装置、区块链节点及存储介质,该方法包括:获取所述N个局部域节点对应的N个用户加密数据;将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;将所述用户加密特征信息发送至第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息;获取所述第一节点发送的所述用户特征信息。其中,用户加密特征信息是基于N个用户加密数据经安全多方计算获得的,然后通过第一节点对用户解密特征信息进行解密获得用户特征信息。所以,本方案在不泄露用户隐私数据的情况下也可以基于多个用户数据获得对应的结果,从而保证了用户数据的安全性。

Description

用户特征信息获取方法、装置,区块链节点、网络,及存储介质
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种用户特征信息获取方法、装置、区块链节点及存储介质。
背景技术
在物联网的大背景下,物联网涵盖云、管、边、端各个层级,尤其是智能设备的数据量庞大,其可以产生大量的数据,而各个厂商为了建立精准用户画像,提高产品用户好感,其需要获取用户各个智能设备的数据以建立更精准的用户画像。
由于用户的智能设备较多,而每个智能设备对应的厂商不一致,每个厂商建立自有云平台用于采集智能设备的数据,所以若某个厂商为了建立用户画像,还需要获得其他厂商采集的用户数据,但是各个厂商的用户数据无法实现共享,所以,单个厂商无法确保能够收集到用户全面的数据,这使得构建的用户画像不全面。而即使能够获取其他厂商的用户来构建用户画像,但是这种情况下会使得用户的隐私数据暴露给其他厂商,造成用户隐私数据的泄漏,从而无法保证用户数据的安全性。
发明内容
本申请实施例的目的在于提供一种用户特征信息获取方法、装置、区块链节点及存储介质,以改善现有技术中为了获取更多用户数据用于构建用户画像时,需要暴露用户隐私数据而导致的用户数据安全性低的问题。
第一方面,本申请实施例提供了一种用户特征信息获取方法,应用于区块链网络,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述方法包括:获取所述N个局部域节点对应的N个用户加密数据,其中,所述N个用户加密数据是对N个用户实际数据加密后获得的;将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;将所述用户加密特征信息发送至第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息,其中,所述第一节点为所述N个局部域节点中的一个节点;获取所述第一节点发送的所述用户特征信息。
在上述实现过程中,用户加密特征信息是基于N个用户加密数据经安全多方计算获得的,然后通过第一节点对用户解密特征信息进行解密获得用户特征信息。所以,本方案在不泄露用户隐私数据的情况下也可以基于多个用户数据获得对应的结果,从而保证了用户数据的安全性。
可选地,所述N个用户加密数据是所述第一节点通过预设加密规则进行加密后获得的,所述用户特征信息是所述第一节点通过与所述预设加密规则对应的混淆映射表解密后获得的。
在上述实现过程中,在获得用户特征信息的过程中,所有的数据均是加密的,如此保证了所有的节点无法获得其他节点真实的隐私数据,进而确保了数据的安全性。
可选地,当所述方法由所述N个局部域节点中的第二节点执行时,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点,所述获取所述N个局部域节点对应的N个用户加密数据,包括:所述第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点;所述第二节点接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据;所述第二节点从所述目标加密数据中获取经所述第一节点加密后的第二用户加密数据。
在上述实现过程中,第二节点向第一节点发送的目标数据中包含了干扰数据和第二用户实际数据,由此,第一节点无法知晓哪个数据才是真正的实际有效数据,从而第二节点在不泄露自己隐私数据的情况下通过第一节点对其隐私数据进行加密而获得第二用户加密数据。
可选地,所述第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点,包括:所述第二节点将包含有干扰数据和第二用户实际数据的目标数据采用所述第一节点的公钥加密后获得的初始目标数据通过不经意传输算法发送至所述第一节点;所述第二节点接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据,包括:所述第二节点接收所述第一节点对所述初始目标数据通过所述第一节点的私钥解密后获得的目标数据,将所述目标数据通过所述预设加密规则进行加密后获得的目标加密数据。
在上述实现过程中,第二节点采用第一节点的公钥对目标数据进行加密,如此只有第一节点才能对目标数据进行解密,而其他节点即使获得目标数据也无法对其解密获得真正的数据,从而确保了目标数据的安全传输。
可选地,所述不经意传输算法为椭圆曲线密码算法。在椭圆曲线密码算法中,在获得第一节点的公钥后,很难根据公钥获得对应的私钥,所以,就算其他节点有第一节点的公钥,但是也无法获得第一节点的私钥,进而只有第一节点才能对目标数据进行解密,确保了目标数据的安全性。
可选地,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息,包括:将所述N个用户加密数据输入获得的混淆电路中,计算并获得对应的用户加密特征信息。
在上述实现过程中,由于混淆电路可以实现所有非电路的输出的线路上信息不泄露,所以,通过混淆电路来计算获得用户加密特征信息,使得其计算过程中获得是所有输入输出数据均是加密数据,进而避免了用户隐私数据泄露的风险。
可选地,所述混淆电路为基于所述M个全局域节点上部署的智能合约生成的。其中,智能合约可用于约束各个节点的数据共享规则,进而保护各个节点的数据隐私。
可选地,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息之后,所述将所述用户加密特征信息发送至第一节点之前,所述方法还包括:确定各自获得的用户加密特征信息是否相同;若相同,则将所述用户加密特征信息发送至第一节点。
在上述实现过程中,在确定所有的节点获得的用户加密特征信息相同时,才将用户加密特征信息发送至第一节点,由此可避免有的节点为了造假计算出错误的用户加密特征信息,保证了用户加密特征信息的计算准确性。
可选地,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息之后,所述将所述用户加密特征信息发送至第一节点之前,所述方法还包括:确定各自获得的用户加密特征信息是否相同;若不相同,则判断是否超过预设数量的节点获得相同的用户加密特征信息;所述将所述用户加密特征信息发送至第一节点,包括:若有超过预设数量的节点获得相同的用户加密特征信息,则将超过预设数量的节点获得的相同的用户加密特征信息发送至所述第一节点。
在上述实现过程中,在有超过预设数量的节点获得相同的用户加密特征信息后,才确定用户加密特征信息计算准确,由此保证了用户加密特征信息的计算准确性。
第二方面,本申请实施例提供了一种用户特征信息获取方法,应用于区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M 个全局域节点中包括N个局部域节点,所述第一节点为所述N个局部域节点中的一个节点,M为大于等于4的整数,N为小于等于M的正整数,所述方法包括:接收用户加密特征信息;对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,其中,所述用户加密特征信息为N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N 个局部域节点对应的N个用户实际数据加密后获得的;将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
在上述实现过程中,用户加密特征信息是基于N个用户加密数据经安全多方计算获得的,然后通过第一节点对用户解密特征信息进行解密获得用户特征信息。所以,本方案在不泄露用户隐私数据的情况下也可以基于多个用户数据获得对应的结果,从而保证了用户数据的安全性。
可选地,所述接收用户加密特征信息之前,所述方法包括:
接收第二节点发送的包含有干扰数据和第二用户实际数据的目标数据,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点;
通过预设加密规则对所述目标数据进行加密后获得目标加密数据;
将所述目标加密数据发送至所述第二节点。
可选地,所述对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,包括:
对所述用户加密特征信息通过与所述预设加密规则对应的混淆映射表进行解密处理,获得解密后的用户特征信息。
第三方面,本申请实施例提供一种用户特征信息获取装置,应用于区块链网络,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述装置包括:
数据获取模块,用于获取所述N个局部域节点对应的N个用户加密数据,其中,所述N个用户加密数据是对N个用户实际数据加密后获得的;
计算模块,用于将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;
数据发送模块,用于将所述用户加密特征信息发送至第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息,其中,所述第一节点为所述N个局部域节点中的一个节点;
结果获取模块,用于获取所述第一节点发送的所述用户特征信息。
可选地,所述N个用户加密数据是所述第一节点通过预设加密规则进行加密后获得的,所述用户特征信息是所述第一节点通过与所述预设加密规则对应的混淆映射表解密后获得的。
可选地,当上述装置运行在所述N个局部域节点中的第二节点执行时,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点,所述数据获取模块,具体用于:
将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点;
接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据;
从所述目标加密数据中获取经所述第一节点加密后的第二用户加密数据。
可选地,所述数据获取模块,还用于将包含有干扰数据和第二用户实际数据的目标数据采用所述第一节点的公钥加密后获得的初始目标数据通过不经意传输算法发送至所述第一节点;
所述数据获取模块,还用于接收所述第一节点对所述初始目标数据通过所述第一节点的私钥解密后获得的目标数据,将所述目标数据通过所述预设加密规则进行加密后获得的目标加密数据。
可选地,所述不经意传输算法为椭圆曲线密码算法。
可选地,所述计算模块,具体用于将所述N个用户加密数据输入获得的混淆电路中,计算并获得对应的用户加密特征信息。
可选地,所述混淆电路为基于所述M个全局域节点上部署的智能合约生成的。
可选地,所述装置还包括:
结果验证模块,用于确定各自获得的用户加密特征信息是否相同;若相同,则将所述用户加密特征信息发送至第一节点。
可选地,所述装置还包括:
结果验证模块,用于确定各自获得的用户加密特征信息是否相同;若不相同,则判断是否超过预设数量的节点获得相同的用户加密特征信息;若有超过预设数量的节点获得相同的用户加密特征信息,则将超过预设数量的节点获得的相同的用户加密特征信息发送至所述第一节点。
第五方面,本申请实施例提供一种用户特征信息获取装置,应用于区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述装置包括:
数据接收模块,用于接收用户加密特征信息;
数据解密模块,用于对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,其中,所述用户加密特征信息为N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N个局部域节点对应的N个用户实际数据加密后获得的;
数据传输模块,用于将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
可选地,所述装置还包括:
数据加密模块,用于接收第二节点发送的包含有干扰数据和第二用户实际数据的目标数据,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点;通过所述预设加密规则对所述目标数据进行加密后获得目标加密数据;将所述目标加密数据发送至所述第二节点。
可选地,所述数据解密模块,具体用于对所述用户加密特征信息通过与所述预设加密规则对应的混淆映射表进行解密处理,获得解密后的用户特征信息。
第五方面,本申请实施例提供一种区块链节点,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面或第二方面提供的所述方法中的步骤。
第六方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面或第二方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的一种各个厂商组成的区块链网络的结构示意图;
图3为本申请实施例提供的一种区块链节点的结构示意图;
图4为本申请实施例提供的一种用户特征信息获取方法的流程图;
图5为本申请实施例提供的另一种用户特征信息获取方法的流程图;
图6为本申请实施例提供的一种用户特征信息获取方法的交互流程图;
图7为本申请实施例提供的一种用户特征信息获取装置的结构框图;
图8为本申请实施例提供的一种用户特征信息获取装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在介绍本申请的具体实施例之前,先对本申请的应用场景进行简单介绍。
本申请提供的区块链网络与现有的各种区块链网络相同,本申请的区块链网络也是由多个节点组成,每个节点都是具有运算与存储功能的区块链节点或模块。例如每个节点是一台或一组计算机、或者是其中具有独立运算和存储功能的一个模块。
区块链网络中的节点可以称为区块链节点,其中区块链网络基于P2P (Peer toPeer,对等网络)网络,每个参与交易和区块存储、验证、转发的 P2P网络节点都是一个区块链网络中的节点。
在本申请实施例中,为了获取一个用户更加全面的用户数据,其可以采集用户所使用的智能设备的数据,而每个智能设备的数据由其各自对应的厂商建立的云平台采集。为了实现各个厂商的数据共享,各个厂商可以组成区块链网络,而由于区块链具有去多心化、信息共享、数据不可篡改、加密性良好等特性,因此可以将多个厂商建立联盟链,以将各个厂商作为联盟链节点,吸引各个不同的厂商加入进来,制定多厂商之间的联动规则,并将规则通过智能合约部署在联盟链上,达成协议互通。如此一来,便可以通过区块链解决厂商之间的互信问题,并保障各参与方的权益。通过智能合约来约束数据采集信息,保护用户的隐私,便于监管部门的监督。
各个厂商在实现数据共享中,为了避免用户的真实数据被暴露,保证用户数据的安全性,如图1所示,可将各个厂商组成区块链网络,各个厂商即为区块链节点,用户使用的各个智能设备可以采集用户的各种数据,每个厂商可建立自己的云平台,用于获取各个智能设备的数据。例如,用户的用户终端(如手机)为厂商B生产的,而用户的手机可记录用户的一些行为习惯,如手机上安装的各种应用软件信息,用户的各种浏览记录等,或者可以通过获取用户手机的位置信息来获取用户的出行情况,所以厂商B 可通过手机来获得用户的相关信息,用户的智能穿戴设备(如智能手环) 由厂商C生产的,智能手环可以记录用户的运动信息,或者采集用户的健康信息,如心率等,则厂商C可通过智能手环来获取用户的相关信息,如此,可结合各个厂商获取的用户的相关信息来获得更加全面的用户的数据,使得可以用于更加全面的用户数据来构建更为准确的用户画像或者用户模型。
请参照图2,图2为本申请实施例提供的一种各个厂商组成的区块链网络的结构示意图,该区块链网络由M个全局域节点组成,由于M个全局域节点组成的是联盟链,所以M的个数一般为大于等于4的整数,如图2中这些节点包括节点A、节点B、节点C、节点D、节点E和节点F,这些全局域节点即为各个厂商,M个全局域节点中包括N个局部域节点,这些局部域节点指其中的一部分厂商,N个局部域节点用于提供用户数据,全局域节点可用于对于基于用户数据获得的结果(如构建的用户画像)进行验证,具体过程参照下述实施例。
请参照图3,图3为本申请实施例提供的一种区块链节点的结构示意图,所述区块链节点可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,区块链节点执行下述图4或图5所示方法过程。
可以理解,图3所示的结构仅为示意,所述区块链节点还可包括比图3 中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
请参照图4,图4为本申请实施例提供的一种用户特征信息获取方法的流程图,该方法应用于上述的区块链网络,且该方法由该区块链网络中除第一节点外的任意一个节点执行,该方法包括如下步骤:
步骤S110:获取所述N个局部域节点对应的N个用户加密数据。
其中,N个用户加密数据是对N个用户实际加密数据后获得的。为了获取各个节点对应的用户数据,可以将这多个节点组成局部域节点。以图2 为例,A,B,C,D,E,F六个节点即为全局域节点,B,E,F三个节点可以组成局部域节点。该实施例中方法的执行主体为除第一节点外的任意一个节点,如第一节点为节点B,则剩余的其他节点均可获得B,E,F三个节点对应的用户加密数据,即节点A、节点C、节点D、节点E和节点F 均可获得节点B对应的用户加密数据、节点E对应的用户加密数据和节点 F对应的用户加密数据。
步骤S120:将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息。
安全多方计算(Secure Multi-Party Computation,SMC)是用于解决一组互不信任的参与方之间隐私的协同计算问题。其基本思想是各个参与方在保护各自秘密输入的前提下,共同合作完成某个功能函数的计算任务(如求最大值计算),并最终得到各自正确的计算结果,在这过程中,参与的每一方均不会泄露各自数据的计算,即双方均不知对方的数据以及计算过程的中间数据,只有计算结果对双方可知。
在实际应用中,处于隐私保护的目的,安全多方计算的算法通常均为黑盒算法,搭载安全多方计算的各个节点之间的数据传输行为不透明,安全多方计算算法,通常包括诸如秘密分享、同态加密、混淆电路等。
在本申请实施例中,为了保证各个厂商的用户隐私数据不被泄露,所以各个节点均搭载了安全多方计算算法,例如,上述的A,B,C,D,E, F六个节点均搭载了安全多方计算算法,当然,安全多方计算算法可以由这六个节点独立开发的,或者由提供方统一提供的。
用户加密特征信息可以是基于N个用户加密数据计算获得的计算结果,其可以是用户画像,也可以是用户模型,或者是其他利用N个用户加密数据获得的关于用户特征的其他结果,在此不一一举例。
步骤S130:将所述用户加密特征信息发送至第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息。
由于上述计算结果是经过安全多方计算获得的,所以其是加密的数据,并不是真正的结果,由于第一节点存储有混淆值与真正值之间的真值表,即第一节点存储有加密值与真实值之间的映射表,所以,第一节点可通过真值表获得用户加密特征信息对应的真实的用户特征信息,从而得到真正的计算结果。
所以,第一节点可以接收其他节点发送的用户加密特征信息,然后对用户加密特征信息进行解密处理,获得解密后的用户特征信息。
步骤S140:获取所述第一节点发送的所述用户特征信息。
第一节点在获得真正的计算结果后,将计算结果共享至其他的节点,即将用户特征信息共享至其他节点,其他节点指N个局部越节点中的节点,从而其他节点也获取到真正的计算结果,即用户特征信息。
在上述实现过程中,用户加密特征信息是基于N个用户加密数据经安全多方计算获得的,然后通过第一节点对用户解密特征信息进行解密获得用户特征信息。所以,本方案在不泄露用户隐私数据的情况下也可以基于多个用户数据获得对应的结果,从而保证了用户数据的安全性。
本实施例中,采用安全多方计算获得对应的计算结果,从而使得在不暴露用户实际数据的情况下,可以根据需求获得对应需求的计算结果。安全多方计算算法一般包括秘密分享算法、同态加密算法和混淆电路算法,下面分别以各个节点搭载的安全多方计算算法为秘密分享算法、同态加密算法和混淆电路算法为例,对各种算法进行简单介绍。
秘密分享算法:秘密分享算法也称为秘密分割算法、秘密共享算法。其基本原理是将各秘密(如密钥)拆分成多个分片,分别交给不同人保管。只有收集到的分片的数量超过门限数量时,才能恢复秘密;而如果收集到的分片的数量少于门限数量,则基于分片无法恢复秘密的任何信息,其中,秘密分享算法应用在安全多方计算中,上述门限数量通常与需要参与多方计算的节点的数量相同。
当秘密分享算法用于安全多方计算时,各节点会将输入数据分别拆分成多个分片,并相互交换分片,然后,各节点会分别对本地收集的多个分片进行运算,得到与安全多方计算最终的计算结果对应的分片(即最终运算结果的一个分片);最后,各节合并生成的所有与最终的计算结果对应的分片,得到最终的计算结果,完成安全多方计算。
同态加密算法:是一类能在密文状态下进行数据运算的加密算法,在不解密也不需使用解密密钥的情况下,对密文进行计算,也可以得到基于明文进行计算得到的计算结果的密文。
例如,对a的同态加密密文E(a)和b的同态加密密文E(b)进行计算,可以得到a+b的密文E(a+b),也不需要使用解密的密钥对密文进行解密。
如果上述区块链网络中的节点B、节点E和节点F,所搭载的安全多方计算算法为同态加密算法,节点B、节点E和节点F在各自获取需要参与安全多方计算的用户实际数据之后,首先可以按照同态加密算法,生成一对同态加密的加密密钥PK和解密密钥SK,并基于生成的加密密钥PK对数据进行机密生成密文数据,然后基于同态加密算法现有的消息交互机制,来构建交互消息,将生成的上述密文数据,分别发送给其他参与安全多方计算的各节点,即节点B、节点E和节点F将各自的用户实际数据通过上述方式生成密文数据后共享至其他节点。
对于节点E,其获取到自己的密文数据以及节点B和节点F发送的密文数据后,将这些密文数据按照约定好的运算逻辑进行计算,得到对各计算节点各自持有的用户实际数据进行安全多方计算的最终计算结果对应的密文数据。
当得到与最终计算结果对应的密文数据(即用户加密特征数据)后,可以将最终计算结果对应的密文数据,向各节点进行广播,当其他节点(如节点B和节点F)接收到与最终计算结果对应的密文数据后,可以基于上述解密密钥SK对收到的与最终计算结果对应的密文数据进行解密,得到最终计算结果的明文数据(即用户特征数据)。
其中,需要说明的是,各节点约定好的运算逻辑,仍然取决于实际的安全多方计算需要,在本说明书中不进行特别限定。但基于同态加密算法,任何运算逻辑,都可以分解为加法同态加密、乘法同态加密等基础的运算。
混淆电路算法:其原理是通过模拟出逻辑计算电路,来实现安全多方计算,任何安全多方计算任务,都可以用为其设计的逻辑计算电路来实现。即可以按照安全多方计算任务对应的运算逻辑,利用多个运算门(与门、或门等基础运算门)连接起来,模拟出与上述运算逻辑对应的门电路,然后使用门电路来进行运算。
基于混淆电路算法,通常将安全多方计算任务对应的运算逻辑表示为门电路,并对上述门电路的每条运算线路进行加密,加密后的上述门电路称为混淆电路。最终通过用节点来执行混淆电路的运算,进而实现安全多方计算。
在基于混淆电路算法来实现安全多方计算时,参与安全多方计算的节点,通常会被划分为混淆电路生成方和混淆电路的执行方两种角色。
例如,上述节点A可以作为混淆电路生成方,其用于生成混淆电路,并将生成的混淆电路共享至节点C、节点D、节点E和节点F,节点C、节点D、节点E和节点F即为混淆电路的执行方,当然节点A也可以作为混淆电路的执行方,这些制度均用于执行混淆电路的运算,得到最终的计算结果。
在通过混淆电路算法进行计算时,可以将参与安全多方计算任务对应的运算逻辑,表示为门电路。
其中,由于该运算逻辑需要多个节点基于各自持有的隐私数据来共同参与,对于每一个节点而言,可能仅能够对应上述门电路中的一个或者其中几个运算门,将持有的隐私数据可能作为上述门电路中的一个或者其中几个运算门的输入数据。
节点A、节点C、节点D、节点E和节点F在获得节点B、节点E和节点F的用户加密数据后,将用户加密数据作为上述门电路中对应的运算门的输入,在上述运算门中进行运算,得到上述运算门的输出值。
其中,在实际应用中,上述门电路中每个运算门的运算逻辑,都可以用真值表来表示和执行,一张真值表用于记录该运算门的输入线路取任何输入值时,输出线路得到的输出值。真值表中的每一行对应输入线路的一种输入值组合。而为了在门电路的运算中隐藏该运算门中各运算线路的真实值,可以基于混淆电路搭载的随机函数生成随机数,对上述运算门的真值表中的输入值和输出至分别进行替换,其中,替换后的随机数称之为混淆值。
另外,还可以将上述运算门的输入至对应的混淆值作为密钥,对上述运算门的真值表中的输出值的混淆值进行加密得到密文数据,并基于该密文数据对原来真值表中的输出值的混淆值进行替换,得到一张混淆真值表,或者,也可以基于该密文数据单独创建一张混淆真值表,即混淆真值表中仅包括该密文数据。
所以,在上述构建混淆电路后,各个节点可基于混淆电路计算获得对应的输出值的混淆值,将混淆值作为最终的计算结果发送给节点B,节点B 可查询真值表,基于混淆值与真正的输出值之间的对应关系,得到与该混淆值对应的输出值,并将该输出至作为安全多方计算的最终计算结果的原始值,也就是本实施例中的用户特征数据。
作为一种示例,若本申请实施例中采用的安全多方计算算法为混淆电路算法,则获得用户加密特征信息的过程可以为:将N个用户加密特征数据输入获得的混淆电路中,计算并获得对应的用户加密特征信息。
其混淆电路的具体原理在上述已经详细介绍,在此不过多赘述。混淆电路可以是M个全局域节点中的任意一个节点创建的。
在上述实现过程中,由于混淆电路可以实现所有非电路的输出的线路上信息不泄露,所以,通过混淆电路来计算获得用户加密特征信息,使得其计算过程中获得是所有输入输出数据均是加密数据,进而避免了用户隐私数据被泄露的风险。
另外,为了避免各个节点对混淆电路的篡改,使得节点通过篡改混淆电路获得错误的用户加密特征信息的问题,所以混淆电路为基于M个全局域节点上部署的智能合约生成的。智能合约可用于约束各个节点的数据共享规则,进而保护各个节点的数据隐私。
作为一种示例,N个用户加密数据是第一节点通过预设加密规则进行加密后获得的,用户特征信息是第一节点通过预设加密规则对应的混淆映射表解密后获得的。
例如,若想要获取节点B、节点E和节点F的用户数据,这三个节点为局部域节点,即这三个节点为局部域节点,若需要将这三个节点的用户数据用于构建用户画像,则节点B可生成对应的预设加密规则以及设置对应的混淆映射表,该预设加密规则可以为上述混淆电路算法中的随机数,即可以将每个用户实际数据通过预设加密规则生成对应的用户加密数据,如对于一个用户实际数据,对应于一个比特串,每个比特取0或1,加密的过程则是随机生成一个比特0或1来掩盖真值,从而可获得加密后的用户加密数据。
混淆映射表存储有混淆值到真实值之间的映射,所以若其他节点获得用户加密特征信息后,将用户加密特征信息发送给节点B,节点B可通过混淆表获得用户加密特征信息对应的真实的用户特性信息,如真实的用户画像,则节点B可将真实的用户画像共享至节点E和节点F,从而这三个节点可获得真实的用户画像,进而这三个节点在未暴露自己隐私数据的情况下,可以通过自己的隐私数据来构建用户画像,确保了隐私数据不被泄露。
在上述实现过程中,在获得用户特征信息的过程中,所有的数据均是加密的,如此保证了所有的节点无法获得其他节点真实的隐私数据,进而确保了数据的安全性。
作为一种示例,当上述的方法由N个局部域节点中的第二节点执行时,第二节点为N个局部域节点中除第一节点之外的任意一个节点,获取N个用户加密数据的过程如下:
第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至第一节点,第二节点接收第一节点通过预设加密规则对目标数据进行加密后获得的目标加密数据,第二节点从目标加密数据中获取经第一节点加密后的第二用户加密数据。
为了使得第一节点无法获得第二节点的真实有效的用户实际数据,所以第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至第一节点。其中,不经意传输算法(Oblivious Transfer,OT) 是一种用于传输秘密消息的协议,可以保护消息传递双方的隐私。不经意传输算法的基本思想是指数据接收方无法确定数据发送方发送的真实数据。
本实施例中,不经意传输算法采用椭圆曲线密码算法(Elliptic CurveCryptography,ECC),该算法是基于椭圆曲线数学的一种公钥密码的方法,也就是非对称加密。
在椭圆曲线密码算法中,在获得第一节点的公钥后,很难根据公钥获得对应的私钥,所以,就算其他节点有第一节点的公钥,但是也无法获得第一节点的私钥,进而只有第一节点才能对目标数据进行解密,确保了目标数据的安全性。
第一节点在获得第二节点发送的目标数据后,对目标数据通过上述是预设加密规则进行加密,获得目标加密数据,然后发送给第二节点,所以第二节点可从目标加密数据中获取第二用户加密数据,所以第二用户加密数据为第一节点根据预设加密规则进行加密获得的,如此第一节点无法知晓第二节点真正的隐私数据,而可以对其加密后发送给第二节点,所以第二节点在将隐私数据共享给其他节点时,该数据也是经过加密后的数据,其他节点进而也无法获得第二节点真正的隐私数据,如此保证了隐私数据的安全性。
例如,若由N个局部域节点包括节点B、节点E和节点F,则第一节点为节点B时,第二节点为节点E或节点F,以第一节点为节点B,第二节点为节点E为例,节点E在向节点B发送自己的隐私数据时,为了不让节点B知晓自己真实的隐私数据,所以,在发送的目标数据中包含了干扰数据和第二用户实际数据,节点B在获得目标数据后,采用预设加密规则对其进行加密,获得目标加密数据发送给节点E,节点E在获得目标加密数据后,可根据自己的设定的规则,从中获取真正的第二用户加密数据。
在上述实现过程中,第二节点向第一节点发送的目标数据中包含了干扰数据和第二用户实际数据,由此,第一节点无法知晓哪个数据才是真正的实际有效数据,从而第二节点在不泄露自己隐私数据的情况下通过第一节点对其隐私数据进行加密而获得第二用户加密数据。
作为一种示例,上述第二节点将目标数据通过不经意传输算法发送给第一节点的过程可以如下:第二节点将包含有干扰数据和第二用户实际数据的目标数据采用第一节点的公钥加密后获得的初始目标数据通过不经意传输算法发送至第一耳朵,第二节点接收第一节点对初始目标数据通过第一节点的私钥解密后获得的目数据,然后将目标数据通过预设加密规则进行加密后获得的目标加密数据。
可以理解地,如节点E将目标数据发送给节点B时,先采用节点B的公钥对目标数据进行加密,获得初始目标数据,节点B在获得节点E发送的初始目标数据后,采用自己的私钥对其解密,获得原始的目标数据,然后再采用预设加密规则对其加密,获得目标加密数据发送给节点E,如此只有节点B可对初始目标数据进行解密,若其他节点获得初始目标数据后并不能对其解密获得真正的目标数据,从而保证了数据发送过程中的安全性。
在上述实现过程中,第二节点采用第一节点的公钥对目标数据进行加密,如此只有第一节点才能对目标数据进行解密,而其他节点即使获得目标数据也无法对其解密获得真正的数据,从而确保了目标数据的安全传输。
需要说明的是,上述第二节点为了从目标加密数据中获得第二用户加密数据,第二节点在向第一节点发送目标数据时,还可以对目标数据进行“加盐”处理后发送至第一节点。其中,“加盐”处理是指对密码进行MD5 处理,使得加密的数据增强反向解密难度,第二节点在获得目标加密数据后,通过“加盐”处理的反向操作,即可从中获取第二用户加密数据。
为了保证各个节点不作假,还需要验证各个节点获得的用户加密特征信息是否一致,所以在各个节点经安全多方计算获得对应的用户加密特征信息后,各个节点还需将自己获得的用户加密特征信息共享至其他节点,所以每个节点可以获取到全部节点对应的用户加密特征信息,然后各个节点确定各自获得的用户加密特征信息是否相同,若相同,则将用户特征信息发送至第一节点。
例如,节点A、节点C、节点D、节点E和节点F均通过安全多方计算获得各自对应的用户加密特征信息,以节点A为例,若节点A获得其他四个节点的用户加密特征信息以及自己获得的用户加密特征信息后,判断这些用户加密特征信息是否相同,若全部相同,则节点A可将用户加密特征信息发送给节点B,然后在链内公告用户加密特征信息已发送,其他节点无需再发送,也就是说,任一节点先判断出这些用户加密特征信息相同后,即可向节点B发送用户加密特征信息,从而通知其他节点无需再发送。
在上述实现过程中,在确定所有的节点获得的用户加密特征信息相同时,才将用户加密特征信息发送至第一节点,由此可避免有的节点为了造假计算出错误的用户加密特征信息,保证了用户加密特征信息的计算准确性。
当然,在实际应用过程中,可能有些节点为了恶意作假,使得其计算出的用户加密特征信息不是准确的,此时,在各个节点获得对应的用户加密特征信息之后,还可以确定各自获得的用户加密特征信息是否相同,若不相同,则判断是否超过预设数量的节点获得相同的用户加密特征信息,若有超过预设数量的节点获得相同的用户加密特征信息,则将超过预设数量的节点获得相同的用户加密特征信息发送至第一节点。
其中,预设数量可以根据参与安全多方计算的节点个数来设定,为预设数量为M/2,若M为6时,则预设数量为3,当然,预设数量也可基于实际需求进行设定。若节点A、节点C、节点D、节点E和节点F中获得的用户特征信息中有三个节点获得的用户特征信息一致,其他两个节点获得的用户特征信息与另外三个节点获得的不一致,如节点A、节点C、节点 D获得的用户特征信息一致,节点E和节点F获得的与节点A、节点C、节点D获得的用户特征信息不一致,则任一节点将节点A、节点C或节点 D获得的用户特征信息发送至节点B。
在上述实现过程中,在有超过预设数量的节点获得相同的用户加密特征信息后,才确定用户加密特征信息计算准确,由此保证了用户加密特征信息的计算准确性。
需要说明的是,上述各个节点在执行每个动作后,均通过各自的账本记录对应的动作,以便于后续如有需求可实现各个动作的追溯。
请参照图5,图5为本申请实施例提供的另一种用户特征信息获取方法的流程图,该方法应用于上述区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,所述第一节点为所述N个局部域节点中的一个节点,M为大于等于4的整数, N为小于等于M的正整数,所述方法包括如下步骤:
步骤S210:接收用户加密特征信息。
步骤S220:对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息。
其中,所述用户加密特征信息为N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N个局部域节点对应的N个用户实际数据加密后获得的。
步骤S230:将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
可选地,所述接收用户加密特征信息之前,所述方法包括:
接收第二节点发送的包含有干扰数据和第二用户实际数据的目标数据,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点;通过所述预设加密规则对所述目标数据进行加密后获得目标加密数据;将所述目标加密数据发送至所述第二节点。
可选地,所述对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,包括:
对所述用户加密特征信息通过与所述预设加密规则对应的混淆映射表进行解密处理,获得解密后的用户特征信息。
可以理解地,该实施例中的第一节点可以指上述实施例中的节点B,其具体实现过程可参照上述图4对应的实施例的具体描述,在此不过多赘述。
请参照图6,图6为本申请实施例提供的一种用户特征信息获取方法的交互流程图,应用于区块链网络,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N 为小于等于M的正整数,该方法包括如下步骤:
步骤S310:第二节点获取所述N个局部域节点对应的N个用户加密数据。
其中,所述N个用户加密数据是对N个用户实际数据加密后获得的。
步骤S320:第二节点将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息。
步骤S330:第二节点将所述用户加密特征信息发送至第一节点。
步骤S340:第一节点接收所述用户加密特征信息。
其中,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点。
步骤S350:第一节点对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息。
步骤S360:第一节点将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
步骤S370:第二节点获取所述第一节点发送的所述用户特征信息。
该实施例的具体实现过程也请参照上述的具体实施例,在此不再过多赘述。
请参照图7,图7为本申请实施例提供的一种用户特征信息获取装置 200的结构框图,该装置200应用于区块链网络,所述区块链网络包括M 个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述装置200可以是运行于M个全局域节点中除第一节点外的任意一个节点上的模块、程序段或代码,应理解,该装置200与上述图4方法实施例对应,能够执行图4方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,该装置200包括:
数据获取模块210,用于获取所述N个局部域节点对应的N个用户加密数据,其中,所述N个用户加密数据是对N个用户实际数据加密后获得的;
计算模块220,用于将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;
数据发送模块230,用于将所述用户加密特征信息发送至第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息,其中,所述第一节点为所述N个局部域节点中的一个节点;
结果获取模块240,用于获取所述第一节点发送的所述用户特征信息。
可选地,所述N个用户加密数据是所述第一节点通过预设加密规则进行加密后获得的,所述用户特征信息是所述第一节点通过与所述预设加密规则对应的混淆映射表解密后获得的。
可选地,当上述装置200运行在所述N个局部域节点中的第二节点执行时,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点,所述数据获取模块210,具体用于:
将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点;
接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据;
从所述目标加密数据中获取经所述第一节点加密后的第二用户加密数据。
可选地,所述数据获取模块210,还用于将包含有干扰数据和第二用户实际数据的目标数据采用所述第一节点的公钥加密后获得的初始目标数据通过不经意传输算法发送至所述第一节点;
所述数据获取模块210,还用于接收所述第一节点对所述初始目标数据通过所述第一节点的私钥解密后获得的目标数据,将所述目标数据通过所述预设加密规则进行加密后获得的目标加密数据。
可选地,所述不经意传输算法为椭圆曲线密码算法。
可选地,所述计算模块220,具体用于将所述N个用户加密数据输入获得的混淆电路中,计算并获得对应的用户加密特征信息。
可选地,所述混淆电路为基于所述M个全局域节点上部署的智能合约生成的。
可选地,所述装置200还包括:
结果验证模块,用于确定各自获得的用户加密特征信息是否相同;若相同,则将所述用户加密特征信息发送至第一节点。
可选地,所述装置200还包括:
结果验证模块,用于确定各自获得的用户加密特征信息是否相同;若不相同,则判断是否超过预设数量的节点获得相同的用户加密特征信息;若有超过预设数量的节点获得相同的用户加密特征信息,则将超过预设数量的节点获得的相同的用户加密特征信息发送至所述第一节点。
请参照图8,图8为本申请实施例提供的一种用户特征信息获取装置 300的结构框图,该装置300应用于区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点, M为大于等于4的整数,N为小于等于M的正整数,所述装置300可以是运行于第一节点上的模块、程序段或代码,应理解,该装置300与上述图5方法实施例对应,能够执行图5方法实施例涉及的各个步骤,该装置300 具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,该装置300包括:
数据接收模块310,用于接收用户加密特征信息;
数据解密模块320,用于对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,其中,所述用户加密特征信息为N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N个局部域节点对应的N个用户实际数据加密后获得的;
数据传输模块330,用于将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
可选地,所述装置300还包括:
数据加密模块,用于接收第二节点发送的包含有干扰数据和第二用户实际数据的目标数据,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点;通过所述预设加密规则对所述目标数据进行加密后获得目标加密数据;将所述目标加密数据发送至所述第二节点。
可选地,所述数据解密模块320,具体用于对所述用户加密特征信息通过与所述预设加密规则对应的混淆映射表进行解密处理,获得解密后的用户特征信息。
本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图4或图5所示方法实施例中节点所执行的方法过程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种用户特征信息获取方法、装置、区块链节点及存储介质,该方法中,用户加密特征信息是基于N个用户加密数据经安全多方计算获得的,然后通过第一节点对用户解密特征信息进行解密获得用户特征信息。所以,本方案在不泄露用户隐私数据的情况下也可以基于多个用户数据获得对应的结果,从而保证了用户数据的安全性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (16)

1.一种用户特征信息获取方法,其特征在于,应用于区块链网络,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述方法包括:
任意一个节点获取所述N个局部域节点对应的N个用户加密数据,其中,所述N个用户加密数据是对N个用户实际数据加密后获得的,所述任意一个节点为所述区块链网络中除第一节点外的节点,所述第一节点为所述N个局部域节点中的一个节点;
所述任意一个节点将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;
所述任意一个节点将所述用户加密特征信息发送至所述第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息;
所述N个局部域节点中除所述第一节点外的节点获取所述第一节点发送的所述用户特征信息。
2.根据权利要求1所述的方法,其特征在于,所述N个用户加密数据是所述第一节点通过预设加密规则进行加密后获得的,所述用户特征信息是所述第一节点通过与所述预设加密规则对应的混淆映射表解密后获得的。
3.根据权利要求2所述的方法,其特征在于,当所述方法由所述N个局部域节点中的第二节点执行时,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点,所述获取所述N个局部域节点对应的N个用户加密数据,包括:
所述第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点;
所述第二节点接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据;
所述第二节点从所述目标加密数据中获取经所述第一节点加密后的第二用户加密数据。
4.根据权利要求3所述的方法,其特征在于,所述第二节点将包含有干扰数据和第二用户实际数据的目标数据通过不经意传输算法发送至所述第一节点,包括:
所述第二节点将包含有干扰数据和第二用户实际数据的目标数据采用所述第一节点的公钥加密后获得的初始目标数据通过不经意传输算法发送至所述第一节点;
所述第二节点接收所述第一节点通过所述预设加密规则对所述目标数据进行加密后获得的目标加密数据,包括:
所述第二节点接收所述第一节点对所述初始目标数据通过所述第一节点的私钥解密后获得的目标数据,将所述目标数据通过所述预设加密规则进行加密后获得的目标加密数据。
5.根据权利要求3所述的方法,其特征在于,所述不经意传输算法为椭圆曲线密码算法。
6.根据权利要求1所述的方法,其特征在于,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息,包括:
将所述N个用户加密数据输入获得的混淆电路中,计算并获得对应的用户加密特征信息。
7.根据权利要求6所述的方法,其特征在于,所述混淆电路为基于所述M个全局域节点上部署的智能合约生成的。
8.根据权利要求1所述的方法,其特征在于,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息之后,所述将所述用户加密特征信息发送至第一节点之前,所述方法还包括:
确定各自获得的用户加密特征信息是否相同;
若相同,则将所述用户加密特征信息发送至第一节点。
9.根据权利要求1所述的方法,其特征在于,所述将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息之后,所述将所述用户加密特征信息发送至第一节点之前,所述方法还包括:
确定各自获得的用户加密特征信息是否相同;
若不相同,则判断是否超过预设数量的节点获得相同的用户加密特征信息;
所述将所述用户加密特征信息发送至第一节点,包括:
若有超过预设数量的节点获得相同的用户加密特征信息,则将超过预设数量的节点获得的相同的用户加密特征信息发送至所述第一节点。
10.一种用户特征信息获取方法,其特征在于,应用于区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,所述第一节点为所述N个局部域节点中的一个节点,M为大于等于4的整数,N为小于等于M的正整数,所述方法包括:
接收用户加密特征信息;
对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,其中,所述用户加密特征信息为所述区块链网络中除所述第一节点外的任意一个节点将N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N个局部域节点对应的N个用户实际数据加密后获得的;
将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
11.根据权利要求10所述的方法,其特征在于,所述接收用户加密特征信息之前,所述方法包括:
接收第二节点发送的包含有干扰数据和第二用户实际数据的目标数据,所述第二节点为所述N个局部域节点中除所述第一节点之外的任意一个节点;
通过预设加密规则对所述目标数据进行加密后获得目标加密数据;
将所述目标加密数据发送至所述第二节点。
12.根据权利要求11所述的方法,其特征在于,所述对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,包括:
对所述用户加密特征信息通过与所述预设加密规则对应的混淆映射表进行解密处理,获得解密后的用户特征信息。
13.一种区块链网络,其特征在于,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数;
任意一个节点,用于获取所述N个局部域节点对应的N个用户加密数据,其中,所述N个用户加密数据是对N个用户实际数据加密后获得的,所述任意一个节点为所述区块链网络中除第一节点外的节点,所述第一节点为所述N个局部域节点中的一个节点;
所述任意一个节点,还用于将所述N个用户加密数据经安全多方计算获得对应的用户加密特征信息;
所述任意一个节点,还用于将所述用户加密特征信息发送至所述第一节点,以便于所述第一节点进行解密处理,获得解密后的用户特征信息;
所述N个局部域节点中除所述第一节点外的节点,用于获取所述第一节点发送的所述用户特征信息。
14.一种用户特征信息获取装置,其特征在于,应用于区块链网络中的第一节点,所述区块链网络包括M个全局域节点,所述M个全局域节点中包括N个局部域节点,M为大于等于4的整数,N为小于等于M的正整数,所述装置包括:
数据接收模块,用于接收用户加密特征信息;
数据解密模块,用于对所述用户加密特征信息进行解密处理,获得解密后的用户特征信息,其中,所述用户加密特征信息为所述区块链网络中除所述第一节点外的任意一个节点将N个用户加密数据经安全多方计算获得的,所述N个用户加密数据是对所述N个局部域节点对应的N个用户实际数据加密后获得的;
数据传输模块,用于将解密后的用户特征信息发送至所述N个局部域节点中的其他节点。
15.一种区块链节点,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-9任一所述方法中的步骤。
16.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-9任一所述方法中的步骤。
CN201910475049.5A 2019-06-02 2019-06-02 用户特征信息获取方法、装置,区块链节点、网络,及存储介质 Active CN110138802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910475049.5A CN110138802B (zh) 2019-06-02 2019-06-02 用户特征信息获取方法、装置,区块链节点、网络,及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910475049.5A CN110138802B (zh) 2019-06-02 2019-06-02 用户特征信息获取方法、装置,区块链节点、网络,及存储介质

Publications (2)

Publication Number Publication Date
CN110138802A CN110138802A (zh) 2019-08-16
CN110138802B true CN110138802B (zh) 2021-09-24

Family

ID=67579698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910475049.5A Active CN110138802B (zh) 2019-06-02 2019-06-02 用户特征信息获取方法、装置,区块链节点、网络,及存储介质

Country Status (1)

Country Link
CN (1) CN110138802B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008256B (zh) * 2019-10-29 2022-03-15 矩阵元技术(深圳)有限公司 一种基于安全多方计算的空间数据分布模式分析方法
CN110971390A (zh) * 2019-11-29 2020-04-07 杭州云象网络技术有限公司 一种用于智能合约隐私保护的全同态加密方法
CN111064579A (zh) * 2019-12-11 2020-04-24 北京金汤科技有限公司 基于区块链的安全多方计算方法、系统、及存储介质
CN111027086B (zh) * 2019-12-16 2021-04-20 支付宝(杭州)信息技术有限公司 一种私有数据保护方法和系统
CN111563096B (zh) * 2020-04-16 2023-08-11 深圳价值在线信息科技股份有限公司 一种创建实体画像的方法、装置、节点及存储介质
CN111523145B (zh) * 2020-07-03 2020-09-29 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN113807530B (zh) * 2020-09-24 2024-02-06 京东科技控股股份有限公司 信息处理系统、方法和装置
CN112187443A (zh) * 2020-10-13 2021-01-05 成都数融科技有限公司 基于同态加密的市民数据跨域安全联合计算方法及系统
CN112395642B (zh) * 2020-11-20 2024-02-13 湖南智慧政务区块链科技有限公司 一种安全多方隐私计算方法、装置、设备及存储介质
CN112769786B (zh) * 2020-12-29 2022-11-01 杭州趣链科技有限公司 基于不经意传输规则的数据传输方法、装置和计算机设备
CN113472513B (zh) * 2021-06-11 2023-08-25 电子科技大学 一种基于区块链的并行安全多方计算方法
CN113536358B (zh) * 2021-08-02 2023-10-10 浙江数秦科技有限公司 一种基于区块链的隐私数据安全存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359957A (zh) * 2018-09-17 2019-02-19 中国银联股份有限公司 一种安全多方计算的方法及相关装置
WO2019033394A1 (zh) * 2017-08-18 2019-02-21 达闼科技成都有限公司 区块链系统及其权限管理方法
CN109388960A (zh) * 2018-10-24 2019-02-26 全链通有限公司 基于区块链的信息共享及安全多方计算模型
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019033394A1 (zh) * 2017-08-18 2019-02-21 达闼科技成都有限公司 区块链系统及其权限管理方法
CN109359957A (zh) * 2018-09-17 2019-02-19 中国银联股份有限公司 一种安全多方计算的方法及相关装置
CN109388960A (zh) * 2018-10-24 2019-02-26 全链通有限公司 基于区块链的信息共享及安全多方计算模型
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN110138802A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
TWI712301B (zh) 多方安全計算方法及裝置、電子設備
TWI706279B (zh) 多方安全計算方法及裝置、電子設備
US11206132B2 (en) Multiparty secure computing method, device, and electronic device
Diffie et al. New directions in cryptography
JP2020532168A (ja) 閾ボールトを生成する、コンピュータにより実施される方法
CN110400162B (zh) 一种数据处理方法、装置、服务器及系统
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
Mejri et al. A new group Diffie-Hellman key generation proposal for secure VANET communications
KR20220074899A (ko) 보안 통신에 사용하기 위한 키 생성
CN116011014A (zh) 一种隐私计算方法和隐私计算系统
Peng et al. On the security of fully homomorphic encryption for data privacy in Internet of Things
CN115834038A (zh) 基于国家商用密码算法的加密方法及装置
Hitaswi et al. A bio-inspired model to provide data security in cloud storage
KR20230148200A (ko) 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체
Lee et al. Three-party authenticated key agreements for optimal communication
CN115460020B (zh) 数据共享方法、装置、设备及存储介质
CN111541538A (zh) 数据传输方法及装置、服务器、计算机设备和存储介质
Diffie et al. 6. New Directions in
Soni et al. Lightweight Linguistic Algorithm with Key Exchange Method To Protect User Information In Mobile Ad Hoc Networks (MANET)
Schillinger Privacy enhancements in centralized online social networks
CN117708881A (zh) 基于可重用混淆电路的跨机构黑名单共享方法及系统
Zhao Protecting Identity and Location Privacy in Online Environment

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