随着互联网和通信技术的快速发展,在线社交网络(Online Social Network,OSN)已成为人们信息交流的重要媒介[1],但由于在线社交网络用户的不断增长[2],隐私泄露问题也愈发严重。2018年,美国社交网络科技公司Facebook就因用户隐私泄露问题被处以50亿美金的罚款[3],社交网络的安全隐私问题日益突出,引起了社会公共的广泛关注。目前,在线社交网络隐私策略主要存在隐私设置与用户隐私需求不匹配且缺乏灵活性与一致性的问题。对于在线社交网络的隐私设置与用户隐私需求不匹配问题而言[4],这主要是由于社交网络运行环境的不确定性所造成,在线社交网络的终端用户可以是移动终端、Web终端甚至物联网设备终端,各个终端依靠自身通信协议进行数据转发,导致社交网络运行环境复杂多变,使得隐私保护难以定量分析和验证。对于社交网络隐私设置缺乏灵活性问题而言,这主要是由于当前社交网络模型多数采用静态隐私策略,而用户更希望使用更加灵活的动态隐私策略,能以某个事件作为前提条件触发用户隐私设置的自动更新。对于社交网络隐私设置缺乏一致性问题而言,这主要是由于社交网络采用分布式架构云存储机架集群。用户处于不同地理位置,任何用户都有可能在任何时刻进行隐私策略更改,只有保证多源数据融合时数据无延时和一致性,才能避免用户隐私信息泄露情况发生。
社交网络用户行为的不确定性和网络配置的不一致性,导致传统检验模型无法应对复杂社交网络的随机特性。随机检验模型是使用模型检验方法对带有随机行为的复杂系统进行定量验证和分析[5-7],而运行时验证主要是针对复杂动态系统设计的验证技术,但其也面临随着运行时间的不断增加,所需的计算能力呈几何式增长的问题[8]。本文提出一种动态隐私保护框架,将隐私策略设置作为触发条件,通过运行时验证中的参数化和监控技术对用户隐私信息进行保护。
1 相关工作目前,隐私泄露问题已引起研究人员的广泛关注,现有研究的重点主要包括隐私规约的形式化验证和隐私泄露的形式化验证两方面。对于研究方法而言,隐私规约的形式化验证方法主要分为基于静态模型的静态隐私规约形式化验证方法和基于动态模型的静态隐私规约形式化验证方法,例如文献[9-11]均是基于静态社交网络模型,提出静态隐私规约的形式化验证方法。结合当前社交网络中存在的隐私泄露问题,单纯依赖静态隐私规约进行验证已经无法满足当前用户的需求,因此亟需一种针对社交网络中动态随机不确定行为的形式化验证方法,例如:文献[12]提出基于用户代理知识逻辑的形式化验证方法,主要解决动态模型的静态隐私验证问题;文献[13]提出动态隐私控制的隐私保护方法,通过检验知识库来验证隐私状态是否满足隐私设置。此外,研究人员还通过运行时验证技术来验证动态模型中的静态隐私规约,例如文献[14]提出基于传播链的动态访问控制模型,从访问权限限制传播链后续用户的操作权限,从而降低恶意用户的不正当分享行为。
对于隐私策略而言,一些研究人员采取失真或加密技术来保护隐私,例如:文献[15]采用失真技术对用户隐私泄露问题采取差分隐私保护,利用随机森林算法对不同用户发布不同的隐私数据,能较好地阻止恶意用户攻击;文献[16]提出基于位置服务的隐私保护方法,通过匿名技术在不同时间段添加不同的虚拟用户,使得社交网络用户的身份信息和位置信息得到加密保护,尤其是在稀疏环境下对用户身份和位置隐私信息具有较好的保护作用;文献[17]提出基于逻辑特征的差分隐私保护方案,通过定义语义距离和路径距离对请求隐私数据的用户进行划分,实现差分隐私保护。
由于在大数据环境下应考虑社交网络系统的随机故障,因此监控器技术作为一种在系统运行时对系统进行验证的技术,在应对系统随机故障时具有较好的效果,例如:文献[18]通过监控器监控随机系统的时间性质,将性质规约表述成表达式形式,将模型分割成安全性质部分和活跃部分,模型检验与运行时检验分别验证安全性质部分和活跃部分是否满足系统需求;文献[19]研究基于数学框架的运行时随机模型验证方法,通过给定可靠性模型和需求静态生成一组表达式,这些表达式可在运行时验证系统需求;文献[20]结合运行时验证和模型检验的相关技术提出一种运行时验证框架;文献[21]将系统模型和系统规约进行预计算生成一系列表达式,降低了运行时验证的计算复杂度。
针对社交网络中图片分享造成的隐私泄露问题,文献[22]结合静态与动态隐私规约建立形式化隐私语言框架,并通过经典模型检验方法对社交网络的隐私保护问题进行深入研究。本文受其启发,借鉴隐私规约的形式化方法,在考虑社交网络模型特性的基础上,对其形式化隐私语言框架进行适应性改进,引入概率因子并结合运行时验证的相关监控技术,解决社交网络中运行时用户的隐私信息泄露验证和保护问题,满足用户的动态隐私设置需求。
2 动态隐私保护框架当前社交网络隐私策略缺乏稳定性、灵活性和一致性,其主要原因是由于社交网络架构对于数据库的权限过于集中化。如图 1所示,各终端用户保存隐私设置发送给Web服务器或转发设备,Web服务器或转发设备在接收到相应的隐私设置数据后经过数据融合保存至云存储机架集群中,整个社交网络系统依据云数据库中存储的关系数据执行相应的权限设置,实现社交网络中所有用户的隐私设置。
![]() |
Download:
|
图 1 社交网络架构 Fig. 1 Social network architecture |
由于社交网络用户的隐私需求不断增加,当前社交网络架构提供的静态隐私策略已经无法满足用户的隐私需求,同时在大数据环境下,数据分布广泛,多源数据融合过程可能存在一定的随机性,进一步增加了用户隐私信息泄露的风险。为使社交网络的隐私设置更加灵活和安全,本文提出动态隐私保护框架,通过在终端植入监控器获取社交网络运行时参数进行运行时验证,同时对传统静态隐私规约进行分解预处理,在传统静态隐私规约的基础上增加触发条件a,将动态隐私规约形式化表述为a→b的表达式形式,当前置条件满足a时,隐私设置会自动更改为b,通过监控器来监控用户所在社交网络是否满足a来动态执行隐私设置b。通过对隐私规约的预处理可大幅降低运行时验证的复杂度,极大降低所需的运算能力。动态隐私保护框架如图 2所示。
![]() |
Download:
|
图 2 动态隐私保护框架 Fig. 2 Dynamic privacy protection framework |
动态隐私保护框架主要是针对社交网络隐私设置不灵活和难以验证的问题提出的解决方案。本文使用随机模型检验与运行时检验中的监控技术相结合的方法,将整个社交网络模型构建为一个基于知识逻辑(Knowledge Based Logic,KBL)拓展的离散时间马尔科夫链(Discrete Time Markov Chains,DTMC)模型,将社交网络用户的隐私设置形式化表述为概率计算树逻辑(Probabilistic Computation Tree Logic,PCTL)[23],同时加入运行时验证理论中的参数化技术。通过向待验证的社交网络系统植入监控器P-monitor,获取待监控用户进行验证时所需的隐私数据作为参数传入随机模型检验工具,然后依据事先给定的隐私规约,若满足规约则继续监控,若不满足则给出反例和提示,提醒用户进行相应的更改和操作,以防止隐私信息泄露。
3 基于KBL的PCTL转换算法 3.1 KBL定义及相关概念定义1(KBL)给定非空的命题集合P,用户i,
$ {K}_{i}φ \left(\mathrm{b}\mathrm{a}\mathrm{s}\mathrm{i}\mathrm{c}\,\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{l}\mathrm{e}\mathrm{d}\mathrm{g}\mathrm{e}\right):\mathrm{a}\mathrm{g}\mathrm{e}\mathrm{n}\mathrm{t}\,i\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{s}\,φ $ |
$ {E}_{G}φ \left(\mathrm{c}\mathrm{o}\mathrm{m}\mathrm{m}\mathrm{o}\mathrm{n}\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{l}\mathrm{e}\mathrm{d}\mathrm{g}\mathrm{e}\right):\\ \mathrm{e}\mathrm{v}\mathrm{e}\mathrm{r}\mathrm{y}\,\mathrm{a}\mathrm{g}\mathrm{e}\mathrm{n}\mathrm{t}\,\mathrm{i}\mathrm{n}\,\mathrm{g}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}\,G\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{s}φ $ |
$ {S}_{G}φ \left(\mathrm{s}\mathrm{o}\mathrm{m}\mathrm{e}\mathrm{o}\mathrm{n}\mathrm{e}\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{l}\mathrm{e}\mathrm{d}\mathrm{g}\mathrm{e}\right):\\ \mathrm{s}\mathrm{o}\mathrm{m}\mathrm{e}\mathrm{o}\mathrm{n}\mathrm{e}\,\mathrm{a}\mathrm{g}\mathrm{e}\mathrm{n}\mathrm{t}\,\mathrm{i}\mathrm{n}\,\mathrm{g}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}\,G\,\mathrm{k}\mathrm{n}\mathrm{o}\mathrm{w}\mathrm{s}\,φ $ |
对于社交网络模型
$ \mathrm{S}\mathrm{N}, u\models \neg p\,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\neg p\in v\left(u\right) $ |
$ \mathrm{S}\mathrm{N}, u\models p\,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,p\in v\left(u\right) $ |
$ \mathrm{S}\mathrm{N}, u\models \neg φ \,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\mathrm{S}\mathrm{N}, u\models \neg φ $ |
$ \mathrm{S}\mathrm{N}, u\models \gamma \wedge φ \,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\mathrm{S}\mathrm{N}, u\models \gamma \,\mathrm{a}\mathrm{n}\mathrm{d}\,u\models φ $ |
$ \mathrm{S}\mathrm{N}, u\models {K}_{i}φ \,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\left\{\begin{array}{l}φ \in \mathrm{k}\mathrm{b}\left(i\right),φ ={K}_{j}φ \text{'}, j\in \mathrm{A}\mathrm{g}\\ \mathrm{S}\mathrm{N}, i\models φ \end{array}\right. $ |
$ \mathrm{S}\mathrm{N}, u\models {E}_{G}φ \,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\,\mathrm{S}\mathrm{N}, i\models {K}_{i}φ \,\mathrm{f}\mathrm{o}\mathrm{r}\,\mathrm{a}\mathrm{l}\mathrm{l}\,i\,\mathrm{i}\mathrm{n}\,G $ |
$ \mathrm{S}\mathrm{N}, u\models {S}_{G}φ \,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\mathrm{S}\mathrm{N}, i\models {K}_{i}φ \,\mathrm{f}\mathrm{o}\mathrm{r}\,\mathrm{t}\mathrm{h}\mathrm{e}\mathrm{r}\mathrm{e}\,\mathrm{e}\mathrm{x}\mathrm{i}\mathrm{s}\mathrm{t}\,i\,\mathrm{i}\mathrm{n}\,G $ |
由于利用KBL表述用户知识库状态,因此通过判断知识库状态可验证隐私信息是否泄露,但是KBL无法应用于随机模型检验及使用PRISM工具进行自动化验证,本文设计一种将KBL转换为PCTL的算法,通过该算法可将KBL转换成在PRISM进行验证的PCTL语法。
算法1 基于KBL的PCTL转换算法
输入 P-monitor:< User,timer,location,list,operation >
输出
1.let set s=Null//设置初始满足状态集合s为
2.//according to the parameters create graph G(node,kb)
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.//依据监控器post参数及block参数设置权限
21.
22.
23.
24.
25.
26.
通过该算法可实现以下功能:1)基于监控器参数生成用户社交关系图;2)基于用户屏蔽对象实现不同用户的知识库更新策略;3)基于用户知识库确定用户状态,依据用户状态确定可达目标集合
定理1 基于KBL的DTMC模型为可终止。
证明 令M= < S,< action,p > ,linit,AP,L > ,
1)在有穷状态下,可知路径集合
$ p= \mathrm{P}{\mathrm{r}}^{M}\left(◊B=\sum\limits _{{s}_{0}, {s}_{1}, \cdots , {s}_{n}\in {P}_{\mathrm{a}\mathrm{t}\mathrm{h}\mathrm{s}}\left(M\right)\bigcap \left(S\setminus B\right)\times B}\mathrm{P}{\mathrm{r}}^{M}\left(\mathrm{C}\mathrm{y}\mathrm{l}\left({s}_{0}, {s}_{1}, \cdots , {s}_{n}\right)\right)\right) $ | (1) |
其中,
2)在无穷路径状态下,对于任意状态
$ {p}_{s}=\sum\limits _{t\in S\setminus B}P\left(s, t\right)\cdot {p}_{t}+\sum\limits _{u\in B}P\left(s, u\right) $ | (2) |
对于任意状态
(1)从
(2)从
$ {\mathit{\boldsymbol{X}}}={\mathit{\boldsymbol{A}}}{\mathit{\boldsymbol{X}}}+{\mathit{\boldsymbol{b}}} $ | (3) |
其中,A代表
$ \left({\mathit{\boldsymbol{I}}}-{\mathit{\boldsymbol{A}}}\right)\cdot {\mathit{\boldsymbol{X}}}={\mathit{\boldsymbol{b}}} $ | (4) |
其中,
设
综上所述,当路径为有限路径时到达集合
定理2 基于KBL的DTMC模型保证在PCTL转换算法执行前后及执行过程中都可以正确迭代用户知识库状态。
证明 使用循环不变式证明PCTL转换算法的正确性,需要证明在算法执行前、执行时及结束时均能正确迭代用户知识库状态。
1)算法执行前:循环不变式成立,监控器中的关系列表、图G中所有用户节点、用户知识库kb、集合S均为Ø,即在循环开始前满足监控器参数与用户社交图的对应关系,屏蔽对象、
2)算法执行时:在第1个
3)算法结束时:第1个
依据算法1的第2行~第11行,遍历监控器的整个用户关系列表,创建社交关系图,所需的时间复杂度为
引理1 若用户设置
证明
1)算法执行前:此时未创建用户关系节点图,
2)算法执行时:依据list参数生成关系表,并根据算法1的第13行~第18行,根据block参数为非block节点更新知识库
3)算法结束时:用户关系节点图及用户知识库更新完毕。循环遍历G中所有节点知识库
引理2 若用户设置
证明
1)算法执行前:此时未创建用户关系节点图,
2)算法执行时:依据list参数生成关系表,并根据算法1中的第21行~第26行以及block参数为非block节点更新知识库
3)算法结束时:用户关系节点图及用户知识库更新完毕。循环遍历G中所有节点知识库
通过算法1转换后的
$ φ \colon\colon =\mathrm{t}\mathrm{r}\mathrm{u}\mathrm{e}\left|{K}_{i}a\left|{φ }_{1}\wedge {φ }_{2}\left|\neg φ \left|{P}_{~p}\left[\psi \right]\right.\right.\right.\right. $ |
$ \psi \colon\colon =φ \left|{φ }_{1}\bigcup {φ }_{2}\left|{φ }_{1}{\bigcup }^{\le n}{φ }_{2}\right.\right. $ |
其中,
$ s\models {K}_{i}a\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,a\in L\left(s\right) $ |
$ s\models \,\neg φ \,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,s⊭φ $ |
$ s\models {φ }_{1}\wedge {φ }_{2}\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,s\models {φ }_{1}\mathrm{a}\mathrm{n}\mathrm{d}s\models {φ }_{2} $ |
$ s\models {P}_{~p}\left[\psi \right]\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\mathrm{P}\mathrm{r}\left(s\models φ \right)\in p $ |
其中,
路径公式
$ \pi \models ○φ \,\,\,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\,\,\pi \left[1\right]\models φ $ |
$ \begin{array}{l}\pi \,\models {φ }_{1}\bigcup {φ }_{2}\,\,\,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\,\,\exists j\ge 0\left(\pi \left[j\,\right]\models {φ }_{2}\wedge \right.\\ \left.\left(\exists 0\le k\le j\,\right).\pi \left[k\,\right]\models {φ }_{1}\right)\end{array} $ |
$ \pi \models {φ }_{1}{\bigcup }^{\le n}{φ }_{2}\,\,\,\,\,\,\,\mathrm{i}\mathrm{f}\mathrm{f}\,\,\,\,\,\exists 0\le j\le n\left(\pi \left[j\right]\models {φ }_{2}\wedge \\ \left(\exists 0\le k\le j\right).\pi \left[k\right]\models {φ }_{1}\right) $ |
其中,路径
为满足用户的隐私保护需求,在形式化表述的静态隐私规约的基础上加入
1)对于用户A:用户A不希望用户B知道其所发的某一条动态
2)对于社交网络模型SN而言,整个系统需求要求用户B知道用户A所发的某一条动态
为表述方便,静态隐私规约1也可以表述为
动态隐私与静态隐私的区别在于动态隐私可根据预先设定的触发条件对隐私设置进行更改,静态隐私则是如果用户不主动进行更改则一直维持该设置,因此本文将动态隐私表示为a→b的形式,即如果满足条件a,那么就执行b,将动态隐私设置分解为a→b的形式并依据触发条件的不同,将动态隐私设置主要分为基于时间的动态隐私设置(BOT)、基于地点的动态隐私设置(BOL)、基于事件的动态隐私设置(BOE)3类,具体为:
1)基于时间的动态隐私设置。触发条件为时间,当系统内部时间满足条件a时会触发条件b,定义动态隐私规约1为在社交网络中某一用户u希望对其工作时间和非工作时间进行区分,非工作时间避免同事们打扰,可设置如下的BOT规则:在非工作时间第1天晚上20:00至第2天早上08:00,不希望college列表中的同事们看到自己的某一条动态
2)基于地点的动态隐私设置。触发条件为地点,当系统内部定位的地点满足条件时会触发条件,定义动态隐私规约2为在社交网络中某一用户u希望对其工作地点和非工作地点进行区分,只在工作地点(company)所发表的动态才会被同事们所看到,可设置如下BOL规则:只在工作地点所发表的动态可被college列表中的同事所看见,用PCTL可表示为
3)基于事件的动态隐私设置。触发条件为事件,当系统内检测到满足条件的事件发生时就会触发条件,定义动态隐私规约3为某一用户u希望能更加灵活地管理自己的朋友列表,为防止自己的动态被人无限制转发,可设置如下BOE规则:只有当好友a点赞并评论自己所发的某条动态后,该好友才有权限转发该动态,否则不给予其转发该条动态的权限,用PCTL可表示为
由于动态隐私设置需要依据触发条件来动态更改用户的社交网络结构,因此本文需先对静态隐私设置进行更改以满足动态隐私需求。设置一个临时屏蔽分组(block),在分组中存储不满足动态隐私规范而被临时屏蔽的好友,基于时间的动态隐私保护框架如图 3所示。
![]() |
Download:
|
图 3 基于时间的动态隐私保护框架 Fig. 3 Dynamic privacy protection framework based on time |
当不满足迁移条件的好友被移到block分组时,若一旦监控器监测到条件满足,则会将block分组中的好友移回原分组。基于地点和事件的动态隐私保护框架如图 4、图 5所示,其中,like(φ)=μ表示用户μ对动态φ进行点赞,comment(φ)=μ表示用户μ对动态φ进行评论,reposted(φ)=μ表示用户
![]() |
Download:
|
图 4 基于地点的动态隐私保护框架 Fig. 4 Dynamic privacy protection framework based on location |
![]() |
Download:
|
图 5 基于事件的动态隐私保护框架 Fig. 5 Dynamic privacy protection framework based on event |
对于静态隐私保护框架,终端用户设置隐私规约后发送给服务器或转发设备,服务器接受隐私规约后进行数据融合更新,本文对静态隐私保护框架的DTMC建模如图 6所示。若状态间未标明转移概率,则默认其转移概率为1,系统状态及其含义如表 1所示。
![]() |
Download:
|
图 6 基于静态隐私保护框架的DTMC模型 Fig. 6 DTMC model based on static privacy protection framework |
![]() |
下载CSV 表 1 系统状态及其含义 Table 1 System status and its meaning |
社交网络用户将新的隐私设置发送给服务器,但服务器和用户之间的通信协议存在一定的随机性,即服务器可能有
本文根据动态隐私保护框架,将其分为社交网络模型SN和隐私监控器P-monitor两部分进行建模。社交网络模型如图 7所示,其中实线单向箭头、实线双向箭头、虚线单向箭头、点划线单向箭头分别代表用户节点之间的好友、同事、屏蔽、陌生人4种社交关系。
![]() |
Download:
|
图 7 社交网络模型 Fig. 7 Social network model |
定义2 (P-monitor) P-monitor= < User,timer,location,list,operation > ,其中:User表示记录被监控的社交网络用户,返回值是用户
将隐私监控器P-monitor植入社交网络模型中,结合随机模型检验工具,构建基于动态隐私保护框架的DTMC模型,如图 8所示。
![]() |
Download:
|
图 8 基于动态隐私保护框架的DTMC模型 Fig. 8 DTMC model based on dynamic privacy protection framework |
在动态隐私保护框架中发送给服务器更新隐私规约这部分内容与静态隐私保护框架相同,不同的是在动态隐私保护框架下,用户会将动态隐私策略会发送给P-monitor。P-monitor与用户之间是一一对应关系,即每个使用静态隐私策略的用户都会在用户终端生成一个P-monitor,P-monitor可以执行服务器接收数据的功能,由于P-monitor与用户之间的通信也建立在通信协议的基础上,因此P-monitor有
由于当前社交网络均是非开源网络,因此本文选择开源社交网络软件验证社交网络的隐私泄露问题。Diaspora是一款由美国纽约大学学生所开发的基于Web的开源社交网络[24]。PRISM是一款由英国牛津大学Prof.Marta研究组研发的随机模型检验工具[25],被用于验证通信协议、密码协议和生物系统[26]等的可靠性,具有较好的检验效果。本文在Diaspora社交网络上植入监控器,并在PRISM随机模型检验工具上进行验证。实验共分为静态隐私验证和动态隐私验证两部分,其中:静态隐私部分针对静态隐私规约1;动态隐私部分针对动态隐私规约1和3。整体实验运行基于PRISM4.5,假定Diaspora服务器端接收用户发送信息失败的概率
对于静态隐私规约1,本文使用PRISM验证的结果为
对于动态隐私规约1,P-monitor输入参数如表 2所示,其中,User表示被监控的用户,timer表示时间记录器,location表示地点记录器,post表示被监控用户是否发表动态,reposted表示对动态进行转发的用户集合,like表示被对动态进行点赞的用户集合,dislike表示对动态不喜欢的用户集合,comment表示对动态进行评论的用户集合,
![]() |
下载CSV 表 2 动态隐私规约1的P-monitor输入参数 Table 2 P-monitor input parameters of dynamic privacy specification 1 |
通过实验数据发现,在服务器和监控器的容错概率下,使用监控器来保存动态隐私设置要比使用服务器来更新静态隐私设置的隐私泄露风险降低50%,这主要是因为两者架构不同,服务器是针对所有用户,存在拥塞和延迟,并且出错概率也大幅提高,但是监控器是针对个人用户,不存在拥塞和延迟,所以可以大幅降低隐私泄露风险。
为进一步验证动态隐私策略和静态隐私策略在时间维度上的隐私泄露风险,设定每一步长的reward为1,其中reward为执行图遍历算法的花费,通过实验对比分析不同时间维度下动态和静态隐私泄露风险,实验结果如图 9所示。静态DTMC模型内部各个节点的状态变化如图 10所示,其中,User表示被监控用户的节点状态,Agent表示代理服务器的节点状态。
![]() |
Download:
|
图 9 静态与动态隐私策略的隐私泄露风险对比 Fig. 9 Comparison of privacy disclosure risks between static and dynamic privacy strategy |
![]() |
Download:
|
图 10 静态DTMC模型节点状态迁移 Fig. 10 Node state transition of static DTMC model |
实验结果表明,在极短时间内动态隐私规约相比静态隐私规约出现了用户隐私信息泄露的情况,产生该情况的主要原因为动态隐私设置采用监控器直接对用户隐私设置进行保存和监控,同时考虑到监控器在接收用户数据信息时会产生一定的失败概率,并且监控器发生错误的情况要比服务器更快,因此在极短时间内,若监控器发生错误,则会比静态隐私保护框架下服务器发生错误的时间更短。但是从长时间而言,在稳定状态下动态隐私保护框架比静态隐私保护框架的用户隐私信息泄露风险更低,并且动态隐私规约也更灵活性。
对于动态隐私规约3,由于在动态隐私保护框架中隐私泄露的风险只与是否成功接收到被监控用户发送的数据有关,因此本文只验证在P-monitor未正常更新的情况下,由于用户的随机行为所产生的隐私泄露概率。假定用户设置的动态隐私设置未成功保存至P-monitor中,在该假设前提下P-monitor输入参数如表 3所示。动态DTMC模型内部各节点的状态变化如图 11所示,其中,Bob表示用户Bob的节点状态,Update表示监控器执行用户隐私设置的状态。
![]() |
下载CSV 表 3 动态隐私规约3的P-monitor输入参数 Table 3 P-monitor input parameters of dynamic privacy specification 3 |
![]() |
Download:
|
图 11 动态DTMC模型节点状态迁移 Fig. 11 Node state transition of dynamic DTMC model |
实验结果表明,本文设计的动态隐私保护框架通过植入P-monitor进行用户隐私设置,但不发送到服务器端,其主要原因为服务器端存在的接收失败、忙碌、更新失败等随机故障,会导致隐私泄露风险远大于用户需求。基于P-monitor的动态隐私保护框架通过动态的隐私设置,提高社交网络隐私设置的灵活性,并基于P-monitor与用户间一对一的监控结构,解决了服务器端存在的接收失败、忙碌、更新失败等随机故障,降低了用户隐私泄露风险。
7 结束语本文提出一种面向社交网络的动态隐私保护框架,结合随机模型检验与运行时验证技术,构建基于知识逻辑拓展的离散时间马尔科夫链模型,将用户隐私设置形式化表述为概率计算树逻辑,同时通过运行时验证中的参数化和监控技术实现用户隐私信息的保护。实验结果表明,与静态隐私保护框架相比,该动态隐私保护框架在提高用户隐私策略灵活性的同时降低了隐私泄露风险。但该框架中的动态隐私策略仅针对时间、地点和事件的触发条件,下一步将优化动态隐私保护框架,扩展动态隐私策略的应用范围,以满足多用户的个性化隐私保护需求。
[1] |
PARDO R, SCHNEIDER G. A formal privacy policy framework for social networks[C]//Proceedings of International Conference on Software Engineering and Formal Methods. Berlin, Germany: Springer, 2014: 378-392.
|
[2] |
COLOMBO C, PACE G J, SCHNEIDER G. Dynamic event-based runtime monitoring of real-time and contextual properties[C]//Proceedings of International Workshop on Formal Methods for Industrial Critical Systems. Berlin, Germany: Springer, 2008: 135-149.
|
[3] |
KOZUCH K. Facebook slammed with $5 billion fine for privacy fails[EB/OL]. [2020-02-01]. https://www.twice.com/keeping-current/facebook-slammed-with-5-billion-fine-for-privacy-fails.
|
[4] |
LIU Y, GUMMADI K P, KRISHNAMURTHY B, et al. Analyzing Facebook privacy settings: user expectations vs. reality[C]//Proceedings of 2011 ACM SIGCOMM Conference on Internet Measurement. New York, USA: ACM Press, 2011: 61-70.
|
[5] |
LIU Yang, LI Xuandong, MA Yan, et al. Survey for stochastic model checking[J]. Chinese Journal of Computers, 2015, 38(11): 2145-2162. (in Chinese) 刘阳, 李宣东, 马艳, 等. 随机模型检验研究[J]. 计算机学报, 2015, 38(11): 2145-2162. |
[6] |
CLARKE E M, EMERSON E A, SIFAKIS J. Model checking: algorithmic verification and debugging[J]. Communications of the ACM, 2009, 52(11): 74-84. DOI:10.1145/1592761.1592781 |
[7] |
KWIATKOWSKA M, NORMAN G, PARKER D. Stochastic model checking[C]//Proceedings of International Conference on Formal Methods for the Design of Computer, Communication and Software Systems. Berlin, Germany: Springer, 2007: 220-270.
|
[8] |
BODDEN E, LAM P, HENDREN L. Partially evaluating finite-state runtime monitors ahead of time[J]. ACM Transactions on Programming Languages and Systems, 2012, 34(2): 7-12. |
[9] |
JOSHAGHANI R, MEHRPOUYAN H. A model-checking approach for enforcing purpose-based privacy policies[C]//Proceedings of Privacy-Aware Computing Conference. Washington D.C., USA: IEEE Press, 2017: 178-179.
|
[10] |
BHATIA J, BREAUX T D. A data purpose case study of privacy policies[C]//Proceedings of the 25th International Requirements Engineering Conference. Washington D.C., USA: IEEE Press, 2017: 394-399.
|
[11] |
WANG Xiaobing, SUN Tao. A method based on MSVL for verification of the social network privacy policy[C]//Proceedings of International Workshop on Structured Object-oriented Formal Language & Method. Berlin, Germany: Springer, 2015: 118-131.
|
[12] |
DENNIS L A, SLAVKOVIK M, FISHER M. "How did they know?"-model-checking for analysis of information leakage in social networks[M]//CRANEFIELD S, MAHMOUD S, PADGET J, et al. Coordination, organizations, institutions, and norms in agent systems XⅡ. Berlin, Germany: Springer, 2016: 42-59.
|
[13] |
KOLEINI M, RYAN M. A knowledge-based verification method for dynamic access control policies[C]//Proceedings of International Conference on Formal Methods & Software Engineering. Berlin, Germany: Springer, 2011: 243-258.
|
[14] |
LI Fenghua, SUN Ze, NIU Ben, et al. A framework of private images sharing across social networks[J]. Journal on Communications, 2019, 40(7): 1-13. (in Chinese) 李凤华, 孙哲, 牛犇, 等. 跨社交网络的隐私图片分享框架[J]. 通信学报, 2019, 40(7): 1-13. |
[15] |
LI Yuanhang, CHEN Xianlai, LIU Li, et al. Random forest algorithm for differential privacy protection[J]. Computer Engineering, 2020, 46(1): 93-101. (in Chinese) 李远航, 陈先来, 刘莉, 等. 面向差分隐私保护的随机森林算法[J]. 计算机工程, 2020, 46(1): 93-101. |
[16] |
WU Xu, LUO Min. Privacy-preserving method of location based service in sparse environment[J]. Computer Engineering, 2017, 43(5): 108-114. (in Chinese) 伍旭, 罗敏. 稀疏环境下基于位置服务的隐私保护方法[J]. 计算机工程, 2017, 43(5): 108-114. |
[17] |
CASTIGLIONI V, CHATZIKOKOLAKIS K, PALAMIDESSI C. A logical characterization of differential privacy[J]. Science of Computer Programming, 2020, 188: 57-88. |
[18] |
FILIERI A, GHEZZI C, TAMBURRELLI G, et al. Run-time efficient probabilistic model checking[C]//Proceedings of International Conference on Software Engineering. New York, USA: ACM Press, 2011: 341-350.
|
[19] |
BARTOCCI E, BORTOLUSSI L, NENZI L, et al. System design of stochastic models using robustness of temporal properties[J]. Theoretical Computer Science, 2015, 587: 3-25. DOI:10.1016/j.tcs.2015.02.046 |
[20] |
HINRICHS T L, SISTLA A P, ZUCK L D. Model check what you can, runtime verify the rest[C]//Proceedings of HOWARD'14. Berlin, Germany: Springer, 2014: 11-25.
|
[21] |
FILIERI A, GHEZZI C, TAMBURRELLI G. Run-time efficient probabilistic model checking[C]//Proceedings of the 33rd International Conference on Software Engineering. New York, USA: ACM Press, 2011: 341-350.
|
[22] |
PACE G J, PARDO R, SCHNEIDER G. On the runtime enforcement of evolving privacy policies in online social networks[C]//Proceedings of International Symposium on Leveraging Applications of Formal Methods. Berlin, Germany: Springer, 2016: 407-412.
|
[23] |
HANSSON H, JONSSON B. A logic for reasoning about time and reliability[J]. Formal Aspects of Computing, 1994, 6(5): 512-535. DOI:10.1007/BF01211866 |
[24] |
Diaspora[EB/OL]. [2020-02-01]. https://diasporafoundation.org/.
|
[25] |
KWIATKOWSKA M, NORMAN G, PARKER D, et al. PRISM 4.0: verification of probabilistic real-time systems[C]//Proceedings of the 23rd International Conference on Computer Aided Verification. Berlin, Germany: Springer, 2011: 585-591.
|
[26] |
PRISM: probabilistic symbolic model checker[EB/OL]. [2020-02-01]. http://www.prismmodelchecker.org.
|