随着物联网、5G 网络、元宇宙等概念的提出与广泛应用,网络用户产生的数据量也越来越多。如图 1 所示为云存储基本框架,用户在面对与日俱增的数据、自身资源限制、数据使用与共享等情况时,通常会选择将部分数据存储于云端,如谷歌云、AWS、小米云空间等,在需要的时候进行读取、共享等操作。云储存给用户带来了极大的便利,用户只需按需购买并使用云空间与网络服务即可,同时又有效地降低了成本、提高了效率。然而,近年来数据泄露的问题频发。2017 年百度网盘发生数据泄露事件,大量私人信息遭到泄露,包括身份证、车牌号等信息;2021 年 Facebook 5.33 亿用户、领英 7亿用户数据遭到泄露,并在暗网售卖。用户数据一旦发送至云端进行存储,用户将失去对数据的控制权,同时面对非可信的网络环境,用户将时时刻刻面临数据与隐私安全问题。

因此,如何有效地保护用户数据安全、构建安全的网络空间环境得到了国家、机构、广大研究者和企业的重视。在 2012 年,新加坡颁布了《个人数据保护法》。2018 年,欧盟颁布了号称史上最严苛的数据安全法案《通用数据保护条例》(General Data Protection Regulation)。我国也在 2016 年颁 布了《中华人民共和国网络安全法》,2018 年颁布了《中华人民共和国密码法》,2021 年颁布了《中华人民共和国数据安全法》和《中华人民共和国个人信息保护法》等相关法律法规,从法律层面为组织、企业、个人等的数据与隐私安全保驾护航。

图 1 网络云存储

广大学者也在相关领域进行了广泛的研究。由于云服务提供商并非不可信的,因此将存在数据被泄露、篡改等风险,但将数据加密后上传,数据的授权、分享将成为新的挑战。苏铓等人针对传统访问控制无法应对云计算、天地一体化网络对云服务的需求,提出使用代理重加密技术和多要素访问控制技术结合的方案。基于属性的加密(AttributeBased Encryption,ABE)方案也是广泛研究与使用的方式,最早是 2004 年由 Sahai 等人提出的。随后研究人员在理论算法、应用等方面进行了广泛研究。Li 等人为提升多媒体社交网络的服务质量,针对云存储数据的安全和授权策略灵活性方面,结合 ABE 方案进行了系统设计,但该方案的计算在复杂度等方面存在一定缺陷,难以适应大规模的属性加密系统。Wang 等人针对智能电网与云端辅助存储的安全与实用、智能电网等环境下设备资源受限等问题,利用椭圆曲线决策的 Diffie-Hellman问题设计了基于属性的加密方案,同时通过实验评估的方法证明了方案的实用性。Sun 等人 由于之前基于容错学习(Learning with errors,LWE)假设的研究多数都是在单一权威机构下构建的 ABE,在效率方面受到约束,所以该文献在基于环容错学习(Ring-Learning with errors,R-LWE)假设的基础上构建了多权威的门限访问结构的 ABE 方案,使得系统更加高效。曹来成等人 [12] 则通过引入可信第三方来解决数据加密过程中的计算开销问题,该方案可以降低用户端计算开销,很好地适用于资源受限设备。Sandor 等人设计了一种高效的 ABE移动云数据存储方案,其权威机构是分散的,省去了全局用户身份,取消了中央授权机构,但引入了新 的 云 用 户 助 理(Cloud User Assistant,CUA)。Li 等人则使用多权威的属性基加密解决云存储在数据加密、共享时的高效与灵活性问题(这两个是同一篇文献)。Yang 等人 针对移动终端的存储和计算能力有限,难以应对设备与公有云之间的文件共享数据传输等问题,利用私有云辅助用户进行数据的完整性校验等操作。Li 等人针对密文数据的存储、计算过程存在的安全风险,提出了一种可验证外包计算结果的方案,但该方案在面临规模较大的计算任务时,用户的计算成本依然较高。Truong 等人考虑到数据所有者无法感知服务器的数据操作是否合规,提出了使用去中心化的机制处理用户数据,即利用区块链技术对数据的操作进行记录。

但以往的研究工作中对抗量子攻击的考虑较少。未来量子计算机的应用将对基于双线性映射等困难问题为基础的密码算法带来一定挑战。同时,数据加密虽然能够有效阻止不可信的云服务提供商窥探用户数据隐私,但难以应对云服务提供商(非可信的云服务提供商)篡改、伪造用户数据以及网络传输过程中导致的数据丢失等问题。因此本文提出了一种基于属性的云中数据加密授权方案。该方案将格理论构建密钥策略的属性基加密(Ciphertext-Policy Attribute-Based Encryption,CPABE)算法用于保证数据安全与灵活授权,同时采用区块链技术对用户发布的数据信息进行存储,保证了在非可信环境下数据的完整性检验。

本文的贡献点如下:(1)构造了抗量子攻击的 CP-ABE 方案,同时考虑到单一授权机构带来的时延、系统稳定性问题,采用多授权方案,有效提升了方案的实用性;(2)考虑到数据在发布、存储、共享过程中,面临数据篡改、使用过程不明确等问题,使用区块链技术对数据的完整性以及操作过程进行记录;(3)通过安全证明和理论分析证明了方案的安全性与执行效率。

本文将在第 2 节中对方案所涉及的理论知识进行简要的概述;第 3 节将对方案框架进行描述,包括方案各参与方及其功能、安全威胁等;在第 4 节中将对所设计的算法进行详细介绍;在第 5 节中对方案的安全性以及效率进行分析;最后,将对本文的工作进行总结、分析,并对未来研究进行展望。

1预备知识

本节中将对非可信环境下的云端数据加密与授权方案中使用到的基础理论如格理论、基于属性的加密方案以及区块链技术等进行简要介绍,以便后文更好地阐述系统模型。

1.1 格的定义

在这里定义为 n 维欧几里得空间,中的一个格定义为。格L 由一组线性无关的向量组成,假设的基为,因此可得:

式中:为 n 维欧几里得空间的维度,取值范围为整数。关于格中相关的困难问题可以参考文献 [18]。

1.2 基于属性的加密算法

ABE 方案最早是由 Sahai 等人提出的。之后经过学者的研究,基于属性的加密大致分为两种:一 种 是 密 钥 策 略 的 属 性 基 加 密 方 案(Key-Policy Attribute-Based Encryption,KP-ABE),其访问策略包含于密钥中,只有用户密钥策略满足访问属性设置才可正确解密;另一种是密文策略的属性基加密方案(CP-ABE),其访问策略包含于密文中,只有用户的属性满足授权集合才能正确解密密文。同时,随着研究的深入,也有很多 ABE 方案在不同困难问题下进行构建,例如双线性映射、椭圆曲线、格理论 [26-29] 等,但加解密的过程基本是相同的。由于本文采用的是 CP-ABE 方案,因此这里仅简单介绍 CP-ABE 的加解密过程。CP-ABE 方案主要包括 Setup、KeyGen、Encrypt、Decrypt 这 4 个算法,下面将对这 4 个算法进行形式化描述。(1):由 系 统 给 出 初 始 化 参 数作为输入,系统将输出相应的公开参数和主密钥 MK。(2):接下来,系统将主密钥 MK 和用户的属性集 S 作为输入,系统将输出对应的用户属性私钥 SK。(3):用户将公开参数、要加密的消息 msg 和访问控制策略 A 作为输入,输出密文 C。(4):当解密用户欲解密密文 C 时,用户将输入自己的属性私钥 SK、密文 C,输出结果 msg´。当用户的属性私钥不满足密文C 所包含的访问控制策略时,系统输出结果为⊥;当用户的属性私钥满足密文 C 所包含的访问控制策略时,系统输出结果 msg´=msg。

1.3 区块链

区块链是一种共享型数据库,能够存储数据或信息。由于其“诚实”和“透明”等特点使其具有良好的“信任”,常用来作仲裁中介等 。

如图 2 所示,一个区块由区块头和区块体构成。区块头包含前一区块的哈希值、时间戳、随机数、区块体的 Merkle 树根等信息。区块体是一棵 Merkle树,叶子节点为数据(散列值),非叶子节点则存储叶子节点哈希值。

图 2 区块链结构

由于每一个区块都包含前一区块的哈希值,因此所有区块有序地构成一个链式结构,且链上的数据是唯一的,每个节点将存储一份,所有备份数据与原始数据是相同的,以便在有争议时验证链上数据的真实性。

2方案模型

2.1 非可信环境下的云端数据加密与授权模型

在非可信环境下的云端数据加密与授权模型下共有5个参与方,分别为数据所有者、云存储服务器、数据(非)授权用户、区块链基础服务设施、密钥分发机构。非可信环境下的云端数据加密与授权框架如图 3 所示。

图 3 非可信环境下的云端数据加密与授权框架

2.1.1 数据所有者

该部分用户是原始数据的产生或拥有者,其能够对原始数据的使用权进行控制,主要功能包括将原始数据加密后上传至云存储服务器,同时生成原始数据的散列值并存储于链上,以便进行后续的数据校验。

2.1.2 云存储服务器

该参与方提供数据的存储、转发功能,但该参与方并非可信的,其可能对存储于自身空间的数据进行修改、伪造等操作。

2.1.3 数据(非)授权用户

该参与方能够查看数据所有者存储在云服务器中的数据,其拥有密钥分发机构颁布的密钥,该密钥中包含数据授权信息,只有符合数据授权策略的用户才能正确解密数据。

2.1.4 区块链基础服务设施

该参与方用于存储原始数据的散列值,当数据的授权用户对加密数据解密后的值存在疑问时,可以通过与链上存储的数据散列值进行对比,以确定数据的真实性。

2.1.5 密钥分发机构该机构

用户为系统中的用户颁发私钥以及系统公钥,由于该机构仅在需要进行密钥颁发、更新时才会进行相应工作,并非时刻工作在方案系统中,因此未在系统框架中给出。

2.2 系统工作流程

本文将方案共分为密钥分发、数据加密与数据信息链上存储、数据解密、数据校验 4 个阶段。在方案中存在一个中央授权机构(Central Authority,CA)、 多 个 属 性 授 权 机 构(Attribute Authority,AA),由中央授权机构为每个用户分配全局属性标识(Global IDentifier,GID),由系统用户共同维护存储数据信息区块链。方案时序如图 4 所示。

图 4 方案时序

2.2.1 阶段一:密钥生成与分发

(1)由中央授权机构随机选取安全参数作为输入,输出中央授权机构公钥 CAmpk 和全局公开参数 GP。(2)由属性权威机构将全局公开参数 GP 作为输入,输出全局属性私钥和属性公钥。(3)完成上述两步之后,将为系统用户颁发用户私钥。由属性权威机构确定用户的属性集合,根据用户属性为其颁发属性私钥(用户属性真包含于全局属性中),如果用户拥有属性,该属性为积极的,表示为;如果用户未拥有属性 ,该属性为消极的,表示为。最后输出用户私钥。

2.2.2 阶段二:数据的加密与信息链上存储

(1)数据所有者首先确定授权访问集合,并 将 MSG 进 行 编 码( 编 码 后 的 消 息 第 i 位 为, 然 后 利 用 属 性 公 钥 加 密 消 息,最后输出密文 C。(2)同时,对消息MSG 计算散列值 hash(MSG), 将 hash(MSG) 上传到区块链中进行存储。

2.2.3 阶段三:数据解密

授权用户将密文和自己所拥有的私钥作为输入,如果该用户自身属性密钥不满足数据所有者制定的授权访问集合,系统将输出⊥;如果该用户自身属性密钥满足数据所有者制定的授权访问集合,将解密消息 ,并可以解码消息 MSG。

2.2.4 阶段四:数据校验

授权用户在得到消息 MSG´ 后可以计算散列值 hash(MSG´),由于 MSG 散列值 hash(MSG) 是存储在链上 的, 因 此 可 以 进 行 公 开 比 对, 如 果hash(MSG´)=hash(MSG),就可以确定消息 MSG 是正确被解密的。

2.3 威胁模型

本文中的威胁模型来自云存储服务提供商,在这里假设云存储服务提供商是恶意的,它可能会不遵守协议或者利用恶意手段对用户的数据(结果或中间值)进行推测,以及未能有效地保存用户的数据,进而造成用户的数据丢失、篡改、泄露等。授权用户也不是完全可信的,其可能利用不满足访问控制策略的密钥尝试解密密文。区块链是完全可信的,用于存储数据所有者的消息(散列值),帮助授权用户校验解密数据真实性与完整性。假设区块链中的矿工规模足够庞大,足以保证区块链系统的稳定与安全。

3算法构建

非可信环境下的云端数据加密与授权方案如图4 所示。接下来将对方案进行详细论述。

3.1 阶段一:系统初始化与密钥的分发

(1):先由中央权威机构随机选取安全参数 λ 和一个大素数 q 作为模数,之后由安全参数 λ 和素数 q 生成正整数 n 和 m,之后计算,最后随机选取向量,输出以及主密钥。(2)AASetup(CAmpk):属性权威机构将中央权威机构生成的 CAmpk 作为输入。假设全局属性集合为,每个属性授权机构所管理的属性。对于每个属性,随机选择。因此,输出属性公钥。(3)KeyGen(msk):假 设 用 户 属 性 为,属性集合为 S ⊆ R。因 此, 如 果 用户属性为, 则 该 属 性 为“ 积 极 的 ”,;否则, 该 属 性 为“ 消 极 的”,。对于所有用户属性,随机选取。然后,。因 此,,存在 D·sk=u。得到用户属性密钥

3.2 阶段二:数据信息的链上存储与加密

(1)Hash(MSG):数据所有者计算欲加密数据 MSG 散列值 H(MSG),并上传至链上进行存储。在存储过程中,H(MSG) 并非实时写入区块中,因为需要达到足够数量的交易节点才能完成区块的构建。首先,将全部 H(MSG) 进行编排,构成 Merkle树的叶子节点,并构建区块体。区块头由前一区块的散列值、时间值 t,随机数、Merkle 树的根节点以及版本号 V 构成。

(2):首 先 用 户将 MSG 作为输入进行编码,得到。之后,由 CAmpk、AAmpk 和授权策略 W ⊆ R,定义属性值为“积极的”,定义属性值为“消极的”。因此可得。随机选取。接下来计算:

最后,输出密文为

3.3 阶段三:密文数据的解密

Dec(C,sk):授权用户将密文 C 和自己拥有的属性私钥 sk 作为输入,如果属性,则;否 则。因此, 计 算, b=z-a。可 得, 如 果,则返回结果为“1”,否则为“0”。将序列重新进行解码得到消息 MSG´。

3.4 阶段四:解密后密文数据完整性校验

Check(H(MSG´)):授权用户计算解密得到的数据 MSG´ 散列值 H(MSG´),并与上传至链上存储的H(MSG) 进 行 对 比。如 果 H(MSG´)=H(MSG),则 说明数据是真实可信的;否则说明数据遭到篡改。

4安全性分析与性能评估

4.1 安全性分析

4.1.1 数据完整性

在本方案中,数据需要通过加密后再上传至云存储,因此保证了密文数据不会被诚实而好奇的参与方窃取任何信息;但本文假设云服务提供商是恶意的,其可能篡改、伪造数据等,对数据的安全存储构成威胁,因此采用区块链技术在加密数据之前将数据的信息上传至链上进行存储,以备后期进行公开验证。

4.1.2 抗共谋攻击

由于恶意的云服务提供商可能勾结部分矿工节点进行虚假交易,因此会对公开验证阶段构成威胁。但区块链技术提供了安全可信的执行环境,内部存在大量节点存储、备份、计算区块链的正确性。如果说存在某个云服务提供商能够通过与部分节点共谋的方式修改、控制该区块链,也意味其可以修改控制其他区块链系统。

4.1.3 访问控制管理

在方案中,数据使用基于格的属性加密算法生成密文,同时将访问控制策略一同写入密文中,只有授权用户的属性信息满足访问控制策略时才可以正确解密密文。因此方案既有效地保证了数据的云存储安全,又实现了大数据下的数据灵活访问授权。

4.2 性能评估

目前,基于双线性映射与椭圆曲线构建的属性基加密方案居多,因此本文将基于双线性映射、椭圆曲线以及格上的方案都进行了分析与对比,同时在以往方案中多数假设用户数据上传至云端后,数据是被安全存储的,即云存储服务提供商是诚实且好奇的,但本文假设云存储服务提供商是不可信的,其可能是恶意的,也可能由于部分因素将用户存储的数据丢失,因此,还需要验证用户存储在云端的数据的完整性。方案安全性对比如表 1 所示。

表 1 方案安全性对比

5结 语

现如今数据量正在呈爆炸式增长,用户选择将数据存储在云端,以减轻本地设备的存储负担以及便捷的数据访问与使用,但网络存在诸多安全挑战。为在非可信的网络环境下构建更加安全的数据云端存储与授权模式,本文提出了一种基于格的属性加密方案,同时结合区块链技术保证数据在非可信云存储服务提供商环境下的数据完整存储。该方案不仅考虑到量子计算对传统数据加密所带来的威胁,还基于区块链技术构建了数据完整性管理机制。最后,对本文提出的方案进行了安全性分析与理论性能对比,结果表明本文的方案具有更高的安全性,可以更好地适应非可信环境下云端的数据存储与共享。

引用格式:刘慧红 , 黄普善 , 毛得明 , 等 . 非可信环境下的云端数据加密与授权方案 [J]. 通信技术 ,2022,55(3):367-374.