SCI论文(www.lunwensci.com):
摘 要 :企业办公线上化和居家办公需求增长成为趋势,多数企业需要将原有的业务系统、数据库接入互联网,这对系统安 全和数据安全带来了一定挑战。企业可采用区块链技术对有加密需求的文件、数据进行存储和保护,实现对数据文件生成和流转过程的完整溯源的功能, 并对数据操作权限进行验证。本文基于区块链技术的数据安全存储模型, 重点讨论数据操作权限验证方案, 提出数据查询与读写定义、权限处理层次缓存、数据索引更新、验证性能优化等建议,以期为企业数据安全管理工作者提供参考。
关键词 :区块链 ;数据安全存储 ;权限验证 ;性能
Research on Data Security Storage and Permission Verification Scheme Based on Blockchain Technology
【Abstract】: Enterprise office online and home office demand growth has become a trend, most enterprises need to connect the original business system, database to the Internet, which poses certain challenge to system security and data security. Enterprises can use blockchain technology to store and protect the files and data with encryption requirements, realize the complete traceability of the data file generation and transfer process, and verify the data operation authority. Based on the data security storage model of blockchain technology, this paper focuses on the discussion of data operation permission verification scheme, and puts forward suggestions such as data query and read definition, hierarchical cache of permission processing, data index update, verification performance optimization, etc., in order to provide reference for enterprise data security management workers.
【Key words】: blockchain;safe storage of data;permission verification;performance
当前我国企业信息化改革加速,企业将信息系统接 入互联网、增加面向客户的信息化服务、应用云储存 服务的情况十分普遍,这类技术虽然为企业优化内部 管理、创新服务产品、控制信息系统成本提供了较大帮 助,但会面临新的数据安全问题。区块链技术作为一种 分布式可验证的加密方案以及共识协议可确保数据传输 过程的安全性,确保数据使用过程可追溯、可验证,从 而更有效地保护数据安全。
1 当前数据存储主流应用的典型安全问题
企业内部数据存储多由 C\S 或 B\S 架构下的数据服 务器承担,其面临的数据安全问题主要为硬件安全性和 验证机制安全性,常见软硬件安全技术(UPS、数据备 份、加密验证)可规避此类数据安全问题。但随着网络普及和居家办公主流化,部分企业将内部信息化系统接 入互联网,或面向公众开放信息服务(使得服务器地址 与接口开放), 也有部分企业选择使用云存储解决数据 海量增长带来的存储压力等问题,这都导致数据安全风 险增加,传统加密很难再保证数据安全。
以上问题本质上都属于数据访问、读取和修改权限 的验证机制完善的问题,在脱离了传统封闭网络下的情 况下,传统数据库访问环境出现明显变化,甚至数据库 本身的结构出现了较大变化(从单一服务器存储转变为 分布式存储),这都对数据安全管理提出了较大挑战。
2 运用区块链技术解决数据安全存储问题的适用性
区块链技术是一种基于 P2P 网络技术发展而来的 一种网络架构技术,在一般网络结构的网络层、数据层和应用层之外增加了共识层和智能合约层。其中网络层 采用 P2P 网络结构,充分发挥分布式存储条件,实现 区中心化存储 ;共识层提供了证明和授权方案,避免伪 造节点攻击 ;数据层常区别于一般网络结构的块头元数 据结构,增加默克尔根、前块哈希来保证块体内信息不 可被篡改 ;智能合约层提供节点间的可信计算 ;应用层 根据实际需求进行调整。
与传统网络结构相比,区块链网络本身可以满足云 存储的需求,可以与 Hadoop 架构的云储存系统进行搭 配 ;且区块链网络本身更强调共识检验、智能合约等可 信检验,其本身也融合了加密方法,具备较强的安全性。
仅就数据内容和数据访问过程的安全管理需求来 看,区块链技术中的默克尔树本身就可以实现基本的验 证功能。区块链对每一条数据进行排序并添加签名后形 成签名链,相应记录对应服务器的每一条数据记录,任 何查询结果都应返回数据本身和数据记录,由此来实现 对数据操作过程的检验和追溯,避免数据被篡改。其中 常用的是默克尔树方案 [1] (如图 1 所示),存储节点摘 要值函数为具备抗冲突性的哈希函数,按照树形结构中 自下而上地迭代计算出上层节点摘要值。与传统数据库 的签名验证方案相比,区块链技术中基于签名链和默克 尔树的验证方案能够同步检验内容和权限,更有利于规 避不可信用户的非法行为。但这种验证方案也存在开销 较大的问题,在应用时应检测并优化验证性能,以保证 验证方案的效率。
3 基于区块链技术的数据存储权限验证方案
3.1 系统模型
具体到企业应用中来看,无论应用云存储或其他分 布式存储方案,一般不会将加密数据存储在不可信节点 上,但可能需要从不可信节点上获取数据,例如从客户 使用的用户端获取数据、从员工使用的外网终端中获取 数据。此时,部分终端也成为存储系统的一部分,多数 情况下使用访问功能,部分情况下需临时存储部分数据 (类似区块链中的链下数据)。由此,可将这类存储环境 置入区块链网络中,其中原服务器(包括各类云存储 服务器)作为区块链中的全节点,储存所有已上传数据(包括需保密数据和向客户开放的数据),客户和员工终 端作为区块链中的轻节点,进而利用签名链和默克尔树 验证方案来对数据访问权限及行为进行检验,避免数据 被篡改。但在用户数量较大、原始数据更新较为频繁 (如物联网工业企业源头数据高频率采集和上传)的情 况下,用户频繁变动或源头数据频繁上传会导致默克尔 树子节点被频繁修改,大量覆盖全链的摘要更新必然会 导致系统性能被大幅占用。目前部分非互联网企业在服 务器中配备的服务器规格差异较大,可能存在 CPU 中 的 Enclave 内存页面隔离区容量较低的情况(甚至低于 128MB),应用区块链的基础验证方案将面临 CPU 中 EPC 隔离区超限、换页的问题 [2],这会大大增加验证周 期,验证安全性和验证效率出现了矛盾。
对此,可利用当前主流硬件(内存控制器)的 Trusted Execution Environment 功能(如 Intel 的 SGX、AMD 的 SEV、ARM 的 Trustzone 等技术) 对一般的区块链 验证方案进行调整。将所有节点分为轻节点和全节点, 其中轻节点(员工和用户使用的终端)不再接受和验证 节点摘要,哈希计算成本可得到有效控制 ;全节点(数 据库服务器)处理和更新摘要的效率更高,热缓存和跳 表在全节点内存控制器的隔离缓存内完成,同时全节点 本身保存部分默克尔树信息,用于其他节点从冷缓存中 访问节点信息,直接取代轻节点上的验证过程,向轻节 点返回查询结果就可以同时实现安全验证和控制系统验 证开销的目标。
3.2 数据查询与读写定义
基于验证模型可以对数据管理系统中各类用户连 接、读取、共享(并上传)、下载数据等操作权限进行 定义 :
在员工、客户向服务器发起查询和读写数据请求时, 其查询范围可表示为 Q=<[α, β]>, α 和 β 为查询节点 的范围界限,即默克尔树中的节点范围 ;在员工、客户 向服务器发起查询和读写数据操作连接时,操作行为可 表示为 Q=<[α,β],R,S>, R 为建立连接后访问数据的 具体类型, S 为建立连接后访问数据的状态信息,这类 信息同样存储在默克尔树中,属于索引信息的一部分。
在此条件下,各类终端用户对数据的操作都将被视 为不可信的节点。首先, 通过融入 Trusted Execution Environment 功能的全节点验证方案,在访问率较高 的全节点中摘要信息存储在该全节点的 Enclave 内存页 面,不直接进行全节点验证(以降低验证开销),直接 与热缓存内的部分相邻节点摘要进行比对(比对拥护权 限)。此时用户仅查看和下载数据,验证仅限于热缓存内部保存的部分默克尔树范围内 ;但当用户有上传和修 改数据的请求时,操作必然涉及多个默克尔树上层中所 有全节点的参与,接收该请求的全节点需要在完整的默 克尔树根摘要(同时验证用户权限和信息)下验证终端 请求,修改后数据和新增数据都以新区块方式出现,同 时成为默克尔树中新的子节点,由此可以实现对数据变 更操作的完整溯源。
当然,一般企业在数据管理中可能不需要保留所有 的数据,这种在任何变更和新增数据时都直接增加数据 的方案可能会对服务器造成较大压力。对此,可以增加 额外验证过程,即验证数据操作者的身份,区分单纯使 用者和拥有者,对区块块头元数据中重叠性部分进行检 验,当用户身份、写入操作均与同一数据块关联时,关 联旧区块记录生命周期信息,依据共识验证定期删除无 保存价值的旧区块(已经经过检查和验证的被修改前的 数据),这样可以在一定时期内保证数据完整性,并定 期释放存储服务器中的垃圾空间。不过,一般企业应谨 慎对待此类操作,只建议在数据变更过程溯源检查需求 较低时按此方案处理。
3.3 数据索引与权限处理层次缓存
本文选择融入了 Trusted Execution Environment 支持的默克尔树查询与验证方案能够提高查询和验证的 效率。但是仍存在一类问题,即热缓存内节点更新的频 率总是有限的,该节点在处理两次相隔时间较长且独立 的访问时需要花费较多的时间进行全节点验证,假如热 缓存内节点信息不更新或延迟更新,此后一段时间内同 类的(新)访问将占用过多系统资源,直至下一次热缓 存更新。
针对这种情况,应当对热缓存更新机制进行优化, 确保有新访问记录的节点第一时间加入热缓存,由此保 证热缓存的利用率总是最高的。可在(所有)全节点保 留节点被访问的时间等相关数据。可定义为 Hist(n,t) 和
Last(n),前者为节点 n 最近 t 次访问的具体时间(仅记 录不相关访问,即对不同数据的访问),后者为节点最 后被访问的时间。通过检查这两个数据来确定是否需要 将相应节点对应的签名链信息进行更新,具体检查一般 由全节点区块链系统调用 isUncorrelated() 函数进行 判断,符合更新要求的节点签名链信息加入热缓存。其 中需要考虑热缓存持续满载的情况,只有当热缓存中被 高频访问节点的被访问频率下降到末尾,且频率低于冷 缓存中备添加节点时才进行更新。
在实际修改和更新过程中,第一个更新了签名链信 息的全节点需要将摘要信息向上一直传播到根节点,在该过程中需要通过排它锁避免其他节点操作干扰此更新 过程,进而锁定整个索引。一般,具有签名的可信根节 点具有最高的优先级,按此优先级划分思路,可以对 所有可信的根节点默克尔树和签名链摘要信息进行批量 聚合更新,相应的延迟处理可以避免重复消耗。但要注 意,合并默克尔树的过程可采用增量和重建两种方式, 前者相对更高效,因此有更高的优先级 [3] ;而这种更新 方式下各中下层节点必须通过锁组策略来遍历每一个子 节点,优先合并全节点的冷缓存数据,合并后再将所有 数据从跳表中换出。
3.4 性能优化建议
从理论上看,应用区块链技术后的数据安全存储本质上是对每个用户访问、修改和更新数据的操作权限进 行验证,一般区块链的分布式存储本身就是以权限验证 为核心的,但在验证过程中各节点耗时较多,不符合企 业数据管理和利用的常规需求。本文提出的融入 Trusted Execution Environment 支持的默克尔树查询与验证方案 可以将一般用户终端验证过程转移到服务器中, 分割了验 证过程,减少了部分不必要的全节点验证。考虑到区块链 共识机制下全节点查询公共路径的哈希计算、更新摘要时 验证和插值占用系统资源较多的问题, 还可以通过压缩各 节点条目占用字节数、增加冷缓存、调整插入数规模等来 减少低效搜索频率,提高整体验证性能。
4 结语
新环境下传统数据安全管理表现出一定的局限性, 其主要问题在于验证效果不完善。区块链技术本身有着更强的安全性,能够在面临网络攻击时通过共识验证来避免非法用户对单一存储节点的攻击,即便用户通过其 他伪装进行了攻击,也能通过多个节点同步检查可信单 调计数的方式识别攻击,并调回被篡改前的信息,实现数据回滚。但上述验证的效率偏低、占用资源较多,在保护用户较多、拥有海量数据的信息系统的数据安全时 的效果不理想。对此可采用本文方案,分割检验范围, 利用全节点的热缓存先进行小范围验证,即可提前规避部分篡改攻击,也能提高验证效率。
参考文献
[1] 马海峰,杨家海,薛庆水,等.多云存储下非同频可证明数据迁 移方法[J].计算机应用研究,2021,38(7):2153-2157.
[2] 王梦楠,黄建华,邵兴辉,等.基于信誉的区块链分片共识方案 [J].计算机科学,2022,49(10):297-309.
[3] 冯涛,孔繁琪,柳春岩,等.基于区块链的双重可验证云存储方 案[J].通信学报,2021,42(12):192-201.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/63523.html