CN113779622A - 一种适用于多应用场景的安全数据融合系统 - Google Patents
一种适用于多应用场景的安全数据融合系统 Download PDFInfo
- Publication number
- CN113779622A CN113779622A CN202110997258.3A CN202110997258A CN113779622A CN 113779622 A CN113779622 A CN 113779622A CN 202110997258 A CN202110997258 A CN 202110997258A CN 113779622 A CN113779622 A CN 113779622A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- storage
- copy
- model
- 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.)
- Granted
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
-
- 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据技术领域,具体涉及一种适用于多应用场景的安全数据融合系统,包括数据接收节点、数据存储节点、保留节点、模型节点和信息节点,数据接收节点接收数据源方的数据描述文本和外部主键字段标识信息,将数据行的数值型字段的真实值拆分为若干个加数,副本分配给数据存储节点存储,模型节点接收数据需求方提交的数据处理模型,信息节点展示数据接收节点收到的数据行的行编号、对应的数据描述文本和外部主键字段标识信息,数据需求方将行编号和模型编号提交给模型节点,数据存储节点和保留节点建立多方安全计算将数据行代入数据处理模型,将模型结果发送给数据需求方。本发明的实质性效果是:提高数据的安全性,保持了数据的隐私性。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种适用于多应用场景的安全数据融合系统。
背景技术
热数据指存在于数据需求方系统中,业务尚未完结或者可能存在更新,需要被访问和更新的数据。而冷数据指已完成的业务存档数据,无更新需求。冷数据通常适合离线的分析,比如机器学习中的模型训练或者大数据分析。但机器学习训练完成后,则需要最新的业务数据代入,才能知道业务的开展。随着信息技术的发展,以智能制造、人工智能为代表的新技术正开启全新变革,引领全球经济发展。人工智能的核心是数据,离开数据的支撑人工智能将难以实现复杂的功能。然而,目前人工智能需要的数据分散在不同的企业和部门系统中。出于隐私保护需要、竞争关系等等原因,导致目前的数据难以进行分享和融合,形成了一个个的数据孤岛。这严重限制了人工智能技术的发展。因而有必要研制一种数据分享的机制,在确保数据隐私的前提下,实现数据的分享和流通。
如中国专利CN113268474A,公开日2021年8月17日,一种多维数据融合的行为分析系统,该行为分析系统的数据采集与清洗单元采集多个系统、多维度的元数据,对数据进行清洗、优化,并根据元数据之间的关联性对元数据进行重组;连接单元接收数据采集与清洗单元重组后的元数据,并根据输入的需求控制数据连接器对元数据进行整合、排序;融合单元接收、存储元数据,并从持久化仓库获取与元数据相关的历史数据,将历史数据与元数据融合以获取行为信息,基于行为信息生成行为分析结果。其技术方案弥补了单维度数据片面、单一的缺陷和不足,增强了违规行为的识别和检测能力,但其仅适合单一机构的多个维度数据的融合,不适合多个机构的数据的融合。
发明内容
本发明要解决的技术问题是:目前缺乏在保护数据隐私的前提下,实现数据融合系统的技术问题。提出了一种适用于多应用场景的安全数据融合系统,能够在融合数据的情况下,保证数据的隐私安全。
为解决上述技术问题,本发明所采取的技术方案为:一种适用于多应用场景的安全数据融合系统,包括数据接收节点、若干个数据存储节点、若干个保留节点、模型节点和信息节点,所述数据接收节点接收数据源方提交的数据描述文本和外部主键字段标识信息,为数据源方的数据行分配行编号,所述保留节点设置在数据源方,所述保留节点与数据源方系统同步数据,所述保留节点为数据行制作若干个副本,副本关联行编号,所述保留节点保留一个副本作为保留副本,将数据行的数值型字段的真实值拆分为若干个加数,若干个加数分别分配给若干个副本,非数值型字段的真实值由保留副本存储,其余副本保存混淆值,若干个副本分别分配给若干个数据存储节点存储,所述模型节点接收数据需求方提交的数据处理模型,为数据处理模型分配模型编号,所述信息节点展示数据接收节点收到的数据行的行编号、对应的数据描述文本和外部主键字段标识信息,数据需求方查看所述信息节点展示的信息获得需要调用的数据行的行编号,将行编号和模型编号提交给模型节点,所述模型节点将行编号发送给数据存储节点和保留节点,所述数据存储节点和保留节点建立多方安全计算将数据行代入数据处理模型,将模型结果发送给所述模型节点,所述模型节点将模型结果反馈给数据需求方。
作为优选,所述数据存储节点开辟有若干个存储区,所述存储区包括若干个存储块,所述存储块的空间与副本及行编号所需空间匹配,所述数据存储节点为每个存储区设置有若干个交换对,所述数据存储节点将最新收到副本追加存储在当前存储区的空闲存储块中,检查副本与上一条副本是否存在按位对齐的交换对,若存在则将对齐的交换对内容交换存储位置;若存储区无空闲存储块,则将副本存储在新存储区的第一个存储块,且不做交换对的检查;调取行编号对应的数据行时,所述数据存储节点按照行编号找到副本存储的存储块;首先向下检查与下一个存储块的副本是否存在对齐的交换对,若存在,则继续在检查出的交换对所在位置上,向下检查是否存在对齐的交换对;若存在则继续在最新检查出的交换对位置上,向下检查是否存在对齐的交换对,直到未检查出交换对或者到达存储区的最后一个存储块;将向下检查出存在交换对的全部存储块复制出一个副本,从最后一个存储块开始,依次交换对齐交换对的存储位置进行副本的复原;复原后检测与上一个存储块的副本是否存在对齐的交换对,若存在,则将对齐的交换对交换存储位置;即复原出行编号对应的存储块内的副本。
作为优选,数据源方建立替代数表,将非数值型字段的取值替换为对应的替代数,所述接收节点为收到的数据行建立若干个副本,副本数量与存储节点数量匹配,将数据行的非数值型字段的替代数拆分为若干个加数,加数分配给副本存储,将若干个副本分配给若干个存储节点存储。
作为优选,所述数据源方建立一个关联副本,所述关联副本和保留副本的取值互为相反数,建立关联节点,所述关联副本存储在关联节点上,若数据行发生变化,则数据源方将数据变化量叠加到保留副本,数据存储节点、保留节点和关联节点建立多方安全计算将数据行代入数据处理模型。
作为优选,所述信息节点与数据源方及数据需求方约定盐,所述保留节点将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。
作为优选,所述信息节点建立加盐哈希值API,接收数据源方和数据需求方提交的数值,返回数值加盐后提取的哈希值。
作为优选,建立安全多方计算前,对数据处理模型执行以下步骤:提取数据处理模型中的加权求和计算式;若行编号为冷数据,数据存储节点调取对应的副本,将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给所述保留节点;若行编号为热数据,数据存储节点、保留节点及关联节点调取对应的副本,将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给所述模型节点;所述模型节点将全部中间和相加,即获得真实值代入加权求和计算式的结果;所述模型节点将加权求和计算式的结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
作为优选,所述数据源方为数据行分配的行编号包含数据冷热属性标识,若行编号为冷数据,则所述保留节点计算数据行字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;将字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;所述数据存储节点构建安全多方计算前,对数据处理模型执行以下步骤:提取以真实值为输入的能够进行泰勒展开的一元计算式,将所述的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;将加权和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给所述模型节点;所述模型节点将全部中间和相加,即获得真实值代入一元计算式的近似结果;将一元计算式的近似结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
作为优选,所述数据存储节点对所述一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解所述一元计算式,若误差未超过预设百分比,则保留所述近似结果;所述数据存储节点执行以下步骤进行误差的判断:所述数据存储节点根据近似结果和一元计算式,反求出近似真实值;将近似真实值乘以系数k,k=1+△,△为预设百分比,将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果,若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
作为优选,所述模型节点运行有隐私安全检查模块,所述隐私安全检查模块列举所述数据处理模型的输出,列举每个输出涉及的输入字段,将输出仅涉及一个输入字段,则隐私安全检查不通过,所述模型节点拒绝所述数据处理模型。
本发明的实质性效果是:1)将数据行分散在若干个数据存储节点上,提高数据的安全性,使用数据处理模型在数据行和数据需求方之间建立隔离,使得数据需求方在使用数据时不需要直接查看数据,保持了数据的隐私性;2)使用加盐哈希值能够使数据需求方快速的找到相关联的数据行,融合多源的数据代入数据处理模型;3)使用改进的安全多方计算方法显著提高数据处理模型的效率。
附图说明
图1为实施例一安全数据融合系统结构示意图。
图2为实施例一数据处理模型执行示意图。
图3为实施例一子模型示意图。
图4为实施例二数据处理模型执行示意图。
图5为实施例二误差判断方法示意图。
其中:10、数据源方,20、数据接收节点,30、数据存储节点,40、保留节点,50、模型节点,60、信息节点,70、数据需求方。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种适用于多应用场景的安全数据融合系统,请参阅附图1,本实施例包括数据接收节点20、若干个数据存储节点30、若干个保留节点40、模型节点50和信息节点60,数据接收节点20接收数据源方10提交的数据描述文本和外部主键字段标识信息,为数据源方10的数据行分配行编号,保留节点40设置在数据源方10,保留节点40与数据源方10系统同步数据,保留节点40为数据行制作若干个副本,副本关联行编号,保留节点40保留一个副本作为保留副本,将数据行的数值型字段的真实值拆分为若干个加数,若干个加数分别分配给若干个副本,非数值型字段的真实值由保留副本存储,其余副本保存混淆值,若干个副本分别分配给若干个数据存储节点30存储,模型节点50接收数据需求方70提交的数据处理模型,为数据处理模型分配模型编号,信息节点60展示数据接收节点20收到的数据行的行编号、对应的数据描述文本和外部主键字段标识信息,数据需求方70查看信息节点60展示的信息获得需要调用的数据行的行编号,将行编号和模型编号提交给模型节点50,模型节点50将行编号发送给数据存储节点30和保留节点40,数据存储节点30和保留节点40建立多方安全计算将数据行代入数据处理模型,将模型结果发送给模型节点50,模型节点50将模型结果反馈给数据需求方70。如表1所示,为信息节点60公开的数据描述文本,介绍了数据的相关情况,便于数据需求方70寻找到合适的数据。由于本实施例中采用了数据处理模型,在数据需求方70和数据之间建立了隔离。即数据需求方70是不能直接查看到数据的,因而能够保护数据的隐私。
表1 XX银行提交的数据描述文本
XX银行支行 |
本支行普通用户账户近两年用卡数据 |
数据量:3万行 |
数据介绍:数据由本行普通账户类型用户的卡流水数据,经过简单的初步统计产生。本支行位于XX市XX区XX路,用户主要为附近8公里内的居民及附近的公司职员用作工资发放卡。筛除了账户使用频次极低的用户,频次极低指每年流水不足10条且流水金额总和少于1千。数据完整无缺漏,用卡数据真实。数据字段包括姓名、年龄、存款余额、近两年每月收入、近两年每年收入、近两年每月消费、近两年每年消费、学历和贷款数据。其中,消费是指资金流向商品、服务提供主体的资金支出,用户卡间转账、信用卡还款、贷款还款及购买理财产品不计入月消费和年消费。存款余额取值范围0~10000万元,年龄取值范围0-150,月收入取值范围0~1000万元,年收入取值范围0~10000万元,月消费取值范围0~1000万元,年消费取值范围0~10000万元… |
数据源方10建立替代数表,将非数值型字段的取值替换为对应的替代数,接收节点为收到的数据行建立若干个副本,副本数量与存储节点数量匹配,将数据行的非数值型字段的替代数拆分为若干个加数,加数分配给副本存储,将若干个副本分配给若干个存储节点存储。如表2所示,为本实施例使用的替代数表,将学历这种标签字段替换为替换数后,能够使用计算式处理非数值型字段。对于类似备注这类没有明确取值范围的非数值型字段,本身难以被机器学习识别,因而本实施例舍弃这类字段,不予考虑。
表2 本实施例使用的替代数表
学历 | 替代数 |
高中及以下 | 1 |
专科 | 2 |
本科 | 3 |
硕士研究生 | 4 |
博士研究生 | 5 |
如,针对本科及以上与专科及以下的不同学历,进行的不同处理,就可以判断替代数是否大于2,若大于2则执行针对本科及以上学历进行的数值计算。若不大于2,则执行针对专科及以下学历进行的数值。当机器学习模型为神经网络模型时,通过大量数据进行训练,能够实现神经网络模型识别学历,并进行对应计算和输出的功能。
数据源方10建立一个关联副本,关联副本和保留副本的取值互为相反数,建立关联节点,关联副本存储在关联节点上,若数据行发生变化,则数据源方10将数据变化量叠加到保留副本,数据存储节点30、保留节点40和关联节点建立多方安全计算将数据行代入数据处理模型。若数据为冷数据,即不需要更新的数据,则通过关联副本能够将保留副本的值相互抵消。若保留节点40不想参与每个数据处理模型的执行,则可以在数据处理模型的执行时,通知模型节点50将保留节点40和关联节点同时排除在数据处理模型执行之外。若数据行为热数据,即存在更新情况。则数据源方10将数据的变化量叠加到保留副本中,此时保留节点40和关联节点则必须参与数据处理模型的执行中。若数据未发生变化,则保留节点40和关联节点可参与数据处理模型的执行,也可不参与。
信息节点60与数据源方10及数据需求方70约定盐,保留节点40将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。信息节点60建立加盐哈希值API,接收数据源方10和数据需求方70提交的数值,返回数值加盐后提取的哈希值。
在用作公开外部主键字段的取值时,如外部主键字段为身份证号码、手机号码,为了不直接在模型节点50上公开用户的身份证号码、手机号码,导致隐私上的问题。模型节点50转而公开身份证号码、手机号码的哈希值。使用哈希值同样能够用于求数据的交集。如银行甲公开的贷款数据中,记录了贷款人的手机号码,假设为18866662222,银行乙公开的存款统计数据中,记录了同一居民的手机号码18866662222。则银行甲公开SHA256(18866662222)=57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F,同样的银行乙的公开时,也对手机号码18866662222计算SHA256,获得同样的结果。二者对比就可以将两个数据行关联起来。如贷款机构丙为其用户授信时,为同一居民授信,手机号码也为18866662222,既可以使用居民的身份证号码查询该居民在其他银行的业务数据,也可以使用手机号码来查询。贷款机构丙提取手机号码的18866662222的哈希值,从模型节点50公开的手机号码哈希值中,能够查到哈希值相同的两条记录,分别为银行甲的贷款数据和银行乙的存款数据。
散列值虽然不能直接反向计算出原始的手机号码,但仍然存在风险。即存在通过撞车攻击得出原始的身份证号码或手机号码的风险。即,在已知手机号码哈希值57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F的情况下,穷举已被电信运营商出售的号段的全部手机号码,使用SHA256提取哈希值对比。则在一定的时间内,是能够穷举到一个手机号码,其哈希值正好等于57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F,也就获得了原始的手机号码。对于身份证号码而言,前6位为地区编码,中间8位为出生日期,都是有限取值的,因而也能够通过穷举的手段,获得原始的身份证号码明文。为此,需要采用加盐的方式进一步提高数据的安全性。加盐,在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。如约定手机号码的盐为在起始位置添加字符:PHE,在末尾添加字符:HUD,则手机号码18866662222加盐后为:PHE18866662222HUD,对PHE18866662222HUD求哈希值为:BDA2773420943B5589CC8C5A406E97A921D140753C431958C8D80B96E59506C1。由于盐是随机的,其长度和形式均不确定,因而使用穷举手段耗时将是不能接收的。从而有效保护了用户的隐私数据。同时数据源方10使用同样的盐提取哈希值仍然能够方便的求解数据的交集。
为避免盐被泄露,信息节点60应公开一个API,该API返回提交的数据的加盐哈希值。即将手机号码18866662222提交给API,获得返回的加盐后哈希值为:BDA2773420943B5589CC8C5A406E97A921D140753C431958C8D80B96E59506C1,使用这个哈希值寻找交集。使得数据源方10不知晓盐,盐不会被泄露。
数据存储节点30为每个存储区设置有若干个交换对,数据存储节点30将最新收到副本追加存储在当前存储区的空闲存储块中,检查副本与上一条副本是否存在按位对齐的交换对,若存在则将对齐的交换对内容交换存储位置;若存储区无空闲存储块,则将副本存储在新存储区的第一个存储块,且不做交换对的检查;调取行编号对应的数据行时,数据存储节点30按照行编号找到副本存储的存储块;首先向下检查与下一个存储块的副本是否存在对齐的交换对,若存在,则继续在检查出的交换对所在位置上,向下检查是否存在对齐的交换对;若存在则继续在最新检查出的交换对位置上,向下检查是否存在对齐的交换对,直到未检查出交换对或者到达存储区的最后一个存储块;将向下检查出存在交换对的全部存储块复制出一个副本,从最后一个存储块开始,依次交换对齐交换对的存储位置进行副本的复原;复原后检测与上一个存储块的副本是否存在对齐的交换对,若存在,则将对齐的交换对交换存储位置;完成复原行编号对应的存储块内的副本。
表3 交换对表
存储区编号 | 交换对A | 交换对B |
9AD | 100011 | 101000 |
9AE | 101011 | 101110 |
9AE | 000111 | 101010 |
… | … | … |
数据存储节点30建立交换对表,数据存储节点30为每个存储区关联若干个交换对,交换对表记录存储区行编号和交换对,存储区关联多个交换对,则在交换对表中建立多条记录。如表3所示,为交换对表,记载了每个编号对应的存储区所使用的交换对。交换对A和交换对B构成一对交换内容,交换对A和交换对B无交换顺序约束。即上一个副本中包含交换对A,下一个副本对齐的位取值恰好是交换对B,则将二者交换。若上一个副本中包含交换对B,下一个副本对齐的位取值恰好是交换对A,也将二者进行交换。如表3所示,为存储区9AE内存储的若干个副本。存储区9AE一共使用了两个交换对,即“101011”-“101110”和“000111”-“101010”。在表4中可看出,行编号分别为B36A55DE、B36A55DF和B36A55E0的三个副本之间存在的对齐的交换对共有三处,即下划线示出。将这三处的值进行调换后的结果如表5所示,调换后每条副本的内容都将被破坏,及时获得解密秘钥也无法解密出正确的结果。使得真实数据得以隐藏。攻击者需要获得交换对表才能复原出数据。本实施例中交换对表采用数据存储节点30的公钥加密存储,需要使用时,通过私钥解密并放置在内存中,使用后即销毁。
表4 存储区9AE内存储的行编号及副本
行编号 | 副本 |
B36A55DE | <u>101011</u>010…0<u>101010</u>100…1101010100111001 |
B36A55DF | <u>101110</u>000…0<u>000111</u>010…0100<u>101011</u>110111 |
B36A55E0 | 101010100…0110111111…1001<u>101110</u>101010 |
… | |
B36A56D7 | 101100100…0010000110…1100001100001111 |
表5 存储区9AE经过交换对交换的结果
行编号 | 副本 |
B36A55DE | <u>101110</u>010…0<u>000111</u>100…1101010100111001 |
B36A55DF | <u>101011</u>000…0<u>101010</u>010…0100<u>101110</u>110111 |
B36A55E0 | 101010100…0110111111…1001<u>101011</u>101010 |
… | |
B36A56D7 | 101100100…0010000110…1100001100001111 |
建立安全多方计算前,请参阅附图2,对数据处理模型执行以下步骤:步骤A01)提取数据处理模型中的加权求和计算式;步骤A02)数据存储节点30、保留节点40及关联节点调取对应的副本;步骤A03)将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给模型节点50;步骤A04)模型节点50将全部中间和相加,即获得真实值代入加权求和计算式的结果;步骤A05)模型节点50将加权求和计算式的结果代入数据处理模型;步骤A06)对非加权求和的计算式,构建安全多方计算求解。
如在一个神经网络模型中,输入层有三个神经元,分别对应消费者年龄、月均消费金额和月均消费频次,第一层神经元有两个,其中一个连接输入层的三个神经元,激发函数为sigmod函数,权系数以a11、a12和a13表示,偏移量以b1表示,则其输出等于sigmod(x),其中第一层神经元为全连接,则x= a11*消费者年龄+ a12*月均消费金额+ a13*月均消费频次+b1,即为步骤B01)需要提取的加权求和计算式。
金融机构产生的金融数据具体为:消费者年龄33,月均消费金额1万,月均消费频次16次。
本实施例中数据存储节点30有3个,则需要生成5个副本。其中为消费者年龄生成5个加数分别为:33=-12+13+14+8+10-10,5个副本分配到的数值分别为:-12、13、14、8、10和-10。月均消费金额1万生成5个加数,分别由3个数据存储节点30、保留节点40和关联节点保存:10,000.00=1,000.00+1,000.00+3,000.00+3,500.00+1,500.00-1,500.00,5个副本分配到的数值分别为:1,000.00、1,000.00、3,000.00、3,500.00、1,500.00和-1,500.00。为月均消费频次16生成加数为:16=1+3+5+4+3-3,5个副本分配到的数值分别为:1、3、5、4、3和-3。
打乱顺序分配给3个数据存储节点30、保留节点40和关联节点后,假设第一个数据存储节点30存储的数据为:-12, 1,000.00,1,则第一个数据存储节点30计算的和为:a11*-12+ a12*1,000.00+ a13*1,以此类推,全部3个数据存储节点30及关联节点发送的和,与保留节点40所得和,再求和,所得结果为:a11*(-12+13+14+8+10-10)+ a12*(1,000.00+1,000.00+3,000.00+3,500.00+1,500.00-1,500.00)+ a13*(1+3+5+4+3-3)。即为:a11*33+a12*10,000.00+a13*16,恰好等于原始的真实值直接代入加权求和计算式的结果。再加上偏移值b1,即获得x的值,代入sigmod(x)函数即得到神经元的输出。在计算过程中,原始的真实值混杂在多个混淆值和加数中,从而得以隐藏,难以被准确发现,提高了数据的隐私性和安全性。
当数据处理模型调用最新的数据行时,数据行可能发生了更新。如月均消费金额由1万增加到月均消费金额1.2万。增加了0.2万,则只需要在保留副本上,对应的月均消费金额增加0.2万即可。即保留副本保存的值3,500.00,更改为5,500.00,最终计算的结果将等于最新的数据计算的结果。使得热数据能够被用于数据共享和融合。
模型节点50运行有隐私安全检查模块,隐私安全检查模块列举数据处理模型的输出,列举每个输出涉及的输入字段,将输出仅涉及一个输入字段,则隐私安全检查不通过,模型节点50拒绝数据处理模型。请参阅附图3,为本实施例使用的一个子模型,其输出为y1,涉及的输入包括x1、x2和x3,因而隐私安全检查通过。
本实施例的有益技术效果是:将数据行分散在若干个数据存储节点30上,提高数据的安全性,使用数据处理模型在数据行和数据需求方70之间建立隔离,使得数据需求方70在使用数据时不需要直接查看数据,保持了数据的隐私性。使用加盐哈希值能够使数据需求方70快速的找到相关联的数据行,融合多源的数据代入数据处理模型。
实施例二:
一种适用于多应用场景的安全数据融合系统,本实施例在实施例一的基础上,对数据处理模型的执行提供了进一步的改进。请参阅附图4,本实施例中,对数据处理模型的执行包括以下步骤:
数据源方10为数据行分配的行编号包含数据冷热属性标识,若行编号为冷数据,则执行:
步骤B01)保留节点40计算数据行字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;
步骤B02)将字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;数据存储节点30构建安全多方计算前,对数据处理模型执行以下步骤:
步骤B03)提取以真实值为输入的能够进行泰勒展开的一元计算式,将的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;
步骤B04)将加权和计算式发送给若干个数据存储节点30;
步骤B05)数据存储节点30调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给模型节点50;
步骤B06)模型节点50将全部中间和相加,即获得真实值代入一元计算式的近似结果;
步骤B07)将一元计算式的近似结果代入数据处理模型;
步骤B08)对非加权求和的计算式,构建安全多方计算求解。
泰勒展开是将函数展开为自变量0次方至N次方的加权和的级数形式。当N足够大时,使用泰勒展开计算所得结果与真实结果之间的误差将足够小。如函数exp(x)的泰勒展开就是x的0次方至N次方的加权和。其中,exp(x)函数的泰勒展开中x的0次方至N次方的系数分别为:1,1,1/2!,1/3!,…,1/N!。泰勒展开式中N为无穷大,当允许一定的误差时,使用较大的N值即可。由于增加N的值,需要付出的代价为增加了存储空间的开销,对数据的计算主要为乘法和加法,且计算复杂度为线性复杂度,对计算效率的影响不大。因而本方案能够以极低的成本,增加计算的准确度。如将N的取值从10增加到20,在增加了一个数量级的情况下,也仅是增加了少量存储空间的开销,增加了2*20次计算,一次拆分加数和一次计算加权和,成本仅增加了不到一个数量级。计算精度以最后一项进行估计,则精度提升为20!除以10!,结果为:6.7xe11。对于同样的自变量而言,使用泰勒展开级数进行近似计算的精度几乎提高了12个数量级。
数据存储节点30对一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解一元计算式,若误差未超过预设百分比,则保留近似结果。请参阅附图5,数据存储节点30执行以下步骤进行误差的判断:步骤C01)数据存储节点30根据近似结果和一元计算式,反求出近似真实值;步骤C02)将近似真实值乘以系数k,k=1+△,△为预设百分比;步骤C03)将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果;步骤C04)若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
用泰勒展开式计算近似值的误差,取决与自变量本身的值。若自变量本身取值为3,则计算到第10项为:pow(3,10)/10!=0.016,与前三项的和8.5相比,仅占比0.19%,已经是可以接受的精度。若自变量取值为10,则第10项的值为2755,显著大于前三项的和。自变量的值越大,则精度越差。因而具体N取值的确定时,根据数值型字段的取值范围中的上限值,针对上限值制定满足精度要求的N的值,即可确保计算精度满足要求。相对于实施例一,本实施例使用改进的安全多方计算方法显著提高数据处理模型的效率。
以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
Claims (10)
1.一种适用于多应用场景的安全数据融合系统,其特征在于,
包括数据接收节点、若干个数据存储节点、若干个保留节点、模型节点和信息节点,
所述数据接收节点接收数据源方提交的数据描述文本和外部主键字段标识信息,为数据源方的数据行分配行编号,所述保留节点设置在数据源方,所述保留节点与数据源方系统同步数据,所述保留节点为数据行制作若干个副本,副本关联行编号,所述保留节点保留一个副本作为保留副本,将数据行的数值型字段的真实值拆分为若干个加数,若干个加数分别分配给若干个副本,非数值型字段的真实值由保留副本存储,其余副本保存混淆值,若干个副本分别分配给若干个数据存储节点存储,所述模型节点接收数据需求方提交的数据处理模型,为数据处理模型分配模型编号,所述信息节点展示数据接收节点收到的数据行的行编号、对应的数据描述文本和外部主键字段标识信息,数据需求方查看所述信息节点展示的信息获得需要调用的数据行的行编号,将行编号和模型编号提交给模型节点,所述模型节点将行编号发送给数据存储节点和保留节点,所述数据存储节点和保留节点建立多方安全计算将数据行代入数据处理模型,将模型结果发送给所述模型节点,所述模型节点将模型结果反馈给数据需求方。
2.根据权利要求1所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述数据存储节点开辟有若干个存储区,所述存储区包括若干个存储块,所述存储块的空间与副本及行编号所需空间匹配,所述数据存储节点为每个存储区设置有若干个交换对,所述数据存储节点将最新收到副本追加存储在当前存储区的空闲存储块中,检查副本与上一条副本是否存在按位对齐的交换对,若存在则将对齐的交换对内容交换存储位置;若存储区无空闲存储块,则将副本存储在新存储区的第一个存储块,且不做交换对的检查;调取行编号对应的数据行时,所述数据存储节点按照行编号找到副本存储的存储块;首先向下检查与下一个存储块的副本是否存在对齐的交换对,若存在,则继续在检查出的交换对所在位置上,向下检查是否存在对齐的交换对;若存在则继续在最新检查出的交换对位置上,向下检查是否存在对齐的交换对,直到未检查出交换对或者到达存储区的最后一个存储块;将向下检查出存在交换对的全部存储块复制出一个副本,从最后一个存储块开始,依次交换对齐交换对的存储位置进行副本的复原;复原后检测与上一个存储块的副本是否存在对齐的交换对,若存在,则将对齐的交换对交换存储位置;即复原出行编号对应的存储块内的副本。
3.根据权利要求1或2所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
数据源方建立替代数表,将非数值型字段的取值替换为对应的替代数,所述接收节点为收到的数据行建立若干个副本,副本数量与存储节点数量匹配,将数据行的非数值型字段的替代数拆分为若干个加数,加数分配给副本存储,将若干个副本分配给若干个存储节点存储。
4.根据权利要求3所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述数据源方建立一个关联副本,所述关联副本和保留副本的取值互为相反数,建立关联节点,所述关联副本存储在关联节点上,若数据行发生变化,则数据源方将数据变化量叠加到保留副本,数据存储节点、保留节点和关联节点建立多方安全计算将数据行代入数据处理模型。
5.根据权利要求1或2所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述信息节点与数据源方及数据需求方约定盐,所述保留节点将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。
6.根据权利要求5所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述信息节点建立加盐哈希值API,接收数据源方和数据需求方提交的数值,返回数值加盐后提取的哈希值。
7.根据权利要求1或2所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
建立安全多方计算前,对数据处理模型执行以下步骤:
提取数据处理模型中的加权求和计算式;
数据存储节点、保留节点及关联节点调取对应的副本,将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给所述模型节点;
所述模型节点将全部中间和相加,即获得真实值代入加权求和计算式的结果;
所述模型节点将加权求和计算式的结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
8.根据权利要求7所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述数据源方为数据行分配的行编号包含数据冷热属性标识,若行编号为冷数据,则所述保留节点计算数据行字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;
将字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;
所述数据存储节点构建安全多方计算前,对数据处理模型执行以下步骤:
提取以真实值为输入的能够进行泰勒展开的一元计算式,将所述的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;
将加权和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给所述模型节点;
所述模型节点将全部中间和相加,即获得真实值代入一元计算式的近似结果;
将一元计算式的近似结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
9.根据权利要求8所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述数据存储节点对所述一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解所述一元计算式,若误差未超过预设百分比,则保留所述近似结果;
所述数据存储节点执行以下步骤进行误差的判断:
所述数据存储节点根据近似结果和一元计算式,反求出近似真实值;
将近似真实值乘以系数k,k=1+△,△为预设百分比,将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果,若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
10.根据权利要求8所述的一种适用于多应用场景的安全数据融合系统,其特征在于,
所述模型节点运行有隐私安全检查模块,所述隐私安全检查模块列举所述数据处理模型的输出,列举每个输出涉及的输入字段,将输出仅涉及一个输入字段,则隐私安全检查不通过,所述模型节点拒绝所述数据处理模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110997258.3A CN113779622B (zh) | 2021-08-27 | 2021-08-27 | 一种适用于多应用场景的安全数据融合系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110997258.3A CN113779622B (zh) | 2021-08-27 | 2021-08-27 | 一种适用于多应用场景的安全数据融合系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779622A true CN113779622A (zh) | 2021-12-10 |
CN113779622B CN113779622B (zh) | 2023-08-22 |
Family
ID=78839724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110997258.3A Active CN113779622B (zh) | 2021-08-27 | 2021-08-27 | 一种适用于多应用场景的安全数据融合系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779622B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030073406A1 (en) * | 2001-10-17 | 2003-04-17 | Benjamin Mitchell A. | Multi-sensor fusion |
CN110222533A (zh) * | 2019-06-17 | 2019-09-10 | 英联(厦门)智能数据有限公司 | 分布式数据安全应用方法、系统及电子设备 |
CN112261082A (zh) * | 2020-09-21 | 2021-01-22 | 中国科学院计算技术研究所 | 基于区块链和安全多方计算的被动dns数据共享方法及系统 |
CN113268760A (zh) * | 2021-07-19 | 2021-08-17 | 浙江数秦科技有限公司 | 一种基于区块链的分布式数据融合平台 |
-
2021
- 2021-08-27 CN CN202110997258.3A patent/CN113779622B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030073406A1 (en) * | 2001-10-17 | 2003-04-17 | Benjamin Mitchell A. | Multi-sensor fusion |
CN110222533A (zh) * | 2019-06-17 | 2019-09-10 | 英联(厦门)智能数据有限公司 | 分布式数据安全应用方法、系统及电子设备 |
CN112261082A (zh) * | 2020-09-21 | 2021-01-22 | 中国科学院计算技术研究所 | 基于区块链和安全多方计算的被动dns数据共享方法及系统 |
CN113268760A (zh) * | 2021-07-19 | 2021-08-17 | 浙江数秦科技有限公司 | 一种基于区块链的分布式数据融合平台 |
Also Published As
Publication number | Publication date |
---|---|
CN113779622B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102208891B1 (ko) | 블록체인 기밀 트랜잭션에서 암호화된 트랜잭션 정보 복구 | |
CN113343284B (zh) | 一种基于区块链的隐私数据共享方法 | |
CN113268760B (zh) | 一种基于区块链的分布式数据融合平台 | |
CN113886867A (zh) | 一种基于多源数据融合的贷款授信系统 | |
KR102085140B1 (ko) | 전자 거래를 위한 인덱싱 블록체인 시스템 | |
Sundaram | Equivalent martingale measures and risk-neutral pricing: An expository note | |
CN108304726A (zh) | 数据脱敏方法和装置 | |
CN110162570A (zh) | 区块链数据的分次获取方法和装置 | |
CN102881079B (zh) | 脚踩多密码预警式可异卡控制银行卡 | |
CN110689415A (zh) | 一种公共资源交易平台管理系统 | |
CN113420335A (zh) | 一种基于区块链的联邦学习系统 | |
CN113779624A (zh) | 一种基于智能合约的隐私数据分享方法 | |
CN116955857A (zh) | 数据处理方法、装置、介质及电子设备 | |
CN112598510B (zh) | 资源数据处理方法和装置 | |
CN113779622B (zh) | 一种适用于多应用场景的安全数据融合系统 | |
Efe | A vertical federated learning method for multi-institutional credit scoring: MICS | |
CN113779623B (zh) | 一种基于区块链的热数据融合方法 | |
US20200175562A1 (en) | Gem trade and exchange system and previous-block verification method for block chain transactions | |
CN113810185B (zh) | 一种抗陷门泄露的链上数据修复系统及方法 | |
CN113377878A (zh) | 一种基于区块链的热数据共享平台 | |
Alirezaee et al. | Trade‐offs in integer data envelopment analysis | |
CN114897590A (zh) | 表单核对方法、装置、计算机设备和存储介质 | |
Qvortrup | The Perils of Referendums: A Review | |
CN113377730A (zh) | 一种基于区块链的金融数据实时共享系统 | |
CN109636350A (zh) | 文档生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |