发明名称 一种GIS矢量数据线面图层版权认证方法
摘要 本发明公开了一种GIS矢量数据线面图层版权认证方法,包括版权标记生成过程以及版权标记提取和认证过程。本发明主要针对GIS矢量数据中地理要素走向特征稳定和不易遭受攻击的特点,以及零水印利用原始作品的重要特征来构造原始水印信号,而不是修改这些特征的优势,通过地理要素走向特征构建用于GIS矢量数据版权认证的零水印,较好地解决了GIS矢量数据水印的不可感知性和鲁棒性之间的矛盾。本发明的版权认证方法能有效抵抗数据编辑、数据裁剪、几何变换等多种攻击,具有较高的鲁棒性,且不会对数据质量造成任何影响。
申请公布号 CN103810407A 申请公布日期 2014.05.21
申请号 CN201410063386.0 申请日期 2014.02.20
申请人 南京师范大学 发明人 李安波;闾国年
分类号 G06F21/16(2013.01)I 主分类号 G06F21/16(2013.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 1.一种GIS矢量数据线面图层版权认证方法,具体包括如下步骤:(一)版权标记生成过程步骤一:打开一GIS矢量数据线图层文件或者面图层文件;步骤二:设置方位角分组个数,记为N,为确保整除,N需选择360的公约数,则将0-360这一方位角空间划分为s={(360*i/N,360*(i+1)/N]|i=0,1,…,N}的N个区间;步骤三:设置一长度为N的整型数组Angle,数组元素初值赋为0,用于存贮要素走向分布在每个区间内的要素个数;步骤四:进行要素走向计算:如果是线图层,则依次读取每一要素的首节点和尾节点,分别记为P1(x<sub>1</sub>,y<sub>1</sub>)、P2(x<sub>2</sub>,y<sub>2</sub>);如果是面图层,则依次读取每一要素的首节点和中间节点,分别记为P1(x<sub>1</sub>,y<sub>1</sub>)、P2(x<sub>2</sub>,y<sub>2</sub>);然后,依据下式(1)和(2)计算P1(x<sub>1</sub>,y<sub>1</sub>)和P2(x<sub>2</sub>,y<sub>2</sub>)这两点所成线段与X正轴间逆时针方向的夹角a,a∈(0,360];<maths num="0001"><![CDATA[<math><mrow><mi>&theta;</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>arctan</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub></mrow><mrow><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub></mrow></mfrac><mo>)</mo></mrow></mtd><mtd><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>></mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>arctan</mi><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub></mrow><mrow><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub></mrow></mfrac><mo>)</mo><mo>+</mo><mi>&pi;</mi></mtd><mtd><mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&lt;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>arctan</mi><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub></mrow><mrow><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub></mrow></mfrac><mo>)</mo><mo>-</mo><mi>&pi;</mi></mtd><mtd><mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&lt;</mo><mn>0</mn><mo>,</mo><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&lt;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mo>+</mo><mfrac><mi>&pi;</mi><mn>2</mn></mfrac></mtd><mtd><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo><mo>></mo><mn>0</mn><mo>,</mo><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo><mo>=</mo></mrow><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mi>&pi;</mi><mn>2</mn></mfrac></mtd><mtd><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo><mo>&lt;</mo><mn>0</mn><mo>,</mo><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo><mo>=</mo></mrow><mn>0</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>a</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><mn>180</mn><mo>*</mo><mi>&theta;</mi></mrow><mi>&pi;</mi></mfrac></mtd><mtd><mi>&theta;</mi><mo>&Element;</mo><mo>(</mo><mn>0</mn><mo>,</mo><mi>&pi;</mi><mo>]</mo></mtd></mtr><mtr><mtd><mfrac><mrow><mn>180</mn><mo>*</mo><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow></mrow><mi>&pi;</mi></mfrac></mtd><mtd><mi>&theta;</mi><mo>&Element;</mo><mo>(</mo><mo>-</mo><mi>&pi;</mi><mo>,</mo><mn>0</mn><mo>]</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤五:针对每一要素走向,即夹角a,循环执行:根据公式(3)计算夹角a所在区间的序数k,k∈[1,N],并设置Angle[k]的值;<img file="FDA0000467689430000013.GIF" wi="1192" he="229" />步骤六:遍历数组Angle,查找到其中的最大取值Max,并将Max的位数记为m;步骤七:依次读取数组Angle中每个元素的取值,并通过在左边补“0”统一处理为m位;步骤八:将N个m位的数字,按在数组Angle中的序数依次排列在一起,形成特征认证信息Wr;步骤九:在特征认证信息Wr前面加上8位当前日期字符串后,根据用户设置密钥信息Key,基于RSA加密算法对认证信息W进行加密,生成带时间戳的版权标识加密信息We;信息We、密钥信息Key、位数m及方位角分组个数N需存档,以备版权认证使用;(二)版权标记提取和认证过程步骤一:当发现可疑产品时,提供We信息、密钥信息Key、位数m、方位角分组个数N和可疑GIS矢量数据文件用于版权认证;步骤二:根据方位角分组个数N,按照前述版权标记生成过程中步骤一至步骤五,计算数组Angle中各元素取值;步骤三:根据密钥信息Key,对存档的版权标识加密信息We进行解密,生成8位时间戳信息和特征认证信息Wr;步骤四:根据位数w,将特征认证信息Wr还原到数组OriginAngle中;步骤五:循环执行以下操作N次:(a)根据下式(4)计算数组Angle和数组OriginAngle的距离;<maths num="0003"><![CDATA[<math><mrow><mi>D</mi><mo>=</mo><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><mi>Angle</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>-</mo><mi>OriginAngle</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>(b)按下式(5)将数组Angle中的各元素循环右移一位,即:<maths num="0004"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>Angle</mi><mo>[</mo><mn>0</mn><mo>]</mo><mo>=</mo><mi>angle</mi><mo>[</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>]</mo></mtd></mtr><mtr><mtd><mi>Angle</mi><mo>[</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>]</mo><mo>=</mo><mi>Angle</mi><mo>[</mo><mi>i</mi><mo>]</mo><mrow><mo>(</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>(c)根据公式(4),重新计算Angle和数组OriginAngle中各元素的距离D;步骤六:求取多次计算结果D的最小值,并根据D取最小值时的数组Angle和数组OriginAngle,依据公式(6)计算相似度S;<maths num="0005"><![CDATA[<math><mrow><mi>S</mi><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>Angle</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>&times;</mo><mi>OriginAngle</mi><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msqrt><mi>Angle</mi><msup><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mn>2</mn></msup></msqrt><mo>&times;</mo><msqrt><mi>OriginAngle</mi><msup><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mn>2</mn></msup></msqrt></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤七:t为用户指定阈值,如果S&gt;=t,则证明可疑产品为侵权作品;否则,则不是侵权作品。
地址 210046 江苏省南京市亚东新城区文苑路1号