章功干
(淮南师范学院 计算机学院,安徽 淮南 232038)
近年来,随着网络环境的完善、硬件设备的性能提升及以“云”架构的软件系统的发展,敏感信息的远端化管理和防护正成为一种趋势, 核心数据、敏感数据均存储在云端,结合身份验证、访问控制等手段,有效的提高了敏感信息的数据安全性。 然而,对于图书馆、会场展厅、银行、机场等一些特殊应用场景中,仍需要多台客户机满足用户的访问需求, 尤其对于一些采用C/S 架构的分布式业务系统,要求在客户机上安装客户端软件,这些软件的配置文件、注册文件等都可能涉及敏感信息,而应用程序本身也可以看作是一种重要的业务系统资源,因此这些存储在客户机上的暴露在开放环境下的信息也需要进行安全防护。
敏感信息的安全性直接关系着上至国家利益,下到个人隐私的安全。 尤其在近些年,学术界和业界针对大数据敏感信息保护关键技术展开了广泛研究,不断在方法和算法方面进行优化改进,力求达到数据保密性和可用性之间更好的平衡。依据技术方法原理和适用场景的差异,敏感信息保护技术主要可以分为3 类[1]:数据失真技术,使敏感数据失真但同时保持某些数据或数据属性不变的方法,包括随机化、凝聚、阻塞等技术;数据加密技术,将一个信息(或称明文)经过加密钥匙及加密函数转换,变成无意义的密文,而接收方则将此密文经过解密函数、解密钥匙还原成明文;匿名化限制发布技术,限制发布即有选择地发布、不发布,或者发布精度较低的敏感数据, 以实现对敏感信息的保护。有两类不同级别的数据匿名化处理, 一是抑制,即不发布某个敏感数据项;二是泛化,即对敏感数据进行更概括、抽象的描述。
上述这些技术主要是通过对敏感信息内容、属性进行加密、失真等处理,使敏感信息不可读,从而实现数据的保护。 类似的研究有,文献[2]基于属性基加密机制设计和实现了一个适用于发布/订阅系统的密文访问控制解决方案。 文献[2]针对大数据集采用属性基加密方法提出一种隐私和匿名处理方案。文献[3](P2117-2118)针对云存储中敏感数据的机密性保护问题,在基于属性的加密基础上提出了一种高效的密文访问控制方法。
另外,基于密码学的访问控制也是一种有效的保护手段,Crampton 提出基于层次密钥生成与分配策略实施访问控制的方法[4]。Malek 和Miri 在用户密钥或密文中嵌入访问控制树的方法[5](P5-7)。 文献[6](P305-312)提出一种融合访问控制机制实现对敏感信息的安全保护。 文献[7-9]则是针对基于云环境下的敏感信息提出的保护手段进行的研究。
本系统支持一对多的监控方式,系统的一个服务器端可以在线实时监控多个客户端用户的操作状态,用户在客户机上的访问操作数据会实时传递到服务器端,服务器端能够以数据可视化方式更新用户的操作状态,因此管理员能够非常方便的对各客户机上的敏感信息进行在线实时监控。 同时,通过日志审计能够实现事后的追溯,包括对用户的敏感信息访问行为, 记录下完整的数据访问操作信息,可以在事后对责任追究提供依据。因此,本系统的主要创新点有:1.系统采用C/S 架构设计,能够实现一对多的在线实时监控;2. 采用RC4 和AES相结合的数据加密方式,极大的提高了敏感信息的安全性;3.轻量灵活的文件操作监控流程,保证系统的运行效率;4.引入实时监控与日志审计相结合为监控机制,优化监控流程。
系统采用C/S 架构进行设计, 支持单服务器端——多客户端操作模式,服务器可以同时对多个客户端进行实时监控。服务器端结构分为业务逻辑层和数据传输层,业务逻辑层主要负责对在线用户操作状态监控的可视化显示、用户操作信息的日志记录以及对接收数据的处理; 数据传输层负责用户身份的认证、网络连接管理以及数据传输管理;客户端结构同样分为业务逻辑层和数据传输层,业务逻辑层主要负责对文件的加/解密管理、文件状态的监控管理,数据传输层功能与服务器端类似,负责将监控数据传输至服务器端。 系统的功能结构图如图1 所示:
图1 系统总体架构图
下面将分别从客户端和服务器端分别对系统功能模块展开介绍。
系统的客户端用户分为管理员和普通用户两类。 其中,管理员主要负责对客户端所在环境的敏感信息进行管理, 通过增/删包含敏感信息的文件来配置敏感信息监控管理表,具体操作流程如图2所示。
包含敏感信息的文件在客户机是以加密的形式保存的,用户在登录系统前无法进行访问。 用户在成功通过身份验证后,系统会自动对加密的文件进行解密,并对解密后的文件设置监控器,用户可以正常访问这些敏感文件,但其一些违规操作,例如,重命名、修改内容、删除等敏感操作会以信息的形式实时反馈到服务器端以提示管理员, 并做日志记录。用户在退出系统时,系统会再次根据配置文件对敏感信息文件进行加密操作, 从而保证其安全性。
图2 管理员操作流程图
服务器端主要负责客户端的网络接入管理、客户端用户操作监控状态可视化显示、客户端用户操作信息日志记录等功能。系统启动后首先要设定系统的通信端口,并点击监听按钮后客户端才能正常登录。
服务器端具体包括的功能模块有状态显示模块、日志管理模块、用户身份认证模块及数据传输管理模块。 其中,状态显示模块主要负责对用户的操作状态信息进行可视化的显示,通过不同颜色来标识用户的对应操作,从而实现对用户操作的实时在线监测; 日志管理模块主要负责系统的日志管理, 日志记录内容包括用户的访问及操作状态信息,可以用来对用户的操作行为进行审计;用户身份认证模块主要负责对用户进行身份验证;数据传输管理模块主要负责通过封包、拆包、校验等操作保证数据传输的完整性和稳定性, 具体功能包括:一是负责接收客户端发送来的数据,并对其进行数据的拆包、提取等处理,获得控制信息和数据信息。二是接收业务处理模块返回的数据结果并进行封包处理,再发送至客户端。
1.硬件配置:
服务器端:2GB 内存,IntelCorei3 处理器;
客户端:至少1G 内存,IntelCore 系列。
2.操作系统:
服务器端:WindowsServer2008;
客户端:Windows10、Windows7、WinsowsXP 等。
3.开发环境:
VS2013Ultimate、Qt5.5.1-32 位、OpenSSL、Zlib。
4.数据库:Access2007。
本文将从系统监测准确性、系统并发性能以及用户交互友好性三个方面对系统进行综合测试。下面将分别进行方案介绍及结果展示。
4.2.1 系统监测准确性测试
系统测试方案:模拟5 个用户(用户1、用户2、用户3、用户4,用户5)在不同客户机进行操作,管理员预先在每台客户机上将敏感信息监控管理表配置好, 各客户机所监控的敏感信息内容相同,用户则根据自己的意愿进行操作,管理员在服务器端通过系统对用户的操作状态进行实时监控。一段时间后,管理员根据用户操作状态显示及查询日志与用户进行操作行为核对,得出系统的监控准确性。
表1 系统监测和用户反馈表
如表1 所示,根据系统监测和用户反馈结果可以看出,系统能够准确的实时监测到各用户的操作情况,因此系统具有较好的检测准确性。
4.2.2 系统并发压力测试
系统测试方案:主要测试系统服务器端分别在1、2、3、4、5、8、10、15、25 个用户操作情况下的监测相应速度。
图3 系统压力测试效果图
如图3 所示, 当并发用户人数小于5 人时,系统响应时间变化不大, 系统响应速度普遍较快;当超过10 人时,系统响应时间增长较快,系统响应速度相对较慢。因此,就目前情况而言,本文设计的敏感信息在线监测系统能够满足一定的业务需求,但对于大量用户并发操作的支持还有待进一步优化。
4.2.3 用户交互友好性测试
系统用户交互友好性测试内容主要针对客户端用户操作部分。由于用户仅需在客户端登录时进行身份信息录入操作,后续客户端程序将自动转入后台运行,使用户在无感知下进行正常操作。因此,用户交互友好性较好。
综上所述,本文设计的开放环境下敏感信息的在线监测系统能够在一定程度上满足对敏感信息的数据保护需求,且经过系统测试,系统在监测准确性、并发压力、交互友好性等方面均反应出一定的稳定性和可靠性,但系统在并发负载方面存在的问题也是非常明显的,因此还需要进一步完善。
敏感信息保护是数据安全领域一块重要的组成部分,针对开放环境下的敏感信息保护和访问控制的研究一直是这个领域的研究热点。本系统结合现有的主流敏感信息保护技术,采用以身份认证为基础,文件加/解密为主要访问控制手段,以实时监控与日志审计相结合为监控机制设计一套C/S 架构的开放环境下敏感信息监控系统。系统通过对客户端用户的操作行为的监测,能够及时获取其对敏感信息的访问状态,从而在一定程度上实现对敏感信息的保护。后期,我们将在继续完善系统基础上,优化数据加解密算法的效率,并提供多种方式的监测方法,从而提高系统的整体监控能力。