加密技術(shù)在空間信息中的應(yīng)用
目前,在各種資料、各項(xiàng)數(shù)據(jù)實(shí)現(xiàn)信息化的同時(shí),每臺(tái)工作站、服務(wù)器上存儲(chǔ)的重要機(jī)密空間信息越來(lái)越多,對(duì)如何保證這些數(shù)據(jù)在基于GIS的電網(wǎng)信息系統(tǒng)中的安全應(yīng)用也提出了更高的要求。為此我們提出了一種基于GIS的信息加密技術(shù)的設(shè)計(jì)思想,在操作系統(tǒng)驅(qū)動(dòng)層之間嵌入一個(gè)數(shù)據(jù)轉(zhuǎn)換層來(lái)達(dá)到數(shù)據(jù)的加密和解密,并以此來(lái)實(shí)現(xiàn)信息加密技術(shù)在空間信息中的應(yīng)用。
一、風(fēng)險(xiǎn)分析及研究?jī)?nèi)容
在福建電力GIS生產(chǎn)管理系統(tǒng)實(shí)際應(yīng)用過(guò)程中,地圖信息、電網(wǎng)數(shù)據(jù)在應(yīng)用系統(tǒng)中均屬于開(kāi)放信息,福建電力的所有權(quán)限用戶都可以查詢(xún)使用。在信息安全方面,地圖數(shù)據(jù)和電網(wǎng)數(shù)據(jù)又分別屬于國(guó)家和電網(wǎng)企業(yè)的秘密信息,需要在確保系統(tǒng)正??焖僭L問(wèn)的同時(shí)保證數(shù)據(jù)應(yīng)用的絕對(duì)安全。但是以目前系統(tǒng)的運(yùn)行方式,在數(shù)據(jù)訪問(wèn)保密性上還存在著諸多安全隱患。
1、風(fēng)險(xiǎn)分析
(1)涉密地理數(shù)據(jù)泄漏風(fēng)險(xiǎn)
涉密地理數(shù)據(jù)主要指高精度電子地圖,包括影像圖、矢量圖和高程等,這些數(shù)據(jù)特別是應(yīng)用系統(tǒng)瓦片服務(wù)器上的地圖瓦片數(shù)據(jù),以文件形式存儲(chǔ),可通過(guò)多種方式訪問(wèn)和導(dǎo)出,存在數(shù)據(jù)泄漏的風(fēng)險(xiǎn)。
(2)重要電網(wǎng)GIS數(shù)據(jù)外傳風(fēng)險(xiǎn)
電網(wǎng)空間數(shù)據(jù)、重要臺(tái)賬信息和基礎(chǔ)資料存儲(chǔ)在生產(chǎn)管理系統(tǒng)Oracle數(shù)據(jù)庫(kù)中,可從程序接口通過(guò)多種方式導(dǎo)出,存在數(shù)據(jù)外泄的風(fēng)險(xiǎn)。
2、研究?jī)?nèi)容
(1)防止涉密地理數(shù)據(jù)泄漏
針對(duì)服務(wù)器上存儲(chǔ)的地理數(shù)據(jù)文件或者目錄,使用指定的加密算法、密鑰,進(jìn)行加密和解密操作,從而達(dá)到防止地理數(shù)據(jù)文件或目錄泄密的目標(biāo)。
(2)基于電網(wǎng)GIS數(shù)據(jù)導(dǎo)出外傳加密
針對(duì)目前電力生產(chǎn)與GIS系統(tǒng)的結(jié)合,部分?jǐn)?shù)據(jù)需要進(jìn)行導(dǎo)出傳遞,應(yīng)對(duì)導(dǎo)出數(shù)據(jù)做加密處理,并對(duì)解密外傳行為進(jìn)行監(jiān)督管控。
(3)滿足用戶使用習(xí)慣
在不改變用戶原有文件使用習(xí)慣的前提卞,對(duì)需要保護(hù)的文件進(jìn)行加密,對(duì)不需要保護(hù)的文件則進(jìn)行條件控制,適當(dāng)?shù)剡M(jìn)行加密或不加密處理。
(4)降低性能影響
對(duì)GIS數(shù)據(jù)應(yīng)用訪問(wèn)進(jìn)行加密解密處理,勢(shì)必將增加系統(tǒng)處理響應(yīng)時(shí)間,影響GIS程序性能。因此,需在確保數(shù)據(jù)安全性的同時(shí),簡(jiǎn)化加密、解密環(huán)節(jié),最大限度降低信息加密、解密過(guò)程對(duì)程序性能的影響。
二、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
1、系統(tǒng)總體架構(gòu)
在EPGIS平臺(tái)的基礎(chǔ)上,采用自動(dòng)加密解密技術(shù)、文件過(guò)濾驅(qū)動(dòng)技術(shù)、瓦片數(shù)據(jù)加密技術(shù)、基于Flex的解密瀏覽、多算法聯(lián)合加密技術(shù)、多級(jí)安全模型等技術(shù),對(duì)福建電網(wǎng)GIS中的地理瓦片數(shù)據(jù)進(jìn)行信息加密保護(hù),對(duì)空間數(shù)據(jù)庫(kù)中的電網(wǎng)設(shè)備模型的導(dǎo)出和外傳進(jìn)行加密控制,構(gòu)建了空間信息自動(dòng)加密解密系統(tǒng),從而提高了電網(wǎng)GIS的數(shù)據(jù)安全級(jí)別(見(jiàn)圖1)。

2、網(wǎng)絡(luò)架構(gòu)模型
系統(tǒng)的信息加密保護(hù)需要考慮B/S方式和C/S方式的訪問(wèn),并按圖2所示架構(gòu)實(shí)現(xiàn)數(shù)據(jù)的加密解密流轉(zhuǎn)和處理。

實(shí)現(xiàn)過(guò)程大致可以分為以下幾個(gè)步聚:
1)客戶端的建模工作站、網(wǎng)頁(yè)瀏覽工作站使用GPMS、GDPRS等系統(tǒng)訪問(wèn)相關(guān)GIS數(shù)據(jù)時(shí),會(huì)對(duì)Web應(yīng)用服務(wù)器先發(fā)出調(diào)用請(qǐng)求。
2) Web應(yīng)用服務(wù)器根據(jù)用戶的請(qǐng)求向已經(jīng)部署GIS地圖加密所在的數(shù)據(jù)服務(wù)器發(fā)出服務(wù)請(qǐng)求。對(duì)于讀取請(qǐng)求,加密系統(tǒng)會(huì)等待文件系統(tǒng)從磁盤(pán)中讀取加密后的數(shù)據(jù),后返回給用戶界面。
3)地圖服務(wù)器將已加密的GIS地圖數(shù)據(jù)信息返還給客戶端的建模工作站、網(wǎng)頁(yè)瀏覽器工作站??蛻舳藨{借建??蛻舳嘶騀lex客戶端的解密瀏覽技術(shù)對(duì)加密的GIS數(shù)據(jù)進(jìn)行授權(quán)、自動(dòng)解密瀏覽。
3、技術(shù)設(shè)計(jì)
(1)加密、解密技術(shù)
信息自動(dòng)加密解密的主要原理是采用文件系統(tǒng)過(guò)濾驅(qū)動(dòng)技術(shù),在操作系統(tǒng)驅(qū)動(dòng)層之間嵌入一個(gè)數(shù)據(jù)轉(zhuǎn)換中間層來(lái)完成數(shù)據(jù)的自動(dòng)加密和自動(dòng)解密。系統(tǒng)通過(guò)數(shù)據(jù)轉(zhuǎn)換層,在應(yīng)用程序?qū)懭胱x取數(shù)據(jù)時(shí),對(duì)涉密數(shù)據(jù)進(jìn)行動(dòng)態(tài)加密解密(見(jiàn)圖3)。

手動(dòng)加密的原理主要是根據(jù)文件大小生成隨機(jī)加密段,使用聯(lián)合加密算法對(duì)隨機(jī)段進(jìn)行加密,加密完成之后將隨機(jī)段的信息記錄到文件中。手動(dòng)解密原理就是上述流程的逆向過(guò)程。首先從文件中獲取隨機(jī)段內(nèi)容,然后使用解密算法進(jìn)行解密。解密完所有的隨機(jī)段后在文件中去掉隨機(jī)段位置信息,就得到了原始的文件信息。
(2)文件過(guò)濾驅(qū)動(dòng)技術(shù)
文件過(guò)濾驅(qū)動(dòng)是Windows中間層驅(qū)動(dòng)程序,處于文件系統(tǒng)之上,可以截取發(fā)往下層驅(qū)動(dòng)程序設(shè)備對(duì)象的請(qǐng)求。在本系統(tǒng)中,使用文件過(guò)濾驅(qū)動(dòng)技術(shù)截取發(fā)往下層設(shè)備的數(shù)據(jù)讀寫(xiě)請(qǐng)求,在寫(xiě)數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行加密,在讀取時(shí)進(jìn)行解密。
因?yàn)樵摷夹g(shù)是中間層驅(qū)動(dòng)程序,不涉及應(yīng)用層,所以數(shù)據(jù)操作人員感覺(jué)不到系統(tǒng)的存在,所有的工作都是在后臺(tái)自動(dòng)完成的。
(3)GIS瓦片數(shù)據(jù)加密應(yīng)用
瓦片GIS就是使用金字塔技術(shù)把一整張地圖切割成不同級(jí)別的圖片,首先按照一定的比例和大小,預(yù)生成規(guī)則的瓦片地圖存儲(chǔ)于硬盤(pán)目錄下,以鏈接圖片的方式快速定制。用戶訪問(wèn)瓦片GIS數(shù)據(jù),將先用到網(wǎng)格索引;如果服務(wù)器上Cache已經(jīng)有圖片,則直接顯示,如果沒(méi)有,則采用網(wǎng)格索引對(duì)數(shù)據(jù)范圍進(jìn)行計(jì)算,再?gòu)暮笈_(tái)取出需要加載的數(shù)據(jù)進(jìn)行顯示。采用金字塔技術(shù)可大大提高顯示效率,但是會(huì)增加存儲(chǔ)空間的占用。相對(duì)于傳統(tǒng)的WebGIS實(shí)時(shí)請(qǐng)求地圖服務(wù)的方式,可加快地圖的出圖速度。
GIS瓦片數(shù)據(jù)的加密,就是在對(duì)服務(wù)器進(jìn)行數(shù)據(jù)切割處理的同時(shí),對(duì)所有的瓦片數(shù)據(jù)進(jìn)行批量的加密,并保證數(shù)據(jù)在服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)傳輸和客戶端緩存存儲(chǔ)時(shí),都是以加密的形態(tài)進(jìn)行存儲(chǔ)的。只有最后用戶在客戶端使用解密瀏覽技術(shù)對(duì)瓦片數(shù)據(jù)進(jìn)行調(diào)用訪問(wèn)的時(shí)候,才會(huì)在內(nèi)存中進(jìn)行解密,并在用戶的客戶端瀏覽界面進(jìn)行展示。
(4)基于Flex的解密瀏覽技術(shù)
目前GPMS的Web地圖展現(xiàn)采用Flex解密瀏覽技術(shù)來(lái)實(shí)現(xiàn)。Flex是一個(gè)免費(fèi)的開(kāi)源框架,用于構(gòu)建交互性較高、表現(xiàn)力較強(qiáng)的Web應(yīng)用程序。使用Flex創(chuàng)建的RIA可運(yùn)行于支持Adobe Flash layer軟件的瀏覽器,并且支持所有的常用主流瀏覽器和桌面操作系統(tǒng)。Flex提供的相關(guān)對(duì)象可以靈活地和當(dāng)前網(wǎng)頁(yè)的JavaScript相互進(jìn)行調(diào)用,同樣也可以調(diào)用已有的Ajax功能。
為了實(shí)現(xiàn)基于Flex開(kāi)發(fā)的FlashGIS中加載加密的地圖瓦片,F(xiàn)lex將先把加密數(shù)據(jù)轉(zhuǎn)換成Base64格式的字符串,通過(guò)ActionScri-pt3.0調(diào)用來(lái)獲取解密后的Base64格式的字符串,解密后在系統(tǒng)客戶端即可正常顯示瓦片地圖數(shù)據(jù)。
考慮系統(tǒng)實(shí)現(xiàn)的效率,需采用Adobe Alchemy技術(shù)將C/C++帶入到Flash之中,由于函數(shù)在C/C++程序中運(yùn)行的效率明顯比在Flash內(nèi)部運(yùn)行的效率高,而AdobeAlchemy又為C/C++程序自動(dòng)生成一個(gè)ActionScript的接口文件,方便ActionScript程序進(jìn)行調(diào)用。使用Adobe Alchemy對(duì)C/C++編譯之后,會(huì)以SWC函數(shù)庫(kù)的形式生成,在空間效率上將會(huì)具有明顯優(yōu)勢(shì),從而提高瓦片數(shù)據(jù)瀏覽速度。
(5)多加密算法聯(lián)合加密技術(shù)
系統(tǒng)采用AES算法和自主研發(fā)設(shè)計(jì)的圓周率加密算法相結(jié)合的方式對(duì)數(shù)據(jù)進(jìn)行加密。AES加密算法是美國(guó)標(biāo)準(zhǔn)與技術(shù)研究院( NIST)制訂的高級(jí)加密標(biāo)準(zhǔn)。它基于排列和置換運(yùn)算,排列是對(duì)數(shù)據(jù)重新進(jìn)行安排,置換是將一個(gè)數(shù)據(jù)單元替換為另一個(gè)。AES使用幾種不同的方法來(lái)執(zhí)行排列和置換運(yùn)算。AES是一個(gè)迭代的、對(duì)稱(chēng)密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰加密使用密鑰對(duì)不同,對(duì)稱(chēng)密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過(guò)分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個(gè)循環(huán)結(jié)構(gòu),在該循環(huán)中重復(fù)置換和替換輸入數(shù)據(jù)。
AES加密算法在執(zhí)行過(guò)程中,對(duì)系統(tǒng)資源的需求比較大。系統(tǒng)如果全部采用AES加密算法進(jìn)行加密,將會(huì)對(duì)數(shù)據(jù)的讀寫(xiě)造成一定的延時(shí),給操作和使用帶來(lái)很大影響??紤]到效率的問(wèn)題,同時(shí)增加加密后數(shù)據(jù)的破解難度,系統(tǒng)將采用2種算法進(jìn)行聯(lián)合,即AES算法和圓周率加密算法。
圓周率加密算法是自主研發(fā)的加密算法。算法主要針對(duì)整數(shù)據(jù)段進(jìn)行設(shè)計(jì)。設(shè)計(jì)過(guò)程中引進(jìn)AES算法的先進(jìn)思想,主要基于置換運(yùn)算和位運(yùn)算。它在加密解密過(guò)程中對(duì)數(shù)據(jù)進(jìn)行不同方法的置換運(yùn)算和位運(yùn)算,以此來(lái)保證數(shù)據(jù)的安全。同時(shí)算法在效率方面做了大量的改進(jìn),引入?yún)^(qū)段關(guān)聯(lián)性選擇加密法,滿足了算法效率上的需求。
結(jié)合后的多算法聯(lián)合加密技術(shù)完全解決了數(shù)據(jù)實(shí)時(shí)需求的效率問(wèn)題,同時(shí)在安全性方面也得到了進(jìn)一步的提高。
(6)多級(jí)安全模型
多級(jí)安全模型最初起源手支持軍用系統(tǒng)和數(shù)據(jù)庫(kù)的安全保密,它可以是不同密級(jí)包含不同的信息。通常將密級(jí)由低到高分為秘密級(jí)、機(jī)密級(jí)和絕密級(jí),以確保每一密級(jí)的信息僅能讓那些具有高于或等于該級(jí)權(quán)限的人使用。
系統(tǒng)使用多級(jí)安全模型來(lái)實(shí)現(xiàn)權(quán)限的劃分和控制。對(duì)電力使用單位劃分群組,每個(gè)群組有不同級(jí)別權(quán)限,級(jí)別權(quán)限共有3個(gè):秘密級(jí)、機(jī)密級(jí)和絕密級(jí)。權(quán)限級(jí)別達(dá)不到數(shù)據(jù)屬性級(jí)別,則無(wú)法使用數(shù)據(jù)。在具體實(shí)現(xiàn)時(shí),是通過(guò)密鑰來(lái)進(jìn)行控制,不同級(jí)別的密鑰不同。高級(jí)別的群組擁有所有密級(jí)文件的密鑰,而低級(jí)別的群組只有本級(jí)別和更低級(jí)別的密鑰。
三、系統(tǒng)功能實(shí)現(xiàn)
1、地圖數(shù)據(jù)加密解密管理
局域網(wǎng)內(nèi)所有需保密的地圖數(shù)據(jù)都會(huì)被空間信息自動(dòng)加密解密系統(tǒng)在后臺(tái)進(jìn)行強(qiáng)制加密。操作人員在使用或?yàn)g覽這些文件時(shí),加密系統(tǒng)會(huì)自動(dòng)將其解密,并存入系統(tǒng)內(nèi)存中進(jìn)行展示。具體加解密的效果如圖4所示,其左半部分為加密狀態(tài)下的瓦片數(shù)據(jù)顯示畫(huà)面,右半部分為未加密狀態(tài)下的瓦片數(shù)據(jù)。

2、數(shù)據(jù)導(dǎo)出加密管理
提供可定制的加密軟件接口,對(duì)于福建電力現(xiàn)有GIS相關(guān)業(yè)務(wù)系統(tǒng)中的電子地圖及電網(wǎng)的導(dǎo)出數(shù)據(jù)進(jìn)行加密,防止因數(shù)據(jù)(包括地圖數(shù)據(jù)和電網(wǎng)業(yè)務(wù)數(shù)據(jù))導(dǎo)出造成的數(shù)據(jù)泄漏。
3、Web瀏覽控制
客戶端訪問(wèn)電力生產(chǎn)管理的相關(guān)系統(tǒng)時(shí),不需要下載任何形式的控件,只需要到服務(wù)器上同步下載文件加密密鑰,Web上的Flash即可自動(dòng)為客戶端完成瀏覽加密數(shù)據(jù)文件時(shí)的解密工作,所有解密的臨時(shí)文件都只保存在客戶端本地臨時(shí)緩存內(nèi)。
系統(tǒng)具有網(wǎng)絡(luò)監(jiān)測(cè)功能,如果客戶機(jī)脫離了福建電力局域網(wǎng)環(huán)境,客戶端系統(tǒng)將在30s之后監(jiān)測(cè)到,并通知解密組件關(guān)閉解密瀏覽功能,則客戶機(jī)上的所有加密文檔將不能正常瀏覽。當(dāng)客戶機(jī)重新接入福建電力局域網(wǎng)后,系統(tǒng)也將自動(dòng)監(jiān)測(cè)并恢復(fù)解密瀏覽功能。
4、終端管理
系統(tǒng)管理員可以通過(guò)控制中心服務(wù)端管理局域網(wǎng)內(nèi)的各臺(tái)計(jì)算機(jī),控制所有計(jì)算機(jī)的USB接口、剪貼功能以及打印功能,防止技術(shù)資料、文檔以紙質(zhì)的方式泄密。
5、數(shù)據(jù)解密管理
數(shù)據(jù)解密包含2部分,根據(jù)數(shù)據(jù)安全級(jí)別的不同,可自動(dòng)選擇控制臺(tái)的自動(dòng)解密和管理員的手動(dòng)解密2種方式進(jìn)行解密申請(qǐng)操作。
6、日志管理
系統(tǒng)具有日志管理功能,會(huì)記載文件被手工加解密的情況,自動(dòng)生成歷史記錄,歷史記錄保存在數(shù)據(jù)庫(kù)中。記錄是強(qiáng)制進(jìn)行的,便于事后進(jìn)行查閱。
測(cè)試結(jié)果表明,系統(tǒng)性能達(dá)到了既定的設(shè)計(jì)目標(biāo),實(shí)現(xiàn)了矢量地圖、影像地圖、電網(wǎng)分布圖等重要信息在電力系統(tǒng)內(nèi)的安全應(yīng)用。
系統(tǒng)經(jīng)過(guò)了在福建電力中的實(shí)踐應(yīng)用,證明可有效地杜絕地理信息和電網(wǎng)數(shù)據(jù)在電力系統(tǒng)內(nèi)因廣泛應(yīng)用而存在的重要保密數(shù)據(jù)泄密的隱患,輔助GIS在電力生產(chǎn)中的深入應(yīng)用。
信息加密技術(shù)成功地解決了電網(wǎng)數(shù)據(jù)在電力網(wǎng)中的傳播和數(shù)據(jù)保密不能外傳的矛盾,實(shí)現(xiàn)了地圖數(shù)據(jù)通過(guò)Web進(jìn)行安全展現(xiàn)。在系統(tǒng)后期的應(yīng)用推廣中,還需要繼續(xù)廣泛采納使用者的合理性建議,不斷改進(jìn)系統(tǒng)功能,優(yōu)化加解密算法,使得操作更加簡(jiǎn)便,推動(dòng)信息加密技術(shù)在電力信息化工作中的深入應(yīng)用。
小知識(shí)之GIS
GIS即地理信息系統(tǒng),它是一種特定的十分重要的空間信息系統(tǒng)。它是在計(jì)算機(jī)硬、軟件系統(tǒng)支持下,對(duì)整個(gè)或部分地球表層(包括大氣層)空間中的有關(guān)地理分布數(shù)據(jù)進(jìn)行采集、儲(chǔ)存、管理、運(yùn)算、分析、顯示和描述的技術(shù)系統(tǒng)。









