基于误差随机干扰的gis矢量数据伪装与还原方法

文档序号:7911142阅读:306来源:国知局
专利名称:基于误差随机干扰的gis矢量数据伪装与还原方法
技术领域
本发明属于地理信息安全领域,具体涉及一种基于误差随机干扰技术进行GIS矢量数据伪装与还原的方法。
背景技术
地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。特别是当今空间数据共享需求逐步扩大,地理信息服务应用不断拓展的情况下,地理信息的安全问题进一步突出。作为国家空间数据基础设施主要数据内容的GIS矢量数据,其信息安全研究更是至关重要。目前,信息伪装已成为信息安全研究中除密码学之外的另一重要分支。国内外相关研究文献及专利检索结果分析表明,目前,在信息伪装的研究方面,所研究的载体数据类型主要包括图像、视频、遥感影像、DEM等。但是,矢量数据由于其具有无固定存储顺序的数据组织、多样的数据格式、强大的可视化表达手段、复杂的投影变换、繁多的空间分析应用,以及精度高、冗余少等诸多方面的特性,使得针对矢量数据的信息伪装研究具有一定的特殊性和较大难度。

发明内容
本发明的目的在于基于误差随机干扰技术,提出一种针对GIS矢量数据的伪装与还原方法,以有效提高GIS矢量数据在数据传输、脱密处理中的安全性。为了实现上述目的,本发明所采取的技术方案主要包括以下过程
(1)伪装过程
步骤一打开一个Gis矢量数据图层文件,判断图层类型并计算横坐标数据中小数点后的位数N,设置8位二进制随机信息做为密钥Key,并存入密钥文件; 步骤二 数据读取及分组
(a)如果为线面类型数据,则每次读取一个要素中的所有点的横坐标,计算点的个数m, 并按照,分为L组,组织到数组队列D中;
(b)如果为点类型数据,则读取该文件中的所有点要素,计算点的个数m,并将相关点要素的横坐标按照£=l /8j ,分为L组,组织到数组队列D中;
步骤三针对数组队列D中的每个分组Di,进行数据的误差干扰处理,具体方法为
(a)取该分组Di中第一个数据Dil的小数点前第一位的值d;
(b)如果0<d<(N-I),则将该分组中相应密钥信息位为1的各数据,进行小数点后的第 d位与第d+Ι位数据交换;
步骤四循环步骤二至三,直至每一要素处理完毕后,保存伪装后的数据文件;
(2)还原过程
步骤一打开一 GIS矢量数据图层文件,判断图层类型并计算横坐标数据中小数点后的位数N,读取密钥文件并设置密钥Key ; 步骤二 数据分组读取
(a)如果为线面类型数据,则每次读取一个要素中的所有点坐标数据的横坐标,计算其个数m,并按照£ = [_m/8j,分为L组,组织到数组队列D中;
(b)如果为点类型数据,则读取该文件中的所有点要素,计算点的个数m,并将相关点要素的横坐标按照,分为L组,组织到数组队列D中;
步骤三针对每一坐标分组Di,进行数据的还原处理,具体方法为
(a)取该分组Di中第一个数据Dil的小数点前第一位的值d;
(b)如果0<d<(N-I),则将该分组中相应密钥信息位为1的各数据,进行小数点后的第 d位与第d+Ι位数据交换;
步骤四循环步骤二至三,直至每一要素处理完毕后,保存还原后的数据文件。本发明根据GIS矢量数据的数据组织特点,基于误差随机干扰原理,提出了一种针对GIS矢量数据的伪装与还原方法,可以进行shp格式数据的伪装与还原处理,一定程度上满足了 GIS矢量数据的隐藏通信与安全传输需求。


图1为本发明实施例选取的实验数据。图2是本发明方法的数据伪装流程图。图3是本发明方法的数据还原流程图。图4是本发明实施例中原始数据局部效果图。图5是本发明实施例中伪装数据局部效果图。
具体实施例方式下面结合附图和实施例做进一步详细说明。本实例选择一典型的shp面图层数据,针对数据的读取、伪装处理、数据还原的整个过程,进一步详细说明本发明。本实施例选择全国1 :400万的省界面状图层数据(如图1) 作为实验数据。密钥Key值为“10010101”。(1)数据伪装处理。步骤一打开省界图层数据文件,数据格式为面状数据,横坐标小数点后的数据位数为14,密钥密钥Key值为“10010101”。步骤二 依次读取每一要素的空间数据,计算当前处理要素中坐标点的个数m并判断进行分组处理。所读取第一个要素的坐标点个数为923。因为m>2n,按照£=[m/8j,分为56组。 将每组数据写入数组d后并添加入数组队列D中。步骤三对数组队列D中的每一数组Di,进行数据的误差干扰处理。本实施例中, 第一个数组D1中第一个数据为121. 49738309820822,其小数点前第一位的值d为1,符合 0<d< (N-I)条件,则将该分组中相应密钥信息位为1的第1、4、6、8等四个数据,进行小数点后的第1位与第2位数据交换。
步骤四循环步骤二至三,直至每一要素处理完毕后,保存伪装后的数据文件。(2)数据还原处理。步骤一打开伪装处理后的省界图层数据文件,数据格式为面状数据。读取密钥文件,并设置密钥密钥Key,其值为“ 10010101”。步骤二 依次读取每一要素的空间数据,计算当前处理要素中坐标点的个数m并判断进行分组处理。所读取第一个要素的坐标点个数为923。因为m>2n,按照£ =[_m/8j,分为56组。 将每组数据写入数组d后并添加入数组队列D中。步骤三对数组队列D中的每一数组Di,进行数据的误差干扰处理。本实施例中, 第一个数组D1中第一个数据小数点前第一位的值d为1,符合0<d< (N-I)条件,则将该分组中相应密钥信息位为1的第1、4、6、8等四个数据,进行小数点后的第1位与第2位数据交换。步骤四循环步骤二至三,直至每一要素处理完毕后,保存还原后的数据文件。本发明实施例中仅以shp格式面图层数据的横坐标进行数据伪装与还原处理,该方法也可以适用于使用该数据的纵坐标进行数据伪装与还原处理。本发明实施例中仅以面图层数据进行数据伪装与还原处理,该方法也可以适用于点、线类型图层数据。本发明实施例中仅以shp格式的GIS矢量数据进行数据伪装与还原处理,该方法也适用于GML、E00、MIF等其它格式GIS矢量数据的数据伪装与还原处理。(3)测试分析。由上述实施例中原始数据与伪装处理数据的效果图(图4、图5)可知数据经伪装处理后,虽仍为可使用GIS软件正确打开的shp数据,但每个坐标点的位置发生了较大变化,对于数据精度质量要求较高的GIS矢量数据来说,这一处理显著降低了数据质量和数据使用价值,限制了非法拷贝或拦截数据的正常使用,达到一定的数据保护目的。只有合法用户获取到密钥文件,才能正确、无损地还原数据。综上分析,本发明所采用的方法可以成功地应用于GIS矢量数据的伪装与还原处理,一定程度上满足GIS矢量数据的隐藏通信与安全传输需求。
权利要求
1.基于误差随机干扰的Gis矢量数据伪装与还原方法,包括以下过程(1)伪装过程步骤一打开一个Gis矢量数据图层文件,判断图层类型并计算横坐标数据中小数点后的位数N,设置8位二进制随机信息做为密钥Key,并存入密钥文件; 步骤二 数据读取及分组如果为线面类型数据,则每次读取一个要素中的所有点的横坐标,计算点的个数m,并按照£=|_m/8j ,分为L组,组织到数组队列D中;如果为点类型数据,则读取该文件中的所有点要素,计算点的个数m,并将相关点要素的横坐标按照丄=Lh^8J,分为L组,组织到数组队列D中;步骤三针对数组队列D中的每个分组Di,进行数据的误差干扰处理,具体方法为 取该分组Di中第一个数据Dil的小数点前第一位的值d ;如果0<d< (N-I),则将该分组中相应密钥信息位为1的各数据,进行小数点后的第d位与第d+Ι位数据交换;步骤四循环步骤二至三,直至每一要素处理完毕后,保存伪装后的数据文件;(2)还原过程步骤一打开一 GIS矢量数据图层文件,判断图层类型并计算横坐标数据中小数点后的位数N,读取密钥文件并设置密钥Key ; 步骤二 数据分组读取如果为线面类型数据,则每次读取一个要素中的所有点坐标数据的横坐标,计算其个数m,并按照£ = [m/8j,分为L组,组织到数组队列D中;如果为点类型数据,则读取该文件中的所有点要素,计算点的个数m,并将相关点要素的横坐标按照£=L /8J ,分为L组,组织到数组队列D中;步骤三针对每一坐标分组Di,进行数据的还原处理,具体方法为 取该分组Di中第一个数据Dil的小数点前第一位的值d ;如果0<d< (N-I),则将该分组中相应密钥信息位为1的各数据,进行小数点后的第d位与第d+Ι位数据交换;步骤四循环步骤二至三,直至每一要素处理完毕后,保存还原后的数据文件。
全文摘要
本发明公开了一种基于误差随机干扰的GIS矢量数据伪装与还原方法,属于地理信息安全领域。本方法的数据伪装处理步骤主要包括(1)打开一个GIS矢量数据图层文件,判断图层类型并计算横坐标数据中小数点后的位数N,设置8位二进制随机信息做为密钥Key,并存入密钥文件;(2)数据读取及分组;(3)针对数组队列D中的每个分组Di,进行数据的误差干扰处理;(4)循环步骤(2)(3),直至每一要素处理完毕后,保存伪装后的数据文件。本发明的方法能有效提高GIS矢量数据在数据传输、脱密处理中的安全性,可应用于GIS矢量数据的隐藏通信与安全传输。
文档编号H04L9/08GK102332079SQ20111027434
公开日2012年1月25日 申请日期2011年9月16日 优先权日2011年9月16日
发明者周卫, 李安波, 闾国年 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1