專利名稱:一種基于數(shù)字信封的矢量地圖數(shù)據(jù)安全傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明屬于地理信息安全領(lǐng)域,具體涉及一種基于數(shù)字信封技術(shù)進(jìn)行矢量地圖數(shù)據(jù)安全傳輸?shù)姆椒ā?br>
背景技術(shù):
在WebGIS和WebService應(yīng)用日益廣泛的今天,如何保證地圖數(shù)據(jù)能夠在網(wǎng)絡(luò)中安全傳輸是一個非常重要的問題。然而,目前,客戶端與服務(wù)器端之間的數(shù)據(jù)傳輸基本上都是以明文方式進(jìn)行,很容易被竊取。如果使用對稱加密算法,將明文加密為密文,雖然處理效率較高,但安全系數(shù)不高;如果使用非對稱算法進(jìn)行加解密,雖然可以提高安全性,但難以保證效率。為此,本專利申請擬結(jié)合二者的優(yōu)點,基于數(shù)字信封技術(shù)進(jìn)行矢量地圖數(shù)據(jù)的加解密處理,以實現(xiàn)兼顧安全與效率的一種矢量地圖數(shù)據(jù)的安全傳輸方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于:基于數(shù)字信封的原理,從網(wǎng)絡(luò)中發(fā)送的消息本身來控制數(shù)據(jù)安全性,提出其在ArcGIS Server中的運用方法,既提高了加密的效率,同時保證了數(shù)據(jù)的安全性,從而提高地理數(shù)據(jù)在網(wǎng)絡(luò)傳輸中的安全性和保密性。為實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案主要包括以下過程:
(一)服務(wù)器端加密過程
步驟11,提取坐標(biāo)信息和屬性信息:
獲取地圖對象M ,分別得到坐標(biāo)集合Coordinates和屬性信息集合Attributes:
A)對于點圖層,逐個讀取點要素的橫坐標(biāo)和縱坐標(biāo)坐標(biāo),坐標(biāo)之間用逗號分開,得到點圖層的坐標(biāo)集合PointCoordinates ;
B)對于線圖層,線與線之間用“I”隔開,線中所包括的每個點利用步驟A)的方法操作,得到線圖層的坐標(biāo)集合LineCoordinates ;
C)對于面圖層,面與面之間用“P”隔開,面中所包括的每個點利用步驟A)的方法操作,得到面圖層的坐標(biāo)集合PolygonCoordinates ;
D)逐行提取屬性表中的信息,列與列之間用逗號分開,行與行之間用分號分開;
步驟12,基于數(shù)字信封的技術(shù)進(jìn)行加密:
A)設(shè)置私鑰加密算法AES的對稱密鑰key,并對提取的點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes運用AES進(jìn)行加密得到加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息 AttributesMessage ;
B)設(shè)置私鑰PrivateKey提供給授權(quán)的客戶,并運用對應(yīng)的公鑰PublicKey對所述對稱密鑰key運用公鑰加密算法RSA進(jìn)行加密得到密鑰消息KeyMessage ;
步驟13, 定義服務(wù)器端向客戶端傳輸?shù)膬?nèi)容結(jié)構(gòu): 創(chuàng)建json對象,并分別加入點、線、面、屬性、密鑰消息五個變量,即:“point”、“polyline”、“polygon”、“attributes” “keymessage”,值分別對應(yīng)點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息AttributesMessage 和密鑰消息 KeyMessage ; 步驟14,在ArcGIS Server中注冊使用; (二)客戶端Silverlight解密過程 步驟21,訪問服務(wù)器,得到服務(wù)器端傳輸?shù)男畔? A)獲取用戶在瀏覽器中鍵入的服務(wù)請求,得到請求的服務(wù)名ServicesName; B)通過服務(wù)名ServicesName,定義訪問的URL; C)訪問定義的URL,得到服務(wù)器端返回的json格式的信息,取出加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息集合 AttributesMessage 和密鑰消息 KeyMessage ; 步驟22,對接收的信息進(jìn)行解密: A)運用被授權(quán)客戶所持有的私鑰PrivateKey,對密鑰消息KeyMessage進(jìn)行解密,得到私鑰加密算法AES的對稱密鑰key ; B)以對稱密鑰key為解密密鑰,對加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息集合AttributesMessage進(jìn)行解密,分別得點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes ; 步驟23,將解密的信息進(jìn)行還原: 將點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes按照步驟11的反操作還原為地圖M,,展示在客戶端,供客戶所使用。
上述方法,可在確保處理效率的前提下,有效實現(xiàn)矢量地圖數(shù)據(jù)的安全傳輸。
圖1是ArcGis Server端進(jìn)行SOE開發(fā)的數(shù)據(jù)加密和Silverlight端進(jìn)行數(shù)據(jù)解密還原的流程圖; 圖2是提取的數(shù)據(jù)進(jìn)行組織示意圖;(a)為提取點圖層坐標(biāo)的情況;(b)為提取線圖層的坐標(biāo)的情況;(C)為提取面圖層的坐標(biāo)的情況;(d)為提取屬性信息的情況; 圖3是服務(wù)器發(fā)送到客戶端的信息格式。
具體實施方式
本發(fā)明是一種數(shù)字信封技術(shù)在ArcGIS Server中的應(yīng)用方法,主要包括如下過程:(I)服務(wù)器端加密過程,首先,服務(wù)器端接收客戶端傳來的地圖服務(wù)請求,對地圖中的各個圖層的各個要素的坐標(biāo)進(jìn)行提取,同時提取屬性信息;其次,運用AES對提取的坐標(biāo)信息和屬性信息進(jìn)行加密得到加密后的坐標(biāo)信息和屬性信息;最后,運用RSA對AES的對稱密鑰進(jìn)行加密得到加密后的密鑰信息,然后將加密的坐標(biāo)信息、屬性信息和密鑰信息發(fā)送到客戶端;(2)客戶端Silverlight還原過程,客戶端首先對加密的密鑰信息運用RSA進(jìn)行解密,得到對稱密鑰;其次,運用AES對加密的坐標(biāo)消息和屬性信息進(jìn)行解密,得到坐標(biāo)信息和屬性信息,從而還原為地圖展示在客戶端。
本實施例選擇Shp格式矢量數(shù)據(jù),針對數(shù)據(jù)的提取、加密、還原的整個過程,進(jìn)一步詳細(xì)的說明本發(fā)明。本實例采取1:400萬省會城市點圖層。(本實例AES的對稱密鑰設(shè)為:mapservicecities, RSA的兩個大素數(shù)設(shè)為:37087,39703,服務(wù)器IP地址為:132.1.205.165。) (一)SOE開發(fā)(加密過程) 步驟11:提取坐標(biāo)信息和屬性信息; 獲取地圖對象M,逐個讀取地圖對象的圖層,確定要素對象類型為點要素。對于點圖層,逐個讀取點要素的X,I坐標(biāo),以‘,’分開,得到點圖層cities的坐標(biāo)集合PointCoordinates:-1338764.65416645,5350749.64327608,......,919574.486235719,2873684.84065234, 得到的屬性集合 Attributes:FID, Shape, name, id,:0,點,烏魯木齊,0,;......33,點,澳門,0,; 步驟12:基于數(shù)字信封的原理進(jìn)行加密; A)確定私鑰加密算法AES的對稱密鑰key為:mapservicecities; B)以key為對稱密鑰,對提取的坐標(biāo)信息PointCoordinates和屬性信息Attributes運用私鑰加密算法AES進(jìn)行加密得到加密的點坐標(biāo)信息集合PointMessage:0fc65bl2clefbdd205135395b7dl......3eec0f8241eb2a7ac9341e6652221dl9cfcb 以及屬性信息集合AttributesMessage:85b0dalda5dda06564e6da98dl1......a6f557c0c2e9e81bc5359fb5d673786dcf79 ; C)設(shè)置私鑰PrivateKey提供給授權(quán)的客戶,并運用對應(yīng)的公鑰PublicKey對key運用公鑰加密算法RSA進(jìn)行加密得到加密的密鑰消息KeyMessage: 442361611 423295870......709088561 709088561 步驟13:定義服務(wù)器端向客戶端傳輸?shù)膬?nèi)容結(jié)構(gòu); 倉丨J 建 json 對象,并分別加 A“point,,、“polyline,,、“polygon,,、“attributes,,、“ keymessage ”五個變量,值分別對應(yīng)點坐標(biāo)信息集合Po intMessage、線坐標(biāo)信息集合LineMessage (在此實例中為空)、面坐標(biāo)信息集合PolygonMessage (在此實例中為空)、屬性信息集合 AttributesMessage、密鑰消息 KeyMessage ; 步驟16:在ArcGIS Server中注冊使用; 將保存的cities, mxd文檔在ArcGIS Server中發(fā)布,服務(wù)地址為:http://132.1.205.165/ArcGIS/rest/services/cities/MapServer/exts/DEEN/DEENWebServices。
(二)Silverlight 開發(fā)(解密過程) 步驟21:訪問服務(wù)器,得到服務(wù)器端傳輸?shù)男畔ⅲ? A)獲取用戶輸入的請求,得到請求的服務(wù)名ServicesName-.cities ; B)通過服務(wù)名ServicesName,定義訪問的 URL:http://132.1.205.165/ArcGIS/rest/services/cities/MapServer/exts/DEEN/DEENffebServices mapservicesname=cities &f=json0
C )訪問URL,得到服務(wù)器端返回的j son格式的信息,取出加密的坐標(biāo)集合PointMessage:0fc65bl2clefbdd205135395b7dl......3eec0f8241eb2a7ac9341e6652221dl9cfcb LineMessage (在此實例中為空)、PolygonMessage (在此實例中為空)、 屬性信息集合AttributesMessage:85b0dalda5dda06564e6da98dl1......a6f557c0c2e9e81bc5359fb5d673786dcf79 密鑰消息 KeyMessage:442361611 423295870......709088561 709088561 步驟22:對接收的信息進(jìn)行解密; A)運用客戶持有的私鑰PrivateKey,對密鑰消息KeyMessage進(jìn)行解密,得到私鑰加密算法 AES 的對稱密鑰 key:mapservicecities ; B)以key為解密密鑰,對PointMessage進(jìn)行解密,分別得要點圖層的坐標(biāo)信息PointCoordinates:-1338764.65416645,5350749.64327608,......,919574.486235719,2873684.84065234,屬性信息 Attributes:FID, Shape, name, id,:0,點,烏魯木齊,0,;......33,點,澳門,0,; 步驟26:將解密的信息進(jìn)行還原; 將坐標(biāo)信息PointCoordinates和屬性信息Attributes按照步驟11的反操作還原為地圖M,,展示在客戶端,供客戶所使用。
本實例只針對SHP格式的點圖層數(shù)據(jù)進(jìn)行了實驗,對于SHP格式的線面圖層數(shù)據(jù)以及其他格式的矢量地圖數(shù)據(jù)同樣適用。
權(quán)利要求
1.一種基于數(shù)字信封的矢量地圖數(shù)據(jù)安全傳輸方法,包括如下步驟: (一)服務(wù)器端加密過程 步驟11,提取坐標(biāo)信息和屬性信息: 獲取地圖對象M ,分別得到坐標(biāo)集合Coordinates和屬性信息集合Attributes: A)對于點圖層,逐個讀取點要素的橫坐標(biāo)和縱坐標(biāo)坐標(biāo),坐標(biāo)之間用逗號分開,得到點圖層的坐標(biāo)集合Poi ntCoordinates ; B)對于線圖層,線與線之間用“I”隔開,線中所包括的每個點利用步驟A)的方法操作,得到線圖層的坐標(biāo)集合LineCoordinates ; C)對于面圖層,面與面之間用“P”隔開,面中所包括的每個點利用步驟A)的方法操作,得到面圖層的坐標(biāo)集合PolygonCoordinates ; D)逐行提取屬性表中的信息,列與列之間用逗號分開,行與行之間用分號分開; 步驟12,基于數(shù)字信封的技術(shù)進(jìn)行加密: A)設(shè)置私鑰加密算法AES的對稱密鑰key,并對提取的點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes運用AES進(jìn)行加密得到加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage和屬性信息 AttributesMessage ; B)設(shè)置私鑰PrivateKey提供給授權(quán)的客戶,并運用對應(yīng)的公鑰PublicKey對所述對稱密鑰key運用公鑰加密算法RSA進(jìn)行加密得到密鑰消息KeyMessage ; 步驟13,定義服務(wù)器端向客戶端傳輸?shù)膬?nèi)容結(jié)構(gòu): 創(chuàng)建json對象,并分別加入點、線、面、屬性和密鑰消息五個變量,變量值分別對應(yīng)所述點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息集合 AttributesMessage 和密鑰消息 KeyMessage ; 步驟14,在ArcGIS Server中注冊使用; (二)客戶端Silverlight解密過程 步驟21,訪問服務(wù)器,得到服務(wù)器端傳輸?shù)男畔? A)獲取用戶在瀏覽器中鍵入的服務(wù)請求,得到請求的服務(wù)名ServicesName; B)通過服務(wù)名ServicesName,定義訪問的URL; C)訪問定義的URL,得到服務(wù)器端返回的json格式的信息,取出加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage、屬性信息集合 AttributesMessage 和密鑰消息 KeyMessage ; 步驟22,對接收的信息進(jìn)行解密: A)運用被授權(quán)客戶所持有的私鑰PrivateKey,對密鑰消息KeyMessage進(jìn)行解密,得到私鑰加密算法AES的對稱密鑰key ; B)以對稱密鑰key為解密密鑰,對加密的點坐標(biāo)信息集合PointMessage、線坐標(biāo)信息集合LineMessage、面坐標(biāo)信息集合PolygonMessage和屬性信息集合AttributesMessage進(jìn)行解密,分別得點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes ; 步驟23,將解密的信息進(jìn)行還原:將點圖層的坐標(biāo)集合PointCoordinates、線圖層的坐標(biāo)集合LineCoordinates、面圖層的坐標(biāo)集合PolygonCoordinates和屬性信息集合Attributes按照步驟11的反操作還原為地圖M,,展示在客戶端,供客`戶所使用。
全文摘要
本發(fā)明公開了一種基于數(shù)字信封的矢量地圖數(shù)據(jù)安全傳輸方法,過程如下(1)服務(wù)器端加密過程,首先服務(wù)器端接收客戶端傳來的地圖服務(wù)請求,對地圖中的各個圖層的各個要素的坐標(biāo)進(jìn)行提取,同時提取屬性信息;其次運用AES對提取的坐標(biāo)信息和屬性信息進(jìn)行加密得到加密后的坐標(biāo)信息和屬性信息;最后運用RSA對AES的對稱密鑰進(jìn)行加密得到加密后的密鑰信息,然后將加密的坐標(biāo)信息等發(fā)送到客戶端;(2)客戶端還原過程,客戶端首先對加密的密鑰信息運用RSA進(jìn)行解密,得到對稱密鑰;其次運用AES對加密的坐標(biāo)消息和屬性信息進(jìn)行解密,得到坐標(biāo)信息和屬性信息,從而還原為地圖展示在客戶端。本發(fā)明在確保處理效率的前提下能有效實現(xiàn)矢量地圖數(shù)據(jù)的安全傳輸。
文檔編號H04L29/06GK103152339SQ20131006100
公開日2013年6月12日 申請日期2013年2月27日 優(yōu)先權(quán)日2013年2月27日
發(fā)明者李安波, 蔣偉, 吳雪榮, 吳賽松 申請人:南京師范大學(xué)