段春華
(揚(yáng)州市國(guó)土資源局,江蘇 揚(yáng)州 225002)
近年來(lái),由于地理信息技術(shù)的快速發(fā)展和人們對(duì)空間位置信息需求的不斷提高,基于地理信息的應(yīng)用已成為當(dāng)前社會(huì)的關(guān)注熱點(diǎn),如“天地圖”、百度地圖、谷歌地球等,都已與百姓生活密不可分。隨著網(wǎng)絡(luò)傳輸速度的爆發(fā)性增長(zhǎng),利用網(wǎng)絡(luò)發(fā)布空間數(shù)據(jù)為用戶(hù)提供空間數(shù)據(jù)瀏覽、查詢(xún)和分析等功能,形成一個(gè)網(wǎng)絡(luò)化的地理空間平臺(tái)將是GIS系統(tǒng)發(fā)展的必然趨勢(shì)[1]。目前主流地理信息軟件已不需要集成電子地圖等地理信息數(shù)據(jù),只需由客戶(hù)端發(fā)起訪(fǎng)問(wèn)請(qǐng)求即可。客戶(hù)端軟件也可大大“瘦身”,不必再動(dòng)輒占據(jù)數(shù)百兆的存儲(chǔ)空間。與此同時(shí),應(yīng)用與數(shù)據(jù)相分離的方式也使開(kāi)發(fā)者能夠?qū)W⒂趹?yīng)用層的功能開(kāi)發(fā),這無(wú)疑大大提高了應(yīng)用系統(tǒng)的靈活性,降低了開(kāi)發(fā)成本,也可在一定程度上減少重復(fù)投資和建設(shè)。
在線(xiàn)地理信息服務(wù)在提供極大便利性的同時(shí)也存在一定隱憂(yōu),最重要的一點(diǎn)就是訪(fǎng)問(wèn)安全性控制。由于地理信息服務(wù)的數(shù)據(jù)集通常是由測(cè)繪成果經(jīng)加工處理后生成,具有一定特殊性,某些測(cè)繪成果還可能有保密需求,只能在一定范圍內(nèi)或只能由特定用戶(hù)使用。目前常用的地理信息服務(wù)接口有SOAP、REST、WMTS等,均是通過(guò)一個(gè) URL地址進(jìn)行訪(fǎng)問(wèn),用戶(hù)不僅能夠通過(guò)接口調(diào)用服務(wù),還能對(duì)服務(wù)地址進(jìn)行解析并下載數(shù)據(jù)。因此,必須對(duì)訪(fǎng)問(wèn)權(quán)限進(jìn)行嚴(yán)格控制,使非授權(quán)用戶(hù)無(wú)法訪(fǎng)問(wèn)具有保密要求的服務(wù)資源,已授權(quán)用戶(hù)無(wú)法進(jìn)行越權(quán)操作。
ArcGIS Server是當(dāng)前地理信息行業(yè)應(yīng)用最廣泛的服務(wù)器端軟件。本文以ArcGIS Server為例,討論地理信息服務(wù)安全控制技術(shù)。ArcGIS Server是一個(gè)用于構(gòu)建集中管理、支持多用戶(hù)的企業(yè)級(jí)GIS應(yīng)用的平臺(tái),它提供了豐富的GIS功能,例如地圖、定位器和用在中央服務(wù)器應(yīng)用中的軟件對(duì)象等。
ArcGIS提供了完善的安全機(jī)制。同一地圖服務(wù)不同部門(mén)且不同用戶(hù)具有不同的權(quán)限,只能在許可下進(jìn)行操作。這讓實(shí)際業(yè)務(wù)過(guò)程中不同部門(mén)、不同區(qū)域之間的權(quán)責(zé)控制變得簡(jiǎn)單。ArcGIS安全控制技術(shù)主要有兩種實(shí)現(xiàn)方法:Http認(rèn)證和令牌(Token)認(rèn)證。
Http認(rèn)證是客戶(hù)端應(yīng)用程序與服務(wù)器端進(jìn)行權(quán)限認(rèn)證的一種方式。它采用“質(zhì)詢(xún)-響應(yīng)”機(jī)制?!百|(zhì)詢(xún)”是服務(wù)器端對(duì)客戶(hù)端的質(zhì)詢(xún),即要求客戶(hù)端發(fā)送認(rèn)證信息;“響應(yīng)”是客戶(hù)端對(duì)“質(zhì)詢(xún)”的響應(yīng),即發(fā)送帶有認(rèn)證信息的請(qǐng)求[2]。認(rèn)證過(guò)程通常包含以下幾個(gè)步驟:① 客戶(hù)端發(fā)送不包含認(rèn)證信息的Request;② 服務(wù)器返回401Unauthorized給客戶(hù)端;③ 客戶(hù)端把用戶(hù)名密碼加密后放在數(shù)據(jù)報(bào)的頭部(header)再次發(fā)送給服務(wù)器端;④ 服務(wù)器端對(duì)數(shù)據(jù)報(bào)進(jìn)行解析,獲取認(rèn)證信息,確定是否進(jìn)行授權(quán)。圖1為ArcGIS Server進(jìn)行Http認(rèn)證的窗口,該窗口要求提供用戶(hù)名和密碼。
圖1 ArcGIS Server進(jìn)行Http認(rèn)證的窗口
ArcGIS Server還提供了一種基于令牌(Token)的專(zhuān)有身份驗(yàn)證機(jī)制,使用戶(hù)能夠通過(guò)提供令牌而不是用戶(hù)名與密碼來(lái)進(jìn)行自我身份驗(yàn)證。Arc-GIS Server令牌是包含用戶(hù)名、令牌有效期和某些專(zhuān)有信息的加密信息字符串。要獲得令牌,用戶(hù)需要提供有效的用戶(hù)名和密碼。ArcGIS Server會(huì)驗(yàn)證所提供的憑據(jù)發(fā)布令牌。用戶(hù)在訪(fǎng)問(wèn)受保護(hù)資源時(shí)需提供此令牌。
ArcGIS Server令牌具有一定生命周期,分為短期令牌和長(zhǎng)期令牌。短期令牌使授權(quán)用戶(hù)可以臨時(shí)訪(fǎng)問(wèn)某一受控的地理信息服務(wù),令牌將在用戶(hù)訪(fǎng)問(wèn)結(jié)束后很短時(shí)間內(nèi)失效。短期令牌給用戶(hù)的臨時(shí)訪(fǎng)問(wèn)提供了便利,但需要頻繁向服務(wù)器請(qǐng)求令牌,在一定程度上加重了服務(wù)器的負(fù)載。長(zhǎng)期令牌則指定了生命周期。在生命周期內(nèi),用戶(hù)可使用同一令牌多次訪(fǎng)問(wèn)受控的地理信息服務(wù),不需要反復(fù)請(qǐng)求。在實(shí)際應(yīng)用中,對(duì)合法的用戶(hù)組,一般可分配長(zhǎng)期令牌。
ArcGIS Server令牌的傳輸一般采用HTTPS/SSL創(chuàng)建安全鏈接,避免在網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中信息被非法截取而導(dǎo)致用戶(hù)名、密碼泄露。
數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)是一套地理信息在線(xiàn)服務(wù)系統(tǒng)。通過(guò)統(tǒng)一的接口,系統(tǒng)向揚(yáng)州市國(guó)土、規(guī)劃、環(huán)保、公安等對(duì)地理空間信息具有迫切需求的單位提供高質(zhì)量、不間斷的地理信息服務(wù)。它也是數(shù)字揚(yáng)州地理空間框架的重要組成部分?!皵?shù)字揚(yáng)州”所有測(cè)繪地理信息成果經(jīng)過(guò)處理加工后均形成在線(xiàn)數(shù)據(jù)集,通過(guò)此平臺(tái)統(tǒng)一發(fā)布。平臺(tái)建成后,除確實(shí)無(wú)法在線(xiàn)接入的專(zhuān)網(wǎng)應(yīng)用,一律不再提供離線(xiàn)數(shù)據(jù)。同時(shí)要求各應(yīng)用部門(mén)通過(guò)公共服務(wù)平臺(tái)發(fā)布自有的專(zhuān)題業(yè)務(wù)數(shù)據(jù),倡導(dǎo)共建共享,減少重復(fù)建設(shè)。
公共服務(wù)平臺(tái)面臨的主要安全風(fēng)險(xiǎn)包括:① 身份冒充:由于網(wǎng)絡(luò)是個(gè)虛擬社會(huì),無(wú)法像現(xiàn)實(shí)社會(huì)那樣認(rèn)定人的身份,也就為惡意者提供了冒充他人的絕好機(jī)會(huì)和手段;② 信息失密:“揚(yáng)州市地理信息公共服務(wù)平臺(tái)”的數(shù)據(jù)集由測(cè)繪成果加工而成,具有一定特殊性和保密要求,一旦泄密,損失及影響將無(wú)法估量;③ 信息篡改:信息在處理、傳輸過(guò)程中惡意攻擊者可能會(huì)對(duì)信息進(jìn)行修改、刪除,極大威脅業(yè)務(wù)的順利進(jìn)行。
基于上述風(fēng)險(xiǎn),數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)安全總體目標(biāo)是:結(jié)合當(dāng)前信息安全技術(shù)發(fā)展水平,設(shè)計(jì)一套科學(xué)合理的深層防御安全保障體系,形成有效的安全防護(hù)能力、隱患發(fā)現(xiàn)能力、應(yīng)急反應(yīng)能力和系統(tǒng)恢復(fù)能力,從物理、網(wǎng)絡(luò)、系統(tǒng)、應(yīng)用和管理等方面保證系統(tǒng)安全、高效、可靠運(yùn)行,保證信息的機(jī)密性、完整性、可用性和操作性,避免各種潛在威脅。
據(jù)此,數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)的安全體系設(shè)計(jì)分為安全基礎(chǔ)設(shè)施、應(yīng)用系統(tǒng)安全和安全管理保障體系3部分。根據(jù)“分域保護(hù)、分級(jí)保護(hù)”策略,制定相應(yīng)安全措施,形成數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)整體安全保障體系框架,如圖2所示。
圖2 數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)安全體系框架
數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)目前主要提供REST風(fēng)格的在線(xiàn)地理信息服務(wù)。REST用來(lái)定義一個(gè)Web服務(wù)應(yīng)用程序編程接口(API),并通過(guò)HTTP進(jìn)行資源管理[3]。也就是說(shuō)用戶(hù)通過(guò)一個(gè)URL即可訪(fǎng)問(wèn)任何已發(fā)布的地理信息資源。REST風(fēng)格服務(wù)的這種特性在給用戶(hù)帶來(lái)便利性的同時(shí)也存在一定的安全風(fēng)險(xiǎn)。平臺(tái)數(shù)據(jù)集來(lái)自于測(cè)繪成果資料,具有一定特殊性。雖然整個(gè)服務(wù)系統(tǒng)運(yùn)行于政務(wù)專(zhuān)網(wǎng)內(nèi),但對(duì)外并沒(méi)有物理隔離。因此,必須對(duì)公共服務(wù)平臺(tái)進(jìn)行嚴(yán)格的安全控制,在保證授權(quán)用戶(hù)正常訪(fǎng)問(wèn)的同時(shí),避免非授權(quán)用戶(hù)的非法訪(fǎng)問(wèn)和數(shù)據(jù)的非法竊取。
采用ArcGIS Server令牌作為安全控制的關(guān)鍵技術(shù)能夠很好地滿(mǎn)足安全性要求。一方面,通過(guò)長(zhǎng)生命周期的令牌用戶(hù)不需頻繁向服務(wù)器申請(qǐng)權(quán)限,降低了服務(wù)器的負(fù)載,提高了應(yīng)用程序的靈活性。另一方面,通過(guò)應(yīng)用層的定制開(kāi)發(fā)能夠?qū)崿F(xiàn)用戶(hù)自助申請(qǐng)令牌,基本不需人工干預(yù),大大減少了公共服務(wù)平臺(tái)管理員的工作量,提高了運(yùn)行和管理效率。
綜上所述,數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)采用ArcGIS Server令牌作為權(quán)限控制策略來(lái)確保在線(xiàn)地理信息服務(wù)的安全性,配置和應(yīng)用流程如下文所述。
系統(tǒng)如圖3所示。
(1)登陸 ArcGIS Server Manager系統(tǒng)。
圖3 配置令牌服務(wù)器
(2)打開(kāi)Security→Setting→Security Store功能模塊,配置成采用外部數(shù)據(jù)庫(kù)(External Database)方式,輸入外部數(shù)據(jù)庫(kù)的驅(qū)動(dòng)、地址、用戶(hù)名和密碼。
(3)驅(qū)動(dòng)oracle.jdbc.driver.OracleDriver。
地址:jdbc:oracle:thin;服務(wù)器IP地址:1521:orcl;用戶(hù)名:geoshare_platform;密碼:admin
(4)打開(kāi) Security→Setting→Security for GIS Services功能模塊,配置“ArcGIS令牌服務(wù)認(rèn)證(Arc-GIS Token Service Authentication)”時(shí)采用“遠(yuǎn)程令牌服務(wù)(Use remote token service)”方式。其中“ArcGIS Token Service Authentication”配置如下:
① Shared key for encrypting token 為:geoshare;
② Token Service URL 為:http://服務(wù)器IP地址:8081/RemoteTokenServer。
數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)基于ArcGIS Server for Java Platform 和SCY-OneMap構(gòu)建,利用已有的組件,不需進(jìn)行底層開(kāi)發(fā),只需專(zhuān)注于應(yīng)用層的功能定制。在安全控制模塊中進(jìn)行應(yīng)用層開(kāi)發(fā)的目的是實(shí)現(xiàn)用戶(hù)一站式自助注冊(cè)、自助申請(qǐng)服務(wù)訪(fǎng)問(wèn)權(quán)限而不需管理員干預(yù)。圖4為用戶(hù)進(jìn)行權(quán)限申請(qǐng)的界面。
圖4 用戶(hù)自助申請(qǐng)服務(wù)權(quán)限界面
地理信息服務(wù)權(quán)限申請(qǐng)流程包含以下幾個(gè)步驟:① 用戶(hù)訪(fǎng)問(wèn)數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)地圖資源頁(yè)面;② 在線(xiàn)填寫(xiě)資源申請(qǐng)表,并上傳共建共享協(xié)議電子檔;③ 等待管理員審核授權(quán),審核通過(guò)后登錄用戶(hù)信息安全加密服務(wù)系統(tǒng),獲取令牌字符串。
用戶(hù)在獲取令牌后,需將其作為服務(wù)請(qǐng)求參數(shù)方可正常調(diào)用地理信息服務(wù)。以下是一段FLEX端應(yīng)用程序調(diào)用地理信息服務(wù)的示例代碼:
<?xml version="1.0"encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
pageTitle="Yangzhou Map Show">
<esri:Map id="myMap" logoVisible="false">
<esri:ArcGISTiledMapServiceLayer show="layerShowHandler(event)"
url=http://10.36.225.20:8080/RemoteR-est/services/yzsl/MapServer visible="true"
token =" nMQ _yixXzXuKJIrjxCX2735WvLNnh20kNaXloEh1BO yIasFy6Zm8dhrQAxTjHNb4"/>
</esri:Map>
</s:Application>
公共服務(wù)平臺(tái)的令牌服務(wù)器在收到應(yīng)用程序發(fā)出的訪(fǎng)問(wèn)請(qǐng)求時(shí)會(huì)核對(duì)url中的令牌參數(shù),即“Token”屬性中的字符串,根據(jù)定義好的用戶(hù)組權(quán)限返回相應(yīng)地理信息資源數(shù)據(jù),并將應(yīng)用程序訪(fǎng)問(wèn)記錄寫(xiě)入管理日志中供管理員診斷和參考。
通過(guò)采用ArcGIS Server令牌技術(shù)數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)建立了較為完善安全的機(jī)制,為地理信息數(shù)據(jù)的安全性和完整性提供了較好保障。平臺(tái)自2014年7月上線(xiàn)試運(yùn)行以來(lái),情況良好,根據(jù)訪(fǎng)問(wèn)日志的統(tǒng)計(jì)情況,未出現(xiàn)非授權(quán)用戶(hù)訪(fǎng)問(wèn)受保護(hù)資源、已注冊(cè)用戶(hù)越權(quán)操作及數(shù)據(jù)竊取等情況,基本達(dá)到了安全體系的設(shè)計(jì)要求。
但是,數(shù)字揚(yáng)州地理信息公共服務(wù)平臺(tái)的安全控制體系還存在一定的不足,未來(lái)需進(jìn)一步對(duì)應(yīng)用層進(jìn)行優(yōu)化。一方面要簡(jiǎn)化用戶(hù)權(quán)限申請(qǐng)的流程,地圖資源頁(yè)面需添加多瀏覽器的支持。另一方面要解決經(jīng)NAT轉(zhuǎn)換后無(wú)法跟蹤應(yīng)用程序?qū)嶋H訪(fǎng)問(wèn)IP地址的問(wèn)題。此外,在防火墻透析等方面還需深入研究。
[1] 儲(chǔ)征偉,楊婭麗.地理信息系統(tǒng)應(yīng)用現(xiàn)狀及發(fā)展趨勢(shì)[J].現(xiàn)代測(cè)繪,2011(1):22-25.
[2] 陳遠(yuǎn)志.HTTP認(rèn)證及其在 Web平臺(tái)中的實(shí)現(xiàn)[J].中國(guó)數(shù)據(jù)通信,2004(10):78-84.
[3] 周兆濱,王琴,顧亮.等.使用ArcGIS REST構(gòu)建高性能 WebGIS服務(wù)[J].制造業(yè)自動(dòng)化,2010(8):178-179,216.
[4] 張望.基于ArcGIS Server的網(wǎng)絡(luò)地理信息服務(wù)研究與實(shí)踐[D].長(zhǎng)沙:中南大學(xué),2009.