我们利用自然散斑图像的高度随机分布特性,将自然散斑图像与视觉密码中的密钥进行结合,设计出了一种通过改进型灰度重排序算法实现的散斑视觉密码方法。并且首次将散斑视觉密码和QR码相结合设计了一个用于用户证件的认证系统,通过散斑视觉密码方法将携带用户认证信息的QR码图像隐藏到散斑图像中,并将散斑图像印制在纸质证件上。我们通过模拟仿真和类比实验的方法验证了将散斑视觉密码用于用户证件认证系统的可能性,并对比改进型灰度重排序算法和灰度重排序算法,通过PSNR和SSIM对比证明了改进型灰度重排序算法在该系统中更具有优势。最后分别对系统中类散斑密钥的抗干扰能力、虚拟密钥的唯一性进行了分析证明密钥具有较高的抗干扰能力和安全性。
1. 技术原理:
1.1散斑视觉密码原理
与(2,2)视觉密码方案的解密方法类似,散斑视觉密码方案也是将原始图像分割成两个散斑密钥,解密过程是两个散斑密钥的物理叠加过程。但由于散斑图像是灰度分布的图像,因此两个散斑键的叠加结果也具有灰度分布,而不是二值图像。
因此,为了区分叠加图像中的黑白像素信息,需要对叠加图像的灰度阈值进行区分。当叠加像素大于灰度阈值时,表示为白色像素;否则,它表示为黑色像素。当两个散斑键中像素矩阵的叠加大于灰度阈值时,表示为白色;当像素矩阵的叠加量小于灰度阈值时,表示为黑色。散斑视觉密码的叠加原理如图1 (a)所示。与(2,2)视觉密码方案不同的是,散斑视觉密码方案中有一部分是已知的自然散斑密钥,即通过激光照射散射介质获得的散斑图像,另一部分是在原始图像和自然散斑密钥的基础上通过算法计算生成的散斑密钥。
1.2散斑视觉密码实验过程
图1 散斑视觉密码的实验流程。(a)散斑视觉密码方案;(b) IGRA算法流程图;(c)自然散斑采集和类散斑流程图
散斑视觉密码的原理是将原始图像信息隐藏到两个散斑密钥中,其中一个是通过光学实验采集到的自然散斑图像,另一个是将已知的原始图像信息和采集到的光学散斑图像通过算法方法输入到改进的灰度重排序算法中。另一个散斑密钥通过算法生成。散斑视觉密码的实验过程是先用激光照射散射介质,散射介质在CCD上接收到自然的散斑图像。选取自然散斑图像中的km×km大小区域作为散斑视觉密码的密钥。在散斑秘密密钥K之后,将包含秘密信息的QR码和阈值参数Y输入到改进灰度重排序算法(IGRA)中,输出另一个类似图像C的散斑。图像的解密过程是自然散斑图像K与类散斑图像c的物理叠加,实验流程图如图1 (b)所示。
1.3散斑视觉密码用户认证系统
基于散斑图像的复杂性和物理特性以及视觉密码解密的便利性,设计了一种新的用户凭证认证系统。凭据认证系统由凭据、虚拟密码和扫描系统组成。扫描系统存储一个散斑图像数据库,其中包含若干编号的散斑图像。每个编号的散斑图像都是一个母图像,从中选择一个特定的位置作为用户的散斑密钥之一。每个用户都有自己唯一的虚拟密码,由12位数字组成。密码的前4位数字表示数据库中对应的散斑图像编号,中间3位和后3位数字表示散斑图像中对应位置的散斑密钥,后2位数字表示灰度重排序算法中的阈值参数。这里的虚拟密码是与用户一对一绑定,虚拟密码是与数据库中的自然散斑图像一对一绑定,即一个用户与数据库中的自然散斑图像一对一绑定,每个用户的虚拟密码也是唯一的。
图2 用户凭据的信息认证过程
用户通行证的信息认证流程如图2所示。当用户使用扫描系统扫描凭据时,扫描系统将扫描识别凭据上的散斑图像C并保存该图像。用户输入正确的密码后,扫描系统会找到与密码相对应的散斑图像。通过将凭据上的散斑图像与系统中虚拟密码对应的散斑图像叠加,即可获得携带用户个人隐私信息的二维码,扫描系统通过扫描二维码获取用户信息。凭据上的散斑图像与用户的密码是一一绑定的,如果用户输入的密码不一致,则无法正确获取用户信息。
用户ID散斑密钥的生成过程如图3所示。将用户虚拟密码选择的散斑密钥视为散斑K,将携带用户个人隐私信息的二维码视为其原始图像。采用改进的灰度重排序算法(IGRA)获得类散斑图像C,生成的类散斑图像C嵌入到用户ID上。凭据认证系统是由凭据提取的密钥和虚拟密码作为用户信息。
图3 凭证认证系统中的凭证生产过程
1.4改进型灰度重排算法
在散斑视觉密码生成散斑密钥的过程中,使用改进型灰度重排序算法(IGRA)将原始图像嵌入到主机中,受视觉密码学的启发,IGRA的目的是以不可感知和可靠的方式生成携带原始图像的模式。与视觉密码不同,IGRA的输出仅为类散斑图像C,而IGRA的输入包含原始图像A、自然散斑图像K和阈值参数Y。IGRA的算法框架与灰度重排序算法(GRA)相似,输入的原始图像A和自然散斑图像K被分解为独立的像素元素ai和ki,通过块处理函数R{·}输出随机像素元素ci,随机像素元素ci的集合就是类散斑图C。其中GRA算法中的块处理函数的实现方法是灰度重排序的方法,而IGRA中的块处理函数引入了一个新的阈值条件Y,阈值Y的作用是作为黑白像素的区分,当自然散斑图像K和类散斑图像C进行叠加解密时,大于阈值Y的像素会被判定为白色像素,小于阈值Y的像素则会被判定为黑色像素,块处理函数通过、和阈值Y的调控来生成随机像素元素。下面先介绍IGRA的算法框架。
在IGRA中,原始二值图像中的每个像素都平行对应于散斑图像中的一个矩阵块。假设原始图像A和自然散斑图像K的像素值大小分别为m×m和km×km,其中k和m均为正整数,且k>1,将自然散斑图像K划分为m2个矩阵块;每个矩阵块的大小为k×k个连通像素;散斑图像K由包含m2个矩阵块的序列TK={k1,k2,k3,....,km2}表示;同时,原始图像A按照像素划分为具有m2个元素的序列,从而得到TA={a1,a2,a3,....,am2}。其中,序列TA中的每个元素都对应序列TK中的元素,表示散斑图像中的矩阵像素块都对应原始图像中的一个像素。每个矩阵块和对应的原始像素块ai都作为IGRA算法中块处理函数R{·}的两个输入单元,与GRA算法中不同的是,块处理函数R{·}会根据输入的元素ai、ki和Y来进行操作,从而生成k×k个像素大小的像素元素ci,当用算法遍历输入的序列TA和TK之后,就会得到输出序列TC={c1,c2,c3,....,cm2},这里的输出序列TC是由输入序列TA、TK中的元素和阈值参数Y共同决定的,因为原始图像元素中只包含两种像素值,即黑ai=0和白ai=1,因此引入了块处理函数R{·},输出元素ci=R{ai,ki,Y}。在IGRA算法中,使用的是与GRA相同的算法框架,但是采用了新设计的块处理函数,从而使得整个算法输出的随机散斑C具有更好的随机散斑特性,同时使得图像解密的可视效果更好。
下面介绍算法框架的运行流程,IGRA算法的流程如图1所示。
Step1、读取输入的m×m原始图像A、km×km的散斑图像K和算法中的阈值参数Y;
Step2、将原始图像A和自然散斑图像K分割成序列TK={k1,k2,k3,....,km2}和TA={a1,a2,a3,....,am2};
Step3、遍历序列TA和TK,如果i>m2,则执行Step4,否则执行Step5;
Step4、将ai、ki和Y输入到块处理函数ci=R{ai,ki,Y}中,输出生成的随机散斑元素ci;
Step5、将生成的随机散斑元素ci生成新的序列TC={c1,c2,c3,....,cm2};
Step6、将序列TC转化成随机散斑图像C,输出图像C。
下面介绍IGRA的核心算法块处理函数R{ai,ki,Y}的运行流程:
Step1、将ai、ki和Y输入到块处理函数R{ai,ki,Y}中,计算出散斑块ki的平均灰度M;
Step2、判断ai的值,若ai=0表示为黑色像素,执行Step3;若ai=1表示为白色像素,执行Step4;
Step3、确定ci的数值范围0≤ci≤Y-ki,若Y-ki<0,则0≤ci≤max;执行Step5;
Step4、确定ci的数值范围,Y-ki≤ci≤max,若Y-ki<0,则0≤ci≤max;执行Step5;
Step5、在ci的数值范围的基础上生成随机矩阵;
Step6、计算ci生成的的平均灰度M,判断M是否符合散斑的灰度限定条件M±a,若符合限定条件,则执行Step7;若不符合限定条件,则执行Step5;
Step7、输出ci。
2. 实验结果和分析
图4.实验结果:(a)64*64的原始图像(携带秘密信息的QR码);(b)计算机生成的768*768的自然散斑图像;(c)通过改进型灰度重排序算法得到的类散斑图像;(d)自然散斑图像和类散斑图像经过叠加后的结果图;(e)实验扫描得到的自然散斑图像;(f)扫描得到的类散斑图像;(g)自然散斑图像与类散斑图像的叠加后的结果图
图4是采用改进型的灰度重排序算法对原始图像进行隐藏的计算机模拟结果,使用MATLAB生成自然散斑图像(b),将自然散斑图像与QR码图像和阈值参数置入到IGRA中,其中(a)是携带秘密信息的QR码原始图像,大小为64*64像素;(b)是用MATLB随机生成的中的768*768像素的散斑图像;(c)是将(a)、(b)和阈值5.5输入到改进型的灰度重排序算法中之后得到的类散斑图像,大小为768*768像素;(d)是在计算机中对图像(b)和图像(c)进行叠加并进行伪彩色处理之后的结果。通过模拟结果发现IGRA算法可以有效实现对原始图像的隐藏,并且生成的类散斑图像与自然散斑图像具有很高的相似度,模拟结果得到的解密图像也能很好的还原原始图像信息。将模拟实验中的散斑密钥用打印机打印到纸上,再使用激光扫描仪扫描纸张上的散斑图像,最终实验得到的散斑密钥为图4中的(e)和(f)。(g)是其叠加的实验结果。
图5 (a)不同K系数下的解密结果与原QR码图像的相关度;(b)K为12时的解密结果;(c)K为5、8、12时的解密图案的轮廓精密度分析
由于散斑视觉密码采用像素展开方法进行编码,当像素展开系数为k,秘密图像大小为m×m像素时,IGRA算法获得的密钥图像大小为km×km像素。不同的k系数意味着最终的关键图像大小不同,k系数越大,关键图像越大。由于用户凭证上的散斑密钥图像对图像大小有限制,因此有必要在不影响解密质量的情况下确保较小的k系数。因此,有必要对k系数进行分析,通过PSNR分析不同k系数下的系统解密结果与原始QR码的相关性。从图5 (a)的数据结果可以看出,k系数过小会导致解密效果很差。当k系数为8时,将得到最适合原始图像的解密结果,当k系数大于8时,解密效果也会很好。但是k系数过大也会导致图像尺寸过大,这对实验要求也比较高。因此,为了满足实验要求,获得更好的实验结果,有必要选择合适的原始图像像素大小和k系数。
本实验只是为了验证在用户凭证认证系统中使用散斑视觉加密的可能性,并没有完全设计一套设备来实现凭证认证系统。实验采用等效比较的方法,使用QR码图像中64×64像素的原始图像大小。分别对k值为5、8和12时得到的散斑图像进行实验。将散斑图像通过打印机(打印机打印精度为600dpi)打印在A4纸上,作为用户身份证上的散斑密钥,然后通过打印机的激光扫描系统(扫描精度为600dpi)读取A4纸上的散斑图像。为了保证实验的成功,对自然散斑图像进行了相同的操作。最后,将扫描提取的两幅散斑图像叠加到计算机上,进行伪彩色处理,得到二维码的轮廓信息。由于打印精度的限制和打印颜色的偏差,最终的解密结果中缺少部分QR码的轮廓信息。图5 (b)为k=12时的叠加结果。同时,不同k值得到的实验结果也有较大差异。图5 (c)为k为5、8、12时的解密结果。可以看出,k值越大,最终的二维码轮廓越清晰。
实验结果表明,将散斑视觉密码技术应用于证书认证是可行的。仿真了散斑密钥的生成过程和扫描提取过程,通过实验得到了解密结果,表明基于散斑视觉密码的证书认证系统是可以实现的。
3. 可行性分析
3.1改进型灰度重排算法认证系统的可行性分析
首先分析IGRA算法用于证件认证系统的可行性,IGRA算法是根据已知的自然散斑图像和原始图像,来生成另一个类散斑图像,生成的类散斑图像是由原始图像的黑白像素信息和对应的自然散斑图像像素信息决定的,并由阈值参数进行调制生成的。与GRA算法不同的是,IGRA算法对原始图像中的黑色像素和白色像素所对应的类散斑矩阵都进行了处理,而GRA算法仅针对原始图像中的白色像素进行了处理,黑色像素对应的类散斑矩阵与自然散斑矩阵具有一样的像素信息,另一个不同是GRA算法的解密结果是自然散斑图像和类散斑图像叠加之后由人眼观测,而IGRAS算法是在两个散斑图像叠加之后,又进行了阈值处理,使得最后的解密效果更易识别。图6是GRA算法和IGRA算法两个散斑直接叠加结果和经过阈值处理的对比图。
图6.(a)GRA算法的直接叠加结果;(b)IGRA算法的直接叠加结果;(c)GRA算法的阈值处理结果(120~135灰度范围阈值处理);(d)IGRA算法的阈值处理结果(大于180灰度范围阈值处理)
散斑视觉密码的身份证书认证系统的核心是使用IGRA算法,将携带着用户认证信息的原始图像信息共享到两个散斑图像中,其中一个散斑图像是由光学的方法得到的自然散斑图像,另一个散斑图像是将原始图像和自然散斑图像作为输入,输入到IGRA算法中得到的类散斑图像。因此本章分别分析了IGRA算法相较于GRA算法在证件认证系统中的可行性分析和证件认证系统中对散斑密钥的抗干扰、抗攻击和鲁棒性进行分析。从直接的叠加结果来看,GRA算法的可视效果要优于IGRA算法,但通过对叠加结果与原图像分别进行PSNR和SSIM进行对比之后,GRA算法的PSNR值为0.0017、SSIM值为0.0006,IGRA算法的PSNR值为0.0281、SSIM值为0.0040。通过PSNR和SSIM对比均得出IGRA算法的解密效果要优于GRA算法。由于IGRA算法是通过阈值分别对原始图像的黑白像素进行了处理,因此会使得直接叠加的可视效果略差.IGRA算法的优势在于类散斑的生成是根据阈值参数调制的,最后的解密效果也是由阈值参数对直接叠加结果再进行阈值参数处理的。图6(c)和(d)为两种算法在直接叠加的基础上分别进行了阈值处理的结果,其中GRA算法中的阈值灰度在120-135灰度范围(0~255灰度),IGRA的灰度阈值为180。之所以两个灰度处理的阈值不同是根据两个算法的逻辑决定的。分别对两个算法的阈值处理结果与原图像进行比较,其中IGRA算法的PSNR值为0.2441、SSIM值为0.0393,GRA算法的PSNR值为-0.2577、SSIM值为-0.0258。GRA算法阈值处理结果的PSNR值为,通过PSNR和SSIM对比两个算法的阈值处理结果均可得出,IGRA算法阈值处理之后的结果要优于GRA算法。通过对比,IGRA算法在直接叠加结果和阈值处理后的结果方便的解密效果均优于GRA算法。
从阈值处理结果看,IGRA算法得到的阈值处理结果能清晰识别出QR码图像。同时解密得到的QR码可以直接扫描出来,而GRA算法得到的阈值处理结果无法直接扫描出来QR码信息。使用IGRA算法可以得到可以扫描的QR码,从而证明使用IGRA算法来用于证件认证系统是可行的。
3.2散斑视觉密码认证系统的抗干扰分析
类散斑密钥的抗干扰能力分析:证件认证系统的两个密钥分别为嵌入在证件通行证上的类散斑图像和与用户一对一对应的虚拟密码,首先分析在证件通行证上的类散斑图像的抗干扰能力,若在携带过程中类散斑图像被磨损,从而使得类散斑图像上有划痕,分析划痕对解密结果的影响,图7中a、e、i是自然散斑图像,b、f、j是不同划痕程度下通行证上的类散斑图像,c、g、k是自然散斑图像和划痕图像的直接叠加结果,d、h、l是经过阈值处理之后的叠加结果。从图中阈值处理后的叠加结果可以看出,当证件通行证上的类散斑图像受到轻微划痕时,解密图像能够还原出QR码的轮廓信息。当划痕严重破坏了散斑信息时,或者遮盖了散斑信息时,会导致类散斑图中划痕处的散斑信息无法被提取出来,从而导致最后的解密图像依然会有划痕存在,从而影响最后的QR码扫描结果。从图7中可以得出,证件认证系统中的类散斑密钥具有一定的抗划痕干扰能力,当类散斑密钥存在轻微划痕时依然可以有效提取出QR码信息。
图7 (a)、(e)、(i)为自然散斑图;(b)、(f)、(j)为不同划痕程度下的类散斑图;(e)、(g)、(k)为两个散斑图的直接叠加结果;(d)、(h)、(l)为两个散斑图叠加之后的阈值处理结果
分析虚拟密码的唯一性:证件认证系统中的另一个密钥虚拟密码,是与用户一对一绑定的,虚拟密码是用来提取出系统中与用户所绑定的自然散斑图像,通过输入正确的虚拟密码,可以从数据库中得到与用户一一绑定的自然散斑图像,当系统扫描出用户证件通行证上的类散斑图像后,用户通过输入正确的虚拟密码来从数据库中提取对应的自然散斑图像,类散斑图像和其对应的自然散斑图像进行叠加并进行阈值处理后,即可得到携带着用户证件认证信息的QR码。若虚拟密码不正确,即从数据库中提取出来的自然散斑图像与类散斑图像不对应时,其得到的解密图像如图8所示,从图得知,当输入错误的虚拟密码时,得到的错误的自然散斑图像是无法与类散斑图像正确解密的。因此虚拟密码具有唯一性。
图8.(a)正确虚拟密码的自然散斑图;(b)类散斑图;(c)正确的解密结果;(d)错误虚拟密码的自然散斑图;(e)与(b)相同的类散斑图;(f)错误的解密结果
图9.两种算法在不同高斯噪声标准差系数下对解密图像的影响结果对比
鲁棒性:本文的鲁棒性分析是采用计算机模拟的方式进行。分别在隐藏信息的类散斑图像中置入不同标准差系数的高斯噪声,然后分别进行图像重建。通过模拟分析验证,图9为两种算法的解密图像随不同程度的高斯噪声得到的解密结果与原解密结果的相关系数关系图,从图中可以看出IGRA的抗噪声能力要较强于GRA的抗噪声能力。
4. 结论
首先,我们是首次将散斑视觉密码与用户证件认证相结合,将散斑视觉密码用于用户信息的证件认证当中,并通过实验证明了这种方法是可行的。其次,我们改进了灰度重排序算法,使得改进的算法与证件认证系统更加契合。第三,对用于证件认证的类散斑密钥进行了抗干扰能力、密钥的唯一性和鲁棒性进行分析,在打印精度受限和轻微划痕的情况下依旧可以得到完整的QR码轮廓信息,同时也证明类散斑密钥与用户之间具有唯一性,无法通过其他密钥进行破解。实验结果和仿真分析表明类散斑密钥具有良好的安全性和抗干扰能力。
论文信息:
该论文以 “Speckle visual cryptographyfor credentials authentication”为题在线发表在Applied Optics
本文第一作者为本实验室研究生焦岸青,合著者为本实验室博士生祝玉鹏,本实验室研究生米沼锞,科研助理周新隆,河北工程大学朱巧芬教授,空天院柯常军研究员,通讯作者为本实验室负责人史祎诗教授。
Anqing Jiao, Yupeng Zhu, Zhaoke Mi, Xinlong Zhou, Qiaofen Zhu, Changjun Ke, and Yishi Shi, "Speckle visual cryptography for credentials authentication," Appl. Opt. 63, 4351-4359 (2024)