APP下载

一种基于多级块加密置乱的防伪图案*

2023-02-08周承卓王田玉

计算机工程与科学 2023年1期
关键词:二值防伪分块

周承卓,郑 宏,王田玉,刘 畅

(武汉大学电子信息学院,湖北 武汉 430072)

1 引言

当今时代,互联网正快速发展,多媒体设备如数字摄像机和手机等得到广泛应用。社会信息化程度越来越高,也使得人们的业余生活和工作方式产生了前人难以想象的变化。正因如此,在信息技术的前进与引动下,产生于21世纪末的二维码技术在今天得到了空前广泛的应用。当代二维码技术的应用涵盖了产品防伪与追溯、各类信息获取、网站跳转,尤其是在线支付等众多领域。二维码编码能力强、信息容量大,可以对照片、文本、音频、影像等各种信息进行编码,还可以实现对商品或证件等信息的认证和识读。

随着当今多媒体信息技术的快速发展,包括二维码在内的许多数字图像都是通过印刷方式来产生,以印刷品形式来传播,而与之对应的,很多高质量的图像输入输出设备应运而生,其中常见的包括复印机、激光打印机和高精度扫描仪等,且随着移动智能终端的快速发展,百万像素的智能手机逐渐普及。通过这些设备,二维码数字图像转换为印刷品或是由印刷图像转换为高清的数字图像,进而在社会上传播使用。而与此同时,二维码使用的便捷和广泛适用性也带来了新的安全隐患,二维码具有易被非法复制的特点,这是因为二维码的编解码方式对外公开,继而其中信息也是公开的,自身并不具有保密防伪特性,因而有必要对二维码的防伪措施进行研究[1]。

目前来看,用于二维码的防伪技术主要分为2类,即主动式防伪和被动式防伪。主动式防伪是指在生成二维码的过程中有意地加入一些可以辅助判别真伪的特殊信息,例如使用特殊材料或工艺,使用专门设计的防伪图案或数字水印等;而被动式防伪旨在通过检测二维码固有的结构特性来验证真伪,包括检测打印文档的物理不可克隆特征或打印二维码的图像特征等。

其中主动式防伪主要包括以下几个方面:

(1)使用特殊的印刷材料或工艺:通过使用特殊的、他人难以获取的材料或印刷设备,可以有效防止印刷二维码被非法复制[2,3]。特殊材料通常用于印刷过程中,例如使用可逆温变油墨印刷的二维码在常温下可以是无色的,随温度变化颜色可以发生较大变化,温度恢复到原始值时颜色又会恢复至原来的情况,整个过程可以多次发生,可以此来判别真伪;而荧光油墨在普通光下不可见,在紫外线或其他不寻常光线的照射下发出荧光,用于印刷二维码可使其在可见光下不可见,以防止复制;而特殊工艺如凹版印刷,通过印刷具有立体感的三维图案来防止其被一般的工艺所复制[4]。

(2)数字水印技术:将与二维码相关的防伪信息作为不可感知的水印嵌入到二维码图像中[5]。用于二维码防伪的水印通常是数字水印技术中的半脆弱水印,这种水印广泛用于篡改检测,特点是对强度相对较低的攻击可以体现出一定的鲁棒性,而对于那些较高强度的攻击,水印信息会发生明显变化或损失[6,7]。例如,在二维码图像的离散余弦变换频域选取合适频段作为嵌入空间,通过修改相应系数来进行水印信息的嵌入[8 - 10]。嵌入水印的二维码图像在经历一次打印后仍然能提取出大部分水印信息,而二次打印后,水印信息会损失更大,因而可以根据恢复出的水印信息的完整程度来判别打印件和复印件。

(3)使用防复制图案:传统二维码一般由黑白色块作为传递信息的基本单元,但由于二维码中的块状单元一般比较大,经过非法复制与合法读取得到的二维码图像并无明显差异。相应地,一些具有更多细节特征的图案例如量子云码或纹理图案等则可以用于复制检测[11,12]。对包含这些防伪图案的二维码进行非法复制时,图案中的细节特征更容易发生改变,通过对细节特征的检测识别非法复制。

就使用防伪图案进行二维码防伪而言,已经有很多研究人员提出了相应的方案。Tkachenko等人[13]提出了2LQR code(Two-Level QR code),与标准二维码不同,2LQR code 使用特定的纹理图案代替黑白块状结构来构建私有存储级别。特定纹理图案具有防复制的特性,因而可以通过检测私有存储级别信息鉴伪[14 - 17]。Xie等人[18]提出了LCAC(Low-Cost Anti-Copying)QR code,通过在生成二维码的过程中对原始嵌入信息添加位置保密的认证信息达到防复制效果。Picard等人[19]在二维码中插入包含私有信息的图案,图案由疏密不同的细小黑白块组成,在复制后会产生明显变化。

目前来看,通过防伪图案设计进行防伪主要针对打印扫描过程,而对于打印后手机拍照识别的研究相对较少,而测试中的伪造方式主要是复印,对于高清拍照修图打印的研究相对较少。

本文基于信息隐藏中加密置乱的方法,结合像素点扩大为像素块的操作,提出了一种基于多级块加密置乱的新型防伪图案。首先,通过一级块扩大操作将原始二值密信图像中每个像素点用一个特定大小的像素块代替;然后,对得到的图像进行基于Logistic混沌序列的加密操作;接着通过Arnold变换对图像进行置乱;最后通过二级块扩大操作将得到的图像中的每个像素点用一个特定大小的像素块代替,以形成复杂混乱的防伪图案。实验结果表明,本文算法生成的图案不仅保密性良好,并且对于目前常用的伪造手段具有较好的区分能力,且实际尺寸较小,辨识相对方便。

2 相关技术

2.1 基于Logistic混沌映射的图像加密技术

从目前的研究来看,基于混沌技术的信号加密技术具有很强的理论和实际价值,其安全性来源于混沌信号的超长周期、类随机性以及混沌系统对初始状态和系统参数的敏感性[20]。其中Logistic混沌映射因其具有较高的安全性和运行效率而广泛用于现有的图像加密算法中。Logistic映射的定义如式(1)所示:

Xk+1=μ×Xk×(1-Xk)

(1)

其中k= 0,1,2,…,Xk∈ (0,1),分支参数μ∈(3.569946,4]。

输入序列初值X0=x0,分支参数μ=μ0,迭代次数N,可以生成长度为N的混沌序列X= {x0,x1,x2,…,xN-1},对X进行二值化得到序列Y= {yk|yk=round(xk),xk∈X}。令N≥n×n,其中n为待加密图像尺寸,将序列Y中的最后n×n个元素按行排列得到n×n大小的二值矩阵B,以该矩阵作为加密掩膜,将待加密图像A与掩膜B进行异或操作即可得到加密后图像C,其像素值如式(2)所示:

Ci,j=Ai,j⨁Bi,j

(2)

其中⨁为异或运算。

相应的解密逆运算如式(3)所示:

Ai,j=Ci,j⨁Bi,j

(3)

2.2 基于Arnold变换的图像置乱技术

作为信息隐藏技术的一种,图像置乱技术指的是按照一定的规则调整各个像素点的空间位置,使其呈现出杂乱无章的视觉效果。使用图像置乱技术不仅可以消除相邻像素间的相关性,且在反置乱时图像受到的攻击会分散到图像各个位置,因而能在一定程度上增强图像对攻击的稳健性[21]。在图像置乱中最为常用的是二维Arnold变换,对于大小为K×K的图像,其Arnold变换如式(4)所示:

(4)

其中,(x,y)和(x′,y′)分别表示变换前图像中某像素点的坐标及变换后图像中该像素点的坐标,mod表示取余运算。

Arnold逆变换公式如式(5)所示:

(5)

其中,(x′,y′)和(x,y)分别表示置乱图像中某像素点的坐标及恢复图像中该像素点的坐标。

3 基于多级块加密置乱的防伪图案

3.1 防伪图案生成算法

本文以信息隐藏理论为基础,结合分级按块扩大操作和基于平均灰度的判决策略,提出了一种基于多级块加密置乱的防伪图案,图案生成算法主要由以下步骤组成:

(1)原始密信一级块扩大:将大小为a×a的原始二值密信m(如二维码等)中每个单像素点用b×b个像素值相同的像素点表示,即按块扩大,得到大小为(a×b)×(a×b)的中间二值图像M0。

(2)图像加密置乱:设定Logistic映射的序列初值x0和分支参数μ作为密钥,设定混沌次数N≥(a×b)×(a×b),生成基于混沌序列的加密掩膜L,将L和M0进行按位异或操作得到加密后图像M1;然后对M1进行基于Arnold变换的置乱操作,重复置乱轮数为T次,得到大小仍为(a×b)×(a×b)的混乱图像M2。

(3)混乱图像二级块扩大:为增强M2中单个像素点对打印攻击的鲁棒性,将M2中每个像素点进行二级块扩大,用大小为c×c个像素点的像素块表示,且各像素块的像素值可以和原二值像素点相同(均取0或255),也可以取2个其他分立值(如原像素值255对应220,原像素值0对应30等),同样也可以是2个不同范围内的随机灰度值(如原像素值255对应像素值大于128的随机灰度值,原像素值0对应像素值小于128的随机灰度值等),最终生成待打印的防伪图案数字图像M,大小为(a×b×c)×(a×b×c)。

防伪图案生成流程如图1所示。

Figure 1 Generating procedure of anti-counterfeiting image图1 防伪图案生成流程

3.2 防伪图案解码算法

防伪图案解码算法主要由以下步骤组成:

(1)一级分块判决:假设在清晰情况下拍照得到的数字图像为P,对P进行分割校正得到校正图像S0,大小为(a×b×c)×(a×b×c),其中a,b和c与图案生成时使用的取值相同,提取时首先对图像进行二值化;然后按大小c×c分块,共(a×b)×(a×b)个一级子块,对每块分别计算平均灰度,若平均灰度大于阈值(一般可取255/2=127左右),则设置该分块对应位置像素值为255,否则置为0,这样得到一个大小为(a×b)×(a×b)的二值图像S1。

(2)反置乱解密恢复:对包含密信的图像S1先进行T轮Arnold反置乱,再使用和生成时相同的密钥及序列初值x0和分支参数μ,生成基于Logistic混沌序列的加密掩膜L,将L与S1通过按位异或操作进行解密,粗略得到对应原始密信按块放大后的图像S2,其大小为(a×b)×(a×b)。

(3)二级分块判决:此时对图像S2再进行b×b大小分块,共a×a个二级子块,同理对每块分别计算平均灰度,若平均灰度大于阈值(一般可取255/2=127左右),则设置该分块对应位置像素值为255,否则置0。最终得到一个大小为a×a的二值矩阵,即为提取密信S3。若能对S3进行正确解码,则认为是经一次打印得到的正品,否则为二次打印伪造的赝品。

防伪图案解码流程如图2所示。

3.3 算法分析

3.3.1 抗局部攻击能力

本文算法尝试了使用2级分块来调控防伪图案的鲁棒性能,其中一级分块的大小主要影响图案对于各种干扰或局部攻击的抵抗能力。这是由于按块扩大和空间置乱操作的结合使用,原始密信中像素点按块扩大后的像素块包含多个表征原始密信中像素点信息的像素点,这些点经加密置乱后被分散到图像的各个位置,且由于置乱前进行了混沌加密操作,视觉上并不会出现置乱周期效应,使得原始信息安全性有较大提升。这样生成的图像在受到各种局部攻击(如局部模糊、污损缺失等)时,受到影响的像素点虽然在空间上处于同一个区域,但其实来自置乱前的不同像素块,因而使得局部攻击的影响可以通过反置乱操作和平均灰度判决来得到一定程度的分散化解。

3.3.2 打印半脆弱性能

原始密信经一级块扩大后,再经加密置乱操作已初步得到防伪图像,但其抗一次打印的鲁棒性和对二次打印的脆弱性能还有待提升。本文算法主要通过二级分块大小来调控该性能,二级分块越大则鲁棒性越强,但随着分块的增大,经二次打印被复制伪造的可能性也越大;而分块过小则会减弱抗一次打印的鲁棒性,导致可能无法从一次打印件中提取可识别信息。此外,二级分块扩大操作中用于代替原单像素点的像素块的灰度取值也对图案的半脆弱性有一定影响,表示逻辑“0”和“1”的2个像素值范围越接近,则越不容易在打印获取后正确分辨,而如标准二维码一样使用灰度值0和255来传递二值信息,虽然利于打印后的分辨判决,但也同样更容易被二次打印所伪造。

3.3.3 2级分块判决纠错性能

解码时先对图像进行二值化,然后对图像按二级块大小进行分块,再对每块求取平均灰度进行判决,这样只要块内像素值为255的像素多于像素值为0的像素,就表明该分块存储的二值信息为逻辑“1”的概率更高,因而块内信息判决允许的最大容错率理论上可接近50%。经一级分块判决得到中间二值图像,然后解密反置乱,误码经反置乱操作被分散到图像各个区域,可以看到得到的图像已接近原始密信图像按块扩大后的结果,而误码将以类似噪声点的形式分布。此时再对图像按一级块大小进行分块平均灰度判决,同样只要块内像素值为255的像素多于像素值为0的像素,就表明该分块存储的二值信息为逻辑“1”,因而块内信息判决允许的最大容错率理论上同样接近50%。

4 实验结果与分析

实验对基于本文算法生成的图案进行源数字图像抗一次打印-获取的鲁棒性能测试,以及对二次打印-获取伪造方式的脆弱性能测试。调整2级分块各自的大小并在二级分块扩大时选用不同的灰度值或范围来表示原来的二值0和255,形成不同组合作为相互对照。实验选用了2种纠错等级的二维QR码作为原始密信,打印分辨率为600 dpi,一次印刷品用手机拍照获取的数字图像称为原始图案,二次印刷品通过直接复印和高清拍照打印2种方式产生,印刷后同样用手机拍照获取的数字图像统称为复制图案,手机拍照时使用的放大倍数为3.5倍。

将16位数字序列“2021202120100283”通过公开的二维QR码编码方法编码为2个版本号为V2,大小为25×25 pixel,纠错等级分别为H和M的QR码作为原始密信。实际流通中防伪图案应尽可能小,以降低印刷成本和减少对印刷品视觉外观的影响,如文献[13]中,防伪二维码的物理尺寸仅为1.2 cm×1.2 cm。本文算法中原始密信图像的像素数和2级分块的大小取值决定了生成数字防伪图案的像素数,进而决定了在一定打印分辨率下打印图像的物理尺寸。为使打印图像物理尺寸在1 cm×1 cm左右,选取一级块大小为3×3和4×4,同时二级块大小取2×2,3×3和4×4形成2×3=6种组合,去掉尺寸过大的一级块,二级块大小均为4×4的组合为5种,二级块扩大时选用分立的二值0和255,150和255,50和150,以及不同的灰度范围0~110和140~255,0~50和200~255,来表示扩大前二值图像中的0和255,这样由同一个原始密信总共可形成5×5=25幅数字图像,2幅图像共形成50幅数字图像用于打印测试。为提高识别率,对提取的QR码进行角点修复。

4.1 一次打印鲁棒性测试

对一次打印-获取数字图像进行图像解码和二维码解码识别,由纠错等级分别为H、M的QR码作原始密信,采用各参数组合生成图案,对应的结果分别如表1和表2所示。其中,“是”表示提取出的二维码仍然能够成功解码出正确数据,“否”表示提取的二维码已无法正确解码。

Table 1 Decoding results of the first print-capture patterns generated from QR code with correction level H

从测试结果可以看到,图案对于一次打印的鲁棒性由2级块的大小共同决定,在某一级块的大小相同时,另一级块的大小越大则图案的鲁棒性越强。但是比较块组合3-4和4-3可以发现,二级块的大小对于图案鲁棒性的影响更大。此外,表示逻辑“0”和“1”的灰度取值或范围也对鲁棒性有明显影响。例如类似标准二维码,取分立二值0和255表示逻辑二值“0”和“1”则可以取得最好的解码识别效果;其次是2个对称分布在127两侧的灰度范围0~110和140~255以及0~50和200~255识

别率较高,原因是在对图案进行解码前首先进行了自适应的二值化操作,以更好地区分2个范围;而当2个分立取值比较接近时,则图案会呈现整体较黑(如50和150)或较白(如150和255)的视觉效果,并对打印后手机拍照获取的图像二值化后再提取的效果造成负面影响;此外原始密信的纠错等级对于图案解码识别也有一定影响,纠错等级H的一组对于一次打印具有更高的识别率。

4.2 二次打印脆弱性测试

4.2.1 直接复印伪造

直接复印伪造方式实际上是将一次打印件通过扫描仪扫描成数字图像后再打印出来形成二次打印件。目前很多对于扫描过程和打印过程的研究表明,扫描过程和打印过程对于图像的影响是多种形式攻击的组合,造成的影响包括旋转、缩放、裁剪等空间失真和灰度扩散等像素失真。

对一次打印件直接复印后手机拍照进行图像解码和二维码解码识别,同样由纠错等级分别为H和M的QR码作原始密信,采用各参数组合生成图案,对应的结果分别如表3和表4所示。其中,“是”表示提取出的二维码仍然能够成功解码出正确数据,“否”表示提取的二维码已无法正确解码。

Table 3 Decoding results of the directly reproduced patterns generated from QR code with correction level H

Table 4 Decoding results of the directly reproduced patterns generated from QR code with correction level M

从测试结果来看,此时大多数组合提取结果都已无法识别,可认为防伪信息丧失,仅那些2级块取值较大和代表“0”和“1”的灰度取值相差较远的组合(如0和255)才能提取出仍然可识别的QR码。同时可以看到,原始密信的纠错等级对复印识别结果仍有影响,由纠错等级为H的原始密信生成的图案在复印后的提取识别率略高于纠错等级为M的。

4.2.2 高清拍照修图打印伪造

目前多数防伪图像的脆弱性是体现在对于通过直接复印伪造方式生成的二次打印件,该防伪图案中的信息损失到了不可辨识的程度。但是,假设攻击者具备一些图像处理的相关知识,那么攻击者会在使用高清设备如智能手机等拍摄图像,且在二次打印之前应用一些图像处理算法,例如直方图均衡或二值化等,这些图像处理技术能提高伪造二维码的图像质量。因而有必要针对图案进行这种伪造方式脆弱性测试。对一次打印件使用手机高清拍照,对得到的数字图像进行自适应的二值化操作,最终得到二值为0和255的码图用于二次打印伪造。

对一次打印件使用手机同样在3.5倍放大拍照后,图像进行自适应二值化后作为数字图像打印,对手机拍照获取图像进行图像解码和二维码解码识别,同样由2纠错等级为H、M的QR码作原始密信,采用各参数组合生成图案,对应的结果如表5和表6所示。其中,“是”表示提取出的二维码仍然能够成功解码出正确数据,“否”表示提取出的二维码已无法正确解码。

Table 5 Decoding results of the well reproduced patterns generated from QR code with correction level H

Table 6 Decoding results of the well reproduced patterns generated from QR code with correction level M

从测试结果来看,此时大多数组合提取结果都已无法识别,而那些2级块取值较大的组合(如3-4,4-3)仍能提取出可识别的QR码。但与直接复印测试结果对比可以看到高清拍照二值化打印的整体识别率更高,如纠错等级为H的QR码生成的图案中,当一级块和二级块大小分别为3和4时,经高清拍照二值化打印出来的图案再用手机拍照解码恢复得到的QR码几乎全部可以识读,说明这些组合不具备对该伪造方式的脆弱性。

4.3 算法复杂度分析

实际应用场合对算法的实时性提出了一定要求,防伪图案解码算法复杂度不应过高,以免防伪图案解码过程耗时过多。为衡量算法复杂度,基于本文算法对不同块大小形成的组合进行解码,并计算解码过程各步骤的耗时,结果如表7所示。实验平台硬件配置:Intel(R) Core(TM) i5-8250U CPU (1.60 GHz),8 GB RAM。软件环境:Windows 10,Visual Studio 2017,OpenCV 3.4.10。

由表7可以看到,解码过程总耗时主要由反置乱解密以及一级分块判决过程决定,其余步骤耗时相对较少。其中分块判决耗时主要由分块取值决定,分块越大则判决耗时越多。反置乱解密过程的复杂度较高,原因是其中有较多的循环迭代过程,对算法中的循环迭代过程进行并行优化将可以提升算法的运行效率,降低耗时。

Table 7 Time consumption of anti-counterfeiting pattern decoding procedure

4.4 实验结论

综合来看,按本文算法生成的防伪图案对于一次打印的鲁棒性和二次打印的脆弱性受2级块大小、像素取值等多方面因素影响,可以确定的是,一次打印的鲁棒性和二次打印的脆弱性通常是矛盾的,2级块的大小较大时,图案对于一次打印有很好的鲁棒性,但却更容易被二次打印所复制,因而需要选择那些在一次打印-获取后能被正确解码识别,而二次打印(包括直接复印和高清拍照打印)后无法解码识别的组合。考虑到物理尺寸应尽可能小,且使用2个灰度范围而不是灰度二值来表示逻辑二值具有更好的信息隐藏能力,最终可以选择使用纠错等级为M的QR码作为原始密信,一级块大小为3,二级块大小为2且使用0~110和140~255的灰度范围来表示逻辑二值的组合。该组合防伪能力相对其他组合较高,且就原始密信而言,版本号相同时,纠错等级为M的QR码可存储的有效信息容量约为纠错等级为H的QR码的2倍。同时生成的图像在600 dpi下的实际尺寸仅为0.66 cm×0.66 cm,是尺寸最小的组合,印刷成本也相对最低。该组合打印前的数字图像和原始QR码,一次打印和二次打印后经手机拍照获取图像和该图像解码恢复的QR码分别如图3~图6所示。

Figure 3 Digital pattern and the original secret message image图3 数字图像和原始密信图像

Figure 4 Original pattern and the extracted image图4 原始图案和提取图像

Figure 5 Directly copied pattern and the extracted image图5 复印方式复制图案和提取图像

Figure 6 Revised printed pattern and the extracted image图6 修图打印方式复制图案和提取图像

可以看到一次打印提取的QR码较为完好,可以解码,而二次打印后提取的QR码与原始QR码相差较大,即使修复角点也无法解码。

5 结束语

二维码功能强大、应用广泛但却存在容易被非法复制的风险。主动防伪中的图案防伪是实现二维码防伪保护的有效办法之一。一次打印鲁棒性是衡量防伪图案检测能力的重要指标,但现有的很大一部分防伪图案需要通过打印扫描设备获取或是需要使用高倍数显微镜等专用设备获取,而对于使用手机拍摄获取的图像则防伪效果会下降甚至丧失。因此,研究通过手机拍照获取具有半脆弱性的防伪图像仍是一项富有挑战性的工作。本文利用图像中的像素块经一次打印-获取和二次打印-获取会受到不同程度的攻击而产生相应形变的特点,提出了一种基于多级块加密置乱的新型防伪图案。对含密信的二值图像进行一级块放大操作和加密置乱操作,再通过二级块放大操作来调控最终生成图像对一次打印-获取和二次打印-获取的半脆弱性,并在恢复时使用最大隶属度判决来增强图像对局部攻击的鲁棒性。实验结果表明,选用由纠错等级为M的QR码作原始密信,一级块大小为3,二级块大小为2,且分别用0~110和140~255的灰度范围表示逻辑二值“0”和“1”的组合,在具备对一次打印-获取鲁棒性的基础上,对于直接复印和手机高清拍照修图打印的伪造方式具有脆弱性,且该组合生成的图像在600 dpi下的实际尺寸仅为0.66 cm×0.66 cm,印刷成本相对较低。

尽管本文算法生成的图案对于二次打印具备脆弱性,且能够通过手机拍照获取来实现防伪区分。但是一次打印生成图案对手机拍照中常出现的运动模糊和离焦模糊具备的鲁棒性有限,对于一次打印生成图案的解码识别必须要在拍摄图像清晰的情况下才能正确进行。主要原因是本文算法解码时完全根据像素值大小来进行判决,而模糊时的像素间干扰对判决的影响较为严重。在接下来的工作中,如何寻找并利用图像的抗模糊特征,实现对于模糊图案的正确判决是需要研究解决的问题。

猜你喜欢

二值防伪分块
钢结构工程分块滑移安装施工方法探讨
INTEGRITYTM ECO100再生缝纫线引入防伪技术
关于4×4分块矩阵的逆矩阵*
你知道古代圣旨和纸钞是怎样防伪的吗
分块矩阵在线性代数中的应用
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
基于曲率局部二值模式的深度图像手势特征提取
河北省高速公路通行卡信息防伪解决方案