法律状态公告日
法律状态信息
法律状态
2022-07-22
公开
发明专利申请公布
技术领域
本发明涉及图像自认证方法,具体涉及一种基于哈希函数和信息隐藏的图像自认证方法。
背景技术
目前,图像信息因其内容直观,信息量大等特点,已被广泛应用于各个
方面,给人类社会的经济发展带来了巨大的效益。然而随着很多功能强大的图像编辑软件的出现,使得人们对数字图像的编辑变得极其容易且不会留下明显的痕迹。一些别有用心之人可能会对图像进行恶意篡改以达到某种目的,通常情况下,这些篡改的图像难以辨别且危害巨大。
如何保证数字图像库中图像的真实性和完整性具有重要的研究意义。如在医疗图像库中,如何确保患者的医学图像未被别有用心之人篡改过而导致误诊;在车辆违章拍照系统中,如何避免违章者对图片进行篡改来逃避法律责任等等。
加密技术作为保证信息安全最常用、最有效的技术之一,它通过对明文信息进行伪装处理,使其转化为不可理解的密文,以防止信息被非法窃取或篡改的技术。明文、密文、密钥、加密算法和解密算法组成了一个完整的密码体制。明文指需要伪装或加密的原始信息;密文指明文经过加密处理后的输出数据;密钥指加密/解密过程中需要使用的参数;加密算法指将明文消息转化为密文的函数;解密算法指将密文消息还原成明文的函数。一个完整的加密/解密流程为内容所有者使用加密密钥和加密算法对明文进行加密操作,得到密文。接收者对于得到的密文使用解密密钥和解密算法恢复出明文。
信息隐藏是一种将隐秘信息隐藏在另一个公开传输的载体中的技术,该技术主要利用多媒体数据具有大量的冗余性,且人的视觉或听觉对嵌入隐秘信息后的载体感觉不出有明显的变化,从而有效的避免攻击者的注意,达到隐秘信息安全传输的目的。信息隐藏目前最重要的分支有隐写术和数字水印技术。隐写术的主要目的是实现隐秘信息的安全传输,此时要保护的对象为隐秘信息,则载体可以任意选取。数字水印技术的主要目的是保护载体的版权,即嵌入载体中的数据是用来标识载体的作者、归属权等相关信息。信息隐藏的过程一般包含数据嵌入和数据提取两个部分,数据嵌入是指将需要隐藏的隐秘信息隐藏到原始载体中,数据提取是指将嵌入载体中的隐秘信息从载体中提取出来。
基于数字签名的图像认证方案:
数字签名的本质就是消息的加密摘要,内容所有者使用私钥对需要传输的内容进行加密运算得到签名。由于内容所有者所使用的私钥只要他本人知道,因此一旦完成签名,就保证了内容所有者无法抵赖曾经发送过的消息,在验证签名无误的同时,也对信息在被签名后未被篡改进行了验证。
图像数字签名也称为图像hash函数。hash函数是指将任意长度的输入通过散列算法变换成固定长度的输出。一个图像hash函数必须要满足三个基本安全需求。第一,单向性:给定一个输入值则必存在一个输出,但是如果知道输出则无法反推出输入值。第二,抗碰撞性:给定任一图像输入,不可能找到另一个图像使得它们的输出相等。第三,密钥保密性:在密钥未知的情况下,hash值是不可能被伪造和被估计出的。
在该方案中,图像的认证主要分为以下三步。第一步,使用hash函数处理图像生成相应的hash摘要。第二,将生成的hash摘要通过数字签名算法进行签名,然后将签名传送给可信的第三方。第三,图像认证时通过对比当前图像的hash值与原始hash值是否一致,即可实现图像认证。
基于数字水印的图像认证方案:
数字水印作为信息隐藏的一种,利用图像的冗余和人类的视觉感知特性,把水印信息嵌入到图像中。一旦图像数据遭到修改,则嵌入其中的水印信息也会被相应的修改,这样在进行认证时就利用嵌入其中的水印信息是否被修改过完成认证。
在该方案中,图像的认证主要分为以下三步。第一步,数字水印的生成。数字水印的生成方法可以是根据数字图像的特征或内容,或图像所有者及图像认证者都提前知道的随机数字。第二步,数字水印的嵌入。数据所有者利用某种嵌入算法将数字水印隐藏到原始载体中,嵌入算法需要满足在水印嵌入图像后,不会明显的破坏原始图像的视觉效果。第三步,数字水印的提取认证。认证者得到含有水印的图像后采用与嵌入算法相对应的提取算法将水印提取出来,然后将提取出的水印与原始的水印信息作比较,即可知道图像是否被修改过。
现有技术的缺点:
1.由于图像本身含有很多冗余信息,在存储和传输的过程中通常会根据不同的需要进行一些操作处理,如压缩、对比度增强、滤波等,这些操作并不会对图像的真实性和视觉效果造成影响,因此是可以接受的。而且图像在传输过程中还会受到一些噪声干扰,好的认证方式应该是能够抵抗这些操作处理或噪声干扰的,但是数字签名认证却无法做到,图像的任何轻微变动都会导致认证失败。
2.数字签名一般存放在单独的文件中,在数据传输时,将签名附加在原始数据的末尾一起传输出去。对于数字图像库而言,需要额外存储大量的签名信息,会造成很大的资源浪费。对于图像的传输而言,如果图像在传输过程中由于一些操作如图像格式转换等,签名信息被去除或者修改了,就会导致认证失败。
3.现有的数字水印算法根据认证的要求不同,可以分为脆弱水印、半脆弱水印和鲁棒水印。在进行图像认证时,脆弱水印会由于受到有损压缩等操作而有很高的虚警率;半脆弱水印具有良好的压缩鲁棒性,但是它不能有效区分压缩操作和恶意篡改;鲁棒水印对大部分操作都具有鲁棒性,但也由于其过强的鲁棒性导致不能够检测出一些恶意操作。
4.水印信号有多种形式,像随机序列、数字标识、文本和图像等都可以作为数字水印。不同的应用下,所采用的水印形式是不同的。如版权保护的水印通常是公司的标识、作者的名称、生成图像的数码硬件的序列号等,而完整性保护的水印则是从图像中提取的细节、特征,也可以是图像特征的签名等。这些水印信息的安全性并不能得到很好的保证,容易被非法用户获取,导致被篡改过或伪造的图像也能通过认证。
发明内容
本发明的主要目的在于提供一种基于哈希函数和信息隐藏的图像自认证方法,实现图像的自认证,提高系统的安全性。
本发明采用的技术方案是:一种基于哈希函数和信息隐藏的图像自认证方法,包括:
分步哈希存储,计算图像hash值并确定信息隐藏位p
和对称信息隐藏算法对数字图像库中的图像进行完整性认证,首先图像所有者使用SM3算法对需要传输的图像生成hash值H
使用基于直方图平移的可逆信息隐藏将hash值嵌入图像中:通过直方图平移算法将哈希值嵌入图像直方图的峰值点处,从而得到伪装对象S
图像自认证,接收方提取图像hash值对原始图像的完整性进行认证:认证者得到伪装对象S
进一步地,所述分步哈希存储,计算图像hash值并确定信息隐藏位p
具体包括:
使用SM3算法对原始图像C做hash,得到hash值H
根据原始图像C的直方图H(x),找到图像中灰度值最多的点,即峰值点h,并记录峰值点的个数为S
将图像的峰值点分为n组,每组大小p由下式决定:
利用分段logistic映射生成S
设定初始值
现在得到一个随机小数序列a
这样,就得到了原始图像的hash值和信息隐藏位。
更进一步地,所述使用基于直方图平移的可逆信息隐藏将hash值嵌入图像中具体包括:
在原始图像的直方图H(x)中找到峰值点h和零点l,对应峰值为H(h)),对应零值为H(l);
若
将图像中的峰值点编号,将编号为p
通过以上步骤,把hash值隐藏到了原始载体中,得到伪装对象S
更进一步地,所述图像自认证,接收方提取图像hash值对原始图像的完整性进行认证具体包括:
提取hash值
认证者利用隐藏密钥
使用与嵌入过程中相同的顺序扫描伪装对象,找到灰度值为h与
恢复原始图像
根据伪装对象的直方图,将
认证图像完整性
使用SM3算法对恢复出的图像
对比
本发明的优点:
本发明将图像的hash值隐藏在图像中,认证方可以直接从图像中提取出hash值并恢复原始图像。只需对恢复的图像再做一次hash,将得到的hash值与提取出的hash值作比较,即可实现图像的认证。因此,可以实现图像的自认证,使得不需要像图像数字签名那样单独存储签名信息,减少了资源的消耗。
对于现有的可逆信息隐藏技术,若攻击者已知信息隐藏算法,则很容易就能提取嵌入图像中的hash值,再将篡改后的图像的hash值以相同的信息隐藏算法嵌入被篡改过的图像中,就完成了一次篡改攻击。本方案在嵌入hash值的过程中利用伪随机序列作为信息隐藏的密钥,使hash值能够安全地嵌入图像。即便攻击者已知信息隐藏算法,也不能够恢复出原始图像和提取hash值,因此,本方案可以抵抗图像篡改攻击。
在整个方案的实现过程中,图像的hash值直接嵌入图像中而不对外公开,所以hash值具有保密性,那么只有图像所有者和合法认证者可以对图像进行认证,就可以避免非法用户对图像做认证。
本发明中所使用的算法实现起来非常简单,对硬件设备没有特殊要求,可以很方便的在通用CUP平台实现,具有很好的适用性和可移植性。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明的结构框图;
图2是本发明的分步哈希存储流程图;
图3是本发明的信息隐藏流程图;
图4是本发明的图像自认证流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明使用SM3算法和对称信息隐藏算法对数字图像库中的图像进行完整性认证,首先图像所有者使用SM3算法对需要传输的图像生成hash值H
方案的实现可以分为三个部分:第一部分为分步哈希存储,计算图像hash值并确定信息隐藏位p
1.分步哈希存储
1)使用SM3算法对原始图像C做hash,得到hash值H
2)根据原始图像C的直方图H(x),找到图像中灰度值最多的点,即峰值点h,并记录峰值点的个数为S
3)将图像的峰值点分为n组,每组大小p由下式决定:
4)利用分段logistic映射生成S
设定初始值
5)现在得到一个随机小数序列a
这样,就得到了原始图像的hash值和信息隐藏位。第一部分的流程图如图2所示。
2.信息隐藏
1)在原始图像的直方图H(x)中找到峰值点h(对应峰值为H(h))和零点l(对应零值为H(l));
2)若
3)将图像中的峰值点编号,将编号为p
通过以上步骤,就把hash值隐藏到了原始载体中,得到伪装对象S
3.图像自认证
1)提取hash值
a.认证者利用隐藏密钥
b.使用与嵌入过程中相同的顺序扫描伪装对象,找到灰度值为h与
2)恢复原始图像
根据伪装对象的直方图,将
3)认证图像完整性
a.使用SM3算法对恢复出的图像
b.对比
第三部分的流程图如图4所示。
本发明
实现图像的自认证
本方案可以实现图像的自认证,也就是说图像在认证时不需要其他单独的认证信息,仅用图像自身即可完成认证。
与现有认证方式相比,自认证的好处在于验证者不需要保存认证者的认证信息,即hash值或者其他能够认证的信息,而是将认证信息直接保存在待认证的载体图像中,图像的hash值不对外公开,这样就保证了hash值的保密性,使得非法用户无法获取原始图像的hash值,大大减小了伪装攻击成功的概率。
自认证的另一个好处在于,使用了基于对称密钥的可逆信息隐藏技术来实现认证信息的秘密传输,即嵌入方和认证方使用相同的密钥。如果私钥使用的时间过长,或者认证者发现私钥有泄露的风险,认证者可以定期或者不定期修改私钥,这将极大提高系统的安全性。
提高系统的安全性
本方案可以抵抗图像篡改攻击。所谓图像篡改攻击,指的是攻击者使用一幅伪造的图像,试图通过认证。方案中使用了SM3和基于对称密钥的可逆信息隐藏技术,可以有效抵抗图像篡改攻击,具体说明如下:
设合法认证者使用的图像是A,对该图像进行SM3哈希运算,得到该图像的hash值为A
设攻击者使用的篡改图像为
在本方案中使用分段logistic映射生成伪随机序列a
由于在图像数字签名认证方案中,签名信息会作为单独的文件进行保存,导致巨大的资源浪费,因此在本方案中采用一种图像自认证的方式,将认证信息使用可逆信息隐藏算法嵌入图像中,认证时只需要从图像中提取出认证信息即可完成认证。
本方案对传统认证方式在安全性方面做出了提高。首先,相较于数字签名认证方案,本方案中图像是hash值是隐藏在图像中不对外公开的,因此非法用户和其他非授权用户是无法获取原始图像的hash值的,这就大大减小的伪装攻击成功的概率。其次,由于本方案使用的是基于对称密钥的可逆信息隐藏方案来实现认证信息的秘密传输,即嵌入方和认证方使用的是相同的密钥,这样不仅更方便于图像库的管理,而且如果管理者发现私钥有泄露的风险,可以定期或者不定期的对私钥进行修改,这将极大提高系统的安全性。最后,如果攻击者企图通过使用一副伪造的图像通过认证,在不知道密钥的情况下,由于本方案使用logistic映射生成隐藏密钥序列,密钥空间大小可以达到2
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 使用包括有机图像信息的临时密码的认证方法和设备,能够通过使用有机信息作为哈希函数的变量来提高认证过程中的可靠性和稳定性
机译: 基于不对称密钥和哈希函数的RFID双向认证方法
机译: 基于哈希函数的双向认证方法和系统