CN109615021B - 一种基于k均值聚类的隐私信息保护方法 - Google Patents

一种基于k均值聚类的隐私信息保护方法 Download PDF

Info

Publication number
CN109615021B
CN109615021B CN201811590868.6A CN201811590868A CN109615021B CN 109615021 B CN109615021 B CN 109615021B CN 201811590868 A CN201811590868 A CN 201811590868A CN 109615021 B CN109615021 B CN 109615021B
Authority
CN
China
Prior art keywords
data
ciphertext
clustering
cloud server
enc
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
CN201811590868.6A
Other languages
English (en)
Other versions
CN109615021A (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.)
Jinan University
Original Assignee
Jinan 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 Jinan University filed Critical Jinan University
Priority to CN201811590868.6A priority Critical patent/CN109615021B/zh
Publication of CN109615021A publication Critical patent/CN109615021A/zh
Application granted granted Critical
Publication of CN109615021B publication Critical patent/CN109615021B/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/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于机器学习领域,涉及一种基于k均值聚类的隐私信息保护方法,采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,利用云服务端提供的计算服务实现对密文数据进行k均值聚类,得到密文聚类结果,客户端对密文聚类结果进行解密,得到明文聚类结果。本发明云服务端不获取用户的任何隐私信息,在实现聚类算法的同时保证用户的隐私信息安全,数据分析过程中数据信息不泄露,不仅有效地提高了用户数据的安全性,还大幅度地降低了客户端与云服务端之间的通信量,降低了通信成本,提高了机器学习效率,更适合应用到实际场景中去。

Description

一种基于k均值聚类的隐私信息保护方法
技术领域
本发明属于机器学习领域,涉及一种基于k均值聚类的隐私信息保护方法。
背景技术
随着互联网技术的快速发展,AI技术的再次兴起让机器学习在信息行业得到了广泛的应用,例如医学诊断、搜索引擎、计算机视觉、检测信用卡欺诈、证券市场分析等。机器学习的基本思想是模拟人类的学习行为,通过对大量数据的分析和学习,来获取新的知识或技能,用以改善已有组织结构的性能。更精确的机器学习结果需要更大的数据库作为学习的对象,然而大量的数据包含了用户的隐私信息,这给机器学习的发展带来了新的挑战和机遇。因此在机器学习领域实现数据的安全计算,是当前信息行业急需解决的重要问题,具有重要的理论意义和应用价值。
最近几年,基于大数据的机器学习是目前信息行业最热门的领域之一。数据的爆炸性增长转变了传统机器学习的窘境,大量的数据存储丰富了机器学习的学习资源,给机器学习带来了巨大的发展机遇。在这种数据规模下进行机器学习,可以利用数据的特性更好地帮助各行各业进行发展规划。例如,在医疗方面,根据病人的病例数据学习得到疾病诊断模型;在人脸识别方面,用含有人脸的图像或视频流,通过对图像的检测和跟踪进行身份识别;在商业方面,根据消费者的消费特征,确定商场的主消费人群等。
k均值聚类算法是机器学习中“无监督学习”的一种,通过对无标记数据进行分析学习,发现数据之间存在的某种关系,从而实现对数据的划分或分组处理。在该算法中,训练样本的标记信息是未知的,目标是通过对无标记的信息数据的学习,发现数据中的内在规律,进而对数据进行划分、归类。由于其简单、有效的特性,k均值聚类算法在聚类算法中是比较常用的一种算法,可以用于新闻聚类、用户购买模式、图像与基因技术等领域。
大数据与机器学习的结合发展是信息技术行业的一大优势,但同时也是未来发展的一大挑战。因为大数据的产生源于我们的生活,包含了大量的隐私数据,对于用户的隐私保护已经是社会发展的焦点。为了解决大数据下的计算问题,云计算服务得到许多大、小企业的青睐,由于云服务器的不可信特性,使得用户的隐私安全问题更加严峻。因此,如何在保证数据安全的前提下进行机器学习,已经是当前机器学习发展的重要问题,研究具有隐私保护的机器学习方法是信息行业的发展趋势,具有重要的理论意义和应用价值。
通常情况下,为了防止隐私信息的泄露,用户在上传数据之前会先进行加密,然后把密文上传到云服务器用于机器学习,然而加密数据的方法虽解决了隐私安全的问题,但对密文进行机器学习的运算带来了一定的难度。全同态的加密算法支持密文运算,但是由于全同态的效率很低,导致该加密方法在实际场景中并不实用。
在很多实际的应用场景中,为了保证数据的安全性,数据提供者仅提供训练数据样本的密文形式,云服务器只能在密文上进行机器学习的训练算法,要求在机器学习的过程中,云服务器不能学习到用户隐私信息,数据提供者承担尽可能少的计算工作量。另外,为了保证机器学习的效率,在解决方案中,降低通信成本也是一个要求。
发明内容
针对现有技术的不足,本发明提供一种基于k均值聚类的隐私信息保护方法,采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,利用云服务端提供的计算服务实现对密文数据进行k均值聚类,得到密文聚类结果,客户端对密文聚类结果进行解密,得到明文聚类结果。本发明云服务端不获取用户的任何隐私信息,在实现聚类算法的同时保证用户的隐私信息安全,数据分析过程中数据信息不泄露,不仅有效地提高了用户数据的安全性,还大幅度地降低了客户端与云服务端之间的通信量,降低了通信成本,提高了机器学习效率,更适合应用到实际场景中去。
本发明采用如下技术方案:
一种基于k均值聚类的隐私信息保护方法,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端。
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果。
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果。
进一步地,假设客户端拥有一个包含n特征数据的数据集,用矩阵A表示:
Figure GDA0003792826530000021
其中,A中每行的向量ai(1≤i≤n)表示一个特征向量(又称“数据项”),每一个特征向量包含d个特征值。
聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示:
Figure GDA0003792826530000022
其中,1≤ρ≤k;
步骤S1中客户端对数据进行加密的过程包括:
S11、选择两个素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数。
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N。
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ}。把公钥发送给云服务端,保留自己的私钥。
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),
Figure GDA0003792826530000031
1≤i≤n,1≤j≤d,rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A)。
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)= (uρj-hρj,[hρj]),
Figure GDA0003792826530000032
1≤ρ≤k,1≤j≤d,rρj是一个随机数, [hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U)。
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式。
进一步地,步骤S2包括:
S21、分配数据对象;
假设D表示第i个特征向量(又称“数据项”)ai到第ρ个聚类中心uρ的距离;
hρ=(hρ1,…,hρd),其中hρj(1≤j≤d)是加密uρj时所选的随机数;bi=(bi1,…,bid),其中 bij(1≤j≤d)是加密aij时所选的随机数;D′表示加噪音的D;[D′]表示使用Paillier加密的密文形式。根据Enc(aij)=(aij-bij,[bij]),和Enc(uρj)=(uρj-hρj,[hρj]),1≤j≤d, [D′]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ]) (1)
其中
Figure GDA0003792826530000041
Figure GDA0003792826530000042
表示Paillier密文上的乘法操作。
②根据LHE乘法同态的性质计算D′的密文,包括:
a.计算:
Figure GDA0003792826530000043
用Paillier加密方案加密计算结果得:
Figure GDA0003792826530000044
b.根据步骤a计算得:
Figure GDA0003792826530000045
c.根据步骤a和步骤b计算得:
Figure GDA0003792826530000046
Figure GDA0003792826530000051
式[D′]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,为了后续的计算,需要客户端计算出(bi-hρ)T(bi-hρ),服务器再根据客户端计算出的(bi-hρ)T(bi- hρ去掉密文中的噪音。
云服务端比较[D]和[Diρ′]的大小,其中Diρ′表示第i个特征向量ai到第ρ′个聚类中心uρ′的距离,如果[D]>[Diρ′],则将[Diρ′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。具体比较过程如下:(为简洁易懂,令x=D,y=Diρ′):
①云服务端计算
[x1]=[x]2·[1]=[2x+1]
[y1]=[y]2=[2y]
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r。如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)]
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)]
③云服务端把计算好的密文[L]发送给客户端。
④客户端解密[L]得到明文L。
如果|L|>|N|/2,则标记f=1,否则,标记f=0。其中,|L|表示L的位长,|N|表示N的位长。
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端。
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f]
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
S22、更新聚类中心
在所有特征向量被分配到最近的聚类中心之后,云服务端根据当前的分配情况对聚类中心点进行更新操作。假设聚类结果所产生的聚类数据集Uρ中有nρ个数据项,则nρ(1≤ρ≤k) 满足n1+…+nk=n。由于云服务端只知道各聚类中心的数据对象的个数,并不能获取聚类中心点和数据对象的任何信息。本发明中,云服务端根据现有的密文信息计算新的聚类中心点的密文。对于聚类数据集Uρ的聚类中心uρ的更新过程如下:
Figure GDA0003792826530000061
其中ai=(ai1,…,aid)(1≤i≤nρ)表示一个d维特征的特征向量;bi=(bi1,…,bid)(1≤ i≤nρ),bij(1≤j≤d)表示加密aij时所选的随机数。
步骤S21和S22的两个过程将不断重复直到满足聚类算法终止条件。
进一步地,客户端对密文聚类结果进行解密包括:
假设聚类结果为k个聚类数据集Uρ,1≤ρ≤k,每个聚类数据集包含nρ个数据项, n1+…+nk=n,以解密第ρ个聚类中的某个特征向量的特征值Enc(aij)=(aij-bij,[bij]),
Figure GDA0003792826530000062
1≤i≤n,1≤j≤d为例,解密过程如下:
(1)根据Paillier加密方案中的私钥sk={λ},解密[bij]得到bij
(2)根据aij-bij和步骤(1)解密得到的bij,计算得到aij
本发明具有以下优点与有益效果:
(1)在计算复杂度和通信复杂度有较大优化。
(2)具有CPA安全性,有效地保护了用户数据的隐私。
(3)用户和分析者之间以及用户与用户之间交互次数降低,降低了通信复杂度,大大提升了机器学习的效率。
附图说明
图1为本发明隐私信息保护方法流程图之一;
图2 为本发明隐私信息保护方法流程图之二。
具体实施方式
下面通过具体实施方式对本发明作进一步详细的描述,但本发明的实施方式并不限于此。
本实施例中,基于k均值聚类的隐私信息保护方法,如图1-2所示,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端。
客户端在上传数据之前,为了保证隐私安全,需要加密,上传密文数据给云服务端。
假设客户端拥有一个包含n特征数据的数据集,用矩阵A表示:
Figure GDA0003792826530000071
其中,A中每行的向量ai(1≤i≤n)表示一个特征向量(又称“数据项”),每一个特征向量包含d个特征值。
聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示:
Figure GDA0003792826530000072
其中,1≤ρ≤k。
本发明采用Catalano等提出的一种线性同态加密算法(LHE)(详见文献2:Catalano D, Fiore D.Using Linearly-Homomorphic Encryption to Evaluate Degree-2 Functions on Encrypted Data[C].ACM Sigsac Conference on Computer andCommunications Security.ACM, 2015:1518-1529),该加密机制不仅拥有加法同态的性质,还可以在密文上实现一次乘法同态操作。同时,结合加法同态加密算法Paillier对数据进行加密。本实施例中,客户端数据处理过程包括:
S11、选择两个大的素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数。
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N。
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ}。把公钥发送给云服务端,保留自己的私钥。
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),
Figure GDA0003792826530000081
1≤i≤n,1≤j≤d,rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A):
Figure GDA0003792826530000082
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)= (uρj-hρj,[hρj]),
Figure GDA0003792826530000083
1≤ρ≤k,1≤j≤d,rρj是一个随机数, [hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U):
Figure GDA0003792826530000084
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式。
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果。
本实施例中,云服务端对加密后的密文数据Enc(A)和Enc(U)进行k均值聚类,得到密文聚类结果。
k均值聚类算法是机器学习聚类算法中的一种原型聚类算法,它的主要思想是:先确定k 个聚类中心点,然后计算数据集中每个数据项到各个中心点的距离,把数据项分配到距离它最近的聚类中心,每一个聚类中心代表一个聚类,如果所有数据项都被归类,则每个聚类的中心点会根据当前聚类中的数据项进行更新。这个过程将被重复迭代执行,直到满足一定的终止条件。该终止条件可以是聚类中心不再发生变化或者变化很小,也可以是迭代次数已经超过规定的次数。
根据k均值聚类的过程,把聚类算法分为两个阶段:第一阶段:计算最近距离,分配数据对象;第二阶段:根据当前分配结果更新聚类中心。本实施例中,k均值聚类具体过程为:
S21、分配数据对象;
假设D表示第i个特征向量(又称“数据项”)ai到第ρ个聚类中心uρ的距离;
hρ=(hρ1,…,hρd),其中hρj(1≤j≤d)是加密uρj时所选的随机数;,bi=(bi1,…,bid),其中bij(1≤j≤d)是加密aij时所选的随机数;D′表示加噪音的D;[D′]表示使用Paillier 加密的密文形式。根据Enc(aij)=(aij-bij,[bij]),
Figure GDA0003792826530000091
和 Enc(uρj)=(uρj-hρj,[hρj]),
Figure GDA0003792826530000092
1≤j≤d, [D′]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ])
其中
Figure GDA0003792826530000093
Figure GDA0003792826530000094
表示Paillier密文上的乘法操作。
②根据LHE乘法同态的性质计算D′的密文,包括:
a.计算:
Figure GDA0003792826530000095
用Paillier加密方案加密计算结果得:
Figure GDA0003792826530000096
b.根据步骤a计算得:
Figure GDA0003792826530000097
c.根据步骤a和步骤b计算得:
Figure GDA0003792826530000101
上式[D′]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,为了后续的计算,需要客户端计算出(bi-hρ)T(bi-hρ),服务器再根据客户端计算出的(bi-hρ)T(bi-hρ去掉密文中的噪音。具体为:
云服务端发送k×n个密文[bi-hρ]给客户端,客户端使用自己的私钥sk={λ}进行解密,得到明文bi-hρ。为了除去云服务端的噪音数据,客户端计算出(bi-hρ)T(bi-hρ),并使用公钥pk={N,g}进行Paillier加密,发送密文[(bi-hρ)T(bi-hρ)]给云服务端。云服务端利用 Paillier的加法同态的性质除去原密文中的噪音:
Figure GDA0003792826530000102
式中
Figure GDA0003792826530000103
表示密文上的乘法运算,加法同态的性质:密文上的乘法运算相当于明文上的加法运算。
云服务端比较[D]和[Diρ′]的大小,其中Diρ′表示第i条特征向量ai到第ρ′个聚类中心uρ′的距离,如果[D]>[Diρ′],则将[Diρ′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。具体比较过程如下:(为简洁易懂,令x=D,y=Diρ′):
①云服务端计算
[x1]=[x]2·[1]=[2x+1]
[y1]=[y]2=[2y]
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r。如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)]
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)]
③云服务端把计算好的密文[L]发送给客户端。
④客户端解密[L]得到明文L。
如果|L|>|N|/2,则标记f=1,否则,标记f=0。其中,|L|表示L的位长,|N|表示N的位长。
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端。
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f]
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
S22、更新聚类中心
在所有特征向量被分配到最近的聚类中心之后,云服务端需要根据当前的分配情况对聚类中心点进行更新操作。假设聚类结果所产生的聚类数据集Uρ中有nρ个数据项,则nρ(1≤ρ≤k)满足n1+…+nk=n。由于云服务端只知道各聚类中心的数据对象的个数,并不能获取聚类中心点和数据对象的任何信息。本发明中,云服务端根据现有的密文信息计算新的聚类中心点的密文。对于聚类数据集Uρ的聚类中心uρ的更新过程如下:
Figure GDA0003792826530000111
其中ai=(ai1,...,aid)(1≤i≤nρ)表示一个d维特征向量;bi=(bi1,...,bid)(1≤i≤nρ),bij(1≤j≤d)表示加密aij时所选的随机数。
步骤S21和S22的两个过程将不断重复直到满足聚类算法终止条件,该终止条件可以分为两种,第一种:在更新过程中,没有聚类中心再发生变化,或者聚类中心的变化很小;第二种是更新迭代过程超过了规定的迭代次数,则算法终止。
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果。
假设聚类结果为k个数据集Uρ(1≤ρ≤k),每个数据集包含nρ(n1+…+nk=n)个特征向量。以解密第ρ个聚类中的某个特征向量的特征值Enc(aij)=(aij-bij,[bij]),
Figure GDA0003792826530000121
Figure GDA0003792826530000122
1≤i≤n,1≤j≤d为例。解密过程如下:
(1)根据Paillier加密方案中的私钥sk={λ},解密[bij]得到bij
Figure GDA0003792826530000123
其中:
Figure GDA0003792826530000124
Figure GDA0003792826530000125
(2)根据aij-bij和步骤(1)解密得到的bij,计算aij
aij=aij-bij+bij
假设客户端数据有n条记录(特征向量),每个特征向量包含d个特征数据,k表示聚类结果共有k个类别。将本发明的隐私信息保护方法进行计算复杂度和通信复杂的分析,其结果如表1所示。根据文献2的安全性分析,可以证明本发明是CPA安全,有效地保护了用户数据的隐私。
表1本发明方法效率和安全性分析
Figure GDA0003792826530000131
本发明可以用于优质客户分析,例如电信行业运营商可以根据用户的消费情况对用户进行分类,从而针对不同的用户设计不同的套餐类型。为了保证用户数据(例如:消费金额、消费类型、套餐使用情况、缴费情况等)的安全性,某运营商公司在上传数据给云服务端之前会先进行加密操作。云服务端在客户端的协助下进行k均值聚类,然后把加密的聚类结果返回给该公司。该电商公司在拿到加密的结果之后,解密得到聚类结果,然后可以根据聚类结果,有针对性的进行套餐设计,提升客户满意度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (4)

1.一种基于k均值聚类的隐私信息保护方法,其特征在于,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端;
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果;
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果;
设定客户端拥有一个包含n特征数据的数据集,用矩阵A表示,A中每行的向量ai表示一个特征向量,每一个特征向量包含d个特征值,1≤i≤n;聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示,1≤ρ≤k;步骤S1中客户端对数据进行加密的过程包括:
S11、选择两个素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数;
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N;
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ},把公钥发送给云服务端,保留自己的私钥;
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),
Figure FDA0003792826520000011
rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A);
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)=(uρj-hρj,[hρj]),
Figure FDA0003792826520000012
rρj是一个随机数,[hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U);
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式;
步骤S2包括:
S21、分配数据对象;
S22、更新聚类中心;
步骤S21和S22的两个过程不断重复直到满足聚类算法终止条件;
分配数据对象包括:
设定D表示第i个特征向量ai到第ρ个聚类中心uρ的距离;hρ=(hρ1,…,hρd),其中hρj是加密uρj时所选的随机数,bi=(bi1,…,bid),其中bij是加密aij时所选的随机数,1≤j≤d;D′表示加噪音的D;[D′]表示使用Paillier加密的密文形式;根据Enc(aij)=(aij-bij,[bij]),
Figure FDA0003792826520000021
和Enc(uρj)=(uρj-hρj,[hρj]),
Figure FDA0003792826520000022
Figure FDA0003792826520000023
[D′]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ]),
其中
Figure FDA0003792826520000024
Figure FDA0003792826520000025
表示Paillier密文上的乘法操作;
②根据LHE乘法同态的性质计算D′的密文,包括:
a.计算:
Figure FDA0003792826520000026
用Paillier加密方案加密计算结果得:
Figure FDA0003792826520000027
b.根据步骤a计算得:
Figure FDA0003792826520000028
Figure FDA0003792826520000031
c.根据步骤a和步骤b计算得:
Figure FDA0003792826520000032
式[D′]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,客户端计算出(bi-hρ)T(bi-hρ),云服务端再根据客户端计算出的(bi-hρ)T(bi-hρ)去掉密文中的噪音;
云服务端比较[D]和[D′]的大小,其中D′表示第i个特征向量ai到第ρ′个聚类中心uρ′的距离,如果[D]>[D′],则将[D′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。
2.根据权利要求1所述的隐私信息保护方法,其特征在于,令x=D,y=D′,比较[D]和[D′]的大小过程包括:
①云服务端计算:
[x1]=[x]2·[1]=[2x+1];
[y1]=[y]2=[2y];
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r;如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)];
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)];
③云服务端把计算好的密文[L]发送给客户端;
④客户端解密[L]得到明文L;
如果|L|>|N|/2,则标记f=1,否则,标记f=0;其中,|L|表示L的位长,|N|表示N的位长;
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端;
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f];
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
3.根据权利要求1或2所述的隐私信息保护方法,其特征在于,设定聚类产生k个聚类数据集Uρ,1≤ρ≤k,每个数据集包含nρ个数据项,则nρ满足n1+…+nk=n,对于聚类数据集Uρ的聚类中心uρ的更新过程如下:
Figure FDA0003792826520000041
其中ai=(ai1,…,aid)表示一个d维特征的特征向量,bi=(bi1,…,bid),bij表示加密aij时所选的随机数,1≤i≤nρ,1≤j≤d。
4.根据权利要求1或2所述的隐私信息保护方法,其特征在于,客户端对密文聚类结果进行解密的过程包括:
设定聚类结果为k个聚类数据集Uρ,1≤ρ≤k,每个聚类数据集包含nρ个数据项,n1+…+nk=n,解密第ρ个聚类中的某个特征向量的特征值Enc(aij)=(aij-bij,[bij]),
Figure FDA0003792826520000042
为例的过程如下:
(1)根据Paillier加密方案中的私钥sk={λ},解密[bij]得到bij
(2)根据aij-bij和步骤(1)解密得到的bij,计算得到aij
CN201811590868.6A 2018-12-20 2018-12-20 一种基于k均值聚类的隐私信息保护方法 Active CN109615021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811590868.6A CN109615021B (zh) 2018-12-20 2018-12-20 一种基于k均值聚类的隐私信息保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811590868.6A CN109615021B (zh) 2018-12-20 2018-12-20 一种基于k均值聚类的隐私信息保护方法

Publications (2)

Publication Number Publication Date
CN109615021A CN109615021A (zh) 2019-04-12
CN109615021B true CN109615021B (zh) 2022-09-27

Family

ID=66011315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811590868.6A Active CN109615021B (zh) 2018-12-20 2018-12-20 一种基于k均值聚类的隐私信息保护方法

Country Status (1)

Country Link
CN (1) CN109615021B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233730B (zh) * 2019-05-22 2022-05-03 暨南大学 一种基于k均值聚类的隐私信息保护方法
CN110176983B (zh) * 2019-05-22 2021-09-03 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法
CN110190945B (zh) * 2019-05-28 2022-07-19 暨南大学 基于多加密的线性回归隐私保护方法及系统
CN110163292A (zh) * 2019-05-28 2019-08-23 电子科技大学 基于向量同态加密的隐私保护k-means聚类方法
CN110609831B (zh) * 2019-08-27 2020-07-03 浙江工商大学 基于隐私保护和安全多方计算的数据链接方法
CN110852374B (zh) * 2019-11-08 2023-05-02 腾讯云计算(北京)有限责任公司 数据检测方法、装置、电子设备以及存储介质
CN111291406B (zh) * 2020-01-19 2022-07-26 山东师范大学 一种基于加密位置数据的设施选址方法及系统
CN117633881B (zh) * 2023-11-27 2024-06-25 国能神皖合肥发电有限责任公司 一种电力数据优化处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145791A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K‑means聚类方法及系统
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN107241182A (zh) * 2017-06-29 2017-10-10 电子科技大学 一种基于向量同态加密的隐私保护层次聚类方法
CN108280491A (zh) * 2018-04-18 2018-07-13 南京邮电大学 一种面向差分隐私保护的k均值聚类方法
WO2018174873A1 (en) * 2017-03-22 2018-09-27 Visa International Service Association Privacy-preserving machine learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018174873A1 (en) * 2017-03-22 2018-09-27 Visa International Service Association Privacy-preserving machine learning
CN107145791A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K‑means聚类方法及系统
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN107241182A (zh) * 2017-06-29 2017-10-10 电子科技大学 一种基于向量同态加密的隐私保护层次聚类方法
CN108280491A (zh) * 2018-04-18 2018-07-13 南京邮电大学 一种面向差分隐私保护的k均值聚类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
同态加密在加密机器学习中的应用研究综述;崔建京等;《计算机科学》;20180415;全文 *
同态加密的分布式K均值聚类算法研究;姚禹丞等;《计算机技术与发展》;20170110;全文 *

Also Published As

Publication number Publication date
CN109615021A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109615021B (zh) 一种基于k均值聚类的隐私信息保护方法
Qin et al. Towards efficient privacy-preserving image feature extraction in cloud computing
Jiang et al. Flashe: Additively symmetric homomorphic encryption for cross-silo federated learning
Vaidya et al. Privacy-preserving SVM classification
US20180330179A1 (en) System and method for biometric identification
WO2018184407A1 (zh) 一种具有隐私保护的K-means聚类方法及系统
WO2020216875A1 (en) Methods and systems for privacy preserving evaluation of machine learning models
Liu et al. Intelligent and secure content-based image retrieval for mobile users
WO2022015948A1 (en) Privacy-preserving fuzzy query system and method
CN111143865B (zh) 一种密文数据上标签自动生成的用户行为分析系统及方法
CN113114454B (zh) 一种高效隐私的外包k均值聚类方法
Qin et al. Privacy-preserving outsourcing of image global feature detection
CN112199706B (zh) 基于多方安全计算的树模型的训练方法和业务预测方法
WO2022237175A1 (zh) 图数据的处理方法、装置、设备、存储介质及程序产品
CN115022089A (zh) 一种数据加密传输的电子商务交易系统
CN113434898A (zh) 一种非交互式的隐私保护逻辑回归联邦训练方法及系统
CN116502254A (zh) 可查得统计的匿踪查询方法及装置
CN115481415A (zh) 基于纵向联邦学习的通信成本优化方法、系统、设备及介质
CN115664629A (zh) 一种基于同态加密的智慧物联平台数据隐私保护方法
Bentafat et al. Towards real-time privacy-preserving video surveillance
Erkin et al. Privacy-preserving user clustering in a social network
CN111159727A (zh) 一种面向多方协同的贝叶斯分类器安全生成系统及方法
Wang et al. Face detection for privacy protected images
Jin et al. Efficient blind face recognition in the cloud
CN109409111B (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