周风生
(上海绿建信息科技有限公司,上海 200050)
空间数据库的共享安全产品LOCKGIS的设计与实现
周风生*
(上海绿建信息科技有限公司,上海 200050)
目前空间数据库的共享安全仅依赖于关系型数据库的安全性,空间数据在传输共享上的安全无法保障。基于当前空间数据库的使用情况,从其共享存在的安全隐患入手,分析空间数据库共享原理,提出空间数据库共享安全的思路,重点研究空间数据库索引安全性,通过数据库安全访问网关、动态密码生成器、动静态水印追踪等技术来实现空间数据库共享安全。
基础空间数据;共享;SDE;数据安全
在网络技术飞速发展的今天,遥感遥测、卫星成像、地理信息等技术迅速发展,空间数据的获取手段变的多样化,其获取效率有显著提高,其分享与应用已经深入到社会生活的方方面面。在此同时,作为数据处理、管理与提供空间信息服务的地理信息系统也有了飞跃发展。在城市化建设过程中,各级单位通过地理信息系统建立了不同尺度的空间数据库,为地理信息的广泛应用奠定了基础[1]。地理空间数据涉及许多敏感信息,其安全保护问题涉及国家安全、企业利益、科技协作交流和知识产权保护等各个方面,并且由于网络应用越来越多样化及网络环境越来越复杂,空间数据的安全问题也变得更为突出[2]。为保障地理空间数据的安全,各级单位采取必要的措施保证地理空间成果数据的安全,但仅仅依靠传统的数据加密手段和有关纪律制度并不可能完全阻止所有对空间数据的恶意访问、篡改和非法传播。如何保障数据版权单位空间数据的安全,满足复杂网络条件下空间数据共享与多种多样应用的需要,已经成为公众、政府和学术界广泛关注的问题。
数据库的安全隐患带来数据库的巨大的威胁和破坏,一般意义上的数据库安全隐患主要有两个方面,一方面是来自系统外部的安全威胁,例如黑客对数据库的攻击、入侵、窃听等攻击行为;另一方面是来自于数据库系统本身,例如系统故障、管理方式不当、系统或软件故障等[3]。空间数据库中所存储的数据和一般数据库有较大的区别,在空间数据库共享的安全问题中往往更为注重其数据的不扩散以及不被破坏和篡改。空间数据库需要一个中间桥梁连接GIS应用程序,空间数据库典型的中间件技术就是空间数据库引擎(SDE,Spatial Database Engine),为用户提供了访问空间数据库的接口[4]。
2.1后台用户底层机制存在漏洞
空间数据库系统的安全威胁最易出现在空间数据进行共享应用的过程中。在应用时,空间数据库应用系统建设过程中,客户端用户向SDE空间数据库引擎提出访问空间数据的请求(密码和用户名),该请求得到服务器的许可,就能与空间数据库建立连接[5]。软件开发者、数据维护管理员等都知道SDE数据连接的用户名和密码,在数据应用时,相应的应用客户端会存储通过SDE引擎连接数据库的身份信息。此类用户信息若被无意扩散或恶意获取,则使得数据库就会被不受控地访问,对数据的安全性、完整性和保密性造成极大威胁。系统建设运营后,对于数据库的连接密码不能够随意修改,否则相关的应用系统无法运行。数据库的强制密码过期策略就不能充分发挥其安全作用。
2.2终端连接数据引擎访问存在隐患
为了满足应用需求,海量的地理空间数据被生产出来,并通过网络或者二次开发的平台进行分享应用。空间数据在实际共享过程中,仅仅通过数据访问控制来保护数据安全是不够的,任何可以接入数据库的局域网都是数据库泄密的源头。同时,一般的应用系统中连接空间数据库导入导出数据都在系统的应用层面进行了拦截。表面上这些拦截可以防止一些涉密数据的下载,实际上这些防护不堪一击;只需在某个能连接数据库且存在导出数据等功能模块的应用程序中输入数据库连接参数,被保护的数据就能够脱离应用系统而被窃取。
2.3空间数据的版本管理存在不足
通常所说空间数据的安全性主要是防止数据被非法扩散和非法使用,但是很多情况下数据是被合法用户越权访问,数据库管理员是很难知道的,所以对于数据管理也较为盲目。对于数据库存储的空间数据,在多用户、多客户端的使用下,存在很多版本。空间数据库的版本管理功能可以对空间历史数据进行回溯管理,还可以根据需要选择对比不同版本的数据情况或者将一段时间的版本整理合并,较好地解决了多用户操作的版本冲突,维护了空间数据的完整性、一致性[6]。但是空间数据在某一时刻被恶意修改,数据管理者想要在数量繁多的版本中找回正确的数据版本是较为困难的,并且难以找到破坏源。
空间数据库的共享存在诸多安全隐患,因而需要通过更多地防护手段来保障数据安全。要实现空间数据库数据安全保护,除了对数据进行访问控制之外,还需要利用多种其他的方法来提高数据库系统的数据保护程度,满足数据库安全需求[7]。空间数据库安全保护的原理主要有以下五点。
3.1安全双准入
Esri公司提供的ArcSDE可以使ArcGIS在DBMS中便利地管理一个共享的、多用户的空间数据库。正因如此,现阶段的空间数据库共享模式大多采用SDE空间搜索引擎来搭建的。然而要保障空间数据库安全共享先要从SDE空间搜索引擎的安全准入开始。安全双准入的机制从数据的源头数据库端出发,通过最底层的加密防护将保密措施从头抓起。安全准入的机制包括用户准入和软件准入,通过用户安全准入就可以不需要提供给共享用户SDE的连接密码,数据库管理员只需提供访问安全网关的登录信息。同时软件准入要求通过SDE连接空间数据库的客户端应用程序必须是系统管理员授权的信任程序,安全网关通过程序黑白名单阻拦第三方插件及非受控程序私连数据库盗取数据。
3.2密钥管理
密钥管理在空间数据库安全共享中相当重要,密钥的丢失与泄漏都可能将加密的数据库失去防护。因此一套完整的密钥管理机制在空间数据库安全防护中至关重要。为了降低数据库的密钥丢失后存在的数据泄密风险,在空间数据库安全方案的设计可引入二级密钥管理:一级密钥为主密钥,二级密钥为工作密钥,主密钥的作用是对二级密钥信息加密生成工作密钥使用工作密钥对数据库数据进行加解密处理[8]。
在安全双准入机制中不提供SDE用户名密码,采用安全网关的用户名密码,再结合密码强制过期策略提高数据库安全级别。同时运用动态密码生成技术,在SDE用户密码过期修改时无需人工干预,防止了人为泄漏SDE用户密码的。
3.3水印版权
水印技术是保护版权的一种有效手段,近些年来被广泛应用。针对GIS内的空间数据、栅格地图、矢量地图数据的版权保护,皆可使用此技术来保护版权。水印技术可以将版权信息隐藏在数据之中,一旦在应用端打开相应图层,调用数据,后台会自动获取水印信息,根据权限打开对应数据,显示版权水印。即使经过一定的攻击破坏,也能够保存下来,只有对应的有权限的人员才能打开数据,避免版权纠纷。
水印信息分为“内嵌式水印”“浮动物理水印”和“浮窗物理水印”三大类。所有版权水印均基于空间数据库之上,不增大文件,与对象永久关联,不改变后台调图要素,不可捕捉、修改和删除。在要素中添加版本信息就是为空间数据的来源提供了可验证、查询的依据。对空间数据采取了有力的保障及版权声明。
3.4审计追踪
审计功能是提高空间数据库安全共享必不可少的组成部分。它是一种较为积极主动的安全措施,通过审计安全系统将用户对数据库所有操作自动记录下来放入审计日志,收集系统各个方面的数据信息。系统管理员通过这些数据能够查询出一些非法的行为,从而采取相应的应对措施保障数据的安全性、完整性[9]。
审计功能不仅提供可视化操作界面供系统管理员分析用户合法及非法操作的数据信息,与此同时我们还可以提供辅助分析器。审计系统将实时录入的数据导入后台分析,辅助分析器根据审计的条件进行计算。当用户操作出现异常或非法操作时,审计分析系统将向系统管理人员发送预警信息。系统管理员根据系统报告在网络管理平台上可将该用户的所有权限直接限制。
完整的审计安全机制能够有效的检测空间数据库安全准入漏洞,根据用户准入、软件准入进行安全排除;能够对访问的客户端信息记录在案,检测其访问的数据或进行的操作是否符合授权;能够辅助分析协助系统管理员遏制非法行为或企图。
3.5数据网关
数据转换在空间数据库共享安全中也存在着诸多隐患,虽然目前一些应用系统从应用层面对空间数据库的数据实行了限制转换功能,但是这些防范效果只能解决表面问题。应用系统对数据的拦截只是停留在客户端,一旦用户突破了应用系统的漏洞这对空间数据库中的涉密数据是很大的威胁。
空间数据库共享安全中要想真正意义上对用户数据转换加以控制就必须从数据库层面出发,应用系统软件无论是Esri公司的ArcGIS desktop系列产品还是基于ArcEngine二次开发的插件在对空间数据库中的数据转换过程中都需要通过ArcSDE向数据库发送索引。在数据库与SDE之间实行索引的监控,一旦发现用户对数据库的请求操作是要进行数据转换导出;索引监控将向安全网关发送预警,安全网关及时响应同时通过查询网络管理平台上该用户是否存在数据转换权限,通过这一系列的响应反馈,控制拦截非授权用户通过应用层拦截漏洞将数据库中的数据通过数据转换的方式拷贝到个人地理数据库中。
随着技术的发展和数据应用的深入,地理信息资源数据安全保障体系的构建涉及更多的层面和因素,并且安全威胁也在不断发生变化。传统加密方案的特点是数据解密前无法使用,而数据解密后安全性消失,数据解密后很容易产生数据泄漏问题。上海绿建信息科技有限公司历时三年针对如何保障更为安全、可靠的地理空间框架推出了空间数据库共享安全产品(LOCKGIS)。该产品从数据库底层安全出发,运用C++开发技术建立空间框架安全体系,建立空间框架信息安全工作的长效机制,将信息安全的解决方案贯穿整个地理信息空间框架建设和应用。通过底层防护,形成了数据库级别的安全网关来有效保障空间框架关键应用和核心数据的安全。
空间数据库安全产品主要分为服务端和客户端两部分,其中服务端主要包括网络管理平台、安全网关以及密码动态生成器;客户端分为C/S架构和B/S架构的客户端,如图1所示。
图1 数据库安全产品系统框架
4.1服务端
(1)网络管理平台
网络管理平台实现了对用户信息和使用权限的分配及管理。管理平台是结合数据库搭建而成,主要是用于对客户端用户信息的发放、修改和删除,也可以设置客户端的数据使用权限,同时对人员离职等进行安全管理。比如离职人员不在单位办公,可以利用网管理平台直接撤销其登录的权限。ArcGIS水印加密管理平台上记录安全信息(登录类型和用户名称等),通过该平台可以方便快捷查询各类信息。
管理平台分为日志管理和常用管理,日志管理用于查看客户端日志信息;常用管理包括客户端管理、GIS水印管理、系统初始化等。对于用户信息和使用权限设定了发放客户端模块,其中可分为三大功能:基本设置、水印设置和权限设置模块。
①基本设置模块
主要用于设定用户登录信息,包括登录设置和常规设置。登录提供三种方式:加密锁登录、硬件序号登录和用户名登录。常规设置包括密钥序号、用户名称、用户密码、用户编码和启用/过期日期等。
②水印设置模块
为空间数据来源提供可验证、查询的依据,宣示其版权信息。主要包括显示风格、位置定位、样式预览。
③权限设置模块
安全准入的核心是权限控制,该模块是针对空间数据的要素类采取权限划分;通过列表中的要素图层可自由设定用户对该图层的权限高低、是否可以编辑、浏览的面积域;同时还设定了预警功能,即使有用户突破权限控制,当日志监控发现越权行为同时反馈给安全网关停止该用户的所有权限。
(2)安全网关
①用户身份准入
利用全新的安全准入机制,控制授权用户在指定终端登录,即使是授权用户也不能将其所被允许的身份转给第三方非法用户。通过部署数据库安全系统后,客户端应用程序中将不能获取数据库用户身份信息。这样的安全方案不仅解决了数据库底层机制漏洞问题,同时,数据库的密码过期策略也得以发挥作用。
②软件身份准入
LOCKGIS的安全网关对服务器的数据库提供了软件身份认证,在部署了服务端与客户端后,应用系统才可以连接到空间数据库;并且LOCKGIS提供白名单库和黑名单库,只有白名单中指定的应用程序才能访问受保护的服务器数据库,如图2所示。
(3)密码动态生成器
密码动态生成器可以自动生成连接空间数据库的密码。这个密码是加密存储于数据库中的,不需要任何人知道这样的身份信息;有效遏制了空间数据库管理员泄露数据库用户名密码的安全危机。该模块可以随时修改或者自动定期修改密码,不会影响数据库的管理维护[10]。
图2 网络管理平台架构
4.2客户端
C/S客户端主要是通过LOCKGIS CLIENT控件实现对数据访问者的行为控制,主要依靠在身份认证的基础上,根据访问者的身份对其提出的资源访问请求加以控制,即使能够自由地浏览、编辑受控数据,但是其以任何形式导出到本地文件的行为将会受到我们客户端的控制。B/S客户端主要是对于数据拥有方提供的服务实现水印版权保护。
4.3系统优势
(1)安全保护透明
运用底层安全技术对要素类进行控制,完全不妨碍数据的正常应用操作,但是却能够限制非授权用户对受保护数据的获取。
(2)应用环境广泛
应用层支持ArcGIS各版本以及各种插件,例如FME和Data.East.XTools.Pro.v9.1等;支持多种数据库类型加密包括DB2、Oracle、SQL Server等。
(3)授权方式灵活
除了沿用LOCK系列产品的软硬授密钥管理机制外,还提供了硬盘序列号注册的方式。
(4)水印跟踪紧密
静态和动态缓存水印跟踪以及DLG数字线化地图水印嵌入防止网络爬虫技术。在放大缩小比例尺动态生成水印信息保护版权。水印风格样式不受系统影响,与应用平台无关,如图3所示。
图3 水印样式及特点
大数据时代发展下的今天,空间数据共享不仅仅存在政府各级部门之中,充分利用空间数据资源实现互利共赢是当今社会发展的趋势,基于SDE空间数据库共享安全研究也是当前发展的需要。结合现今国内地理信息空间框架建设的共享平台安全研究,空间数据库的共享安全首先解决应用程序客户端安全准入权限问题。即只有安装了LOCKGIS客户端的电脑,才可以连接到SDE数据服务;然后通过LOCKGIS白名单和黑名单库,只有白名单中指定的应用程序才能通过SDE访问数据,浏览、编辑、查询及其他应用操作都是允许的,但不能将数据导出或数据转换到本地文件,数据转换是数据共享中要解决的重点问题。空间数据安全不仅仅是数据生产单位的责任,也是数据使用单位的责任和义务。从数据的生产、外协、建库、共享每一个环节都需要建立一套完整安全防护机制,同时也离不开安全技术的支持。建设全生命周期的空间数据安全防护是需要在每个环节都要形成科学的安全防护。
[1]许有田.城市地理空间数据框架建设的实践与探讨[J].城市勘测,2008(4):24~26.
[2]海洋.大数据环境下的数据安全工作探讨[J].电子测试,2015(6):63~64.
[3]张会喜.数据库的安全隐患及维护研究[J].山东工业技术,2016(3):133.
[4]袁荣健.基于ArcSDE的空间数据库技术的应用研究[J].无线互联科技,2013(5):163.
[5]曾裔红.空间数据库安全访问方案的研究与实现[D].成都:电子科技大学,2010.
[6]杨平.空间数据库版本控制技术及应用[J].四川测绘,2006,29(2):79~82.
[7]徐杨.空间数据访问控制关键技术研究[D].河南:解放军信息工程大学,2012.
[8]钟远军,李照,黎慧斌等.数字城市地理空间框架信息安全保障体系初探[J].测绘通报,2011(6):60~61.
[9]符太东,王喆.浅析网络服务器的安全策略[J].信息通信,2013(2):167~170.
[10]任淑美,李宁湘.基于RDBMS的安全性研究[J].价值工程,2013(23):196~198.
The Design and Implementation of Spatial Database Sharing Security Product LOCKGIS
Zhou Fengsheng
(Shanghai LvJian Information Technology Corporation,Shanghai 200050,China)
At present,the shared security of spatial database is only dependent on the security of the relational database,and the security of the spatial data in the transmission and sharing cannot be guaranteed.Based on the use of the current spatial database,Starting with the security hidden danger,the paper analyzes the principle of spatial database sharing,and puts forward the idea of sharing the security of spatial database,Focus on the security of spatial database index ,Through the database security access gateway,dynamic password generator,dynamic and static watermark tracking technology to achieve spatial database sharing security.
basic spatial data;sharing;spatial database engine;SDE;data security
1672-8262(2016)04-36-05
P208.1
B
2016—03—30
周风生(1979—),男,主要从事图纸加密保护、CAD与GIS数据标准转换和GIS数据加密保护研究。E-mail:2850363668@qq.com