CN102831570B - 可在浏览器上定位篡改位置的网页水印生成与认证方法 - Google Patents

可在浏览器上定位篡改位置的网页水印生成与认证方法 Download PDF

Info

Publication number
CN102831570B
CN102831570B CN201210297582.5A CN201210297582A CN102831570B CN 102831570 B CN102831570 B CN 102831570B CN 201210297582 A CN201210297582 A CN 201210297582A CN 102831570 B CN102831570 B CN 102831570B
Authority
CN
China
Prior art keywords
text block
watermark
browser
block
character
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
Application number
CN201210297582.5A
Other languages
English (en)
Other versions
CN102831570A (zh
Inventor
陈帆
张玉梅
和红杰
翟东海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Jiaotong University
Original Assignee
Southwest Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN201210297582.5A priority Critical patent/CN102831570B/zh
Publication of CN102831570A publication Critical patent/CN102831570A/zh
Application granted granted Critical
Publication of CN102831570B publication Critical patent/CN102831570B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种可在浏览器上定位篡改位置的网页水印生成与认证方法,它结合浏览器显示的字符块对网页源代码分块,使子块含有浏览器显示字符,然后提取各子块的非标签部分和标签中的属性值部分,生成12比特水印信息,采用颜色属性方法随机嵌入另一子块中,检测时通过比较子块提取水印与其重构水印的一致性,判定子块篡改与否。最后在检测出篡改块的标签中,用标示属性替换其所有属性,块内所有在浏览器上的显示字符都用提示信息替换。该方法能在网页的部分内容被篡改时,保持Web服务不中断,未篡改的信息继续得到利用,且能及时阻止错误信息的传播,降低网页篡改对企事业单位的信誉和业务造成负面影响和损失。

Description

可在浏览器上定位篡改位置的网页水印生成与认证方法
技术领域
本发明涉及一种可在浏览器上定位篡改位置的网页水印生成与认证方法。
背景技术
随着网络与多媒体技术迅速发展,信息隐藏技术已成为信息安全的重要组成部分。目前,针对图像、音频、视频等数字媒体的信息隐藏已有很多研究成果,而网页信息隐藏技术的研究相对较少。据国家互联网应急中心(CNCERT)统计,2011年12月中国大陆地区被篡改网站数量为2016个,其中被篡改政府网站数量为163个。政府和企业网站网页被篡改的事件频繁发生,严重影响了政府形象和企事业单位正常业务的进展。网页脆弱水印作为一种有效保护网页内容真实性和完整性的方法,具有重要的研究意义和广泛的应用前景。
为实时检测网页的真实性,Zhao等人提出基于PCA (Principal ComponentsAnalysis)的网页水印算法(Q.Zhao,H.Lu.PCA-based web page watermarking,Pattern Recognition,2007(4),40:1334-1341.),该算法对网页整体信息进行主成分分析生成水印,并采用改变标签大小写的方式将水印信息嵌入网页,通过检测提取的水印信息与网页重构水印的一致性判断网页是否被篡改,从而实现了网页完整性和真实性的保护,不过,由于PCA运算的复杂度高,算法的时间消耗过大。为提高算法的时间效率,Sun等人对其进行改进(Peng Sun,Hongtao Lu.Twoefficient fragile web page watermarking schemes[C].5th International Conference onInformation Assurance and Security,IAS 2009:326-329.),Sun的算法只提取网页中非标签部分和标签中双引号中的内容,分别采用SPCA(Simple PrincipalComponents Analysis)简单主成分分析法和RP(Random Projections)随机映射方法生成水印信息,降低了水印生成过程的运算复杂度。上述两种算法仅能检测网页是否被篡改,而不能定位网页被篡改的位置。为定位网页被篡改的位置,Zhang等人提出了基于HASH函数的网页水印算法(Zulin Zhang,Hong Peng,XianzhongLong.A Fragile Watermarking Scheme Based On Hash Function for Web Pages[C],2011 International Conference on Network Computing and Information Security(NCIS),Guilin,China,2011:417-420.),该算法将每行原代码字符与每个显示在浏览器上的单词通过HASH加密生成6比特水印信息,采用标签大小写与不可见字符相结合的方法嵌入水印,因而该算法能够检测并定位网页源代码中被篡改的字符,但是该算法不能在浏览器上定位标示篡改位置。
网页脆弱水印技术走向实际应用要考虑的另一个问题是:当网页水印算法检测到网页被篡改时,系统如何响应。薛辉等人(薛辉,邓军,叶柏龙,一种分布式网站安全防护系统,计算机系统应用,2012,21(3))指出了,系统将删除被篡改网页,停止Web服务,调用备份恢复子系统恢复网页。不过,从发现网页篡改到网页恢复之前,系统对用户请求的响应方式可能有两种:(1)停止整个网站的Web服务,即用户请求网页有篡改的网站时得不到任何响应信息,网页中很多未被篡改的信息也不能传递给用户,大大降低了网站的信息传输效率和实时交互性,可能会对企事业单位的信誉和业务造成严重的负面影响和损失。(2)继续网站的Web服务,已判定为篡改的网页响应用户的请求时,即使算法能精确定位被篡改网页的源代码位置,但在调用备份网页恢复前,网页中已被篡改的信息仍然会继续传播,同样会对企事业单位的信誉和业务造成严重的负面影响和损失。
发明内容
本发明的目的是提供一种可在浏览器上定位篡改位置的网页水印生成与认证方法,该方法能在网页的部分内容被篡改时,保持网站的Web服务不中断,使未篡改的网页信息继续得到有效利用,且又能及时有效阻止错误信息的传播,最大可能地降低网页篡改对企事业单位的信誉和业务造成负面影响和损失。
本发明解决其技术问题,所采用的技术方案为:一种可在浏览器上定位篡改位置的网页水印生成与认证方法,包括如下步骤:
A、网页分块
将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将原始网页源文件F分为首尾相连的M个文本块Fi,即F={Fi|i=1,2,…,M};Fi={fr|r=di+1,di+2,...,di+si},其中,fr表示原始网页源文件F中的第r个字符,N为原始网页源文件F包含的字符数,Fi表示第i个文本块,M为原始网页源文件F包含的文本块个数,si为文本块Fi包含的字符数,di为文本块Fi首字符前驱的位置,即di=di-1+si-1
B、水印生成与嵌入
B1、预处理:
找出文本块Fi(i=1,2,..M-1)中末字符对应的尾标签Ti,如尾标签Ti中存在颜色属性:style=”XXXX:#Ci,lCi,2Ci,3Ci,4Ci,5Ci,6”,将其颜色属性中的RGB分量低位Ci,2Ci,4Ci,6置0;否则,在文本块Fi中的</Ti>代码前加入子元素“<spanstyle=″color:#000000″>&zwj;</span>”;其中“&zwj;”为在浏览器中不显示的字符,span标签用于组合并格式化文档中的行内元素,得到预处理文本块Fi p,但对最后一个文本块FM不操作;
B2、水印生成:
将预处理文本块Fi p(i=1,2,..M-1)的非标签部分及标签中的属性值部分构成文本块Fi的核心代码串hi,利用密钥k1和Hash函数生成核心代码串hi的160比特摘要信息Xi={xi,1,xi,2,...,xi,160},Xi=Hash(hi,k1),(i=1,2,…,M-1);
然后,将摘要信息Xi乘以矩阵R生成基于文本块Fi内容的12比特水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,..M-1);
Wi=(Xi·R)mod 2,(i=1,2,…,M-1)
其中,R为利用密钥k1生成的大小为160×12的二值伪随机矩阵,·为矩阵点乘运算,mod为模运算;
B3、水印嵌入:
利用密钥k2置乱长度为M-1的一维顺序数组(1,2,3,...,M-1)生成文本块嵌入位置数组P={pi|i=1,2,...,M-1}。
令j=Pi,将基于文本块Fi内容生成的水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,…,M-1)嵌入到预处理文本块Fj p生成含水印文本块fj w;水印嵌入是通过修改预处理文本块Fj p的尾标签Tj的属性style=”XXXX:#Cj,1Cj,2Cj,3Cj,4Cj,5Cj,6”实现的,具体如下:
C j , 2 = w i , 1 &times; 2 3 + w i , 2 &times; 2 2 + w i , 3 &times; 2 + w i , 4 C j , 4 = w i , 5 &times; 2 3 + w i , 6 &times; 2 2 + w i , 7 &times; 2 + w i , 8 C j , 6 = w i , 9 &times; 2 3 + w i , 10 &times; 2 2 + w i , 11 &times; 2 + w i , 12
对最后一个文本块FM,令FM w=FM,则所有含水印文本块Fi w(i=1,2,…,M)依序首尾相连即得到含水印的网页源文件Fw={Fi w|i=1,2,…,M};
C、水印提取与检测
按步骤A将待检测网页源文件FT分为首尾相连的M个待检测文本块Fi t F T = { F i t | i = 1,2 , . . . , M } ;
C1、水印提取:对待检测文本块根据其尾标签的颜色属性style=”XXXX:#Ci,1 tCi,2 tCi,3 tCi,4 tCi,5 tCi,6 t”,提取嵌入在待检测文本块中的水印信息 E i t = { e i , z t | z = 1,2 , . . . , 12 } ,
C2、水印重构:将待检测文本块的尾标签的颜色属性值Ci,2 t,Ci,4 t,Ci,6 t置0,得到预处理后的待测文本块
再对预处理后的待测文本块利用密钥k1进行步骤B2的水印生成操作,重构出基于待检测文本块中非标签部分及标签中的属性值部分生成12比特水印信息
C3、篡改判断:利用密钥k2,按步骤B3生成文本块嵌入位置数组P={pi|i=1,2,...,M-1};
令j=pi,将第i个待检测文本块重构的12比特水印与从第j个待检测文本块提取的12比特水印信息进行比较,如果相同,则判定待检测的文本块未被篡改,不进行D步骤的操作;否则,判定待检测的文本块被篡改,进行D步骤的操作;
D、篡改定位与标示
D1、篡改定位:对判定为篡改的文本块其篡改位置为其起始到终止字符中的任意水印生成字符,即块中非标签部分和标签中的属性值部分;
D2、浏览器的标示:用设定的标示属性替换判定为篡改的文本块中尾标签的所有属性,以在浏览器上突出显示篡改块;并用提示信息覆盖判定为篡改的文本块中所有在浏览器上显示的字符。
与现有技术相比,本发明的有益效果是:
一、及时高效阻止网页篡改信息传播:当检测出网页被篡改后,网页中被篡改文本块在浏览器上显示的信息将被提示信息替换,且通过设定的标示属性,如添加背景颜色,标示框等在浏览器上突出显示被篡改的区域。及时有效地阻止了错误信息的传播,降低了因网页篡改传播的错误信息对企事业单位的信誉和业务造成的负面影响和损失。
二、保持网站的Web服务不中断:当检测出网页被篡改后,网页中被篡改文本块在浏览器上显示的信息被提示信息替换,篡改区域被标示,而未篡改的网页信息在被请求时继续正常响应并显示,网站的Web服务不中断;避免了因网页篡改停止网站的服务,不能传播正常信息而带来的损失和影响。因此本发明最大限度地提高了网页的利用率,降低了对企事业单位的信誉和业务造成负面影响和损失。
三、高定位精度:本发明基于浏览器显示的字符块将网页源文件分块,因而在篡改定位时,定位单位为浏览器显示的最小信息单元,定位精度高。既更有利于管理员对篡改事件的追踪调查,同时使得被屏蔽阻止的篡改信息的信息量最小,进一步提高了网页的利用率。
四、定位复杂度低、定位信息相对完整:浏览器显示的文本块信息一般相对独立,一块信息一般为含有一定意义的字符串。将完整标签中浏览器显示字符作为整体进行篡改定位,使篡改定位在浏览器上的是相对独立的块信息,而非单个无意义字符。因此需要的水印量少,定位复杂度低,网页增量较少,对网页传输速度影响小,且定位信息相对完整。
五、水印嵌入和认证效率高:分块后采用颜色属性方法嵌入水印信息,子块水印容量与水印量相同,嵌入前不需要判断水印容量充分与否。因而,降低了算法的复杂度,提高了水印嵌入和认证效率。
上述步骤A中将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将网页源文件F分为首尾相连的M个文本块Fi的具体作法是:述步骤A中将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将网页源文件F分为首尾相连的M个文本块Fi的具体作法是:
第一个分块:
逐个扫描原始网页源文件F的代码,直到出现浏览器显示代码;然后倒回查找其所在标签T1的标签起始符,直到原始网页源文件F的第一个字符f1,再向前查找到标签T1的结束符,标签T1的结束符的最后一个字符位置记为s1,则第一个文本块F1={fr|r=d1+1,d1+2,...,d1+s1}={fr|r=1,2,...,s1};
第二个以上的分块Fi(i=2,3,..,M):
第i个文本块Fi的开始扫描位置为di+1,从位置di+1开始扫描,若查找到浏览器显示代码,则进行以下回查及分块操作;若扫描到网页源文件F的最后一个位置N仍未查找到浏览器上显示的字符,则从文本块Fi的开始扫描位置di+1起至最后一个位置N为止的所有字符,分为最后一文本块Fi={fr|r=di+1,di+2,...,N};
回查及分块:倒回查找浏览器显示代码所在标签Ti的标签起始符,若找到Ti的标签起始符,则再向前查找到标签Ti的结束符,标签Ti的结束符的最后一个字符位置记为di+si,得到第i个文本块Fi={fr|r=di+1,di+2,...,di+si};
若回查及分块时,一直回查到文本块Fi的第一个字符所在位置di+1,仍未找到标签Ti的起始符,则继续向前查找出下一处浏览器的显示字符,然后重复以上的回查及分块操作。
这样,在分块过程中先查找出浏览器显示的字符对应的代码,再查找出该代码所在标签的起始符和结束符,可以确保分块定位显示时各子块都含有相应的字符。
下面结合附图和具体实施方式对本发明作进一步地详细说明。
附图说明
图1(a)为一测试网页源文件的部分源代码;
图1(b)为用本发明实施例方法对图1(a)的源代码进行分块得到的文本块示意图,图1(b)中每个矩形框中的字符串均为一个文本块。
图2(a)与图2(b)分别为本发明实施例方法对百度首页与有道首页分块后,在浏览器上显示的分块示意图。
图3(a)与图3(b)分别为本发明实施例方法在图2(a)对应的百度首页源代码上嵌入水印前后,在浏览器上的显示效果对比。
图4(a)为对图3(b)的嵌入水印后的百度首页源代码进行字符篡改后的源代码,即在原始网页代码作如下篡改:将“加入百度推广”改为“加入公司推广”。
图4(b)为图4(a)的源代码在浏览器上的显示图。
图4(c)为采用本发明方法对图4(a)的源代码进行水印检测与定位标示后的网页源代码。
图4(d)为图4(c)的源代码在浏览器上的显示图。
图5(a)为对图3(b)的嵌入水印后的百度首页源代码进行块间字符替换篡改后的网页源代码,即在原始网页代码上改动如下:将字符“加入百度推广”与“搜索风云榜”调换位置。
图5(b)为图5(a)的源代码在浏览器上的显示图。
图5(c)为采用本发明方法对图5(a)的源代码进行水印检测与定位标示后的网页源代码。
图5(d)为图5(c)的源代码在浏览器上的显示图。
具体实施方式
实施例
本发明的一种具体实施方式是,一种可在浏览器上定位篡改位置的网页水印生成与认证方法,包括如下步骤:
A、网页分块
将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将原始网页源文件F分为首尾相连的M个文本块Fi,即F={Fi|i=1,2,…,M};Fi={fr|r=di+1,di+2,...,di+si},其中,fr表示原始网页源文件F中的第r个字符,N为原始网页源文件F包含的字符数,Fi表示第i个文本块,M为原始网页源文件F包含的文本块个数,si为文本块Fi包含的字符数,di为文本块Fi首字符前驱的位置,即di=di-1+si-1
B、水印生成与嵌入
B1、预处理:
找出文本块Fi(i=1,2,..M-1)中末字符对应的尾标签Ti,如尾标签Ti中存在颜色属性:style=”XXXX:#Ci,1Ci,2Ci,3Ci,4Ci,5Ci,6”,将其颜色属性中的RGB分量低位Ci,2Ci,4Ci,6置0;否则,在文本块Fi中的</Ti>代码前加入子元素“<spanstyle=″color:#000000″>&zwj;</span>”;其中“&zwj;”为在浏览器中不显示的字符,span标签用于组合并格式化文档中的行内元素,得到预处理文本块Fi p,但对最后一个文本块FM不操作;
B2、水印生成:
将预处理文本块Fi p(i 1,2,..M-1)的非标签部分及标签中的属性值部分构成文本块Fi的核心代码串hi,利用密钥k1和Hash函数生成核心代码串hi的160比特摘要信息Xi={xi,1,xi,2,...,xi,160};
Xi=Hash(hi,k1),(i=1,2,…,M-1)
然后,将摘要信息Xi乘以矩阵R生成基于文本块Fi内容的12比特水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,..M-1);
Wi=(Xi·R)mod 2,(i=1,2,…,M-1)
其中,R为利用密钥k1生成的大小为160×12的二值伪随机矩阵,·为矩阵点乘运算,mod为模运算。
B3、水印嵌入:
利用密钥k2置乱长度为M-1的一维顺序数组(1,2,3,...,M-1)生成文本块嵌入位置数组P={pi|i=1,2,...,M-1};
令j=Pi,将基于文本块Fi内容生成的水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,…,M-1)嵌入到预处理文本块Fj p生成含水印文本块Fj w;水印嵌入是通过修改预处理文本块Fj p的尾标签Tj的属性style=”XXXX:#Cj,1Cj,2Cj,3Cj,4Cj,5Cj,6”实现的,具体如下:
C j , 2 = w i , 1 &times; 2 3 + w i , 2 &times; 2 2 + w i , 3 &times; 2 + w i , 4 C j , 4 = w i , 5 &times; 2 3 + w i , 6 &times; 2 2 + w i , 7 &times; 2 + w i , 8 C j , 6 = w i , 9 &times; 2 3 + w i , 10 &times; 2 2 + w i , 11 &times; 2 + w i , 12
对最后一个文本块FM,令FM w=FM,则所有含水印文本块Fi w(i=1,2,…,M)依序首尾相连即得到含水印的网页源文件Fw={Fi w|i=1,2,…,M};
C、水印提取与检测
按步骤A将待检测网页源文件FT分为首尾相连的M个待检测的文本块Fi t F T = { F i t | i = 1,2 , . . . , M } ;
C1、水印提取:对待检测文本块根据其尾标签的颜色属性style=”XXXX:#Ci,1 tCi,2 tCi,3 tCi,4 tCi,5 tCi,6 t”,提取嵌入在待检测文本块中的水印信息 E i t = { e i , z t | z = 1,2 , . . . , 12 } ,
C2、水印重构:将待检测文本块的尾标签的颜色属性值Ci,2 t,Ci,4 t,Ci,6 t置0,得到预处理后的待测文本块
再对预处理后的待测文本块利用密钥k1进行步骤B2的水印生成操作,重构出基于待检测文本块中非标签部分及标签中的属性值部分生成12比特水印信息即:
将预处理文本块的非标签部分及标签中的属性值部分构成文本块的核心代码串利用密钥k1和Hash函数生成核心代码串的160比特摘要信息
Xi t=Hash(hi t,k1),(i=1,2,…,M-1)
然后,将摘要信息乘以矩阵R生成基于文本块内容的12比特水印信息 W i t = ( w i , 1 t , w i , 2 t , . . . , w i , 12 t ) (i=1,2,..M-1);
wi t=(Xi t·R)mod 2,(i=1,2,…,M-1)
C3、篡改判断:利用密钥k2,按步骤B3生成文本块嵌入位置数组P={pi|i=1,2,...,M-1};
令j=Pi,将第i个待检测文本块重构的12比特水印与从第j个待检测文本块提取的12比特水印信息进行比较,如果相同,则判定待检测的文本块未被篡改,不进行D步骤的操作;否则,判定待检测的文本块被篡改,进行D步骤的操作;
D、篡改定位与标示
D1、篡改定位:对判定为篡改的文本块其篡改位置为其起始到终止字符中的任意水印生成字符,即块中非标签部分和标签中的属性值部分;
D2、浏览器的标示:用设定的标示属性替换判定为篡改的文本块中尾标签的所有属性,以在浏览器上突出显示篡改块;并用提示信息覆盖判定为篡改的文本块中所有在浏览器上显示的字符。
本例步骤A中将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将网页源文件F分为首尾相连的M个文本块Fi的具体作法是:
第一个分块:
逐个扫描原始网页源文件F的代码,直到出现浏览器显示代码;然后倒回查找其所在标签T1的标签起始符,直到原始网页源文件F的第一个字符f1,再向前查找到标签T1的结束符,标签T1的结束符的最后一个字符位置记为s1,则第一个文本块F1={fr|r=d1+1,d1+2,...,d1+s1}={fr|r=1,2,...,s1};
第二个以上的分块Fi(i=2,3,...,M):
第i个文本块Fi的开始扫描位置为di+1(di为文本块Fi首字符前驱的位置,也即为前一个文本块Fi-1最后一个字符的位置),从位置di+1开始扫描,若查找到浏览器显示代码,则进行以下回查及分块操作;若扫描到网页源文件F的最后一个位置N仍未查找到浏览器上显示的字符,则从文本块Fi的开始扫描位置di+1起至最后一个位置N为止的所有字符,分为最后一文本块Fi={fr|r=di+1,di+2,...,N};
回查及分块:倒回查找浏览器显示代码所在标签Ti的标签起始符,若找到Ti的标签起始符,则再向前查找到标签Ti的结束符,标签Ti的结束符的最后一个字符位置记为di+si,得到第i个文本块Fi={fr|r=di+1,di+2,...,di+si};
若回查及分块时,一直回查到文本块Fi的第一个字符所在位置di+1,仍未找到标签Ti的起始符,则继续向前查找出下一处浏览器的显示字符,然后重复以上的回查及分块操作。
本实施例在分块过程中先查找出浏览器显示的字符对应的代码,再查找出该代码所在标签的起始符和结束符,以确保分块定位显示时各子块都含有相应的字符。
本发明的效果可以通过以下性能分析及试验得到验证和说明:
一、水印容量和网页增量的分析与统计
本发明基于子块尾标签作用下的颜色属性嵌入水印,除最后一块外,每个子块可嵌入12比特水印信息,较之整个网页嵌入一个水印,其水印容量较大。表1给出了本发明对常用网站的分块数量及水印容量统计结果。由表1可以看出,本发明对一般网页分块数量较大,水印容量比较充分,嵌入水印后网页相对增量平均在7%左右,网页增量较小,适于实际应用。
表1本发明对常用网站的分块及水印容量统计结果
注:访问日期为2012年7月28日
二、定位精度、字符篡改定位和块间信息替换篡改定位的测试
为测试本发明方法的定位精度及字符篡改定位和块间信息替换篡改定位的效果,用实施例的方法对百度首页进行了相关测试,其测试结果如下:
图1(a)为一测试网页源文件的部分源代码;
图1(b)为用本发明实施例方法对图1(a)的源代码进行分块得到的文本块示意图,图1(b)中每个矩形框中的字符串均为一个文本块。
1、定位精度:
图2(a)与图2(b)分别为本发明实施例方法对百度首页与有道首页分块后,在浏览器上显示的分块示意图。连续矩形灰色背景下的字符即一个网页子块。由图2(a)与图2(b)可以看出,百度首页与有道首页信息被分成近30个的子块,平均每个子块在浏览器上显示的字符不超过10个。可见,本发明方法将相对完整的浏览器显示字符块(单元)作为整体进行篡改定位,并且使各子块中浏览器字符量尽可能少,其定位精度高。
2、水印嵌入的不可见性:
图3(a)与图3(b)分别为本发明实施例方法在图2(a)对应的百度首页源代码上嵌入水印前后,在浏览器上的显示效果对比。
从图3(a)与图3(b)可以看出,引入span标签,在其作用下加入网页中不显示的字符“&zwj;”,对网页显示无影响,网页在嵌入水印前后显示无明显变化,因此本发明方法不影响网页正常显示,嵌入的水印具有较好的不可见性。
3、字符篡改定位
图4(a)为对图3(b)的嵌入水印后的百度首页源代码进行字符篡改后的源代码,即在原始网页代码作如下篡改:将“加入百度推广”改为“加入公司推广”。
图4(b)为图4(a)的源代码在浏览器上的显示图,其链接信息仍然可用。
图4(c)为采用本例方法对图4(a)的源代码进行水印检测与定位标示后的网页源代码。可见,本发明方法能准确检测出字符篡改所在块,并可用黑色背景颜色等标示属性替换该块尾标签下的所有属性,然后将该块中在浏览器显示的信息全部替换为“X”等提示信息。
图4(d)为图4(c)的源代码在浏览器上的显示图。可见,采用本发明方法检测及标示后的被篡改块可在浏览器上显示信息为一串“X”等提示信息,链接信息也被删除,同时整个被篡改块所在区域也被黑色背景色标示(由于“X”提示信息为蓝色,而标示背景色为黑色,在实际浏览网页时可以看见提示信息“X”,但图4(d)为灰度图,提示信息与背景色反差过小,无法看清提示信息)。篡改后的该部分网页信息无法继续传播,而其他所有文本块的信息均能正常响应、传播。
总之,本发明方法以文本块为单位定位并标示出字符被篡改的文本块,而非单个无意义字符,因此在有效地在浏览器上定位并标示出块信息的篡改的同时,避免定位单个篡改字符时对块整体信息的干扰。
4、块间信息替换篡改的定位
图5(a)为对图3(b)的嵌入水印后的百度首页源代码进行块间字符替换篡改后的网页源代码,即在原始网页代码上改动如下:将字符“加入百度推广”与“搜索风云榜”调换位置。
图5(b)为图5(a)的源代码在浏览器上的显示图,其链接信息仍然可用。
图5(c)为采用本例方法对图5(a)的源代码进行水印检测与定位标示后的网页源代码。可见,本发明方法能准确检测出这两个篡改块,并用黑色背景颜色等标示属性替换该块尾标签下的所有属性,并将该块在浏览器上显示的信息全部替换为“X”。
图5(d)为图5(c)的源代码在浏览器上的显示图。可见,采用本发明方法检测及标示后的被篡改块均可在浏览器上显示信息为一串“X”等提示信息,链接信息也被删除,同时两个被篡改块尾标签下的区域也均被黑色背景色标示(由于“X”提示信息为蓝色,而标示背景色为黑色,在实际浏览网页时可以看见提示信息“X”。但图5(d)为灰度图,尾标签下的区域的提示信息与背景色反差过小,提示信息“X”看不清;而非尾标签下的区域的提示信息“X”则能看见)。篡改后的该两块网页信息无法继续传播,而其他所有文本块的信息均能正常响应、传播。
总之,当块之间的信息进行替换时,本发明能将被替换信息所在块的位置都在浏览器上准确定位标示,从而有效阻止篡改传播。
本发明除了可以用以上提到的黑色背景颜色作为标示属性外,还可以使用其他背景颜色,边框,删除线等作为标示属性;提示信息除了可以用以上提到的“X”,还可以使用“?”“!”“*”或“该处信息无法显示!”等作为提示信息。

Claims (1)

1.一种可在浏览器上定位篡改位置的网页水印生成与认证方法,包括如下步骤:
A、网页分块
将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将原始网页源文件F分为首尾相连的M个文本块Fi,即F={Fi|i=1,2,…,M};Fi={fr|r=di+1,di+2,...,di+si},其中,fr表示原始网页源文件F中的第r个字符,N为原始网页源文件F包含的字符数,Fi表示第i个文本块,M为原始网页源文件F包含的文本块个数,si为文本块Fi包含的字符数,di为文本块Fi首字符前驱的位置,即di=di-1+si-1
所述将原始网页源文件F,F={fr|r=1,2,...,N},按浏览器显示的字符块将网页源文件F分为首尾相连的M个文本块Fi的具体作法是:
第一个分块:
逐个扫描原始网页源文件F的代码,直到出现浏览器显示代码;然后倒回查找其所在标签T1的标签起始符,直到原始网页源文件F的第一个字符f1,再向前查找到标签T1的结束符,标签T1的结束符的最后一个字符位置记为s1,则第一个文本块F1={fr|r=d1+1,d1+2,...,d1+s1}={fr|r=1,2,...,s1};
第二个以上的分块Fi(i=2,3,..,M):
第i个文本块Fi的开始扫描位置为di+1,从位置di+1开始扫描,若查找到浏览器显示代码,则进行以下回查及分块操作;若扫描到网页源文件F的最后一个位置N仍未查找到浏览器上显示的字符,则从文本块Fi的开始扫描位置di+1起至最后一个位置N为止的所有字符,分为最后一文本块Fi={fr|r=di+1,di+2,...,N};
回查及分块:倒回查找浏览器显示代码所在标签Ti的标签起始符,若找到Ti的标签起始符,则再向前查找到标签Ti的结束符,标签Ti的结束符的最后一个字符位置记为di+si,得到第i个文本块Fi={fr|r=di+1,di+2,...,di+si};
若回查及分块时,一直回查到文本块Fi的第一个字符所在位置di+1,仍未找到标签Ti的起始符,则继续向前查找出下一处浏览器的显示字符,然后重复以上的回查及分块操作;
B、水印生成与嵌入
B1、预处理:
找出文本块Fi(i=1,2,..M-1)中末字符对应的尾标签Ti,如尾标签Ti中存在颜色属性:style=”XXXX:#Ci,1Ci,2Ci,3Ci,4Ci,5Ci,6”,将其颜色属性中的RGB分量低位Ci,2Ci,4Ci,6置0;否则,在文本块Fi中的</Ti>代码前加入子元素“<spanstyle="color:#000000">&zwj;</span>”;其中“&zwj;”为在浏览器中不显示的字符,span标签用于组合并格式化文档中的行内元素,得到预处理文本块Fi p,但对最后一个文本块FM不操作;
B2、水印生成:
将预处理文本块Fi p(i=1,2,..M-1)的非标签部分及标签中的属性值部分构成文本块Fi的核心代码串hi,利用密钥k1和Hash函数生成核心代码串hi的160比特摘要信息Xi={xi,1,xi,2,...,xi,160},Xi=Hash(hi,k1),(i=1,2,…,M-1);
然后,将摘要信息Xi乘以矩阵R生成基于文本块Fi内容的12比特水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,..M-1);
Wi=(Xi·R)mod2,(i=1,2,…,M-1)
其中,R为利用密钥k1生成的大小为160×12的二值伪随机矩阵,·为矩阵点乘运算,mod为模运算;
B3、水印嵌入:
利用密钥k2置乱长度为M-1的一维顺序数组(1,2,3,...,M-1)生成文本块嵌入位置数组P={pi|i=1,2,...,M-1};
令j=pi,将基于文本块Fi内容生成的水印信息Wi=(wi,1,wi,2,...,wi,12)(i=1,2,…,M-1)嵌入到预处理文本块Fj p生成含水印文本块Fj w;水印嵌入是通过修改预处理文本块Fj p的尾标签Tj的属性style=”XXXX:#Cj,1Cj,2Cj,3Cj,4Cj,5Cj,6”实现的,具体如下:
C j , 2 = w i , 1 &times; 2 3 + w i , 2 &times; 2 2 + w i , 3 &times; 2 + w i , 4 C j , 4 = w i , 5 &times; 2 3 + w i , 6 &times; 2 2 + w i , 7 &times; 2 + w i , 8 C j , 6 = w i , 9 &times; 2 3 + w i , 10 &times; 2 2 + w i , 11 &times; 2 + w i , 12
对最后一个文本块FM,令FM w=FM,则所有含水印文本块Fi w(i=1,2,…,M)依序首尾相连即得到含水印的网页源文件Fw={Fi w|i=1,2,…, M};
C、水印提取与检测
按步骤A将待检测网页源文件FT分为首尾相连的M个待检测文本块Fi t,FT={Fi t|i=1,2,…,M};
C1、水印提取:对待检测文本块Fi t(i=1,2,…,M-1),根据其尾标签Ti t的颜色属性style=”XXXX:#Ci,1 t Ci,2 t Ci,3 t Ci,4 t Ci,5 t Ci,6 t”,提取嵌入在待检测文本块Fi t中的水印信息Ei t={ei,z t|z=1,2,...,12},
C2、水印重构:将待检测文本块Fi t的尾标签的颜色属性值Ci,2 t,Ci,4 t,Ci,6 t置0,得到预处理后的待测文本块Fi tp
再对预处理后的待测文本块Fi tp,利用密钥k1进行步骤B2的水印生成操作,重构出基于待检测文本块Fi t中非标签部分及标签中的属性值部分生成12比特水印信息Wi t
C3、篡改判断:利用密钥k2,按步骤B3生成文本块嵌入位置数组P={pi|i=1,2,...,M-1};
令j=pi,将第i个待检测文本块Fi t重构的12比特水印Wi t与从第j个待检测文本块Fj t提取的12比特水印信息Ej t进行比较,如果Wi t与Ej t相同,则判定待检测的文本块Fi t未被篡改,不进行D步骤的操作;否则,判定待检测的文本块Fi t被篡改,进行D步骤的操作;
D、篡改定位与标示
D1、篡改定位:对判定为篡改的文本块Fi t,其篡改位置为其起始到终止字符中的任意水印生成字符,即块中非标签部分和标签中的属性值部分;
D2、浏览器的标示:用设定的标示属性替换判定为篡改的文本块Fi t中尾标签Ti t的所有属性,以在浏览器上突出显示篡改块;并用提示信息覆盖判定为篡改的文本块Fi t中所有在浏览器上显示的字符。
CN201210297582.5A 2012-08-21 2012-08-21 可在浏览器上定位篡改位置的网页水印生成与认证方法 Expired - Fee Related CN102831570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210297582.5A CN102831570B (zh) 2012-08-21 2012-08-21 可在浏览器上定位篡改位置的网页水印生成与认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210297582.5A CN102831570B (zh) 2012-08-21 2012-08-21 可在浏览器上定位篡改位置的网页水印生成与认证方法

Publications (2)

Publication Number Publication Date
CN102831570A CN102831570A (zh) 2012-12-19
CN102831570B true CN102831570B (zh) 2014-08-13

Family

ID=47334689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210297582.5A Expired - Fee Related CN102831570B (zh) 2012-08-21 2012-08-21 可在浏览器上定位篡改位置的网页水印生成与认证方法

Country Status (1)

Country Link
CN (1) CN102831570B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103971323B (zh) * 2014-05-22 2017-02-15 复旦大学 一种基于置乱变换和形态成分分析的数字水印隐写方法
CN104050400B (zh) * 2014-06-27 2017-06-06 西南交通大学 一种基于控制符编码隐写的网页链接保护方法
CN105184159B (zh) * 2015-08-27 2018-11-27 深信服科技股份有限公司 网页篡改的识别方法和装置
CN108881154A (zh) * 2018-04-20 2018-11-23 北京海泰方圆科技股份有限公司 网页被篡改检测方法、装置及系统
US11669600B2 (en) 2019-05-29 2023-06-06 International Business Machines Comporation Controlling a use of shared demo assets using a digital watermark
CN110909320B (zh) * 2019-10-18 2022-03-15 北京字节跳动网络技术有限公司 一种网页水印防篡改的方法、装置、介质和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599118A (zh) * 2009-06-26 2009-12-09 华中师范大学 Html网页篡改检测与定位方法
CN101673334A (zh) * 2004-12-09 2010-03-17 中国科学院计算技术研究所 以一类pdf文本作为掩体的信息嵌入和提取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050053258A1 (en) * 2000-11-15 2005-03-10 Joe Pasqua System and method for watermarking a document

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673334A (zh) * 2004-12-09 2010-03-17 中国科学院计算技术研究所 以一类pdf文本作为掩体的信息嵌入和提取方法
CN101599118A (zh) * 2009-06-26 2009-12-09 华中师范大学 Html网页篡改检测与定位方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"定位像素篡改的安全脆弱水印算法";陈帆等;《铁道学报》;20110131;第33卷(第1期);第63-68页 *
"对水印信息篡改鲁棒的自嵌入水印算法";和红杰等;《Journal of software》;20090228;第20卷(第2期);第437-450页 *
"用于图像认证的变容量恢复水印算法";陈帆等;《计算机学报》;20120131;第35卷(第1期);第154-162页 *
和红杰等."对水印信息篡改鲁棒的自嵌入水印算法".《Journal of software》.2009,第20卷(第2期),第437-450页.
陈帆等."定位像素篡改的安全脆弱水印算法".《铁道学报》.2011,第33卷(第1期),第63-68页.
陈帆等."用于图像认证的变容量恢复水印算法".《计算机学报》.2012,第35卷(第1期),第154-162页.

Also Published As

Publication number Publication date
CN102831570A (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
CN102831570B (zh) 可在浏览器上定位篡改位置的网页水印生成与认证方法
Hakak et al. Approaches for preserving content integrity of sensitive online Arabic content: A survey and research challenges
CN109785222B (zh) 一种用于网页的信息快速嵌入和提取的方法
CN102622545B (zh) 图片文件追踪方法
Rani et al. Text steganography techniques: A review
Khadam et al. Text data security and privacy in the internet of things: threats, challenges, and future directions
CN104050400B (zh) 一种基于控制符编码隐写的网页链接保护方法
Zhao et al. Primitively visually meaningful image encryption: A new paradigm
CN101227451A (zh) 通过Web表单获得用户交互数据的方法及系统
Khadam et al. Advanced security and privacy technique for digital text in smart grid communications
Yaghobi et al. Text steganography in webometrics
Castiglione et al. Hiding Information into OOXML Documents: New Steganographic Perspectives.
Tiwari et al. A novel watermarking scheme for secure relational databases
CN116305294A (zh) 数据泄露溯源方法、装置、电子设备及存储介质
Jaiswal et al. Implementation of a new technique for web document protection using unicode
Sharma et al. A study of steganography based data hiding techniques
Zhang et al. A fragile watermarking scheme based on hash function for web pages
Tsai et al. A database watermarking technique for temper detection
Rastogi et al. Implementation of digital watermarking technique to secure IPR of web application code
Saber et al. Steganography in MS excel document using unicode system characteristics
Alghamdi et al. A novel database watermarking technique using blockchain as trusted third party
CN115099200B (zh) 防篡改的文本处理方法、装置和计算机设备
CN117436041A (zh) 一种数据水印生成方法、装置、存储介质及电子设备
Kazmi et al. UniHaCh: Unicode and Hash Function Supported with Counting and Frequency Recurrence of Arabic Characters for Quranic Text Watermarking
Zhang et al. Hiding new words in a PDF document

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140813

Termination date: 20190821