CN111967514A - 一种基于数据打包的隐私保护决策树的样本分类方法 - Google Patents

一种基于数据打包的隐私保护决策树的样本分类方法 Download PDF

Info

Publication number
CN111967514A
CN111967514A CN202010817497.1A CN202010817497A CN111967514A CN 111967514 A CN111967514 A CN 111967514A CN 202010817497 A CN202010817497 A CN 202010817497A CN 111967514 A CN111967514 A CN 111967514A
Authority
CN
China
Prior art keywords
participant
attribute
samples
sample
decision tree
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
Application number
CN202010817497.1A
Other languages
English (en)
Other versions
CN111967514B (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.)
Anhui University
Original Assignee
Anhui University
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 Anhui University filed Critical Anhui University
Priority to CN202010817497.1A priority Critical patent/CN111967514B/zh
Publication of CN111967514A publication Critical patent/CN111967514A/zh
Application granted granted Critical
Publication of CN111967514B publication Critical patent/CN111967514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于数据打包的隐私保护决策树的样本分类方法,该方法应用于由n个拥有数据的参与方,两个服务器组成的网络环境中,并包括以下步骤:S1、初始化阶段;S2、参与方发送加密数据阶段;S3、服务器处理加密数据阶段;S4、训练决策树并进行样本分类阶段。本发明应用于多个参与方,允许客户端在自己的密钥下加密他们的数据,并利用数据打包技术有效地减少系统的计算开销和通信开销,从而有效解决决策树的样本分类过程中的隐私保护问题,提高在本地训练好的决策树模型下对样本进行分类的安全性。

Description

一种基于数据打包的隐私保护决策树的样本分类方法
技术领域
本发明属于网络与信息安全技术领域,尤其涉及一种基于数据打包的隐私保护决策树的样本分类方法。
背景技术
近年来,机器学习技术已被广泛应用于许多实际应用中,这些技术的发展导致了海量数据的产生,而这些数据往往分布在不同的站点上,这多个站点想要在不透露自身数据的前提下在它们的数据联合上进行数据挖掘。比如,多家机构或公司分别拥有各自的本地样本集,这些机构想要在不公开本地数据的前提下共同训练出一个决策树模型,并根据该模型对本地的测试样本进行分类。于是,许多组织和公司考虑利用云服务器来训练模型并进行样本分类,这要求这些机构把数据外包给云服务器。然而,考虑到各种隐私问题的出现,敏感数据(如医疗记录)需要在外包到云服务器之前进行加密,由云来对加密数据进行处理并训练决策树模型。但是,这样训练出来的模型就是云的资产,用户在拥有新的测试样本集时,需要向云支付一定费用来对测试样本集进行评估和分类。
为了解决上述问题,文献[Privacy preserving decision tree learning overmultiple parties,2007]中提出了一种新的基于ID3算法和Shamir的秘密共享的分布式隐私保护决策树学习算法,目标是以隐私保护的方式在任意数量的参与方之间上构建决策树,而不需要云的参与。但是,这种方法需要参与方进行大量的交互,且在参与方规模较大的情况下,会造成很大的计算开销和通信开销。
发明内容
本发明为克服现有技术的不足之处,提供一种基于数据打包的隐私保护决策树的样本分类方法,以期能解决当前样本分类过程中的隐私保护问题,在用户非交互的环境下提高样本分类的安全性,同时利用数据打包技术有效地减少用户和服务器之间的计算开销和通信开销。
本发明为解决技术问题采用如下方案:
本发明一种基于数据打包的隐私保护决策树的样本分类方法的特点是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;所述第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;所述第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;所述第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示所述第j个属性Ai,j的第y个取值;1≤y≤t;所述第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示所述本地样本集Ti的第x个类标签;1≤x≤k;所述样本分类方法包括以下步骤:
步骤S1、初始化阶段:
所述从服务器S初始化BCP系统的设置阶段,并生成网络环境的公共参数PP,并将所述公共参数PP发送给所述主服务器C,所述主服务器C将公共参数PP发送给各个参与方,其中,所述第i个参与方Pi利用所述公共参数PP生成本地公私钥对(pki,ski);
步骤S2、参与方发送加密数据阶段:
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将所述明文空间N按照NB+L的位数均分为
Figure BDA0002633258630000021
个样本数的存储空间,其中
Figure BDA0002633258630000022
n为参与方总人数;
根据所述第i个参与方Pi的本地样本集Ti的s个属性对所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
步骤S2.3、第i个参与方Pi加密打包后的数据mi'后得到密文(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C;
步骤S3、服务器处理加密数据阶段:
步骤S3.1、所述主服务器C收到公钥pki和密文(Ai,Bi)后,计算统一公钥
Figure BDA0002633258630000031
步骤S3.2、所述主服务器C与所述从服务器S合作,将所述密文(Ai,Bi)转换为统一公钥Prod.pk加密的密文(A′i,B′i);
步骤S3.3、利用式(1)得到统一公钥Prod.pk加密后的结果
Figure BDA0002633258630000032
Figure BDA0002633258630000033
步骤S3.4、所述主服务器C得到结果
Figure BDA0002633258630000034
后,与所述从服务器S合作,将统一公钥Prod.pk加密的结果
Figure BDA0002633258630000035
转换为第i个参与方Pi的公钥pki加密的密文
Figure BDA0002633258630000036
步骤S3.5、所述主服务器C将转换后的密文
Figure BDA0002633258630000037
发送给相应的第i个参与方Pi
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文
Figure BDA0002633258630000038
并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
步骤S4.2、第i个参与方Pi根据式(2)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由所述当前根节点的不同值建立决策树的分支;
Figure BDA0002633258630000039
式(2)中,|T|表示n个参与方的本地样本集T的总样本数;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
与现有技术相比,本发明的有益效果在于:
1、本发明应用于多个参与方之间合作进行隐私保护决策树的样本分类的场景中,与大部分的研究不同,参与方外包给服务器的不是本地加密的训练数据集,而是对某些属性或类别的加密样本数,服务器对这些加密样本数进行处理并返回给参与方,参与方可以根据返回的结果在本地训练决策树模型,这样模型只对参与方已知,属于他们自己的资产,从而在拥有新的测试样本时,参与方可以在本地对其进行分类和评估,而不需要向云支付一定费用来对测试样本进行分类和评估;
2、本发明基于BCP同态加密系统实现了多密钥下的外包计算,参与方可以利用自己的公私钥对数据进行加解密,从而减少了参与方与服务器之间的通信开销,并完成不同公钥加密的密文之间的计算;
3、本发明利用数据打包技术在参与方加密数据之前将几个样本数以紧凑的方式打包,有效地利用BCP同态加密系统的消息空间,该空间比要比加密的数据大得多,由此提高了隐私保护决策树训练的效率,减少了同态加密的通信和计算成本。
附图说明
图1为本发明隐私保护决策树样本分类方法的应用场景示意图;
图2为本发明隐私保护决策树样本分类方法的主要实施步骤流程图;
图3为本发明隐私保护决策树样本分类方法的一次划分最优属性的决策树模型图;
图4为本发明隐私保护决策树样本分类方法的二次划分最优属性的决策树模型图。
具体实施方式
本实施例中,如图1所示,一种基于数据打包的隐私保护决策树的样本分类方法,是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示第j个属性Ai,j的第y个取值;1≤y≤t;第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示本地样本集Ti的第x个类标签;1≤x≤k;
现实生活中,多个参与方(如:多个机构或公司)分别拥有各自的天气样本集,这些参与方想要在不公开天气数据的前提下共同训练出一个决策树模型,并根据该模型对未来的天气状况是否适合出去游玩进行分类;
假设参与方数量为3,第i个参与方Pi的本地样本集Ti中均拥有4个属性,分别是{“Outlook”,“Temperature”,“Humidity”,“Windy”},第i个参与方Pi的本地样本集Ti中的类标签Play有2个取值{“Yes”,“No”};属性Outlook有3个取值{“Sunny”,“Overcast”,“Rainy”},属性Temperature有3个取值{“Hot”,“Mild”,“Cool”},属性Humidity有2个取值{“High”,“Normal”},属性Windy有2个取值{“Weak”,“Strong”};如图2所示,该样本分类方法包括以下步骤:
步骤S1、初始化阶段:
从服务器S初始化BCP系统的设置阶段并生成网络环境的公共参数PP,并将公共参数PP发送给服务器C,服务器C将公共参数PP发送给各个参与方,其中,第i个参与方Pi利用公共参数PP生成本地公私钥对(pki,ski);BCP系统可参考文献[A SimplePublic-KeyCryptosystemwithaDouble TrapdoorDecryptionMechanismandItsApplications,2003];
步骤S1.1、BCP系统的设置阶段Setup(λ):
λ为系统的安全参数,选择一个λ位长度的安全模数N=p·q,其中,p满足p=2p'+1,q满足q=2q'+1,并且p'和q'是两个不同的素数;
从服务器S从
Figure BDA0002633258630000051
中随机选取一个阶为pp'qq'的元素g,g满足gpp'qq'modN2=1+λN,λ∈[1,N-1],明文空间为ZN
生成系统公共参数PP=(N,λ,g),主密钥MK=(p',q');
从服务器S将生成的公共参数发送给主服务器C;
步骤S1.2、主服务器C将公共参数PP发送给各个参与方;
步骤S1.3、第i个参与方Pi利用公共参数PP生成公私钥对:
参与方获得PP后,从
Figure BDA0002633258630000052
随机选择一个整数a,计算h=gamodN2
输出参与方Pi的私钥ski=a,和公钥pki=h;
步骤S2、参与方发送加密数据阶段,三个参与方的训练集如表1、表2和表3所示:
表1参与方P1天气训练集;
Figure BDA0002633258630000061
表2参与方P2天气训练集;
Figure BDA0002633258630000062
表3参与方P3天气训练集;
Figure BDA0002633258630000071
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};ao
以属性“Outlook”为例,参与方P1计算|T(Sunny)|=3,|T(Rainy)|=2,|T(Overcast)|=3,|T(Sunny,Yes)|=1,|T(Sunny,No)|=2,|T(Rainy,Yes)|=1,|T(Rainy,No)|=1,|T(Overcast,Yes)|=3,|T(Overcast,No)|=0;参与方P2计算|T(Sunny)|=3,|T(Rainy)|=3,|T(Overcast)|=2,|T(Sunny,Yes)|=1,|T(Sunny,No)|=2,|T(Rainy,Yes)|=2,|T(Rainy,No)|=1,|T(Overcast,Yes)|=2,|T(Overcast,No)|=0;参与方P3计算|T(Sunny)|=2,|T(Rainy)|=3,|T(Overcast)|=3,|T(Sunny,Yes)|=1,|T(Sunny,No)|=1,|T(Rainy,Yes)|=2,|T(Rainy,No)|=1,|T(Overcast,Yes)|=1,|T(Overcast,No)|=2;
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将明文空间N按照NB+L的位数均分为
Figure BDA0002633258630000081
个样本数的存储空间,其中
Figure BDA0002633258630000082
n为参与方人数;假设N=1024,
Figure BDA0002633258630000083
则明文空间可以存放
Figure BDA0002633258630000084
个样本数;
根据第i个参与方Pi的本地样本集Ti的s个属性对本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
以属性“Outlook”为例,参与方将|T(Sunny)|,|T(Rainy)|,|T(Overcast)|,|T(Sunny,Yes)|,|T(Sunny,No)|,|T(Rainy,Yes)|,|T(Rainy,No)|,|T(Overcast,Yes)|,|T(Overcast,No)|打包到一个明文空间中;参与方有4个属性,这样就有4个打包好的数据;
步骤S2.3、第i个参与方Pi加密打包后的数据mi'得到(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C:
第i个参与方Pi根据自己的公私钥对(pki,ski),从ZN2随机选择一个整数r,对mi'进行加密,利用式(1)得到密文(Ai,Bi):
Ai=grmodN2,Bi=hr(1+mi'N)modN2 (1)
步骤S3、服务器处理加密数据阶段:
步骤S3.1、主服务器C收到pki和(Ai,Bi)后,计算统一公钥
Figure BDA0002633258630000085
步骤S3.2、主服务器C与从服务器S合作,在不改变底层明文的前提下把第i个参与方Pi的公钥pki加密的密文转换为统一公钥Prod.pk加密的密文(Ai',Bi'):
步骤S3.2.1、主服务器C将一个随机消息τi用第i个参与方的公钥pki加密得到
Figure BDA0002633258630000091
对(Ai,Bi)和
Figure BDA0002633258630000092
运行Add算法得到
Figure BDA0002633258630000093
Add算法满足BCP系统中的加同态性质:
Figure BDA0002633258630000094
其中m1、m2为在明文域内任意选取的两个明文;
步骤S3.2.2、主服务器C将(pki,(Ci,Di))发送给从服务器S;
步骤S3.2.3、从服务器S按照步骤S3.1计算统一公钥Prod.pk;
步骤S3.2.4、对于(Ci,Di),从服务器S利用主密钥MK解密得到解密结果
Figure BDA0002633258630000095
其中,mDec算法为BCP系统中的主密钥解密算法,可以用来解密所有参与方的密文;
步骤S3.2.5、从服务器S用统一公钥Prod.pk对解密结果zi进行重加密,得到加密结果(Wi,Zi)=EncProd.pk(Ci,Di);
步骤S3.2.6、从服务器S将(Wi,Zi)发送给主服务器C;
步骤S3.2.7、利用步骤S3.2.1中的随机消息τi,主服务器C对(Wi,Zi)和EncProd.pk(-τi)运行Add算法得到(Ai',Bi')=Add((Wi,Zi),EncProd.pk(-τi));
步骤S3.3、利用式(2)得到统一公钥Prod.pk加密后的结果
Figure BDA0002633258630000096
Figure BDA0002633258630000097
步骤S3.4、主服务器C得到结果
Figure BDA0002633258630000098
后,与从服务器S合作,将统一公钥Prod.pk加密的结果
Figure BDA0002633258630000099
转换为第i个参与方Pi的公钥pki加密的密文
Figure BDA00026332586300000910
步骤S3.4.1、主服务器C将一个随机消息τ用统一公钥Prod.pk加密后得到EncProd.pk(τ),对
Figure BDA00026332586300000911
和EncProd.pk(τ)运行Add算法得到
Figure BDA00026332586300000912
步骤S3.4.2、主服务器C将(C,D)发送给从服务器S;
步骤S3.4.3、从服务器S利用主密钥MK解密(C,D)得到解密结果z=mDec(Prod.pk,MK)(C,D);
步骤S3.4.4、从服务器S用第i个参与方的公钥pki对解密结果z进行重加密,得到加密结果
Figure BDA0002633258630000101
步骤S3.4.5、从服务器S将(Wi,Zi)发送给主服务器C;
步骤S3.4.6、主服务器C利用步骤S3.4.1中的随机消息τ,对(Wi,Zi)和
Figure BDA0002633258630000102
运行Add算法得到
Figure BDA0002633258630000103
步骤S3.5、主服务器C将转换后的密文
Figure BDA0002633258630000104
发送给相应的第i个参与方Pi
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文
Figure BDA0002633258630000105
并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
第i个参与方Pi解密得到样本数之和:
属性“Outlook”下的样本数之和:|T(Sunny)|=8,|T(Rainy)|=8,|T(Overcast)|=8,|T(Sunny,Yes)|=3,|T(Sunny,No)|=5,|T(Rainy,Yes)|=5,|T(Rainy,No)|=3,|T(Overcast,Yes)|=6,|T(Overcast,No)|=2;
属性“Temperature”下的样本数之和:|T(Hot)|=7,|T(Mild)|=10,|T(Cool)|=7,|T(Hot,Yes)|=5,|T(Hot,No)|=2,|T(Mild,Yes)|=4,|T(Mild,No)|=6,|T(Cool,Yes)|=5,|T(Cool,No)|=2;
属性“Humidity”下的样本数之和:|T(High)|=17,|T(Normal)|=7,|T(High,Yes)|=8,|T(High,No)|=9,|T(Normal,Yes)|=6,|T(Normal,No)|=1;
属性“Windy”下的样本数之和:|T(Weak)|=17,|T(Strong)|=7,|T(Weak,Yes)|=12,|T(Weak,No)|=5,|T(Strong,Yes)|=2,|T(Strong,No)|=5
步骤S4.2、第i个参与方Pi根据式(3)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由当前根节点的不同值建立决策树的分支;
Figure BDA0002633258630000111
式(3)中,|T|表示n个参与方的本地样本集T的总样本数;
根据式(3),计算E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.9067;
属性“Temperature”的条件熵:E(T|Ai,2)≈0.7667;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8791;
属性“Windy”的条件熵:E(T|Ai,4)≈0.8708;
属性“Temperature”的条件熵最小,由此选择属性“Temperature”作为根节点,并为它的不同取值建立分支,如图3所示;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
步骤S4.3.1、第i个参与方Pi对属性“Temperature”作为根节点的各个分支对应的样本集选择最佳属性;
在分支“Hot”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.5714;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.5714;
属性“Windy”的条件熵:E(T|Ai,4)≈0.5571;
属性“Windy”的条件熵最小,由此选择属性“Windy”作为分支“Hot”下的根节点;
在分支“Mild”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.8855;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8265;
属性“Windy”的条件熵:E(T|Ai,4)≈0.6897;
属性“Windy”的条件熵最小,由此选择属性“Windy”作为分支“Mild”下的根节点;
在分支“Cool”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.7871;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8571;
属性“Windy”的条件熵:E(T|Ai,4)≈0.8571;
属性“Outlook”的条件熵最小,由此选择属性“Outlook”作为分支“Cool”下的根节点;
为选择的根节点下的不同取值建立分支,得到二次划分最优属性后的决策树模型图,如图4所示;
步骤S4.3.2、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最终得到一颗训练好的决策树模型;
步骤S4.3.3、第i个参与方Pi本地拥有一条测试样本,根据训练好的模型,将相应的属性与决策树的结点比对,可以得到该测试样本的最终分类结果。

Claims (1)

1.一种基于数据打包的隐私保护决策树的样本分类方法,其特征是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;所述第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;所述第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;所述第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示所述第j个属性Ai,j的第y个取值;1≤y≤t;所述第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示所述本地样本集Ti的第x个类标签;1≤x≤k;所述样本分类方法包括以下步骤:
步骤S1、初始化阶段:
所述从服务器S初始化BCP系统的设置阶段,并生成网络环境的公共参数PP,并将所述公共参数PP发送给所述主服务器C,所述主服务器C将公共参数PP发送给各个参与方,其中,所述第i个参与方Pi利用所述公共参数PP生成本地公私钥对(pki,ski);
步骤S2、参与方发送加密数据阶段:
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将所述明文空间N按照NB+L的位数均分为
Figure FDA0002633258620000011
个样本数的存储空间,其中
Figure FDA0002633258620000012
n为参与方总人数;
根据所述第i个参与方Pi的本地样本集Ti的s个属性对所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
步骤S2.3、第i个参与方Pi加密打包后的数据mi'后得到密文(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C;
步骤S3、服务器处理加密数据阶段:
步骤S3.1、所述主服务器C收到公钥pki和密文(Ai,Bi)后,计算统一公钥
Figure FDA0002633258620000021
步骤S3.2、所述主服务器C与所述从服务器S合作,将所述密文(Ai,Bi)转换为统一公钥Prod.pk加密的密文(A′i,B′i);
步骤S3.3、利用式(1)得到统一公钥Prod.pk加密后的结果
Figure FDA0002633258620000022
Figure FDA0002633258620000023
步骤S3.4、所述主服务器C得到结果
Figure FDA0002633258620000024
后,与所述从服务器S合作,将统一公钥Prod.pk加密的结果
Figure FDA0002633258620000025
转换为第i个参与方Pi的公钥pki加密的密文
Figure FDA0002633258620000026
步骤S3.5、所述主服务器C将转换后的密文
Figure FDA0002633258620000027
发送给相应的第i个参与方Pi
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文
Figure FDA0002633258620000028
并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
步骤S4.2、第i个参与方Pi根据式(2)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由所述当前根节点的不同值建立决策树的分支;
Figure FDA0002633258620000029
式(2)中,|T|表示n个参与方的本地样本集T的总样本数;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
CN202010817497.1A 2020-08-14 2020-08-14 一种基于数据打包的隐私保护决策树的样本分类方法 Active CN111967514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010817497.1A CN111967514B (zh) 2020-08-14 2020-08-14 一种基于数据打包的隐私保护决策树的样本分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010817497.1A CN111967514B (zh) 2020-08-14 2020-08-14 一种基于数据打包的隐私保护决策树的样本分类方法

Publications (2)

Publication Number Publication Date
CN111967514A true CN111967514A (zh) 2020-11-20
CN111967514B CN111967514B (zh) 2023-11-17

Family

ID=73364848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010817497.1A Active CN111967514B (zh) 2020-08-14 2020-08-14 一种基于数据打包的隐私保护决策树的样本分类方法

Country Status (1)

Country Link
CN (1) CN111967514B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819058A (zh) * 2021-01-26 2021-05-18 武汉理工大学 一种具有隐私保护属性的分布式随机森林评估系统与方法
CN112906715A (zh) * 2021-02-19 2021-06-04 电子科技大学 一种基于深度神经网络的安全图像特征提取与分类方法
CN113688999A (zh) * 2021-08-23 2021-11-23 神州融安科技(北京)有限公司 一种横向联邦xgboost决策树的训练方法
CN115021900A (zh) * 2022-05-11 2022-09-06 电子科技大学 分布式梯度提升决策树实现全面隐私保护的方法
CN115587139A (zh) * 2022-11-03 2023-01-10 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145593A1 (en) * 2009-12-15 2011-06-16 Microsoft Corporation Verifiable trust for data through wrapper composition
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
CN110008717A (zh) * 2019-02-26 2019-07-12 东北大学 支持隐私保护的决策树分类服务系统及方法
CN110611694A (zh) * 2019-04-29 2019-12-24 杭州恒昱文化艺术策划有限公司 一种基于虚拟化主从容器的数据处理中心

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145593A1 (en) * 2009-12-15 2011-06-16 Microsoft Corporation Verifiable trust for data through wrapper composition
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
CN110008717A (zh) * 2019-02-26 2019-07-12 东北大学 支持隐私保护的决策树分类服务系统及方法
CN110611694A (zh) * 2019-04-29 2019-12-24 杭州恒昱文化艺术策划有限公司 一种基于虚拟化主从容器的数据处理中心

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于升峰;赵霞;孙彦琛;王静;: "网络用法挖掘的相关技术研究", 情报杂志, no. 05 *
周李威;王丽珍;张成君;朱玉全;: "基于全同态加密的决策树构造方法", 信息技术, no. 10 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819058A (zh) * 2021-01-26 2021-05-18 武汉理工大学 一种具有隐私保护属性的分布式随机森林评估系统与方法
CN112819058B (zh) * 2021-01-26 2022-06-07 武汉理工大学 一种具有隐私保护属性的分布式随机森林评估系统与方法
CN112906715A (zh) * 2021-02-19 2021-06-04 电子科技大学 一种基于深度神经网络的安全图像特征提取与分类方法
CN113688999A (zh) * 2021-08-23 2021-11-23 神州融安科技(北京)有限公司 一种横向联邦xgboost决策树的训练方法
CN115021900A (zh) * 2022-05-11 2022-09-06 电子科技大学 分布式梯度提升决策树实现全面隐私保护的方法
CN115021900B (zh) * 2022-05-11 2024-05-03 电子科技大学 分布式梯度提升决策树实现全面隐私保护的方法
CN115587139A (zh) * 2022-11-03 2023-01-10 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及系统
CN115587139B (zh) * 2022-11-03 2024-03-22 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及系统

Also Published As

Publication number Publication date
CN111967514B (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
CN111967514B (zh) 一种基于数据打包的隐私保护决策树的样本分类方法
Ning et al. White-box traceable CP-ABE for cloud storage service: How to catch people leaking their access credentials effectively
Freedman et al. Keyword search and oblivious pseudorandom functions
EP2228942B1 (en) Securing communications sent by a first user to a second user
Hussain et al. Image encryption algorithm based on PGL (2, GF (2 8)) S-boxes and TD-ERCS chaotic sequence
CN111143471B (zh) 一种基于区块链的密文检索方法
CN111431897B (zh) 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN108718231A (zh) 一种全同态加密方法、装置和计算机可读存储介质
Abusukhon et al. New direction of cryptography: A review on text-to-image encryption algorithms based on RGB color value
CN101807991A (zh) 密文政策属性基加密系统和方法
CN112383388B (zh) 一种基于云计算大数据的双秘钥加密系统及方法
JPH07181892A (ja) 暗号鍵共有方法及びその装置
CN112183767A (zh) 一种多密钥下模型聚合的联邦学习方法及相关设备
US8977855B2 (en) Secure function evaluation between semi-honest parties
US20040037424A1 (en) Information distribution and processing
CN116467736A (zh) 一种可验证的隐私保护联邦学习方法及系统
Bian et al. Data integrity audit based on data blinding for cloud and fog environment
Zhou et al. AntNest: Fully non-interactive secure multi-party computation
CN113630250A (zh) 基于数据加密的模型训练方法及系统
CN116633529B (zh) 采用派生密钥增强白盒sm4密码算法的方法及设备
CN106612173A (zh) 云存储中一种可信任密钥的加密方案
Han et al. Vector Sum Range Decision for Verifiable Multiuser Fuzzy Keyword Search in Cloud-Assisted IoT
Gorbenko et al. Analysis of asymmetric NTRU prime IIT Ukraine encryption algorithm with regards to known attacks
Nagaraju et al. Key-cipher policy attribute-based encryption mechanism for access control of multimedia data in cloud storages
CN110321722A (zh) Dna序列相似率安全计算方法及系统

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