【摘要】随着云计算技术的发展,越来越多的数据被存储在云端,但云服务器并不一定安全,存在数据泄露的风险。针对此问题,本文提出一种基于层级链技术的数据保护方案,在保证数据安全的前提下,实现数据的密态检索。该方案将数据资产存储在私有链上,为方便对加密数据的灵活检索,生成加密关键词索引存储在联盟链上,通过数据存储域与访问域的隔离保证数据资产的机密性、完整性和不可篡改性。基于可搜索加密技术与属性加密技术,实现密文关键词检索、细粒度访问控制与搜索结果的可验证。本文还通过安全分析与性能评估证明了该方案的安全性,同时具有更高的计算效率。
【关键词】区块链可搜索加密数据保护
1引言
本文提出了一种基于层级链技术的数据保护方案,在保证数据机密性、完整性的同时,实现数据密态检索、细粒度访问控制与搜索结果的可验证。本方案具有以下3个特点。
(1)采用层级链和可搜索加密技术,将加密数据存储在私有链,加密关键词索引存储在联盟链,通过数据存储域和数据访问域的隔离,实现数据机密性、完整性和不可篡改性。
(2)通过密文策略的属性加密技术,实现细粒度的访问控制,并由联盟链服务器为用户执行耗时的中间解密过程,减小用户的计算开销。
(3)通过结果的可验证,保证搜索结果的正确性,防止被恶意攻击。
论文对本方案进行了安全分析和性能评估,结果表明,本方案具有较高安全性和计算效率。
2.1可搜索加密
但随着技术发展,单一可搜索加密技术已不能满足数据的功能性和安全性需求,迫切需要新技术的加入来解决此问题。
2.2可搜索加密与区块链的结合
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功能性对比
6结语
本文提出了一种基于层级链技术的数据保护方案。该方案融合区块链技术、可搜索加密技术与属性加密技术,将密文数据存储在私有区块链上,加密关键词索引存储在联盟链中,并通过属性加密进行细粒度访问控制,使得只有满足访问控制策略的用户才能对数据进行解密访问,保证了数据的机密性、完整性和不可篡改性。相较于其他方案,本方案在计算开销上有一定优势。未来的研究工作中,我们将结合具体应用场景,进一步完善方案,使方案满足更多安全需求的同时,效率更高。