王鹏举
(贵州师范大学大数据与计算机科学学院,贵阳550001)
互联网技术的飞速发展迎来大数据时代,爆炸式的数据增长致使信息过载与信息迷航。搜索引擎技术在一定程度上能满足用户信息检索的需求。但传统搜索技术通过关键字进行检索,对于相同的检索关键字只能返回相同的检索结果,无法满足多元化的需求[1];另外,这种方式需要用户明确知道自己需要什么,并将其转换为对应的检索关键字进行信息检索。某些情况下,如果用户不知道自己具体需要什么,传统搜索引擎技术将变得无能为力。例如,用户想听一首符合自己口味而又从未听过的歌曲,或想看一部符合自己口味而又不知道名字的电影,这个时候个性化推荐技术将变得十分有用。个性化推荐技术通过研究用户兴趣偏好,帮助用户从海量的信息中去发掘用户潜在的需求。该技术被提出来至今已有十余年历史[1],广泛应用于广告投放、电影推荐以及电子商务等领域。一方面,推荐系统可以提升用户体验,同时发掘商品交易中的“长尾商品”,服务经济社会;另一方面,推荐系统需要尽可能详尽地收集用户资料建立用户模型以提供个性化推荐服务,这个过程中用户的个人身份信息、生理特征及社交记录等隐私数据也在被各类机构肆意收集,让用户隐私面临巨大危险。
推荐系统架构如图1所示[1],它由用户建模模块、推荐对象建模模块和推荐算法模块3部分组成。
图1推荐系统基本架构
推荐系统利用统计分析以及机器学习等人工智能技术建立用户模型,同时对被推荐对象进行建模,然后通过推荐算法计算得到用户感兴趣的对象,并根据推荐场景对推荐结果进行一定调整,最后将推荐结果展示给用户。推荐的个性化程度和准确度越高,要求对用户的个性化信息掌握得越多,还要能准确地表达给系统并能随着它们的变化而及时修正[2]。
隐私即个人不愿意公开的私事,包括公民个人信息隐私、通信隐私、空间隐私(个人出入的特定空间或区域)、身体隐私等。文献[3]中给出了较为准确的隐私定义:隐私是与个人相关的具有不被他人搜集、保留和处分的权利的信息资料集合,并且它能够按照所有者的意愿在特定时间、以特定方式、在特定程度上被公开。在个性化推荐系统中,引发隐私担忧的问题主要有以下两个方面:
(1)用户建模。推荐系统需要通过显式或隐式的数据收集方法尽可能详尽地获取用户信息(包括用户姓名、性别、电话、住址,以及用户浏览网页内容、产生的点击行为等)以建立用户模型(user profiles),这个过程中可能存在对用户个人信息的过度收集、不正当监控等问题。其次,数据收集者存在对用户数据进行二次利用的风险。例如,不法收集者将用户数据进行倒卖获利等行为。另外,数据收集者还存在因自身管理不当、技术漏洞等原因导致用户数据泄露的风险。
(2)推荐计算。这个过程中主要是将用户模型与推荐对象模型进行相似度计算。引发的隐私担忧主要有不正当的数据分析、不正当的数据合并,以及恶意的误导推荐等。
出于对隐私的担忧,用户需要在推荐系统带来的收益与提交个人信息造成的隐私风险付出之间作一个衡量,大多数用户不愿意将其个人信息提供给服务商,或者必要换取某些服务时提供个人基本信息。因此,如果用户隐私得不到较好的保护,一方面将造成用户对系统的不信任,进而拒绝向服务商提供个人信息或拒绝使用相应服务。另一方面,服务商无法获取高质量的用户数据进而也就无法提供高质量的用户服务。文献[3]中给出了隐私保护的定义:隐私保护是对个人隐私采取一系列的安全手段防止其泄漏和滥用的行为。在个性化推荐系统中,既要充分考虑用户数据的利用价值,又要充分考虑用户对个人数据使用的态度。目前,无论是在实际应用环节,还是科研研究中都已提出较多隐私保护方法,但面对日益复杂的网络环境,用户隐私保护问题仍然还有很多工作要做。在个性化推荐系统中,用户隐私保护尤其面临较多挑战。
个性化推荐系统中对用户隐私信息保护大体上从3个层面入手:隐私保护技术、隐私保护策略和法律法规保障。
从技术层面上讲,推荐系统中用户隐私保护方案大致可分为推荐系统体系结构控制、匿名技术、数据扰动、加密技术4类,但实际研究与应用中也存在将多种方案融合的方法。
2.1.1 推荐系统体系结构控制
推荐系统的体系结构控制着眼于研究用户信息收集、建模以及用户描述文件存放位置[2]。最初的个性化推荐系统采用集中式体系结构,即用户信息收集、建模工作、推荐结果计算以及用户描述文件存放位置都在服务器端。在这类推荐系统中,推荐系统服务器与Web服务器共享同一台服务器,其系统结构如图2所示[4]。
图2基于服务器的推荐系统结构
基于服务器的推荐系统存在以下两个问题[4]:
(1)推荐服务器与Web服务器共享同一台设备,增加了Web服务器系统开销。同时,推荐系统性能也受到Web服务器功能的限制。
(2)用户描述文件存放在服务端存在巨大风险,无论是推荐系统管理员还是恶意攻击者都能比较方便地从服务端获取用户文件。
因此,有研究者提出推荐系统的分布式体系结构,文献[10]较早提出了分布式推荐系统结构。
(1)基于客户端的推荐系统。在基于客户端的推荐系统中,一般将用户信息收集与建模工作放在客户端完成,同时用户描述文件也存放在客户端,其系统结构如图3所示[4]。
图3基于客户端的推荐系统结构
在这种结构中,用户数据存放在客户端,保证了用户对个人数据的可控性,因此具备较好的隐私性。同时,用户信息收集在本地完成,因此可以获得较为丰富准确的数据用于构建高质量的用户模型,但是由此也带来一些问题:①个性化推荐计算过程中还需要将部分用户数据传给服务端进行处理得到推荐结果,传输过程中存在隐私泄露风险,需要开发安全传输平台进行数据传输。②基于客户端的推荐系统较难获得其他用户的数据,因此较难实施基于用户的协同过滤推荐。
文献[5]提出一种线上线下结合方式,将用户描述文件保存在本地,并将本地用户描述文件进行聚合混淆后上传至服务器用于个性化推荐,同时线上线下文件保持同步。文献[6]提出一种树状分层的用户文件描述结构,上层以一种较为概括性的方式描述用户信息,下层以一种较为具体的方式描述用户信息,然后根据用户设置的参数来发布用户数据,从而达到保护用户隐私的目的。
(2)基于代理端的推荐系统。在这种结构中,用户信息的收集、建模以及推荐服务都在代理端实现。比较典型的代理端个性化推荐系统有斯坦福大学的Fab、明尼苏达大学的GroupLens等。
在基于代理端的推荐系统中,由于需要将用户数据上传至代理端,用户数据集中在第三方依然存在暴露的风险。
(3)基于P2P的推荐系统结构。在P2P(peer to peer,P2P)结构中,用户计算机同时扮演客户端与服务器角色,用户数据存放在个人计算机中。其主要设计思路是将用户查询通过网络中的对等点进行转发提交以达到隐匿身份的目的,该系统结构设计相对来说要灵活很多[18-20]。
图4基于代理端的推荐系统结构
图5基于P2P的网络模型
文献[7]基于P2P网络,通过对等点将查询进行匿名交换以达到隐私保护的目的。文献[8]中采用k-匿名的代理转发的增量数据更新方式面向移动商务推荐提出一种基于P2P的隐私保护策略。文献[9]中,我们提出一种基于P2P网络模型的网页搜索引擎(web search engine,WSE)前端用户隐私保护方案,利用P2P网络架构来将用户根据他们的爱好进行分组,并构建多层隐私保护机制,通过节点转发来提交用户查询,WSE只能获得一组查询的简要特征并提供相应的个性化服务。
在基于P2P的隐私保护技术推荐系统中,其推荐计算是以在线计算的方式进行,因此其实时性较好,但是需要考虑该模型带来的推荐质量较低以及P2P网络高度的开放性和匿名性所带来的节点之间的信任问题。
2.1.2匿名技术
匿名技术指通过某些方式隐藏用户真实身份和敏感信息,同时也能获得较为准确的个性化推荐,该方法以1998年Sweeney等[11]提出的k-匿名(k-ano⁃nymity)模型为代表。k-匿名模型主要为防止链接攻击而设计,其设计思想通过概括或隐匿等技术,发布精度较低的数据,使得每条记录至少与数据表中其他k-1条记录具有完全相同的准标识符属性值,攻击者仅能以不超过1/k的概率标识元组所属个体的身份,并且可通过调整参数k值更改隐私保护级别,从而降低了隐私泄露的风险。但是k-匿名模型无法抵御同质化攻击和背景知识攻击,Machanavajjhala等[12]在此基础上提出L-多样性(L-diversity)模型。L-多样性保证每一个等价类里,敏感属性至少有L个不同的取值,使得攻击者最多只能以1/L的概率确认某个体的敏感信息,从而保证用户的隐私信息不能通过背景知识、同质知识等方法推断出来。但是L-多样性模型无法避免偏斜性攻击,并且存在敏感属性比例的不均衡导致L-多样性难以实现等问题。文献[13]提出一种t-临近模型(t-closeness),该匿名方式是对L-多样性的进一步改进,保证敏感信息的分布情况与整个数据的敏感信息分布情况接近,从而达到保护用户敏感信息的目的。文献[7,9]本质上也是采用匿名化思想,在基于P2P的推荐系统结构中,通过邻居转发以达到隐匿用户真实身份的目的。文献[14]提出一种团体推荐模型,将相似用户组建成一个团体,然后以团体为单位进行推荐,用户既能获得较好的推荐效果,同时也能起到隐匿身份的目的。文献[15]采用数据聚合的方式,将不同用户的数据进行交换聚合,以聚合后的数据用于计算得到推荐。文献[16]使用一种新的数据聚合算法AGG(Aggregation)来替换公钥同态加密算法,减少了用户端与运算数据计算开销。
2.1.3 数据扰动
数据扰动技术指在输入或输出数据中添加一定的随机噪声,防止攻击者通过推理进行恶意攻击,该方法本质上是基于数据失真的隐私保护技术,一般应用于控制统计数据库隐私泄露。Agrawal等最早在文献[17]中提出了基于加法扰动的隐私保护技术,该方法在原始数据矩阵X加上扰动矩阵C,并且要求扰动矩阵C中的每一行满足均值为μ、方差为δ2的概率分布。但是,基于加法扰动的隐私保护技术存在数据可用性低的问题,后来在此基础上出现了基于乘法扰动的隐私保护技术,该方法以原始数据矩阵X与转换矩阵M,利用公式Y=MX计算得到用户盲化数据矩阵,使用该方法能得到较好的数据可用性。但是,在文献[18]中,Liu等发现基于乘法扰动的推荐系统隐私保护方法无法抵抗背景攻击,Dwork等[19]于2006年提出的差分隐私(differential privacy,DP)保护技术,解决了大多数隐私保护技术中普遍存在的背景知识攻击问题。
差分隐私本质上也是一种基于数据扰动的隐私保护技术,并且建立在严格的数学定义上,旨在保证攻击者无法通过输入或输出数据的差异推测出个体敏感属性,其形式化定义为:设有随机算法M,PM为M所有可能输出构成的集合的概率,对于任意两个邻近数据集D和D'以及任意查询集合S,若算法满足式(1):
则称算法M提供ε-隐私保护。该方法的核心思想在于对差别只有一条记录的两个数据集,查询它们获得相同值的概率非常接近,从而避免攻击者通过捕捉输出差异进而推测个体敏感属性。其中ε越小,隐私保密度越高。差分隐私主要有中心化差分隐私(centralized differential privacy,CDP)和本地差分隐私(local differential privacy,LDP)两种方案。CDP主要是在查询结果中添加满足某种分布的噪声对查询结果进行输出扰动(Output Perturbation),从而使得查询结果随机化。但是由于所添加噪声服从某种概率分布,攻击者重复执行相同的查询,仍然有可能根据噪声结果的分布情况推测算法输出的真实结果。LDP主要是对用户数据在本地进行输入扰动(input pertur⁃bation),然后上传至数据收集者,数据收集者拿到的是用户脱敏后的数据集,该方法相对来说较为安全,已成为现今隐私保护技术研究的主要方向之一。
此外,文献[20]中提出一种分布式体系结构中基于多方的数据扰动协议;文献[21]中通过不同噪声强度引入敏感和非敏感数据训练集,提出一种隐私保护的社交推荐协议。
以上基于数据扰动的推荐系统隐私保护方案[17-23],本质上都是在原始数据集上添加噪声机制,该方法会因数据失真从而在一定程度上影响预测结果的准确性,因此在该研究方向上主要是考虑设计合理的扰动机制,提高数据可用性,具体可以考虑与安全硬件、加密等技术等进行结合。同时,在具体应用场景中可考虑放低对隐私的要求,提高数据分析精度。
2.1.4 加密技术
该方法以安全多方计算、公钥全同态加密技术为代表,一般方法是对用户历史数据集进行全同态加密并上传至推荐服务器,后者利用其全同态性质在密文域上进行建模和推荐结果计算,被授权用户可以用相应的私钥解密推荐结果。该方法对用户数据进行加密传输与存储,并且数据不失真实性,因此能较好保护用户隐私且推荐结果准确性高。文献[22]中利用公钥同态加密算法Paillier在电子医疗系统中构造了一种患者健康信息保护方案。文献[23]中结合公钥同态加密和安全多方计算技术,提出基于矩阵分解的隐私保护推荐系统,该方案较文献[22]所采用方案来说更为高效。文献[24]中,Liu Jian等利用Yao的混淆电路、同态加密和秘密分享技术,提出了推荐系统隐私保护的神经网络模型miniONN。此外,文献[25]等都涉及到了通过加密技术实现推荐系统中用户信息隐私保护方案。但是,由于通过加密技术涉及密钥传输以及对大量用户数据进行加密计算,从而导致推荐系统巨大的通信与运算开销,尤其对于资源受限的移动用户来说,该缺陷尤为明显。因此,在该研究方向上需要考虑如何构建高效的隐私保护方案。
综合分析,基于匿名技术、数据扰动与加密技术的推荐系统隐私保护方案都涉及离线计算模型,因此其推荐结果实时性较低,而在基于体系结构控制的推荐系统隐私保护方案中,P2P隐私保护技术以在线计算为主,因此实时性相对较好。表1从隐私保护度、计算开销、推荐精度和实时性4个维度对上述4种个性化推荐系统隐私保护方案性能进行了比较。
表1推荐系统隐私保护技术的性能对比
表2典型推荐技术分类及优缺点对比
结合上述分析,表2给出了文中所列典型的隐私保护技术所属隐私保护方案类别以及各自的优缺点对比。
需要特别说明的是,虽然从表中可以看出不同隐私保护技术之间优缺点上存在一些共性,但是各自有其适用场景,因此它们都有自己存在的实际意义。
隐私保护策略指网站对用户个人信息收集、使用过程中的保护策略,并以文字的形式展示给用户,同时采用某种机器可读语言对隐私保护策略进行描述从而在技术层面对隐私策略提供保证。
2.2.1 隐私偏好设置平台(P3P)
隐私偏好设置平台(the platform for privacy pref⁃erences project,P3P)由万维网联盟于2002年开发完成,它包含两个组件,一个放在服务端用以提供一种用XML描述的用户隐私保护策略文件,包括对用户隐私信息收集、存储、使用等相关的描述语法与语义;另一个放在客户端形成一个用户代理软件,用户通过代理软件设置个人隐私偏好。代理软件通过Applet等XML语言将用户偏好设置转换为对应的机器可读规则,然后将服务端网站隐私保护策略文件发送至客户端与用户隐私偏好进行匹配,如果匹配成功,则用户可继续访问站点,否则用户有权决定是否放弃对网站的访问,或是修改个人隐私偏好参数以继续访问网站。但是P3P不具备任何强制力,同时用户也没有任何措施来判断其隐私策略是否被网站执行,因此P3P技术存在很大局限性。
2.2.2 企业隐私授权语言(EPAL)
企业隐私授权语言(enterprise privacy authoriza⁃tion language,EPAL)由IBM公司开发完成,它是一种基于XML格式的语言,能对隐私策略按规则进行描述。EPAL能使软件开发者把安全策略执行功能直接建在企业软件应用中。相比P3P,虽然EPAL同样采用隐私策略描述语言来实现隐私保护机制,但是与前者以保护数据为中心不同,后者以控制访问数据为中心,且EPAL有企业系统作为隐私策略实施的保障。
2.2.3 其他隐私保护策略
Huang[27]提出基于描述逻辑的策略分析方法,通过引入Web本体描述语言OWL来表达RBAC(基于角色的访问控制)中的角色约束。Wei等[28]给出了普适计算环境中隐私策略的统一表示及其执行机制,并使用多类逻辑和描述逻辑建立隐私策略模型和隐私策略公理。文献[29]中构建了一个包含隐私领域语义的隐私本体,并基于该隐私本体将用户的隐私偏好转换成SWRL(semantic web rule language)规则,利用推理引擎基于SWRL规则对隐私本体知识库进行推理,推导出隐私策略符合用户隐私偏好的Web服务。此外,现在一些广泛流行的社交软件中加入用户可控的访问控制机制,如微信朋友圈发布功能中可选的“谁可以看”功能,微博发布功能中的“选择分享范围”等功能,它们为用户提供一种个人信息发布范围控制的机制,在一定程度上能防止用户信息被广泛流传带来的隐私风险。
面对日益严峻的公民隐私泄露问题,除了通过相应的隐私策略以及技术手段进行保护之外,还必须有配套法律法规予以规范管理,从国家机器层面对公民网络生活提供隐私保障。
我国宪法第四十条规定:“中华人民共和国公民的通信自由和通信秘密受法律的保护。”该条款将公民网络隐私权利作为一项基本权利写进宪法。《民法总则》第111条中规定任何组织或个人应通过合法程序获取他人信息并确保信息安全,禁止非法收集、买卖他人信息。此外,十一届全国人大审议通过的《加强网络信息保护的决定》、2017年开始实施的《中华人民共和国网络安全法》等,都列出了相关条款用于公民个人隐私信息保护。2020年10月,《中华人民共和国个人信息保护法(草案)》作为一部专门保护公民个人隐私信息的法律提请十三届全国人大会议审议,对维护广大人民群众的个人信息权益具有重要意义。
在隐私保护问题上,我国与欧美国家在法律规范方面存在较大差距,文献[30]最早在1890年提及隐私权,它成为美国关于公民隐私保护的具有开创性意义的法律著作,它指出公民的个人隐私权是一项独特的权利并应受到保护。美国最早于1974年通过《隐私法案》(Privacy Act of 1974)对公民隐私权予以保护,之后相继颁发《电子通讯隐私法》(Electronic Commu⁃nications Privacy Act of 1986,ECPA)、《公民网络隐私权保护暂行条例》及《儿童在线隐私权保护法》(Chil⁃dren's Online Privacy Protection Act of 1998)等法律对公民隐私信息提供法律保障。欧盟于1995年制定了《计算机数据保护法》,1997年通过《电信事业个人数据处理及隐私保护指令》,后来相继出台《Internet上个人隐私权保护的一般原则》《信息公路上个人数据收集、处理过程中个人权利保护指南》《通用数据保护条例》(General Data Protection Regulation,GDPR)等系列法规对网民隐私予以保护。
以上是国内外比较典型隐私保护法律案例。总的来说,面对飞速扩张网络体量,公民隐私保护相关法律法规跟进较慢,需要在发展中逐步完善,建立符合大数据时代特点及公民个人隐私数据特征的法律体系,营造可持续发展的网络生态。
技术是把双刃剑,在个性化推荐系统中,用户隐私保护仍旧是一个严峻的问题,能否处理好用户隐私数据安全问题将直接影响推荐技术更一步的发展。未来,个性化推荐系统中用户隐私保护技术需要研究的问题仍旧比较多。
(1)权衡隐私保护模型的隐私性与数据可用性。在现今的很多推荐系统隐私保护设计方案中都存在数据可用性与隐私性难以平衡的问题,寻找二者的平衡需要综合考虑多种因素。例如不同个体隐私差异、个体对隐私敏感度差异以及推荐服务提供商对系统模型的可用性预期等,这是一个十分复杂的问题,需要具体情况具体分析。
(2)研究可控的用户个人描述文件建立方法。现有推荐系统大多着眼于研究有效的用户描述文件,过分注重对个人信息的获取,缺乏对用户描述文件建立后用户对此文件中隐私暴露风险的自主控制研究,因此还需要从用户的个人隐私利益角度出发,结合不同用户隐私敏感度的个性化差异,研究可控的用户描述文件建立方法,提升用户数据透明性,保证用户对个人数据的知情权、控制权。
(3)探索多种技术结合的推荐系统隐私保护方案。基于数据扰动技术的隐私保护方案优点在于系统开销小,但是其问题在于添加随机噪声会造成数据可用性降低,而数据加密技术能保证数据在传输、存储以及计算过程中的机密性和正确性,但是涉及大量加密计算以及密钥传输,系统开销巨大,尤其在复杂数据模型中对系统性能影响严重。直观上来讲,上述两种隐私保护方案在功能上形成互补关系,若是能很好将两种方案结合起来将是一个很有意义的研究方向。因此,在研究新的隐私保护机制过程中,可以尝试将多种技术进行结合以获得更好的推荐系统模型。
(4)提升系统可用性。在原有业务系统中加入个性化功能势必会提升系统负担,因此有必要研究设计较轻量级的中间件系统,将推荐系统隐私保护模块嵌入到现有系统中,提升系统可用性。
(5)建立健全的隐私保护法律法规与政策引导机制。大数据时代的极速发展,人们的生活方式和行为被数字化、模拟化,网络的重要性已然如同水电一样融入人们生活,公民个人隐私泄露问题凸显,除了隐私保护技术滞后问题,还存在相关隐私保护法律法规滞后问题,建立健全的隐私保护法律法规和政策引导机制迫在眉睫。
个性化推荐系统中的用户隐私保护是当前网络环境中公民隐私保护的子问题,随着人工智能技术的发展,在数据挖掘、机器学习等领域中,用户隐私泄露问题凸显,隐私保护研究是当前计算机学科领域的重点问题。