基于分类的应用数据安全管控平台研究与实现

2017-12-21 22:44杨永群黄勤龙刘越毅
网络空间安全 2017年11期
关键词:安全管控数据安全

杨永群++黄勤龙++刘越毅

摘 要:论文针对大数据环境下的数据安全问题,研究透明加解密技术、数据库中间件技术,设计实现了基于分类的应用数据安全管控平台。同时,针对结构化数据,基于主客体分级访问控制规则设计数据库中间件模块,该中间件实现了对敏感表、字段的访问控制、安全审计等功能,使用户必须通过中间件模块认证后才能访问数据库;针对非结构化数据,采用服务器端透明加解密方案实现对数据的集中存储和管控,在保障用户原有操作习惯的同时,解决了数据所有权和管理权分离带来的安全隐患。

关键词:安全管控;数据库中间件;透明加解密;数据安全

1 引言

目前,越来越多的企业将非结构化数据传输到第三方平台以获得存储服务[1]。半可信的存储平台中集中了大量企业级用户的隐私数据,这些数据可能包括企业的知识产权、关键业务信息,甚至对于某些企业来说,这些数据还涉及到国家机密。因此,这些数据必须对外界保密,如果数据泄露给了竞争企业或者敌对势力,将对企业的生存发展以及国家安全带来灾难性的影响。但是,面对目前复杂的第三方存储环境,这些数据面临着比传统计算系统更为复杂的安全威胁[2]:(1)在存储的模式中,数据所有权和管理权分离,作为数据所有者的企业不再拥有数据的管理权,服务提供商可以完全控制企业用户的数据;(2)外部攻击者通过系统漏洞在未授权的情况下访问数据;(3)恶意数据库管理员随意访问存储的数据,窃取用户隐私;(4)通过直接对磁盘进行物理攻击,获得其中存储的用户数据。

另外,存储在数据库中的结构化数据同样也常常被当做攻击目标,鉴于数据库面临的各式各样的安全威胁,其自身的安全性将成为保障数据安全的关键,因此数据库的安全性变得越来越重要。数据库安全包括数据安全性、数据完整性、故障恢复等方面,其包含两层含义[3]:第一层是指数据库系统运行安全,数据库系统在工作时可能受到网络不法分子的攻击,造成系统无法正常启动或超负荷运行大量索引、查询等操作而引起硬件烧坏等物理性破坏;第二层是指数据库系统信息安全,数据库系统面临来自内部人员和外部非法用户的威胁,这些恶意用户可能利用各种漏洞入侵数据库以获得其中的有价值数据。因此,应该尽可能对数据库系统建立保护措施和安全方案以保障其中存储的数据安全。安全防护软件提供的安全保护级别已不能满足大部分企业的需求,数据库中间件凭借其灵活性和可扩展的优势已经成为一种被广泛认可的数据库系统防护方案。

2 相关工作

目前,国内外很多企业诸如亚马逊、Google、百度等都推出了各自的数据存储平台,很多国内外学者也致力于数据安全存储的研究。传统的方式是客户端软件映射用户在数据库服务器端存储的文件结构[4],用户在客户端对文件的操作会同步到数据库服务器。然而这种方式中数据一直以明文形式存在,数据安全性无法保证。因此,数据本地加密方案被提出,即用户先在客户端完成数据加密再同步到远程数据库服务器,例如Secure Dropbox和CryptSync方案。虽然客户端工具与服务端结合可有效解决存储服务提供商不完全可信和数据明文存储在服务端带来的安全问题,但由于该方案需要用户参与数据加解密的过程,所以给用户新增了操作负担。郝斐等人基于亚马逊S3云存储服务[5],设计并实现了一款云存储安全增强系统,客户端能够自动加密上传数据,因此不会增加用户操作负担。

为了保护数据库中存储的结构化数据,数据加密和访问控制是热门的解决办法。Arasu提出了Cipherbase系统[6],该系统在数据库服务器集成了一个安全数据库处理单元,该单元是加密数据的核心模块,负责管理密钥以及为数据库服务器解密、处理和重加密SQL语句。然而,这种方案需要对数据库服务器进行改造,通用性较差。另外,它们都没有考虑用户访问权限控制的问题。Ferretti提出了一种新的加密方案实现标准关系数据库的访问控制机制[7],在该方案中访问策略由三元组组成,包括用户实体、数据实体、用户与数据对应的访问矩阵,每个用户访问数据的权限由访问策略决定,每个用户具有独特的凭证,该凭证使他仅能够获得权限范围内的相关加解密密钥,以便对SQL语句进行加密处理和解密获得的查询结果。但是在该模型中,需要维持一个庞大的访问控制矩阵,当增加一个用户需要为每个数据添加一个是否能够访问的标识,不符合海量数据的环境,并且该方案中加解密操作在客户端执行,不适用于资源受限的客户端。

3 关键技术

3.1 透明加解密技术

透明加解密技术即为一种相对用户终端为透明的、不改变用户习惯的一种文档加密技术。透明加密技术可分为加密文件系统、过滤驱动层透明加解密和API Hook透明加解密[8]。加API Hook透明加解密技术的实现利用了Windows系统提供的一种叫钩子的消息处理机制,允许应用程序安装一个子程序到其它程序中,以监视指定窗口某种类型的消息,当消息到达后,先执行完成子程序后再进行原程序的执行。API Hook透明加解密技术具有开发难度低、兼容性高的优点,并且有较成熟的实现方案。因此,本方案中采用API Hook透明加解密方法保护非结构化数据的安全。

3.2 中間件技术

目前,实现数据库访问控制的方法按照实现的执行层级划分有几种:操作系统层、内核层和外层[9]。在数据库管理系统(Database Management System,DBMS)操作系统层实现访问控制需要对存储在操作系统中的数据库文件进行权限设置,然而由于在操作系统层无法识别数据之间的逻辑关系,因此加密需要针对整个数据库,开销太大。在DBMS内核层完成访问控制需要修改DBMS的内核,要求数据库厂商根据自身产品的需要对内核进行改造,使之具备访问控制功能,通用性差。DBMS外层加密是在数据库管理系统和应用程序中间加入一个访问控制中间件,客户端对数据库的每一次操作都由中间件转化后再交给数据库处理,然后再将数据库返回的结果交给客户端。DBMS外层访问控制方案保护了敏感数据,不需要对DBMS 服务器做任何修改,通用性强[10]。因此,考虑数据库中间件的优势,在方案中采用数据库中间件的方法实现访问控制,保护结构化数据的安全。

4 系统设计与实现

4.1 系统设计目标

数据分类管控平台设计目标是保障企业结构化数据和非结构化数据的安全。系统设计目标包括四个方面。

(1)数据的机密性。透明加解密技术使得数据以密文的形式保存在服务器端,防止因数据窃取造成重要信息泄露。

(2)数据的可用性。合法用户能够根据需要查询、访问、修改、删除存储在平台的数据。

(3)面向存储平台、数据库系统和终端用户的透明性。系统的部署不要求存储平台、数据库系统进行架构更改,也不需要终端用户改变操作习惯,这样在企业级数据库应用中,能够降低企业的开发成本,并且保证用户操作体验不变。

(4)存储平台的可扩展性。能够面向第三方存储平台,向其提供可选的底层存储资源。

4.2 总体架构设计

数据分类安全管控平台的总体架构设计如图1所示,针对结构化数据采用字段级的访问控制,针对非结构化数据进行集中存储和透明加密,实现数据的统一安全管控。

4.2.1 访问控制规则设计

数据分类管控平台涉及两种实体,其中用户为主体,数据库中被访问的资源(如表、记录、视图等)为客体。这两类实体中的每一个成员按照访问控制的需要被系统分为多个密级,密级程度逐级增加。系统的访问控制原则:(1)如果主体向客体发出读请求,当且仅当客体的密级低于主体密级时,该请求才被允许;(2)如果主体向客体发出写请求,当且仅当客体的密级等于主体密级时,该请求才被允许。

按照系统访问控制原则,具体的访问控制流程如图2所示。系统在成功认证用户身份后,首先需要查询该用户的安全密级,然后针对非结构化数据,系统根据用户的访问请求查找客体的安全密级,并根据强制访问控制原则允许或者禁止用户的访问行为。

针对结构化数据,系统需要先调用语句分析模块对用户提交的SQL语句内容进行分析,获取到其中的关键字后查询客体的安全密级,并调用访问控制模块对用户的访问行为进行权限验证,最后语句分析模块将重新整合封装SQL语句提交到数据库,应用数据库根据SQL语句执行数据库查询并返回结果。另外,在密级要求很高的系统中,可扩展加解密子模块,即调用加密算法对相应的字段进行加解密。

4.2.2 数据库中间件模块

(1)语句分析模块。该模块基于构建的语法树对用户的SQL请求进行词法分析,词法分析的目的是识别SQL语句中的有意义的逻辑单元,如关键字(Select、Insert等)、数字、函数名等,然后获得客体对象,包括表、字段、视图等,最后将分析结果交由访问控制模块进行处理。另外,该模块还负责对SQL语句进行重新封装。

(2)访问控制模块。该模块依据分析模块传递的数据包内容查询客体的安全属性,并结合主体安全属性进行访问控制规则检测,如果允许访问,就将数据访问语句递交给语句分析模块对SQL语句进行重新封装,提交给数据库进行语句执行;如果不允许访问,就调用审计模块进行安全审计。

(3)加解密模块。在密级要求很高的系统中,数据库中的部分字段希望以密文形式存储,防止内部人员的窃取。所以设计了加解密模块,其作为一个可拓展模块,可实现字段级加密,即针对数据库表中部分关键性字段可进行选择性加密保护。

(4)安全审计。在安全审计中包括日志收集、存储、审计告警。该模块收集用户在访问数据库时产生的日志,覆盖数据全生命周期的各个阶段。该模块还可以对各类日志进行归一化处理,统一日志字段,每一条日志中必须包含访问主体、主体密级、访问数据对象的表名和字段名、数据密级。发生告警事件后,数据管控平台能快速检索到与该数据相关的所有日志信息,以纵向时间轴的形式形成证据链呈现给管理员,管理员能够快速找到告警事件发生时及发生之前,对该数据操作过的所有人,进而追究原因。

4.2.3 透明加解密模块

(1)对接模块。实现统一的数据访问接口,该接口对接第三方数据存储平台,能够对用户屏蔽不同存储平台间文件访问模式的差异,并支持存储平台的扩展。

(2)加解密模块。该模块采用Windows系统提供的一种名为钩子(Hook)的消息处理机制,实时监控到达存储平台中的请求,当请求到达指定窗口,钩子消息处理机制捕获该请求并取得其控制权,此时钩子程序使用加密算法对用户上传的数据进行加密,加密完成后继续提交。综合考虑文件加解密速度和数据安全级别问题,加解密模块采用对称加密算法。然而,对称加密算法的安全性依赖密钥的保密性,所以密钥的安全性至关重要。系统使用二级密钥方案保护密钥安全。其中二级密钥为数据加密密钥,由系统产生,负责加密明文数据;一级密钥为用户密钥,负责加密二级密钥以保障数据加密密钥的安全。该密钥管理机制能够防止恶意用户直接获取到数据加密密钥,尽可能的保护数据安全。

(3)用户管理模块。实现用户注册、登录、用户信息设置、记录用户操作日志等功能。

4.2.4 其他关键模块

(1)身份认证。客户端通过用户提供的账号和密码或者证书信息和数据库中间件系统建立连接,身份认证模块接收到待验证信息后对用户身份进行核查,并将身份认证结果反馈给客户端,客户端根据认证结果同意或者拒绝用户的访问请求。

(2)密钥及规则管理。该模块实现了独立的密钥管理和访问规则管理机制,将密钥存放于完全可信的密钥服务器中,并且将对密钥和访问规则等系统敏感信息的操作和DBMS系统独立,以实现系统敏感信息与数据库管理系统的分离,保护重要数据的安全。

5 系统测试

在数据库中预置测试表格Notice(Title、Detail、 Author、Dept、Status、Time),该表格安全密级为Level2,模拟用户Chen对该表执行查询记录和写记录的操作,该用户的安全密级为Level3,结果如图3所示,可以看见由于用户的密级大于表格的密级,该用户能够成功执行查询操作;同时,由于用户的密级不等于表格的密级,所以在执行插入数据操作时失败。模拟用户上传100M非结构化数据到存储平台,透明加解密模块的加密算法采用3DES算法。实验结果表明,系统成功加密上传的数据,数据以密文形式存放在存储平臺中,结果如图4所示。

6 结束语

本文针对目前企业中的数据安全防护问题,设计并实现了一套应用数据分类管控平台。该平台通过在数据库和用户间引入分级访问控制中间层以及在文件存储平台和用户间引入透明加解密模块,实现了对企业结构化和非结构化数据的保护。方案的优点在于解决了数据库权限滥用的隐患,保障了数据的存储安全,并具有对用户透明,部署便捷的优势。本文为企业数据安全保障提供了一种新的实现思路,在工程应用中具有重要意义。

基金项目:

1.北京市科技计划(D161100003316002);

2.国家重点研发计划(2016YFB0800605)。

参考文献

[1] 冯朝胜,秦志光,袁丁.云数据安全存储技术[J].计算机学报, 2015, 38(1):150-163.

[2] 王会波. 存储与云存储安全[J].信息安全与通信保密, 2010(12):18-19.

[3] 张敏.数据库安全研究现状与展望[J].中国科学院院刊, 2011, 26(3): 303-309.

[4] 陈钊.基于云灾备的数据安全存储关键技术研究[D].北京邮电大学, 2012.

[5] 郝斐,王雷,荆继武.云存储安全增强系统的设计与实现[J].信息网络安全, 2012, (3):38-41.

[6] Arasu A, Eguro K, Joglekar M. Transaction processing on confidential data using cipherbase[J]. IEEE International Conference on Data Engineering, 2015: 435-446.

[7] Ferretti L, Pierazzi F, Colajanni M. Security and confidentiality solutions for public cloud database services[C]. Proc. 7th Conf. Emerging Security Information, Systems and Technologies, Barcellona, Spain, August 2013.

[8] 李丹,薛銳,陈驰.基于透明加解密的密文云存储系统设计与实现[J].网络新媒体技术, 2015(5): 26-32.

[9] 安然,陈驰,徐震.数据库加密中间件的设计与实现[J].计算机工程与设计, 2009, 30(14) : 3261-3265.

[10] 杨飞.分布式数据库中间件DBScale的设计与实现[D]. 哈尔滨工业大学, 2015.

猜你喜欢
安全管控数据安全
部署推进2020年电信和互联网 行业网络数据安全管理工作
工信部:2021年初步建立网络数据安全标准体系
如何进一步做好网络与数据安全工作
数据安全政策与相关标准分享
基于互联网+计划的风险管控平台开发应用
一种分布式大数据的数据安全管控策略研究
基于堡垒机技术的运维安全管控系统设计与应用
智能综合管控系统的研究与设计
电力配网施工作业的安全管控实践