«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 35-42, 52  DOI: 10.19678/j.issn.1000-3428.0062953
0

引用本文  

谢娜, 谭文安, 曹彦, 等. 移动边缘计算中安全信息流建模与分析[J]. 计算机工程, 2022, 48(5), 35-42. DOI: 10.19678/j.issn.1000-3428.0062953.
XIE Na, TAN Wenan, CAO Yan, et al. Modeling and Analysis of Security Information Flow in Mobile Edge Computing[J]. Computer Engineering, 2022, 48(5), 35-42. DOI: 10.19678/j.issn.1000-3428.0062953.

基金项目

国家自然科学基金(61672022,U1904186);河南省科技公关项目(222102210048);河南省高等学校重点科研项目(22A520040)

作者简介

谢娜(1981—),女,博士研究生,主研方向为边缘计算、信息安全;
谭文安,教授、博士;
曹彦,讲师、博士;
赵璐,博士研究生

文章历史

收稿日期:2021-10-13
修回日期:2021-12-01
移动边缘计算中安全信息流建模与分析
谢娜1 , 谭文安1,2 , 曹彦1,3 , 赵璐1     
1. 南京航空航天大学 计算机科学与技术学院,南京 211106;
2. 上海第二工业大学 计算机与信息工程学院,上海 201209;
3. 许昌学院 信息工程学院,河南 许昌 461000
摘要:在移动边缘计算中,移动终端身份存在复杂性和动态性,对于高安全领域的任务卸载,需要对被卸载的任务进行实时跟踪,及时发现滥用行为才能保证任务卸载的安全性。然而,现有方法多基于信任评估机制选择高信任度节点进行卸载,并没有关注该节点自身发起的内部攻击问题。提出一种支持安全性分析的任务卸载方法。设计包含安全性分析的任务卸载流程,构建面向移动边缘计算的多级安全信息流模型,用于约束服务卸载、数据卸载和服务执行过程。在此基础上,基于偶图对任务卸载过程进行建模,构造标注迁移边的标号变迁系统,并利用模型检测技术验证是否满足相应的安全需求。案例分析和性能评估结果表明,该方法能够在秒级时间内预测任务卸载中的恶意行为,具有较好的可行性和有效性。
关键词移动边缘计算    任务卸载    安全信息流模型    偶图    模型检测    
Modeling and Analysis of Security Information Flow in Mobile Edge Computing
XIE Na1 , TAN Wenan1,2 , CAO Yan1,3 , ZHAO Lu1     
1. School of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China;
2. School of Computer and Information Engineering, Shanghai Polytechnic University, Shanghai 201209, China;
3. College of Information Engineering, Xuchang University, Xuchang, Henan 461000, China
Abstract: In Mobile Edge Computing(MEC), the identity of mobile terminal is complex and dynamic.For task unloading in high security field, it is necessary to track the unloaded tasks in real time and find abuse in time to ensure the security of task unloading.However, most existing works focus on the trust evaluation method to select the high-trust node for offloading tasks and fail to pay attention to the problem of the node in launching internal attacks.Therefore, this study proposes a task offloading method that supports security analysis to solve this problem.A task offloading flow path supporting security analysis is presented, and a multilevel security information flow model for MEC is proposed to constrain service offloading, data offloading and service execution.Based on the formal method bigraph, the task offloading process is modeled as a labeled transition system which marks transfer edge.The satisfaction of the security requirements is verified using model-checking technology.The proposed method predicts malicious behavior during task unloading in seconds, and it has good feasibility and effectiveness.
Key words: Mobile Edge Computing(MEC)    task offloading    security information flow model    bigraph    model checking    

开放科学(资源服务)标志码(OSID):

0 概述

随着计算机技术的发展,物联网终端和移动智能终端的数量激增,如智能手表、平板电脑、智能手机等,移动终端正在从简单的通话工具转变成综合信息处理平台。由于移动终端自身资源及计算能力的有限性,其在处理计算密集型应用时面临着计算能力不足的问题。移动云计算可将移动设备中的计算任务卸载到云端,由云中心集中进行处理,为那些资源受限的移动设备提供计算支持[1-2]。然而这种计算模式也存在一定局限性:一方面,终端设备产生的海量数据对网络传输造成了很大压力;另一方面,云服务器与移动设备间远距离造成较长的传输时延,无法满足电子医疗、无人驾驶等低时延移动应用要求。

为了解决上述问题,移动边缘计算作为移动云计算的互补泛型被提出。与移动云计算不同,服务器部署在靠近移动用户的位置,移动用户通过将计算任务卸载到边缘服务器上或周边空闲移动终端中,以满足快速交互响应的需求[3-4]。尽管任务卸载为移动用户提供了低延时的任务处理方式,但由于提供计算资源的移动终端身份具有复杂性和动态性,这对被卸载任务的安全性提出了新的挑战[5-7]。移动终端获取任务后具有任务的控制权,有可能滥用该资源,违背任务发布者的安全需求。现有解决这一问题的方法多是通过信任评估机制对移动终端的信任度进行评价,选取信任度较高的移动终端作为目的设备进行任务卸载[8-9]。信任评价因素主要包括其他交互设备对移动终端的信任评价、移动终端成功完成任务的比率等[10-11],但这些评估机制并没有关注移动终端自身可能存在的恶意行为。一方面,高信任度节点仍有可能发起内部攻击,滥用设备上的资源;另一方面,任务发布者也并不知道卸载出去的任务是如何被滥用的。因此,对于高安全领域的任务卸载,需要对被卸载的任务进行实时跟踪,及时发现滥用行为才能从根本上保证任务卸载的安全性。

为提高任务卸载的安全性,本文构造支持安全性分析的任务卸载流程,提出一个边缘服务器管辖范围内的上下文信息模型,实现对卸载任务的实时跟踪。在此基础上,构建面向移动边缘计算的多级安全信息流模型,通过对设备、服务和数据赋予一定的安全等级,约束服务流、数据流和服务执行过程。此外,基于MINLER等提出的形式化模型偶图[12]描述移动边缘计算的上下文信息,利用偶图反应规则建模任务卸载过程,构造标注迁移边的标号变迁系统,实现对卸载任务的跟踪。

1 相关工作

任务卸载的安全性问题得到了研究者的广泛关注,目前的研究大多集中在信任度评估方法上。文献[13]针对混合云场景中私有云需要将部分任务卸载到公有云时的安全性问题,提出了基于贝叶斯网络的信任模型,并给出了评估算法以实现私有云对公有云中服务声誉的评估。文献[14]在移动云计算中提出了一种任务卸载的信任度评估方法,基于移动用户对边缘服务器的打分结果对边缘服务器的声誉进行计算,为其他移动用户的任务卸载提供参考。以上工作针对的是混合云或者移动云计算场景。在移动边缘计算环境中,文献[8]基于改进的哈希函数构建了一个信任模型用于评估移动终端之间的可信关系。文献[9]介绍并提出了一个信任感知的任务卸载策略,首先基于机器学习分类方法对移动终端进行身份可信性和行为可信性评估,然后基于该信任评估结果,选取降低时延或能耗的终端为卸载目标节点。文献[15]针对移动边缘计算,提出了三层信任评估框架,边缘服务器对进入其管辖范围内的节点进行身份信任、能力信任和行为信任的评估,同时还提出了信任评估模型,该模型根据上下文环境不断更新移动终端的信任评估结果。以上工作都是通过信任评估机制决定任务卸载目标,并不关注恶意行为本身,无法应对高信任度节点发起的内部攻击。

目前,已有工作采用形式化方法分析云计算环境中的信息流安全性。文献[16]提出了一种服务组合安全隐私信息流静态分析方法,构建了服务信誉度、隐私数据使用目的及保留期限的格模型,利用隐私工作流网建模服务组合流程,分析服务执行过程中用户隐私的非法泄露问题。文献[17]面向云计算中的SaaS层,提出了IFCaaS分析框架,将信息流控制作为SaaS层应用程序的安全验证手段。文献[18]针对联邦云场景,利用有色Petri网在不同云之间的流动建模服务和数据以及访问控制的读写操作,以避免恶意节点发起的内部攻击。以上工作均是针对云计算环境,未考虑移动终端及服务的动态性,因此不适用于移动边缘计算场景。

从安全保障机制、服务动态性和移动动态性三个方面对相关工作进行对比分析,如表 1所示,其中:√表示支持;×表示不支持。

下载CSV 表 1 不同研究方法的比较 Table 1 Comparison of different research methods
2 移动边缘计算中支持安全性分析的任务卸载 2.1 移动边缘计算中的任务卸载流程

移动边缘计算中的任务卸载是指移动用户将自身设备上产生的计算密集型或延迟敏感型任务迁移到边缘服务器或者周边空闲移动设备上执行。支持安全性分析的任务卸载流程如图 1所示。

Download:
图 1 支持安全性分析的任务卸载流程 Fig. 1 Task offloading procedure with security analysis

1)上下文信息感知:移动边缘服务器获取其管辖范围内移动设备的位置、任务代码和数据的存储位置、移动设备中剩余的计算资源等信息。

2)节点发现:移动终端通过询问移动边缘服务器获取其邻近区域内可用的计算资源,这些资源包括边缘服务器上的资源和周边移动终端上的空闲资源。

3)任务分割:移动终端对需要处理的任务进行分割,在分割过程中尽量保持程序功能的完整性,便于后续进行卸载。

4)卸载决策:根据可用的计算资源和任务分割结果,选取任务卸载策略。

5)任务传输:将需要卸载的任务,包括任务代码和任务的数据输入,依据卸载策略传输到目的设备。在此过程中移动设备存储状态改变,因此,更新上下文信息模型。

6)执行计算:目的设备通过启动虚拟机机制,对卸载到该设备中的任务进行计算。

7)结果回传:目的设备将计算结果回传给任务的发布者。

8)任务删除:目的设备将卸载的代码以及计算结果删除。

通过对以上过程进行分析可知,为保证被卸载任务的安全性,需要考虑三个方面:一是卸载的安全性,即要保证任务代码(后面将其称为服务)和数据被卸载到安全的目的设备中;二是执行的安全性,即卸载数据在目的设备中被正确执行,如卸载数据不能被低等级服务执行;三是删除的安全性,即计算结果回传后或任务执行中断后目的设备要删除与任务相关的信息。

2.2 任务卸载的安全性分析框架

为了实现安全的任务卸载,本文提出任务卸载的安全性分析框架,具体流程如图 2所示。首先利用偶图建立上下文环境信息模型,描述当前环境下设备位置、服务和数据存储位置、服务-数据输入关系、实体安全等级等信息;其次基于偶图反应规则建模任务卸载过程,包括任务迁移、服务执行、结果回传及任务删除;然后建立以偶图模型为初始状态点,任务卸载过程中标注迁移边的标号变迁系统;最后通过模型检测技术验证卸载安全、服务执行安全以及删除安全的可满足性。

Download:
图 2 任务卸载安全性分析框架 Fig. 2 Security analysis framework of task offloading
3 安全信息流需求描述

为约束服务和数据被卸载的过程及服务执行的过程,本文构建了多级别的安全信息流模型。

定义1  面向移动边缘计算的多级安全信息流模型具体定义如下:

1)$ D=\left\{{d}_{i}\right|i\in \mathbb{N}\} $,表示边缘服务器和愿意贡献设备资源的移动终端集合。

2)$ S=\left\{{s}_{i}\right|i\in \mathbb{N}\} $,表示服务(任务)集合。

3)$ O=\left\{{o}_{i}\right|i\in \mathbb{N}\} $,表示数据集合。

4)$ A=\left\{{a}_{i}\right|i\in \mathbb{N}\} $,其中$ {a}_{i} $表示边缘服务器$ {d}_{i} $可以提供计算能力的区域范围。

5)$ {L}_{\mathrm{s}\mathrm{e}\mathrm{c}}=\{{\ell }_{\mathrm{s}\mathrm{e}\mathrm{c}}, {\le }_{\mathrm{s}\mathrm{e}\mathrm{c}}\} $,为安全等级的格模型。

6)$ \gamma :D\bigcup S\bigcup O\to {L}_{\mathrm{s}\mathrm{e}\mathrm{c}} $,表示设备、服务和数据的安全等级。设备的安全等级为设备的信任度的等级,服务和数据的安全等级为被卸载代码和数据的隐私敏感度。

7)$ \mathrm{l}\mathrm{o}\mathrm{c}1:S\bigcup O\to D $,表示服务和数据所处的位置。

8)$ \mathrm{l}\mathrm{o}\mathrm{c}2:D\to A $,表示设备所处的区域。

9)$ I:O\to S $,表示数据$ O $是服务$ S $的输入数据。

10)服务流和数据流的安全约束:$ r\left(\mathrm{l}\mathrm{o}\mathrm{c}\right(s\left)\right)\ge $ $ r\left(s\right) $$ r\left(\mathrm{l}\mathrm{o}\mathrm{c}\right(o\left)\right)\ge r\left(o\right) $,表示服务和数据只能部署在比它们安全等级高或者相等的设备上。

11)服务执行的安全约束:$ r\left({o}_{i}^{s}\right)\le r\left(s\right) $$ r\left(s\right)\le $ $ r\left({o}_{o}^{s}\right) $,表示数据不能被低等级的服务执行,服务输出结果的等级高于或等于服务的等级。其中:$ {o}_{i}^{s} $表示服务$ s $的输入数据,$ {o}_{o}^{s} $表示服务$ s $的输出数据。

为便于讨论,设$ {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}=\{\mathrm{N}, \mathrm{L}, \mathrm{M}, \mathrm{H}, \mathrm{T}\mathrm{H}\} $。当$ {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}} $表示设备的信任度时,$ \mathrm{N}\mathrm{、}\mathrm{L}\mathrm{、}\mathrm{M}\mathrm{、}\mathrm{H}\mathrm{、}\mathrm{T}\mathrm{H} $分别表示不信任、低信任度、中信任度、高信任度和完全信任;当$ {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}} $表示服务和数据的隐私敏感度时,$ \mathrm{N}\mathrm{、}\mathrm{L}\mathrm{、}\mathrm{M}\mathrm{、}\mathrm{H}\mathrm{、}\mathrm{T}\mathrm{H} $分别表示无隐私、低隐私敏感度、中隐私敏感度、高隐私敏感度和最高敏感度。

4 移动边缘计算中任务卸载过程建模

偶图是由图灵奖获得者MINLER等于2001年提出的一种基于图形的形式化理论工具,其融合了Pi演算和环境演算的优势,旨在强调计算(物理的和信息的)位置和连接[19]。本节利用偶图能够直观表达位置信息和连接信息的特点,建模任务卸载过程,分析卸载过程中的安全性。

4.1 偶图

偶图由位置图(place graph)和连接图(link graph)组成。位置图用于表示各个节点之间的嵌套关系和位置信息。如图 3中节点$ {v}_{1} $位于节点$ {v}_{0} $内,节点$ {v}_{0} $位于区域$ {R}_{0} $内,地点1位于节点$ {v}_{0} $内,地点0位于节点$ {v}_{2} $内。地点(site)是一类特殊的节点,用于抽象表示模型中暂时不关心的信息。在节点上可以定义端口(port),用黑色的圆点表示。控制(control)用于表达对一类节点的描述,相同控制的节点具有相同的端口数。连接图表示节点之间的连接关系,节点通过端口连接。连接边分为开放边和封闭边,外部名$ {y}_{0}\mathrm{、}{y}_{1}\mathrm{、}{y}_{2} $和内部名$ {x}_{0} $都为开放边,$ {e}_{0}\mathrm{、}{e}_{1} $都为封闭边。

Download:
图 3 偶图 Fig. 3 Bigraph

偶图能够比较直观地描述建模对象的位置信息和连接信息,具体定义如下:

定义2(偶图)  偶图$ \mathrm{F}=({V}_{\mathrm{F}}, {E}_{\mathrm{F}}, \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}}, \mathrm{p}\mathrm{r}\mathrm{n}{\mathrm{t}}_{\mathrm{F}}, \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{\mathrm{F}}): $ $ < m, X > \to < n, Y > $是由位置图$ {\mathrm{F}}^{\mathrm{P}} $与连接图$ {\mathrm{F}}^{\mathrm{L}} $组成的五元组。

1)位置图$ {\mathrm{F}}^{\mathrm{P}}=({V}_{\mathrm{F}}, \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}}, \mathrm{p}\mathrm{r}\mathrm{n}{\mathrm{t}}_{\mathrm{F}}):m\to n $。其中:$ m $为地点数;$ n $为区域数;$ {V}_{\mathrm{F}} $为节点集合;$ \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}} $为节点到控制的映射,$ \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}}: $$ {V}_{\mathrm{F}}\to K $$ \mathrm{p}\mathrm{r}\mathrm{n}{\mathrm{t}}_{\mathrm{F}} $为节点间嵌套关系,$ \mathrm{p}\mathrm{r}\mathrm{n}{\mathrm{t}}_{\mathrm{F}}:m $ $ \uplus $ $ {V}_{\mathrm{F}} $$ \to $$ {V}_{\mathrm{F}} $ $ \uplus $ n

2)连接图$ {\mathrm{F}}^{\mathrm{L}}=({V}_{\mathrm{F}}, {E}_{\mathrm{F}}, \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}}, \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{\mathrm{F}}):X\to Y $。其中:$ X $为内部名;$ Y $为外部名;$ {V}_{\mathrm{F}} $为节点集合;$ {E}_{\mathrm{F}} $为连接边集合;$ \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}} $为节点到控制的映射;$ \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{\mathrm{F}} $为边的连接关系,$ \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{\mathrm{F}}:X $ $ \uplus $ $ {P}_{\mathrm{F}} $$ \to $$ {E}_{\mathrm{F}} $ $ \uplus $ $ Y $$ {P}_{\mathrm{F}} $为节点端口集合。

在动态结构方面,偶图通过反应规则$ (R, {R'}) $对系统进行重构,反应规则中$ R $称为反应物,$ {R'} $称为生成物。如果反应物和偶图或者偶图部分匹配时,将偶图中与反应物匹配的部分替换成生成物,从而实现状态更新。

偶图的图形表示具有直观性的特点,但是不利于系统的理解和处理,因此,MINER等提出利用代数系统来描述偶图模型。相对于图形化的表示,代数系统便于系统的构建、演化和推导。偶图的项语言描述如表 2所示。

下载CSV 表 2 偶图项语言描述 Table 2 Description of term language in bigraph
4.2 上下文偶图模型

移动边缘计算中上下文环境信息包括设备位置、服务和数据的位置、服务和数据的输入关系以及实体的安全等级。设备中剩余的计算资源并不影响任务卸载的安全性,因此,模型中并不考虑该信息的表达。上下文环境到偶图的转换规则如下所示:

$ {V}_{\mathrm{F}}:D, S, O, A, {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}\Rightarrow {V}_{\mathrm{F}} $

/*设备、服务、数据、区域和安全等级到节点的映射*/

$ \mathrm{c}\mathrm{t}\mathrm{r}{\mathrm{l}}_{\mathrm{F}}:{V}_{\mathrm{F}}\to K $$ K=\{D:1, S:2, O:2, A:0, {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}:1\} $

/*节点到控制的映射*/

$ \mathrm{p}\mathrm{r}\mathrm{n}{\mathrm{t}}_{\mathrm{F}}:\mathrm{l}\mathrm{o}\mathrm{c}1\left(s\right)=d\Rightarrow s\to d $

/*服务-设备位置关系映射为节点嵌套关系*/

$ \mathrm{l}\mathrm{o}\mathrm{c}1\left(o\right)=d\Rightarrow o\to d $

/*数据-设备位置关系映射为节点嵌套关系*/

$ \mathrm{l}\mathrm{o}\mathrm{c}2\left(d\right)=a\Rightarrow d\to a $

/*设备-区域位置关系映射为节点嵌套关系*/

$ {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}=\{\mathrm{N}, \mathrm{L}, \mathrm{M}, \mathrm{H}, \mathrm{T}\mathrm{H}\}\Rightarrow {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}\to d $

/*安全等级节点嵌套在设备节点内*/

$ \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{\mathrm{F}}:O\to S\Rightarrow {P}_{\mathrm{F}}\left(O\right)\to {e}_{i}\wedge {P}_{\mathrm{F}}\left(S\right)\to {e}_{i} $

/*数据-服务输入关系到连接关系的映射*/

$ \gamma :S\to {L}_{\mathrm{s}\mathrm{e}\mathrm{c}}\Rightarrow {P}_{\mathrm{F}}\left(s\right)\to {e}_{i}\wedge {P}_{\mathrm{F}}\left(r\right(s\left)\right)\to {e}_{i} $

/*服务-等级关系到连接关系的映射*/

$ \gamma :O\to {L}_{\mathrm{s}\mathrm{e}\mathrm{c}}\Rightarrow {P}_{\mathrm{F}}\left(o\right)\to {e}_{i}\wedge {P}_{\mathrm{F}}\left(r\right(o\left)\right)\to {e}_{i} $

/*数据-等级关系到连接关系的映射*/

$ \gamma :D\to {L}_{\mathrm{s}\mathrm{e}\mathrm{c}}\Rightarrow {P}_{\mathrm{F}}\left(d\right)\to {e}_{i}\wedge {P}_{\mathrm{F}}\left(r\right(d\left)\right)\to {e}_{i} $

/*设备-等级关系到连接关系的映射*/

$ {E}_{\mathrm{F}}=\{{e}_{1}, {e}_{2}, \cdots \} $;/*边的集合*/

$ m=0 $;/*地点数*/

$ n=\left|\mathrm{A}\right| $;/*区域数*/

$ Y=\{a, b, c, \cdots \} $;/*外部名*/

$ X=\phi $;/*内部名*/

其中:设备、服务、区域以及安全等级都映射为节点;服务和数据处于哪个设备,设备处于哪个边缘服务器的区域范围都映射为节点之间的嵌套关系;设备、服务以及数据所拥有的安全等级、数据和服务之间的输入关系都映射为连接关系。

例1  假设边缘服务器Server的上下文环境信息如下:

1)设备集合$ D=\{\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}, \mathrm{D}1, \mathrm{D}2, \mathrm{D}3\} $

2)服务集合$ S=\{\mathrm{S}1, \mathrm{S}2, \mathrm{S}3, \mathrm{S}4\} $

3)数据集合$ O=\{\mathrm{O}1, \mathrm{O}2, \mathrm{O}3, \mathrm{O}4, \mathrm{O}5, \mathrm{O}6\} $

4)边缘服务器$ \mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r} $提供计算能力的区域范围,$ A=\left\{\mathrm{D}\mathrm{A}\right\} $

5)安全等级$ {\ell}_{\mathrm{s}\mathrm{e}\mathrm{c}}=\{\mathrm{N}, \mathrm{L}, \mathrm{M}, \mathrm{H}, \mathrm{T}\mathrm{H}\} $

6)$ \gamma \left(\mathrm{D}1\right)=\mathrm{T}\mathrm{H}, \gamma \left(\mathrm{D}2\right)=\mathrm{L}, \gamma \left(\mathrm{D}3\right)=\mathrm{M}, $

$ \begin{array}{l}\gamma \left(\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}\right)=\mathrm{T}\mathrm{H},\gamma \left(\mathrm{O}1\right)=\mathrm{L}, \gamma \left(\mathrm{O}2\right)=\mathrm{M}, \\ \gamma \left(\mathrm{O}3\right)=\mathrm{M}, \gamma \left(\mathrm{O}4\right)=\mathrm{H}, \gamma \left(\mathrm{O}5\right)=\mathrm{H}, \\ \gamma \left(\mathrm{O}6\right)=\mathrm{H}, \gamma \left(\mathrm{S}1\right)=\mathrm{L}, \gamma \left(\mathrm{S}2\right)=\mathrm{H}, \\ \gamma \left(\mathrm{S}3\right)=\mathrm{H}, \gamma \left(\mathrm{S}4\right)=\mathrm{M}\mathrm{。}\end{array} $

7)$ \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}1\right)=\mathrm{D}1, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}2\right)=\mathrm{D}1, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{S}1\right)=\mathrm{D}1 $

$ \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{S}2\right)=\mathrm{D}1, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}3\right)=\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{S}3\right)=\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}, $

$ \begin{array}{l}\mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}4\right)=\mathrm{D}3, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}6\right)=\mathrm{D}3, \\ \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}5\right)=\mathrm{D}2, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{S}4\right)=\mathrm{D}2,\end{array} $

$ \begin{array}{l}\mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}4\right)=\mathrm{D}3, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}6\right)=\mathrm{D}3, \\ \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{O}5\right)=\mathrm{D}2, \mathrm{l}\mathrm{o}\mathrm{c}1\left(\mathrm{S}4\right)=\mathrm{D}2\mathrm{。}\end{array} $

8)$ \mathrm{l}\mathrm{o}\mathrm{c}2\left(\mathrm{D}1\right)=\mathrm{D}\mathrm{A}, \mathrm{l}\mathrm{o}\mathrm{c}2\left(\mathrm{D}2\right)=\mathrm{D}\mathrm{A}, \mathrm{l}\mathrm{o}\mathrm{c}2\left(\mathrm{D}3\right)=\mathrm{D}\mathrm{A} $$ \mathrm{l}\mathrm{o}\mathrm{c}2\left(\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}\right)=\mathrm{D}\mathrm{A}\mathrm{。} $

相对应的偶图模型如图 4所示。

Download:
图 4 上下文偶图模型 Fig. 4 Bigraph model of context information

图 4对应的项语言描述为:

$ \begin{array}{l}\mathrm{D}\mathrm{A}.\left(\mathrm{D}1\right[{\mathrm{e}}_{1}].(\mathrm{N}\left[\mathrm{a}\right]\left|\mathrm{L}\right[{\mathrm{e}}_{2}\left]\right|\mathrm{M}\left[{\mathrm{e}}_{3}\right]\left|\mathrm{H}\right[{\mathrm{e}}_{4}\left]\right|\mathrm{T}\mathrm{H}\left[{\mathrm{e}}_{1}\right]\left|\mathrm{O}1\right[{\mathrm{e}}_{2}, {\mathrm{e}}_{5}\left]\right|\\ \mathrm{S}1[{\mathrm{e}}_{2}, {\mathrm{e}}_{5}]\left|\mathrm{O}2\right[{\mathrm{e}}_{3}, {\mathrm{e}}_{6}\left]\right|\mathrm{S}2[{\mathrm{e}}_{4}, {\mathrm{e}}_{6}]\left)\right|\mathrm{D}2\left[{\mathrm{e}}_{7}\right].\left(\mathrm{N}\right[\mathrm{b}\left]\right|\mathrm{L}\left[{\mathrm{e}}_{7}\right]\left|\mathrm{M}\right[{\mathrm{e}}_{8}\left]\right|\\ \mathrm{H}\left[{\mathrm{e}}_{9}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{c}\left]\right|\mathrm{S}4[{\mathrm{e}}_{8}, \mathrm{d}]\left|\mathrm{O}5\right[{\mathrm{e}}_{9}, \mathrm{l}\left]\right)\left|\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}\right[{\mathrm{e}}_{10}].(\mathrm{N}\left[\mathrm{h}\right]\left|\mathrm{L}\right[\mathrm{i}\left]\right|\\ \mathrm{M}\left[{\mathrm{e}}_{11}\right]\left|\mathrm{H}\right[{\mathrm{e}}_{12}\left]\right|\mathrm{T}\mathrm{H}\left[{\mathrm{e}}_{10}\right]\left|\mathrm{O}3\right[{\mathrm{e}}_{11}, {\mathrm{e}}_{13}\left]\right|\mathrm{S}3[{\mathrm{e}}_{12}, {\mathrm{e}}_{13}]\left)\right|\mathrm{D}3\left[{\mathrm{e}}_{14}\right].\\ \left(\mathrm{N}\right[\mathrm{f}\left]\right|\mathrm{L}\left[\mathrm{m}\right]\left|\mathrm{M}\right[{\mathrm{e}}_{14}\left]\right|\mathrm{H}\left[{\mathrm{e}}_{15}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{g}\left]\right|\mathrm{O}4[{\mathrm{e}}_{15}, \mathrm{j}]\left|\mathrm{O}6\right[{\mathrm{e}}_{15}, \mathrm{k}\left]\right))\end{array} $
4.3 移动边缘计算中任务卸载的反应规则集

任务卸载的过程包括服务和数据的迁移、服务的执行、结果回传和任务删除4个步骤,每一步都会导致服务和数据所处的状态发生改变,系统需要建模这些状态变化实现对服务和数据的跟踪,以监测目的设备是否滥用服务和数据。图 5~图 8给出了服务和数据的迁移、服务的执行、结果回传以及任务删除的偶图反应规则的图形表示。

Download:
图 5 服务和数据迁移 Fig. 5 Service and data migration
Download:
图 6 服务执行 Fig. 6 Service execution
Download:
图 7 结果回传 Fig. 7 Result return
Download:
图 8 任务删除 Fig. 8 Task deletion

1)服务和数据迁移:移动终端$ \mathrm{D}1 $将服务$ \mathrm{S}1 $和服务输入数据$ \mathrm{O}1 $卸载到移动终端$ \mathrm{D}2 $上,表示为$ \mathrm{M}\mathrm{i}\mathrm{g}\mathrm{r}\mathrm{a}\mathrm{t}\mathrm{e}(\mathrm{O}1, \mathrm{S}1, \mathrm{D}1, \mathrm{D}2) $,其中4个参数依次为卸载的数据、卸载的服务、任务发布的设备和任务接收的设备(目的设备)。$ \mathrm{O}1 $节点和$ \mathrm{S}1 $节点从$ \mathrm{D}1 $节点迁移至$ \mathrm{D}2 $节点内。

2)服务执行:移动终端$ \mathrm{D}2 $上执行服务$ \mathrm{S}1 $,输入数据$ \mathrm{O}1 $,输出数据$ \mathrm{O}{1}^{\mathrm{*}} $,表示为$ \mathrm{E}\mathrm{x}\mathrm{e}\mathrm{c}\mathrm{u}\mathrm{t}\mathrm{e}(\mathrm{O}1, \mathrm{S}1, \mathrm{D}2) $。3个参数依次表示为输入数据、执行的服务和任务所在的设备。$ \mathrm{O}1 $节点变为$ \mathrm{O}{1}^{\mathrm{*}} $节点并嵌套在$ \mathrm{S}1 $节点内。

3)结果回传:移动终端$ \mathrm{D}2 $将输出数据$ \mathrm{O}{1}^{\mathrm{*}} $回传给任务发布终端$ \mathrm{D}1 $,表示为$ \mathrm{R}\mathrm{e}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{n}(\mathrm{O}{1}^{\mathrm{*}}, \mathrm{D}2, \mathrm{D}1) $。3个参数分别表示回传的计算结果、提供计算资源的设备和发布任务的设备。$ \mathrm{O}{1}^{\mathrm{*}} $节点同时也嵌套在$ \mathrm{D}1 $节点内。

4)任务删除:移动终端$ \mathrm{D}2 $将计算结果回传后,删除相关的数据和服务,表示为$ \mathrm{D}\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{t}\mathrm{e}(\mathrm{O}{1}^{\mathrm{*}}, \mathrm{S}1, \mathrm{D}2) $。3个参数分别表示删除的数据、删除的服务和执行删除任务的设备。$ \mathrm{O}{1}^{\mathrm{*}} $$ \mathrm{S}1 $节点在$ \mathrm{D}2 $中被删除。

当反应规则集中的反应物与上下文偶图模型匹配或者部分匹配时,生成物替换反应物,得到新的偶图模型。对于一个上下文偶图模型,匹配的反应规则可能包含多条,因此,最终可得到一个以反应规则作为迁移边的标号变迁系统。在该标号变迁系统中,每一个状态都应满足卸载安全和服务执行安全要求,计算回传后的下一个状态应满足删除安全要求。

5 实例分析和性能评估 5.1 实例分析

假设当前在边缘服务器$ \mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r} $的服务区域内,有移动终端$ \mathrm{D}1 $$ \mathrm{D}2 $$ \mathrm{D}3 $$ \mathrm{D}4 $,服务器和移动终端对应的安全等级分别为$ \mathrm{T}\mathrm{H} $$ \mathrm{T}\mathrm{H} $$ \mathrm{L} $$ \mathrm{M} $$ \mathrm{N} $。移动终端$ \mathrm{D}1 $是任务的发布者,任务的执行流程如图 9所示。服务$ \mathrm{S}1 $~$ \mathrm{S}4 $对应的安全等级分别是$ \mathrm{L} $$ \mathrm{L} $$ \mathrm{M} $、H,数据$ \mathrm{O}1 $~$ \mathrm{O}5 $对应的安全等级分别为$ \mathrm{L} $$ \mathrm{L} $$ \mathrm{L} $$ \mathrm{M} $$ \mathrm{H} $

Download:
图 9 任务执行流程 Fig. 9 Task execution process

任务和数据可在任务发布终端$ \mathrm{D}1 $中被执行,也可卸载到边缘服务器$ \mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r} $中,除此之外,也可卸载到移动终端中,设$ \mathrm{D}1 $~$ \mathrm{D}4 $都可提供一定的计算资源。根据服务流和数据流的安全约束,服务$ \mathrm{S}1 $$ \mathrm{S}2 $和数据$ \mathrm{O}1 $~$ \mathrm{O}3 $可被卸载到$ \mathrm{D}2 $$ \mathrm{D}3 $移动终端中,服务$ \mathrm{S}3 $和数据$ \mathrm{O}4 $~$ \mathrm{O}6 $可被卸载到移动终端$ \mathrm{D}3 $中,服务$ \mathrm{S}4 $的安全等级为$ \mathrm{H} $,因此,任务只能在移动终端$ \mathrm{D}1 $$ \mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r} $中执行,具体如表 3表 4所示,其中,符号“√”表示服务或数据可以被卸载至该设备上。

下载CSV 表 3 服务的安全等级和可卸载的设备 Table 3 Security level of services and offloading devices
下载CSV 表 4 数据的安全等级和可卸载的设备 Table 4 Security level of data and offloading devices

目前,针对偶图和偶图反应系统已有很多工具支持,如DBtk工具[20]、BigRed[21]原型编辑器、BigraphER工具[22]、BigMC[23]工具。其中,由哥本哈根技术大学的PERRONE等开发的BigMC工具,其语言描述与偶图和偶图反应系统的项语言描述比较相近,易于理解。BigMC可以将衍化过程生成dot脚本,使用XDOT、graphviz等软件进行图形化的表达。本文采用BigMC工具验证是否满足卸载过程安全需求。

$ \mathrm{D}1 $卸载服务$ \mathrm{S}1 $和输入数据$ \mathrm{O}1 $时,初始上下文环境偶图模型为:

$ \begin{array}{l}\mathrm{D}\mathrm{A}.\left(\mathrm{D}1\right[{\mathrm{e}}_{1}].(\mathrm{N}\left[\mathrm{a}\right]\left|\mathrm{L}\right[{\mathrm{e}}_{2}\left]\right|\mathrm{M}\left[{\mathrm{e}}_{3}\right]\left|\mathrm{H}\right[{\mathrm{e}}_{4}\left]\right|\mathrm{T}\mathrm{H}\left[{\mathrm{e}}_{1}\right]\left|\mathrm{S}1\right[{\mathrm{e}}_{2}\left]\right|\\ \mathrm{S}2\left[{\mathrm{e}}_{2}\right]\left|\mathrm{S}3\right[{\mathrm{e}}_{3}\left]\right|\mathrm{S}4\left[{\mathrm{e}}_{4}\right]\left|\mathrm{O}1\right[{\mathrm{e}}_{2}\left]\right)\left|\mathrm{D}2\right[{\mathrm{e}}_{5}].(\mathrm{N}\left[\mathrm{b}\right]\left|\mathrm{L}\right[{\mathrm{e}}_{5}\left]\right|\mathrm{M}\left[\mathrm{c}\right]\\ \left|\mathrm{H}\right[\mathrm{d}\left]\right|\mathrm{T}\mathrm{H}\left[\mathrm{f}\right]\left)\right|\mathrm{D}3\left[{\mathrm{e}}_{6}\right].\left(\mathrm{N}\right[\mathrm{i}\left]\right|\mathrm{L}\left[\mathrm{j}\right]\left|\mathrm{M}\right[{\mathrm{e}}_{6}\left]\right|\mathrm{H}\left[\mathrm{k}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{l}\left]\right)|\\ \mathrm{D}4\left[{\mathrm{e}}_{7}\right].\left(\mathrm{N}\right[{\mathrm{e}}_{7}\left]\right|\mathrm{L}\left[\mathrm{m}\right]\left|\mathrm{M}\right[\mathrm{n}\left]\right|\mathrm{H}\left[\mathrm{o}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{p}\left]\right)\left|\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}\right[{\mathrm{e}}_{8}].\\ \left(\mathrm{N}\right[\mathrm{q}\left]\right|\mathrm{L}\left[\mathrm{r}\right]\left|\mathrm{M}\right[\mathrm{s}\left]\right|\mathrm{H}\left[\mathrm{t}\right]\left|\mathrm{T}\mathrm{H}\right[{\mathrm{e}}_{8}\left]\right))\end{array} $

表 3表 4可知,任务还可卸载到$ \mathrm{D}2 $$ \mathrm{D}3 $$ \mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r} $中执行。执行该卸载任务,对应的标号变迁系统如图 10所示,安全的上下文环境模型包括12个(除灰色的状态和相应的迁移边)。

Download:
图 10 任务卸载的标号变迁系统 Fig. 10 Labeled transition system of task offloading

终态的上下文环境偶图模型为:

$ \begin{array}{l}\mathrm{D}\mathrm{A}.\left(\mathrm{D}1\right[{\mathrm{e}}_{1}].(\mathrm{N}\left[\mathrm{a}\right]\left|\mathrm{L}\right[{\mathrm{e}}_{2}\left]\right|\mathrm{M}\left[{\mathrm{e}}_{3}\right]\left|\mathrm{H}\right[{\mathrm{e}}_{4}\left]\right|\mathrm{T}\mathrm{H}\left[{\mathrm{e}}_{1}\right]\left|\mathrm{S}2\right[{\mathrm{e}}_{2}\left]\right|\\ \mathrm{S}3\left[{\mathrm{e}}_{3}\right]\left|\mathrm{S}4\right[{\mathrm{e}}_{4}\left]\right|\mathrm{O}2\left[{\mathrm{e}}_{2}\right]\left)\right|\mathrm{D}2\left[{\mathrm{e}}_{5}\right].\left(\mathrm{N}\right[\mathrm{b}\left]\right|\mathrm{L}\left[{\mathrm{e}}_{5}\right]\left|\mathrm{M}\right[\mathrm{c}\left]\right|\mathrm{H}\left[\mathrm{d}\right]|\\ \mathrm{T}\mathrm{H}\left[\mathrm{f}\right]\left)\right|\mathrm{D}3\left[{\mathrm{e}}_{6}\right].\left(\mathrm{N}\right[\mathrm{i}\left]\right|\mathrm{L}\left[\mathrm{j}\right]\left|\mathrm{M}\right[{\mathrm{e}}_{6}\left]\right|\mathrm{H}\left[\mathrm{k}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{l}\left]\right)\left|\mathrm{D}4\right[{\mathrm{e}}_{7}].\\ \left(\mathrm{N}\right[{\mathrm{e}}_{7}\left]\right|\mathrm{L}\left[\mathrm{m}\right]\left|\mathrm{M}\right[\mathrm{n}\left]\right|\mathrm{H}\left[\mathrm{o}\right]\left|\mathrm{T}\mathrm{H}\right[\mathrm{p}\left]\right)\left|\mathrm{S}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}\right[{\mathrm{e}}_{8}].(\mathrm{N}\left[\mathrm{q}\right]\left|\mathrm{L}\right[\mathrm{r}\left]\right|\\ \mathrm{M}\left[\mathrm{s}\right]\left|\mathrm{H}\right[\mathrm{t}\left]\right|\mathrm{T}\mathrm{H}\left[{\mathrm{e}}_{8}\right]\left)\right)\end{array} $

最终,数据$ \mathrm{O}2 $返回给任务发布者$ \mathrm{D}1 $

$ \mathrm{D}1 $在任务卸载后就失去了对任务的控制权,内部攻击者就可滥用该资源。假设$ \mathrm{D}2 $为恶意节点,将数据$ \mathrm{O}1 $和服务$ \mathrm{S}1 $卸载到移动终端$ \mathrm{D}4 $中,此时上下文环境模型进入状态$ i $,该状态违反服务流和数据流的安全约束,数据和服务被卸载到了低安全等级的设备中,检测该违反状态的时间为0.000 2 s。$ \mathrm{D}2 $作为恶意节点,假设其在执行服务$ \mathrm{S}1 $时,将输出数据$ \mathrm{O}2 $的安全等级降为$ N $并发送给$ \mathrm{D}4 $,此时上下文环境模型进入状态$ j $,该状态违反服务执行的安全约束,检测该违反状态的时间为0.000 14 s。假设$ \mathrm{D}2 $将输出数据$ \mathrm{O}2 $回传后,仍保留$ \mathrm{O}2 $的副本,此时上下文环境模型进入状态$ k $,该状态违反删除的安全性,检测该违反状态的时间为0.000 16 s。

同样地,如图 11所示:在任务$ \mathrm{S}2 $$ \mathrm{S}3 $的卸载过程中,安全的上下文环境偶图模型有108个,建模时间为0.074 275 s;在任务$ \mathrm{S}4 $的卸载过程中,安全的上下文环境偶图模型有6个,建模时间为0.000 9 s。

Download:
图 11 任务卸载状态数和建模时间 Fig. 11 Number of states and modeling time for task offloading
5.2 性能评估

假设初始场景中,所有的服务安全等级都高于数据的安全等级,设备的安全等级都低于服务和数据的安全等级,即服务和数据可被卸载到周边任意的设备上执行。基于该假设下所构建的标号变迁系统中的节点数和迁移边数最多。表 5表 6给出了这种“最坏”假设下(即构建的标号变迁系统最复杂),运行时间和内存消耗随着设备数、服务数量和数据数量的变化。

下载CSV 表 5 不同终端数量下的运行时间和内存消耗 Table 5 Running time and memory consumption under different terminals numbers
下载CSV 表 6 不同服务和输入数据量下的运行时间和内存消耗 Table 6 Running time and memory consumption under different services and input data

对于一个服务,其输入数据数量、输出数据数量应该都为个位数,假设每个服务的输入数据个数为2,输出数据个数为1。表 5给出了服务数量和输入数据量分别为10和20,而移动终端节点数量变化时运行时间和内存消耗的变化情况。可以看出,随着移动终端节点数量变化,运行时间和内存消耗都呈现指数增长,这是因为服务和数据可以被卸载到任意的移动终端节点中,在标号变迁系统中每个状态点所能构建的迁移边数最多。表 6给出了终端节点数量为10而服务数量和输入数据量变化时运行时间和内存消耗的变化情况。可以看出,随着服务数量和输入数据量的增加,运行时间和内存的消耗呈现线性增长,这是因为服务是按照顺序执行的,服务和输入数据量的增多引起所构建的标号变迁系统深度增高。

由上述案例和性能分析可知,通过对上下文环境信息以及卸载行为的建模,能够跟踪恶意行为的发生并在较短时间内给予反馈。一方面,系统能够及时制止风险的扩散;另一方面,任务发布者也能够了解卸载任务是如何被滥用的。因此,本文所提方可为高安全任务的卸载提供有效支撑。

6 结束语

本文提出一种基于偶图的安全信息流建模与分析方法,以解决移动边缘计算任务卸载过程中终端节点发起内部攻击恶意行为的安全问题。该方法通过赋予移动边缘环境下终端节点、服务和数据相应的安全等级来约束任务卸载过程,形成多级安全信息流模型,同时引入偶图构建任务卸载过程的形式化模型,验证服务和数据迁移、服务执行、结果回传、任务删除过程中的安全性。案例分析和性能评估结果表明,本文方法能够针对恶意行为在较短时间和可接受的内存消耗下给予系统反馈。后续研究将从安全性分析角度出发,进一步结合时延、能耗等因素,在保证任务卸载安全性的同时优化任务卸载性能。

参考文献
[1]
余翔, 石雪琴, 刘一勋. 移动边缘计算中卸载策略与功率的联合优化[J]. 计算机工程, 2020, 46(6): 20-25.
YU X, SHI X Q, LIU Y X. Joint optimization of offloading strategy and power in mobile-edge computing[J]. Computer Engineering, 2020, 46(6): 20-25. (in Chinese)
[2]
SAJJAD M, AHMAD A, MALIK A W, et al. Classification and mapping of adaptive security for mobile computing[J]. IEEE Transactions on Emerging Topics in Computing, 2020, 8(3): 814-832. DOI:10.1109/TETC.2018.2791459
[3]
王妍, 葛海波, 冯安琪. 云辅助移动边缘计算中的计算卸载策略[J]. 计算机工程, 2020, 46(8): 27-34.
WANG Y, GE H B, FENG A Q. Computation offloading strategy in cloud-assisted mobile edge computing[J]. Computer Engineering, 2020, 46(8): 27-34. (in Chinese)
[4]
MAO Y Y, YOU C S, ZHANG J, et al. A survey on mobile edge computing: the communication perspective[J]. IEEE Communications Surveys & Tutorials, 2017, 19(4): 2322-2358.
[5]
ZHANG J L, CHEN B, ZHAO Y C, et al. Data security and privacy-preserving in edge computing paradigm: survey and open issues[J]. IEEE Access, 2018, 6: 18209-18237. DOI:10.1109/ACCESS.2018.2820162
[6]
HAUS M, WAQAS M, DING A Y, et al. Security and privacy in Device-to-Device(D2D) communication: a review[J]. IEEE Communications Surveys & Tutorials, 2017, 19(2): 1054-1079.
[7]
XU R H, PALANISAMY B, JOSHI J. QueryGuard: privacy-preserving latency-aware query optimization for edge computing[C]//Proceedings of TrustCom/BigDataSE. Washington D.C., USA: IEEE Press, 2018: 1097-1106.
[8]
ISLAMBOULI R, SWEIDAN Z, MOURAD A, et al. Towards trust-aware IoT hashing offloading in mobile edge computing[C]//Proceedings of International Conference on Wireless Communications and Mobile Computing. Washington D.C., USA: IEEE Press, 2020: 2216-2221.
[9]
WU D X, SHEN G H, HUANG Z Q, et al. A trust-aware task offloading framework in mobile edge computing[J]. IEEE Access, 2019, 7: 150105-150119. DOI:10.1109/ACCESS.2019.2947306
[10]
XU J L, WANG S G, BHARGAVA B K, et al. A blockchain-enabled trustless crowd-intelligence ecosystem on mobile edge computing[J]. IEEE Transactions on Industrial Informatics, 2019, 15(6): 3538-3547. DOI:10.1109/TII.2019.2896965
[11]
WANG T, LUO H, ZHENG X, et al. Crowdsourcing mechanism for trust evaluation in CPCS based on intelligent mobile edge computing[J]. ACM Transactions on Intelligent Systems and Technology, 2019, 10(6): 1-19. DOI:10.1145/3324926
[12]
MILNER R. The space and motion of communicating agents[M]. Oxford, UK: Cambridge University Press, 2009.
[13]
BENNANI N, BOUKADI K, GHEDIRA-GUEGAN C. A trust management solution in the context of hybrid clouds[C]//Proceedings of the 23rd IEEE International WETICE Conference. Washington D.C., USA: IEEE Press, 2014: 339-344.
[14]
HUSSAIN M, ALMOURAD B M. Trust in mobile cloud computing with LTE-based deployment[C]//Proceedings of the 11th International Conference on Ubiquitous Intelligence and Computing and the 11th IEEE International Conference on Autonomic and Trusted Computing and the 14th IEEE International Conference on Scalable Computing and Communications and Its Associated Workshops. Washington D.C., USA: IEEE Press, 2014: 643-648.
[15]
DENG X H, LIU J, WANG L L, et al. A trust evaluation system based on reputation data in Mobile edge computing network[J]. Peer-to-Peer Networking and Applications, 2020, 13(5): 1744-1755. DOI:10.1007/s12083-020-00889-3
[16]
彭焕峰, 黄志球, 刘林源, 等. 服务组合安全隐私信息流静态分析方法[J]. 软件学报, 2018, 29(6): 1739-1755.
PENG H F, HUANG Z Q, LIU L Y, et al. Static analysis method of secure privacy information flow for service composition[J]. Journal of Software, 2018, 29(6): 1739-1755. (in Chinese)
[17]
ELSAYED M, ZULKERNINE M. IFCaaS: information flow control as a service for cloud security[C]//Proceedings of the 11th International Conference on Availability, Reliability and Security. Washington D.C., USA: IEEE Press, 2016: 211-216.
[18]
ZENG W, KOUTNY M, WATSON P, et al. Formal verification of secure information flow in cloud computing[J]. Journal of Information Security and Applications, 2016, 27/28: 103-116. DOI:10.1016/j.jisa.2016.03.002
[19]
CAO Y, HUANG Z Q, KE C B, et al. A topology-aware access control model for collaborative cyber-physical spaces: specification and verification[J]. Computers & Security, 2019, 87: 1-10. DOI:10.1016/j.cose.2019.02.013
[20]
BACCI G, GROHMANN D, MICULAN M. DBtk: a toolkit for directed bigraphs[C]//Proceedings of International Conference on Algebra and Coalgebra in Computer Science. Berlin, Germany: Springer, 2009: 413-422.
[21]
FAITHFULL A J, PERRONE G, HILDEBRANDT T. Big Red: a development environment for bigraphs[J]. Electronic Communications of the Easst, 2013, 61: 1-10. DOI:10.14279/tuj.eceasst.61.835.829
[22]
SEVEGNANI M, CALDER M. BigraphER: rewriting and analysis engine for bigraphs[C]//Proceeding of International Conference on Computer Aided Verification. Berlin, Germany: Springer, 2016: 494-501.
[23]
PERRONE G, DEBOIS S, HILDEBRANDT T T. A verification environment for bigraphs[J]. Innovations in Systems and Software Engineering, 2013, 9(2): 95-104.