在文档中嵌入信息的方法和系统的制作方法

文档序号:6416936阅读:188来源:国知局
专利名称:在文档中嵌入信息的方法和系统的制作方法
技术领域
本发明涉及一种在一个电子文档中嵌入包括文本数据的附加信号,即所谓的电子水印信息的方法,一种防止这些嵌入信息被破坏的方法,一种防止重利用这些嵌入信息的方法,及其系统。
由于大量的信息可以通过互联网或通过使用CD-ROM进行发行,为进行电子搜索和包含数字数据的文档的发行提供服务的商务变得很重要。为了确保这种商务的安全发展,能够提供包含在将要发行的数据文档中的有版权资料的管理并保护所有者权利的技术是不可缺少的。那些希望保护包含在数字文档中的秘密资料和希望寻找并跟踪泄露秘密的路径的公司也需要这种技术。
用于管理有版权的电子数据的技术可大致分为两种方法即采用加密和授权的访问控制和电子水印。第一种技术是确保访问所选数字资料的内容仅限于那些已购买权利的用户或那些对资料的使用由管理者控制的用户。后一种技术提供一种功能可防止或跟踪数字文档包含的解码数据的二次外流。为了给有版权材料提供严格的管理必须将这两种技术结合起来。
在各种各样的媒体中,对大量发行的文本数据使用电子水印技术有很大的需求。但是,在纯文本数据中只有很少的冗余用于信息表达,嵌入补充原始内容(即电子水印信息)的信息非常困难。在题目为“PostScript和PDF文档的数字水印建议”,Ryujiro Shibuya,Yuichi kaji和Tadao kasa,SCIS98-9.2.E(现有技术1)中,日本未审查专利公开编号Hei 7-222000(现有技术2)和日本未审查专利出版物编号Hei 6-324625(现有技术3)中,提出一种将水印信息嵌入到文档描述中以包含外观和编排格式的技术,其要点是基于这样一个事实,即页描述形式,如PS(PostScript)或PDF(可携带文档格式),往往被用于文本数据的实际发行。在上述现有技术中,对行间距、字间距和字体进行轻微修改以便在文档中嵌入信息。
但是,当不满足下面两个条件时,使用上述常规技术管理版权或指定泄密路径是很困难的1检测包含在多个文档的数据中的水印只能由拥有公共检测钥的用户来完成。
2该技术足够健壮使得在一般发行处理过程中,它可以避免格式转换及由未授权用户对材料的破坏。
但是,现有技术1没有指出可以满足条件1的特定检测方法。方法1和方法2中描述的方法除了处理字符行的基行的方法,要求与原始文档数据进行对比。由于要为嵌入水印的每个文档记录和管理水印检测信息,在一个大的系统中该方法难于使用。上述方法没有一个支持使用一个钥的检测系统(只有钥拥有者允许检测一个水印的系统)。
至于条件2,只在现有技术2中写有对打印数据的重扫描的研究,而没有考虑使页描述数据足够健壮以避免其自身的破坏。实际上,很多页描述格式是对公众开放的,可能被破坏。例如,由基行处理嵌入在一个行间隔中的一个水印可以通过轻微调整各个行的位置和维持一个不变的宽度被轻易破坏。另外,只有未嵌入水印信息的纯文本数据可以被从页描述数据中抽出并被使用。
在日本未审查专利公布No.Hei 8-348426(现有技术4)中,提出一种使用两个位置序列的统计属性来嵌入水印的方法。尽管现有技术4中描述的该技术不是涉及文本的电子水印的发明,该技术满足条件1,至于条件2,当位置随机变化时,它能够进行足够健壮的嵌入。但是,在页描述中采用这种技术很困难。如果这种技术用于页描述,用于指定位置序列的方法并不明显,它不同于在一个图象中插入一个水印。在嵌入一个水印时,需要调整位置的对象必须被唯一标识。页描述由一组包括位置信息的页描述对象(字符或字符串)组成,但不包括标识和排序各个元素的信息。虽然对于一个图象,象素和小区域可以由X和Y座标指定,在页描述中一旦一个文档或一页被改变,在由座标指定的特定区域内其位置可以被调整的对象不是总能出现。因为在页描述中对象在页图象中的位置顺序不影响图象外观,对象在文件格式中出现的顺序在指定对象时没有帮助。实际上,作为文件格式转换或由第三方试图破坏它们(一次攻击)的结果,对象出现在文件中的顺序可能被改变。
而且,上述现有技术的例子没有一个提供解决只从页描述数据中抽取纯文本数据的问题的解决方案。由于用于通过网络发行的页描述的说明书对公众开放,只需形成一个可以机械地抽出纯文本数据的适当的程序。另外,页描述的显示软件频繁地支持用剪切和粘贴将数据发送给另一个程序。在这种情况下,一个普通用户可以抽出文本。PDF显示软件用一个保密字控制访问权限并禁止使用剪切和粘贴。但是在当前系统中,如果允许打印,要取消保护只需作一个PDF→PS→PDS转换(在转换为PS时管理保密字的信息被忽略)。因此,一些应用程序可以从页描述数据中抽取出文本并非法买卖。
因此,本发明的一个目的是提供一种在包含以页描述语言写的文本的文档数据中嵌入信息的方法和系统。
本发明的另一个目的是提供一种检测在包含以页描述语言写的文本的文档数据中嵌入信息的方法和系统。
本发明的另一个目的是提供一种在包含以页描述语言写的文本的文档数据中嵌入一个电子水印,并使用公共检测钥检测多文档中的电子水印的方法及其系统。
本发明的另一个目的是提供一种在文档数据中嵌入信息的方法及其系统,该方法足够健壮能够在普通数据发行处理和非授权用户攻击时防止格式转换。
本发明的另一个目的是提供一种在文档数据中嵌入信息的方法及其系统,其中其特征需要操作的对象可能被唯一标识。
本发明的另一个目的是提供一种防止从页描述数据中抽取文本的方法和系统。
本发明的另一个目的是提供一种在文档数据中作为一个水印嵌入,表示版权的信息的方法和系统。
本发明的另一个目的是提供一种在文档数据中嵌入信息和防止通过机械处理从文档中删除电子水印的方法和系统。
要实现上述目的,首先,对要嵌入信息的文档数据的编排模式进行分析。接着,根据对该编排格式的分析,生成一个要嵌入信息的位置的序列。根据嵌入的信息,改变指定位置的文本的页描述。结果,信息被嵌入包含以页描述语言写的文本的文档数据中。该位置序列是通过产生一个顺序的伪随机数的串来生成的。
当,例如,采用一个统计的方法(现有技术4)在页描述语言(如PDF)中嵌入电子水印时,根据文档的编排结构指定两个位置序列。使用该编排格式描述,能够提供描述数据,通过该数据一对指定位置可以证明多个文档的强烈相关,其中每个文档有不同的编排格式,并且提高了嵌入处理的可靠性。
要检测嵌在文档数据中的信息,首先分析嵌入信息的文档数据的编排格式。接着,根据分析的编排格式生成嵌入信息的位置的序列。嵌入信息从一个页描述获得,该页描述为在确定位置的文本输入。该位置序列是通过采用用于嵌入信息的顺序的伪随机数的串来生成的。
为了在文档数据中嵌入不可变信息,首先从文本中抽取一个信息将被嵌入其中的字符串。然后,抽取出的字符串被分成较小的单元。表示距离该字符串的一个参考点的相对距离或距离前一个字符的相对距离的页描述根据将嵌入的信息而被改变。这里,当原始字符串被分开时,意味着或者被抽出了单独字符或者形成了较小字符串。
根据在文档数据中嵌入不可变信息的另一个方面,首先,分析嵌入信息的文档中的数据的编排格式。接着,从分析过的编排格式中选择一个或多个字符。生成一个表示选中字符的字体,该页面描述被改变以便用该字体替换选中的字符。
在这些方法中,当页描述语言中的一个对象被机械地重定位时,页描述数据被如此构造使得对象外观发生非自然变化。用这些方法,通过完成以下方法来禁止非授权用户处理页描述数据中的对象分割构成一行的字符对象集,并以PDF格式在各独立位置存储分割过的对象段;使用一种方法嵌入伪信息,从而如果嵌入信息被删除,对象的外观将被改变;或用一个字体表示两个字符。
为了防止从包含以页面描述语言写的文本的文档数据中抽取嵌入的信息,首先,从文本中选择一个字符。然后,生成一个表示选中字符的图元,并改变页描述数据使该图元替换选中的字符。
页描述数据中的编码文本的一部分或全部被改变使得它可以用一种特殊字符码系统来编写,并可以用用于显示和打印的图元来替换。只要采用能够理解页描述语言的专用浏览器,除了其它字符之外,用图元替换的字符可以被显示或打印。但是,因为该字符未被编码为文本,别的应用程序不能从该描述数据中抽取它。
根据在页描述语言的PDF文件中标注电子水印的本发明,防止复制很多PDF文件,非法构造文档数据库,根据数据库使用数据的非法分布服务是可能的。为了防止非法商务交易,表示版权的信息可被作为水印嵌入文本文件中。如果一个非授权用户删除该水印并重建文件作商务使用,他或她不能机械地从大量的文档页中删除水印。
附图的简要说明

图1示出了根据本发明嵌入和检测一个水印的伪码。
图2示出了说明根据本发明的一个系统的一个例子硬件装置图。
图3示出了将嵌入水印之前和之后的文件叠印起来的图。
图4示出了同等化攻击法及攻击本发明的方法之后获得的结果。
图5示出了两行上的被定义为一个单个组合字体的字符。
图6示出了用图元置换后获得的编辑结果。
图7示出了根据本发明的水印嵌入处理的流程图。
图8示出了根据本发明的水印检测处理的流程图。
图9示出了不可变页描述处理(分割字符串和改变参考点)的流程图。
图10示出了不可变页描述(组合字体)处理的流程图。
图11示出了根据本发明的防止文本信息抽取处理的流程图。
优选实施例(1)根据编排结构指定位置序列即使当页描述数据中的对象的位置和形状稍有变化时文档的可读性也能保持。正如在现有技术中描述的那样,通过改变对象的位置和形状可以在页描述数据中嵌入水印信息。在本实施例中,基本地,采用一个统计的嵌入方法用对文档的编排结构的描述来指定一个位置序列。在下面的讲解中,作为嵌入特征采用的是两个指定字符之间和它们的后续字符之间在距离上的变化(字符馈送距离character feeding distance)。
具体地说,该特征被描述为具有以下形式“构成在页P上第1行中的第c1个字符和第c2个字符间的字符距离的变化的差别”,这里,p,l,c1和c2(c1<c2)是自然的,伪随机确定的数字。为了指定行l,采用文档图象编排格式分析为每一行收集页上的字符(或字符串)对象并按照适当的规则对它们进行排序。由于不同的文档列数和竖写/水平写状态不同,用来对行进行计数的顺序的适当的规则是事先确定的,但这个规则可能不能总是提供用户要读的数据的正确顺序。对任意一个文档无论它是在完成嵌入或检测处理之前或之后,提供一个相同的结果很重要。可以采用诸如象“只有大小在9.5和10.5磅之间的字体是计算行或字符的目标”或“用出现在从c1到c2的字符的尺寸来归一化距离”等规则,只要第三方知道该规则不是自宽容的(self-indulgent)。这个规则改善了两个特征序列的相互关系并提高了击退随机改击的能力。
在图1中,根据本发明的嵌入和检测水印的过程以伪码示出。在嵌入过程前,确定用于嵌入和检测的位置序列。为嵌入N位信息准备了位置序列的N对,代表第j位的(j=1,…,N)的位置序列被定义为aji,bji(i=1,…,n)。位置序列的长度n是根据所要求的水印的强度来设定的,各位置的值根据编排格式描述来指定。用页p,行l和字符c1和c2表示的四个自然数用来指定aji和bji。当一个实际的行超出第l行的第c1个字符,后续的行被顺序计数。当一个被处理的字符已经是被定义为要嵌入的字符时,程序控制跳转到来被嵌入的第一个顺序字符。项aji和bji表示相应字符在距离上的变化,它们的位置如下获得。字体包括所谓的字体尺寸信息,字体尺寸包括关于字符宽度的信息,该字符宽度表示一个字符的起点和后续字符的起点之间的距离。字符的实际宽度和字体尺寸中给出的字符宽度之间的差被定义为一个特征。具体地说,通过使用字体尺寸中给出的字符宽度来规范化字符的实际宽度获得的值被用作一个特征值。特征值之间的差用于信息嵌入和信息检测。
页描述数据中要嵌入信息的字符串对象被分割使得字符c1和c2的位置可以被算出用于计算所有的aji和bji。不用于嵌入的部分也随机分割使非授权用户不能轻易获得有关嵌入位置的信息。对一组分割的字符串对象进行编排格式分析(使用有关分割了的字符串对象的信息而不是从一个图象中检测到的字符串矩形)使得它可以被重新构造为一行数据。根据获得的数据行,对应于aji和bji的字符被从文档中选择一个位置,并在该处嵌入信息。
为了嵌入信息,正如在现有技术4中所描述的那样,对应于j的位置序列被选择,当第j位定“1”时,为增加aji-bji,字符位置从i=1的点移至i=n的点。具体地说,对于aji,由c1表示的字符移到其右边(竖写时向下)或由c2表示的字符移到其左边(竖写时向上)。要减少一个位置上的值,只需完成一个逆操作。当第j位为0时,字符位置被移动以减小aji-bji。
图7是上述信息嵌入处理的一个流程图。在步骤110完成编排格式分析。该编排格式分析对应于字符的排序,字符的物理位置信息基于编排格式结构。在步骤120生成一个位置序列,在步骤130分割字符对象。位置序列用于根据一个特定密钥(key)生成一个伪随机数串并用于确定嵌入位置。在步骤140j被初始化为“1”,在步骤150i被初始化为“1”。在步骤160,aji递增而bji递减以嵌入“1”,而当aji递减bji递增时嵌入“0”。在步骤170进行检查以确定i是否等于或小于一位上的嵌入计数。如果判断是是,程序控制返回步骤160。如果判断是非,在步骤180检查确定j是否等于或小于该位计数。如果判断为是,程序控制返回步骤150。如果判断为否,在步骤190生成页描述数据。
在上述处理中,三种方法被用于改变aji和bji一种是只改变aji的方法,一种只改变bji的方法以及一种aji和bji都被改变的方法。另外,对于aji和bji,改变c1和c2的位置各用了三种方法一种只改变c1位置的方法,一种是只改变c2位置的方法,和一种两个位置都改变的方法。为aji和bji随机地选择这些方法的组合。结果,这种组合方法比非随机选择的方法能更好地抵御非授权用户试图抽取或删除一个水印,或试图分析一个算法的攻击。
计算嵌入水印的字符对象的位置,并用新的座标信息准备页描述数据。在页描述语言中,一个对象如一个字符是通过增加座标信息来描述的。例如,通常使用如下描述。座标=(100,100),字符串=“This is apen”。这定义了将以当前字体和大小写句子“This is a pen”的座标(100,100)。实际上,字符“T”的描画以(100,100)开始,“his is a pen”中的各个字符的描画开始位置根据它们后续字符的宽度(由字体和字符大小来确定)来确定,以使这些字符从它们的描画开始点开始描画。
下面两种方法可用来移动句子“This is a pen”中的字符并在其中嵌入信息。(a)为每个字符和句子的描画指定绝对位置的方法。(b)为句子头提供绝对位置并在字符问题嵌入一个相对移动距离的方法。
根据方法(a),有下列表达式座标=(100,100),字符串=“T”,座标=(110,100),字符串=“h”,座标=(118,100),字符串=“i”,座标=(123。100),字符串=“s”,…根据方法(b),有下列表达式座标=(100,100),字符串=“[(This is)-2(s a p)2(en.)]”由[ ]括起的字符串由一组字符和相对移动距离组成。在由[]括起的字符串中,移动距离位于由()括起的字符串部分之间。在上面的例子中,字符串“This i”从位置(100,100)开始描画,座标从最后一个i描画的点开始向左移动两个显示单位。然后下一个字符串“s a p”从新的座标位置开始描画。然后座标从描画“p”的点开始向右移动两个显示单元显示字符串(en)。一个“显示单元”表示与一个座标移动距离单元相等的距离。
方法(b)的表达式比方法(a)的表达式简洁。但是,通过删除出现在页描述数据中的相对移动距离可以很方便地删除水印。如果方法(b)能抵御非授权用户的攻击,就能够提供一种既简洁又能够抵御攻击的方法。这样的方法将在稍后用于不可变页描述数据的本实施式的第二节中讲述。
检测一个水印,通过编排格式分析来自字符串对象的行数据能被恢复在页描述数据中。根据恢复的行数据的顺序,通过使用与嵌入过程相同的位置序列来检查一个值。计算第j位(j=1,…,N)的∑(aji-bji)。当结果等于或大于指定的正阈值时,得到值为1的数据。当结果等于或小于指定的负阈值时,得到值为0的数据。其它情况下,断定不存在有效数据。
图8是水印检测处理的流程图。在步骤210完成编排格式分析。编排格式分析根据编排结构与只有物理位置信息的字符的顺序相对应。在步骤220j被初始化为1,在步骤230计算∑(aji-bji)。这个计算对应于以下处理生成与嵌入时使用的随机数串相同的随机数串,根据编排格式分析结果,确定从哪个字符中抽取的特征值(aji-bji),并用特征值计算表达式。在步骤240实施检查确定计算所得的值是否等于或大于一个正阈值。如果判断为是,输出“1”并且程序控制前进到步骤290。如果判断为否,程序控制移至步骤250,在该处实施检查以确定计算所得的值是否等于或小于一个负阈值,如果判断为是,输出“0”,程序控制前进到步骤290,如果判断为否,程序控制移至步骤280,在该处断定没有嵌入的信息。在步骤290实施检查确定j是否等于或小于位数,如果判断为是,程序控制返回步骤230。如果判断为否,该处理终止。
在图3中示出了一个例子,其中叠印了嵌入一个文本串之前的PDF文件和用本发明的方法在页描述数据中嵌入文本之后的PDF文件。显然特定字符的位置稍有变化,但是对于一般应用,这种差别不足以导致用户不愉快。
在本发明中,通过编排格式分析过程,各字符对象被映射到编排结构中以完成对可用于多文档的字符对象的排序和指定。由于这些特征是根据编排结构来指定的,能够获得一系列的可普遍用于多文档的字符,同时保证采用伪随机机制。页p,行l和字符c1和c2的伪随机数的是根据使用一个适当的种子(密钥)来产生的。可以是预料当用于多文档时这样获得的特征ai和bi将相互强烈相关。这是因为具有类似尺度的字体的字符串的特征可通过组合编排结构的描述和用于获得特征的规则,如“计数行或字符时只有大小为9.5到10.5磅的字体才是目标”来计算。
由于字符串对象的位置信息被保存即使该字符串被转换为不同的页描述语言形式(如,由PDF文件生成一个Post Script文件然后再转换为PDF文件),嵌入的水印不受这种类型的转换的影响。由于普通用户不会去改变页描述语言格式,如PDF的外观的操作(移动或编辑对象),即使他看见了这种格式,只要普通用户进行的是正常操作水印将不会被删除。(2)不可变页描述恢复各种对象的编排格式的方法可用于攻击嵌入在字符串对象的位置特征的水印。这样的攻击被称为同等化攻击(equalization attack),这是基于表示一个水印的座标之间的稍微不同被同等化这种想法。在这种情况下,一个攻击是一个改变页描述的过程,在该过程中嵌入一个水印以获得另一种类型的页描述,该攻击还是一个攻击或破坏水印的非常有效的手段。在本部分,下面将对下面的足够健壮的能对付这种同等化攻击的方法进行讲解*这样来构造页描述语言使得只根据该页描述外观实施的表面的同等化处理将导致文档的外观大为改变。
*使实施包括编排格式解释的同等化处理(本质地改变页描述数据)很困难。对付表面同等化的对策在下面的页描述中,假设,在相对移动距离2,-2,2和-2中,第二个和第三个距离是为嵌入水印而增加的变化,其它的距离是作为伪数(dummy)(作为阴谋攻击的对策)加入的。座标=(100,100),字符串=“[Th]2(is i)-2(s ap)2(e)-2(n.)]”(*)虽然攻击者不能区分有意义的变化和伪数,他或她可以机械地删除所有相对移动距离的描述,产生一个页描述为座标=(100,100),字符串=“[(This is a pen)]”。
足够健壮的可以对付这种攻击的方法之一是,不采用在字符串中使用相对移动距离的描述,而将每个字符对象的位置描述如下座标=(100,100),字符串=“T”座标=(110,100),字符串=“h”但是,用这种方法页描述数据的大小比采用相对移动距离描述的方法的页描述数据大。
在本发明中,采用下列足够健壮的用于使用相对移动距离的简洁页描述的方法对付同等化攻击。(i)移动参考点的方法移动显示字符串的参考点的方法如下座标(90,100),字符串=“[10(This i)-2(sap)2(en)]”在本例中,参考点不是(100,100),而是(90,100),显示位置从该参考点向左移了10个显示单位。然后,在实际写字符串时,显示位置向右移10。如果同等化攻击法攻击这个表达式,结果为座标=(90,100),字符串=“[(This is a pen)]”,开始位置向左移动了10。(ii)将字符串分割为各字符并将它们组合形成多字符串的方法。
座标=(100,100),字符串=“[(T)19(i)10(a)5(p)]”座标=(100,100),字符串=“[3(h)2(is)17(s)20(e)-2(n.)]”在本例中,字符串“This is a pen”被分割为每个单词的第一个字符和其它的字符,各段被独立地表示。就外观而言,这个串与由上述方法(*)所表示的串没有什么不同。当同等化攻击法攻击这个表达式时,其结果为座标=(100,100),字符串=“[Tiap]”座标=(100,100),字符串=“[(hissen.)]”。
这样,字符串“Tiap”和“hissen”被重叠显示在从(100,100)开始的位置。
由于各字符串对象是用页位置来描述的,即使当它们在文件中的位置和顺序改变时,它们在显示器上的外观不受影响。只要关于形成一行的多个对象的描述随机地定位在一个文件中,通过机械的和局部的外观分析是不可能检测到上述的分割。
方法(i)和方法(ii)的组合能更好抵御同等化攻击。在图4中示出了同等化攻击法攻击用方法(i)和方法(ii)表达的文件之后所得到的结果。当水印信息被同等化攻击法破坏时,文档的外观亦被严重破坏而不能被重新利用。
图9是不可变页描述(分割字符串和改变参考点)的流程图。首先,在步骤310抽取出水印要插入其中的显示字符串,在步骤320中该字符串被分割为单独的字符串。在这个处理中,字符串被分割成单独的字符或较短的字符串并被加入位置信息。在步骤330中,距离字符串参考点的相对移动距离和距离单独字符的参考点的相对距离被改变。为了定位属于该字符串的各字符,每个字符的实际位置通过使用距离形成一个特殊参考的座标的相对移动距离来确定。在这种情况下,参考座标是移动的但是应该注意,由于距离各字符的参考座标的相对移动距离也被改变,字符将要实际写入的位置是不变的。在步骤340,信息被嵌入字符串中。
对付包括编排格式解释的同等化的对策作为同等化的一个极端攻击,进行用于输入文档图象的编排格式分析,所得的结果和页描述数据中的文本码被用来准备新的页描述数据。编排格式分析的结果和字符码被用来生成带标签,如latex(实际这被研究用于输入文档图象)的源码,数据被重新格式化,使得非授权用户即攻击者生成一个与原始编排格式不同的页描述。在这种情况下,嵌在原来编排格式中的水印信息丢失。
为了防止这种攻击,处理页描述数据使作为前提的编排格式分析不容易被实施。例如,如图5所示,纵向对齐的在两行上的字符被定义为一个字体(在页描述数据中作为一个专用字体),并被放置为从它们的外观不能标识它们。由于通过编排格式分析处理不能理解该字体所代表的意义,不能输出该文档的正确的逻辑描述。如果在重新格式化时将这种复合字体字符和普通的字符串联合起来,一个字符的长对宽的比率将大为改变,该字符的阅读将很困难。结果,一个攻击者实施以版权的所有者身份出现的数据发行将很困难。
图10是不可变页描述(复合字体)的流程图。在步骤410中进行编排格式分析。在步骤420中选择两个纵向安排的行,在步骤430中从选择的两行中选择两个基本水平位置的字符。在步骤440中从系统中获得关于这两个字符的字体信息。在步骤450中准备包括这两个字符的字体并分配字符码给这个字体。在步骤460中,该字体信息被嵌入文件中,在步骤470中,新的字符码被嵌入原字符串中。最后,在步骤480中,从其它字符串中删除适当的字符。步骤460到480与用预备的字体替换文本中的适当字符处理相对应。
根据一个适当的种子用伪随机数确定该位置是令人满意的,一页中有一个或几个位置要进行字体复合。如果一个字体对象被人工地调整或一个水印被删除,那么只要复合字体还存在,可以确定出文档中的水印被非法删除。
复合字体可以由单个字符组成。例如,字符“A”可以被准备为一个1/4大小轮廓字体(outline font)并显示为2×2的块。而且,扩展占据三行的字符可以组成一个单独字体。另外,组成一个组合字体的字符可能并不相邻,即,也许不在一起。
编排格式分析处理不仅被非授权用户采用,而且用于嵌入和检测水印。为了提供所要求的处理的准确性和复杂性,出现了下面物理区别之一*从用户的参考视点来看,要求为重新格式化的编排格式分析作出正确解释。但是,水印分布并不要求这种正确性,只有嵌入和检测需要获得相同的结果。
*用于重新格式化的编排格式解释必须唯一确定。但是,在抽取水印过程中,可以为多个可用编排结果进行水印检测。
因此,用于嵌入/检测处理的编排格式分析可以比用于重新格式化的分析更容易实现。
在本发明中,移动参考点的处理(i)和将一个字符串分割为单独字体并将它们组合获得多字符串的处理(2)被实施以对付企图解释页描述数据并删除移动位置的信息的攻击。因此,形成页描述数据时使非法改变编排格式信息影响文档的外观。由于破坏水印导致编排格式(在其外观上的)破坏,被破坏的文档不能被再次发行。
使用复合字体来降低编排格式分析的正确性的对策的能用来对付在完成编排格式分析之后进行页描述重新格式化的攻击。只有当攻击者准备了一个程序后才能从页描述数据中检测到组合字体的出现。但是,用户必须用视觉来识别连在一起的单词,否则该组合字体不能被分割为独立的字体,并且对重新格式化的结果产生不利影响。因此,从很多文档中机械地删除水印的处理很困难。
(3)防止抽取文本信息页描述数据中的文本码被删除并被一组描画相同字符的图元所替换。一个字符可能用不同于一般系统的码来表示,显示字体的信息可能被汇编在页描述数据中。被替换的“字符”然后作为一个行图象处理。虽然显示图象的形状是一个字符,该图象不能被标识为一个使用该图元串的字符。因此,如图6所示,当通过编辑器使用剪切成粘贴只显示文本数据时,即使当通过使用PDF显示软件可以浏览和打印时,也是要么字符不能被显示要么显示无意义的字符串。
上述改变是非可逆的,使用编码程序也不能恢复原来数据。为了获得与其实际显示相同的文本信息必须人为地进行检查和数据输入。即使只对文本数据的一部分,例如那些在日文文档或文章中频繁出现的助词如はがの英文文档里频繁出现的“in,at,from”,以及中文里频繁出现的“从,向,在”进行了上述处理,被抽取的文档也难于阅读。结果,通过进行由“需要人工检查”的意思所隐含的活动,可以得到与通过对文本进行整体处理获得的同样效果。
图11是一防止抽取文本信息的处理的流程图。在步骤510中,选择将由图元替换的字符。选择由图元替换的字符对应于选择防止从页描述数据中抽取的字符数据,即,它对应于一组表示一个字符,一行或一页的位置。在步骤520中从文本数据中删除所选的字符。这里,从文本数据中删除所选字符对应于从页描述语言的文本数据中删除一个目标字符。如果必要,改变页描述数据,后续字符的显示位置被清楚地描述。这么做是为了防止后续字符被显示被删除字符所占的位置上。在步骤530,表示被删除字符的图元被加入。加入表示被删除字符的图元对应于向页描述数据加入图元,其中具有相似外观的图形可被显示在被删除字符的位置上。最后,在步骤540进行检查确定是否所有的被选字符都已被处理。如果判断为是,终止该处理。如果判断为否,程序控制返回步骤520。
由于字符不是由码表示而是由图元来表示的,可以防止通过使用剪切或粘贴或用自动字符信息抽取程序来偷取文本信息。文档中所有的字符都可以被独立定义。但是,即使只替换一个频繁使用的字符,在文本被抽取之后都要求视觉检查,所包括的手工劳动量增加,从而可以防止偷盗文本信息。而且,文本是否已被非法抽取可以被确定因为丢失了一个特定字符。只要处理过一小部分字符,即使当字符字体信息作为图元被嵌入到页描述文件中时,文件大小仅有小小增大,不会丧失该文件作为发行数据的实用性。
PDF显示软件是用页描述语言写的典型的文档格式,它有一个功能用一个保密字来禁止剪切和粘贴。但是,“允许显示并禁止剪切和粘贴的控制可以通过参考PDF文件的标志来简单地实现。根据本发明,只有当码信息(或其一部分)被从页描述数据中删除时,文本码的偷盗才能被基本防止,而不取决于显示程序的实现。
另外,由于文本中的一部分码被删除,作为强制重新格式化页描述数据攻击结果所确认所需的手工劳动增加,这在(2)不可变页描述中讲述过,对水印的机械的破坏/复制是很困难的。
在图2中示出了一个根据本发明的用广嵌入/检测水印的一个系统的例示硬件装置。系统100包括一个中央处理装置(CPU)1和存储器4。CPU1和存储器4由总线2连接在一起,IDE控制器25连接到硬盘驱动器13(或连到一个存储媒体驱动器,如MO,CD-ROM26或DVD32),其中硬盘驱动器13是一个辅助存储设备。嵌入信息或要嵌入信息的文档文件最好存储在辅助存储设备中。与此类似,CPU1和存储器4由总线2连接,SCSI控制器27连接到辅助存储设备硬盘驱动器30(或一个存储媒体驱动器,如MO 28,CD-ROM29或DVD31)。软盘驱动器20通过软盘控制器19连接到总线2。
软盘被插入软盘驱动器20,与操作系统交互并向实现本发明的CPU1发指令的计算机程序的码或数据可存储在软盘,或硬盘驱动器13(或MO,CD 26或DVD 32上),或ROM 14中。通过将计算机程序载入内存14来执行它。这些码及相关数据包括一个操作系统,一个嵌入/检测程序和字体数据。计算机程序的码可以被压缩,也可以被分割为多个段存储在多个存储媒体上。
系统100进一步包括用户接口硬件组件,如点装置(鼠标或游戏杆)7和用于输入数据的键盘6,以及为用户提供可视数据的显示装置12。而且,可以通过串行端口16连接一个打印机,或通过串行端口15连接一个调制解调器。为了与其它计算机通信,系统100可以通过串行端口15和调制解调器或通过一个通信适配器18(一个以太网或令牌环卡)与网络连接。远程收发信机连接到串行端口15,或并行端口16利用红外线或电线与系统100交换数据。通过通信函数,要嵌入的信息或将要嵌入信息的文档文件可以外部地获得。
扩音器23用来接过放大器22接收音频控制器21所实施的D/A转换(数字/模拟转换)产生的音频信号并将该信号作为声音输出。为了将外部音频数据导入系统100,音频控制器21以通过麦克风24接收到的音频信息进行A/D(模拟/数字)转换。
如上所述,很容易理解本发明的本系统可由普通的个人计算机(PC);工作站,笔记本PC,膝上PC,网络计算机,电视机或其它引入计算机的电子家用设备;具有通信功能的游戏机;具有通信功能的通信终端,如电话,传真机,移动电话,PHS或PDA;或上述这些组件的组合来提供。但是,需要注意这些组件只是例子,在本发明中并不要求所有这些组件。
权利要求
1.一个信息嵌入系统,用于在包含以页描述语言写的文本的文档数据中嵌入信息,包括(1)分析要嵌入信息的所述文档数据的编排格式的装置;(2)根据所述编排格式的分析,生成所述信息将被嵌入的位置的一个序列的装置;(3)根据所述嵌入信息在指定位置改变所述文本的页描述的装置。
2.权利要求1的信息嵌入系统,其中所述的位置序列通过产生一个顺序的伪随机数字串来生成。
3.一个嵌入信息检测系统用于检测嵌入在包含以页描述语言写的的文本的方档数据中的嵌入信息,包括(1)分析嵌入信息的所述文档数据中编排格式的装置;(2)根据所述编排格式的分析,生成所述信息嵌入的位置的一个序列的装置;(3)从为文本输入的页描述的指定位置获得所述嵌入信息的装置。
4.权利要求3的嵌入信息检测系统,其中所述的位置序列通过采用一个顺序的伪随机数字串以嵌入信息的方法来生成。
5.权利要求1或3的系统,其中所述文本的所述页描述是表示一个字符的座标的描述。
6.一个信息嵌入系统用于在包含以页描述语言写的文本的文档数据中嵌入信息,包括(1)从所述文本中抽取信息将被嵌入其中的字符串的装置;(2)将抽取到字符串分割成较小单元的装置;(3)根据将被嵌入的所述信息,改变表示距离一个字符串的参考点的相对移动距离或距离一个字符的参考点的相对移动距离的页描述的装置。
7.权利要求6的信息嵌入系统,其中分割所述字符串的装置(2)用来将一个字符串分割成单独的字符,或分割成较小的串。
8.一个信息嵌入系统用于在包含以页描述语言写的文本的文档数据中嵌入信息,包括(1)分析信息将被嵌入的文档的数据编排格式的装置;(2)从所述分析过的编排格式中选择一个或多个字符的装置;(3)创建一个表示一个选中字符的字体的装置;(4)修改页描述,用所述字体替换所述选中字符的装置。
9.权利要求8的信息嵌入系统,其中创建一个字体的所述装置(3)包括为所述字体分配字符码的装置。
10.权利要求9的信息嵌入系统,其中替换所述选中字符的装置(4)是用所述页描述语言写分配给所述字体的字符码的装置。
11.一个防止抽取嵌入信息的系统,用来防止从包含以页描述语言写的文本的文档数据中抽取嵌入信息;包括(1)从所述文本中选择一个字符装置;(2)创建一个表示所述字符的图元的装置;(3)修改页描述数据用所述图元替换所述所选字符的装置。
12.一个信息嵌入系统,用于在包含以页描述语言写的文本的文档数据中嵌入信息,包括以下步骤(1)分析将要嵌入信息的所述文档数据的编排格式;(2)根据分析过的编排格式,生成所述信息将被嵌入的位置的一个序列;以及(3)根据所述嵌入信息改变所述文档在指定位置的页描述。
13.一个嵌入信息检测方法,用于检测包含以页描述语言写的文本的文档数据中的嵌入信息,包括以下步骤(1)分析嵌入信息的所述文档数据的编排格式;(2)根据分析过的编排格式,生成嵌入信息的位置的一个序列;以及(3)从为文本输入的页描述的指定位置获得所述嵌入信息。
14.一个信息嵌入方法用来在包含以页描述语言写的文本的文档数据中嵌入信息,包括以下步骤(1)从所述文本中抽取信息将被嵌入的字符串;(2)将抽取的字符串分割为较小单元;以及(3)根据所述将被嵌入的信息,改变表示距离一个字符串的参考点的相对距离或距离一个字符的参考点的页描述。
15.一个信息嵌入方法用于在包含以页描述语言写的文本的文档数据中嵌入信息,包括以下步骤(1)分析信息将被嵌入的文档的数据编排格式;(2)从所述分析过的编排格式中选择一个或多个字符;(3)创建一个表示所选字符的字体;以及(4)修改页描述用所述字体替换所述所选字符。
16.一个防止抽取嵌入信息的方法,用于防止从包含以页描述语言写的文本的文档数据中抽取嵌入信息,包括以下步骤(1)从所述文本选择一个字符;(2)创建表示所述选中字符的图元;以及(3)修改页描述数据用所述图元替换所述选中字符。
17.一个存储媒体,用来存储一个在包含以页描述语言写的文本的文档数据中嵌入信息的程序,该程序包括(1)用来分析信息将被嵌入的所述文档数据的编排格式的函数;(2)根据分析的编排格式,生成信息将被嵌入的位置的一个序列的函数;以及(3)根据所述嵌入信息,修改所述文本指定位置的页描述。
18.一个存储媒体,用来存储检测在包含以页描述语言写的文本的文档数据中的嵌入信息的程序,该程序包括(1)分析嵌入信息的所述文档数据的编排格式的函数;(2)根据所述分析的编排格式生成嵌入信息的位置的一个序列的函数;以及(3)从为文本输入的页描述的确定位置获得所述嵌入信息的函数。
19.一个存储媒体,用来存储在包含以页描述语言写的文本的文档数据中嵌入信息的程序,该程序包括(1)从所述文档中抽取信息将被嵌入的字符串的函数;(2)将抽取的字符串分割成较小单元的函数;(3)根据所述将被嵌入的信息,修改表示距离一个字符串的是参考点的相对距离或距离一个字符的参考点的相对距离的页描述的函数。
20.一个存储媒体,用于存储在包含以页描述语言写的文本的文档数据中嵌入信息的程序,该程序包括(1)分析信息将被嵌入的文档的数据编排格式的函数;(2)从所述分析的编排格式中选择一个或多个字符的函数;(3)创建一个表示所选字符的字体的函数;(4)修改页描述用所述字体替换所述所选字符的函数。
21.一个存储媒体,用于存储防止从包含以页描述语言写的文本的文档数据中抽取嵌入信息的程序,该程序包括(1)从所述文本中选择一个字符的函数;(2)创建一个表示所选字符的图元的函数;(3)修改页描述用所述图元替换所选字符的函数。
全文摘要
为了提供一个在包含以页描述语言写的文本的文档数据中嵌入信息的方法和系统。首先,分析信息将被嵌入的文档数据的编排格式,接着,根据对编排格式的分析,生成信息将被嵌入的位置的一个序列。根据嵌入信息,修改该文本的确定位置的页描述。结果,信息被嵌入包含以页描述语言写和文本的文档数据中。该位置序列通过产生一个顺序的伪随机数字串来生成。
文档编号G06T11/60GK1259709SQ9911875
公开日2000年7月12日 申请日期1999年9月16日 优先权日1998年9月17日
发明者平山唯树, 天野富夫, 清水周一, 森本典繁 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1