周風生
(上海綠建信息科技有限公司,上海 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