警务云数据安全删除技术及应用
2022-07-18钱发华
何 明 李 伟 徐 兵 钱发华 罗 玲
(1 陆军工程大学指挥控制学院 江苏 南京 210007;2 江苏省公安厅信息化处 江苏 南京 210007)
1 引言
云计算是通过Internet提供不同计算服务(如存储、数据库、网络资源、应用服务等)的可配置资源池,能够提供高效、灵活的资源和服务[1]。与传统计算相比,其动态可扩展性、按需部署、高灵活和高可用性极大地提高了资源利用率和计算效率[2]。在大数据的背景下,警务云平台的建设应用工作持续深入发展,为其各类基础设施、智能应用及数据资源维护数据,例如数据的存储、更新和删除,在有力服务各类实战应用的同时,对平台的整体安全性也提出了新的要求。数据安全是警务云安全中的核心问题,其中数据存储与删除属于数据生命周期中最为关键的两个步骤,应考虑的是数据的保密性、完整性、有效性、不可抵赖性、数据恢复等方面的安全风险[3]。
从警务云存储架构的角度来看,警务云存储采用的是私有云储存,与公有云相比具有更高的安全性,但其私有节点的安全依赖于整个外部防火墙,一旦有内部节点被攻击,整个存储节点的安全也将受到威胁。警务云平台中的文件存储通常与网络附加存储技术相关联,提供在线存储空间以用来存储本地数据,平台既包含了传统存储的安全风险,又因为引入分布式存储与共享技术等带来云技术特有的安全风险,如数据混合存储、数据加密、数据冗余、数据共享等方面的问题。同时目前文件存储框架缺少信息保护机制,在传输过程中可能存在数据被嗅探、窃取、篡改、侧信道攻击等风险。另外警务云中的对象存储针对云结构进行了优化,存储了各类警种的大量结构化与非结构化数据,各类应用在使用未经加密的数据进行共享时也给存储带来了安全威胁[4],无法支持安全、分布式数据存储和检索。
警务云数据删除作为数据生命的最后一个阶段,关系到数据能否形成一个完整的闭环,是保护用户整个生命周期内的数据安全和隐私的关键部分。警务数据通常分布在多个存储节点上,大部分数据删除是以逻辑删除的形式删除文件,这可能导致本应销毁的机密数据暴露给存在威胁的节点[5],另一方面,警务云缺少数据删除公开验证机制,数据所有者无法通过验证返回的删除证明来检查删除结果 。
针对以上问题,本文从云数据安全存储与安全删除两个方面展开讨论,首先概述警务云平台架构,介绍分层架构、数据的形式结构和基于云储存的功能和应用。按所提供服务将云平台分为基础设施服务层、平台服务层、数据服务层、软件服务层4个层次,并对各层功能进行了介绍,进而分析平台4个层次面临的主要数据安全威胁。其次将警务云中数据存储与删除涉及的安全问题融入到警务云架构进行了梳理和概括。数据存储技术从对外通信与数据搜索两个角度,分别介绍了基于代理重加密与基于可搜索加密技术。数据删除技术主要介绍基于数据擦除与密钥管理的安全删除技术,同时将数据安全删除部分加入了删除后的可靠验证技术,分析如何对警务云数据实施安全数据删除验证,对警务云数据的健康发展具有重要意义。接着在保证数据的安全性和可靠性的基础上提出了警务云可信存储与删除框架,引入可信平台模块保证了数据的可信存储,TPM的密钥管理机制基于E-CHF函数进行设计,提高了系统运行效率,实现了存储集群中节点的可信验证,经过验证的可信节点可以动态的选择不同的加密方式进行文件存储,在存储过程中数据所有者的所有数据操作由可信服务节点验证并发起,存储消息进行公钥加密并在流程结束后销毁,在数据删除流程中加入安全删除验证,使云服务器能够删除数据并返回公开证明,提高了警务云存储的数据的保密性与完整性,为云中的细粒度安全数据删除和验证构建灵活的方案。最后讨论了未来警务云安全与存储需要进行研究的方向,为警务云数据安全防护能力进一步提供了参考。
2 警务云平台架构
警务云平台的分层架构由下至上分为基础架构即服务层(Infrastructure as a Service, IaaS)、平台即服务(Platform as a Service, PaaS)、数据即服务层(Data as a Service, DaaS)和软件即服务层(Software as a Service, SaaS),如图1所示。Iaas层主要包括硬件基础设施层和基础设施管理。Paas层主要由平台支持软件层组成。Daas层为各种警务应用提供数据资源服务,SaaS层主要提供各种警务应用服务。本节将根据各层中涉及到的云计算技术介绍警务云中的各个服务,分析出警务云分层架构中存在的数据存储与删除安全问题。
图1 警务云平台架构
IaaS层主要提供计算、存储、网络及其他基础性资源,使用虚拟化技术来进行平台资源的分配、业务的分割管理,对各个子平台及系统进行资源管控,屏蔽底层硬件异构性和组网复杂性,提供按需、弹性的计算、存储、网络、安全资源池,同时通过资源服务能力构建负载均衡、弹性主机、资源编排等各种自动化云服务。其中存储资源池以分布式云存储为主,支持多种异构存储资源的管理并以块存储、文件存储、分布式存储、对象存储等多种方式提供服务。警务云主要面向公安系统人员,在人员素质和管理上较为可靠,但是难以避免小部分人员(比如维护人员或者外来访客)进行恶意或意外操作。同时,群众与警员、公安系统内部各部门和人员的授权等级均有所差别,传统的粗粒度管理难以保证对大量用户的有效身份管理和访问控制。为了保证基础设施资源能够被安全地访问和使用,警务云计算需要提供可靠的安全防护措施来保证云数据的安全,且需要对于各类数据权操提供对应的安全审查机制。
PaaS层面向警务单位提供包含云计算与云存储所需要的支撑软件,如提供应用程序所需数据库环境、计算能力、传输交换、授权认证、应用开发、资源接口等服务。其中云存储系统目前是基于分布式文件系统实现的,具有结构化数据的存储和快速查询能力,同时也拥有具备大量非结构化和半结构化海量数据的存储和处理能力,提供分布式并行数据库、关系型数据库系统(如mysql、SQL server、Sybase、Oracle等)、分布式文件系统、内存数据库、图像数据库、全文数据库等,能够对海量数据进行并行化处理和存储。Paas层包含支撑不同应用的大数据集群,依托不同的大数据组件完成对各种海量警务数据的分析和挖掘的同时需要进行安全高效的集群数据运维管理,海量数据的安全存储与细粒度删除是该层需要考虑的主要问题。
DaaS层主要包含大数据治理与数据服务,基于云存储系统的应用型服务,包含各种共享数据资源服务,以及道路监控、图像监控、云搜索等海量云应用数据服务[6]。该层使得与警务数据相关的处理和服务都能够发生在一个集中化的位置,包括数据统一接入及标准化,基于元数据的全流程的生命管理和数据预处理,数据挖掘和模型分析等,并通过数据服务支撑各警种智慧应用。数据层中计算应用和各类监控数据呈爆炸性增加,给存储与处理大量异构数据带来了巨大挑战,一是共享数据如何存储,二是海量的存储数据使得计算及通信成本增加,且目前的数据挖掘方法会给云设施带来敏感数据的泄露问题。
SaaS层使得警务云平台可以通过SaaS服务的方式,依托云计算基础设施和平台服务提供软件服务,该层主要包括各警务云计算应用系统的公共服务资源,以及大数据警务云计算应用系统,如人像对比服务、即时通信服务、地理导航服务、统一数据资源访问等公共服务模块,在数据开放共享过程中需要管理共享数据的存储,防止隐私数据因为违规或误操作导致数据泄露。其中如人像比对部分通过生物特征识别技术实现人像信息的比对、搜索和评估,涉及的数据往往是上亿级别,需要在大数据并发处理和搜索技术的基础上保证数据存储的安全性。
警务云为各类轨迹、视频、图像的存储、关联、整合、行为轨迹分析、社会关系分析、生物分析等多种研究判断手段的应用提供了基础支撑。各部门、公安部门、地区之间的信息共享为公安机关在刑事侦查、公安管理、交通管理、社会服务等方面提供了有力的支持。同时,各类警务工作都是在云上进行的,采用各种分析和挖掘关联手段进行分析数据资源(如公安警务工作相关数据、涉及公民隐私的个人信息、与案件线索相关的办案信息等)。警务云平台将虚拟资源交付各业务警种,为其提供低成本、高效率和种类丰富的云服务的同时也放大了传统安全问题,引入了新的安全问题,对各业务警种的应用及数据安全造成影响。数据存储阶段存在以下的安全风险:
(1)数据混合存储问题:在云平台中使用虚拟化的手段对用户进行隔离以提高资源利用率,一个资源池往往会有多个用户共用,当用户之间的安全隔离不到位时,会造成数据泄露、篡改和被不可信第三方泄露等问题。
(2)数据加密问题:警务云中的对象存储针对云结构进行了优化,存储了各类警种的大量结构化与非结构化数据,传统的数据加密手段不能完全适用于警务云大数据应用;经加密的数据进行共享时给存储带来了安全威胁,但数据加密会使得基于PaaS或SaaS的云应用在多数情况下索引和查询操作失效。
(3)数据冗余问题:对于非共享的安全存储需要用到密文去重机制,经过数据加密后会形成大量的冗余数据,普通的去重机制无法对不同用户的相同的文件进行密文判别。警务应用要求云端提供查询、统计、分析的能力,需要寻求新的安全解决方案。
(4)数据共享问题:由于警务云拥有分布式系统,共享技术相较于传统的存储技术给数据存储带来了更多不可控风险,在共享过程中可能存在数据被嗅探、窃取、篡改、侧信道攻击等风险。
警务云中数据销毁阶段需要将销毁的数据彻底删除且不能恢复,但目前存在以下难点,首先是验证问题,警务云缺少数据删除公开验证机制,数据所有者无法验证返回的删除证明来检查删除,也不能确定被删除的数据是否还存在备份。其次是数据易被恢复问题,由于存储介质的物理特性,警务云中被删除的数据可以通过一定技术手段恢复,数据删除不彻底将造成机密数据泄露。
3 适用于警务云的安全删除技术
在警务云环境中,因涉及到多租户、虚拟化、弹性、高可用性和海量数据存储相关联,使云计算难以保证数据的删除操作。实现数据删除目前主要包含删除文件关联链接、基于数据擦除和基于密钥管理的数据删除方案。删除文件关联链接只进行物理地址与逻辑地址之间的映射删除,即逻辑上的删除,从而达到逻辑上数据不可访问,但数据仍保留在物理介质中。将文件的链接从基础文件系统中删除,当用户进行文件访问时返回访问失败信息,虽然可以通过更改地址以实现删除指向文件的链接以达到数据删除的目的,但数据仍然可以通过其他地址访问。逻辑删除的数据可以通过数据恢复技术恢复,因此无法有效地保证数据的安全性,所以删除文件关联链接在警务云中只能应对普通文件的清理,加密文件删除并不能使用该方案。本节的数据删除技术主要介绍基于数据擦除安全删除技术、基于密钥管理安全删除技术与数据删除可靠验证技术。
3.1 基于数据擦除的安全删除技术
基于数据擦除的实质是通过覆盖操作进行文件内容删除,Yang等人[7]提出可以在介质中加入主动触发和被动触发来进行数据的擦除,被动触发可以在受到外部攻击时主动将保存有密钥数据的存储区擦除。Liu等人[8]将存储单元阵列划分成多个包含8个物理块的区域,每个区域中的所有物理块的平行页行号一样,每行的加密密钥都相同且存储在专用的物理块中,通过多次迭代将无效数据占比超过一定值的行或物理块和对应的密钥进行删除,删除之前先将行或数据块中的有效数据转移到其他空闲行进行加密再存储,但此方法会增加额外的开销也会造成密钥泄露问题。Yang等人[9]采用梅克尔哈希树(rank-based Merkle hash tree, RMHT)协议提出一种新的可证明的细粒度外包数据擦除协议,该协议能够在没有任何TTP的情况下实现私有和公有的可验证性,任何拥有相应数据擦除证据的人都可以方便、高效地验证数据擦除结果,同时,该协议能够实现外包数据保密性,保证只有用户能够正确解密外包密文,但就量子计算而言,其数据加密过程中采用的哈希计算和模幂运算并不安全。Yang等人[10]采用向量承诺构造了一种新的方案,可以实现可证明数据的迁移和擦除,但是该方案需要进行一些复杂的计算,如模指数计算和双线性对计算。Nivedhaa等人[11]设计了一套基于代理重加密和分布式擦除代码的安全存储系统,该方案运行用户以加密格式与其他用户共享云上的信息,其中在去中心化分布式系统中擦除编码支持共享加密文件,分布式纠删码用于对分散云存储中的数据安全进行授权。
基于数据擦除技术引入了数据修复、数据更新、计算优化、网络流量开销、IO开销减少等问题,如何用多种基于数据擦除的更新方案来优化数据更新和删除成为下一步需要解决的问题。
3.2 基于密钥管理的安全删除技术
基于密钥管理的删除方法就是将数据对应的解密密钥进行删除,销毁数据解密密钥使得对应密文不可用,该方法可以较好地管理警务云中加密数据地删除。目前基于密钥管理的数据删除可分为基于集中式的密钥管理和分散式的密钥管理,方法对比如表1所示。
表1 密钥管理的云数据安全删除方法比较
基于集中式的密钥管理包括:Xiong等人[12]设计了一种基于闪存分层结构的节点密钥树,并提出了一种KDE算法来生成数据密钥,用于加密用户的敏感数据并简化密钥管理,在密钥派生加密(key derivation encryption,KDE)的基础上提出了一种SDDK方案,将部分块擦除与密钥删除相结合,同时去除密文以及数据过期后的关键组件,从而实现物联网设备上的安全数据删除。Zhang等人[13]将密文进行随机抽取并存储,需要删除数据时就将抽取的密文和对应的密钥删除。
基于分散式的密钥管理包括:Bentajer等人[14]提出了一种基于身份加密(identity based cryptography,IBE)的灵活而安全的删除方案(ADSIBE),通过利用IBE特性可以允许数据所有者在脱机模式下工作并利用密钥管理负担,克服其他已知方案所固有的密钥管理基础设施的局限性。Kim等人[15]提出一种设置参数以生成自毁方案所需的密钥共享的方法,可以在动态 DHT 网络环境中考虑数据可用性和安全性来设置密钥共享参数,并通过基于强化学习模型的参数更新来应用自毁方案过程,根据动态 DHT 网络的环境来设置密钥共享的数量和阈值。Li等人[16]提出将密文存储在云端,结合密钥派生树与分布式网络,将密钥通过构建的派生树转换函数进行加密并分散存储在分布式网络中,有效避免嗅探和跳跃攻击,但此方案为考虑到节点是否完全可信的问题。Xiong等人[17-18]提出利用属性加密算法加密密钥并通过修改属性授权来实现对数据的细粒度访问控制。在警务云中要尤其关注基于分散式的密钥管理存在恶意节点删除密钥不及时、篡改和泄露密钥的风险。
警务云中数据删除作为数据生命周期的最后阶段,数据删除直接决定数据生命周期能否圆结束,这其中数据安全和隐私保护非常重要。目前大多数方案无法支持细粒度数据删除,在警务云中通过使用密钥管理删除数据解密密钥来进行数据删除,但是删除数据解密密钥将使得整个加密文件不可用,所以实际在警务云中应用数据删除技术时需要使用具有细粒度数据删除方案,使用户能够灵活删除一些不必要的数据块。
3.3 云数据删除验证技术
警务云为数据所有者维护数据,例如存储、更新和删除等,减少了用户开销,然而这使得数据删除成为一个新的安全挑战,数据删除结果在过期后无法验证,会导致严重问题,例如未经授权的访问和数据隐私泄露,引入数据删除验证可以使删除操作更加透明化。目前的大多数删除方法主要可以分为基于可信执行环境、密钥管理和访问控制策略的数据保证删除方案,本质都是存储服务器删除数据并返回一位结果,数据所有者必须相信返回的结果,这些方法都缺乏对云数据删除结果的验证技术,同时大多数现有的可验证数据删除方案无法实现数据删除结果的公开可验证性。
基于数据擦除的删除验证方法:DU等人[19]提出了一种基于覆盖验证的云数据删除验证方案,采用CP-ABE(ciphertext policy attribute based encryption)算法来加密明文,当云端数据过期时,改变密文关联访问策略,用于对过期密文进行重新加密以实现安全删除,再根据过期数据块的数量生成哈希二叉树的可搜索路径,从二叉树的根节点开始,分层遍历二叉树,生成与过期数据大小相同的随机二叉数据,得到根节点到每个叶子节点的最短路径,然后记录所有的节点序列最短路径数,将其转换成二进制过期数据,逐位异或产生新数据用于覆盖过期数据。最后,该方案通过哈希运算计算每个叶子节点数据的值作为验证器进行数据删除结果验证。Hao等人[20]提出一种基于可信平台模块(Trusted Platform Module,TPM)的数据删除验证方案,通过云计算 配置的附加 TPM 硬件模块存储密钥,并执行数据加密和解密操作,当需要清除过期数据时,TPM模块执行密钥删除操作。此外,TPM模块对密钥删除操作的签名进行验证,并以签名验证为依据来验证是否进行了密钥删除操作,并验证是否篡改了TPM中存储密钥的信息,该方案使得删除过程更加透明,且删除结果支持公开认证,但受限于TPM模块的容量大小。
基于可证明数据持有(Provable Data Possession,PDP)的删除和验证:Tian等人[21]针对现有PDP方案支付较少的问题,提出了一种基于Stern-Brocot树(Stern-Brocot-based non-repudiation dynamic provable data possession, SB-NR-DPDP)的不可否认动态PDP方案,能够满足客户端的动态数据操作,实现方案的不可抵赖特性,该方案提供了针对自适应选择消息攻击的标签不可伪造性和证明不可伪造性,还可以抵抗哈希值攻击、删除插入攻击和篡改云返回值攻击。Xue等人[22]指出,在数据删除过程中效率低下,因为用户需要上传大量的信息来重新加密数据,为了解决这个问题,他们设计了RMHT 用于在迁移后实现有保证的数据删除,他们的计划还可以通过可证明的数据拥有实现数据完整性验证。此外,Wang等人[23]提出了一个改进的PDP计划,其特点是可建立的存储、安全的数据传输和数据删除,分别使用同质身份验证器和同质加密技术,以满足证据数据拥有和可验证数据删除的要求。Khedr等人[24]提出了一种新的有效的确定性数据完整性检查方案(cryptographicaccumulator provable data possession,CAPDP)CAPDP,底层方案基于修改后的RSA 的密码累加器,允许数据所有者执行无限数量的数据完整性检查,且在通信、计算和存储成本方面都是高效的,方案中的验证操作与正在验证的块数无关,可以 最大限度地减少数据所有者在验证过程的负担和成本。
基于ABE的删除和验证:Xue等人[25]提出了一种基于KP-ABE的安全删除方案,用户使用 KPABE 算法加密数据,当需要删除过期数据时,用户无法通过撤销过期数据对应的属性并重新加密数据来解密和访问数据,在存储之前对数据进行加密,通过哈希运算为密文中的每个数据块生成数字签名,数字签名对应密文属性,验证器由MHT生成并反馈给用户验证删除结果。Ma等人[26]基于CP-ABE提出一种数据删除和验证方案,构造了一个属性关联树来实现快速撤销属性和重新加密密钥,以实现对安全密钥删除的细粒度控制,构建了规则转置算法来生成随机数据块,并结合覆盖技术和 Merkle 哈希树来实现安全的密文删除并生成验证器,然后用于验证数据删除的结果。
基于区块链的删除和验证:Liu等人[27]首先通过智能合约算法对个人身份进行认证,同时创建删除操作记录,然后存储服务器删除数据所有者指定的过期数据,并通过哈希运算生成哈希值加入区块链,用户可以通过区块链验证数据删除结果。Yang等人[28]提出一种应用于半可信服务器的基于区块链技术的数据删除公开验证方案,首先,用户对数据进行加密并将其上传到存储服务器,当需要删除数据时,用户结合默克尔哈希树、时间戳服务器和区块链技术构建哈希链,哈希链通过哈希链中的值来验证是否真的删除了过期数据。
数据安全删除是保护用户全生命周期数据安全和隐私的重要环节,数据删除验证为数据安全删除提供保护和保障,因此,探索如何对警务云数据进行安全的数据删除和删除验证,对于警务云计算的健康发展具有重要意义。
4 警务云可信存储与删除框架
警务云中存储节点信任边界难以扩展,客户端和用户将数据存储在节点中需要考虑到数据的机密性和完整性问题,本节针对上述安全技术的研究提出了警务云可信存储与删除框架,将TPM加入到框架中,在整个流程中承担着远程认证、加密密钥的保护存储、密钥安全存取的责任,为安全存储提供了解决方案。
4.1 框架对象及流程
新的存储节点加入警务云前需要通过可信系统的认证,使用可信服务节点(Trusted Third Party Node, TTPN)来检测新的节点是否正确安装了可信平台模块,如果正确安装了TPM,则进行存储平台验证,验证通过则可以加入到警务云节点集群中。存储/删除方需要通过前端服务器与可信服务节点建立通信并对会话进行加密,根据客户端的加密需求或删除消息选择对应的可信存储节点,在验证完存储节点可信后才进行存储或删除操作,流程结束后只有TTPN节点保存会话信息。设计的框架包括下列实体对象:
(1)客户端、用户/用户组。
(2)可信服务节点。
(3)前端服务器。
(4)存储服务器/节点组 。
(5)TPM。
存储流程如图2所示,具体流程如下:
图2 警务云可信存储流程框架
(1)客户端向警务云的前端服务器发送数据发送请求消息(包含用户密钥、用户ID、用户即时信息),其中用户即时信息用于防范重放攻击,消息使用TTPN公布的公钥进行加密,前端服务器将消息转发给TTPN,客户端生成对称加密密钥通过前端服务器与服务节点进一步进行通信。
(2)TTPN通过前端服务器将消息2发送给客户端,消息2包含它的即时信息、一次性会话密钥、用户即时信息,使用用户密钥加密消息2,只有拥有正确密钥的用户才能解密此消息。当用户收到消息2时,使用自己的密钥对消息进行解密,并检索会话密钥和即时信息,使用TTPN得公钥解密消息中的即时信息散列,确认签名是否为TTPN。
(3)客户端使用会话密钥加密文件,发送给前端服务器的消息3使用TTPN的公钥进行加密,包含文件被加密的会话密钥、加密文件的哈希值、TTPN的即时消息等。当前端服务器接收到消息3时,选择警务云中的存储服务节点进行转发。
(4)在存储节点进行存储数据之前,需要向TTPN进行验证,使用TTPN公钥加密消息4,消息4中包含消息3中的信息与其自身的信息,TTPN收到消息4会进行消息校验,以确保存储节点可信且没有篡改消息3中的内容。
(5)验证完成后,TTPN将使用节点公钥加密消息5并发送给存储节点,消息5包含即时信息、用户密钥、用户ID、会话密钥、TTPN签名、文件加密哈希值等,存储节点收到信息需要验证消息5是否由TTPN发出,存储节点检索加密文件并计算收到文件的哈希值,与消息5中的文件加密哈希值进行对比,以确保文件传输时不被篡改。确认文件无误后,存储节点使用会话密钥解密文件并进行重新加密,前端服务器将加密文件存储在磁盘中。
(6)前端服务器在TPM中存储此次加密的加密密钥、用户密钥及用户ID等,其余节点删除此次会话信息,消息6由前端服务器发送给客户端以告知存储完成。
删除流程如图3所示,具体流程如下:
图3 警务云可信删除流程框架
(1)删除流程中客户端同样需要通过前端服务器发送数据删除请求,由前端服务器将包含用户密钥、用户ID、用户即时信息等信息的消息1转发给TTPN。
(2)TTPN确认用户信息之后将消息2通过前端服务器返回给客户端,由客户端再次确认通信方是否为TTPN,并获取该次通话的会话密钥、即时信息等。
(3)TTPN查找用户需要删除的数据所存储的节点位置并下发删除命令,当存储节点收到删除操作时,首先验证用户密钥是否能正确解开加密数据,验证成功后灵活的选择基于数据擦除或基于密钥管理的删除方法进行数据删除,并通过随机比特流进行多次复写操作。删除操作完成之后,存储节点进行基于CP-ABE的数据删除验证,将验证结果4返回给TTPN进行校验。
(4)TTPN校验成功后通过前端服务器向客户端发送删除成功信息5,其余节点删除此次会话信息。
4.2 基于E-CHF改进的TPM密钥管理机制
将TPM模块引入到警务云的建设中可以较好进行维护密钥与进行加密操作,同时也需要考虑到外源密钥的管理。使用外部存储可以极大降低TPM的负担,针对外部密钥撤销问题,基于(Efficient-Chameleon Hash Function,E-CHF)E-CHF[29]设计出适用于警务云环境的TPM密钥管理机制,并将其应用到本文提出的可信存储与删除框架中。
4.2.1 E-CHF散列函数
E-CHF是很好地兼容Groth-Sahai证明系统和Cramer-Shoup加密方案,并可作为在增强抗碰撞模型中构建高效变色龙哈希函数,该模型在增强型碰撞抗性模型、标准模型、随机Oracle模型和通用组模型中是安全的,且具有高效率、碰撞概率低、安全性高等优点。其包含4个算法,总式为CHF =(HGen, Hash, HVerify,Hcol)。
HGen(1k):密钥生成算法,输出一个公开的散列密钥hk和陷门密钥tk。
Hash(m,hk,r):输入公开散列密钥hk、二进制消息m和随机数r,输出哈希值和检查字符串(h,ζ)。
HVerify(m,hk,(h,ζ):采用 m,h和ζ来验证( h,ζ )是消息m的有效哈希值。
Hcol(tk,(h,m,ζ),m'):碰撞算法,将陷门值和(h,m,ζ)作为输入,以及对于新消息m'返回一个新的检查字符串ζ',以便HVerify(hk, m',(h,ζ) = HVerify(hk,m',(h,ζ')。
4.2.2 密钥管理树
密钥的存储区域由3部分组成,如图4所示,主要分为内部存储区域、外部存储区域和应用存储区域,采用的是E-CHF认证树进行自下而上的节点建立。E-CHF认证树为二叉树,每层最左侧节点(存储于内部存储区域)与右节点(存储于内部存储区域)为其子节点的E-CHF散列值,其余节点(存储于内部存储区域)为其子节点的散列值,如果是最左侧叶子节点和右叶子节点就为对应密钥的E-CHF散列值,其余叶节点为对应密钥的散列值,其中所有的E-CHF散列值由TPM唯一保存。
图4 基于E-CHF认证树的密钥的存储区域
4.2.3 密钥生成
首先检测是否进行初始化操作,经过初始化操作输入参数k进行HGen运算得到公私密钥对
初始化检测成功,进行密钥生成操作。若num为0,在随机序列list
4.2.4 密钥更新与撤销
密钥的更新与撤销都需要对包含此节点的路径上的节点值进行更新,对于根节点的值,需要保证其值不变,但其随机值需要改变,该路径上其余节点的E-CHF的随机值不变。密钥的撤销需要将密钥的标志位设置为撤销并更新其key值。当把key值加载入TPM时,需要检查其有效性,这里使用HVerify传入 m,h和 ζ 来验证(h,ζ)是消息m的有效哈希值。
4.3 警务云中引入TPM可行性分析
4.3.1 存储性能测试
密钥树的层级数为high,密钥数量为2high-1,外部存储区域中的节点数目为2high-high-1;内部存储区域只存储了一个根节点值p与high个E-CHF随机值,所需内部存储区域所需节点数目为high+1,与总节点数呈对数关系;应用存储区域存储加密形式的密钥数目为2high-1-1。该方案与简单因子分解散列函数(SFCH)和高级因子分解散列函数(AFCH)对比如图5,在内部与外部空间区域占用具有一定存储优势。
图5 存储性能对比图
4.3.2 运行性能测试
测试运行在Intel Xeon Cooper Lake(3.4GHz/3.8Ghz)、32G、windows server2019的物理机上,基于E-CHF的TPM密钥管理机制给TPM2.0带来的时间开销与基于SFCH和AFCH对比如图6-8所示,实验结果表明,基于E-CHF的TPM密钥管理机制的TPM2.0的密钥增加、更新、验证都比其余两者性能好,且新增的额外通信开销较小。
图6 新增密钥时间对比
图7 验证密钥时间对比
图8 更新密钥时间对比
该框架可以在警务云环境下对客户端数据进行可信存储与删除,与现有的警务云存储框架系统相比有以下优点:
(1)基于E-CHF管理机制的TPM提供对客户端数据的加解密密钥的存储保护与存储节点认证,通过在节点存储前对客户端与存储节点进行认证,可以有效防止恶意节点对存储密钥的泄露与篡改,且存储与运行性能较优。
(2)密钥通过TTPN生成与存储,在存储的过程中可以有效防止嗅探与跳跃。
(3) 每一个存储节点都可以拥有自身的加密文件系统,可以较好地选择不同加密方式进行文件存储,且系统可以保证客户端数据只存储在可信的存储服务器上,即时存储节点被攻击也无法短时间内进行解密,实现了警务云存储的数据的保密性与完整性。
(4)当需要删除数据时,可以通过在TTPN中删除加密密钥和数据擦除技术进行删除操作,并使用数据删除验证操作进行删除校验。
5 结束语
近年来,随着区块链、物联网和量子计算的飞速发展,警务云依托这些新兴技术开发了众多云上应用,同时也带来了云技术所特有的安全问题,基本挑战是如何在复杂的警务云环境下对数据存储与删除的可靠性、可用性、安全性、隐私性等方面进行安全保护,对数据的安全存储提出了越来越高的要求,第一点是目前传统的公钥密码学的安全性依赖于一些传统计算机和经典算法难以解决的数学问题,有必要将后量子密码学融入到警务云建设中;第二点是不同部门之间数据存储的共享问题;第三点是数据存储时如何进行数据隐私保护与可用性相结合;第四点是目前的安全数据删除方法还不能实现高效、安全的跟踪数据;第五点是对于警务云数据库中的数据,使用数据加密以安全地方式删除数据可能会增加成本,需要提高数据查询的效率。本文分析了基于警务云的数据安全存储与删除问题并根据警务云架构进行安全技术对比总结,同时分析如何对警务云数据实施安全数据删除验证,在保证数据的安全性和可靠性的基础上提出了警务云可信存储与删除框架,引入可信平台模块保证了数据的可信存储,实现了存储集群中节点的可信验证与数据删除公开证明,提高了警务云存储的数据的保密性与完整性,为云中的细粒度安全数据删除和验证构建灵活的方案。下一阶段的研究目标是如何融合已有的数据安全保护技术来设计一套跨云计算服务的统一身份管理和隐私保护框架,使得所有权和访问控制机制实现统一,可重用和可扩展的访问控制相统一,并满足细粒度访问授权的需求。