一种基于数字信封的矢量地图数据安全传输方法

文档序号:7552730阅读:169来源:国知局
专利名称:一种基于数字信封的矢量地图数据安全传输方法
技术领域
本发明属于地理信息安全领域,具体涉及一种基于数字信封技术进行矢量地图数据安全传输的方法。
背景技术
在WebGIS和WebService应用日益广泛的今天,如何保证地图数据能够在网络中安全传输是一个非常重要的问题。然而,目前,客户端与服务器端之间的数据传输基本上都是以明文方式进行,很容易被窃取。如果使用对称加密算法,将明文加密为密文,虽然处理效率较高,但安全系数不高;如果使用非对称算法进行加解密,虽然可以提高安全性,但难以保证效率。为此,本专利申请拟结合二者的优点,基于数字信封技术进行矢量地图数据的加解密处理,以实现兼顾安全与效率的一种矢量地图数据的安全传输方法。

发明内容
本发明的目的在于:基于数字信封的原理,从网络中发送的消息本身来控制数据安全性,提出其在ArcGIS Server中的运用方法,既提高了加密的效率,同时保证了数据的安全性,从而提高地理数据在网络传输中的安全性和保密性。为实现上述目的,本发明采取的技术方案主要包括以下过程:
(一)服务器端加密过程
步骤11,提取坐标信息和属性信息:
获取地图对象M ,分别得到坐标集合Coordinates和属性信息集合Attributes:
A)对于点图层,逐个读取点要素的横坐标和纵坐标坐标,坐标之间用逗号分开,得到点图层的坐标集合PointCoordinates ;
B)对于线图层,线与线之间用“I”隔开,线中所包括的每个点利用步骤A)的方法操作,得到线图层的坐标集合LineCoordinates ;
C)对于面图层,面与面之间用“P”隔开,面中所包括的每个点利用步骤A)的方法操作,得到面图层的坐标集合PolygonCoordinates ;
D)逐行提取属性表中的信息,列与列之间用逗号分开,行与行之间用分号分开;
步骤12,基于数字信封的技术进行加密:
A)设置私钥加密算法AES的对称密钥key,并对提取的点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes运用AES进行加密得到加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息 AttributesMessage ;
B)设置私钥PrivateKey提供给授权的客户,并运用对应的公钥PublicKey对所述对称密钥key运用公钥加密算法RSA进行加密得到密钥消息KeyMessage ;
步骤13, 定义服务器端向客户端传输的内容结构: 创建json对象,并分别加入点、线、面、属性、密钥消息五个变量,即:“point”、“polyline”、“polygon”、“attributes” “keymessage”,值分别对应点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息AttributesMessage 和密钥消息 KeyMessage ; 步骤14,在ArcGIS Server中注册使用; (二)客户端Silverlight解密过程 步骤21,访问服务器,得到服务器端传输的信息: A)获取用户在浏览器中键入的服务请求,得到请求的服务名ServicesName; B)通过服务名ServicesName,定义访问的URL; C)访问定义的URL,得到服务器端返回的json格式的信息,取出加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息集合 AttributesMessage 和密钥消息 KeyMessage ; 步骤22,对接收的信息进行解密: A)运用被授权客户所持有的私钥PrivateKey,对密钥消息KeyMessage进行解密,得到私钥加密算法AES的对称密钥key ; B)以对称密钥key为解密密钥,对加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息集合AttributesMessage进行解密,分别得点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes ; 步骤23,将解密的信息进行还原: 将点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes按照步骤11的反操作还原为地图M,,展示在客户端,供客户所使用。
上述方法,可在确保处理效率的前提下,有效实现矢量地图数据的安全传输。


图1是ArcGis Server端进行SOE开发的数据加密和Silverlight端进行数据解密还原的流程图; 图2是提取的数据进行组织示意图;(a)为提取点图层坐标的情况;(b)为提取线图层的坐标的情况;(C)为提取面图层的坐标的情况;(d)为提取属性信息的情况; 图3是服务器发送到客户端的信息格式。
具体实施方式
本发明是一种数字信封技术在ArcGIS Server中的应用方法,主要包括如下过程:(I)服务器端加密过程,首先,服务器端接收客户端传来的地图服务请求,对地图中的各个图层的各个要素的坐标进行提取,同时提取属性信息;其次,运用AES对提取的坐标信息和属性信息进行加密得到加密后的坐标信息和属性信息;最后,运用RSA对AES的对称密钥进行加密得到加密后的密钥信息,然后将加密的坐标信息、属性信息和密钥信息发送到客户端;(2)客户端Silverlight还原过程,客户端首先对加密的密钥信息运用RSA进行解密,得到对称密钥;其次,运用AES对加密的坐标消息和属性信息进行解密,得到坐标信息和属性信息,从而还原为地图展示在客户端。
本实施例选择Shp格式矢量数据,针对数据的提取、加密、还原的整个过程,进一步详细的说明本发明。本实例采取1:400万省会城市点图层。(本实例AES的对称密钥设为:mapservicecities, RSA的两个大素数设为:37087,39703,服务器IP地址为:132.1.205.165。) (一)SOE开发(加密过程) 步骤11:提取坐标信息和属性信息; 获取地图对象M,逐个读取地图对象的图层,确定要素对象类型为点要素。对于点图层,逐个读取点要素的X,I坐标,以‘,’分开,得到点图层cities的坐标集合PointCoordinates:-1338764.65416645,5350749.64327608,......,919574.486235719,2873684.84065234, 得到的属性集合 Attributes:FID, Shape, name, id,:0,点,乌鲁木齐,0,;......33,点,澳门,0,; 步骤12:基于数字信封的原理进行加密; A)确定私钥加密算法AES的对称密钥key为:mapservicecities; B)以key为对称密钥,对提取的坐标信息PointCoordinates和属性信息Attributes运用私钥加密算法AES进行加密得到加密的点坐标信息集合PointMessage:0fc65bl2clefbdd205135395b7dl......3eec0f8241eb2a7ac9341e6652221dl9cfcb 以及属性信息集合AttributesMessage:85b0dalda5dda06564e6da98dl1......a6f557c0c2e9e81bc5359fb5d673786dcf79 ; C)设置私钥PrivateKey提供给授权的客户,并运用对应的公钥PublicKey对key运用公钥加密算法RSA进行加密得到加密的密钥消息KeyMessage: 442361611 423295870......709088561 709088561 步骤13:定义服务器端向客户端传输的内容结构; 仓丨J 建 json 对象,并分别加 A“point,,、“polyline,,、“polygon,,、“attributes,,、“ keymessage ”五个变量,值分别对应点坐标信息集合Po intMessage、线坐标信息集合LineMessage (在此实例中为空)、面坐标信息集合PolygonMessage (在此实例中为空)、属性信息集合 AttributesMessage、密钥消息 KeyMessage ; 步骤16:在ArcGIS Server中注册使用; 将保存的cities, mxd文档在ArcGIS Server中发布,服务地址为:http://132.1.205.165/ArcGIS/rest/services/cities/MapServer/exts/DEEN/DEENWebServices。
(二)Silverlight 开发(解密过程) 步骤21:访问服务器,得到服务器端传输的信息; A)获取用户输入的请求,得到请求的服务名ServicesName-.cities ; B)通过服务名ServicesName,定义访问的 URL:http://132.1.205.165/ArcGIS/rest/services/cities/MapServer/exts/DEEN/DEENffebServices mapservicesname=cities &f=json0
C )访问URL,得到服务器端返回的j son格式的信息,取出加密的坐标集合PointMessage:0fc65bl2clefbdd205135395b7dl......3eec0f8241eb2a7ac9341e6652221dl9cfcb LineMessage (在此实例中为空)、PolygonMessage (在此实例中为空)、 属性信息集合AttributesMessage:85b0dalda5dda06564e6da98dl1......a6f557c0c2e9e81bc5359fb5d673786dcf79 密钥消息 KeyMessage:442361611 423295870......709088561 709088561 步骤22:对接收的信息进行解密; A)运用客户持有的私钥PrivateKey,对密钥消息KeyMessage进行解密,得到私钥加密算法 AES 的对称密钥 key:mapservicecities ; B)以key为解密密钥,对PointMessage进行解密,分别得要点图层的坐标信息PointCoordinates:-1338764.65416645,5350749.64327608,......,919574.486235719,2873684.84065234,属性信息 Attributes:FID, Shape, name, id,:0,点,乌鲁木齐,0,;......33,点,澳门,0,; 步骤26:将解密的信息进行还原; 将坐标信息PointCoordinates和属性信息Attributes按照步骤11的反操作还原为地图M,,展示在客户端,供客户所使用。
本实例只针对SHP格式的点图层数据进行了实验,对于SHP格式的线面图层数据以及其他格式的矢量地图数据同样适用。
权利要求
1.一种基于数字信封的矢量地图数据安全传输方法,包括如下步骤: (一)服务器端加密过程 步骤11,提取坐标信息和属性信息: 获取地图对象M ,分别得到坐标集合Coordinates和属性信息集合Attributes: A)对于点图层,逐个读取点要素的横坐标和纵坐标坐标,坐标之间用逗号分开,得到点图层的坐标集合Poi ntCoordinates ; B)对于线图层,线与线之间用“I”隔开,线中所包括的每个点利用步骤A)的方法操作,得到线图层的坐标集合LineCoordinates ; C)对于面图层,面与面之间用“P”隔开,面中所包括的每个点利用步骤A)的方法操作,得到面图层的坐标集合PolygonCoordinates ; D)逐行提取属性表中的信息,列与列之间用逗号分开,行与行之间用分号分开; 步骤12,基于数字信封的技术进行加密: A)设置私钥加密算法AES的对称密钥key,并对提取的点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes运用AES进行加密得到加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage和属性信息 AttributesMessage ; B)设置私钥PrivateKey提供给授权的客户,并运用对应的公钥PublicKey对所述对称密钥key运用公钥加密算法RSA进行加密得到密钥消息KeyMessage ; 步骤13,定义服务器端向客户端传输的内容结构: 创建json对象,并分别加入点、线、面、属性和密钥消息五个变量,变量值分别对应所述点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息集合 AttributesMessage 和密钥消息 KeyMessage ; 步骤14,在ArcGIS Server中注册使用; (二)客户端Silverlight解密过程 步骤21,访问服务器,得到服务器端传输的信息: A)获取用户在浏览器中键入的服务请求,得到请求的服务名ServicesName; B)通过服务名ServicesName,定义访问的URL; C)访问定义的URL,得到服务器端返回的json格式的信息,取出加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage、属性信息集合 AttributesMessage 和密钥消息 KeyMessage ; 步骤22,对接收的信息进行解密: A)运用被授权客户所持有的私钥PrivateKey,对密钥消息KeyMessage进行解密,得到私钥加密算法AES的对称密钥key ; B)以对称密钥key为解密密钥,对加密的点坐标信息集合PointMessage、线坐标信息集合LineMessage、面坐标信息集合PolygonMessage和属性信息集合AttributesMessage进行解密,分别得点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes ; 步骤23,将解密的信息进行还原:将点图层的坐标集合PointCoordinates、线图层的坐标集合LineCoordinates、面图层的坐标集合PolygonCoordinates和属性信息集合Attributes按照步骤11的反操作还原为地图M,,展示在客户端,供客`户所使用。
全文摘要
本发明公开了一种基于数字信封的矢量地图数据安全传输方法,过程如下(1)服务器端加密过程,首先服务器端接收客户端传来的地图服务请求,对地图中的各个图层的各个要素的坐标进行提取,同时提取属性信息;其次运用AES对提取的坐标信息和属性信息进行加密得到加密后的坐标信息和属性信息;最后运用RSA对AES的对称密钥进行加密得到加密后的密钥信息,然后将加密的坐标信息等发送到客户端;(2)客户端还原过程,客户端首先对加密的密钥信息运用RSA进行解密,得到对称密钥;其次运用AES对加密的坐标消息和属性信息进行解密,得到坐标信息和属性信息,从而还原为地图展示在客户端。本发明在确保处理效率的前提下能有效实现矢量地图数据的安全传输。
文档编号H04L29/06GK103152339SQ20131006100
公开日2013年6月12日 申请日期2013年2月27日 优先权日2013年2月27日
发明者李安波, 蒋伟, 吴雪荣, 吴赛松 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1