背景技术
目前:随着信息化和网络化进程的加快以及嵌入式设备的普及,物联网(Internetof Things,IoT)技术已经成为学术界和工业界的研究热点。作为联接网络空间和物理世界的“桥梁”,物联网已经在智能医疗、智慧城市、无人驾驶等与民生息息相关的领域扮演了越来越重要的角色。数以亿计的物联网终端设备持续对其所处的环境状态进行捕捉并源源不断地产生诸如日志、声音、视频等多样化的海量数据。然而,由于物联网设备是计算、通信、存储等资源受限的小型设备,其本身难以执行复杂的运算。为此,一般将物联网终端产生的海量数据上传到云计算中心,利用大数据分析技术对数据中蕴含的价值进行充分挖掘。在此背景下,便产生了“物联网大数据”的概念。与此同时,能够从多样化数据中进行模式挖掘与特征提取的机器学习算法已经被成功地应用于语音视频分析、自然语言处理、趋势预测等领域,其已经构成了大数据分析技术的重要组成部分。其中,基于规则空间划分的决策树分类算法因其易于实现和高效性,已经成为机器学习中应用最为广泛的分类算法之一。在物联网大数据中,往往采用“机器学习即服务”的方式来对用户提供分类服务,即云数据中心将来自于物联网终端设备的海量数据进行汇聚并进行训练得到最终的决策树分类模型,然后通过该模型对外提供分类服务。
针对这种情况,一些技术在决策树分类的过程中加入了隐私保护的考虑。然而,现有的几种不同类型方案都存在各自的一些问题。如现有技术一将决策树中根据每一个内部节点所定义的阈值对决策树从根节点到叶子节点的路径进行编码,并将路径的编码与叶子节点所定义的类别建立映射,此时,可以将决策树路径选取问题转化为以路径编码为关键词的搜索问题。然而,该技术泄露了决策树的整体结构,并且难以处理内部节点所定义的阈值为非整数的情况。现有技术二给出了包括决策树模型在内的多种隐私分类方法,其采用了全同态加密方法,故给服务提供商和用户带来了巨大的计算负担。现有技术三则是对上述方法进行了改进,其方案仅需要利用加法同态加密即可。其中,现有技术二和现有技术三的技术复杂度均取决于决策树内部节点的数量,当决策树规模变大时,便变得不实用。现有技术四则是引入安全多方计算框架,将混淆电路与不经意传输协议相结合,使得决策树隐私分类服务的复杂度只与决策树的深度相关。但在现有技术四中每次迭代的需要引入多个混淆电路的计算,故其实用性仍然受到限制。
通过上述分析,现有技术存在的问题及缺陷为:现有的决策树隐私分类服务实现过程复杂,开销较大,需要额外的第三方设备辅助,针对决策树模型保护的问题没有提出很好的解决办法。
解决上述技术问题的难度:可搜索加密技术带来的高计算复杂度问题,可以在基于安全多方计算的方案中得到降低,但仍存在一些问题带来较高的计算开销和网络要求。
解决上述技术问题的意义:若能采用一种便捷的方法处理数据,完成决策树隐私分类服务,达到数据加密同等的效果而不需要巨大的额外开销,则能在保证网络算力宽裕的前提下,同时保护决策树分类模型参数及结构特征和用户需要进行分类的特征数据。
发明内容
针对现有技术存在的问题,本发明提供了一种用户与服务提供商决策树隐私分类服务方法、系统及应用。
本发明是这样实现的,一种用户与服务提供商决策树隐私分类服务方法,所述用户与服务提供商决策树隐私分类服务方法包括:服务提供商通过已有数据库训练出决策树分类模型,并利用该模型为用户提供分类服务;参与用户是半可信的,用户向服务器提供用于分类的数据,经过计算后由服务器端返回分类结果。
进一步,所述用户与服务提供商决策树隐私分类服务方法具体包括以下步骤:
步骤一,服务器根据已有数据,训练决策树分类模型;
步骤二,建立服务器和用户的网络通信环境;
步骤三,用户向服务器发送分类申请;
步骤四,采用随机置换的方法,令服务器对决策树结构进行混淆;
步骤五,根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历;
步骤六,通过与服务提供商执行不经意传输,用户获取隐私分类的结果
进一步,所述步骤四采用随机置换的方法,令服务器对决策树结构进行混淆的方法具体包括:首先要根据决策树分类模型内部节点的标号序列IV
0={1,...,m},其中将根节点的序号标为1,按照广度优先搜索的原则逐层按从左到右的顺序依次对内部节点进行编号,由标号序列IV
0所确定的内部节点序列记为V
0,那么将V
0中每个内部节点所对应的属性标号序列和阈值序列分别记为LX
0和W
0,其中LX
0={I(v
0,k):k=1,...,m},W
0={w(v
0,k):k=1,...,m},此时,决策树分类模型T由IV
0,LX
0和W
0唯一确定,即可以看作函数T[IV
0,LX
0,W
0]:x∈R
d→{z
1,...,z
n};此处采用随机置换的方法,通过的随机置换对进行混淆,保护树形结构不被泄露。定义函数δ
r为IV
0的随机置换:δ
r:IV
0→IV
r,由IV
r所确定的内部节点序列表示为V
r,那么由V
r中内部节点所确定的属性编号序列LX
r={I(V
r,k):k=1,...,m};此时,通过作用在IV
0上的随机置换函数δ
r将T[IV
0,LX
0,W
0]进行混淆得到的新决策树分类模型T[IV
r,LX
r,W
r];对任意的用户数据x∈R
d,利用原始分类模型T[IV
0,LX
0,W
0]进行分类时,根据IV
0,LX
0和W
0,将x映射为σ
x∈{0,1}
m,此时定义函数
σ∈{0,1}
m→{1,...,n}表示决策树路径σ与分类标号之间的映射;而利用经过混淆后的决策树分类模型T[IV
r,LX
r,W
r]进行分类时,x被φ
r映射为σ
rx∈{0,1}
m,其可以看作σ
x在函数δ
r作用下的一个置换;用户在请求分类服务后,φ
r与LX
r可以由服务提供商发送给请求用户。
进一步,所述步骤五根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历,用户C提交隐私分类服务请求后,服务提供商S将φ
r与LX
r发送给用户C;用户C将根据LX
r所确定的属性标号,选择对应的属性值与服务器提供商拥有的阈值序列W
r中对应的阈值进行比较,进而确定最终的决策路径σ
rx∈{0,1}
m;随后可以通过公开的函数φ
r得到数据x所对应的类别标号;在上述过程中,对于LX
r中的任意属性标号τ
j(j=1,...,m),需要
与对应的w
j进行比较,如果
σ
rx,j=1,否则σ
rx,j=0。此时,用户C拥有
服务提供商S拥有w
j;在实现基于布尔共享的隐私比较时,用户C将
转化为长度为l的二进制表示
然后随机产生长度为l的比特串
并令
此时,
和
就构成了
的布尔共享,其中,用户C将
保留,并将
发送给服务提供商S;按照同样的方式,S得到[w
j],[w
j]
S和[w
j]
C,并将[w
j]
C发送给用户C;具体的,对于任意j=1,...,m,服务提供商S输入
[w
j]
S和辅助比特r
S;用户输入
[w
j]
C和r
C,其中
服务提供商S计算
用户C计算
服务提供商S将计算好的r
s发送给用户C后,用户C计算
其中q=1,2,...,m;并将以上步骤进行m次,便得到了σ
rx∈{0,1}
m。
进一步,所述步骤六通过与服务提供商执行不经意传输,用户获取隐私分类的结果。经过基于布尔共享的隐私比较之后,用户C获得了数据x所对应的叶子节点标号,记为γ;而对于服务提供商S而言,叶子节点集合Z={z
1,...,z
n}中的每个叶子节点对应一个类别,假设z
j(j=1,...,n)为一个长度为的比特串,即z
j∈{0,1}
λ。在最终获取分类结果时,通过引入能快速实现的哈希函数将不经意传输过程
转化为
其中
表示向上取整操作;达到用户C希望在S无法知晓γ的前提下获取z
γ,而用户只能得到z
γ而无法获取其余叶子节点所对应的类别信息的作用。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:服务提供商通过已有数据库训练出决策树分类模型,并利用该模型为用户提供分类服务;参与用户是半可信的,用户向服务器提供用于分类的数据,经过计算后由服务器端返回分类结果。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:服务提供商通过已有数据库训练出决策树分类模型,并利用该模型为用户提供分类服务;参与用户是半可信的,用户向服务器提供用于分类的数据,经过计算后由服务器端返回分类结果。
本发明的另一目的在于提供一种信息数据处理终端,,所述信息数据处理终端用于实现所述的用户与服务提供商决策树隐私分类服务方法。
本发明的另一目的在于提供一种实施所述用户与服务提供商决策树隐私分类服务方法的用户与服务提供商决策树隐私分类服务系统,所述的用户与服务提供商决策树隐私分类服务方法包括:
模型训练模块,用于实现服务器根据已有数据,训练决策树分类模型;
网络通信环境建立模块,用于建立服务器和用户的网络通信环境;
分类申请模块,用于实现用户向服务器发送分类申请;
结构混淆模块,用于采用随机置换的方法,令服务器对决策树结构进行混淆;
决策树遍历模块,用于根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历;
分类结果获取模块,用于通过与服务提供商执行不经意传输,用户获取隐私分类的结果。
本发明的另一目的在于提供一种物联网设备数据隐私保护终端,所述联网设备数据隐私保护终端用于实现所述的用户与服务提供商决策树隐私分类服务方法;所述物联网设备数据隐私保护终端为智能医疗终端、智慧城市终端、无人驾驶终端。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明将决策树分类模型与安全多方计算框架相结合,针对“诚实好奇”的恶意攻击者,通过决策树分类模型混淆、基于布尔共享的隐私比较和基于不经意传输的隐私分类结果三个阶段,能够提供分类服务过程中同时保护服务提供商决策树分类模型参数及结构特征,并保护用户需要进行分类的特征数据。由于在决策树分类模型混淆阶段不存在服务提供商与用户的交互,同时根据基于布尔共享的隐私比较以及1-out-of-n不经意传输协议的安全性,可以得出本发明能够很好地抵制服务商变为“诚实好奇”恶意攻击者的情形。同时当用户变为“诚实好奇”恶意攻击者时,本发明中所提出的隐私分类服务协议仍然是安全的。
表1是决策树隐私分类服务方法与背景技术提到的三种技指标对比,以下简称本发明,技术三,技术四。对比使用公开数据集得到的决策树分类模型进行分类时的服务提供情况。可见本发明时间效率高和计算复杂度低的特点有明显体现。
表1
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有的决策树分类服务技术计算开销及通信开销高、决策树模型参数无法得到保护的问题,本发明采用决策树隐私分类服务方法基于安全多方计算,利用数据混淆及秘密共享的思想提供了一种用户与服务提供商决策树隐私分类服务方法、系统及应用,在提供分类服务过程中保护用户及服务提供商双方的数据隐私。下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的用户与服务提供商决策树隐私分类服务方法包括以下步骤:
S101:服务器根据已有数据,训练决策树分类模型;
S102:建立服务器和用户的网络通信环境;
S103:用户向服务器发送分类申请;
S104:采用随机置换的方法,令服务器对决策树结构进行混淆;
S105:根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历;
S106:通过与服务提供商执行不经意传输,用户获取隐私分类的结果。
本发明提供的用户与服务提供商决策树隐私分类服务方业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的用户与服务提供商决策树隐私分类服务方仅仅是一个具体实施例而已。
如图2所示,本发明提供的用户与服务提供商决策树隐私分类服务系统包括:
模型训练模块1,用于实现服务器根据已有数据,训练决策树分类模型;
网络通信环境建立模块2,用于建立服务器和用户的网络通信环境;
分类申请模块3,用于实现用户向服务器发送分类申请;
结构混淆模块4,用于采用随机置换的方法,令服务器对决策树结构进行混淆;
决策树遍历模块5,用于根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历;
分类结果获取模块6,用于通过与服务提供商执行不经意传输,用户获取隐私分类的结果。
下面结合附图对本发明的技术方案作进一步的描述。
如图3所示,本发明的应用场景是服务提供商向用户提供决策树隐私分类服务的过程,考虑了云计算中典型的Server-Client模型,Server位于云计算中心,其主要负责来自于物联网设备的数据,并对数据进行标记。然后,充分利用云数据中心的计算和存储能力,对所收集的数据进行训练,得到树形结构的决策树分类模型,并利用该模型为用户提供分类服务。Client则为普通用户,其可以向Server提供用于分类的数据,经过计算后由Server端返回分类结果。
本发明实施例提供的决策树隐私分类方法具体包括以下步骤:
步骤一:服务器根据已有数据,训练决策树分类模型;
步骤二:建立服务器和用户的网络通信环境;
步骤三:用户向服务器发送分类申请;
步骤四:采用随机置换的方法,令服务器对决策树结构进行混淆;令服务器对决策树结构进行混淆的方法具体包括:首先要根据决策树分类模型内部节点的标号序列IV
0={1,...,m},其中将根节点的序号标为1,按照广度优先搜索的原则逐层按从左到右的顺序依次对内部节点进行编号,由标号序列IV
0所确定的内部节点序列记为V
0,那么将V
0中每个内部节点所对应的属性标号序列和阈值序列分别记为LX
0和W
0,其中LX
0={I(v
0,k):k=1,...,m},W
0={w(v
0,k):k=1,...,m},此时,决策树分类模型T由IV
0,LX
0和W
0唯一确定,即可以看作函数T[IV
0,LX
0,W
0]:x∈R
d→{z
1,...,z
n}。此处采用随机置换的方法,通过的随机置换对进行混淆,从而保护树形结构不被泄露。定义函数δ
r为IV
0的随机置换:δ
r:IV
0→IV
r,由IV
r所确定的内部节点序列表示为V
r,那么由V
r中内部节点所确定的属性编号序列LX
r={I(V
r,k):k=1,...,m}。此时,通过作用在IV
0上的随机置换函数δ
r将T[IV
0,LX
0,W
0]进行混淆得到的新决策树分类模型T[IV
r,LX
r,W
r]。对任意的用户数据x∈R
d,利用原始分类模型T[IV
0,LX
0,W
0]进行分类时,根据IV
0,LX
0和W
0,可以将x映射为σ
x∈{0,1}
m,此时定义函数
σ∈{0,1}
m→{1,...,n}表示决策树路径σ与分类标号之间的映射。而利用经过混淆后的决策树分类模型T[IV
r,LX
r,W
r]进行分类时,x被φ
r映射为σ
rx∈{0,1}
m,其可以看作σ
x在函数δ
r作用下的一个置换。用户在请求分类服务后,φ
r与LX
r可以由服务提供商发送给请求用户。
步骤五:根据用户所输入的特征向量,以及服务器提供的决策树,使用布尔共享电路进行决策树的遍历。用户C提交隐私分类服务请求后,服务提供商S将φ
r与LX
r发送给用户C。接下来,用户C将根据LX
r所确定的属性标号,选择对应的属性值与服务器提供商拥有的阈值序列W
r中对应的阈值进行比较,进而确定最终的决策路径σ
rx∈{0,1}
m。随后可以通过公开的函数φ
r得到数据x所对应的类别标号。在上述过程中,对于LX
r中的任意属性标号τ
j(j=1,...,m),需要
与对应的w
j进行比较,如果
σ
rx,j=1,否则σ
rx,j=0。此时,用户C拥有
服务提供商S拥有w
j。在实现基于布尔共享的隐私比较时,用户C将
转化为长度为l的二进制表示
然后随机产生长度为l的比特串
并令
此时,
和
就构成了
的布尔共享,其中,用户C将
保留,并将
发送给服务提供商S。按照同样的方式,S得到[w
j],[w
j]
S和[w
j]
C,并将[w
j]
C发送给用户C。具体的,对于任意j=1,...,m,服务提供商S输入
[w
j]
S和辅助比特r
S;用户输入
[w
j]
C和r
C,其中
服务提供商S计算
用户C计算
服务提供商S将计算好的r
s发送给用户C后,用户C计算
其中q=1,2,...,m。并将以上步骤进行m次,便得到了σ
rx∈{0,1}
m。
步骤六:服务提供商和用户通过不经意传输,进行隐私分类结果的获取。经过基于布尔共享的隐私比较之后,用户C获得了数据x所对应的叶子节点标号,记为γ。而对于服务提供商S而言,叶子节点集合Z={z
1,...,z
n}中的每个叶子节点对应一个类别,假设z
j(j=1,...,n)为一个长度为的比特串,即z
j∈{0,1}
λ。在最终获取分类结果时,通过引入能快速实现的哈希函数将不经意传输过程
转化为
其中
表示向上取整操作。该步骤可以达到用户C希望在S无法知晓γ的前提下获取z
γ,而用户只能得到z
γ而无法获取其余叶子节点所对应的类别信息的作用。
下面结合具体实验对本发明的技术效果作详细的描述。
本发明通过C++实现,代码运行于装有Ubuntu 18.04的虚拟机上,将该虚拟机的内存和硬盘容量分别设置为16GB和50GB,处理器个数为6。对于实现过程中所涉及的大数运算和哈希运算,使用了开源的GMP库和Openssl库。此外,所有的数据均用长度为64的比特串表示,前48比特表示整数位,后16比特表示小数位。为了得到真实的决策树分类模型,本实验采用了包括ECG、Nursery、Breast-cancer、Housing、Credit-screening及Spambase六个数据集,其均来自于加州大学欧文分校提出的机器学习标准测试数据集UCI。其中,通过数据集Housing和Spambase训练得到的决策树分类模型中所包含的内部节点数量及其深度要远大于其余4个数据集,即完成一次隐私分类服务所需的时间要远大于其余分类模型。
实验中,无论经由数据集Breasecancer、Nursery、ECG和Credit-screening训练得出的小型决策树,还是经由数据集Housing和Spambase训练的出的大型决策树,本发明中提出的方法均能在实验中能将运行时间控制在0.5秒左右。本发明提出的方法在进行比较运算时是使用了布尔共享的思路,使得比较运算效率较高,因此,即使在决策树分类模型规模变大时,本发明提出的方法仍能高效地完成隐私分类服务。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本发明领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。