云环境下物联网数据安全去重技术研究
2020-06-04庄锡钊
【摘要】随着网络技术和信息技术的飞速发展,物联网(Ineternet of things,IoT)的概念一被提出便受到人们的广泛关注。由于物联网终端运算能力存在瓶颈, 物联网终端用户必须依托云平台对私有数据进行存储和处理,因此云平台对用户数据拥有绝对的控制权,这会对数据中隐私信息(如身份证号、医疗记录等)的完整性和机密性造成极大的威胁。保护用户数据最直观方法是在数据被外包存储在云平台之前对数据进行加密,但是这种方法给后续的数据可用性(如,数据检索和数据去重)带来困难。因此,在保护数据隐私的同时,不得不面临一个尖锐的矛盾,即在保护数据中敏感信息的同时确保数据在后续数据处理过程中的可用性。本文针对云环境下物联网数据外包时所面临安全威胁,研究如何构建物联网数据安全存储和处理技术。
【关键词】物联网;数据安全;隐私保护;访问控制;图像检索;视频去重
引言:近年来,随着连接互联网的设备数量增加,“物联网(Internet of things,IoT)”这一概念逐渐引起大量研究人员的关注。物联网的主要思想是使越来越多的物体连接起来,使其能够相互交流.在这种背景下,智能设备的角色已经由传统的通信工具转变为以获取、处理数据和通信的现代工具。
物联网中连接和交互的智能对象包括移动设备,可穿戴传感器设备和环境传感器。这些设备可以将周围环境的电子状态或数字快照,如家庭中的空气湿度,办公室的打印设置等,均可通过联网将信息传递给用户。一旦物联网技术成功并广泛地应用,智能设备将密集填充到人们的生存环境,甚至是极限环境,增加人们与环境之间的互动。例如,当人们将无线传感器放置在宠物身上时,他们能够随时获取宠物的位置信息;如果在建筑环境中检索到危险气体的泄露,警报将自动启动;当佩戴谷歌眼镜时,用户只需使用语言控制即可在互联网上拍照、发送信息和检索信息。此外,一些实际应用需要这些智能摄像捕捉電子视频,例如,交通环境和智能城市中监控设备等。因此,这些环境提供者(Context provider)将电子信息发送给用户。
但是,物联网中的大多数设备都具有存储容量小,计算能力有限等缺点,而随着物联网应用的普及,需要收集越来越多的数据并由内容提供者处理,这可能导致设备终端无法负担起相应的存储空间和计算成本消耗。相比起加强设备终端的存储和计算能力,人们更愿意以更小的代价将数据传送到云服务器上进行处理和存储。而随着5G时代的到来,数据传送将变得更有效率。
1. 主要技术
1.1 对称加密
在密码系统中,原始消息(通常称为明文)被加密为密文。如果没有正确的解密密钥,那么就很难获得明文信息。一般加密方法可以分为两种:对称加密和非对称加密。这里,主要介绍本方案中采用的对称加密。
在对称加密中,假设发送者(Sender)与接收者(Reciever)双方已经共享一个密钥K。发送方使用密钥K对明文消息P进行加密,通过以下方式获得密文C:
C = Sym Enc(P, K)
这种情况,如果接收者收到密文C后,可以用相同的密钥K对其进行解密,以恢复明文P P= Sym Dec(C, K)
需要注意的是,这里的秘钥K是发送者与接收者之间秘密共享的,通过安全的共享方式,没有第三方知道。
1.2 收敛加密
收敛加密是一种特殊的加密技术,在数据去重过程中,保证数据的机密性。用户从原始数据中衍生出一个收敛密钥,并用收敛密钥对原始数据进行加密。此外,用户同时从原始数据中提取数据标签tag,用于重复数据的检测。也就是说,如果两个原始数据是完全相同的,那么它们的标签与密文也是完全相同的。因此,一般来说收敛加密由四个算法组成:
· 密钥生成:KeyGenCE (M) → K。该算法用于提取密钥,将原始数据 M 映射成一个收敛密钥 K。
· 加密:EncryptCE (K, M) → C。该算法属于对称加密算法,采用收敛密钥 K和原始数据 M 作为输入,输出密文C。
· 解密:DecryptCE (K,C) → M。该算法用于获取明文。用收敛密钥 K 和密文 C 作为输入,经过解密后,得到原始数据 M。
· 标签生成:TagGenCE (M) → T (M)。该算法用于生成数据标签,检测重复数据。将原始数据 M 映射成一个标签 T (M),并且标签不能被用来获取收敛密钥。
1.3 SGX
在前面第四章中已经详细的介绍过 SGX 技术,这里本节只简单回顾下SGX的三个主要功能。
· 隔离:可以创建一个安全可信的空间 enclave,将数据或程序加载到
enclave中执行计算,隔离恶意软件的读取或篡改。
· 封装:每个SGX处理器在制造时都会被嵌入一个根密钥,称为 Root Seal
Key。当 enclave 创建时,使用 EGETKEY 指令,根据跟密钥衍生出一个密钥称为 Seal Key,用来加密和认证数据。
· 认证:主要有两种认证方式,一种是本地认证,指认证同一平台的两个
enclave 之间;另一种是远程认证,指远程应用与本地 enclave 之间的认证。
2. 系统模型与设计目标
2.1 系统结构
系统结构主要包含了三个实体:环境提供者(Contextprovider)、远程服务器(Remote server)和密钥分发中心(Key distributioncenter)。
· 环境提供者:该实体的主要任务是收集数据,并将数据传送给远程的服
务器或者其他的远程终端设备。一般来说,环境提供者包括传感器节点,RFID 阅读器等。在大多数情况下,终端设备在存储空间和计算能力方面受到大的限制。
· 远程服务器:该实体拥有大量的存储空间和强大的计算能力,用户可以将他们的数据存储在远程服务器上,并利用该实体所提供的服务,完成计算任务。
· 密钥分发中心:该系统实体是可信的,主要任务是分配和管理用户的公钥和私钥,以及系统的公共参数。
2.2 威胁模型
该系统主要考虑以下两种攻击方式:
· 内部攻击:主要指系统内参与者的攻击,按照参与者分类可以分为远程服务器和受妥协的终端。
– 远程服务器:通常假设远程服务器是“诚实且具有好奇心”的,它们能够诚实地执行系统协议,然而对存储的数据内容是好奇的,会非法尝试侵犯用户的隐私数据。
– 受妥协的终端:指在系统中工作的终端,会按照正常的协议工作,但是会尝试非法侵犯其他设备终端的数据隐私。
· 外部攻击:主要指不在系统内的恶意用户,通过公共传送频道获取一些感兴趣的信息,并试图利用这些信息获取数据内容。
3. 视频去重方案
根据上述内容,系统的设计目标是在物联网云平台环境下,实现隐私保护的视频去重存储系统。由于多媒体数据,如视频图像具有高维度,存储空间大等内在特征,且内容大多由物联网中特定终端在固定环境下拍摄,如用户的工作场所。
意味着这些视频图像包含大量的重复内容,冗余数据大,因此,本节针对视频数据,提出了隐私保护的视频去重方案。
一般来说,重复数据删除技术根据去重细粒度可以分为两类:文件级去重和块级去重。根据这两种细粒度,分别介绍文件级视频去重方案和块级视频去重方案。
3.1 文件級视频去重
在文件级视频去重方案中,如果两个图像中的每个像素完全相同,则将文件表示为重复数据。如图4.1所示,基于物联网云平台的视频去重方案中涉及到环境提供者和云平台。在物联网终端,设备负责收集环境数据,同时负责视频加密。在云平台上,存储加密的视频数据,并且在密文数据上执行去重过程。以下步骤详细描述了保护隐私的文件级视频去重方案。
步骤1:系统初始化。首先,密钥分发中心为系统中的每个参与者分配一个密钥对(ski, pki),并且将密钥对通过安全通道分发下去。然后选择一个安全哈希函数:H(.): {0, 1} → {0, 1}k。最后密钥分发中心发布系统的公共参数 param。
步骤2:密钥生成。假设一个终端设备收集的一个图像 P,根据收敛加密中的秘钥提取算法,可以从中提取收敛密钥 K:
K = Gen(P) (4.1)
步骤3:加密。得到收敛密钥 K 后,对原始图像P加密:
C = Enc(P, K) (4.2)
步骤4:标签生成。将密文 C 和公共参数 param 作为输入,输出标签 Tag:
Tag = H(C, param) (4.3)
然后将密文与相对应的标签 < Tag,C > 发送到远程云服务器中,进行存储。
步骤5:查重。在云平台上,服务器在存储数据中进行查重比较。假设有两个密文 < Tag1,C1 > 和 < Tag2,C2 >,且它们满足以下条件:
Tag1 = Tag2, C1 = C2
那么,系统会认为这两个数据是完全重复的。
步骤6:去重。当服务器确定是重复的数据时,将保留其中一个副本,同时移除其他重复的副本,并且将结果反馈给用户终端。此外,所有删除的图像都替换为指向唯一副本的指针存储在服务器上,并不影响其他之前用户终端的访问读取。
3.2 块级视频去重
文件级视频去重只针对相同的视频文件,要求视频中每张图像的每个像素都必须完全一致,这样所得到的密文才会完全相同,实现去重的目标。文件级视频去重对视频本身的要求非常严格,但实际中,由于光线、设备等问题,即使是拍摄相同的环境目标,所得到的视频在计算机看来还是不同的。因此,这种去重方式节省的存储空间是有限的。基于此种原因,考虑采用块级去重可以更大程度地节省存储空间。本文重点块级视频去重方案。
众所周知,视频由连续的帧图像组成,邻近的帧图像之间彼此关联强烈,这意味着视频文件中存在着高冗余数据。而由于帧图像不完全相同,文件级视频的去重方案在这种情况下并不适用,而块级视频去重则可以最大程度的消除视频帧中的冗余,使存储空间降低。
在本文中,基于收敛加密的块级视频去重方案将被详细描述。该方案同样旨在实现两个主要目标。一方面,重复数据的删除工作将在图像块上进行,可以达到更高的重复数据删除率。另一方面,出于隐私保护的目的,数据在传送到云服务器之前是被加密的,避免公共传送频道的窃听。同时,在去重过程中以密文形式进行,云服务器无法得到明文信息。图4.2给出了块级视频去重方案模型。块级视频去重方案主要由以下几个步骤组成:
步骤1:假设存在一个图像P,将该图像划分成n个块,并且bi表示图像的第i个块。由此,该图像可以表示成:P = {b1, b2, ..., bn}
步骤2:对于图像中的每一个图像块 bi,用密钥提取算法,计算相应的收敛密钥:ki = Gencov(bi) i = 1, 2, ..., n
步骤3:用得到的收敛密钥 ki,对相应的图像块 bi 加密:
ci = Enc(bi, ki) i = 1, 2, ..., n
得到密文 C={c1, c2, ..., cn}。
步骤4:在第二轮加密中,用对称密钥 K 对密文 C 进行加密。假设这里的对称密钥 K 是终端设备与云平台已经通过密钥共享的加密密钥。
C = Encsym(C, K)
然后终端设备通过公共信道将密文C 发送到云平台。当云服务器接收到密文时,将执行查重删重过程。
步骤5:在云端,云服务器通过密钥 K 对密文C 解密得到C = {c1, c2, ..., cn}。
C = Decsym(C, K)
云服务器将 C = {c1, c2, ..., cn} 存储在 S-CSP(Storage-cloud service provider)中。
步骤6:为了加速去重效率,云服务器选择一组哈希函数 H = {H1, H2, ..., Hn},对每一个图像密文块ci映射成相对应的哈希值:
hi = hash(ci) i = 1, 2, ..., n
并将这些哈希值 H = {h1, h2, ..., hn} 存储在 I-CSP(Index-cloud service provider)中。
步骤7:假设给出一个相似的图像Pr,经过上述步骤得到相应的哈希值Hr={hr1, hr2 , ..., hrn},其中 hrj表示第j个图像块的哈希值。比较 Hr与H这两组之间的哈希值。如果满足
hri = hi, if i = j i, j = 1, 2, ..., n
则表示这两个图像块是完全一样的,可以只保留其中一个图像块。如果满足
hri = hi, if i = j i, j = 1, 2, ..., n
則表示这两个图像块不一致,最后可以得到不重复的图像块集合 HNr oDup ={hrj1 , hrj2 , ..., hrjl }。然后,I-CSP将重复的数据下标反馈给S-CSP,S-CSP可删除重复的图像数据块,最终得到唯一的数据 CNoDup = {ci1 , ci2 , ..., cin }
尽管上述的块级视频去重方案能够在公共信道传送过程中不被恶意攻击者截取保护数据的隐私,但是在云服务器上去重过程中,不能防止统计信息的泄露。在该方案中,收敛密钥被用来作为加密密钥直接对图像块进行加密,这会导致原始图像的统计特征泄露。其原因在于从相同的图像块获取相同的秘钥,并得到相同的密文块。因此,云服务器可以从收敛加密后的密文 C={c1, c2, ..., cn} 中学到一些关于原始图像的统计信息。图4.3给出了原始图像与密文图像之间存在的统计信息。图4.3(a) 是加密前的原始图像,图 4.3(b) 是使用收敛密钥后对图像块进行加密后的密文图像。从密文图像中,可以清晰的分析出原始图像的大致分布,因此,统计信息的泄露使该方案变的不安全。
3.3 安全的块级视频去重方案
针对块级视频去重中存在的统计信息泄露问题,本文融合SGX技术提出一个安全的防止统计信息泄露的块级视频去重方案。由于SGX技术具有隔离、封装和认证这三个有点,在云平台上执行数据重复去重的过程可以被转移到SGX中的安全空间中执行,以此来防止云服务器获取统计信息。图 3.4给出该安全方案的模型图。
安全块级视频去重方案同样也包括终端和服务器端,区别在于本方案中需要终端和服务器端进行SGX远程认证。具体描述如下:
步骤1:给出一张图像P,将该图像划分成n个图像块P = {b1, b2, ..., bn},
bi表示第i个图像块。对于每个图像 bi,计算相应的收敛密钥:
ki = Gencov(bi) i = 1, 2, ..., n
然后,终端设备用密钥 ki 对 bi 进行加密,得到
ci = Enc(bi, ki) i = 1, 2, ..., n
则密文为 C = {c1, c2, ..., cn}。
步骤2:因为用收敛密钥加密生成的密文与原文之间可能存在统计信息,如果直接通过公共信息传送,可能会被攻击者截获。为了防止这种情况的发生,需要进行二轮加密,用对称密钥K再次加密:
C=Encsym(C, K)
步骤3:在云平台中,首先要初始化解密enclave,通过向终端设备执行远程认证,如果认证有效,则建立安全信道,并且将密钥K通过安全信道传送到解密enclave中。
步骤4:将密文C加载到解密enclave中解密,获取
C=Decsym(C,K)
解密后,图像密文块C={c1,c2,..., cn} 通过哈希函数组H={H1, H2, ..., Hn}映射得到相应的哈希值
hi = hash(ci) i = 1, 2, ..., n
步骤5:当去重 enclave 与解密 enclave 通过本地认证后,解密 enclave 将哈希值 H和密钥K传送到去重enclave中。标记重复的图像块后,I-CSP将重复的图像块下标返回给S-CSP。S-CSP删除重复的图像块,保留唯一的密文图像块。
4. 实验评估
在这主要介绍块级视频去重方案的实现细节,并从以下两个方面对方案性能进行评估:(1)块级视频中的去重率;(2)该方案与现有的主流视频压缩算法的存储大小比较。本实验在配有 Intel(R) Core(TM) i7-7500U CPU,2.7GHZ,8G内存的电脑上运行。
4.1 性能测试
实验分别提取了 100,500,1000,2000,3000 帧图像,测得这些连续的帧图像之间的去重率。表 5.1 给出了测试结果。从表中可以看出,随着视频帧数的增加,重复的图像块所占的比重也在逐渐增加,当帧数达到3000时,图像块的去重率可达到84.04%。也就是说去重后的存储空间消耗比原始图像的存储空间消耗提升了至少33.04%。可以看出去重后的图像存储空间的增长幅度也远远小于原始图像存储空间的增长幅度。
4.2 性能对比
视频压缩技术是目前视频编码中常用的技术手段,主要是指通过特定的压缩技术,将视频中的冗余数据去掉,降低存储空间消耗,且不影响视频的正常播放。目前网络上主要流行的一些视频压缩技术有 MPEG-2,H264,H265等。MPEG-2:是运动图像专家组(Moving picture experts group)的缩写。该技术原理是利用图像中的空间相关性和时间相关性来进行压缩。空间相关性指帧图像内的任何一个场景都是由若干像素点构成,因此一个像素通常与周围的某些像素在亮度和色度上存储一定关系。时间相关性指一个镜头常常由若干连续的帧图像构成序列,这些帧图像之间存在一定关系。将这些相关的冗余信息去除,只保留少量非相关的图像信息存储,按照特定的解码算法,可以保证一定的图像质量的前提下恢复原始图像。该算法主要应用于数字电视、数字广播等方面。H264:是继MPEG-4之后的新一代视频压缩技术,采用混合结构,充分利用视频数据中的各种冗余,包括统计冗余和视觉生理冗余等,达到高效的压缩。统计冗余指频谱冗余(色彩分量之间的相关性),空间冗余和时间冗余。视觉生理冗余指由于人类视觉系统特性,如人眼对色彩分量的高频分量没有对亮度分量的高频分量敏感,对图像高频的噪声不敏感等。H264最大的优势就是具有很高的数据压缩比率,同时还拥有高质量流畅的图像。因此,该算法主要应用于视频网络传输。
H265:H265是继H264之后的技术改进,在压缩效率、鲁棒性、容错率等方面都有显著的提升。H265可以实现在低于1.5Mbps的传输带宽下,实现1080p全高清视频传输。由于其网络的适应性很好,主要用于智能手机、平板等方面的视频播放存储。本实验对5组视频数据分别经过块级视频去重、MPEG-2、H264和H265等算法后所需要的存储空间消耗(表5.1)。块级视频去重方案与视频算法之间的比率变化。从整体趋势来看,三个比率线都呈现下降并趋于平稳的状态。也就是说,块级视频去重方案与视频压缩算法之间消耗存储空间的差距会随着视频数据增大而降低。为了更好的说明块级视频去重方案的优势,实验在多个视频数据上进行去重压缩。可以看出MPEG-2,H264和H265等压缩算法在多个视频数据上的压缩后,所消耗的存储空间成线性升高,而块级视频去重方案呈现稳定趋势。这主要是因为视频压缩算法主要针对单个视频内的帧图像进行壓缩,而对于多个视频之间的重复帧图像无法实现跨视频压缩。而本章所提出的块级视频去重方案可以在多个视频之间达到去重目的。这是因为对于相同内容的图像块,那么它们的密文图像块也是相同的,系统会认为这些图像块属于重复内容,即使是两个视频中的帧图像,也可以完成去重。因此,块级视频去重在多视频去重领域具有更强的优势。
结论:根据上述的实验测试结果以及实验对比分析可知,块级视频去重方案与现有的视频压缩方法主要有两个优势:首先,块级视频去重方案能够保证数据的隐私,恶意攻击者或者云服务器都无法获取敏感的视频信息。而视频压缩技术并不考虑数据的隐私保护。其次,块级视频去重方案可以消除不同视频之间的冗余,而视频压缩技术只针对单个视频数据进行冗余消除,无法推广到多个视频中去。因此,块级视频去重方案在多个视频去重场景中用更强的优势和应用场景。
事实上,人们习惯于将数据传送到远程云服务器中集中管理,因此可见,云平台也将在物联网环境下发挥着重要作用。终端可以利用云平台来管理数据,进行数据共享,访问控制,数据认证,数据分析,数据检索等多种服务方式。负责收集终端信息的设备可以相应减轻存储和处理数据的负担,这导致物联网和云平台相结合的必然性。因此,一些应用程序可以利用物联网云平台的存储和计算能力来存储和处理来自终端的数据。实际上,已经存在这样的依赖于web服务器的应用,如天气服务,在线日历等。
然而,目前大部分的数据传送都会泄露用户的敏感信息。例如,在物联网环境下常用到的无线技术,由于其移动性和服务便携性,成为应用趋势。物联网中的无线应用场景通常包括无线射频识别(Radio frequency identification
devices,RFID)和无线传感网络(Wireless sensor networks,WSN)。由于无线设备与其他设备共享物理介质,其中包括潜在的恶意设备,当无线传感器向数据中心传送数据时,很可能会遭到恶意设备的攻击。因此无线设备在广泛应用的同时,也带来了巨大的安全挑战。例如,当人们使用可穿戴设备时,他们担心这些设备在他们不知的情况下携带摄像或录音等功能侵犯个人的隐私。因此,最好允许用户能够控制个人的隐私数据。
而由终端设备生成的大规模数据中存在大量的冗余,尤其是多媒体数据视频等,导致通信带宽和存储空间的大量消耗。而云服务提供商为了节约存储空间,降低资源的消耗,需要消除存储数据中的大量冗余;同时,用户为了降低租用云服务的成本,也需要消除需要存储数据中的大量冗余。因此,出于相同的目标,数据去重技术被广泛应用。这一些数据中所含有的敏感信息与用户的个人信息密切相关,因此用户信息的隐私保护在数据去重过程中成为一个重要挑战。通常情况下,加密是一种实用的隐私保护安全方法。虽然这种方法可以有效抵抗数据泄露的风险,但同样给云服务端的数据去重带来技术难题,因为即使是相同的明文数据,在不同密钥下加密,他们的密文形式也不同。
为了解决上述问题,一些常用的技术包括同态加密技术(Homomor phicencryption)和代理重加密技术(Proxy re-encryption)。然而,前者的计算复杂度高,效率低,不适合高维数据处理,尤其是在物联网环境下,设备的计算能力有限,该方法并不适用;后者需要一个区别于云服务的代理服务器, 通过复杂的计算将不同密钥下相同的明文转化为相同密钥下的密文,但这种方法的工作量同样很大。
基于上述挑战,主要针对视频数据,提出隐私保护视频去重方案。由于视频数据中存在相关性,连续帧之间只有很小的差异,甚至这些差异肉眼是无法捕捉的,因此,为了节省云存储空间,视频去重是势在必行的。
参考文献:
[1]AshtonK.That‘internetofthingsthing[J].RFIDjournal,2009,22(7):97-114.
[2]Pea-LópezI.ITUInternetreport2005:theinternetofthings[J].2005.
[3]IBMResearch.whatisbigdata:Bringbigdatatotheenterprise[OL].http://www-01.ibm.com/software/data/bigdata/,2016.
[4]YuS,LiuM,DouW,etal.Networkingforbigdata:Asurvey[J].IEEECommu-nicationsSurveys&Tutorials,2017,19(1):531-549.
[5]JohnWalkerS.Bigdata:Arevolutionthatwilltransformhowwelive,work,andthink[J].InternationalJournalofAdvertising,2014,33(1):181-183.
[6]FengD,ZhangM,LiH.Bigdatasecurityandprivacyprotection[J].Chinesejournalofcomputers,2014,37(1):246-258.
[7]馮登国,张敏,李昊.大数据安全与隐私保护[D].,2014.
[8]杨庚,许建,陈伟,等.物联网安全特征与关键技术[D].2010.
作者简介:庄锡钊,广州人,计算机应用技术实验师,研究方向:电子信息化技术、多媒体技术、计算机应用技术。