云计算环境下的双通道数据动态加密策略
2020-09-04吕佳玉竺智荣姚志强
吕佳玉 ,竺智荣 ,姚志强
(1. 福建师范大学数学与信息学院,福州350108;2. 福建省公共服务大数据挖掘与应用工程技术研究中心(福建师范大学),福州350108)
0 引言
云计算是计算机科学与技术领域的一场革命。美国Code 大会上公布的一项数据显示,截止到2016 年,使用互联网的人数已经超过30 亿。随着互联网+与大数据时代的到来,以云计算、大数据为代表的信息技术影响着现代人的生活方式,同时随着现代人对互联网越来越多的需求,也促进了云计算技术的不断发展,推动了云计算向更便捷的使用方式进步。如日常生活中有大量的用户通过轻量级便携设备访问互联网服务,产生海量有价值的数据(以TB计)。云计算为实现数据的计算、存储、发布与共享等提供了极大的便利,越来越多的用户愿意将个人数据提供给医疗机构、银行、科研机构等大型网络服务提供企业[1-3]。
然而,在数据共享为现在生活带来极大便利的同时,也带来了极大的安全问题[4-5]和资源使用问题[6-8]。用户可能在不经意间将包含个人隐私的数据未经处理上传给云服务提供商,而云服务提供商是不可信的,可能存在隐私泄漏风险,导致用户利益受损。一个普遍的解决方案是将数据外包给云之前对数据进行加密[9-11],例如同态加密[12]、秘密共享[13]等。但使用加密处理数据的效率并不高,适用于特定规模下的数据保护,对于大数据的隐私保护具有挑战性。另外,由于网络间过大的数据量,为保证移动端性能,在数据传输的过程中会采用不加密的数据传输方式[14-15],这就使得明文直接暴露在传输过程中,因而对攻击者来说,窃取用户信息是没有难度的[16]。所以平衡数据安全和设备性能之间的矛盾是非常迫切的。
为解决该问题,找到数据传输效率与数据隐私保护之间的平衡,本文提出了双通道动态加密策略(Two-channel Dynamic Encryption Strategy,TDES)。在给定时间约束[17]内完成所有数据包传输,同时根据数据包中包含隐私信息的重要程度,选择数据包进行分通道加密传输,对信息进行最大限度的保护。图1为TDES 体系结构,展示了具有两个可用通道的数据包分发机制。由移动端根据给定传输时间和数据包的加密时间、隐私阈值等属性,计算加密策略表,保证在数据包完成传输前提下,获得最大隐私量。
图1 TDES体系结构Fig. 1 TDES system structure
1 相关工作
云计算是分布式计算、效用计算、虚拟化技术、Web 服务等技术的融合和发展。移动云计算对云的概念进行拓展,将计算渗透到生活中。由于移动设备多以轻便、快速为特点,有限的数据计算能力无法为数据的安全传输提供保证。
为保证数据传输过程中的安全性,多使用加密方式进行传输,但在资源受限的移动端设备上加密传输所有数据是不可行的。针对这一问题,徐珊珊[18]就工业控制系统(Industrial Control System,ICS)数据的通信架构,分析了ICS 通信网络潜在的脆弱性,并根据ICS 通信特点,结合ICS 安全通信的要求和限制,设计了占用资源少的轻量级密码算法,建立了基于安全代理的ICS 轻量级数据安全传输框架,在实现数据完整性校验和机密性保护的同时建立了成本性能-安全综合多属性决策模型,设计了最佳数据安全传输方案。
针对移动云数据安全共享与访问控制问题,考虑密文访问控制机制的不足和移动资源不足、网络带宽较低的特点,文献[19]中提出了一种面向移动云的属性基密文访问控制优化方法。该方法通过引入属性基加密运算分割和双重加密机制,并结合多秘密共享技术进行改进,实现了移动用户数据发布和权限管理开销的大幅优化。
另外云服务器并不是完全可信的,移动云上传至云的部分数据需要加密处理,传统的一对一加密方式会带来巨大的密钥管理成本,而属性加密方案虽然可以降低密钥管理成本,但需要消耗大量的移动资源。为打破属性密码的局限性,文献[20]中将加密操作分别在离线和在线两个时间段进行操作:设备离线时计算复杂的加密过程,在线时进行简单的代数计算。并将主要的解密计算任务外包给云服务器,设计出了一个综合的安全移动云数据分享系统,保护移动用户的私密信息。
以上方法均对加密算法进行改进,但当移动端数据转发量较大时,将所有数据都进行加密传输并不现实。TDES可根据隐私权重筛选出隐私性较高的数据包进行加密,平衡数据安全和设备性能,能够在限定传输时间内,通过数据包属性计算权重顺序表,挑选最重要的数据包进行优先加密传输,同时根据不同数据包的隐私权重分通道传输,以提高移动端性能,保证在不牺牲移动端性能的前提下,最大限度保证个人数据安全。
2 概念及算法
2.1 问题定义
时间约束下数据隐私量最大化问题:
输入 数据包类型 D ={D1,D2,…,Dn},数据包的数量NDi,数据包使用第一种加密方法的操作时长,数据包使用第二种加密方法的操作时长,数据包不加密的操作时长TnDi,隐私权重WDi,数据包的隐私权重阈值δ,时间限制Tcon。
输出 加密决策表,按照该决策表对数据包进行加密传输可以获得最大数据隐私量。
根据以上定义,涉及一些变量,包括:隐私阈值δ,用于区分隐私级别较高的文件,避免隐私泄露;隐私权重WDi,表示不同数据包的隐私级别,即数据包的重要程度,可以有多种计算方式,如通过计分卡[21]和安全度量级别[22]。TDES 中,隐私权重越大代表数据包越重要,隐私权重参数可用于量化加密传输该数据包可获得的利益。
通过以上变量,定义时间约束下数据隐私量最大化问题的数学模型为:
目标函数:
约束条件:
其中:E1为使用加密算法一传输的数据包下角标集合;E2为使用加密算法二传输的数据包下角标集合;Eno为加密传输的数据包下角标集合;Ttotal为实际传输过程总时长。
实际上,在当前约束关系下,求解数据隐私总量O的最大值是一个NP-Hard 问题。时间约束下数据隐私量最大化问题可以认为是在特定条件下的集装箱问题[23-24]。由以上条件可以得到,箱子的容量可以对应总时间约束,一个加密数据包可以对应一个被填入箱子中的物体,数据包的隐私权重可以对应填入箱子物体的价值。隐私权重总量最大值O的计算等价于从一组物体中选出哪些物品填入固定容量的箱子中可获得最大价值的计算。众所周知,集装箱问题是一个NP-Hard 问题,由此可得时间约束下数据隐私量最大化问题也是一个NP-Hard问题。
图2 TDES算法结构Fig. 2 TDES algorithm structure
2.2 动态加密策略
2.2.1 隐私权重排序
每个数据包都有一个隐私权重属性,用于反映数据包的隐私程度,隐私程度越高的数据包越需要保护。结合数据包的加密传输时间,设置权重排序表,通过对隐私权重排序来计算数据包传输优先级。定义权重排序表为S_table,表中元素SDi为:
2.2.2 加密算法分配策略
权重排序表仅能够得到数据包的传输优先级,还不能够得到准确的加密策略,需要配合加密算法分配策略,得到数据包和加密算法的对应关系,保证所有数据包能够完成传输,并进行最大限度的隐私保护。由权重排序表判定,在SDi中越靠前的数据包拥有更高的加密传输优先权,加密算法分配策略依据SDi表的排序对数据包进行挑选。首先计算所有数据包传输的最短时间为Tmin(即所有数据包使用非加密方式进行传输时的时间),其中:
得到可用于加密传输的时间为Tres:
每种数据包均有加密时间,按照SDi降序挑选,直到Tres比任何数据包的加密时间都小或SDi中无剩余数据包,程序停止运行。
Tres的更新算法使用数据包的两个属性:加密时间和非加密时间。当数据包Dj执行加密操作时,更新Tres时间为:
其中E为使用加密算法传输的数据包下角标集合。
2.2.3 加密策略结果输出
为了更加灵活地保护数据隐私,选用双通道加密传输的方法,输出两个数据表:表一中数据包隐私权重较高,使用安全级别较高的加密算法在通道一内传输;表二中数据包使用安全级别相对较弱的加密算法在通道二内加密传输。由于时间限制,余下数据包由通道二进行非加密传输,通道一与通道二的传输时长分别限制在给定的时间范围内。
3 双通道数据动态加密算法
在网络间需要传输大量信息的前提下,加密所有数据包会降低移动设备性能,此时需要既能保证移动端性能,又能保证数据包隐私的加密策略。TDES 算法能够在确定的时间约束内,传输所有数据包,同时识别出相对重要的数据包进行隐私保护。通过设置双通道,对隐私程度分级,根据给定约束时间动态选择加密数据包,获得最优数据加密分配方案。
3.1 数据加密分配算法
具体算法描述如下:
算法1 数据加密分配算法。
输入 数据包属性表A_table,限制时间Tcon;
输出 加密算法策略表Result_table。
1) Initialize Result_table is empty
算法1 的核心是第8)~10)行,使用while 循环检查剩余数据包数量,停止条件为通道内部剩余时间不足以进行任何数据包的加密传输或A_table 中没有剩余数据包。按照S_table排列顺序,依次选取排在最高位置的数据包进行加密传输,同时更新剩余时间,直到剩余时间不足以传输任何加密文件时停止。算法结束后,更新A_table 中未加密传输数据包数量,并将需要加密的数据包添加到Result_table,运算结束后Result_table即为最终结果。
3.2 双通道数据分配算法
单纯按照S_table 排列顺序对应数据包加密优先级,会出现部分重要数据隐私泄露情况。当数据包权重值很大时,认为该数据包为重要数据,由于数据量或存储形式等原因,该数据包存在加密时间较长的可能,导致在S_table 表中排在靠后的位置。在给定约束时间较短的情况下,该数据包存在不加密传输的可能,有隐私泄露的风险。为解决此类情况,提前设置隐私阈值,在数据包传输前,将重要文件进行初步筛选,分通道加密传输。
具体算法描述如下:
算法2 双通道数据分配算法。
输出 加密算法策略表Result_table1、Result_table2。
1) Initialize Result_talbe1,Result_talbe2 is empty
2) Use δ to classify A_table,so that A_table1 is satisfied WDi> δ,A_table2 is satisfied WDi<δ
3) Trun= A_table1.TDe1i× A_table1.NDi
4) if Tcon> Trun:
5) Tres= Tcon- Trun
6) Calculate A_table2’s weight sorting table,get the biggest one
7) if Tres> A_table2:
8) Tres= Tres- A_table2.
9) Add Djin A_table1,update NDiin A_table1,Delete Diin A_table2,update NDiin A_table2
10) end if
11) Apply Algorithm1 to data2 and get Result_table2
12) else:
13) Calculate A_table1’s weight sorting table,get the smallest one
14) if Trun- Tcon> 0:
15) Trun= Trun- A_table1.
16) Add Diin A_table2,update NDiin A_table2,and delete Diin A_table1,update NDjin A_table1
17) end if
18) Apply Algorithm1 to data2 and get Result_table2
19) end if
算法2的核心是第1)步,通过隐私阈值δ对数据包进行预划分,将隐私权重较大的数据包记为A_table1,同时计算A_table1 中所有数据包加密传输的总时长Trun。若Tcon>Trun(第3)行),使用通路一加密传输A_table1中数据包,剩余时间加密传输A_table2 中数据包,直至时间用尽,A_table2 中余下数据包利用数据加密分配算法在通道二中传输。若Tcon<Trun(第11)行),利用通路二加密传输A_table1 中权重排序表最后的数据包,当A_table1 中剩余数据包加密传输时间满足Tcon≥Trun时停止,使用通道二加密传输A_table1 中剩余数据包后,更新通道二剩余时间,对A_table2中数据包使用加密分配算法,计算加密传输策略。
结果Result_table1、Result_table2 可分别得到利用通路一和通路二加密传输的数据包种类、数量和隐私权重。利用式(1)可计算TDES 算法获得数据包的最大隐私量,衡量对数据的隐私保护情况。
4 实验与结果分析
4.1 实验设置
实验为双通道设置不同的加密算法,通道一使用安全性较高的AES_256 加密算法,通道二使用安全性相对较低的AES_128加密算法,模拟真实加密情况,为数据分配不同加密时间。“数据包”是数据文件或多个数据文件的组合封装,由于数据包的内容、大小、存储形式不定,会使加密时间存在较大差别,为了充分验证TDES 的隐私保护水平和算法性能,分别设置加密时间较大和加密时间较短两组数据,比较在给定不同传输时间相同隐私阈值,以及相同传输时间不同隐私阈值时,最大化隐私保护程度。同时将TDES 与D2ES(Dynamic Data Encryption Strategy)[25]和贪心算法进行对比。实验硬件配置为Intel Core i5-4590 CPU@3.30 GHz。
实验数据设置细节如下:
情况一 每种数据包的数量控制在范围1~4;每个数据包的隐私权重设置在1~7;每个数据包的第一种加密时间在3~7个单位时间,第二种加密时间在1~7个单位时间内。对于同一个数据包,第一种加密算法的加密时间比第二种加密算法的加密时间长;不加密传输时间为1~2个单位时间。
情况二 每种数据包的数量控制在范围3~11;每个数据包的隐私权重设置在1~3;每个数据包的第一种加密时间在30~50 个单位时间,第二种加密时间在25~50 个单位时间内,对于同一个数据包,第一种加密算法的加密时间比第二种加密算法的加密时间长;不加密传输时间为2~6个单位时间。
4.2 结果与分析
设置仿真实验,计算不同情况下隐私权重总和,通过隐私权重总和反映隐私保护水平,权重总和越大获得隐私保护水平越高。实验一设置为在固定隐私阈值时,不同时间约束内的计算结果,如图3 所示,分别为情况一(共25 036 条数据)和情况二(共70 063 条数据)在三种算法下的总隐私权重结果。每次测试,给三种算法设置相同的约束时间。结果显示,在保证所有数据均传输完成的前提下,TDES算法获得的隐私权重总和更大,传输过程中的隐私保护效率更高。比较两种情况下三种算法的运行时间,结果如图4 所示。可以看出,TDES在大部分情况下的运行时间都比较短,并且符合约束时间越长、权重总和越大,算法运行时间越长的猜想。
图3 在相同隐私阈值下三种方法总隐私权重结果的折线图Fig. 3 Line graphs of total privacy weight results of three methods under the same privacy threshold
另外比较在相同时间约束、不同隐私阈值下的运行结果,权重总和结果如图5所示,运行时间如图6所示。随着隐私阈值的增大,权重总和在小范围内浮动。如图6 中,当隐私阈值δ= 4 和δ= 2.4 时,TDES 算法运行时间降低幅度较大。通过计算发现,此时通过隐私阈值划分得到的具有较高隐私性的数据包加密时间总量与给定时间约束接近,通道中需再分配数据包数量少,导致TDES 算法运行时间较小。隐私阈值增大后,具有较低隐私性的数据包加密时间总和超过通道二中给定的时间约束,需要分配部分数据包至通道一进行传输,该部分运算时间导致算法运行时间增大。
综上所述,TDES 在不同情况下具有良好的性能,实验效果满足设计目标,相较于其他两种算法,性能也有所提升。
图4 在相同隐私阈值下三种方法运行时间的折线图Fig. 4 Line graphs of the running times of three methods under the same privacy threshold
图5 在相同时间限制下三种方法总隐私权重结果的折线图Fig. 5 Line graphs of total privacy weights results of three methods under the same time limit
图6 在相同时间限制下三种方法运行时间的折线图Fig. 6 Line graphs of the running times of three methods under the same time limit
5 结语
本文针对大数据的隐私问题,以云计算大数据传输为背景,提出TDES 旨在对数据进行隐私保护,利用分通道传输的方式,提高隐私保护效率;使用数据加密分配算法和双通道数据分配算法,在所有数据包均能完成传输的前提下,保护数据隐私。实验过程中发现隐私阈值会对TDES 运行时间造成影响,未来将对隐私阈值进行研究;并将双通道拓展为多通道,个性化加密传输方案。