法律状态公告日
法律状态信息
法律状态
2017-11-10
未缴年费专利权终止 IPC(主分类):G06F21/60 授权公告日:20140423 终止日期:20160928 申请日:20110928
专利权的终止
2014-04-23
授权
授权
2012-07-18
实质审查的生效 IPC(主分类):G06F21/24 申请日:20110928
实质审查的生效
2012-06-20
公开
公开
技术领域
本发明属于地理信息安全领域,具体涉及一种基于几何精度弱化技术进行GIS矢量数据伪装与还原的方法。
背景技术
地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。特别是当今空间数据共享需求逐步扩大,地理信息服务应用不断拓展的情况下,地理信息的安全问题进一步突出。作为国家空间数据基础设施主要数据内容的GIS矢量数据,其信息安全研究更是至关重要。
目前,信息伪装已成为信息安全研究中除密码学之外的另一重要分支。国内外相关研究文献及专利检索结果分析表明,目前,在信息伪装的研究方面,所研究的载体数据类型主要包括图像、视频、遥感影像、DEM等。但是,矢量数据由于其具有无固定存储顺序的数据组织、多样的数据格式、强大的可视化表达手段、复杂的投影变换、繁多的空间分析应用,以及精度高、冗余少等诸多方面的特性,使得针对矢量数据的信息伪装研究具有一定的特殊性和较大难度。
发明内容
本发明的目的在于:基于要素属性信息进行要素几何精度弱化的思路,提出一种针对GIS矢量数据的伪装与还原方法,以有效提高GIS矢量数据在数据传输、脱密处理中的安全性。
为了实现上述目的,本发明所采取的技术方案如下:
基于要素几何精度弱化的GIS矢量数据伪装与还原方法,主要包括以下过程:
(1)伪装过程:
步骤一:打开一个GIS矢量数据图层文件,读取属性字段名称,设置处理用的数值型属性字段名称;设置8位二进制随机信息作为密钥Key,并存入密钥文件;
步骤二:判断图层类型,如果为点图层数据,则执行步骤三;如果为线面图层数据,则执行步骤四;
步骤三:
(a)分别读取一点要素的所指定属性信息和几何信息到数值型变量a和点对象Point中;
(b)基于如下公式(1),进行Point值的精度弱化:
Point.x=Point.x+1/f(a)
Point.y=Point.y+1/f(a) (1)
其中,函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;
步骤四:
(a)读取一个要素中所有点的几何数据到数组队列D中,其指定属性信息读取到数值型变量a中;
(b)针对数组队列D中的每一个点,基于如下公式(2),进行Point值的精度弱化:
Point.x=Point.x+1/f(a) *g(Key, Mod(i,8))
Point.y=Point.y+1/f(a) *g(Key, Mod(i,8)) (2)
其中,i为数组队列D中点的序号;Key为密钥;函数Mod()为取余函数;函数g()为基于点序号i值所确定的余数从密钥Key中取出相应位的取值,其值为0或1;函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;
步骤五:根据不同的图层类型,循环执行步骤三或步骤四,直至每一要素处理完毕后,保存伪装后的数据文件;
(2)还原过程:
步骤一:选择处理用属性字段名称,打开一个GIS矢量数据图层文件;读取密钥文件并设置密钥Key;
步骤二:判断图层类型,如果为点图层数据,则执行步骤三;如果为线面图层数据,则执行步骤四;
步骤三:
(a)分别读取一点要素的所指定属性信息和几何信息到数值型变量a和点对象Point中;
(b)基于如下公式(3),进行Point值的精度弱化:
Point.x=Point.x-1/f(a)
Point.y=Point.y-1/f(a) (3)
其中,函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;
步骤四:
(a)读取一个要素中所有点的几何数据到数组队列D中,其指定属性信息读取到数值型变量a中;
(b)针对数组队列D中的每一个点,基于如下公式(4),进行Point值的精度弱化:
Point.x=Point.x-1/f(a) *g(Key, Mod(i,8))
Point.y=Point.y-1/f(a) *g(Key, Mod(i,8)) (4)
其中,i为数组队列D中点的序号;Key为密钥;函数Mod()为取余函数;函数g()为基于点序号i值所确定的余数从密钥Key中取出相应的密钥位,其值为0或1;函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;
步骤五:根据不同的图层类型,循环执行步骤三或步骤四,直至每一要素处理完毕后,保存伪装后的数据文件。
本发明根据GIS矢量数据的数据组织特点,基于要素属性信息进行要素几何精度弱化的思路,提出了一种针对GIS矢量数据的伪装与还原方法,可以进行shp等格式数据的伪装与还原处理,一定程度上满足了GIS矢量数据的隐藏通信与安全传输需求。
附图说明
图1 是本发明实施例选取的实验数据。
图2 是本发明实施例的原始数据局部效果图。
图3 是本发明实施例的伪装数据局部效果图。
图4 是图3效果图的边缘局部放大图。
具体实施方式
下面结合附图和实施例做进一步详细说明。
本实例选择一典型的shp面图层数据,针对数据的读取、伪装处理、数据还原的整个过程,进一步详细说明本发明。本实施例选择全国1:400万的省界面状图层数据(如图1)作为实验数据。密钥Key值为“10010101”。选取AREA字段为处理用要素属性字段。
(1)数据伪装处理。
步骤一:打开省界图层数据文件,数据格式为面状数据,密钥Key值为“10010101”。
步骤二:判断图层类型,为面状图层数据,则执行如下步骤。
步骤三:
(a)读取第一个要素中的923点的几何数据到数组队列D中,其相应AREA字段的属性取值68.488655,读取到数值型变量a中。
(b)针对数组队列D中的每一个点,基于如下公式(2),进行Point值的精度弱化:
Point.x=Point.x+1/f(a) *g(Key, Mod(i,8))
Point.y=Point.y+1/f(a) *g(Key, Mod(i,8)) (2)
读取的第一个点为{121.49738309820822, 53.32104492451802},本实施例中,函数f(a)结果为计算变量a整数部分位数,即变量a整数部分位数即为要素属性级别。针对第一个点,f(68.488655)=2,经处理,第一个点的值为{121.99738309820822, 53.82104492451802}。
步骤四:循环步骤三,直至每一要素处理完毕后,保存伪装后的数据文件。
(2)数据还原处理。
步骤一:打开伪装处理后的省界图层数据文件,数据格式为面状数据。读取密钥文件,并设置密钥密钥Key,其值为“10010101”。选取AREA字段为处理用要素属性字段。
步骤二:判断图层类型,为面状图层数据,则执行如下步骤。
步骤三:
(a)读取第一个要素中的923点的几何数据到数组队列D中,其相应AREA字段的属性取值68.488655,读取到数值型变量a中。
(b)针对数组队列D中的每一个点,基于如下公式(4),进行Point值的精度弱化:
Point.x=Point.x-1/f(a) *g(Key, Mod(i,8))
Point.y=Point.y-1/f(a) *g(Key, Mod(i,8)) (4)
读取的第一个点为{121.99738309820822, 53.82104492451802},经处理,其值还原为{121.49738309820822, 53.32104492451802}。
步骤四:循环步骤三,直至每一要素处理完毕后,保存伪装后的数据文件。
本发明实施例中仅以面图层数据进行数据伪装与还原处理,该方法也可以适用于点、线类型图层数据。
本发明实施例中仅以shp格式的GIS矢量数据进行数据伪装与还原处理,该方法也适用于GML、E00、MIF等其它格式GIS矢量数据的数据伪装与还原处理。
本发明实施例中,函数f(a)为计算变量a整数部分位数,即变量a整数部分位数即为要素属性级别。也可以采用其它分级函数。
(3)测试分析。
由上述实施例中原始数据(图2)与伪装处理数据的效果图(图3、图4)可知:数据经伪装处理后,虽仍为可使用GIS软件正确打开的shp数据,但要素坐标点的位置发生了较大变化,对于数据精度质量要求较高的GIS矢量数据来说,这一处理显著降低了数据质量和数据使用价值,限制了非法拷贝或拦截数据的正常使用,达到一定的数据保护目的。只有合法用户获取到密钥文件,才能正确、无损地还原数据。
综上分析,本发明所采用的方法可以成功地应用于GIS矢量数据的伪装与还原处理,一定程度上满足GIS矢量数据的隐藏通信与安全传输需求。
机译: 信息处理设备,其控制方法以及计算机可读存储介质,其计算模型特征与测量数据特征之间的对应精度并基于该精度对图像中的几何模型和对象进行核对
机译: Alhagi pseudalhagi提取物,基于药物和化妆品的成分,血液胆固醇和甘油三酯还原的方法,脂质氧化物水平的控制,微循环的改进和抗氧化剂的特性,皮肤的改善,融合,刺激的形成
机译: 基于GIS的精度更高的数字地图修改装置