CN103065278B - 一种针对shp线面图层完整性的多级认证方法 - Google Patents
一种针对shp线面图层完整性的多级认证方法 Download PDFInfo
- Publication number
- CN103065278B CN103065278B CN201210566500.2A CN201210566500A CN103065278B CN 103065278 B CN103065278 B CN 103065278B CN 201210566500 A CN201210566500 A CN 201210566500A CN 103065278 B CN103065278 B CN 103065278B
- Authority
- CN
- China
- Prior art keywords
- data
- watermark
- classification
- watermark information
- integrated data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种针对shp线面图层完整性的多级认证方法,属于地理信息完整性认证领域。该方法包括两个过程:(1)水印生成与嵌入过程:参数设置,生成混沌序列,矢量数据分级,矢量数据分组,然后进行各分组数据的水印生成,分组数据水印嵌入;(2)水印的提取与检测过程:参数设置,生成混沌序列,矢量数据分级,矢量数据分组,然后提取各分组数据原始水印信息,获取各分组数据校验水印信息,将各分组数据Hi , j的原始水印信息与校验水印信息比对,基于比对结果,给出待认证数据的完整性等级。本发明通过数据分级认证和认证链技术,较好地克服了现有技术中的缺点,不但能对shp线面图层的完整性进行篡改定位,而且可以进一步确定篡改的等级和程度。
Description
技术领域
本发明属于地理信息完整性认证领域,具体涉及一种支持shp线面图层篡改定位和篡改程度识别的完整性多级认证技术。
背景技术
矢量数字地图具有精度高、无损缩放、易于存储、易于发布的优点。与此同时矢量数字地图也极容易被编辑篡改。因此很多情况下需要对矢量数字地图的完整性进行认证,即明确矢量数字地图是否遭到篡改。当前对矢量数字地图完整性认证主要采用的是数字签名技术和易碎水印技术。其中,数字签名技术虽可以很好的满足对矢量数字地图完整性进行认证的要求,但是存在不能进行篡改定位的缺点;专利《一种基于混沌映射的shp线面图层易碎水印技术》,申请号:201210142896.8;公开号:CN102663673A中虽克服了数字签名技术不能进行篡改定位的缺点,但是存在着只支持单级认证的不足。在当前地理数据安全分级管理的情况下,难以满足数据多级完整性认证的需求。
发明内容
本发明目的:针对GIS矢量数据的特点,基于数据分级与混沌映射技术,提出一种适用于shp线面图层完整性多级认证方法。
为了实现上述目的,本发明采取的技术方案:
一种针对shp线面图层完整性的多级认证方法,包括如下过程:
(一)水印生成与嵌入过程
步骤11:参数设置
设原始线面图层数据为R,用户设置数据分级阈值 、数据分组点个数M和混沌密钥,将设置的参数保存密钥文件KeyFile中;
步骤12:生成混沌序列
a)生成混沌序列:基于(1)式所示的Logistic方程、设置的参数,生成长度为M的混沌序列,
(1)
b)二值化混沌序列:根据公式(2)将序列量化得到一维二值混沌位置序列S,其中,,;
(2)
步骤13:矢量数据分级
对线面要素进行分级,根据用户设置的分级阈值,使用道格拉斯—普克算法,对R中每个线面要素基于(3)式进行分级,其中,d表示道格拉斯—普克算法中数据压缩的极差,经分级后,代表第i级数据集,简称数据集;
(3)
步骤14:矢量数据分组
对经过步骤13分级后的数据进一步进行分组处理,即对每级数据集按先后顺序进一步进行数据分组,每个分组数据中点个数为M,数据集分组结果为,其中,?count() /M?,count()表示中点个数,??表示向下取整;
步骤15:各分组数据水印生成
数据经过分级、分组处理后,进行各分组数据的水印生成,各分组数据的水印生成方法如下:分组数据与下一个分组数据组成水印生成链,其中,最后一组数据与第一组数据组成水印生成链,
a)特征值的计算
特征值计算选取的是长度因子,根据公式(4)计算和中每条线面要素的折线长度,表示分组数据的点坐标,
(4)
b)基于特征值的水印信息生成
①将Lj与Lj+1组成认证连Lˊ,,并采用MD5哈希函数对Lˊ进行加密,
②对加密结果进行进制转换,MD5哈希函数加密结果为32位十六进制序列,无论是内容上还是长度上都需进一步转化,根据转换后序列长度最接近M的原则,见(5)式,确定转换后的进制,其中,N表示转换后进制;
N= (5)
步骤16:分组数据水印嵌入
对步骤15生成水印信息,先按级别再按分组依次嵌入原始线面图层数据R中,各分组数据水印嵌入过程如下:
根据步骤12生成的位置混沌序列S,和公式(6)将水印嵌入点坐标中,嵌入后记为,表示嵌入前点坐标;表示嵌入后点坐标,表示水印序列第i位;
(6)
(二)水印的提取与检测过程
步骤21:参数设置
设待认证线面图层数据为H,读密钥文件KeyFile,获取相关参数设置;
步骤22:生成混沌序列
a)生成混沌序列:利用公式(1)的Logistic方程、获取的相关参数,生成长度为M的沌序列,
b)二值化混沌序列:根据公式(2)将序列量化得到一维二值混沌位置序列S,,;
步骤23:矢量数据分级
对线面要素进行分级,根据从KeyFile文件中读取的分级阈值,使用道格拉斯—普克算法,对H中每个线面要素进行分级,基于(3)式,经分级后,代表第i级数据集,简称数据集;
步骤24:矢量数据分组
对经过步骤23分级后的数据进一步进行分组处理,即对每级数据集按数据的先后顺序进行数据分组,每个分组数据中点个数为M,数据集Hi分组结果为,其中,?count(Hi) /M?,count(Hi)表示Hi中点个数,??表示向下取整;
步骤25:提取各分组数据原始水印信息
原始水印信息是先按级别再按分组依次提取的,各分组数据的原始水印信息具体方法如下:
a)根据步骤22生成混沌序列S,获取原始水印信息嵌入位置,
b)根据公式(7)从j组点坐标中提取原始水印信息,()表示j组中第r个点坐标,表示混沌序列S第r位;
(7)
步骤26:获取各分组数据校验水印信息
根据步骤15,先按级别再按分组依次生成各分组数据校验水印信息 ;
步骤27:各分组数据的原始水印信息与校验水印信息比对
数据的完整性认证方法是先按级别再按分组依次循环比对原始水印信息与校验水印信息是否一致,若原始水印信息与校验水印信息一致,则待认证数据完整;否则,待认证数据遭到篡改,各分组数据原始水印信息与校验水印信息比对方法如下:
依次比较分组数据提取的原始水印信息与获取的校验水印信息是否一致。若=,则分级数据集Hi中j组数据完整;若≠,且≠则分级数据集Hi遭到篡改,并对篡改进行定位于j+1组数据;
步骤28:数据完整性分级认证
基于步骤27的比对结果,依据(8)式给出待认证数据的完整性等级,A级表示数据未遭到篡改,完整性好,可信等级最高,B级表示数据遭到轻微篡改,完整性比A级差;C级表示数据遭到一般篡改,数据完整性比B级差;D级表示数据遭到严重篡改,数据完整性比C级差;E级表示数据遭到非常严重的篡改,数据完整性最差,可信等级最低。
(8)
本发明通过数据分级认证和认证链技术,较好地克服了现有技术中的缺点,不但能对shp线面图层的完整性进行篡改定位,而且可以进一步确定篡改的等级和程度。
附图说明
图1是本发明水印生成与嵌入流程图;
图2是本发明水印提取与检测流程图;
图3是本发明实施实例采用的实验数据;
图4是实施实例中原始数据与篡改数据的局部对比图,(a)图为原始数据局部截图,(b)图、(c)图、(d)图为篡改数据的检测结果局部截图。其中,(b)图中点表示遭到篡改的一级点、(c)图中点为遭到篡改的二级点、(d)图中点为遭到篡改的三级点。
具体实施方式
下面结合附图与实施实例,做进一步的详细说明。
本实例选择一shp线图层数据,针对数据分级、数据分组、水印生成与嵌入、水印提取与检测的整个过程(面图层与线图层的方法一致),进一步详细说明本发明。本实例选择南京市管线图层数据(如图3所示)作为实验数据。
(一)水印生成与嵌入流程(如图1)
步骤11:参数设置
数据被分为三级,分级阈值分别为1600、600。矢量数据每个数据组包含点个数M设置为100个。依据(5)式确定转换后的进制为三进制。Logistic混沌序列初值Q0设为0.31,混沌系数k设为3.92。并将设置的参数保存至密钥文件KeyFile中。
步骤12:生成混沌序列
a)基于(1)式Logistic方程、密钥[k,Q0]、M,生成长度为100的混沌序列。
b)基于(2)式将序列量化得到一个二值序列,。
步骤13:数据分级
针对原始线图层R进行分级,根据设定的分级阈值将R分为三级,得到。表示第i级数据集,简称数据集。本实施实例中,数据集共有1246个点,数据集中共有779个点,数据集中共有1379个点。
步骤14:数据分组
对经过步骤13分级后的数据集进一步进行分组处理,即对每个数据集Ri进行数据分组。令每个分组数据中点个数为M,得到,表示数据集第j组数据。本实施例中,分为12组,分为7组,分为13组。
步骤15:各分组数据水印生成
根据数据分级、数据分组情况先按级别再按分组生成水印信息。以数据集中各分组数据为例说明。
a) 数据集共有12组数据。根据公式(4)求出每组点列的折线长度,其中,
b) 。
b)将相邻两组折线长度与组成水印生成链G,最后一组与第一组组成水印生成链。。
c)采用MD5哈希函数对进行加密,并将加密结果转为三进制整数序列作为i组水印值。其中,第1组,第12组。
步骤16:各分组数据水印嵌入
先按级别再按分组完成水印的嵌入,各分组数据嵌入方法一致。以分组数据的水印嵌入为例。根据步骤12生成的位置序列S和公式(6)将该组对应的水印信息嵌入坐标中。
,表示水印嵌入前坐标;,表示水印嵌入后坐标。其中,根据位置序列S0=0取第1组第一个点的横坐标、第1组水印的第1位,嵌入后横坐标。
(二)水印提取与检测过程(如图2)
针对上述过程嵌入水印后的线图层数据,随机选取三条线要素进行了适当的点坐标移动编辑,得到受攻击后数据H,以下的水印提取和检测都针对该攻击后数据H进行。
步骤21:读取密钥文件KeyFile,获取相关参数。根据(1)式Logistic混沌方程、获取的密钥参数[k,Q0]、分组数据包含点个数M,生成位置序列S。其具体方法同所述过程(一)步骤12。
步骤22:根据分级阈值与所述过程(一)中步骤13的方法,将受攻击后地图数据H分为三级。得。表示第i级数据集,记为数据集。
步骤23:对分级后数据集进一步进行分组,各分组数据中包含点个数M。具体方法同所述过程(一)中步骤14。分为12组,分为7组,分为13组。
步骤24:原始水印信息的提取
先按级别再按分组依次提取各分组数据原始水印信息,其中,,,。各分组数据原始水印信息提取方法一致。以中各分组数据原始水印信息提取为例。
根据位置序列S,循环从数据集坐标中提取水印信息。此过程为嵌入的逆过程。其中第1组提取水印,第13组。具体方法为:
根据位置序列S,从各分组数据顶点坐标中提取水印,若则从横坐标提取水印否则从纵坐标提取水印。以第1组为例,提取。,读取第1组第一个点坐标横坐标。则第1组原始水印序列第1位为2。
步骤25:根据所述过程(一)步骤15,先按级别再按组循环生成各分组数据校验水印信息,其中,,,。其中,,。
步骤26:依次比较各级别下各分组数据提取原始水印信息与生成的校验水印信息。若=,则判定数据组j与数据组j+1未遭到篡改。若≠且 ≠,则j+1组数据遭到篡改。
例如:≠,≠说明第2级数据集中第6组数据遭到篡改。
步骤27:数据完整性认证。依据(8)式,数据遭到轻微篡改、数据完整等级为C。
(三)实验分析
由上述实例(图4)可知:实例表明该方案不但能对shp线面图层的完整性进行篡改定位,而且可以进一步确定篡改的等级和程度,较好满足了进行shp线面图层的完整性进行多级认证的需求。
本发明实施实例中仅以shp格式的线图层进行易碎水印的生成、嵌入、提取与检测过程。该方法也可以适用于shp格式的面图层数据。
Claims (1)
1.一种针对shp线面图层完整性的多级认证方法,包括如下过程:
(一)水印生成与嵌入过程
步骤11:参数设置
设原始线面图层数据为R,用户设置数据分级阈值D={Di|i=1,2,…,n}、数据分组点个数M和混沌密钥[k,Q0],将设置的参数保存密钥文件KeyFile中,其中n为自然数,表示数据分级的级数;
步骤12:生成混沌序列
a)生成混沌序列:基于(1)式所示的Logistic方程、设置的参数,生成长度为M的混沌序列,
b)二值化混沌序列:根据公式(2)将序列Qn量化得到一维二值混沌位置序列S,其中,Q={Qi|i=0,1,…,M-1},S={Si|i=0,1,…,M-1};
步骤13:矢量数据分级
对线面要素进行分级,根据用户设置的分级阈值,使用道格拉斯-普克算法,对R中每个线面要素基于(3)式进行分级,其中,d表示道格拉斯-普克算法中数据压缩的极差,经分级后R={Ri|i=1,2,...,n},Ri代表第i级数据集,简称数据集Ri;
步骤14:矢量数据分组
对经过步骤13分级后的数据进一步进行分组处理,即对每级数据集Ri按先后顺序进一步进行数据分组,每个分组数据中点个数为M,数据集Ri分组结果为Ri={Ri,j|j=1,2,...,h},其中,count(Ri)表示Ri中点个数,表示向下取整;
步骤15:各分组数据Ri,j水印生成
数据经过分级、分组处理后,进行各分组数据的水印生成,各分组数据Ri,j的水印生成方法如下:分组数据Ri,j与下一个分组数据Ri,j+1组成水印生成链,其中,最后一组数据与第一组数据组成水印生成链,
a)特征值的计算
特征值计算选取的是长度因子,根据公式(4)计算Ri,j和Ri,j+1中每条线要素的折线长度Li,j、Li,j+1,(x1,y1),(x2,y2),…,(xm,ym)表示分组数据Ri,j的点坐标,
b)基于特征值的水印信息生成
①将Lj与Lj+1组成认证连L′,L′=f(Li,j,Li,j+1),并采用MD5哈希函数对L′进行加密,
②对加密结果进行进制转换,根据转换后序列长度最接近M的原则,见(5)式,确定转换后的进制,其中,N表示转换后进制;
N=g(32,M) (5)
步骤16:分组数据Ri,j水印嵌入
对步骤15生成水印信息,先按级别再按分组依次嵌入原始线面图层数据R中,各分组数据Ri,j水印嵌入过程如下:
根据步骤12生成的位置混沌序列S,和公式(6)将水印Wi,j嵌入Ri,j点坐标中,嵌入后记为{(xi,yi)|i=0,1,…,M-1}表示嵌入前Ri,j点坐标;表示嵌入后Ri,j点坐标,w(i)表示水印Wi,j序列第i位;
(二)水印的提取与检测过程
步骤21:参数设置
设待认证线面图层数据为H,读密钥文件KeyFile,获取相关参数设置;
步骤22:生成混沌序列
a)生成混沌序列:利用公式(1)的Logistic方程、获取的相关参数,生成长度为M的混沌序列,
b)二值化混沌序列:根据公式(2)将序列Qn量化得到一维二值混沌位置序列S,Q={Qi|i=0,1,…,M-1},S={Si|i=0,1,…,M-1};
步骤23:矢量数据分级
对线面要素进行分级,根据从KeyFile文件中读取的分级阈值,使用道格拉斯-普克算法,对H中每个线面要素进行分级,基于(3)式,经分级后H={Hi|i=1,2,…,n},Hi代表第i级数据集,简称数据集Hi;
步骤24:矢量数据分组
对经过步骤23分级后的数据进一步进行分组处理,即对每级数据集Hi按数据的先后顺序进行数据分组,每个分组数据中点个数为M,数据集Hi分组结果为H={Hi|i=1,2,…,n},其中,count(Hi)表示Hi中点个数,表示向下取整;
步骤25:提取各分组数据Hi,j原始水印信息
原始水印信息Wi,j={(i,j)|i=1,2,…,n;j=1,2,…,h}是先按级别再按分组依次提取的,各分组数据Hi,j的原始水印信息具体方法如下:
a)根据步骤22生成混沌序列S,获取原始水印信息嵌入位置,
b)根据公式(7)从j组点坐标中提取原始水印信息Wi,j,(xr,yr)表示j组中第r个点坐标,Sr表示混沌序列S第r位;
步骤26:获取各分组数据Hi,j校验水印信息
根据步骤15,先按级别再按分组依次生成各分组数据Hi,j校验水印信息W′i,j={(i,j)|i=1,2,…,n;j=1,2,…,h};
步骤27:各分组数据Hi,j的原始水印信息与校验水印信息比对
比对方法如下:依次比较分组数据Hi,j提取的原始水印信息Wi,j与获取的校验水印信息W′i,j是否一致,若Wi,j=W′i,j,则分级数据集Hi中j组数据完整;若Wi,j≠W′i,j,且Wi,j+1≠W′i,j+1则分级数据集Hi遭到篡改,并对篡改进行定位于j+1组数据;
步骤28:数据完整性分级认证
基于步骤27的比对结果,给出待认证数据的完整性等级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566500.2A CN103065278B (zh) | 2012-12-24 | 2012-12-24 | 一种针对shp线面图层完整性的多级认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566500.2A CN103065278B (zh) | 2012-12-24 | 2012-12-24 | 一种针对shp线面图层完整性的多级认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103065278A CN103065278A (zh) | 2013-04-24 |
CN103065278B true CN103065278B (zh) | 2015-08-05 |
Family
ID=48107895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210566500.2A Expired - Fee Related CN103065278B (zh) | 2012-12-24 | 2012-12-24 | 一种针对shp线面图层完整性的多级认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103065278B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559678B (zh) * | 2013-10-30 | 2016-05-04 | 南京师范大学 | 一种shp线面图层数据的置乱与还原方法 |
CN104050622B (zh) * | 2014-06-02 | 2017-10-27 | 鲁东大学 | 基于三进制编码的彩色图像盲水印方法 |
CN104462886B (zh) * | 2014-11-28 | 2017-10-31 | 重庆市地理信息中心 | 一种基于矢量空间数据对象存储顺序的数字水印方法 |
CN104751065A (zh) * | 2015-03-09 | 2015-07-01 | 哈尔滨工程大学 | 一种基于地理信息产品文件的加密方法 |
CN105550971B (zh) * | 2015-12-15 | 2018-07-20 | 南京师范大学 | 一种基于距离比值调制的矢量地理数据密级标识方法 |
CN108053358A (zh) * | 2017-11-22 | 2018-05-18 | 明鉴方寸(北京)科技有限公司 | 一种水印图生成方法、装置以及存储设备 |
CN112308755A (zh) * | 2020-10-30 | 2021-02-02 | 平安普惠企业管理有限公司 | 基于Hybrid混合型App页面水印的图片检测方法、系统及装置 |
CN114647824B (zh) * | 2022-05-23 | 2022-09-23 | 南京信息工程大学 | 一种神经网络主动保护方法、系统、存储介质及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171561B2 (en) * | 2002-10-17 | 2007-01-30 | The United States Of America As Represented By The Secretary Of The Air Force | Method and apparatus for detecting and extracting fileprints |
CN102184244A (zh) * | 2011-05-18 | 2011-09-14 | 武汉大学 | 一种适合于polygon类型、高鲁棒的地理数据库水印方法 |
CN102663673A (zh) * | 2012-05-10 | 2012-09-12 | 南京师范大学 | 一种基于混沌映射的shp线面图层易碎水印技术 |
-
2012
- 2012-12-24 CN CN201210566500.2A patent/CN103065278B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171561B2 (en) * | 2002-10-17 | 2007-01-30 | The United States Of America As Represented By The Secretary Of The Air Force | Method and apparatus for detecting and extracting fileprints |
CN102184244A (zh) * | 2011-05-18 | 2011-09-14 | 武汉大学 | 一种适合于polygon类型、高鲁棒的地理数据库水印方法 |
CN102663673A (zh) * | 2012-05-10 | 2012-09-12 | 南京师范大学 | 一种基于混沌映射的shp线面图层易碎水印技术 |
Non-Patent Citations (1)
Title |
---|
"空间数据文件的实时版权保护";李安波等;《地球信息科学学报》;20090228;第11卷(第1期);第18-23页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103065278A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103065278B (zh) | 一种针对shp线面图层完整性的多级认证方法 | |
CN103761702B (zh) | 一种基于秘密共享的图像隐藏和认证方法 | |
CN104835499B (zh) | 基于时‑频域趋势变化的密文语音感知哈希及检索方案 | |
CN101458810A (zh) | 一种基于对象属性特征的矢量地图水印方法 | |
CN101246586B (zh) | 一种基于曲线分割的矢量地图水印方法 | |
CN107590394B (zh) | 一种基于混沌映射和比特重组的图像加密方法 | |
CN104537600A (zh) | 一种对图像进行二次加密、解密方法以及水印信息篡改区域定位方法 | |
CN104636764B (zh) | 一种图像隐写分析方法以及其装置 | |
CN104063731A (zh) | 一种采用数字水印技术的二维码防伪印刷及验证方法 | |
CN101692288A (zh) | 基于nurbs表示的cad模型的数字水印嵌入及检测方法 | |
CN105488434A (zh) | 一种基于标记的矢量地图完整性认证方法 | |
CN101938618B (zh) | 一种通用的视频数字水印方法 | |
CN103377457B (zh) | 一种矢量地理数据精确认证脆弱水印方法 | |
CN103325082A (zh) | 一种基于lsd平面的矢量地图可逆信息隐藏方法 | |
CN103986721A (zh) | 一种面向ip语音的最低有效位隐写方法 | |
CN101639828B (zh) | 一种基于xml电子文档的水印隐藏和提取方法 | |
Abubahia et al. | A clustering approach for protecting GIS vector data | |
CN102800041A (zh) | 一种数字矢量地图完整性保护方法 | |
CN103236265B (zh) | 一种针对MP3Stegz的隐写检测方法 | |
Neyman et al. | Reversible fragile watermarking based on difference expansion using manhattan distances for 2d vector map | |
CN103377455A (zh) | 一种面向版权保护服务的三维地理模型数字水印方法 | |
CN108876693A (zh) | 一种基于角度差分的矢量地理空间数据数字水印方法 | |
CN109981246A (zh) | 一种字符串的加密方法和解密方法 | |
CN102663673B (zh) | 一种基于混沌映射的shp线面图层易碎水印方法 | |
CN101504758A (zh) | 基于dct算法数字图像水印嵌入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150805 Termination date: 20171224 |
|
CF01 | Termination of patent right due to non-payment of annual fee |