本发明属于云服务技术、信息安全信任管理技术和隐私保护技术领域,尤其涉及一种云服务下具有隐私保护功能的移动应用推荐系统及方法。
背景技术:
移动智能手机在当今移动互联网时代扮演着越来越重要的角色,移动手机已经成为人们休闲娱乐、工作生活和获取互联网服务的至关重要的工具。为了让移动手机更容易操作,更好地发挥移动手机的功能,数量庞大的移动应用层出不穷。然而,面对如此多的移动应用,如何才能选择一个好的应用成为困扰用户的一个问题,因为拥有相似功能的应用太多。移动推荐系统是过滤过载的信息并向移动用户推荐有用或者用户感兴趣信息的有效工具。将移动推荐系统应用到手机应用软件领域,推荐系统可以帮助移动用户发现他们感兴趣、高质量和可信的移动应用。然而,现有的一些移动应用推荐系统要么是基于对用户偏好的提取,要么就是基于移动应用的下载数量,这些都不能够准确的反应用户的个人真实情况,缺少对于用户本身使用移动应用行为的考虑。用户对于移动应用的信任在用户选择和使用移动应用的时候发挥着至关重要的作用。通过收集用户对于移动应用的使用行为数据,用户对于移动应用的信任可以被很好的量化并作为生成移动应用推荐的重要依据。但是,同时会产生另外一个严重的问题,那就是在对用户的行为数据进行收集和处理的时候,可能会带来用户个人隐私的泄露。在由zhengyan,pengzhang和roberth.deng撰写的“truberepec:atrust-behavior-basedreputationandrecommendersystemformobileapplications”一文中提出了名为“truberepec”的信誉系统,提出了将用户使用移动应用的信任行为进行划分并收集、使用和产生移动应用推荐的相关方法。但是,由于没有考虑到更为安全的数据处理方法,用户的隐私还是存在一定的泄露风险。另一方面,隐私保护作为移动推荐系统中的一项关键问题,也得到了很多研究,提出了很多方法。例如,有基于系统架构设计的方法;有基于密码学算法的方法;还有基于策略管理的方法等等。这其中,有一些同态加密算法的数据保护方案,例如z.erkin等人撰写的“generatingprivaterecommendationsefficientlyusinghomomorphicencryptionanddatapacking”一文就将同态加密方法应用到推荐系统上,但是由于缺少用户认证等安全考虑,该方法不能够有效地预防非法用户对系统的恶意使用和破坏,进而影响推荐结果的准确性,因此该方法也不能直接应用到移动应用的推荐上。
综上所述,现有技术存在的问题是:目前的移动应用推荐方法存在没有考虑到安全数据处理方法,用户隐私安全性差,不能直接应用到移动应用的推荐上,推荐结果的准确性较差。
技术实现要素:
针对现有技术存在的问题,本发明提供了一种云服务下具有隐私保护功能的移动应用推荐系统及方法。
本发明是这样实现的,一种云服务下具有隐私保护功能的移动应用推荐方法,所述云服务下具有隐私保护功能的移动应用推荐方法包括以下步骤:
(1)安装在手机设备上的客户端软件初次运行时,向认证中心进行认证注册并从认证中心接收安全参数s,完成初始化操作;
(2)客户端在用户设备上运行,自动且持续地收集用户使用手机应用的信任行为数据;将用户的信任行为数据进行形式化处理得到用户的信任数据;基于初始化阶段生成的安全参数s,将s加密后对形式化的用户信任数据进行掩盖保护,之后使用匿名身份将处理过的数据上传到云服务器,完成云服务器中数据库的构建,客户端会周期性地向云服务器上传数据,对数据库进行更新;
(3)用户通过客户端软件,使用匿名的身份向云服务器发送获取应用推荐的请求;云服务器向认证中心进行推荐请求用户的认证,认证通过之后,与客户端进行交互式通信。
进一步,所述步骤(1)包括:
(1a)用户k在客户端身份管理器和密钥管理器中分别生成自己的匿名身份idk、公私钥对(pkk,skk)和同态加密公私钥对(hpkk,hskk),利用私钥skk对idk签名之后,将签名信息发送给认证中心;
(1b)认证中心收到客户端发来的注册信息之后进行确认,然后生成自己的公私钥对(pkac,skac),利用私钥skac将客户端的签名消息进行签名;
(1c)认证中心选择一个安全的随机大整数s,使用用户k的公钥pkk将s加密之后,与对客户端信息的签名消息一起发送给用户k;
(1d)用户k通过客户端软件接收认证中心发过来的消息,利用自己的私钥skk将加密的s进行解密,得到s并将s保存到自己的设备当中。
进一步,所述步骤(2)包括:
(2a)客户端软件在用户的设备中自动运行,自动且持续地收集用户使用每个手机应用的信任行为数据,根据信誉系统truberepec中已经提出的算法,将用户k的对应用a的信任行为数据分别形式化计算为使用信任行为数据
(2b)在第一个时间窗t1内,客户端使用认证中心ac的公钥pkac将保存的安全参数s加密为e(s),并将e(s)与时间窗t1内计算得到的用户k关于应用a的使用信任行为数据
(2c)客户端将掩盖之后的用户k的信任行为数据、匿名身份idk和时间窗t1一同上传到云服务器,云服务器接收并保存数据。下一个时间窗t2内,客户端重复(2b)和本操作步骤,完成云服务器的数据库更新。
进一步,所述步骤(3)包括:
(3a)云服务器根据数据库中已被掩盖保护的用户数据计算其他用户与推荐请求者之间的关系值,云服务器将计算出来的用户关系值集合发送到推荐请求者;
(3b)推荐请求者在客户端接收云服务器返回的掩盖关系值集合,得到用真实的用户关系值后,利用同态加密公钥将真实的用户关系值进行加密,将同态加密后的用户关系值集合发送到云服务器;
(3c)云服务器利用推荐请求者发送的同态加密后的真实用户关系值和数据库中存储的对应用户数据,利用同态加密密文上的同态计算,得到同态加密下的密文数据,数据是计算应用推荐值的必要数据;云服务器将计算出来的加密数据返回给推荐请求者;
(3d)推荐请求者在客户端接收云服务器发来的加密数据,利用自己的同态加密私钥将数据进行解密,利用已有的算法计算得到关于每个应用的推荐值,按照推荐值的大小,将推荐信息展示给用户。
进一步,所述步骤(3a)的云服务器计算用户关系值集合并发送到推荐请求者k具体包括:
(3a1)云服务器根据推荐请求者的身份idk和数据库中存储的所有系统用户的数据,根据以下公式计算系统中其它用户j与请求者k的掩盖关系值rels(uj,uk):
uj和uk分别表示其它用户j和推荐请求用户k,
(3a2)云服务器通过计算系统内所有其它用户与请求者k的掩盖关系值,得到掩盖的关系值集合{rels(uj,uk),j≠k};云服务器利用推荐请求者k的公钥pkk将掩盖的关系值集合加密为
进一步,所述步骤(3b)的推荐请求者由掩盖关系值集合得到真实关系值集合并将其进行同态加密后发送给云服务器包括:
(3b1)推荐请求者k利用自己的私钥skk将
(3b2)推荐请求者k利用自己的同态加密公钥hpkk将真实的关系值进行同态加密,得到he{hpkk,rel(uj,uk)},然后将同态加密得到的关系值集合{he{hpkk,rel(uj,uk)},j≠k}发送给云服务器。
进一步,所述步骤(3c)的云服务器利用同态加密密文上的运算计算生成推荐所用关键数据并返回给推荐请求者包括:
(3c1)云服务器利用同态加密密文上的加法同态性,利用下式计算得到加密的关系值的和
(3c2)云服务器利用同态加密密文上的另一种加法同态性,对于每一个用户k没有安装使用而用户j安装使用的应用i,即待推荐的应用i,利用下式将存储在数据库中的形式化的用户信任行为数据和用户关系值相融合:
(3c3)云服务器sp再次利用同态加密密文上的加法同态性,对于每一个用户k没有安装使用而用户j安装使用的应用i,即待推荐的应用i,利用下式将融合的结果求和:
(3c4)云服务器sp计算控制参数nk,与按照(3c1)和(3c3)计算出来加密值的集合、时间窗t一起发送给推荐请求者k。
进一步,所述步骤(3d)的客户端接收云服务器返回的数据,计算得到最后的推荐值并将推荐信息展示给用户具体包括:
(3d1)推荐请求者k在客户端接收云服务器返回的相关数据,利用自己的同态加密私钥hskk分别将(3c1)和(3c3)计算得到的加密值进行解密,解密的结果分别记为p和q;
(3d2)对于解密集合中的每一个待推荐的应用i,客户端根据下式计算时间窗t内得到的对用户k关于应用i的推荐值
其中,i表示所有待推荐的应用数量;
(3d3)客户端根据每个应用i的
本发明的另一目的在于提供一种所述云服务下具有隐私保护功能的移动应用推荐方法的云服务下具有隐私保护功能的移动应用推荐系统,所述云服务下具有隐私保护功能的移动应用推荐系统包括:客户端、云服务器和认证中心;
客户端包括身份管理器、密钥管理器、计算器、信任行为监视器、数据传输器、客户端数据库和推荐展示器;
云服务器包括数据交换器、存储数据库、身份管理器和计算器;
认证中心包括数据传输器、身份管理器和密钥管理器。
进一步,所述身份管理器用于用户匿名身份的生成和管理;密钥管理器用于用户密钥的产生和管理;计算器在用户设备上进行数据的计算;信任行为监视器在设备后台监视和收集用户的行为数据;数据传输器用于客户端和其他实体之间的数据传输;客户端数据库存储在用户设备收集和计算出来的用户数据;推荐展示器用于向用户展示移动应用的推荐结果;
所述数据交换器用于客户端和服务器之间的数据交换;存储数据库用于存储客户端上传的数据;身份管理器用于管理推荐请求用户的身份;计算器用于计算用户数据;
所述数据传输器用于客户端和认证中心、云服务器和认证中心的数据传输;身份管理器用于用户认证注册时的身份管理;密钥管理器用于相关密钥的管理。
本发明的优点及积极效果为:收集用户使用移动应用的信任行为数据,将用户的信任行为数据进行形式化处理;将系统中的功能实体划分为用户设备、云服务器和认证中心,通过使用多种安全的密码学相关算法和系统功能实体之间的通信交流,对用户的数据进行保护,使得在为用户提供准确的移动应用推荐的同时,能够有效地保护用户的数据隐私。在云服务环境下保护用户隐私的移动应用推荐系统,基于用户使用移动应用的信任行为,在保护用户隐私的前提下,为用户提供移动应用的推荐。
本发明基于用户实际使用移动应用的信任行为产生推荐,推荐使用的数据是用户真实情况的反应,因而推荐的结果具有较高的准确性;由于推荐过程不需要用户的主动参与,客户端在后台自动地收集和处理用户数据,因而本发明也具有较高的灵活性。
由于推荐的产生基于用户本身的使用行为,不需要用户对某些应用的评价,因而本发明可以避免一些恶意用户的恶意评价;此外,所有用户都需要在认证中心认证并在云服务器验证,保证了系统的合法使用;由于采用了多种安全的密码学算法,因而用户的数据安全也能够得到保障。
本发明在云服务器和认证中心的支持下,只需在用户的移动手机安装客户端,便可以为用户提供准确并且保护隐私的应用推荐。而且本发明所采用的方法和原理同样可以应用到其他类似领域的推荐,例如,移动交友,安全搜索等,因而具有较高的可用性。
本发明通过以下方法来保障用户的隐私保护,所有用户均使用匿名的身份信息,用户的真实身份可以得到保护;最为重要的用户原始的真实行为数据存储在用户自己的移动设备当中,只有被处理和掩盖过的用户数据上传到了云服务器中;最后,对于用户上传数据的处理是在同态加密密文下的操作,云服务器在整个过程都无法得到用户的任何隐私数据。
附图说明
图1是本发明实施例提供的云服务下具有隐私保护功能的移动应用推荐系统结构示意图;
图中:1、客户端;2、云服务器;3、认证中心。
图2是本发明实施例提供的云服务下具有隐私保护功能的移动应用推荐系统初始化阶段的示意图。
图3是本发明实施例提供的云服务器数据库构建和更新的示意图。
图4是本发明实施例提供的客户端和云服务器交互式通信生成推荐的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的云服务下具有隐私保护功能的移动应用推荐系统包括:客户端1、云服务器2和认证中心3。
在用户设备上安装客户端1软件,客户端1包括身份管理器、密钥管理器、计算器、信任行为监视器、数据传输器、客户端数据库和推荐展示器等模块。
身份管理器用于用户匿名身份的生成和管理;
密钥管理器用于用户密钥的产生和管理;
计算器在用户设备上进行数据的计算;
信任行为监视器在设备后台监视和收集用户的行为数据;
数据传输器用于客户端和其他实体之间的数据传输;
客户端数据库存储在用户设备收集和计算出来的用户数据;
推荐展示器用于向用户展示移动应用的推荐结果。
云服务器2包括数据交换器、存储数据库、身份管理器和计算器等模块。
数据交换器用于客户端和服务器之间的数据交换;
存储数据库用于存储客户端上传的数据;
身份管理器用于管理推荐请求用户的身份;
计算器用于计算用户数据。
认证中心3包括数据传输器、身份管理器和密钥管理器等模块。
数据传输器用于客户端和认证中心、云服务器和认证中心的数据传输;
身份管理器用于用户认证注册时的身份管理;
密钥管理器用于相关密钥的管理。
各实体之间的通信采用安全的通信信道,各实体内部的数据流通在图1中用箭头表示。
如图2所示,在云服务下具有隐私保护功能的移动应用推荐系统初始化阶段,具体步骤如下:
(1a)用户k在客户端身份管理器和密钥管理器中分别生成自己的匿名身份idk、公私钥对(pkk,skk)和同态加密公私钥对(hpkk,hskk),利用私钥skk对idk签名之后,将签名信息sigk(idk)发送给认证中心ac;
(1b)认证中心ac生成自己的公私钥对(pkac,skac),收到客户端发来的注册信息之后进行确认,利用私钥skac将客户端的签名消息sigk(idk)进行签名,生成sigac(sigk(idk));
(1c)认证中心ac选择一个安全的随机大整数s,使用用户k的公钥pkk将s加密之后,与对客户端信息的签名消息一起发送给用户k;
(1d)用户k通过客户端软件接收认证中心ac发过来的消息,利用自己的私钥skk将加密的s进行解密,得到s并将s保存到自己的设备当中。
如图3所示,在云服务器数据库构建阶段,具体步骤如下:
(2a)客户端软件在用户的设备中自动运行(前台或后台运行都可以),自动且持续地收集用户使用每个手机应用的信任行为数据,根据信誉系统truberepec中已经提出的算法,将用户k的对应用a的信任行为数据分别形式化计算为使用信任行为数据
(2b)在第一个时间窗t1内,客户端将e(s)与时间窗t1内计算得到的用户k关于应用a的使用信任行为数据
(2c)客户端将掩盖之后的用户k的信任行为数据和匿名身份idk、时间窗t1一同上传到云服务器sp,云服务器sp接收并保存数据。下一个时间窗t2内,客户端重复(2b)和本操作步骤,完成云服务器sp的数据库更新。
如图4所示,客户端和云服务器交互式通信生成推荐的具体步骤如下:
(3)用户k通过客户端软件,使用匿名的身份向云服务器sp发送获取应用推荐的请求{sigk(idk),sigac(sigk(idk))},其中sigk(idk)为用户k对自己匿名身份的签名,sigac(sigk(idk))是ac对用户k签名信息的签名。服务器收到推荐请求用户k的推荐请求信息并向认证中心ac进行用户k的认证;
(3a1)云服务器sp根据推荐请求者的身份idk和数据库中存储的所有系统用户的数据,根据以下公式计算系统中其它用户j与请求者k的掩盖关系值rels(uj,uk):
uj和uk分别表示其它用户j和推荐请求用户k,
(3a2)云服务器sp通过计算系统内所有其它用户与请求者k的掩盖关系值,得到掩盖的关系值集合{rels(uj,uk),j≠k}。sp利用推荐请求者k的公钥pkk将掩盖的关系值集合加密为
(3b1)推荐请求者k利用自己的私钥skk将
(3b2)推荐请求者k利用自己的同态加密公钥hpkk将真实的关系值进行同态加密,得到he{hpkk,rel(uj,uk)},然后将同态加密得到的关系值集合{he{hpkk,rel(uj,uk)},j≠k}发送给云服务器sp。
(3c1)云服务器sp利用同态加密密文上的加法同态性,利用下式计算得到加密的关系值的和
(3c2)云服务器sp利用同态加密密文上的另一种加法同态性,对于每一个用户k没有安装使用而用户j安装使用的应用i,即待推荐的应用i,利用下式将存储在数据库中的形式化的用户信任行为数据和用户关系值相融合:
(3c3)云服务器sp再次利用同态加密密文上的加法同态性,对于每一个用户k没有安装使用而用户j安装使用的应用i,即待推荐的应用i,利用下式将融合的结果求和:
(3c4)云服务器sp计算控制参数nk,与按照(3c1)和(3c3)计算出来加密值的集合、时间窗t一起发送给推荐请求者k。
(3d1)推荐请求者k在客户端接收云服务器sp返回的相关数据,利用自己的同态加密私钥hskk分别将(3c1)和(3c3)计算得到的加密值进行解密,解密的结果分别记为p和q;
(3d2)对于解密集合中的每一个待推荐的应用i,客户端根据下式计算时间窗t内得到的对用户k关于应用i的推荐值
其中,i表示所有待推荐的应用数量;
(3d3)客户端根据每个应用i的
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。