中英文核心期刊咨询网

当前位置:首页>>电子论文 > 正文

边缘计算模式下密文搜索与共享技术研究

发布时间:2022-04-26

  摘 要:针对边缘计算数据安全问题,提出一种密文搜索与共享方案,在不改变边缘计算架构和云计算架构情况下,借助上述边缘计算诸多优势实现用户隐私数据保护,利用边缘节点构建加密倒排索引,在边缘节点和云计算平台之间安全地分享索引和密钥,实现密文搜索、数据安全共享及索引动态更新等功能。最后,与现有方案相比,对性能和安全性进行分析讨论,表明所提方案在密文搜索攻击模型下具有可证明的高安全强度,基于加密倒排索引兼顾了密文搜索效率和文档动态更新功能。

边缘计算模式下密文搜索与共享技术研究

  关键词:边缘计算;隐私保护;密文搜索;安全共享

  0 引言

  随着万物互联的高速发展,数据呈爆炸性趋势增长,物联网得到了快速发展[1]。2020 年,全球物联网设备数量达到 126 亿[2],全球物联网市场规模达到 2 480 亿美元,预计到 2025 年全球物联网市场规模将超过 1.5 万亿美元[3]。随着 5G 通信、物联网等技术的快速发展,中国物联网市场规模由 2015 年的 7 510.6 亿元增长至 2019 年的 15 700 亿元[4],且 2020 年中国新增 5G 连接设备超过 2 亿个,5G 基础设施数量已跃居世界之首[5]。

  万物互联时代,每天产生的数据量急增,数据在地理上分散,对数据安全性和响应时间都提出了更高的要求。云计算模式为大数据处理提供了高效的计算平台,但目前网络带宽的增长速度远远赶不上数据的增长速度[6-7]。因此需要解决带宽和时延两大瓶颈。边缘计算在靠近数据源头的网络边缘提供计算服务和存储资源,这里的边缘是指从云服务器到数据源之间的任意资源[6]。由于边缘计算能够在靠近终端设备的边缘节点处理和存储数据,从而能够较好地满足实时响应、多终端接入和节省网络流量等需求,受到学术界和工业界的高度关注[8]。

  尽管边缘计算具有诸多优点,但也面临着各种隐私和安全威胁。作为云计算的拓展,边缘计算仍具有与云计算相同的数据安全问题:用户数据在云计算平台存储和计算,处于不可信环境中。针对此问题,用户的数据在上传至云计算平台之前,可利用近数据端的边缘节点直接对数据进行计算和处理,以保护用户隐私数据,降低边缘计算模式隐私泄露风险。由于边缘节点介于本地用户和云服务器之间,这一特性使在云计算模式中的典型的数据加密机制无法直接应用于边缘计算模式。因此,如何设计基于边缘计算的隐私数据保护和共享方案成为研究的热点和挑战。

  本文利用边缘节点位于用户端这一优势,通过边缘节点对用户数据进行加密,保护用户隐私数据,将密文上传到云计算平台上。然而,云计算平台难以对直接加密后的数据进行计算和数据搜索。本文针对此问题设计了边缘计算模式下密文搜索方案,使边缘节点与云计算平台协同配合,在边缘节点加密数据的同时,基于隐私保护数据构建加密索引,将密文索引上传到云计算平台,借助云计算平台实现密文搜索功能,在保护用户隐私数据的同时,提供对加密数据的搜索功能。

  进一步地,不同用户的数据在不同边缘节点加密,密钥安全隔离,若数据上传者和数据使用者位于不同边缘节点下,如边缘节点 B 下的用户需要访问边缘节点 A 下的用户上传的数据,就需要在不同边缘节点之间进行数据安全共享。本文结合基于身份加密和公钥加密机制,实现密钥在不同边缘节点和云计算平台之间安全地分享,从而实现数据隐私保护和安全共享。

  由于边缘节点资源是动态变化的,需要密文搜索与共享方案能够根据业务和用户的动态需求,支持对文档内容进行动态更新,从而文档资源可按需调整,提升方案地灵活性;另外,如位于边缘节点 A 下的用户移动到边缘节点 B 下,如要在边缘节点 B 下搜索原来的数据,就需要对原来的密钥、索引和相关元素据进行相应迁移。针对此问题,本文设计一种数据动态更新方案,在边缘节点和云计算平台之间安全地同步和迁移索引,实现数据隐私保护和动态更新。本文的主要贡献有以下几点。

  1) 针对边缘计算模式设计安全性高、实用性好的密文搜索方案,并从查询性能和安全性方面对该方案作了系统的定量分析。从性能和安全性分析方面可以看出,本文设计的密文搜索方案安全性高,不需要专门定制及修改当前的云应用程序,是保护用户数据的有效解决方案。

  2) 提出一种数据安全共享方案,结合身份加密和公钥加密,实现密钥在不同边缘节点和云计算平台之间安全地分享,从而实现数据隐私保护和安全共享。

  3) 设计加密索引动态更新方案,支持索引数据迁移同步,在添加、删除或更新文档内容时,依然支持用户对数据进行搜索,使数据更新和数据搜索并行执行,从而提高事务执行效率。

  1 相关工作

  边缘计算在数据源头处提供服务,将原有云计算中心的部分或全部任务迁移到边缘节点执行,使其在很多物联网应用和移动应用上发挥巨大作用,如增强现实、图像识别、网站性能优化、智慧城市、车联网等[7,9]。尽管边缘计算具有诸多优势,但也面临着数据隐私和安全威胁。本文假定若边缘节点部署在用户侧,处于用户可控范围内,是可信的,而其他边缘节点和云计算平台部署在远端或云计算平台端,处于半可信或恶意敌手的环境中。边缘节点介于本地用户和云计算平台之间,可以很好地过滤和保护用户数据隐私。

  1.1 数据隐私保护

  在用户数据传送到云计算平台之前,对数据加密可以有效保护用户的隐私数据。ShadowCrypt[10] 利用浏览器插件对用户数据做加密保护,其针对的数据为文本型输入数据,不适用于更复杂的物联网场景。Mylar[11]针对 Web 应用服务防止用户隐私数据泄露,仅支持 Meteor JavaScript 框架,向后兼容性不足。在边缘计算模式下,方晨等[12]基于区块链和联邦学习实现边缘计算隐私保护;巫光福等[13] 基于区块链与云-边缘计算混合架构对车联网数据进行安全存储与共享;Kumari 等[14]基于 Carmichael 定理的改进的同态加密方案保护医疗数据安全和隐私。

  在保护用户数据隐私前提下进行数据计算操作,可首先在本地对数据作特殊加密操作,之后在密文上进行计算。同态加密[15-17]和差分隐私[18-19]算法已广泛应用于此类场景。Lu 等[15]利用同态加密,为物联网异构设备设计了一种轻量级数据聚合方案,保护数据机密性和完整性,但没有涉及到身份隐私和移动性。Lyu 等[20]设计基于秘密共享和差分隐私的隐私保护数据聚合方案。同样该方案不涉及移动性。安全多方计算在多用户之间进行安全计算,同时保护各方输入数据的隐私[21-22]。很多参考文献使用混淆电路方法设计实际应用协议,如人脸识别 [23]和远程诊断[24],但这些方案需要很高的计算量及通信复杂度。基于秘密共享机制,Damgard 等[25] 设计了一种用于相等性测试、比较和位分解的通用协议。为了提高效率,Nishide 等[26]构建了用于求解2个数大小关系的协议,无需依赖位分解操作。 Dinur 等[27]基于分布式离散对数问题设计了一个同态秘密共享协议。

  1.2 密文数据搜索

  针对密文数据搜索,Song 等[28]首先设计了一个可实用的方案,此方案搜索数据时需要云计算平台端对密文数据作全文扫描,具有一定的复杂度,安全性也需要进一步提高。Curtmola 等[29]构建倒排索引密文搜索方案,提高了安全性和搜索性能,但不支持文档动态更新。在边缘计算模式下,王娜等[30] 基于分块技术设计密文搜索方案;Li 等[31]利用云计算辅助设计关键词排序搜索方案;Liu 等[32]设计适合于边缘计算场景的数据安全搜索和存储方案。

  为支持高级搜索功能,Kamara 等[33]通过维护复杂的数据结构设计密文搜索方案,实现动态更新机制。Boneh 等[34]构建关键字搜索公钥加密算法(PEKS, public key encryption with keyword search)实现多用户数据加密搜索,具有一定的时间开销。 Liu 等[35]在PEKS基础上借助云计算平台参与计算,以提高计算性能。

  1.3 密文安全共享

  用户数据使用用户对应的密钥进行加密,密钥是私有的。如果某一用户 A 想要向另一用户 B 分享自己的某加密文档,用户 B 需要收到用户 A 的加密数据,同时需要从用户 A 获得密文数据对应的密钥,才能看到解密后的明文,所以加密密钥需要在不同用户之间安全地共享。

  在边缘计算模式中,边缘节点可对用户数据进行加密,同时管理数据密钥。为实现不同边缘节点下的用户之间的数据共享,公钥加密机制(PKE, public key encryption)可有效地在不同边缘节点之间实现安全密钥共享。但 PKE 需确认身份证书的合法性,判断证书是否过期或撤销,产生很多证书状态查询请求,降低通信效率。身份加密机制(IBE, identity based encryption)可解决身份验证问题,但需要确保生成和托管私钥的计算节点是可信的。

  Shamir[36]基于 IBE 提出一种加密和签名方案,但不具备可完全实用性。Boneh[37]基于 Weil 对设计了一种可实用的方案,但需要将私钥进行托管。为解决私钥托管问题。文献[38-39]利用 IBE 和 PKE 进行数据保护。Lewko 等[40]设计多授权方的数据加密方案。在边缘计算场景中,SHARE-ABE[41]基于属性加密方案设计数据共享框架;Zhang 等[42]在移动边缘计算模式中设计一种抗密钥滥用的轻量级数据共享方案。

  为了安全地在边缘节点和云计算平台之间分享密钥,本文结合 IBE 和 PKE 设计密钥安全共享方案,利用云计算平台计算和存储能力,实现不同用户之间的密文共享机制。

  可搜索加密算法一般包含如下多项式时间算法。

  1) 密钥生成算法。由安全参数 s,生成密钥 k, k= KeyGen(s)。

  2)索引生成算法。由文档集合 D 和密钥 k 作为输入,生成索引 I,I= BuildIndex(k,D)。

  3) 令牌生成算法。由关键字 w 和密钥 k,生成搜索令牌 Tw,Tw= Trapdoor(k,w)。

  4) 搜索算法。由搜索令牌 Tw 和索引 I,生成针对文档集合 D 的查询结果 D(w),D(w)= Search (Tw,I)。

  针对密文搜索的攻击主要有 2 个目标,一是猜测用户查询的关键字,即得到查询令牌和关键字的映射关系;二是猜测密文内容。

  在密文搜索相关术语中,搜索模式是指对于返回结果相同的 2 个搜索令牌,能否决定这 2 个搜索令牌对应于同一个关键字的概率不大于 1/2。访问模式是指从返回结果中能够获取的信息,如判定 2 个文档同时含有的关键字的信息[43-44]。

  密文搜索安全性级别定义如下。

  选择明文攻击(CPA, chosen plaintext attacks)安全性:在未查询前提下,密文及索引不会泄露有关明文的任何信息,但有可能泄露其他信息,如文档中关键字个数信息或位置信息。

  非自适应选择关键字攻击(CKA1, non-adaptive chosen keyword attacks)安全性:攻击者在一次查询的前提下,密文和索引除泄露搜索模式和访问模式外不会泄露其他有关明文和关键字的信息。

  自适应选择关键字攻击(CKA2, adaptive chosen keyword attacks)安全性:允许攻击者在已搜索的令牌和搜索结果的基础上发出查询请求,密文和索引除泄露搜索模式和访问模式外不会泄露其他有关明文和关键字的信息。

  根据密文搜索泄露信息划分安全等级从低到高排列如下。

  Le4:云计算平台端可以得知关键字在文档中的具体位置和出现次数。

  Le3:云计算平台端可以得知哪些文档中含有相同的关键字,关键字在文档中第一次出现的位置(不知道具体每一次的位置和出现次数)。

  Le2:云计算平台端可以得知哪些文档中含有相同的关键字。

  Le1:仅当用户使用查询功能时,云计算平台端才能得知哪些文档中含有相同的关键字。随着用户查询的逐渐增多,云计算平台端得知的信息也逐渐积累,该安全模型逐渐退化为 Le2。

  Le0:在 Le1 的基础之上,即使多次查询也不暴露文档中含有相同的关键字的信息。仅会暴露常规查询统计信息(文档的密文长度、查询用户的 IP 地址和查询频率等)。

  密文搜索的攻击者预先得知的信息分为图 1 中的 5 种。

  预知查询信息。1) 部分查询信息:例如文档内容为微信聊天记录,攻击者可以参考典型用户的使用习惯,推测用户一般对那些内容较为关心,比较常用的关键字等;2) 部分查询关键字:攻击者知道某些确切的查询关键字,即部分查询令牌和对应的关键字已泄露给了攻击者,攻击者试图猜测所有的查询关键字内容。

  预知文档信息。1) 部分文档信息:例如文档为邮件内容,攻击者可以根据用户的身份大致知道邮件可能的类型,如财务报表、竞拍的标底、合同协议等;2) 部分文档内容:知道某些确切的文档内容或某些文档的重要信息,知道文档集合一定包含某些内容,例如群发邮件被攻击者获取等;3)所有文档信息:不仅知道全部的明文文档内容,而且知道某些查询对应的确切关键字。

  针对密文搜索的攻击者可分为 2 种:1) 被动攻击者:遵从正常的服务流程,不主动进行攻击,希望通过用户的查询猜测出“密文文档内容”和“查询关键字内容”;2) 主动攻击者:利用攻击或欺骗手段获取文档集合中的某些选定文档,或诱导用户进行某一选定的查询。根据密文搜索攻击相关文献 [43-44],攻击方法可通过对明文及密文搜索过程和结果进行统计,利用查询计数进行查询恢复攻击(即查询某关键字返回结果和对应文档个数),或根据关键字对或多个关键字在同一文档中共同出现的概率进行拟合和优化得到明文内容。

  2.2 系统模型

  边缘计算由多个位于本地设备和云计算平台之间的边缘节点协同完成数据存储与计算任务。一般而言,边缘节点与用户之间的链接和安全更为可靠,与云计算平台之间的交互和链接更为稳定。具体场景如边缘节点就是用户的主机上的虚拟机或局域网服务器,用户可以将隐私信息直接发送给边缘节点处理,这种情况下边缘节点与用户之间的可信度很高。再如某公司某一业务上云,该业务由不同部门合作完成,各部门位于不同地区,相互之间存在数据交互。各部门分别在己方可信环境内部署边缘节点,用于和云计算平台及其他部门展开业务交互。这种情况下己方的边缘节点被认为是可信的,云计算平台和其他部门的边缘节点被认为是 “诚实而好奇”的半可信实体,己方部门用户的数据隐私安全问题需要受到保护。

  边缘计算模式下密文搜索与共享系统架构由用户、边缘节点和云计算平台 3 个关键角色组成,如图 2 所示,利用边缘节点位置和功能的特殊性,对用户和云计算平台之间的传输数据进行加密和索引,以保护用户的隐私数据,并实现搜索功能。同时利用云服务超强计算能力和超大存储空间,存储密文数据并维护和更新数据索引。用户数据在边缘节点处进行加密,构建索引,同时密文数据和加密索引同步更新到云计算平台端。当用户检索数据时,密文搜索功能由云计算平台端执行,由云计算平台端返回相应的密文数据。如果返回的密文在边缘节点处有对应的密钥,则可直接解密返回给用户;如果没有相应的密钥,则需要和密钥所在的边缘节点进行密钥安全传输,获得相应的密钥后即可对密文进行解密。当用户对原始文件数据修改后,相对应的文件索引需要作同步更新,以确保正确的检索结果。

  在密文搜索与共享系统架构中,边缘节点隐私保护机制通过识别和过滤应用层协议,加密和保护用户的隐私数据。隐私数据保护主要由以下功能模块组成。

  1) 数据识别模块。根据服务器名称标识(SNI, server name indication)、统一资源定位符(URL, uniform resource locator)等特征字段分析应用协议,识别用户隐私数据。通过分析请求内容格式,找到要加密的数据,以交给数据加密模块加密明文数据;并把要搜索的数据交给索引服务模块构建索引。

  2) 数据加密模块。加解密用户隐私数据,针对属于同一文件的用户数据,构造密文元数据,元数据内容包括密钥标识,边缘节点标识,特征标识等。元数据存储在边缘节点处,用于标识加密数据,以便接收到密文数据时,可以识别并找到对应的密钥进行解密。解密操作根据元数据中的特征标识定位到密文内容,利用密钥标识获得密钥并解密。

  3) 索引服务模块。当用户加密后的文件上传到云服务后,会返回对应的文件标识符。索引服务模块得到文件标识符和数据识别模块缓存的文件明文数据并建立加密索引,在文件数据更新时维护和更新搜索索引。边缘节点建立的索引要同步更新到云计算平台端,由云计算平台融合和管理各边缘节点上传的索引数据,形成统一的搜索索引,成为主索引。当用户文件更新后,边缘节点形成索引更新数据,并上传到云计算平台端,由云服务在主索引上完成同步更新。典型步骤执行过程如下。

  首先,数据识别模块处理用户数据,识别并缓存要加密的隐私数据。然后,数据加密模块生成加密密钥加密数据,将元数据附到密文头部,并在数据库中存放密钥和密钥标识;边缘节点将加密后的文件数据发送到云计算平台端后,接收返回的文件标识符。最后,索引服务模块使用缓存的文件数据和文件标识符,建立索引,并将索引及时与云计算平台端同步。

  当加密数据由云计算平台端返回后,数据加密模块通过分析特征标识定位密文数据;根据密文头部元数据中的密钥标识获得对应密钥并解密,将明文数据返回给用户。

  当用户输入查询内容进行搜索操作时,边缘节点根据查询请求获得要搜索的关键字,然后向云计算平台端发起检索请求。云计算平台端根据检索请求返回对应的文件标识符,用户利用文件标识符请求对应的密文文档,当云计算平台端返回相对应的密文文档后,边缘节点获取密文文档对应的密钥,解密并将明文数据返回给用户。——论文作者:王继锋 1,2,王国峰 3

  本文来源于:《通信学报》是由中国通信学会主办的一级学术性刊物,创刊于1980年,面向国内外公开发行。其办刊宗旨是及时反映中国通信科学技术发展水平,交流国内外通信科技新成果,促进学术进步和人才成长,探索新理论、新技术。主要读者对象为信息通信领域的研究人员、大专院校通信及相关专业的教师和研究生。设有学术论文、技术报告、综述、短文、学术通信等栏目,有英文目次和英文摘要。

回到顶部