CN104050400A - 一种基于控制符编码隐写的网页链接保护方法 - Google Patents
一种基于控制符编码隐写的网页链接保护方法 Download PDFInfo
- Publication number
- CN104050400A CN104050400A CN201410299374.8A CN201410299374A CN104050400A CN 104050400 A CN104050400 A CN 104050400A CN 201410299374 A CN201410299374 A CN 201410299374A CN 104050400 A CN104050400 A CN 104050400A
- Authority
- CN
- China
- Prior art keywords
- webpage
- sequence
- control symbol
- link
- bits
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000011159 matrix material Substances 0.000 claims description 9
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 23
- 230000000694 effects Effects 0.000 abstract description 7
- 230000000644 propagated effect Effects 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 239000009111 xianzhong Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
一种基于控制符编码隐写的网页链接保护方法,它利用选出的浏览器端不显示的控制符实现水印信息嵌入,从而对网页中的链接信息进行保护。首先,将网页按链接分块,根据每个子块所有字符生成任意比特水印信息并编码为相应的控制符嵌入网页中,生成含水印网页。检测时通过比较链接块相应的提取水印和重构水印的不同比特个数与阈值的关系,判定链接块篡改与否。在检测出被篡改的链接块时,删除其包括链接地址在内的所有属性信息,并用警示标识信息标记链接块,以提示用户。本发明能有效地保护网页中的链接块信息,当链接块被篡改时,能及时检测出篡改并阻止虚假信息的传播,降低了因链接块被篡改对企事业单位的形象和业务造成的负面影响。
Description
技术领域
本发明涉及一种基于控制符编码隐写的网页链接保护方法。
背景技术
随着网络与多媒体技术的发展,网站成为人们获取信息的重要途经之一。据国家互联网应急中心(CNCERT)统计(国家互联网应急中心.CNCERT互联网安全威胁报告-2013年12月),2013年12月中国大陆地区被篡改网站数量为4845个,其中网站的仿冒页面数量为303个,网站网页被仿冒篡改影响了企事业单位正常业务的进展。网页脆弱水印作为一种有效保护网页内容真实性和完整性的方法,具有重要的研究意义和广泛的应用前景。
为实时检测网页的真实性,Zhao等人(Q.Zhao,H.Lu.PCA-based web pagewatermarking,Pattern Recognition,2007(4),40:1334-1341.)提出基于PCA(PrincipalComponents Analysis)的网页水印算法,该算法对网页整体信息进行主成分分析生成水印。该算法能检测网页是否被篡改,但不能定位网页被篡改的位置。为定位网页被篡改的位置,Zhang等人(Zulin Zhang,Hong Peng,Xianzhong Long.AFragile Watermarking Scheme Based On Hash Function for Web Pages[C],2011International Conference on Network Computing and Information Security(NCIS),Guilin,China,2011:417-420.)提出基于HASH函数的网页水印算法,该算法将每行源代码字符与每个显示在浏览器端的单词通过HASH加密生成6比特水印信息,能够以单词字符为单位检测并定位网页源代码中被篡改的位置。网页源代码的信息是以标签为单位组成的,恶意篡改一般会篡改影响语句意义的关键字符信息,当关键字符信息篡改后,语句中剩余信息将难以继续利用。结合网页的上述特性,陈帆等人(陈帆,张玉梅,和红杰,翟东海.可在浏览器上定位篡改的网页水印生成与认证方法:中国,201210297582.5[p]:2012.12.19)按浏览器显示字符所在标签将网页分块生成水印,基于网页非标签部分及标签中的属性值部分生成的12比特水印信息嵌入在颜色属性的RGB3个分量的低4位,该算法实现了以标签为单位的在浏览器端的篡改定位。不过,该方法水印容量较少且固定,安全性较低;水印嵌入后的文件增量较大;对标签区分的所有块均进行篡改定位,复杂度高。
另一方面,相对图像、音频等载体,网页作为一种纯文本的数字媒体,冗余信息相对较少,在其中嵌入水印信息比较困难。现有的网页信息隐藏方法主要有三类:1)基于标签属性字符大小写和空格字符,该类方法隐藏容量大,但隐藏的信息易于被去除;2)基于等价标记的方法,如基于标签属性顺序和基于CSS类的等价方法,该类方法隐藏信息较少;3)基于颜色属性的方法,该类方法通过引入冗余的属性字符隐藏水印信息,导致含水印文件增量较大。因此,如何提高网页的隐藏容量且使文件增量较小,是提高网页脆弱水印算法安全性和实用性需解决的另一个关键问题。
发明内容
本发明的目的是提供一种基于控制符编码隐写的网页链接保护方法,该方法水印容量大,不可见性好,安全性高,能够检测并定位出网页中被篡改的链接块,有效阻止篡改链接信息及非法网页继续传播,最大可能地降低网页链接篡改对企事业单位的信誉和业务造成的负面影响和损失;且算法复杂度低。
本发明解决其技术问题,所采用的技术方案为:一种基于控制符编码隐写的网页链接保护方法,包括如下步骤:
A、网页分块
根据原始网页文件F,F={fr|r=1,2,...,N}中的链接标签的结束符,将原始网页文件F分为M+1个网页块;前M个网页块为链接块Fi,Fi={fr|r=Ti+1,Ti+2,...,Ti+ti}为链接块;其中,fr表示网页文件F中位置序号为r的字符,N为网页文件F包含的字符数;i为链接块Fi的序号,i=1,2,...,M;Ti为第i-1个链接块Fi-1的结束字符位置的序号,T1=0,ti为第i个链接块Fi的字符总数;第M+1个网页块FM+1由原始网页文件F中位置序号从TM+tM+1到N之间所有的字符组成;
B、水印生成与嵌入
B1、水印生成:将链接块Fi,i=1,2,...,M,利用密钥k1通过Hash函数生成链接块Fi的160比特的摘要信息Xi;同时,利用密钥k1生成大小为160×K的伪随机矩阵R,K为设定的各链接块Fi的水印长度,K>13;第M+1个网页块FM+1不保护,不进行操作;
再将摘要信息Xi乘以伪随机矩阵R生成链接块Fi的K比特的二进制核心摘要信息Wi,Wi=(Xi·R)mod 2=(wi,1,wi,2,...,wi,K);其中·为矩阵点乘运算,mod为模运算;
将所有链接块Fi的二进制核心摘要信息Wi依次连接,得到K×M比特的二进制序列;如果K×M比特的二进制序列的长度不能被7整除,则在后面补0使其长度能够被7整除,否则不进行补0操作;从而得到7G比特的二进制字符串, 为向上取整运算;然后利用密钥k1将7G比特的二进制字符串置乱得到置乱的7G比特的二进制字符串;
再将置乱的7G比特的二进制字符串以7比特为单位依次转化为G个十进制数值,并对其中大于98的十进制数减去64;再将G个十进制数依次相连得到对应的十进制序列Y={yg|g=1,2,...,G},yg为十进制序列Y的第g个数据;
B2、控制符编码:将网页文件中不会影响网页正常显示的控制符作为隐写字符串,一共有99种控制符cs,将其依次编码为0到98,即C={cs|s=0,1,2,…,98},cs对应编码值为s的控制符;具体组成为如下表:
控制符编码表
编码s | 控制符cs | 编码s | 控制符cs | 编码s | 控制符cs |
0 | �; | 33 | �; | 66 | �; |
1 | ; | 34 | ; | 67 | ; |
2 | ; | 35 | ; | 68 | ; |
3 | ; | 36 | ; | 69 | ; |
4 | ; | 37 | ; | 70 | ; |
5 | ; | 38 | ; | 71 | ; |
6 | ; | 39 | ; | 72 | ; |
7 | ; | 40 | ; | 73 | ; |
8 | ; | 41 | ; | 74 | ; |
9 | 	; | 42 | 	; | 75 | 	; |
10 | 
; | 43 | 
; | 76 | 
; |
11 | ; | 44 | ; | 77 | ; |
12 | ; | 45 | ; | 78 | ; |
13 | 
; | 46 | 
; | 79 | 
; |
14 | ; | 47 | ; | 80 | ; |
15 | ; | 48 | ; | 81 | ; |
16 | ; | 49 | ; | 82 | ; |
17 | ; | 50 | ; | 83 | ; |
18 | ; | 51 | ; | 84 | ; |
19 | ; | 52 | ; | 85 | ; |
20 | ; | 53 | ; | 86 | ; |
21 | ; | 54 | ; | 87 | ; |
22 | ; | 55 | ; | 88 | ; |
23 | ; | 56 | ; | 89 | ; |
24 | ; | 57 | ; | 90 | ; |
25 | ; | 58 | ; | 91 | ; |
26 | ; | 59 | ; | 92 | ; |
27 | ; | 60 | ; | 93 | ; |
28 | ; | 61 | ; | 94 | ; |
29 | ; | 62 | ; | 95 | ; |
30 | ; | 63 | ; | 96 | ; |
31 | ; | 64 | ; | 97 | ; |
32 | ; | 65 | ; | 98 | ; |
B3、控制符序列生成:根据B1步得到的十进制序列Y={yg|g=1,2,...,G},生成控制符序列I,I={Ig|g=1,2,...,G},其中,Ig为控制符编码表中编码为yg的控制符cs,s=yg;
B4、控制符隐写:如果控制符序列I={Ig|g=1,2,...,G}中的控制符个数不能被M整除,则一次或多次补入控制符序列I的第一个控制符,使其控制符个数能被M整除,否则不进行补入操作;得到长度为q×M的待隐写控制符序列E,然后依次将待隐写控制符序列E平均分为M个待隐写控制符组Ei,即E={Ei|i=1,2,...,M};其中,Ei={Iq×(i-1)+1,Iq×(i-1)+2,...,Iq×i};
将待隐写控制符组Ei整体嵌入到对应的链接块Fi中,生成含水印链接块Fi W;其中,链接块Fi的嵌入位置为链接块Fi的超链接标签起始符‘>’字符之前,最后一个网页块FM+1不进行水印嵌入;最终生成含水印网页文件FW;FW={Fi W(i=1,2,…,M),FM+1};
C、水印提取与重构
令待检测网页文件F'=原始网页文件F,进行步骤A的操作得到M个链接块Fi(i=1,2,…,M)和第M+1个网页块FM+1;令链接块Fi=待检测链接块Fi',F'={Fi'|i=1,2,…,M};令网页块FM+1=待检测网页块FM+1';
C1、隐写控制符的提取:提取M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符;如果不足q个则重复第一个控制符至q个;如果超出q个,则删除前面的控制符使其个数为q个;得到提取控制符组Ei';所有提取的控制符组Ei'组成提取的控制符序列E',即E'={Ei'|i=1,2,…,M};
C2、控制符解码:依次查找出提取的控制符序列E'中的各个控制符在B2步中的控制符编码表中的编码s;将这些编码依次连接,构成提取的十进制序列Y'={yg'|g=1,2,...,G};
将提取的十进制序列Y'中的G个十进制数yg'依次转化为G个7位的二进制数;然后将G个7位的二进制数依次连接构成7G比特的二进制序列;根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的提取水印信息Wi'={wi,1',wi,2',…wi,K'},如果最后一组不足K比特则丢弃,得到待检测网页F'提取的水印信息W'={Wi'|i=1,2,...,M};
C3、水印重构:将M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符删除得到预处理后的待测链接块Fi B;
令预处理后的待测链接块Fi B=链接块Fi,进行步骤B1的操作,得到十进制序列Y={yg|g=1,2,...,G};令重构的十进制序列 将重构的十进制序列YB中大于98的十进制数减去64,再将G个十进制数转化为7比特的二进制数,并依次相连得到7G比特的二进制序列;再根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的重构水印信息Wi B={wi,1 B,wi,2 B,…wi,K B},如果最后一组不足K比特则丢弃,得到待检测网页文件F'的重构水印信息WB={Wi B|i=1,2,...,M};
D、篡改判断与定位标示
D1、篡改判断:将第i个待检测链接块Fi'的K比特重构水印信息Wi B与第i组的提取水印信息Wi'逐比特进行比较,如果不同,则判定该比特为改动;得到待检测链接块Fi'中的改动比特总数Di,Di∈[0,K];当改动比特总数Di大于阈值β时,判定待检测链接块Fi'被篡改,否则未被篡改,当第M+1个待检测网页块FM+1'不判断;阈值β∈[0,K/2];
D2、浏览器的定位标示:前M个待检测链接块Fi'如果被判定为篡改,则删除待检测链接块Fi'超链接标签起始符后的所有属性信息,再在待检测链接块Fi'中加入警示标识字符信息或警示背景颜色信息。
与现有技术相比,本发明的有益效果是:
一、本发明基于链接信息进行分块,按块进行水印生成、嵌入、检测、定位,从而是针对网页中的链接信息进行保护,能够定位到被篡改链接块的具体位置,当检测出网页被篡改后,将链接标签中所有属性信息删除,并直观显示出警示信息,有效阻止篡改链接信息及非法网页继续传播。一方面防止用户访问到非法网页上当受骗;另一方面最大可能地降低网页链接篡改对企事业单位的信誉和业务造成的负面影响和损失。
二、网站的主页或导航大多采用网页链接组成,用户通过点击文字链接或者图片链接获取更多更具体的信息,链接信息是网页的核心信息。本发明通过对链接块篡改的检测与定位,既能有效阻止了篡改的链接信息对企事业单位和用户的损失;同时对不重要的非链接块的信息不进行定位,降低了算法复杂度。
三、每个链接块通过动态阈值方法进行篡改检测判断,因而本发明能够有效区分水印信息的篡改和网页内容的篡改,检测准确率高。同时,本发明按链接分块保护,检测出篡改时能够定位到被篡改的具体链接块的位置,定位精度较高。
四、申请人分析发现,某些控制符在HTML文档的标签起始符‘>’前,不会影响网页在浏览器端正常显示,找出了99个这种可用于隐藏秘密信息的控制符,用于水印信息嵌入,它隐藏在网页中不仅在源代码中难以察觉,而且不影响网页的正常显示,其不可见性好,兼容性强。
五、网页文件增量小且水印容量大:每个链接块生成嵌入K(K>13)比特水印而最多只需增加个控制符,即一个控制符对应7比特水印信息,因而本发明方法水印容量大,含水印网页文件增量小,对网页传输和加载影响较小。
六、由于选出的99个控制符在标签起始符‘>’前嵌入,不影响网页的显示,控制符的嵌入数量不受限制,即K(K>13)可以根据需要选定,因此每个链接块可根据需要生成任意K(K>13)比特水印信息嵌入网页中,其安全性高。
下面结合附图和具体实施方式对本发明作进一步的详细说明。
附图说明
图1a和图1b分别为测试网页百度和测试网页Metacafe文件的部分源代码。
图1c为用本发明实施例方法对图1a的源代码进行分块得到的链接块示意图,图1c中每个矩形框中的字符串均为一个链接块。
图1d为用本发明实施例方法对图1b的源代码进行分块得到的链接块示意图,图1d中每个矩形框中的字符串均为一个链接块。
图2为百度原始网页在浏览器端的显示。
图3a与图3b分别为本发明实施例方法在图1a(百度)的源代码和图1b(Metacafe)的源代码上嵌入水印后的源代码。
图4a至图4d分别为本发明实施例方法在图3a对应的百度首页源代码上嵌入水印后,在不同主流浏览器端的显示效果对比。其中,图4a对应IE浏览器,图4b对应谷歌浏览器,图4c对应火狐浏览器,图4d对应360浏览器。
图5a与图5b分别为图3a(百度)与图3b(Metacafe)的首页链接块在浏览器端的标示。
图6a为对图3a的嵌入水印后的百度首页源代码篡改后的源代码,即在原始网页代码作如下篡改:将“加入百度推广”篡改为“加入我们推广”。
图6b为图6a的源代码在浏览器端的显示图。
图6c为本发明实施例方法对图6a的源代码进行篡改检测与定位标示后的网页源代码。
图6d为图6c的源代码在浏览器端的显示图。
图7为对含水印的西南交通大学首页的部分源代码。
图8a、图8b、图8c为对图7的源代码进行水印信息篡改的三种情形;其中,图8a对应水印信息的增加,增加了表1中的隐写控制符“;”,图8b对应水印信息的替换,将隐写控制符“;”替换为“;”,图8c对应水印信息的删除,将隐写控制符“;”删除。
图9a为对图7的源代码进行链接与水印信息同时篡改后的网页源代码;
图9b为本发明实施例方法对图9a的源代码进行篡改检测与定位标示后的网页源代码;
图9c为图9b的源代码在浏览器端的显示图。
具体实施方式
实施例
本发明的一种具体实施方式是,一种基于控制符编码隐写的网页链接保护方法,包括如下步骤:
A、网页分块
根据原始网页文件F,F={fr|r=1,2,...,N}中的链接标签的结束符,将原始网页文件F分为M+1个网页块;前M个网页块为链接块Fi,Fi={fr|r=Ti+1,Ti+2,...,Ti+ti}为链接块;其中,fr表示网页文件F中位置序号为r的字符,N为网页文件F包含的字符数;i为链接块Fi的序号,i=1,2,...,M;Ti为第i-1个链接块Fi-1的结束字符位置的序号,T1=0,ti为第i个链接块Fi的字符总数;第M+1个网页块FM+1由原始网页文件F中位置序号从TM+tM+1到N之间所有的字符组成;
B、水印生成与嵌入
B1、水印生成:将链接块Fi,i=1,2,...,M,利用密钥k1通过Hash函数生成链接块Fi的160比特的摘要信息Xi;同时,利用密钥k1生成大小为160×K的伪随机矩阵R,K为设定的各链接块Fi的水印长度,K>13;第M+1个网页块FM+1不保护,不进行操作;
再将摘要信息Xi乘以伪随机矩阵R生成链接块Fi的K比特的二进制核心摘要信息Wi,Wi=(Xi·R)mod 2=(wi,1,wi,2,...,wi,K);其中·为矩阵点乘运算,mod为模运算;
将所有链接块Fi的二进制核心摘要信息Wi依次连接,得到K×M比特的二进制序列;如果K×M比特的二进制序列的长度不能被7整除,则在后面补0使其长度能够被7整除,否则不进行补0操作;从而得到7G比特的二进制字符串, 为向上取整运算;然后利用密钥k1将7G比特的二进制字符串置乱得到置乱的7G比特的二进制字符串;
再将置乱的7G比特的二进制字符串以7比特为单位依次转化为G个十进制数值,并对其中大于98的十进制数减去64;再将G个十进制数依次相连得到对应的十进制序列Y={yg|g=1,2,...,G},yg为十进制序列Y的第g个数据;
B2、控制符编码:将网页文件中不会影响网页正常显示的控制符作为隐写字符串,一共有99种控制符cs,将其依次编码为0到98,即C={cs|s=0,1,2,…,98},cs对应编码值为s的控制符;具体组成为如下表:
控制符编码表
编码s | 控制符cs | 编码s | 控制符cs | 编码s | 控制符cs |
0 | �; | 33 | �; | 66 | �; |
1 | ; | 34 | ; | 67 | ; |
2 | ; | 35 | ; | 68 | ; |
3 | ; | 36 | ; | 69 | ; |
4 | ; | 37 | ; | 70 | ; |
5 | ; | 38 | ; | 71 | ; |
6 | ; | 39 | ; | 72 | ; |
7 | ; | 40 | ; | 73 | ; |
8 | ; | 41 | ; | 74 | ; |
9 | 	; | 42 | 	; | 75 | 	; |
10 | 
; | 43 | 
; | 76 | 
; |
11 | ; | 44 | ; | 77 | ; |
12 | ; | 45 | ; | 78 | ; |
13 | 
; | 46 | 
; | 79 | 
; |
14 | ; | 47 | ; | 80 | ; |
15 | ; | 48 | ; | 81 | ; |
16 | ; | 49 | ; | 82 | ; |
17 | ; | 50 | ; | 83 | ; |
18 | ; | 51 | ; | 84 | ; |
19 | ; | 52 | ; | 85 | ; |
20 | ; | 53 | ; | 86 | ; |
21 | ; | 54 | ; | 87 | ; |
22 | ; | 55 | ; | 88 | ; |
23 | ; | 56 | ; | 89 | ; |
24 | ; | 57 | ; | 90 | ; |
25 | ; | 58 | ; | 91 | ; |
26 | ; | 59 | ; | 92 | ; |
27 | ; | 60 | ; | 93 | ; |
28 | ; | 61 | ; | 94 | ; |
29 | ; | 62 | ; | 95 | ; |
30 | ; | 63 | ; | 96 | ; |
31 | ; | 64 | ; | 97 | ; |
32 | ; | 65 | ; | 98 | ; |
B3、控制符序列生成:根据B1步得到的十进制序列Y={yg|g=1,2,...,G},生成控制符序列I,I={Ig|g=1,2,...,G},其中,Ig为控制符编码表中编码为yg的控制符cs,s=yg;
B4、控制符隐写:如果控制符序列I={Ig|g=1,2,...,G}中的控制符个数不能被M整除,则一次或多次补入控制符序列I的第一个控制符,使其控制符个数能被M整除,否则不进行补入操作;得到长度为q×M的待隐写控制符序列E,然后依次将待隐写控制符序列E平均分为M个待隐写控制符组Ei,即E={Ei|i=1,2,...,M};其中,Ei={Iq×(i-1)+1,Iq×(i-1)+2,...,Iq×i};
将待隐写控制符组Ei整体嵌入到对应的链接块Fi中,生成含水印链接块Fi W;其中,链接块Fi的嵌入位置为链接块Fi的超链接标签起始符‘>’字符之前,最后一个网页块FM+1不进行水印嵌入;最终生成含水印网页文件FW;FW={Fi W(i=1,2,…,M),FM+1};
C、水印提取与重构
令待检测网页文件F'=原始网页文件F,进行步骤A的操作得到M个链接块Fi(i=1,2,…,M)和第M+1个网页块FM+1;令链接块Fi=待检测链接块Fi',F'={Fi'|i=1,2,…,M};令网页块FM+1=待检测网页块FM+1';
C1、隐写控制符的提取:提取M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符;如果不足q个则重复第一个控制符至q个;如果超出q个,则删除前面的控制符使其个数为q个;得到提取控制符组Ei';所有提取的控制符组Ei'组成提取的控制符序列E',即E'={Ei'|i=1,2,…,M};
C2、控制符解码:依次查找出提取的控制符序列E'中的各个控制符在B2步中的控制符编码表中的编码s;将这些编码依次连接,构成提取的十进制序列Y'={yg'|g=1,2,...,G};
将提取的十进制序列Y'中的G个十进制数yg'依次转化为G个7位的二进制数;然后将G个7位的二进制数依次连接构成7G比特的二进制序列;根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的提取水印信息Wi'={wi,1',wi,2',…wi,K'},如果最后一组不足K比特则丢弃,得到待检测网页F'提取的水印信息W'={Wi'|i=1,2,...,M};
C3、水印重构:将M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符删除得到预处理后的待测链接块Fi B;
令预处理后的待测链接块Fi B=链接块Fi,进行步骤B1的操作,得到十进制序列Y={yg|g=1,2,...,G};令重构的十进制序列 将重构的十进制序列YB中大于98的十进制数减去64,再将G个十进制数转化为7比特的二进制数,并依次相连得到7G比特的二进制序列;再根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的重构水印信息Wi B={wi,1 B,wi,2 B,…wi,K B},如果最后一组不足K比特则丢弃,得到待检测网页文件F'的重构水印信息WB={Wi B|i=1,2,...,M};
D、篡改判断与定位标示
D1、篡改判断:将第i个待检测链接块Fi'的K比特重构水印信息Wi B与第i组的提取水印信息Wi'逐比特进行比较,如果不同,则判定该比特为改动;得到待检测链接块Fi'中的改动比特总数Di,Di∈[0,K];当改动比特总数Di大于阈值β时,判定待检测链接块Fi'被篡改,否则未被篡改,当第M+1个待检测网页块FM+1'不判断;阈值β∈[0,K/2];
D2、浏览器的定位标示:前M个待检测链接块Fi'如果被判定为篡改,则删除待检测链接块Fi'超链接标签起始符后的所有属性信息,再在待检测链接块Fi'中加入警示标识字符信息或警示背景颜色信息。如:在待检测链接块Fi'超链接标签起始符‘>’之前加入字符串‘style="background:#ff0000"’。即可在该链接块上显示红色警示背景色,表示该链接块已被篡改;也可加入相应字符信息在该链接块上显示“该处内容已被篡改!”等警示标识。
本发明D1步骤中阈值β可根据根据文献“数字图像安全认证水印算法及其统计检测性能分析”(和红杰,西南交通大学博士学位论文,2009)的方法确定,即:
确定各个链接块的水印长度K后,根据误检测率Pfd(K,ρ,β)=ρPfa(K,β)+(1-ρ)Pfr(K,ρ,β)可计算出篡改比例为ρ时误检测率Pfd(K,ρ,β)在β∈[0,K/2]时的所有值,选取所有误检测率Pfd(K,ρ,β)中最小值对应的β取值,作为水印长度为K,篡改比例为ρ时的篡改检测采用的阈值。其中,
Pfr(K,ρ,β)为虚检率,
Pfa(K,β)为漏检率,
通过测试K=21,ρ∈(0,0.3]时对应的阈值β选取关系,如下表:
阈值表
ρ | (0,0.025] | (0.025,0.075] | (0.075,0.165] | (0.165,0.30] |
β | 3 | 4 | 5 | 6 |
待检测网页F'的篡改比例ρ,可通过计算估计得到;Q为待检测网页F'的水印信息中改动的比特总个数占水印总比特数的比例,当计算得到的篡改比例估计值处于阈值表中ρ对应的取值范围时,取对应列的β值作为篡改判断阈值。再在链接块Fi'超链接标签起始符‘>’之前加入字符串‘style="background:#ff0000"’。
本例中的参数K取21。实施时参数K还可以取大于13的任何一个整数。当K取值越小,嵌入的水印少,检测灵敏度低,计算复杂度低;反之,嵌入的水印多,检测灵敏度高,计算复杂度高。
本发明的效果可以通过以下性能分析及仿真试验测试得到验证和说明:
仿真试验测试时,各链接块Fi的水印长度K为21。
一、水印容量和网页增量的分析与统计
本发明将网页按分块生成K比特水印并采用控制符编码表中的控制符进行隐写,每个控制符代表7比特水印信息。衡量网页隐写方法的指标通常为隐藏容量和隐写后的网页相对增量,其中隐藏容量指水印嵌入总比特数,隐写后的网页相对增量=(隐写后的网页大小-原始网页大小)/原始网页大小。
为验证本发明的效果,选取具有代表性的最新文献即文献1,“可在浏览器上定位篡改的网页水印生成与认证方法”(中国专利申请号201210297582.5),所提出的算法进行比较:
表1为本发明实施例与文献[1]对常见网站首页的测试结果。由表1可见,本发明对网站首页分块数量与文献[1]相差不大,但隐藏容量较文献[1]增加较多,且文献[1]方法隐藏信息后的网页相对增量平均为10.10%,而本发明为3.58%,含水印网页大小增长比例较小,这是因为本发明在每比特水印嵌入时引入的冗余信息较少,且隐藏的控制符字符数量也相对较少。在生成含水印文件时间上,本发明平均为20.12s,文献[1]为89.29s,时间效率大大提高。这是因为本发明的根据链接分块处理网页,分块嵌入方法更简单高效。
表1 本发明及文献[1]对常用网站的分块及水印容量统计结果
注:访问日期为2014年6月5日
二、水印嵌入的不可见性及适用性
1、嵌入水印的不可见性:
为测试本发明方法中嵌入水印的不可见性,用实施例的方法对百度首页和Metacafe进行了相关测试,其测试结果如下:
图1a和图1b分别为测试网页百度和测试网页Metacafe文件的部分源代码。
图3a与图3b分别为本实施例方法在图1a(百度)的源代码和图1b(Metacafe)的源代码上嵌入水印后的源代码。
对比图3a与图1a及图3b与图1b,可以看出:在网页中嵌入控制符后,网页文件与原始网页文件信息变化较小,人眼不易察觉到增加的控制符,实现了隐写的效果,隐写的控制符在源代码上具有较好的不可见性。
2、浏览器端的不可见性及适用性:
图2为百度原始网页在浏览器端的显示。图4a至图4d分别为本发明实施例方法在图3a(百度首页)源代码上嵌入水印后,在不同主流浏览器端的显示效果对比。其中,图4a对应IE浏览器,图4b对应谷歌浏览器,图4c对应火狐浏览器,图4d对应360浏览器。
图4a至图4d与图2对比,可以看出:在不同浏览器端的含水印网页均能正常显示,且无明显变化,因此本发明中水印嵌入方法能够适用于多种主流浏览器,适用面广,且嵌入的水印在浏览器端有较好的不可见性。
三、网页链接及篡改检测与定位的测试
图5a与图5b分别为图3a(百度)与图3b(Metacafe)的首页链接块在浏览器端的标示。由图5a与图5b可以看出,百度首页与Metacafe首页信息中链接块信息较多,且为网页的关键信息。因此,本发明基于网页链接分块,然后按块生成并嵌入水印。以链接为单位对网页进行篡改定位,可以有效保护网页的核心信息并降低链接信息篡改造成的损失。
为测试本发明方法对篡改检测及链接的篡改定位效果,用实施例的方法对百度首页和Metacafe首页从以下三方面进行了仿真测试,其测试结果如下:
1、链接信息篡改检测与定位
图6a为对图3a的嵌入水印后的百度首页源代码篡改后的源代码,即在原始网页代码作如下篡改:将“加入百度推广”篡改为“加入我们推广”。图6b为图6a的源代码在浏览器端的显示图。
图6c为本发明实施例方法对图6a的源代码进行篡改检测与定位标示后的网页源代码。
图6d为图6c的源代码在浏览器端的显示图。
可见,采用本发明方法检测及标示后的链接块将在浏览器端通过警示背景色突出显示,以提示用户。同时,包括链接地址信息在内的所有属性信息也被删除,从而中断链接地址所对应网页的响应,阻止了可能伪造的信息或存在危害性的网页继续传播。
2、水印信息的篡改检测
图7为对含水印的西南交通大学首页的部分源代码。
图8a、图8b、图8c为对图7的源代码进行水印信息篡改的三种情形;其中,图8a对应水印信息的增加,增加了表1中的隐写控制符“;”,图8b对应水印信息的替换,将隐写控制符“;”替换为“;”,图8c对应水印信息的删除,将隐写控制符“;”删除。
采用本例方法对图8a、图8b、8c的源代码进行篡改检测,均未检测出篡改。可见,本发明方法能准确识别内容与水印的篡改,当水印信息被篡改时,不会将水印信息所对应的链接块或所在链接块判定为篡改,篡改检测准确率较高。
3、链接与水印信息同时篡改
图9a为对图7的含水印的西南交通大学首页部分源代码进行链接与水印信息同时篡改后的网页源代码;其中,链接地址“viewClass.aspx?TYPE=24”篡改为“http://www.taobao.com”;浏览器端的文字信息“Schools”篡改为“NetSchools”;水印信息由控制符“;”替换为“;”。
图9b为本发明实施例方法对图9a的源代码进行篡改检测与定位标示后的网页源代码;可见,本发明方法能准确检测出网页中的字符篡改,并用红色背景颜色标示属性标记该链接标签下的所有属性。
图9c为图9b的源代码在浏览器端的显示图。可见,采用本发明方法检测及标示后的链接块将在浏览器端突出显示,以提示用户。同时,删除链接地址信息,中断链接地址所对应的响应,防止虚假信息传播。
以上测试表明,当链接信息进行替换时,本发明能定位出被篡改的链接信息所在位置,并删除链接块中包括链接地址的属性信息,有效保护网页中的链接信息,阻止危害性网页的传播。
Claims (1)
1.一种基于控制符编码隐写的网页链接保护方法,包括如下步骤:
A、网页分块
根据原始网页文件F,F={fr|r=1,2,...,N}中的链接标签的结束符,将原始网页文件F分为M+1个网页块;前M个网页块为链接块Fi,Fi={fr|r=Ti+1,Ti+2,...,Ti+ti}为链接块;其中,fr表示网页文件F中位置序号为r的字符,N为网页文件F包含的字符数;i为链接块Fi的序号,i=1,2,...,M;Ti为第i-1个链接块Fi-1的结束字符位置的序号,T1=0,ti为第i个链接块Fi的字符总数;第M+1个网页块FM+1由原始网页文件F中位置序号从TM+tM+1到N之间所有的字符组成;
B、水印生成与嵌入
B1、水印生成:将链接块Fi,i=1,2,...,M,利用密钥k1通过Hash函数生成链接块Fi的160比特的摘要信息Xi;同时,利用密钥k1生成大小为160×K的伪随机矩阵R,K为设定的各链接块Fi的水印长度,K>13;第M+1个网页块FM+1不保护,不进行操作;
再将摘要信息Xi乘以伪随机矩阵R生成链接块Fi的K比特的二进制核心摘要信息Wi,Wi=(Xi·R)mod 2=(wi,1,wi,2,...,wi,K);其中·为矩阵点乘运算,mod为模运算;
将所有链接块Fi的二进制核心摘要信息Wi依次连接,得到K×M比特的二进制序列;如果K×M比特的二进制序列的长度不能被7整除,则在后面补0使其长度能够被7整除,否则不进行补0操作;从而得到7G比特的二进制字符串, 为向上取整运算;然后利用密钥k1将7G比特的二进制字符串置乱得到置乱的7G比特的二进制字符串;
再将置乱的7G比特的二进制字符串以7比特为单位依次转化为G个十进制数值,并对其中大于98的十进制数减去64;再将G个十进制数依次相连得到对应的十进制序列Y={yg|g=1,2,...,G},yg为十进制序列Y的第g个数据;
B2、控制符编码:将网页文件中不会影响网页正常显示的控制符作为隐写字符串,一共有99种控制符cs,将其依次编码为0到98,即C={cs|s=0,1,2,…,98},cs对应编码值为s的控制符;具体组成为如下表:
控制符编码表
B3、控制符序列生成:根据B1步得到的十进制序列Y={yg|g=1,2,...,G},生成控制符序列I,I={Ig|g=1,2,...,G},其中,Ig为控制符编码表中编码为yg的控制符cs,s=yg;
B4、控制符隐写:如果控制符序列I={Ig|g=1,2,...,G}中的控制符个数不能被M整除,则一次或多次补入控制符序列I的第一个控制符,使其控制符个数能被M整除,否则不进行补入操作;得到长度为q×M的待隐写控制符序列E,然后依次将待隐写控制符序列E平均分为M个待隐写控制符组Ei,即E={Ei|i=1,2,...,M};其中,Ei={Iq×(i-1)+1,Iq×(i-1)+2,...,Iq×i};
将待隐写控制符组Ei整体嵌入到对应的链接块Fi中,生成含水印链接块Fi W;其中,链接块Fi的嵌入位置为链接块Fi的超链接标签起始符‘>’字符之前,最后一个网页块FM+1不进行水印嵌入;最终生成含水印网页文件FW;FW={Fi W(i=1,2,…,M),FM+1};
C、水印提取与重构
令待检测网页文件F'=原始网页文件F,进行步骤A的操作得到M个链接块Fi(i=1,2,…,M)和第M+1个网页块FM+1;令链接块Fi=待检测链接块Fi',F'={Fi'|i=1,2,…,M};令网页块FM+1=待检测网页块FM+1';
C1、隐写控制符的提取:提取M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符;如果不足q个则重复第一个控制符至q个;如果超出q个,则删除前面的控制符使其个数为q个;得到提取控制符组Ei';所有提取的控制符组Ei'组成提取的控制符序列E',即E'={Ei'|i=1,2,…,M};
C2、控制符解码:依次查找出提取的控制符序列E'中的各个控制符在B2步中的控制符编码表中的编码s;将这些编码依次连接,构成提取的十进制序列Y'={yg'|g=1,2,...,G};
将提取的十进制序列Y'中的G个十进制数yg'依次转化为G个7位的二进制数;然后将G个7位的二进制数依次连接构成7G比特的二进制序列;根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的提取水印信息Wi'={wi,1',wi,2',…wi,K'},如果最后一组不足K比特则丢弃,得到待检测网页F'提取的水印信息W'={Wi'|i=1,2,...,M};
C3、水印重构:将M个待检测链接块Fi'的超链接标签起始符中‘>’字符之前的所有控制符删除得到预处理后的待测链接块Fi B;
令预处理后的待测链接块Fi B=链接块Fi,进行步骤B1的操作,得到十进制序列Y={yg|g=1,2,...,G};令重构的十进制序列 将重构的十进制序列YB中大于98的十进制数减去64,再将G个十进制数转化为7比特的二进制数,并依次相连得到7G比特的二进制序列;再根据密钥k1对7G比特的二进制序列进行反置乱,并依次按K比特一组进行分组,得到待测链接块Fi'的重构水印信息Wi B={wi,1 B,wi,2 B,…wi,K B},如果最后一组不足K比特则丢弃,得到待检测网页文件F'的重构水印信息WB={Wi B|i=1,2,...,M};
D、篡改判断与定位标示
D1、篡改判断:将第i个待检测链接块Fi'的K比特重构水印信息Wi B与第i组的提取水印信息Wi'逐比特进行比较,如果不同,则判定该比特为改动;得到待检测链接块Fi'中的改动比特总数Di,Di∈[0,K];当改动比特总数Di大于阈值β时,判定待检测链接块Fi'被篡改,否则未被篡改,当第M+1个待检测网页块FM+1'不判断;阈值β∈[0,K/2];
D2、浏览器的定位标示:前M个待检测链接块Fi'如果被判定为篡改,则删除待检测链接块Fi'超链接标签起始符后的所有属性信息,再在待检测链接块Fi'中加入警示标识字符信息或警示背景颜色信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410299374.8A CN104050400B (zh) | 2014-06-27 | 2014-06-27 | 一种基于控制符编码隐写的网页链接保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410299374.8A CN104050400B (zh) | 2014-06-27 | 2014-06-27 | 一种基于控制符编码隐写的网页链接保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050400A true CN104050400A (zh) | 2014-09-17 |
CN104050400B CN104050400B (zh) | 2017-06-06 |
Family
ID=51503220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410299374.8A Expired - Fee Related CN104050400B (zh) | 2014-06-27 | 2014-06-27 | 一种基于控制符编码隐写的网页链接保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050400B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330306A (zh) * | 2017-06-28 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 文本水印嵌入及提取方法、装置、电子设备及存储介质 |
CN108363910A (zh) * | 2018-01-23 | 2018-08-03 | 南通大学 | 一种基于html代码的网页水印的嵌入与提取方法 |
CN109785222A (zh) * | 2019-01-17 | 2019-05-21 | 杭州基尔区块链科技有限公司 | 一种用于网页的信息快速嵌入和提取的方法 |
CN110858252A (zh) * | 2018-08-23 | 2020-03-03 | 北京搜狗科技发展有限公司 | 一种文本保护方法及相关装置 |
CN112968780A (zh) * | 2021-02-22 | 2021-06-15 | 珠海市鸿瑞信息技术股份有限公司 | 基于电力配网自动化运维网络安全加密认证平台 |
CN113806697A (zh) * | 2021-09-22 | 2021-12-17 | 北京明朝万达科技股份有限公司 | 一种代理模式下水印添加方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831570B (zh) * | 2012-08-21 | 2014-08-13 | 西南交通大学 | 可在浏览器上定位篡改位置的网页水印生成与认证方法 |
-
2014
- 2014-06-27 CN CN201410299374.8A patent/CN104050400B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
和红杰: "数字图像安全认证水印算法及其统计监测性能分析", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李培丰: "基于"控制符"网页信息的隐藏技术", 《福建电脑》 * |
王长征 等: "基于网页标记的信息隐藏技术研究与实现", 《科技广场》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330306A (zh) * | 2017-06-28 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 文本水印嵌入及提取方法、装置、电子设备及存储介质 |
CN107330306B (zh) * | 2017-06-28 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 文本水印嵌入及提取方法、装置、电子设备及存储介质 |
CN108363910A (zh) * | 2018-01-23 | 2018-08-03 | 南通大学 | 一种基于html代码的网页水印的嵌入与提取方法 |
CN110858252A (zh) * | 2018-08-23 | 2020-03-03 | 北京搜狗科技发展有限公司 | 一种文本保护方法及相关装置 |
CN109785222A (zh) * | 2019-01-17 | 2019-05-21 | 杭州基尔区块链科技有限公司 | 一种用于网页的信息快速嵌入和提取的方法 |
CN109785222B (zh) * | 2019-01-17 | 2023-06-02 | 杭州基尔区块链科技有限公司 | 一种用于网页的信息快速嵌入和提取的方法 |
CN112968780A (zh) * | 2021-02-22 | 2021-06-15 | 珠海市鸿瑞信息技术股份有限公司 | 基于电力配网自动化运维网络安全加密认证平台 |
CN112968780B (zh) * | 2021-02-22 | 2021-10-22 | 珠海市鸿瑞信息技术股份有限公司 | 基于电力配网自动化运维网络安全加密认证平台 |
CN113806697A (zh) * | 2021-09-22 | 2021-12-17 | 北京明朝万达科技股份有限公司 | 一种代理模式下水印添加方法和系统 |
CN113806697B (zh) * | 2021-09-22 | 2023-09-01 | 北京明朝万达科技股份有限公司 | 一种代理模式下水印添加方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104050400B (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kamaruddin et al. | A review of text watermarking: theory, methods, and applications | |
CN104050400B (zh) | 一种基于控制符编码隐写的网页链接保护方法 | |
Tai et al. | Image self-recovery with watermark self-embedding | |
Hakak et al. | Approaches for preserving content integrity of sensitive online Arabic content: A survey and research challenges | |
Satir et al. | A compression-based text steganography method | |
CN108537049B (zh) | 一种基于二值图像的自适应隐写算法 | |
Gutub et al. | Improved method of Arabic text steganography using the extension ‘Kashida’character | |
Chang et al. | A secure fragile watermarking scheme based on chaos-and-hamming code | |
He et al. | Adjacent-block based statistical detection method for self-embedding watermarking techniques | |
Wang et al. | A majority-voting based watermarking scheme for color image tamper detection and recovery | |
CN100395776C (zh) | 基于混沌散列函数的分块脆弱水印生成与认证方法 | |
CN110457873B (zh) | 一种水印嵌入与检测方法及装置 | |
Sultan et al. | Reversible and fragile watermarking for medical images | |
Rahman et al. | Robust and fragile medical image watermarking: a joint venture of coding and chaos theories | |
Raj et al. | A survey on fragile watermarking based image authentication schemes | |
CN109785222B (zh) | 一种用于网页的信息快速嵌入和提取的方法 | |
Domain | A review and open issues of diverse text watermarking techniques in spatial domain | |
Melkundi et al. | A robust technique for relational database watermarking and verification | |
CN102831570B (zh) | 可在浏览器上定位篡改位置的网页水印生成与认证方法 | |
Gutub et al. | Advancing partial verification of watermarking for Arabic text via utilization of innovative counting-based secret sharing | |
CN1322433C (zh) | 能区分图像与水印篡改的定位型脆弱水印生成与认证方法 | |
Zhou et al. | An additive-attack-proof watermarking mechanism for databases' copyrights protection using image | |
Sonnleitner | A robust watermarking approach for large databases | |
CN116305294B (zh) | 数据泄露溯源方法、装置、电子设备及存储介质 | |
Fei et al. | A reversible watermark scheme for 2D vector map based on reversible contrast mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20170606 Termination date: 20200627 |