CN117235381A - 一种基于同态加密时空同位计算的朋友推荐方法 - Google Patents
一种基于同态加密时空同位计算的朋友推荐方法 Download PDFInfo
- Publication number
- CN117235381A CN117235381A CN202311307055.2A CN202311307055A CN117235381A CN 117235381 A CN117235381 A CN 117235381A CN 202311307055 A CN202311307055 A CN 202311307055A CN 117235381 A CN117235381 A CN 117235381A
- Authority
- CN
- China
- Prior art keywords
- user
- homomorphic encryption
- information
- space
- time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004364 calculation method Methods 0.000 title claims abstract description 25
- 238000001914 filtration Methods 0.000 claims description 4
- 230000002441 reversible effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于地理信息安全技术研究领域,公开了一种基于同态加密时空同位计算的朋友推荐方法,通过请求用户生成同态加密秘钥对,并将相关信息传输到数据库应用服务器;协同用户从数据库应用服务器得到请求用户的组合信息、协同生成同态加密中间结果,并传输到数据库应用服务器;请求用户从数据库应用服务器得到协同用户的加密中间结果,计算与协同用户之间的欧式距离,并组合欧式距离以及请求用户、协同用户的标识信息后传输到数据库应用服务器;数据库应用服务器基于用户的时空位置序列计算时空同位相似度系数,并基于设定的阈值进行朋友推荐。本发明所述的方法可实现朋友推荐方法具有更强的隐私保护性能,朋友推荐精准性更高。
Description
技术领域
本发明属于地理信息安全技术研究领域,具体是涉及一种基于同态加密时空同位计算的朋友推荐方法。
背景技术
随着移动设备的普及以及无线定位技术的发展,基于位置的社交网络(LBSN)成为人们日常生活中信息沟通交流的主流方式。通过对用户使用LBSN应用软件过程中生成位置信息的分析处理,发现具有相似习惯、兴趣和关注内容等信息的用户并进行朋友推荐,可以有效提升用户体验和提高用户软件使用保持率。
国内外学者和研究机构针对基于地理位置的朋友推荐方法已进行了广泛的研究并取得了丰富的成果。典型的方法包括:Li Q,Yu Z,Xing X等人2008年在文献《Mininguser similarity based on location history》中提出通过计算用户地理位置相似度度量用户间相似度的方法。Li H,Bok K S,Yoo J S等人2014年在文献《P2p based socialnetwork over mobile ad-hoc networks》中提出利用用户间的共同兴趣和邻近地点的朋友推荐方法。但是,这两种方法都没有充分考虑用户移动的时序性和社交性,存在特征单一、推荐准确率不高的问题。为此,胡毅通在2016年其硕士研究生论文《基于时空数据挖掘的位置预测与服务推荐研究》中同时考虑空间因素和时间因素对用户移动行为的影响,提出了基于时空同位性的朋友推荐方法。但是,上述三种方法均存在一个共性问题:对用户之间位置信息的分析没有采用隐私保护技术,存在用户隐私泄露风险。因此,研究基于隐私保护技术的用户位置信息分析方法,成为保证LBSN中用户朋友推荐方法有效性的关键。
目前,基于位置的社交网络(LBSN)中朋友推荐的隐私保护技术主要分为三类:限制发布、数据失真和数据加密。限制数据发布是最早应用的隐私保护技术。Friedman A,RanW,Schuster A等人2008年在文献《Providing k-anonymity in data mining》中提出可应用于位置数据发布的隐私数据保护的K-匿名方法;但是,该方法不够灵活,隐私保护程度依赖于攻击者所拥有的背景知识,背景知识变化则对应的保护方法模型也需要进行动态调整。差分隐私是数据失真的最新实现技术。孙道柱在2021年其硕士研究生论文《基于差分隐私保护的分类和推荐算法研究》中提出一种基于差分隐私保护的协同过滤推荐算法;该方法的优点是:采用严谨的隐私保护理论,对攻击者的背景知识做出了最大化的假设,能够提供可证明、可量化的隐私保护机制。但是,该方法采用添加数据扰动的机制,对于背景知识的假设过于强调,需要在查询结果中加入大量的随机化,导致数据的可用性急剧下降。
同态加密是基于数据加密技术的主要方法。同态加密技术是一种支持直接对密文执行一些计算,而不需要解密密文的一种加密形式。同态加密分为部分同态和完全同态,前者只支持不限次数的加法运算或者乘法运算,后者支持密文上执行不限次数的任何运算,其中基于格的公钥加密方案具有可抵抗量子攻击的安全可靠特性。近年来,随着计算技术性能的发展,同态加密在具体领域的应用具有可行性。相关的内容包括:专利申请CN115348001A中公开了基于同态加密计算两地空间距离的方法;专利申请CN116170191A中公开了一种基于同态加密的位置服务任务分配方法,可以实现在密文状态下多种主流距离度量下的距离计算。但是,这些位置距离的同态加密计算方法均需要使用密文之间乘法运算的同态加密计算,存在计算量大的问题,不适合基于位置的社交网络(LBSN)对于大批量位置数据的距离计算的性能需求,不能用于基于位置的社交网络(LBSN)的朋友推荐。
发明内容
为解决上述技术问题,本发明提供了一种基于同态加密时空同位计算的朋友推荐方法,采用同态加密技术实现位置社交网络(LBSN)中朋友推荐的请求用户与协同用户之间位置的欧式距离计算,同时,采用时空位置序列的时空同位相似度系数计算用户之间的相似性,使朋友推荐方法准确性更高。
本发明所述的一种基于同态加密时空同位计算的朋友推荐方法,包括以下步骤:
步骤1、请求用户生成同态加密秘钥对,对其位置信息进行同态加密,将其网络标识、公钥、加密信息以及时间信息组合并上传到数据库应用服务器;
步骤2、协同用户对应请求用户的组合信息生成加密中间结果,将其网络标识信息、同态加密中间结果以及请求用户的组合信息进行组合并上传到数据库应用服务器;
步骤3、请求用户从数据库应用服务器得到协同用户上传的组合信息并计算其与协同用户之间的欧式距离,将计算的欧式距离与请求用户、协同用户的网络标识信息进行组合并上传到数据库应用服务器;
步骤4、数据库应用服务器查询请求用户的时空位置序列和协同用户的时空位置序列生成的距离信息,计算用户之间的时空同位相似度系数,设定用户时空同位相似度系数阈值得到推荐朋友标识对并将其发送给对应用户;
步骤5、用户接收推荐朋友对信息,双方依据网络标识建立好友关系。
进一步的,步骤1中,生成同态加密公私钥队,具体为:
给定两个大素数p和q,同态加密的公钥为:
pk=(n,g)
其中,n=p*q,n表示公钥的模数;是一个随机选择的整数,/>是/>中所有可逆元素的模n2同余类所构成的群;
同态加密的私钥为:
sk=(λ,μ)
其中,λ=lcm(p-1,q-1),λ表示安全参数,lcm表示计算最小公倍数的函数;μ=(L(gλmod n2))-1mod n,μ表示加密方案的模量;L(x)表示计算整数x的Bit长度;mod表示取模运算,x表示待加密的明文。
则得到公私钥对为:
<pk,sk>。
进一步的,步骤1中,请求用户使用其生成的同态加密公钥,对其位置信息进行同态加密,得到请求用户的同态加密位置信息;具体为:
给定一个公钥pk=(n,g)以及一个明文消息m,0≤m<n,则对应的加密密文为:
c=gmrn mod n2,记为:c=Encrypt(m,pk)
其中,r,0≤r<n是一个随机选择的整数,m表示未经加密的明文消息;c表示经过加密的密文消息,Encrypt表示基于公钥对明文进行加密的函数,且满足条件:
其中,Zn={0,1,...,q-1},gcd(x,n)表示x,n的最大公因数;mod表示取模运算。
给定一个公私钥对<pk=(n,g),sk=(λ,μ)>以及请求用户位置的二维平面位置req_position=<xr,yr>,xr,yr表示请求用户所处位置的横、纵坐标值,则req_position对应的同态加密位置信息为:
Encrypt_req_position=Encrypt(req_position,pk)=<Encrypt((n-2xr),pk),Encrypt((n-2yr),pk)>
其中,Encrypt表示基于公钥对明文进行加密的函数,且加密的结果满足如下条件:
Decrypt(Encrypt_req_position,sk)=Decrypt(Encrypt(req_position,pk),sk)=<Decrypt(Encrypt((n-2xr),pk),sk),Decrypt(Encrypt((n-2yr),pk),sk)>=<-2xr,-2yr>。
其中,Decrypt表示基于私钥对密文进行对应解密的函数。
进一步的,步骤2中,协同用户使用时间过滤从数据库应用服务器上获取请求用户的组合信息,联合协同用户自身的位置信息生成加密中间结果;具体为:
给定一个公私钥对<pk,sk>,基于所述请求用户的同态加密位置信息以及协同用户的二维平面坐标col_position=<xc,yc>,xc,yc表示请求用户所处位置的横、纵坐标值,则协同用户位置信息的同态加密中间结果为:
其中,表示密文相加,/>表示密文与标量相乘,
进一步的,步骤3中,基于解密结果以及请求用户的位置信息,计算得到请求用户与协同用户之间欧式距离;具体为:
给定一个公私钥对<pk,sk>,协同用户位置信息的同态加密中间结果Encrypt_mid_col_position,以及请求用户位置的二维平面坐标req_position=<xr,yr>,则请求用户与协同用户之间的欧式距离为:
其中,
也即:
进一步的,步骤4中,数据库应用服务器查询请求用户的时空位置序列和协同用户的时空位置序列生成的距离信息,并计算用户之间的时空同位相似度系数;具体为:
给定两个用户A、B的时空位置序列ST_SeqA、ST_SeqB且两个序列中包含的元素个数相同都为n,则两个序列的相似度系数为:
其中,|ST_SeqA·ti,ST_SeqB·ti|表示ST_SeqA与ST_SeqA中对应的第i个时间之间的差值,σ表示设定的时间阈值;Distance(ST_SeqA·positioni,ST_SeqB·positioni)表示ST_SeqA与ST_SeqA中对应的第i个位置之间的距离,τ表示设定的空间阈值;
如果用户A、B的第i个位置的满足时间阈值和空间阈值,则称对应的两个位置点时空同位;推荐用户A、B彼此为朋友。
本发明所述的有益效果为:本发明所述的方法,基于加法同态加密以及密文和明文之间乘法运算的半同态加密技术,设计请求用户与协同用户之间欧式距离的计算方法,可以同时满足位置社交网络(LBSN)中用户位置隐私信息的安全性和欧式距离计算高效性的需求;采用时空位置序列的时空同位相似度系数计算用户之间的相似性,可以满足位置社交网络(LBSN)中朋友推荐精准性的需求。
附图说明
图1是推荐系统的客户/服务器分布式架构示意图;
图2是推荐系统中请求用户、协同用户和数据库应用服务器之间的交互流程示意图。
图3是基于同态加密时空同位计算的朋友推荐方法整体流程示意图。
具体实施方式
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
首先,给出几个基本定义:
定义1同态加密的公私钥对,给定两个大素数p和q,同态加密的公钥为:
pk=(n,g)
其中,n=p*q,是一个随机选择的整数,/>是/>中所有可逆元素的模n2同余类所构成的群。进一步,同态加密的私钥为:
sk=(λ,μ)
其中,λ=lcm(p-1,q-1),λ表示安全参数,lcm表示计算最小公倍数的函数;μ=(L(gλmod n2))-1mod n,μ表示加密方案的模量;L(x)表示计算整数x的Bit长度;mod表示取模运算,x表示待加密的明文。则得到公私钥对为:
<pk,sk>
定义2同态加密,给定一个公钥pk=(n,g)以及一个明文消息m,0≤m<n,则对应的加密密文为:
c=gmrn mod n2,记为:c=Encrypt(m,pk)
其中,r,0≤r<n是一个随机选择的整数,m表示未经加密的明文消息;c表示经过加密的密文消息,Encrypt表示基于公钥对明文进行加密的函数,且满足条件:
其中,Zn={0,1,...,q-1},gcd(x,n)表示x,n的最大公因数,mod表示取模运算。
定义3同态解密,给定一个公私钥对<pk=(n,g),sk=(λ,μ)>,以及采用公钥pk=(n,g)同态加密后的密文c,则其对应的解密明文m为:
m=L(cλmodn2)·μmod n,记为:m=Decrypt(c,sk)
其中,n是公私钥pk中的参数,λ、μ是私钥sk中的参数,
定义4同态加密加运算,给定一个公私钥对<pk=(n,g),sk=(λ,μ)>,以及采用同一公钥pk加密的两个密文c1、c2,则同态加密加运算的结果为c:
c=c1·c2 mod n2,记为:
其中,表示密文相加,Decrypt(c,sk)=Decrypt(c1,sk)+Decrypt(c2,sk)。
定义5同态加密标量乘运算,给定一个公私钥对<pk=(n,g),sk=(λ,μ)>,采用公钥pk加密的密文c1,以及标量a,则其同态加密标量乘运算的结果为c:
记为/>
其中,表示密文与标量相乘,Decrypt(c,sk)=Decrypt(c1,sk)*a。
定义6请求用户位置信息的同态加密,给定一个公私钥对<pk=(n,g),sk=(λ,μ)>以及请求用户位置的二维平面位置req_position=<xr,yr>,xr,yr表示请求用户所处位置的横、纵坐标值,则req_position对应的同态加密位置信息为:
Encrypt_req_position=Encrypt(req_position,pk)=<Encrypt((n-2xr),pk),Encrypt((n-2yr),pk)>
其中,
Decrypt(Encrypt_req_position,sk)=Decrypt(Encrypt(req_position,pk),sk)
=<Decrypt(Encrypt((n-2xr),pk),sk),Decrypt(Encrypt((n-2yr),pk),sk)>=<-2xr,-2yr>
定义7协同用户位置信息的同态加密中间结果,给定一个公私钥对<pk,sk>,请求用户的同态加密位置信息Encrypt_req_position=Encrypt(req_position,pk)=<Encrypt((n-2xr),pk),Encrypt((n-2yr),pk)>,以及协同用户的二维平面坐标col_position=<xc,yc>,则协同用户位置信息的同态加密中间结果为:
其中,表示密文相加,/>表示密文与标量相乘,
定义8请求用户与协同用户之间的欧式距离,给定一个公私钥对<pk,sk>,协同用户位置信息的同态加密中间结果Encrypt_mid_col_position,以及请求用户位置的二维平面坐标req_position=<xr,yr>,则请求用户与协同用户之间的欧式距离为:
其中, 也即,/>
定义9用户时空位置序列,记录用户的连续运动的位置的有序列表,定义为ST_Seq={<position1,t1>,<position2,t2>,…,<positionn,tn>},t1<t2<…<tn,其中,n表示序列的长度,positioni=<x,y>表示用户在ti时刻所处的空间位置,x,y表示空间位置的横、纵坐标值。
定义10时空位置序列的时空同位相似度系数,给定两个用户A、B的时空位置序列ST_SeqA、ST_SeqB且两个序列中包含的元素个数相同都为n,则两个序列的相似度系数为:
其中,|ST_SeqA·ti,ST_SeqB·ti|表示ST_SeqA与ST_SeqA中对应的第i个时间之间的差值,σ表示设定的时间阈值;Distance(ST_SeqA·positioni,ST_SeqB·positioni)表示ST_SeqA与ST_SeqA中对应的第i个位置之间的距离,τ表示设定的空间阈值。如果用户A、B的第i个位置的满足时间阈值和空间阈值,则称对应的两个位置点时空同位。
进一步,如果户时空同位相似度系数Score_sim_coST(ST_SeqA,ST_SeqA)满足用户设定阈值,则称用户A、B的时空位置序列时空同位,推荐用户A、B彼此为朋友。
下面结合附图详细说明本专利的优选实施例:
本专利方法采用客户服务器的分布式架构包括三个组成单元:用户、通信单元以及数据库应用服务器,如图1所示。
系统中所有的用户具有完全对等的功能角色:同态加密公私钥对的生成,作为请求用户对其位置信息同态加密并上传到数据库应用服务器,作为协同用户生成同态加密中间结果并上传到数据库应用服务器,计算请求用户与协同用户之间的欧式距离。系统中的通信单元负责用户和数据库应用服务器之间的双向数据传输通信。数据库应用服务器负责用户加密信息的存储和查询,计算用户间的时空同位相似度系数以及设定阈值进行朋友推荐。
系统中请求用户、协同用户和数据库应用服务器之间的交互流程如图2所示。
本发明所述的一种基于同态加密时空同位计算的朋友推荐方法,包括以下步骤:
1)请求用户生成同态加密秘钥对;
2)请求用户对其位置信息进行同态加密并将其与时间、公钥信息组合,并传输组合信息(m1)到数据库应用服务器;
3)协同用户从数据库应用服务器得到请求用户的组合信息(m1),协同生成同态加密中间结果,并传输加密中间结果信息(m2)到数据库应用服务器;
4)请求用户从数据库应用服务器得到加密中间结果(m2),基于其位置信息计算得到其与协同用户之间的欧式距离,将其与请求用户、协同用户的标识信息进行组合,并传输组合信息(m3)到数据库应用服务器;
5)数据库应用服务器基于用户的时空位置序列计算时空同位相似度系数,设定阈值得到匹配用户标识的组合信息,并传输组合信息(m4)到请求用户和协同用户进行朋友推荐;
6)推荐的朋友用户之间直接交互建立好友关系。
具体的实施步骤包括:
步骤(1)请求用户生成同态加密秘钥对
请求同态加密计算欧氏距离的用户,依据定义1生成用于同态加密、解密计算的公私钥对。
在本实例中,请求用户选定的素数p=11和q=19,依据定义1,采用Paillier算法得到n=100,g=147,λ=90,μ=153。也即,公私钥对为<pk=(100,147),sk=(90,153)>。
步骤(2)请求用户对其位置信息进行同态加密
请求同态加密计算欧氏距离的用户使用其生成的公钥,依据定义2、定义6,对其位置信息进行同态加密计算,得到同态加密位置信息。
在本实例中,请求用户生成的公钥为pk=(100,147),请求用户的位置信息为req_position=<xr=2,yr=6>,采用Paillier算法生成的同态加密信息为:Encrypt_req_position=Encrypt(req_position,pk)=<Encrypt((n-2xr),pk),Encrypt((n-2yr),pk)>=<Encrypt((100-4),pk),Encrypt((100-12),pk)>。
其中,Encrypt((100-4),pk)的密文形式为:
20169781809587596648221472434133587202149255603356730577107204751198496384354321993601369660764700595798086167979304285825264982388038049635274218453632933120258908167632541225119643958220844300427984230762970862789909153811548382223711226887258572958432543025323081696341982672773687664177067747467094832255
Encrypt((100-12),pk)的密文形式为:
38276825420467992973037839277680755571621209395737567524479187511166075452117465911366880458295862020196021237839570289201672717789624661497207169789328411534058972087524371171289956563360445937895355541931280911115772117927023124602194634137617816223980525724764933123976491350388666358101402059177974202347
步骤(3)请求用户将其网络标识、公钥、加密信息以及时间信息组合并上传到数据库应用服务器
请求用户将其网络标识、生成的同态加密公钥、同态加密的位置信息以及记录位置的时间信息进行组合,并将组合结果上传到数据库应用服务器。
在本实例中,请求用户的网络标识为系统生成的假名标识PIDr=4b2178f89ff28806234f26a043aeb1fc。采用Paillier算法同态加密后的位置信息为Encrypt_req_position=<Encrypt((100-4),pk),Encrypt((100-12),pk)>,记录位置的时间为24小时离散化后的时间分段t=1,也即,记录位置的时间在(00:00~01:00)时段。组合后的信息为m1={PIDr,pk,Encrypt_req_position,t}。
步骤(4)协同用户对应请求用户的组合信息生成加密中间结果
协同用户使用时间过滤从数据库应用服务器上获取请求用户的组合信息,并依据定义7,联合协同用户自身的位置信息生成加密中间结果。
在本实例中,协同用户从数据库应用服务器上获取组合信息m1={Hash(pk),pk,Encrypt_req_position,t},比较协同用户的位置生成时间t=1和m1·t=1的差值|t-m1·t|=0,满足|t-m1·t|≤σ,其中,σ=1是协同用户设定的时间阈值。因此,请求用户和协同用户时间同位。
接下来,依据定义7,基于从组合信息m1中获取的公钥pk,以及请求用户的位置加密信息Encrypt_req_position=<Encrypt((100-4),pk),Encrypt((100-12),pk)>,采用Paillier算法对协同用户自身的位置信息col_position=<xc=8,yc=14>进行同态加密处理,得到同态加密中间结果为:
Encrypt_mid_col_position的密文形式为:
3783291343854626946731605288641003651231760742759470490251911268452357870070951074421132390927689284602793783276562869980860428840339729800698946789148116944162505835710653554428558301465779536298798690226161541982049851230209756305477986506646738166959288856735344173110039155453439729740359519464969439266
步骤(5)协同用户将其网络标识信息、同态加密中间结果以及请求用户的组合信息进行组合并上传到数据库应用服务器
协同用户将其网络标识,使用同态加密生成的中间结果以及从数据库应用服务器上获取的请求用户的组合信息进行组合,并将结果上传到数据库应用服务器。
在本实例中,协同用户的网络标识为系统生成的假名标识PIDc=cf9f2cc466f4331574c3d5e5b769c03a,使用同态加密生成的中间结果为Encrypt_mid_col_position,从数据库应用服务器上获取的请求用户的信息m1,组合后生成的消息为:
m2={PIDc,Encrypt_mid_col_position,m1}
步骤(6)请求用户从数据库应用服务器得到协同用户上传的组合信息并计算其与协同用户之间的欧式距离
请求用户从数据库应用服务器得到对应其请求组合消息的协同用户生成的组合消息,并同态解密组合消息中的同态加密中间结果。依据定义8,基于解密结果以及请求用户的位置信息,计算得到请求用户与协同用户之间欧式距离。
在本实例中,请求用户的请求组合消息为m1,从数据库应用服务器得到对应的由协同用户生成的组合消息为m2={PIDc,Encrypt_mid_col_position,m1},同态解密m2·Encrypt_mid_col_position,得到解密结果为:
Decrypt(Encrypt_mid_col_position,sk)=60。请求用户的位置信息为req_position=<xr=2,yr=6>,计算得到的请求用户与协同用户之间欧式距离为:
步骤(7)请求用户将计算的欧式距离与请求用户、协同用户的网络标识信息进行组合并上传到数据库应用服务器
请求用户将其网络标识、位置生成时间、协同用户的网络标识,以及与其协同用户之间的欧式距离进行组合,并将组合信息上传到数据库应用服务器。
在本实例中,请求用户的标识为PIDr=4b2178f89ff28806234f26a043aeb1fc,请求用户的位置生成时间t=1,协同用户的标识为PIDc=cf9f2cc466f4331574c3d5e5b769c03a,请求用户与协同用户之间的欧式距离Distance(req_position,col_position)=10。最终得到的组合消息为m3={PIDr,t=1,PIDc,Distance(req_position,col_position)}。
步骤(8)数据库应用服务器查询请求用户的时空位置序列和协同用户的时空位置序列生成的距离信息,并计算用户之间的时空同位相似度系数;
基于步骤(2)~(7),计算请求用户的时空位置序列中每个位置与协同用户的时空位置序列的中具有时间同位的位置之间的距离,并依据定义10,计算两个用户之间的时空同位相似度系数。最后,组合请求用户和协同用户的网络标识以及相似度系数,并上传到数据库应用服务器。
在本实例中,请求用户A的时空位置序列为:ST_SeqA={<position1,t1>,<position2,t2>,…,<position10,t10>},协同用户B的时空位置序列ST_SeqB={<position1,t1>,<position2,t2>,…,<position10,t10>}。协同用户C的时空位置序列ST_SeqC={<position1,t1>,<position2,t2>,…,<position10,t10>}设定的时间阈值σ=1,基于步骤2-7,分别计算各个同位时段的时空位置序列中对应位置对的欧式距离,结果如表1所示。
表1请求用户与协同用户同位时段的欧氏距离(m)
进一步设定空间阈值τ=10,依据定义10,计算用户A、B的时空同位相似度系数为:
用户A、C的时空同位相似度系数为:
步骤(9)数据库应用服务器设定用户时空同位相似度系数阈值得到推荐朋友标识对并将其发送给对应用户
在本实例中,服务器设定的用户时空同位相似度系数阈值为0.5,Score_sim_coST(ST_SeqA,ST_SeqB)=0.6>0.5,满足阈值。因此,数据库应用服务器生成推荐朋友对信息m4={<PIDA,PIDB>},并将其分别发给请求用户A和协同用户B。
步骤(10)用户接收推荐朋友对信息,双方依据网络标识建立好友关系
本实例中,请求用户A依据信息m4={<PIDA,PIDB>}向协同用户B发送添加朋友的请求,也可以是协同用户B依据信息m4={<PIDA,PIDB>}向请求用户A发送添加朋友的请求,双方同意后即可建立好友关系。
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
Claims (6)
1.一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,包括以下步骤:
步骤1、请求用户生成同态加密秘钥对,对其位置信息进行同态加密,将其网络标识、公钥、加密信息以及时间信息组合并上传到数据库应用服务器;
步骤2、协同用户对应请求用户的组合信息生成加密中间结果,将其网络标识信息、同态加密中间结果以及请求用户的组合信息进行组合并上传到数据库应用服务器;
步骤3、请求用户从数据库应用服务器得到协同用户上传的组合信息并计算其与协同用户之间的欧式距离,将计算的欧式距离与请求用户、协同用户的网络标识信息进行组合并上传到数据库应用服务器;
步骤4、数据库应用服务器查询请求用户的时空位置序列和协同用户的时空位置序列生成的距离信息,计算用户之间的时空同位相似度系数,设定用户时空同位相似度系数阈值得到推荐朋友标识对并将其发送给对应用户;
步骤5、用户接收推荐朋友对信息,双方依据网络标识建立好友关系。
2.根据权利要求1所述的一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,步骤1中,生成同态加密公私钥对,具体为:
给定两个大素数p和q,同态加密的公钥为:
pk=(n,g)
其中,n=p*q,n表示公钥的模数;是一个随机选择的整数,/>是/>中所有可逆元素的模n2同余类所构成的群;
同态加密的私钥为:
sk=(λ,μ)
其中,λ=lcm(p-1,q-1),λ表示安全参数;lcm表示计算最小公倍数的函数;
μ=(L(gλmod n2))-1mod n,μ表示加密方案的模量;mod表示取模运算;L(x)函数用于计算整数x的Bit长度;x表示待加密的明文。
则得到公私钥对为:
<pk,sk>。
3.根据权利要求2所述的一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,步骤1中,请求用户使用其生成的同态加密公钥,对其位置信息进行同态加密,得到请求用户的同态加密位置信息;具体为:
给定一个公钥pk=(n,g)以及一个明文消息m,0≤m<n,则对应的加密密文为:
c=gmrn mod n2,记为:c=Encrypt(m,pk)
其中,r,0≤r<n是一个随机选择的整数,且满足条件:
其中,Zn={0,1,...,q-1},gcd(x,n)表示x,n的最大公因数,mod表示取模运算;m表示未经加密的明文消息;c表示经过加密的密文消息。
给定一个公私钥对<pk=(n,g),sk=(λ,μ)>以及请求用户位置的二维平面位置req_position=<xr,yr>,xr,yr表示请求用户所处位置的横、纵坐标值,则req_position对应的同态加密位置信息为:
Encrypt_req_position=Encrypt(req_position,pk)=
<Encrypt((n-2xr),pk),Encrypt((n-2yr),pk)>
其中,Encrypt表示基于公钥对明文进行加密的函数,且加密的结果满足如下条件:
Decrypt(Encrypt_req_position,sk)=
Decrypt(Encrypt(req_position,pk),sk)=<
Decrypt(Encrypt((n-2xr),pk),sk),Decrypt(Encrypt((n-2yr),pk),sk)>=
<-2xr,-2yr>。
其中,Decrypt表示基于私钥对密文进行对应解密的函数。
4.根据权利要求3所述的一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,步骤2中,协同用户使用时间过滤从数据库应用服务器上获取请求用户的组合信息,联合协同用户自身的位置信息生成加密中间结果;具体为:
给定一个公私钥对<pk,sk>,基于所述请求用户的同态加密位置信息以及协同用户的二维平面坐标col_position=<xc,yc>,xc,yc表示协同用户所处位置的横、纵坐标值,则协同用户位置信息的同态加密中间结果为:
其中,表示密文相加,/>表示密文与标量相乘,
5.根据权利要求4所述的一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,步骤3中,基于解密结果以及请求用户的位置信息,计算得到请求用户与协同用户之间欧式距离;具体为:
给定一个公私钥对<pk,sk>,协同用户位置信息的同态加密中间结果Encrypt_mid_col_position,以及请求用户位置的二维平面坐标req_position=<xr,yr>,则请求用户与协同用户之间的欧式距离为:
其中,
也即:
6.根据权利要求5所述的一种基于同态加密时空同位计算的朋友推荐方法,其特征在于,步骤4中,数据库应用服务器查询请求用户的时空位置序列和协同用户的时空位置序列生成的距离信息,并计算用户之间的时空同位相似度系数;具体为:
给定两个用户A、B的时空位置序列ST_SeqA、ST_SeqB且两个序列中包含的元素个数相同都为n,则两个序列的相似度系数为:
其中,|ST_SeqA·ti,ST_SeqB·ti|表示ST_SeqA与ST_SeqA中对应的第i个时间之间的差值,σ表示设定的时间阈值;Distance(ST_SeqA·positioni,ST_SeqB·positioni)表示ST_SeqA与ST_SeqA中对应的第i个位置之间的距离,τ表示设定的空间阈值;
如果用户A、B的第i个位置的满足时间阈值和空间阈值,则称对应的两个位置点时空同位;推荐用户A、B彼此为朋友。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311307055.2A CN117235381B (zh) | 2023-10-10 | 2023-10-10 | 一种基于同态加密时空同位计算的朋友推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311307055.2A CN117235381B (zh) | 2023-10-10 | 2023-10-10 | 一种基于同态加密时空同位计算的朋友推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117235381A true CN117235381A (zh) | 2023-12-15 |
CN117235381B CN117235381B (zh) | 2024-05-10 |
Family
ID=89087866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311307055.2A Active CN117235381B (zh) | 2023-10-10 | 2023-10-10 | 一种基于同态加密时空同位计算的朋友推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235381B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967693A (zh) * | 2015-07-15 | 2015-10-07 | 中南民族大学 | 面向云存储的基于全同态密码技术的文档相似度计算方法 |
CN105404658A (zh) * | 2015-11-04 | 2016-03-16 | 中国联合网络通信集团有限公司 | 同态交友关系的建立方法、建立系统及移动终端 |
CN105577357A (zh) * | 2015-12-21 | 2016-05-11 | 东南大学 | 基于全同态加密的智能家居数据隐私保护方法 |
CN106202331A (zh) * | 2016-07-01 | 2016-12-07 | 中国传媒大学 | 分层次隐私保护的推荐系统及基于该推荐系统的作业方法 |
CN106302110A (zh) * | 2016-08-04 | 2017-01-04 | 福建师范大学 | 一种基于隐私保护的社交网络位置共享方法 |
CN107749034A (zh) * | 2017-11-17 | 2018-03-02 | 浙江工业大学 | 社交网络中一种安全的朋友推荐方法 |
CN113313160A (zh) * | 2021-05-24 | 2021-08-27 | 南京邮电大学 | 一种基于消费数据和同态加密算法的消费人群分类方法 |
KR20220121221A (ko) * | 2021-02-24 | 2022-08-31 | 서울대학교산학협력단 | 동형 암호문의 변환 장치 및 방법 |
US20230123579A1 (en) * | 2021-10-14 | 2023-04-20 | Dell Products L.P. | Access authorization utilizing homomorphically encrypted access authorization objects |
CN116318662A (zh) * | 2023-02-08 | 2023-06-23 | 西安电子科技大学 | 基于同态加密的医疗数据高效安全的k-NN查询方法 |
CN116415079A (zh) * | 2023-03-22 | 2023-07-11 | 电子科技大学 | 一种隐私保护的top-K轨迹相似性查询方法 |
-
2023
- 2023-10-10 CN CN202311307055.2A patent/CN117235381B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967693A (zh) * | 2015-07-15 | 2015-10-07 | 中南民族大学 | 面向云存储的基于全同态密码技术的文档相似度计算方法 |
CN105404658A (zh) * | 2015-11-04 | 2016-03-16 | 中国联合网络通信集团有限公司 | 同态交友关系的建立方法、建立系统及移动终端 |
CN105577357A (zh) * | 2015-12-21 | 2016-05-11 | 东南大学 | 基于全同态加密的智能家居数据隐私保护方法 |
CN106202331A (zh) * | 2016-07-01 | 2016-12-07 | 中国传媒大学 | 分层次隐私保护的推荐系统及基于该推荐系统的作业方法 |
CN106302110A (zh) * | 2016-08-04 | 2017-01-04 | 福建师范大学 | 一种基于隐私保护的社交网络位置共享方法 |
CN107749034A (zh) * | 2017-11-17 | 2018-03-02 | 浙江工业大学 | 社交网络中一种安全的朋友推荐方法 |
KR20220121221A (ko) * | 2021-02-24 | 2022-08-31 | 서울대학교산학협력단 | 동형 암호문의 변환 장치 및 방법 |
CN113313160A (zh) * | 2021-05-24 | 2021-08-27 | 南京邮电大学 | 一种基于消费数据和同态加密算法的消费人群分类方法 |
US20230123579A1 (en) * | 2021-10-14 | 2023-04-20 | Dell Products L.P. | Access authorization utilizing homomorphically encrypted access authorization objects |
CN116318662A (zh) * | 2023-02-08 | 2023-06-23 | 西安电子科技大学 | 基于同态加密的医疗数据高效安全的k-NN查询方法 |
CN116415079A (zh) * | 2023-03-22 | 2023-07-11 | 电子科技大学 | 一种隐私保护的top-K轨迹相似性查询方法 |
Non-Patent Citations (7)
Title |
---|
HAITAO ZHANG 等: "Mining spatial association rules from LBS anonymity dataset for improving utilization", 2013 21ST INTERNATIONAL CONFERENCE ON GEOINFORMATICS, 10 October 2013 (2013-10-10), pages 1 - 6 * |
乔雨;: "推荐系统中隐私保护策略的研究综述", 网络安全技术与应用, no. 04, 15 April 2020 (2020-04-15), pages 68 - 70 * |
张继东;蔡雪;: "基于社区划分和用户相似度的好友信息服务推荐研究", 情报理论与实践, no. 04, 9 January 2019 (2019-01-09), pages 151 - 157 * |
曹春萍;徐帮兵;: "一种带隐私保护的基于标签的推荐算法研究", 计算机科学, no. 08, 15 August 2017 (2017-08-15), pages 134 - 139 * |
李凤云 等: "移动社交网络中隐私保护的用户相似度计算协议研究", 计算机与数字工程, 20 October 2015 (2015-10-20), pages 1723 - 1728 * |
李宗育;桂小林;顾迎捷;李雪松;戴慧;张学军;: "同态加密技术及其在云计算隐私保护中的应用", 软件学报, no. 07, 17 October 2017 (2017-10-17), pages 1830 - 1851 * |
陈泽伟 等: "LBS连续查询的匿名序列规则挖掘方法研究", 计算机技术与发展, 28 April 2017 (2017-04-28), pages 124 - 129 * |
Also Published As
Publication number | Publication date |
---|---|
CN117235381B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiong et al. | Partially policy-hidden attribute-based broadcast encryption with secure delegation in edge computing | |
Gao et al. | Cloud-assisted privacy-preserving profile-matching scheme under multiple keys in mobile social network | |
Cai et al. | Towards secure and flexible EHR sharing in mobile health cloud under static assumptions | |
CN109246096B (zh) | 适用于云存储的多功能细粒度访问控制方法 | |
Shao et al. | FINE: A fine-grained privacy-preserving location-based service framework for mobile devices | |
Deng et al. | A flexible privacy-preserving data sharing scheme in cloud-assisted IoT | |
Paulet et al. | Privacy-preserving and content-protecting location based queries | |
Koo et al. | Secure and efficient data retrieval over encrypted data using attribute-based encryption in cloud storage | |
Yang et al. | A location-based privacy-preserving oblivious sharing scheme for indoor navigation | |
CN113411323B (zh) | 基于属性加密的医疗病历数据访问控制系统及方法 | |
CN115442134B (zh) | 一种基于同态双向代理重加密的多密钥多方安全计算方法 | |
WO2018099577A1 (en) | System and method for providing a collective decentralized authority for sharing sensitive data | |
CN108462575A (zh) | 基于无可信中心门限混合加密的上传数据加密方法 | |
Wang et al. | An efficient cloud-based personal health records system using attribute-based encryption and anonymous multi-receiver identity-based encryption | |
Raji et al. | CP2: cryptographic privacy protection framework for online social networks | |
CN114697042A (zh) | 一种基于区块链的物联网安全数据共享代理重加密方法 | |
CN113204788B (zh) | 一种细粒度属性匹配隐私保护方法 | |
Wang et al. | Privacy preserving computations over healthcare data | |
Xiong et al. | Optimizing rewards allocation for privacy-preserving spatial crowdsourcing | |
Kibiwott et al. | Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey. | |
He et al. | A lightweight secure conjunctive keyword search scheme in hybrid cloud | |
Maganti et al. | Secure application for sharing health records using identity and attribute based cryptosystems in cloud environment | |
CN117235381B (zh) | 一种基于同态加密时空同位计算的朋友推荐方法 | |
Wang et al. | A group key‐policy attribute‐based encryption with partial outsourcing decryption in wireless sensor networks | |
Mehrotra et al. | An efficient model for privacy and security in mobile cloud computing |
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 |