专利名称:基于状态参数的含水印数字照片的生成方法
技术领域:
本发明涉及一种含水印数字照片的生成方法,用于方便、及时和公开地检测和验证数字照 片的真实性、完整性和原始性。
背景技术:
在计算机技术、网络通信技术和数码成像技术日益发展的今天,数码相机走进千家万户, 数码相机拍摄的数字照片已成为我们获取与交换信息的主要来源和信息传播的重要载体。同 时,图像的数字化存储和各种图像处理软件的出现使数字照片的编辑、修改和合成变得十分 简单。 一方面数字图像处理技术可以提高图像的显示质量,丰富我们的生活,方便我们的工 作。另一方面,篡改和伪造数码照片如被用于新闻媒体、法庭证据和科学发等领域,会对社 会的诚信、政府的公信力和科学的真实性等带来严重的负面影响。伪造数字照片的存在,使 数字照片面临失去信任的威胁。如近来人们广泛关注的"广场鸽"和"藏羚羊"等事件,照 片提供者利用图像处理工具对多幅数字照片进行篡改、拼贴、合成生成"伪照片"并成为获 奖的新闻照片。经过多方取证和鉴定,这些事件的照片提供者已公开承认其获奖新闻照片存 在修改的成份。尽管这些作品的奖项被收回,但花费了很多资源(财力、物力、时间等)以鉴定 它们的真实性和完整性。这使得,人们难免会对新闻数字照片的真实性产生怀疑,新闻图片 中还有多少"潜伏"的伪照片没有被发现,使数字照片的可信性问题日益演变为严重的社会 诚信问题。因此,就引出了数字照片的真实性、完整性和原始性的认证问题。解决该问题的 有效方法之一是通过数码相机内置的水印嵌入模块和相应的认证系统来实现。 最近的与数码相机和认证水印相关的背景技术可参阅以下几篇文献. P. BIythe,丄Fridrich. Secure Digital Camera, Digital Forensic Research Workshop, Baltimore, August 11-13, 2004. Yu Miao, He Hongjie, Zhang Jiashu, A digital authentication watermarking scheme for JPEG images with superior localization and security, Sci China Ser F-Info Sci, 2007.50 (3): 491-509.. X. Zhang, and S. Wang. Statistical fragile watermarking capable of locating individualtampered pixels. IEEE Signal processing Letter, October 2007,14(10): 727-731 [5]. Hongjie He, Jiashu Zhang, Fan Chen. Adjacent-block Based Statistical Detection Method for Self-Embedding Watermarking Techniques, Signal processing, doi:10.1016/j.sigpro. 2009.02.009
以上文献[l]中揭示了在数码照片被拍摄的同时,提供了可向数码照片中嵌入水印信息功能 的数码相机,该"水印信息"用来检测拍摄数码照片内容的真实性、完整性和原始性,也可 用于鉴别数码照片是由某一台数码相机和某个人拍照的。为避免利用计算机伪造含水印数字 照片,数字照片的认证密钥必须是保密的。这是因为如果有人获取了含水印数字照片的认证 密钥,在计算机上篡改数字照片的同时重新嵌入水印也能通过认证[2]。为此,华旗资讯的田 新等人[2]提出采用"封装"技术将相机密钥内置于数码相机中,以提高含水印数字照片认证 密钥的保密性。同时,安全的认证水印算法研究始终是解决该问题的关键技术之一。近年来 研究者从安全性[3]、定位精度[4]、篡改恢复性能[5]等方面对数字图像认证水印算法进行了深 入的研究和分析。
然而,现有技术仍然存在以下问题(1)拍摄数字照片的数码相机必须参与数字照片的 认证过程,这在一些实际应用场合中是不可行的。例如,驻外记者发回的新闻报道要通过认 证后才能发布,当拍照的数码相机回来参与防伪认证后才发表,新闻也变成了 "旧闻"。(2) 利用同一台数码相机,能得到众多含水印数字照片,他们的认证密钥都是相同的,这不仅增 加了相机密钥泄漏的风险,而且为实施Fridrich等人(J.Fridrich, M. Goljan and N. Memon. Cryptanalysis of the Yeung-Mintzer Fragile Watermarking Technique Electronic Imaging, April 2002, 11(4): 262-274)提出的"拼贴攻击"提供了条件。也即将同一数码相机拍摄的多张数字 照片进行拼贴、合成得到的"伪照片"有可能通过认证,而要防止这种攻击则会提高认证水 印算法设计的难度和复杂度。(3)最重要的是,相机拥有者利用一副或多幅数字照片,经图 像处理软件编辑、修改、合成等处理后打印出合成的照片,再对打印的照片进行翻拍,由此 得到的"伪照片"仍能通过认证水印的认证(这种攻击简称为"翻拍攻击")。同时,攻击者 通过篡改包括焦距、光圈、曝光时间、拍摄时间、感光度等状态参数在内的数字照片头文件 EXIF,可以销毁利用光学成像的基本常识判定"翻拍照片"的明显证据,从而使认证水印 算法不能提供有力证据以证明"翻拍照片"是伪造的,即现有认证水印算法很难有效抵抗"翻 拍攻击"。
发明内容
本发明的目的是提供一种基于状态参数的含水印数字照片生成方法,该方法生成含水印数 字照片的认证密钥的保密性好,既有效地阻止"拼贴攻击",又能有效抵抗"翻拍攻击"。同时,认证时既不需要数码相机的参与,也不需要密钥传递,实现了数字照片认证的公开和高 效。
本发明解决其技术问题,所采用的技术方案为基于状态参数的含水印数字照片的生成方 法,包括如下步骤-
(1) 数码相机拍摄照片时,镜头获取的信号经中央处理器处理得到数字图像数据D,同时 中央处理器读取数码相机拍摄该照片时的焦距、光圈、曝光时间、拍摄时间、感光度作为状 态参数S;
(2) 、根据数码相机只读存储器中保存的"相机身份号C",利用密钥设置函数F(k)生成相 机密钥KL,其中k为密钥;
(3) 、将步骤(1)的状态参数S和步骤(2)的相机密钥〖i作为明文,利用哈希函数/f()
生成该数字照片的认证密钥《-Z/0^,S);
(4) 、以认证密钥K作为水印嵌入密钥,利用认证水印嵌入算法在步骤(1)中的图像数
据"中嵌入认证水印,生成含水印数字图像数据X;
(5) 将含水印数字图像数据X和包括状态参数S和相机身份号C在内的照片头文件EXIF
合成为照片输出文件保存在数码相机的外存储器中。 与现有技术相比,本发明的有益效果是-
1、 本发明利用哈希函数,将数字照片拍摄时数码相机的焦距、光圈、曝光时间、拍摄时 间、感光度这些状态参数作为哈希函数明文的一部分生成该数字照片的"认证密钥"。由于不 同数字照片的状态参数完全相同的可能性很小,根据哈希函数的性质可知,即使同一数码相 机拍摄的数字照片,其认证密钥相同的可能性几乎不存在,从而消除了实施"拼贴攻击"的 条件。因此本发明中使用的水印算法无需具备抵抗"拼贴攻击"的能力,从而降低了对认证 水印算法设计的要求,水印算法的复杂度低。
2、 对翻拍照片,如果数字照片中头文件中的参数被修改,认证系统读出的状态参数与生 成认证密钥时作为明文输入的状态参数不一致,从而导致生成的认证密钥与水印嵌入时采用 的认证密钥不同,翻拍数字照片将无法通过认证;另一方面,如果攻击者不篡改数字照片头 文件中的状态参数,结合光学、摄影常识(如翻拍时即头文件中的焦距和真实的远景照片中 的焦距,其差距非常明显),可以很容易地判断出数字照片是否为翻拍的数字照片。因此,本 发明可以有效抵抗翻拍攻击。
3、 利用"密钥设置函数F()"建立数码相机的身份号(即数码相机的唯一标识符)与相机 密钥之间的隐蔽对应关系, 一方面,实现了相机密钥的保密性和隐蔽性;另一方面,认证时根据公开的数码相机身份号,利用认证系统中的"密钥设置函数F()"生成对应的相机密钥。 同时,状态参数也公开保存在数字照片的头文件中;因此,认证时既不需要密钥传递,也无 需数码相机参与以提供相机密钥。认证系统根据数字照片自身就可以检测数字照片的真实性、 完整性和原始性,从而实现了对数字照片公开、便捷、高效的认证过程。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细说明。
图1为本发明实施例的含水印数字照片生成的逻辑框图。 图2为本发明实施例的密钥设置函数F(k)的示意图。 图3为本发明实施例相应的认证系统的逻辑框图。
图4为本发明实施例中的密钥设置函数F(k),三台不同身份号的相机与密钥k对应的相机 密钥分布图。图中,符号"□""〇""*"分别代表身份号为C1、 C2、 C3的三台相机在密 钥k不同时的相机密钥KL。
实施例
图1示出,本发明的一种具体实施方式
为 一种基于状态参数的含水印数字照片的生成 方法,包括如下步骤-
1、 数码相机拍摄照片时,镜头获取的信号经中央处理器处理得到数字图像数据D,同时 中央处理器读取数码相机拍摄该照片时的焦距、光圈、曝光时间、拍摄时间、感光度作为状 态参数S。
2、 根据数码相机只读存储器中保存的"相机身份号C",利用密钥设置函数F(k)生成相 机密明Kl,其中k为密钥。
本实施例中"密钥设置函数F(k)"的密钥A:由认证系统和相机制造者共同设置,和密钥 分配函数一起被加密封装于数码相机内部,仅能被"哈希函数H()"调用,任何对封装的破 坏将导致所述的密钥设置函数F(k)不可用。
"密钥设置函数F(k)"用来建立数码相机身份号C (数码相机的唯一标识符)与相机密
钥〖i的隐蔽对应关系,即〖i-F(it,C0。本发明中密钥设置函数可以采用任意安全的非线性
映射函数。本实施例中密钥设置函数采用如图2所示的级联-混沌映射,其中的混沌映射/采 用5见有文献(S. Lian, J. Sun,丄Wang, and Z. Wang A chaotic stream cipher and the usage in video protection, Chaos, Solitons and Fractals 34(2007) 851-859)中定义的一种在整数域(定点)上实现 的离散分段线性混沌映射,<formula>formula see original document page 7</formula>
其中L"」表示不大于"的最大整数,z,el0,2 -lj表示2"。个离散状态,0〈p〈2""是控 制参数,W是计算机的字长。考虑到现有计算机和安全性需要,后面的测试和使用中取 "0=32。公式(l)表示根据控制参数p和状态&,能确定性地生成下一个状态zw,初始状态a 和控制参数p是产生该随机序列的密钥。本实施例将相机身份号C以四个字符为单位分段(如 果C中的字符个数不能被4整除,则在C的末尾补"0"),然后,以每段4个字符ASCII码 的链接为混沌映射/的控制参数p,密钥A作为第一个混沌映射的初始状态zo,第一个混纯映 射的输出作为第二个混沌映射的初始状态zo,第二个混沌映射的输出作为第三个混沌映射的 初始状态zo,以此类推,最后一个混沌映射的输出作为相机密钥J^。
3、 将步骤1的状态参数S和步骤2的相机密钥尺£作为明文,利用哈希函数/Z()生成该 数字照片的认证密钥K = //(i^,S)。本实施例中的"哈希函数采用现有文献(王小敏,张
文芳,张家树.基于非线性数字滤波器的混沌Hash函数设计,计算机辅助设计与图形学学报,
2006, 18(6): 870-875)中提出基于非线性滤波器的混沌哈希函数。
4、 以认证密钥《作为水印嵌入密钥,利用认证水印嵌入算法在步骤(1)中的图像数据
D中嵌入认证水印,生成含水印数字图像数据X。本发明中的"水印嵌入算法"可以采用任 何现有的认证水印算法,如可恢复认证水印算法、定位型认证水印算法等。
5、 将含水印数字图像数据Z和包括状态参数S和相机身份号C在内的照片头文件EXIF
合成为照片输出文件y = ^:sc)保存在数码相机的外存储器中。
相应地,本发明的认证工作可以由通用计算机中特定的认证软件系统完成,也可以由装 配相应认证系统的特定检测装置完成。认证系统的输入为被测数字照片文件
r-^r,s',c],输出为认证结果,数字相机和认证系统本身的封装性可以保证密钥分配函 数F(k)的保密性。图3示出,认证系统对待测数字照片,=[^,,,^}的认证过程包括以 下步骤1、 根据待测数字照片r-(A",s',c^,通过"数据析取"分别得到被测数字照片的相 机型号c4、状态参数^和含水印图像数据y;
2、 利用"密钥设置函数F(k)",根据相机身份号C^生成对应的相机密钥^;;
3、 利用"哈希函数H()",以状态参数5"和相机密钥K/为明文,生成被测数字照片的 认证密钥f;
4、 利用认证密钥K、通过相对应的"水印提取与认证"模块,给出被测数字照片的认 证结果。认证结果所提供的信息可能包括篡改定位、篡改程度、篡改恢复结果等,这主要
依赖于系统中所采用认证水印算法的性能。
从上述认证过程可以看出,认证时仅需要被测数字照片本身,从而实现对数字照片的公
开、简捷的认证过程。算法的安全性在于密钥分配函数F(k)的保密性和认证密钥的难伪造性。 本发明的性能分析及计算机仿真测试
一、性能分析
本发明中,将数字照片拍摄时数码相机的焦距、光圈、曝光时间、拍摄时间、感光度作
为状态参数S和相机密钥Ki一起,利用哈希函数生成该数字照片的认证密钥尺。上述生成
数字照片认证密钥的方法具有以下优点
(1) 实现了公开认证利用密钥设置函数F(k)为数码相机分配相机密钥《z,结合公开 保存在数字照片EXIF头文件中的状态参数S和相机身份号C,无需"非对称加密"技术, 就可以实现对数字照片的公开认证;
(2) 增加了认证密钥的保密性 一方面,数字照片的认证密钥对任何人来说都是未知的,增加了认证密钥的保密性。另一方面,由于数字照片拍摄时的状态参数s参与认证密钥 的生成,使得同一台数码相机得到的含水印数字照片的认证密钥互不相同,消除了实施"拼
贴攻击"的条件;
G)具有抵抗"翻拍攻击"的能力对含水印数字照片y-(X,S,C^,攻击者可以通过 图像编辑软件修改数字照片数据义,然后利用相同的数码相机和个人信息"翻拍"篡改的数
字照片生成含水印数字照片r-^r,s',c]。由光学成像原理可知,场景成像和照片翻拍的
状态参数s和f有很大差别。要想不留下明显的伪造证据,攻击者需要伪造一个与s相似的
状态参数S'使等式/f(^YA:,C>,S" = //「F化C义S》成立,从而使伪造数字照片 y'-(;T,s',cl能通过认证。由哈希函数的性质可知,寻找任何明文m-附',使得 //(w)-Z/(w')计算上不可行,因此,本发明能有效避免数字照片的提供者利用数码相机伪造 含水印数字照片。二、计算机仿真测试 1、认证密钥的难伪造性
下面通过测试哈希函数对明文的敏感性说明认证密钥的难伪造性。为便于测试,我们选 取初始明文序列为"South-west Jiaotong University 2008"。利用本实施例采用的基于非线性 滤波器的混沌哈希函数生成的密文序列((16进制表示的数串,即认证密钥)的值如表1的第二 行"原始密文"所示。然后分别测试下面六种情况下得到的认证密钥.-
情况l:第一个大写字母S改为小写;
情况2:去除单词"South-west"中的连接符;
情况3:在原始用户密钥的末尾添加一个空格;
情况4:在原始用户密钥的末尾添加一个%;
情况5:删除原始用户密钥末尾的单词2008;
情况6:将单词'Jiaotong,修改为'Jiaotong,。
表1不同条件下两个子密钥/^和fc2的值
User key密文序列(认证密钥)
原始明文250799E91D70B366BCBF28D891624F16
情况12D7B9001C2E0C0D74FE03F3276C176F6
情况22E206263C67C66EECE21E297A32585DF
情况33 A0297858E611FE1 A4C犯6061849F290
情况433 811BA1E444E02B1829C7051FB5F326
情况52266DF63 5AB0D9F465A犯98ABC3762AD
情况6296B73 70D3F0E45D3512920613EC2F79
表1列出了上述六种情况下生成的子密钥,对哈希函数特性的近一步测试详见文献(王小
敏,张文芳,张家树.基于非线性数字滤波器的混沌Hash函数设计,计算机辅助设计与图形 学学报,2006, 18(6): 870-875)。从表l可以看出,表中不存在两个相似的密文序列,他们可 以看作是相互统计独立的随机序列构成,因此,攻击者很难伪造出有意义且等于特定密文的 明文序列。
2、相机密钥Ai的保密性
本发明中密钥分配函数F(k)的安全性在于密钥k的保密性。对特定的数码相机,其相机 密钥不仅依赖于相机身份号C,而且依赖于认证系统和相机制造者共同设置的密钥k。在密 钥k未知的条件下,根据相机身份号C很难推断出该相机对应的相机密钥KL。为测试相机 密钥KL对密钥k的敏感性,随机选择1000个密钥,对三台数码相机进行测试,三台数码相 机的身份号分别为的Cl='32167 Epson Photo PC 700/750Z' C2='32166 Epson Photo PC 700/750Z' C3='321676 Kodak DC-290'
图4是密钥k取1000个不同值时,三台数码相机与密钥k对应相机密钥的分布图,符号 "□""〇""*"分别代表身份号为Cl、 C2、 C3的三台相机对应特定密钥k的相机密钥 KL。由图4可以看出,对上述三台不同身份号(Cl、 C2、 C3)的数码相机,其对应的相机 密钥&在整数区间
近似随机分布。因此,在密钥k未知的条件下,即 使相机身份号公开,攻击者也很难推断或猜测出数码相机对应的相机密钥
权利要求
1、一种基于状态参数的含水印数字照片的生成方法,包括如下步骤(1)数码相机拍摄照片时,镜头获取的信号经中央处理器处理得到数字图像数据D,同时中央处理器读取数码相机拍摄该照片时的焦距、光圈、曝光时间、拍摄时间、感光度作为状态参数S;(2)、根据数码相机只读存储器中保存的“相机身份号C”,利用密钥设置函数F(k)生成相机密钥KL,其中k为密钥;(3)、将步骤(1)的状态参数S和步骤(2)的相机密钥KL作为明文,利用哈希函数H( )生成该数字照片的认证密钥K=H(KL,S);(4)、以认证密钥K作为水印嵌入密钥,利用认证水印嵌入算法在步骤(1)中的图像数据D中嵌入认证水印,生成含水印数字图像数据X;(5)将含水印数字图像数据X和包括状态参数S和相机身份号C在内的照片头文件EXIF合成为照片输出文件保存在数码相机的外存储器中。
全文摘要
一种基于状态参数的含水印数字照片的生成方法数码相机拍摄照片时,图像信号经中央处理器处理得到数字图像数据,中央处理器读取拍摄该照片时的焦距、光圈、曝光时间、拍摄时间、感光度作为状态参数。利用相机身份号和密钥设置函数生成相机密钥。将状态参数和相机密钥作为明文,利用哈希函数生成该数字照片的认证密钥。利用认证密钥生成图像数据的含水印数字图像数据,再将其和照片的头文件EXIF合成为照片输出文件保存在相机的外存储器中。该方法生成含水印数字照片的认证密钥的保密性好,既有效地阻止“拼贴攻击”,又能有效抵抗“翻拍攻击”。同时,认证时既不需要数码相机的参与,也不需要密钥传递,实现了数字照片认证的公开和高效。
文档编号H04N1/32GK101562681SQ20091005942
公开日2009年10月21日 申请日期2009年5月26日 优先权日2009年5月26日
发明者和红杰, 帆 陈 申请人:西南交通大学