发明内容
本说明书实施例提供了一种全处理决策树模型的方法、系统、数据终端及处理终端,在数据方和模型方在使用决策树进行安全计算过程中,降低原始数据被泄露的概率,提高原始数据的私密性。
本说明书实施例第一方面提供了一种安全处理决策树模型的方法,应用于数据终端中,包括:
获得针对决策树模型采用安全比较电路处理后的安全决策树模型;
为每个原始数据生成一个对应的掩盖数据;
针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集,并将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端;
获得决策树模型处理结果,所述决策树模型处理结果为所述处理终端根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型计算获得。
本说明书实施例第二方面还提供了一种安全处理决策树模型的方法,应用于处理终端中,包括:
采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端;
获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据,其中,每个原始数据对应的比较结果集是所述数据终端针对每个原始数据依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较而得到的,每个原始数据对应一个掩盖数据;
根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到决策树模型处理结果,并将所述决策模型处理结果发送给所述数据终端。
本说明书实施例第三方面还提供了一种安全处理决策树模型的系统,包括:
处理终端采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端;
所述数据终端接收所述安全决策树模型,为每个原始数据生成一个对应的掩盖数据;针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集,并将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端;
所述处理终端接收每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据,并根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到决策树模型处理结果,并将所述决策模型处理结果发送给所述数据终端;
所述数据终端接收所述决策模型处理结果。
本说明书实施例第四方面还提供了一种数据终端,包括:
模型获得单元,用于获得针对决策树模型采用安全比较电路处理后的安全决策树模型;
掩盖数据生成单元,用于为每个原始数据生成一个对应的掩盖数据;
比较结果集获取单元,用于针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集;
数据发送单元,用于将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端;
决策树模型处理结果获得单元,用于获得决策树模型处理结果,所述决策树模型处理结果为所述处理终端根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型计算获得。
本说明书实施例第五方面还提供了一种处理终端,包括:
模型发送单元,用于采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端;
数据获得单元,用于获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据,其中,每个原始数据对应的比较结果集是所述数据终端针对每个原始数据依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较而得到的,每个原始数据对应一个掩盖数据;
决策树模型处理结果获得单元,用于根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到决策树模型处理结果;
决策树模型处理结果发送单元,用于将所述决策模型处理结果发送给所述数据终端。
本说明书实施例第六方面还提供了一种数据终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面的安全处理决策树模型的方法的步骤。
本说明书实施例第七方面还提供了一种处理终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第二方面的安全处理决策树模型的方法的步骤。
本申请第八方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述安全处理决策树模型的方法的步骤。
本说明书实施例的有益效果如下:
基于上述技术方案,在采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端,此时,安全比较电路具有加密功能,使得安全决策树模型是加密的,进而能够降低决策树模型被泄露的概率。
其中,在得到每个原始数据对应的比较结果集时,每次都会将使用掩盖数据对每个原始数据对应的每个比较结果进行掩盖,以及利用掩盖数据、比较结果集和原始决策树模型得到决策树模型处理结果;此时,原始数据不会发送给处理终端且比较结果也通过掩盖数据进行了掩盖,如此,能够有效提高原始数据的私密性,降低原始数据被泄露的概率。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,参见图1,本说明书实施例提供一种安全处理决策树模型的系统,包括数据终端10和处理终端20,其中,数据终端10位于数据方、处理终端20位于模型方。数据终端10中存储有多个原始数据,其中,所述多个原始数据中存在2个或2个以上的原始数据,其中,数据终端10和处理终端20处理数据的过程具体如图1所示。
其中,数据终端10和处理终端20处理数据的过程中,处理终端20首先执行步骤S202,在该步骤中,处理终端20采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至数据终端10,其中,所述决策树模型可以为存储在处理终端20中的原始决策树模型,或,将所述原始决策树模型的部分或全部内节点打乱后得到的打乱决策树模型。
本说明书实施例中,所述原始决策树模型是一种基础的分类和回归方法,所述原始决策树模型呈树形结构,所述原始决策树模型中的节点分为内节点和叶子节点,其中,每个内节点对应一个比较规则。在将所述原始决策树模型的部分或全部内节点打乱时,可以将所述原始决策树模型中总节点数的1/5、2/5、1/3、1/2、2/3或100%节点的比较规则打乱,得到所述打乱决策树模型。
本说明书实施例中,所述原始决策树模型和所述打乱决策树模型中的节点都是相同的,其中,每个内节点对应一个比较规则。
具体来讲,所述原始决策树模型中被打乱的内节点数量越多,使得所述原始决策树模型的保密性能也越强,如此,为了提高保密性能,通常会将所述原始决策树模型中的全部内节点的都打乱,然后得到所述打乱决策树模型。
例如,参见图2,在所述决策树模型为所述打乱决策树模型时,处理终端20中存储有原始决策树模型A,原始决策树模型A包括节点b1、b2、b3、b4、c1、c2、c3、c4和c5,其中,b1、b2、b3和b4为内节点,c1、c2、c3、c4和c5为叶子节点,如此,若将原始决策树模型A的全部内节点的比较规则都打乱,得到的打乱决策树模型A1的节点排序依次为b2、b1、b4、b3、c1、c2、c3、c4和c5,或b4、b3、b1、b2、c1、c2、c3、c4和c5。
若将原始决策树模型A的部分内节点的比较规则打乱,得到的打乱决策树模型A1的节点排序依次为b1、b2、b4、b3、c1、c2、c3、c4和c5,或者,b2、b1、b3、b4、c1、c2、c3、c4和c5。
继续地,处理终端20在得到打乱决策树模型A1之后或同时或之前,生成所述安全比较电路,然后采用所述安全比较电路对A1进行处理,得到安全决策树模型。
本说明书实施例中,所述安全比较电路例如可以是混淆电路等,所述混淆电路是一种基于加密的,两个互不信任的数据持有方,可以联合结算出某一个函数的结果,而所述函数使用电路进行表示。为了保证计算过程中双方数据不暴露,需要对电路进行“混淆”;所述函数的输入为两方持有的数据;混淆电路保证了计算结果的正确性,同时双方也不能从协议中获取除了最终结果以外的任何信息。由于所述安全比较电路具有加密功能,如此,在采用安全比较电路对决策树模型进行处理,得到安全决策树模型时,会使得所述安全决策树模型是加密的,加密会提高所述安全决策树模型的保密性能,由此,能够有效降低所述原始决策树模型被泄露的概率,提高所述决策树模型的私密性。下面具体以混淆电路为例。
本说明书实施例中,在所述决策树模型为所述打乱决策树模型且将所述安全决策树模型发送给数据终端10之后,由于所述安全比较电路具有加密功能,如此,使得数据终端10接收到的所述安全决策树模型是加密的,使得即使在对所述安全决策树模型进行解密之后获取的仍然是所述打乱决策树模型,需要进一步将所述打乱决策树模型还原才能得到所述原始决策树模型,如此,能够进一步提高所述原始决策树模型的私密性,进一步降低所述原始决策树模型被泄露的概率。下面具体以所述决策树模型为所述打乱决策树模型为例。
在数据终端10接收到所述安全决策树模型之后,数据终端10执行步骤S204,其中,步骤S204包括子步骤S2041和子步骤S2042,以及在子步骤S2041中,数据终端10中存储有多个原始数据,并为每个原始数据生成一个对应的掩盖数据,针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集;在通过子步骤S2041得到每个原始数据对应的比较结果集之后,执行子步骤S2042,数据终端10将每个原始数据对应的掩盖数据和每个原始数据对应的比较结果集发送给处理终端20。
本说明书实施例中,所述掩盖数据可以是随机数,也可以根据预设规则进行设定,所述预设规则例如可以是连续n个掩盖数据的取值相同且每两个相邻的n个掩盖数据的取值不同或每相邻两个掩盖数据均不同等,其中,n为不小于1的整数,且所述掩盖数据的值为0或1。例如,在n=3时,连续的掩盖数据例如可以是000111000111。当然,为了提高私密性,所述掩盖数据为随机数,由于随机数没有规则,使得解密的复杂度进一步提高,能够有效降低处理终端20根据每个原始数据对应的比较结果集解密出原始数据的概率,提高了原始数据的私密性。下面具体以所述掩盖数据为随机数为例。
在具体实施过程中,针对每个原始数据,可以依次将每个比较规则与该原始数据比较得到的中间结果与对应的掩盖数据进行逻辑运算,得到每个原始原始对应的比较结果集。
此时,由于在原始数据与所述安全决策树模型中的任意一个比较规则进行比较时,其比较得到的中间结果为0或1,如此,在依次将每个比较规则与该原始数据比较得到的中间结果与对应的掩盖数据进行逻辑运算,得到每个原始对应的比较结果集时,根据逻辑运算的前置条件,使得每个掩盖数据的取值为0或1。下面以所述安全决策树模型通过打乱决策树模型得到为例。
例如,如图3所示,为混淆电路40,数据终端10接收到所述安全决策树模型之后,获得存储在数据终端10中的一个原始数据s,且生成与s对应的随机数为r1,然后,数据终端10依次将A1中的b1、b2、b3和b4每个内节点对应的比较规则与s及r1通过所述混淆电路进行比较。其中,图3中compare表征比较,XOR表征异或运算。
其中,若b1对应比较规则为b1>10,则将s、r1和b1>10通过比较规则进行比较,将b1>10与s进行比较得到的中间结果y1与r1进行异或运算,得到比较结果x1;针对b2,将b2对应的比较规则与s进行比较得到中间结果y2与r1进行异或运算,得到比较结果x2;针对b3,将b3对应的比较规则与s进行比较得到中间结果y3与r1进行异或运算,得到比较结果x3;针对b4,将b4对应的比较规则与s进行比较得到中间结果y4与r1进行异或运算,得到比较结果x4;由此,可以得到s对应的比较结果为x1、x2、x3和x4,即得到s对应的比较结果集为x1、x2、x3和x4。其中,r1的值可以随机选择0或1。
此时,y1=x1⊕r1,y2=x2⊕r1,y3=x3⊕r1,以及y4=x4⊕r1,其中,y1、y2、y3和y4的值为0或1。
如此,针对每个原始数据,数据终端10执行上次操作,得到每个原始数据对应的比较结果集,然后将每个原始数据对应的掩盖数据和每个原始数据对应的比较结果集发送给处理终端20。
本说明书另一实施例中,数据终端10得到每个原始数据对应的比较结果集之后,还可以将每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥发送给处理终端20。
具体来讲,通过对每个原始数据对应的掩盖数据进行加密,能够进一步避免处理终端20利用每个原始数据对应的掩盖数据来还原出原始数据,能够进一步提高原始数据的私密性。
例如,在得到s对应的比较结果集为x1、x2、x3和x4之后,利用公钥对r1进行加密,得到加密后的掩盖数据为r1-1,然后将r1-1和x1、x2、x3和x4发送给处理终端20,如此,针对每个原始数据,执行上述操作,从而将每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥发送给处理终端20。。
此时,中间结果y1、y2、y3和y4被随机数r1所掩盖,使得数据终端10和处理终端20仅能获取到最终的比较结果x1、x2、x3和x4;而且所述安全决策树模型中的每个内节点的比较规则被安全比较电路进行了加密,使得数据终端10和处理终端20两方均不能获取中间结果,促使不能通过中间结果进行计算获得对方的数据。如此,使得数据终端10的原始决策树模型和处理终端20中的原始数据的私密性更强。
本说明书实施例中,在处理终端20接收到数据终端10发送的每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据之后,处理终端20执行步骤S206,其中,步骤S206包括子步骤S2061和子步骤S2062,以及在子步骤S2061中,处理终端20根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到所述决策树模型处理结果,然后将所述决策树模型处理结果发送给数据终端10。
在具体实施过程中,在计算得到所述决策树模型处理结果过程中,针对每个原始数据,可以根据result=yn×右节点+(1-yn)×左节点然后对右节点和左节点进行递归计算,得到该原始数据对应的最终比较结果,其中,n为小于1的整数,yn的值为0或1。由此,可以得到每个原始数据对应的最终比较结果,即将每个原始数据对应的最终比较结果作为所述决策树模型处理结果。
例如,以原始数据为s且随机数为r1为例,数据终端10将r1和s对应的比较结果集为x1、x2、x3和x4发送给处理终端20,处理终端20接收到s、x1、x2、x3和x4之后,由于y1=x1⊕r1,y2=x2⊕r1,y3=x3⊕r1,以及y4=x4⊕r1,且由于y1、y2、y3和y4的值为0或1,如此,通过result=y1×右节点+(1-y1)×左节点然后继续进行递归计算,得到s对应的最终比较结果,具体如下述公式:
result=y1×(y3×(y4×c5)+(1-y4)×c4+(1-y3)×c3)+(1-y1)×(y2×c2+(1-y2)×c1) 公式(1)
其中,将y1=x1⊕r1,y2=x2⊕r1,y3=x3⊕r1,以及y4=x4⊕r1输入到上述公式(1)中,然后计算得到result结果,即得到result结果为s对应的最终比较结果。例如,通过公式(1)计算得到result=c2,则通过r1与s和c2的映射关系,确定出s与c2对应。
如此,针对每个原始数据执行上述操作,得到每个原始数据对应的最终比较结果,并将每个原始数据对应的最终比较结果发送给数据终端10。
本说明书实施例中,在数据终端10接收到处理终端20发送的所述决策树模型处理结果之后,数据终端10执行步骤S208,接收到所述决策树模型处理结果,即得到所述决策树模型处理结果,通过分析所述决策树模型处理结果,得到每个原始数据与叶子节点的对应关系。
例如,数据终端10将r1和s对应的比较结果集为x1、x2、x3和x4发送给处理终端20之后,通过公式(1)得到result=c2,然后将与r1对应的c2发送给数据终端10,由于r1分别与s和c2对应,从而可以得到s对应的叶子节点为c2,针对每个原始数据执行上述操作,得到每个原始数据与叶子节点的对应关系。
如此,每次都会将使用掩盖数据对每个原始数据对应的每个比较结果进行掩盖,以及利用掩盖数据和每个原始数据对应的比较结果集计算得到每个原始数据对应的最终比较结果,最后位于模型方的处理终端20将每个原始数据对应的最终比较结果发送给位于数据方的数据终端10,双方共享最终比较结果;而在整个安全计算过程中,不会暴露中间结果给任何一方,提高了双方包含的决策树模型和原始数据的私密性。
本发明另一实施例中,数据终端10将每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥发送给处理终端20之后,处理终端20执行子步骤S2061,子步骤S2061还可以执行以下步骤:获得每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥;利用所述公钥对每个原始数据对应的比较结果集、所述原始决策树模型和加密后的每个原始数据对应的掩盖数据进行加密计算,得到每个原始数据对应的最终比较结果作为所述决策树模型处理结果;在通过子步骤S2061得到每个原始数据对应的最终比较结果之后,执行子步骤S2062,处理终端20将所述决策树模型处理结果发送给数据终端10。
本说明书实施例中,所述加密计算为全同态加密计算,所述全同态加密指一个同时满足加法同态和乘法同态的函数,所述全同态加密对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样,如此,通过所述全同态计算得到的所述决策树模型处理结果是加密的,需要进行解密才能得到每个原始数据与所述决策树模型的叶子节点的对应关系;如此,通过此种方式能够确保中间结果不会泄露给任何一方,而双方共享最终比对结果,提高了双方包含的原始决策树模型和原始数据的私密性。
在具体实施过程中,由于处理终端20需要进行全同态加密计算,如此,数据终端10需要将所述公钥发送给处理终端20,其中,所述公钥与全同态加密对应;使得处理终端20利用所述公钥加密每个原始数据对应的比较结果集中每个比较结果和每个叶子节点;然后,处理终端20将加密后的每个原始数据对应的每个比较结果、加密后的每个叶子节点与加密后的每个原始数据对应的掩盖数据进行计算,得到每个原始数据对应的最终比较结果作为所述决策树模型处理结果。
具体来讲,在数据终端10发送的每个原始数据对应的比较结果集及其对应的掩盖数据之前或同时或之后,数据终端10将所述公钥发送给处理终端20。
具体来讲,处理终端20利用所述进行加密计算过程中,由于每个中间结果的值为0或1,则以一个原始数据对应中间结果yn为例,可以根据result=yn×右节点+(1-yn)×左节点然后继续对右节点和左节点进行递归计算,得到该原始数据对应的最终比较结果,其中,n为小于1的整数,yn的值为0或1。如此,针对每个原始数据执行上述操作,得到每个原始数据对应的最终比较结果,并将每个原始数据对应的最终比较结果发送给数据终端10。
例如,以原始数据为s且随机数为r1为例,数据终端10将r1加密后r1-1发送给处理终端20,在此之前,数据终端10还将公钥发送给处理终端20;如此,处理终端20接收到s对应的比较结果集为x1、x2、x3和x4之后,处理终端20通过公钥加密叶子节点为c1、c2、c3、c4和c5,得到叶子节点依次为c1-1、c2-1、c3-1、c4-1和c5-1;以及通过公钥加密x1、x2、x3和x4,得到加密后s对应的每个比较结果依次为x1-1、x2-1、x3-1和x4-1。
其中,由于y1=x1⊕r1,y2=x2⊕r1,y3=x3⊕r1,以及y4=x4⊕r1,由此可知,y1=x1-1⊕r1-1,y2=x2-1⊕r1-1,y3=x3-1⊕r1-1,以及y4=x4-1⊕r1-1,由于y1、y2、y3和y4的值为0或1,如此,通过根节点计算比较条件:result=y1×右节点+(1-y1)×左节点,再继续进行递归计算,得到下述公式:
result=y1×(y3×(y4×c5-1)+(1-y4)×c4-1+(1-y3)×c3-1)+(1-y1)×(y2×c2-1+(1-y2)×c1-1) 公式(2)
其中,将y1=x1-1⊕r1-1,y2=x2-1⊕r1-1,y3=x3-1⊕r1-1,以及y4=x4-1⊕r1-1输入到上述公式(2)中,可以通过上述公式(2)计算得到result结果,即得到result结果为s对应的最终比较结果,例如,通过公式(2)计算得到result=c2-1,则通过r1-1与s和c2-1的映射关系,确定出s与c2-1对应。
如此,针对每个原始数据执行上述操作,得到每个原始数据对应的最终比较结果,并将每个原始数据对应的最终比较结果发送给数据终端10。
本说明书实施例中,在数据终端10接收到处理终端20发送的所述决策树模型处理结果之后,数据终端10执行步骤S208,接收到所述决策树模型处理结果,对所述决策树模型处理结果进行解密,得到每个原始数据与叶子节点的对应关系。
具体来讲,在数据终端10接收到处理终端20发送的每个原始数据对应的最终比较结果之后,利用私钥对每个原始数据对应的最终比较结果进行解密,得到每个原始数据与所述决策树模型的叶子节点的对应关系,其中,所述私钥与所述公钥对应。
例如,以原始数据s为例,数据终端10通过公式(2)计算得到result=c2-1之后,将c2-1接收到处理终端20发送的y1×(y3×(y4×c5-1)+(1-y4)×c4-1+(1-y3)×c3-1)+(1-y1)×(y2×c2-1+(1-y2)×c1-1)之后,利用私钥对接收到的s对应的最终比较结果进行解密,得到s对应的最终比较结果为下述公式:
例如,数据终端10将r1和s对应的比较结果集为x1、x2、x3和x4发送给处理终端20之后,通过公式(2)得到result=c2-1,然后将与r1-1对应的c2-1发送给数据终端10,此时,数据终端10通过私钥对c2-1进行解密得到c2,且由于r1-1分别与s和c2-1对应,从而可以得到s对应的叶子节点为c2,针对每个原始数据执行上述操作,得到每个原始数据与叶子节点的对应关系。
如此,每次都会将使用掩盖数据对每个原始数据对应的每个比较结果进行掩盖,以及利用掩盖数据和每个原始数据对应的比较结果集通过全同态加密计算得到每个原始数据对应的最终比较结果,最后位于模型方的处理终端20将每个原始数据对应的最终比较结果(密文)发送给位于数据方的数据终端10进行解密,双方共享最终比较结果;而在整个安全计算过程中,不会暴露中间结果给任何一方,提高了双方包含的决策树模型和原始数据的私密性。
而且,在安全计算过程中,处理终端20将所述打乱决策树模型发送数据终端10,而数据终端10的原始数据不会发送给处理终端20,如此,即使在私钥泄露的情况下,仅会泄露掩盖数据,而不会泄露原始数据,如此,能够进一步提高原始数据的私密性。
第二方面,基于同一发明构思,本说明书实施例提供一种安全处理决策树模型的方法,应用于数据终端中,如图4所示,包括:
S402、获得针对决策树模型采用安全比较电路处理后的安全决策树模型;
S404、为每个原始数据生成一个对应的掩盖数据;
S406、针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集,并将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端;
S408、获得决策树模型处理结果,所述决策树模型处理结果为所述处理终端根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型计算获得。
在一种可选方式中,所述述针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集,具体包括:
针对每个原始数据,依次将每个比较规则与该原始数据比较得到的中间结果与对应的掩盖数据进行逻辑运算,得到每个原始原始对应的比较结果集。
在一种可选方式中,在将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端时,所述方法还包括:
将每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥发送给所述处理终端。
在一种可选方式中,在获得决策树模型处理结果之后,利用与所述公钥对应的私钥对所述决策树模型处理结果进行解密,得到解密后所述决策树模型处理结果。
在一种可选方式中,所述为每个原始数据生成一个对应的掩盖数据,具体包括:
为每个原始数据生成的一个随机数作为该原始数据对应的掩盖数据。
在一种可选方式中,所述决策树模型为原始决策树模型或者将所述原始决策树模型中的部分或全部内节点打乱后得到的打乱决策树模型。
在第二方面中所述数据终端的实施过程中可以参考第一方面中数据终端10的具体实施过程中,为了说明书的简洁,在此就不再赘述了。
第三方面,基于同一发明构思,本说明书实施例提供一种安全处理决策树模型的方法,应用于处理终端中,包括以下步骤:
S502、采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端;
S504、获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据,其中,每个原始数据对应的比较结果集是所述数据终端针对每个原始数据依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较而得到的,每个原始数据对应一个掩盖数据;
S506、根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到决策树模型处理结果,并将所述决策模型处理结果发送给所述数据终端。
在一种可选方式中,在获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据之前,所述方法还包括:
获得每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥;
利用所述公钥对每个原始数据对应的比较结果集、所述原始决策树模型和加密后的每个原始数据对应的掩盖数据进行加密计算,得到每个原始数据对应的最终比较结果作为所述决策树模型处理结果。
在一种可选方式中,所述处理终端获得所述决策树模型处理结果之后,通过私钥对所述决策树模型处理结果进行解密,得到每个原始数据与叶子节点的对应关系。
在第三方面中所述处理终端的实施过程中可以参考第一方面中处理终端20的具体实施过程中,为了说明书的简洁,在此就不再赘述了。
第四方面,基于与第二方面中安全处理决策树模型的方法同样的发明构思,本说明书实施例还提供了一种数据终端,如图5所示,包括:
模型获得单元501,用于获得针对决策树模型采用安全比较电路处理后的安全决策树模型;
掩盖数据生成单元502,用于为每个原始数据生成一个对应的掩盖数据;
比较结果集获取单元503,用于针对每个原始数据,依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较,得到每个原始数据对应的比较结果集;
数据发送单元504,用于将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端;
决策树模型处理结果获得单元505,用于获得决策树模型处理结果,所述决策树模型处理结果为所述处理终端根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型计算获得。
在一种可选方式中,比较结果集获取单元503,还用于针对每个原始数据,依次将每个比较规则与该原始数据比较得到的中间结果与对应的掩盖数据进行逻辑运算,得到每个原始原始对应的比较结果集。
在一种可选方式中,所述数据终端还包括:
数据发送单元,用于在将每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据发送至存储有所述原始决策树模型的处理终端时,将每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥发送给所述处理终端。
在一种可选方式中,所述数据终端还包括:
解密单元,用于在获得决策树模型处理结果之后,利用与所述公钥对应的私钥对所述决策树模型处理结果进行解密,得到解密后所述决策树模型处理结果。
在一种可选方式中,掩盖数据生成单元502,还用于为每个原始数据生成的一个随机数作为该原始数据对应的掩盖数据。
在一种可选方式中,所述决策树模型为原始决策树模型或者将所述原始决策树模型中的部分或全部内节点打乱后得到的打乱决策树模型。
第五方面,基于与第三方面中安全处理决策树模型的方法同样的发明构思,本说明书实施例还提供了一种处理终端,如图6所示,包括:
模型发送单元601,用于采用安全比较电路对决策树模型进行处理,得到安全决策树模型,并将所述安全决策树模型发送至存储有原始数据的数据终端;
数据获得单元602,用于获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据,其中,每个原始数据对应的比较结果集是所述数据终端针对每个原始数据依次将所述安全决策树模型中的每个比较规则与该原始数据及其对应的掩盖数据通过所述安全比较电路进行比较而得到的,每个原始数据对应一个掩盖数据;
决策树模型处理结果获得单元603,用于根据每个原始数据对应的掩盖数据、每个原始数据对应的比较结果集和所述原始决策树模型,计算得到决策树模型处理结果;
决策树模型处理结果发送单元604,用于将所述决策模型处理结果发送给所述数据终端。
在一种可选方式中,数据获得单元602,还用于在获得每个原始数据对应的比较结果集和每个原始数据对应的掩盖数据之前,获得每个原始数据对应的比较结果集和加密后的每个原始数据对应的掩盖数据及其对应的公钥;
决策树模型处理结果获得单元603,还用于根据所述原始决策树模型,利用所述公钥对每个原始数据对应的每个比较结果和所述原始决策树模型中的每个叶子节点进行加密计算,得到每个原始数据对应的最终比较结果,其中,所述决策树模型处理结果包括每个原始数据对应的最终比较结果。
第六方面,基于与第二方面中安全处理决策树模型的方法同样的发明构思,本说明书实施例还提供了一种数据终端,如图7所示,包括存储器704、处理器702及存储在存储器704上并可在处理器702上运行的计算机程序,所述处理器702执行所述程序时实现第二方面中所述安全处理决策树模型的方法的任一方法的步骤。
其中,在图7中,总线架构(用总线700来代表),总线700可以包括任意数量的互联的总线和桥,总线700将包括由处理器702代表的一个或多个处理器和存储器704代表的存储器的各种电路链接在一起。总线700还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口705705在总线700和接收器701和发送器703之间提供接口。接收器701和发送器703可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器702负责管理总线700和通常的处理,而存储器704可以被用于存储处理器702在执行操作时所使用的数据。
第七方面,基于与第三方面中安全处理决策树模型的方法同样的发明构思,本说明书实施例还提供了一种处理终端,如图8所示,包括存储器804、处理器802及存储在存储器804上并可在处理器802上运行的计算机程序,所述处理器802执行所述程序时实现第三方面中所述安全处理决策树模型的方法的任一方法的步骤。
其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意数量的互联的总线和桥,总线800将包括由处理器802代表的一个或多个处理器和存储器804代表的存储器的各种电路链接在一起。总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口805805在总线800和接收器801和发送器803之间提供接口。接收器801和发送器803可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器802负责管理总线800和通常的处理,而存储器804可以被用于存储处理器802在执行操作时所使用的数据。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。