专利名称:嵌入信息检测方法和系统的制作方法
技术领域:
本发明涉及用于检测已被用电子学的方法嵌入到数据中的附加信息的系统。具体讲,本发明适合于应用智能卡和计算机(例如服务器)去安全地和有效地检测已像电子学水印(那样)嵌入到数据(例如图象数据)中的附加信息的系统和方法,并且因此而适合于用来存储程序的存储媒体。
为了让电子水印技术能变成通用的并且被普通用户所广泛采用,首先,需要有能够被用来在许多处且非指定的场所安全地检测已经用电子学的方法嵌入了的附加信息(水印)的设备。但是,由于普通的传统的电子水印技术采用对称的安全密钥系统,按照这种技术,相同的安全密钥既被用来嵌入信息,又被用来检测该信息。这就有可能尽管附加信息的检测被完成了,用来嵌入附加信息的安全密钥都可能被盗走了。因此,对于能够提供一种实际上抗窜改(防更改)的安全密钥,同时确保有效地完成附加信息的检测的方法和系统、存在着增大的需求。
当前可采用的一种最抗窜改的器件是智能卡,智能卡是一种包含有内部CPU和存储器的智能型的卡。存储在智能卡的信息利用通行字来保护,该通行字防止对该信息的非法读取和重写(卡是抗窜改的)。因此,用户能用这种卡来安全存储私人数据。故一般讲,为安全和便于携带起见涉及用户的个人信息,例如卡号码和安全密钥,被存储在智能卡上。但是,因为它的尺寸和形状,智能卡可供使用的计算速度和存储量是有限的。因此,需要一种方法和系统,能够确保安全和有效地检测附加信息,同时能补充智能卡的有限的处理能力和存储量。
因此,本发明一个目标是,提供一种方法和系统,用它们能够在多种的和非指定的场所安全地检测附加的用电子学的方法嵌入的信息。
本发明的另一个目标是提供一种方法和系统,借以能使抗窜改器件和服务器在探测附加信息时合作。
本发明的另一个目标是提供一种方法和系统,用它们能够安全地和有效地完成附加信息的检测,且同时能补充抗窜改器件的可利用的有限的处理能力和存储量。
本发明的一个附加的目标是提供一种用于安全和有效地检测附加信息的方法和系统,按照该方法和系统,抗窜改器件完成需要有高度安全性的计算,而所有其余的计算由服务器完成。
本发明的进一步的目标是提供一种用于附加信息的安全和有效的检测的方法和系统,按照该方法和系统,抗窜改器件至少完成为提取附加信息所需要的那些计算且服务器计算与为保持安全性所必需的量相比冗余的内积。
为达到上述目标,首先,服务器读出在其中嵌入了附加信息的数据,并要求在其上存储了安全密钥的抗窜改器件完成附加信息的检测。同时,服务器从屏蔽数据中读出屏蔽模式,计算该屏蔽模式与在其中嵌入附加信息的数据的内积,并将此内积传送至抗窜改器件。为了检测附加信息,抗窜改器件将从服务器接收到的内积相加,并利用安全密钥确定阈值。利用这种安排,能够完成高速计算的服务器可被赋予计算内积的任务,而抗窜改器件仅仅被指派那些要求高度安全性的任务,将内积相加和确定阈值。也就是说,为了保持操作的安全,抗窜改器件将负责完成为提取附加信息(消息)所需的最少的内积计算,而服务器将负责完成所需的更多的冗余的内积计算。结果,发明就能够提供一种可以安全地在多种及非指定的场合完成附加的用电子学方法嵌入的信息的检测的方法和系统。
图1是本发明的设计方案图。在一个安全的环境中,一个安全密钥被用于将附加的信息(消息)嵌入到数据110中(在该例中为图象数据),然后,该数据由一个互联网供应者120传送给一个普通用户(非安全环境)。服务器130于是仅只完成那些不需利用安全密钥的数据计算。然后,为了检测嵌入的信息,需要一个抗窜改器件(在此处为一个智能卡140)来完成必需使用安全密钥的计算,该卡被插入抗窜改器件读出器(在此处为智能卡读出器150)。
在开始解释本发明的优选实施例之前,作为与本发明相联系的基本技术的电子水印将被说明。在日本专利申请No.Hei 8-345566和No.Hei8-348426中揭示了电子水印技术。现在将给出这种技术的简要说明。假定图象内容数据包含有N×N像素。必须对其完成屏蔽处理的像素程序块的规模是K×K,图像数据包括有IS=(N/K)2个程序块,这些块被定义为Ii(i=0,1,2,……IS-1)。于是,由K×K个元素m∈{-1,0,1}组成的屏蔽模式被准备。作为条件,元素的和是零并且屏蔽模式是相互正交的,这意味着,任何两个模式的内积为0。此外还采用的是符号反转的模式,这是通过将所得到的模式的单个的像素乘上-1而形成的。总起来八个模式Mp(p=0,1…7),包括符号反转模式,被提供,以4×4的模式为例,其形式如下(表达式1)10-10010-1-10100-101,0-10110-10010-1-1010,0-101-1010010-110-10,10-100-101-1010010-1]]>信息嵌入操作如下面所述来完成。
定义一个数列为Bj∈{-1,1}(j=0,1,…J-1)在其中的信息的位系列里的诸0被用-1来代替。此数列的总长度定义为K。当利用一个随机数发生器得到一个结果ri(一个种子被提供给该发生器)时,获得下列的方程。
I′i=Ii+Mp*Bj其中p=ri mod k j=ri mod J为了检测在位位置q上的信息,随机数系列ri被用相同的种子产生,就像为了嵌入那样,并且Ii和Mp的内积的和按下式计算,这里rimod1 J=qSq=∑(I′i,Mp),其中,P=ri mod k且j=ri mod J如果Sq≥T,Bq=1,并且如果Sq≤-T,Bq=0如果-T≤Sq≤T,则确定没有信息被嵌入。
具体地,按照电子水印,这是与本发明相关的基本技术,为安全起见,重要的是确定已经被嵌入信息的块,被用于嵌入的屏蔽模式和在信息中的对应的位。进一步讲,由于一个位的信息被利用不同的屏蔽模式嵌入到许多块中,该位信息不能被删除,即使相似于指定屏蔽模式的噪声覆盖整个块。在本发明中,当考虑到这样的事实,即为了安全的一个要点是屏蔽模式和块位置的一致性,此一致性的处理是由智能卡完成的,而服务器则负责计算数据和屏蔽模式的内积。此时,为防止涉及该一致性的信息被泄密,服务器还必须对那些不涉及实际的一致性的屏蔽模式计算内积(对于嵌入了的信息的检测是不要求的)。图2是本发明的系统的配置方块图,正如图2中所显示的,服务器计算图像数据和屏蔽模式的内积,屏蔽模式是从屏蔽数据里读出的,并将内积传送给智能卡,智能卡是一种抗窜改器件。智能卡内部使用它的安全密钥来分配和加算内积,并确定一个阈值以便检测附加的嵌入信息(为了提取消息)。
现在将要详细地说明由服务器完成的计算,一组新的屏蔽模式被提供给服务器,它们是用于嵌入的那些屏蔽模式的线性组合。当着用于嵌入的一组屏蔽模式是{M0,M1,…,Mk-1,-M0,-M1,…-Mk-1}时,假定求反的模式是相同的因为只有内积是负的,并且新的模式是由该K维矢量的线性变换产生的。具体讲,当[M0,M1,…,Mk-1]是K维纵列矢量且P是一个K维正则矩阵时,[M0′,M1′,…,M′k-1]T=P[M0,M1,…,Mk-1]T被得出。例如,当屏蔽模式Mp被用下式作变换时,〔表达式2〕P=10001-1000011001-1]]>结果{M0′,M1′,…,M′3}为如下,〔表达式3〕1-1-1111-1-1-111-1-1-111,11-1-1-1111-1-1111-1-11,1-1-11-1-111-111-111-1-1,-1-111-111-111-1-11-1-11]]>该服务器计算结果{M0′,M1′,…,M′k-1}和图像的内积。首先,对于整个图像计算M′0和图像块的内积,并将其传送至智能卡。对于不同的屏蔽模式重复这个过程。这样一来,下列的数据系列被传送给智能卡。
〔表达式4〕DS={(M0′,I0),(M0′,I1),…,(M0′,IIS-1),(M1′,I0),(M1′,I1),…,(M1′,IIS-1)]]>…,(Mk-1′,IIS-1)}]]>图4是由服务器所完成的计算的流程图,首先,,内部变量i和j被初始化为0。然后,在步骤410屏蔽模式M′i从屏蔽数据M′k读出。在步骤420图像块Ij从图象数据读出。在步骤430M′i和Ij的内积被计算并被传送给智能卡,该卡被插进智能卡读出器。在步骤440,变量j被加1,并作检验以确定是否所有的图像块都已被处理。当所有的图像块都已经被处理,在步骤450变量i被增1,并且作检验以确定是否所有的屏蔽模式已被采用过。如果它们都已被用过,此后处理即被终止。
由智能卡所完成的计算现在将被更为详细地说明,该卡是一个抗窜改器件。图3是由智能卡完成的操作的原理图。正如图3所示,一个在内部存储的安全密钥(在此情况中对应于随机数种子)被采用来产生随机数,通过利用随机数而被输入的数据序列被作为位系列存储进行分配和相加。当所得结果超过阈值,则断定附加信息已被嵌入数据。更具体点讲,利用存储在抗窜改器件中的安全密钥以及屏蔽模式的转换矩阵产生一个恢复函数。当把从服务器接收来的数据代入恢复函数时,嵌入的信息即被检测。在附加信息(消息)已经被嵌入时,由恢复函数提供的结果等于屏蔽模式和所有数据(也即图像数据)的内积。
在智能卡中,顺序传送的数据序列,DS={ds0,0,ds0,1,…,dsk-1,IS-1}(L=K*IS)被分配,该加权和被加到存储器组mj(j=0,…,J-1),该存储器组被准备且其长度等于消息位长度J。为了分配dsk,i,一列用相同于嵌入时所用的种子产生的随机数r1被用来选择消息存储器mj,这里j=ri mod J。为了加权dsk,j,在必须利用Mq检测用于嵌入的屏蔽模式的同时,用于检测的诸模式的变换则用变换矩阵P来完成,这里q=ri modk。因此,当着屏蔽模式的变换矩阵P的逆矩阵P1(={Pij})被计算时,Mq=∑qj*Mj′被得到。因此,对于dskj加上dsk,j*Pqk例如P-1如下式〔表达式5〕P-1=12120012-12000012120012-12]]>所以,用模式M0嵌入的信息能够用1/2M′0+1/2M1′来检测。当利用模式M0来嵌入图像块中的第i个数据时,用1/2乘以第i数据系列ds0,i所得的值被加到数据系列ds0,1上,而用1/2乘以第(i+IS),数据系列ds1,i所得的值则加到数据列ds1,1上。
图5是关于本发明的抗窜改器件(智能卡)所完成的计算的流程图。首先,在步骤510上,内部变量K被初始化为0,在步骤520,随机数种子,该种子就是安全密钥,被读出作为内部变量中第i(=0)个随机数r0的值,在步骤530,内积数据系列ds被从一个外部接口,例如服务器的串行口,读出。在步骤540,消息存储器的变址j被计算,并且在步骤550用作检测的屏蔽模式的变址q被计算。在步骤560,Pqk从屏蔽模式变换矩阵P-1被提取,并对检测模式完成权重计算。在步骤570,消息存储器被更新。在步骤580,内部变量i增1以确定处理是否已经被完成。如果处理没有被完成,程序控制转回到步骤530。如果处理已经被完成,在步骤590内部变量k被增1以确定处理是否已被完成,如果还没有完成,程序控制返回到步骤520。如果是已经完成,则处理已被完成,附加信息(消息)的提取结束,而消息存储器的内容被保留。
在检测和提取附加信息(消息)过程中,对于阈值T,当着|min(mj)|≥T成立,则断定消息已经被嵌入。在这种情况下,对于单个的消息存储器mj,假定如果mj≥0,Bj=1且如果mj≤0,Bj=0并且一个消息位系列被形成。
在图7中,按照本发明的服务器的一般硬件配置被显示。系统10包括一个中央处理装置(CPU)1和存储器4。该CPU1和存储器4通过总线2和IDE控制器25被连接至硬盘驱动器13(或连接至存储介质驱动器,例如M0,CD-ROM 26或DVD 32),这是一个辅助存储器件。类似地,CPU1和存储器通过总线2和SCSI控制器27与硬盘驱动器30(或一个存储媒体驱动器,比如MO 28,CD-ROM 29或DVD 31)相连接,这是一个辅助存储器件。软盘驱动器20经由一个软盘控制器19连接至总线2。
一个软盘插入软盘驱动器20,而关于计算机程序的代码和数据能够被存储在软盘或者在硬盘驱动器13(或者在MO,CD-ROM 26或者在DVD32)上和在ROM 14,该计算机程序与操作系统相互作用和向CPU1发布指令以便实现本发明。该计算机程序通过将其装载入存储器4中而被执行。最好是将用于计算内积的屏蔽数据存储在硬盘驱动器13上。计算机程序的代码能够被压缩,或者能够被分成许多段以便存储在许多个存储媒体上。
系统100进一步包括用户接口硬件组件,例如指点器(鼠标或操纵杆)7和键盘6用于输入数据,以及显示器12用于为用户提供可视数据。在检测附加的嵌入的信息时经抗窜改器件所得到的结果可以在显示器上被显示。进一步讲,通过并行口16能将打印机连接到系统100,或者通过一个串行口15能连接一个调制解调器。为了与另一台计算机通讯,系统100能够通过串行口15和调制解调器或者经由一个通讯适配器18(以太网或令牌环卡)连到网络上。一个远程无线电收发机能够连到串行口15或者并行口16上,用来通过红外线或电线与系统100交换数据。如图8所示,一个抗窜改器件读出器810能被连接至系统100的串行口15或者通信适配器18上,以便与抗窜改器件,例如一个智能卡交换数据。在图8中抗窜改器件读出器810是外部连接的,但是不脱离本发明的范畴在系统100中引入修改能够被接受。
在系统100中,一个扬声器23被用来接收经过放大器22由D/A转换(数/模转换)产生的音频信号,并以声音输出该信号,而D/A转换是由音频控制器21完成的。为了将外部的音频数据输入系统100,音频控制器21完成对由话筒24接收的声音信息的A/D(模/数)转换。
按照上面所述,应该容易理解,本发明的服务器能够被设置为一台标准的个人计算机(PC);一个工作站,一台笔记本PC,一台掌上PC或网络计算机,或者电视设备或者别的装有计算机的家电设备;一个具有通信功能的游戏机;具有通信功能的通讯终端,例如电话,传真机,移动电话,个人手持电话、个人数字助理、或上述组件的组合。应该注意,但是,这些组件仅只是例子,并非它们全都是本发明所需要的。
图6是一个表,用来比较在只用PC机检测附加信息与用智能卡和服务器合作检测附加信息时所需的存储器。在图6中,图像数据的容量(图像尺寸)是512×512(上面一行)和1024×1024(靠下一行)。为了保持操作的安全性,智能卡完成为提取附加信息(消息)所需的最少的内积计算,而服务器完成所需的更多的冗余内积计算。
按照本发明,抗窜改器件和服务器能够合作以安全地和有效地检测附加信息。借助于本发明的检测系统,已经被用电子学的方法嵌入的附加信息能够在多处和非指定的场合被安全地检测。
图1是本发明的示意图。
图2示出按照本发明的系统配置方块结构图。
图3是表示由抗窜改器件(智能卡)所完成的操作的方案草图。
图4是由服务器完成的计算的流程图。
图5是由本发明的抗窜改器件(智能卡)所完成的计算的流程图。
图6是一个表用于比较为检测附加信息所需的存储器。
图7是本发明所用的服务器的硬件安排的一个例子。
图8是一个示意图,表示一个服务器连接到一台抗窜改器件读出器。
权利要求
1.采用一种抗窜改器件和一个服务器来检测嵌进数据中的附加信息的系统,包括(1)用来读取在其内嵌入附加信息的数据的设备,为所说的服务器的一个组件;(2)将所说的抗窜改器件连接到所说的服务器上、检测所说的附加的嵌入信息,为所说的服务器需要的设备;以及(3)用一个包含在所说的抗窜改器件中的安全密钥来检测附加的嵌入信息的设备,为所说的抗窜改器件的一个组件。
2.按照权利要求1的附加信息检测系统,其中所说的设备2,用于探测所说的附加嵌入信息所需要,是所说服务器的一个组件,读取屏蔽模式,将所说的屏蔽模式与所说的在其中嵌入了附加信息的数据相乘计算内积,并传送所说的内积至所说的抗窜改器件。
3.按照权利要求1的附加信息检测系统,其中所说的抗窜改器件通过一台抗窜改器件读出器与所说的服务器相连接。
4.按照权利要求2的附加信息检测系统,其中所说的设备(3),用来检测所说的附加的嵌入的信息,采用所说的安全密钥将从所说的服务器接收的所说的内积分配和相加,并确定一个阈值。
5.按照权利要求2的附加信息检测系统,其中所说的数据是图像数据,并且其中所说的数据和所说的屏蔽模式的所说内积是图象数据和屏蔽模式的内积。
6.按照权利要求2的附加信息检测系统,其中所说的屏蔽模式和所说的在其中嵌入了附加信息的数据的所说的内积的计算包含有一个冗余内积计算,这不是嵌入信息的检测所必需的。
7.按照权利要求3的附加信息检测系统,其中所说的抗窜改器件是一个智能卡,并且其中所说的抗窜改器件读出器是一台智能卡读出器。
8.用于检测嵌入一个数据系列中的附加信息的抗窜改器件,包括(1)用于读取保留在所说的抗窜改器件中的安全密钥的设备,(2)用于外部读取所说数据系列的设备,以及(3)利用所说的安全密钥提取嵌入所说数据系列中的所说附加信息的设备。
9.为抗窜改器件检测嵌入数据中的附加信息所需要的服务器,包括(1)用于读取屏蔽模式的设备,(2)用于读取在其中嵌入了附加信息的数据的设备,以及(3)用于计算所说数据和所说屏蔽模式的内积以及将所说内积传送给所说的抗窜改器件的设备。
10.为抗窜改器件用于检测嵌入一个数据系列中的附加信息的一种方法,包含的步骤有(1)读取保留在所说的抗窜改器件中的安全密钥;(2)在外部读取所说的数据系列,以及(3)利用所说的安全密钥提取嵌入所说数据系列中的附加信息。
11.用于服务器的方法,用于其为抗窜改器件检测嵌入数据中的附加信息所必需,包括的步骤有(1)读取屏蔽模式;(2)读取在其中嵌有附加信息的数据;以及(3)计算所说数据与所说屏蔽模式的内积,并将所说的内积传送至所说的抗窜改器件。
12.用于存储程序的存储介质,该程序允许服务器要求抗窜改器件检测嵌入数据中的附加信息,所说的程序包括(1)用于读取屏蔽模式的功能;(2)用于读取在其中嵌入有附加信息的数据的功能;以及(3)计算所说的数据与所说的屏蔽模式的内积的功能,以及将所说的内积传送至所说的抗窜改器件的功能。
全文摘要
提供一种方法和系统,能够用来在多处和非指定的场合安全地检测附加的用电子学方法嵌入的信息。一个服务器读取在其中嵌入附加信息的数据,并需要一个抗窜改器件,该器件上存储了安全密钥,完成附加信息的检测。同时,服务器从屏蔽数据读出屏蔽模式,计算关于屏蔽模式和在其中嵌有附加信息的数据的内积,并且将此内积传送给抗窜改器件。为了检测附加信息,抗窜改器件将从服务器接收的诸内积相加,并用安全密钥确定阈值。为了确定阈值,用作检测的屏蔽模式是通过使用安全密钥产生的,该安全密钥被存储在抗窜改器件内部。从服务器接收来的数据与屏蔽模式的内积被计算以确定信息是否已经被嵌入。
文档编号G06F15/00GK1252567SQ9912089
公开日2000年5月10日 申请日期1999年10月8日 优先权日1998年10月23日
发明者沼尾雅之, 清水周一 申请人:国际商业机器公司