【摘 要】随着云计算技术的发展,越来越多的数据被存储在云端,但云服务器并不一定安全,存在数据泄露的风险。针对此问题,本文提出一种基于层级链技术的数据保护方案,在保证数据安全的前提下,实现数据的密态检索。该方案将数据资产存储在私有链上,为方便对加密数据的灵活检索,生成加密关键词索引存储在联盟链上,通过数据存储域与访问域的隔离保证数据资产的机密性、完整性和不可篡改性。基于可搜索加密技术与属性加密技术,实现密文关键词检索、细粒度访问控制与搜索结果的可验证。本文还通过安全分析与性能评估证明了该方案的安全性,同时具有更高的计算效率。
【关键词】区块链 可搜索加密 数据保护
1 引言
随着各领域数据量的激增,越来越多的机构选择将数据存储在云端,但有的云服务器可能是恶意的,因此存在着一定的信息泄露风险,必须对数据进行加密存储,由此导致加密数据的检索变得十分困难,只能频繁下载全部数据解密后再进行使用,这无疑会消耗大量的计算资源与时间。
随着区块链3.0时代的到来,区块链技术被广泛应用到日常生产生活中的各个领域。区块链是一种适用于存储和查询的高度分布式数据结构,使关键词查询能够通过所有相关方的共识得到验证和记录,并通过共识机制保证数据的完整性、不可篡改性。
虽然区块链的特性可以很好地保护被检索数据的隐私,但依旧无法解决加密数据检索困难的问题。而可搜索加密技术恰好可以解决密文检索困难问题,其通常的策略是:首先创建索引,然后将索引和加密数据分开存储,通过对索引遍历来查询关键词对应的文件,从而达到密文检索的目的。但其他授权用户若要进行同样的查询操作,只能先获取数据拥有者的密钥,这显然是不安全的。此外,属性加密技术可以为灵活的细粒度访问控制提供支持,其将访问结构巧妙嵌入加密技术,当用户的属性满足该访问结构方可成功解密。目前研究最多的是密文策略属性加密,该方案将访问策略嵌入密文,将用户的属性作为密钥,当属性满足密文的访问策略时即可进行解密,否则无权进行访问,以此达到细粒度访问控制的目的。
本文提出了一种基于层级链技术的数据保护方案,在保证数据机密性、完整性的同时,实现数据密态检索、细粒度访问控制与搜索结果的可验证。本方案具有以下3个特点。
(1)采用层级链和可搜索加密技术,将加密数据存储在私有链,加密关键词索引存储在联盟链,通过数据存储域和数据访问域的隔离,实现数据机密性、完整性和不可篡改性。
(2)通过密文策略的属性加密技术,实现细粒度的访问控制,并由联盟链服务器为用户执行耗时的中间解密过程,减小用户的计算开销。
(3)通过结果的可验证,保证搜索结果的正确性,防止被恶意攻击。
论文对本方案进行了安全分析和性能评估,结果表明,本方案具有较高安全性和计算效率。
2 相关工作
2.1 可搜索加密
可搜索加密(Searchable Encryption,SE)是一种在不需要解密的情况下,可以直接对存储在云端服务器上的加密数据文件进行关键词检索的技术。常见的可搜索加密方案包括对称可搜索加密(Symmetric Searchable Encryption,SSE)与公钥可搜索加密(Public Key Encryption with Keywords Search,PEKS)。最初,Goldreich和Ostrovsky于2000年提出可搜索加密的概念。基于此,Song等人提出第一个实用的对称可搜索加密的构造方案。该方案通过使用特殊的2层加密结构来搜索加密数据,使用顺序扫描来搜索密文。但由于每次搜索都需要遍历整个密文文件,搜索时间和文件大小线性相关,搜索效率低。Goh等人构造了第一个基于索引的方案,利用Bloom过滤器以及伪随机函数来构建安全索引。Chen首次提出了S-HashMap索引结构,在实现多关键字模糊密文检索的同时,使数据的更新更高效、更安全。Stefanov等人首次提出前向安全的概念并设计了相应方案,该方案泄露信息更少且效率更高,在最坏的情况下该方案支持亚线性时间内的更新和搜索,同时保持仅线性大小的数据结构。
但随着技术发展,单一可搜索加密技术已不能满足数据的功能性和安全性需求,迫切需要新技术的加入来解决此问题。
2.2 可搜索加密与区块链的结合
利用可搜索加密技术实现链上数据加密及密文搜索是当前常见的一种解决方案。可搜索加密搜索的对象是加密密文,因此需要事先选择搜索关键词,加密生成查询目标密文。在构建链上可搜索加密方案时,研究人员将关注点放在加密搜索安全性及性能上的提升,区块链仅仅作为方案实现的平台,提供可信的数据存储及检索功能。例如,Chen等人针对医疗数据,提出基于区块链的电子病例(EHR)可搜索加密方案,该方案中索引存储在区块链中,区块链技术的使用确保EHR索引的完整性、防篡改性和可追溯性。Li等人提出了一种基于区块链的索引分层可搜索加密方案,该方案首先设计了一种分层搜索索引结构并将其外包给区块链网络,以实现可靠的分层搜索。Ali等人提出将区块链作为一个分布式数据库,采用同态加密技术,以确保对数据库的安全搜索和基于关键词的访问。
但是这些工作中,区块链只提供存储与检索功能,如何利用区块链的其他特性来满足方案的需求值得去深入研究。本方案提出利用联盟链服务器性能优势,为用户提供中间解密功能,可以大大缩短用户解密时间,提升用户使用体验。
2.3 基于属性的可搜索加密
属性加密是Sahai和Waters在2005年提出的概念,他们将访问结构结合在密文中,从而达到访问控制的目的。属性加密可分为密文策略属性加密(CP-ABE)和密钥策略属性加密(KP-ABE),当前学者针对CP-ABE的研究较多。Sun等人受属性加密的启发提出了第一个基于属性的关键词检索方案,从而实现了细粒度访问控制。Qiu等人提出了支持隐藏访问策略的基于属性的可搜索加密方案,如果数据用户的属性凭证不能满足数据所有者指定的访问控制策略,则数据用户无法搜索加密数据并了解有关访问结构的任何信息。Liu等人为解决密钥管理等安全问题,引入区块链技术,利用其去中心化的性质,负责系统参数与密钥生成等过程,使方案更加安全。
但是,现有的基于属性的可搜索加密方案,均需把关键词一同通过属性进行加密,这大大增加了加密耗时与陷门生成耗时。本方案将关键词与文件索引单独加密,属性加密只对加密文件的对称密钥进行加密,效率更高。
3 系统模型
本方案采用层级区块链架构,加密数据存储在私有链上,关键词索引等存储在联盟链,从而有效降低数据泄露的风险,并保证用户数据的不可篡改。层级链示意图如图1所示。
本方案提出的系统模型主要包含4大实体,分别是:数据拥有者(DO)、数据用户(DU)、私有链(PB)和联盟链(CB)。
图1 层级链技术
DU可根据关键词搜索DO发布的加密数据。PB是DO维护的私有区块链,负责存储DO加密后的数据。CB由各数据使用方共同构成和维护,负责存储加密索引、文件哈希值等,并通过智能合约执行搜索算法,CB还可代替DU完成中间解密工作,减少DU的计算耗时,提高效率和体验。该方案的系统模型如图2所示。
图2 系统模型
4 系统实现
基于上一节提到的系统模型,本节基于属性加密技术和可搜索加密技术,构建了一个基于层级区块链的数据安全保护方案。该方案兼顾了数据存储的机密性、完整性与数据检索的灵活性。
本方案的设计思想是采用层级链的架构,私有链PB存储数据密文,联盟链CB存储关键词索引等信息,通过数据存储域和数据访问域的隔离,达到数据保护的目的,保护数据的机密性、完整性和不可篡改性。其具体工作流程如图3所示:
图3 系统工作流程
(1)CB先进行系统初始化,生成公共参数和主密钥,公开公共参数并保留主密钥;
(2)DO将自己的数据文件进行加密后上传至PB;
(3)PB返回文件的存储位置给DO;
(4)DO根据关键词及文件列表生成加密索引,连同文件存储位置、文件哈希值、访问策略等信息上传至CB;
(5)DU向DO发起关键词查询请求;
(6)DO根据DU提供的关键词为其生成对应的陷门;
(7)DU将陷门上传至CB发起关键词查询请求;
(8)CB首先判断DU的属性是否满足访问策略的要求,若满足则执行检索算法并向PB获取加密文件;
(9)PB将密文文件返回给CB;
(10)CB首先生成解密密钥并执行耗时的中间解密过程得到中间密文,连同文件哈希值等信息发送至数据用户DU;
(11)DU执行最后一步轻量级解密算法获得明文,并可根据哈希值判断文件的完整性,验证结果是否正确。
5 安全分析与性能评估
5.1 安全分析
(1)机密性
所有隐私信息均加密存储,其中原始数据加密存储在PB上,索引加密存储在CB上,密钥使用属性加密保护,只有属性满足访问策略的用户才能成功解密;同时关键词也进行加密处理,除了DO和DU,没有参与方可以获取到关键词的明文信息。因此,机密性得以保证。
(2)不可篡改性和完整性
首先,数据存储在链上,区块链不可篡改的性质保证了数据完整性,恶意用户无法修改链上数据。其次,数据用户收到数据密文的同时得到原始数据的哈希值,由此可以验证数据的完整性。
通过以上分析,在本方案中,数据加密存储以保证机密性,使用属性加密保护密钥,实现了安全的访问控制。数据链上存储,利用区块链的共识机制,保证数据的完整性和不可篡改性。因此本文所提的数据保护方案在各个环节中均很好地保护了数据的安全。
5.2 性能评估
本节将从功能性和计算开销来评估本文方案和其他方案的主要性能。
表1给出了本文所提出方案与文献[11]-[13]所提出方案的功能性对比。从表1可以看出,文献[11]-[13]所提出方案均支持隐私保护、访问控制与可搜索加密,文献[13]所提出方案引入区块链技术以防止恶意行为,使方案更安全。而相比这3种方案,本文所提方案支持外包解密和结果可验证功能,由联盟链代替用户进行耗时的中间解密工作,用户只需要进行轻量级解密即可获得最终明文,大大提升用户体验。结果可验证功能的加入,可以使用户对搜索结果完整性进行验证,防止收到错误结果。总的来说,本文所述方案在隐私保护、访问控制、可搜索加密、外包解密、结果可验证等方面均具有优势,兼具功能性和安全性。
表1 功能性对比
在算法计算开销方面,综合评估了本方案在系统初始化、密钥生成和加密3个阶段的计算开销,并与文献[11]-[13]所提出方案进行对比。在3个阶段的整体计算开销上,文献[11]所提方案所需时间为5n的群运算时间,文献[12]所提方案需要4n的群运算时间,而文献[13]所提方案需要20n的群运算时间。本文方案整体需要4n的群运算时间,但相比文献[12]方案需要更少的哈希计算时间。因此本方案计算开销明显优于其他方案。
6 结语
本文提出了一种基于层级链技术的数据保护方案。该方案融合区块链技术、可搜索加密技术与属性加密技术,将密文数据存储在私有区块链上,加密关键词索引存储在联盟链中,并通过属性加密进行细粒度访问控制,使得只有满足访问控制策略的用户才能对数据进行解密访问,保证了数据的机密性、完整性和不可篡改性。相较于其他方案,本方案在计算开销上有一定优势。未来的研究工作中,我们将结合具体应用场景,进一步完善方案,使方案满足更多安全需求的同时,效率更高。