APP下载

基于视觉加密的可视标签认证系统设计

2019-09-13李佩珊

网络安全技术与应用 2019年9期
关键词:数字图像服务端数字签名

◆廖 宇 李佩珊

基于视觉加密的可视标签认证系统设计

◆廖 宇1李佩珊2

(1. 92569部队 海南 572000;2. 91458部队 海南 572000)

随着二维码技术的发展及应用,其面临的安全威胁也越来越严重,针对此问题,作者用基于视觉加密技术和SM2密码算法设计了一种基于视觉加密的可防欺骗的QR码安全认证系统,实现了QR码图像的视觉密码信息嵌入式保护。系统分为两部分,服务器端生成QR码并且向QR码加入验证机制,手持端进行QR码安全认证与信息的读取。综合利用信息隐藏技术、视觉加密、SM2数字签名等手段,使得手持设备端在读取QR信息时,可以快速实现对QR码进行安全认证,保证获取的信息真实、准确、可靠。

视觉加密;信息隐藏;QR码;安全认证

近年来,随着移动互联网技术的发展,二维码也开始被广泛应用,尤其是其与电子商务的紧密结合,使二维码深入到社会生活的各个领域[1]。然而由于缺少相关的统一市场标准和严格监管,二维码的使用也面临越来越多的安全威胁。据腾讯《2017上半年互联网安全报告》显示,2017年上半年,二维码成为最主要的手机病毒渠道来源,占比高达20.80%。随着二维码的使用越来越普遍,而制毒者和制毒机构也进一步利用该渠道传播恶意软件与恶意网址链接,用户刷码后往往会安装恶意扣费软件或隐私窃取等病毒,这种情况日趋严峻。

针对QR码面临的安全问题,现阶段主要的应对方法是对QR码进行加密保护。常见的方式有二种:一是针对QR码所编码的数据信息进行加密,如文献[2]中采用二维码信息分组加密技术,将Rijndael和SHA512加密算法相结合,由Rijndael二次加密保护和SHA512身份校验码生成二维码等方法组成一种新的加密方法,对QR码数据进行保护。二是针对QR码图像本身进行加密,如文献[3]将二维码图像视为普通的二值图像,并利用DES算法直接对QR码二值图像进行加密。

本文结合本文利用数字签名算法和视觉密码以及信息隐藏技术,对QR码图像进行处理,解决QR码的信息真伪识别的问题。

1 基础知识

1.1 QR码

QR码全称为快速识别矩阵码[4-5],是近年移动设备上十分流行的一种编码方式,相比传统的Bar Code条形码,可存储的信息量更大,种类更加丰富。还具有超高速识别度、全方位识读、纠错能力强、能有效表示汉字等特点[6]。优点在于其输入输出的数据流均可用“0”、“1”分别表示图像中的白、黑像素。由于其灰度值为0,所以可用设备易扫描QR码中的图形值。QR码由编码区和包括熏香图形、分隔符、定位图形和校正图形在内的功能图形组成,具体的结构如图1所示。

图1 QR码图形结构

1.2 基于数字图像的信息隐藏技术

信息隐藏,就是用一种技术将信息嵌进另外一种信号中,掩护媒体通过嵌入信息生成伪装媒。该嵌入流程需要满足下述条件:符号信息无法被感知。通常符号信号不易被去除,因此具有鲁棒性。符号信号嵌入不增加主信号,主要为符号信号安全保密性服务。基于数字图像的信息隐藏技术即是以数字图像作为载体,在不改变数字图像的外观特性的基础上,将信息隐含在图像当中[7]。

基于DCT的数字图像隐藏算法大致分为三步:首先将二维DCT转换载体图像分块,接着以秘密信息来调制DCT系数。然后,对新的系数作离散余弦最终获得隐藏图像[8]。

1.3 视觉加密技术

图2 简单视觉加密过程

2 基于视觉加密的QR码安全认证系统设计

2.1 系统总体流程设计

结合QR码的图像特点,本文设计了一种面向QR码的可视标签认证系统。该系统分为手持设备和服务端两个部分,服务端主要负责对物流信息计算生成QR码,QR除含有物流信息外,并包含了随机生成的信息m和数字签名Sig(MD1);而手持设备具备对QR码安全认证的功能,主要表现在对相对应QR码生成共享图像P2且能做异或运算得到验证图像S,在通过数字签名验证m信息的真伪的同时将m的含义与验证图像做比较,用户通过视觉感知读出秘密图像的信息,判断与解码后m的含义是否相同。系统总体流程如图3所示。

图3 系统总体流程设计

2.2 系统服务端设计

系统服务端主要完成带有双重可认证信息的QR码生成任务,具体主要包括以下三个步骤:

(1)提取图像特征值

首先将26个字母分别生成的26张图像,之后对QR码图像进行滤波处理,并将处理结果与原图像作二维卷积运算,得到特征图像;之后将所得到的特征图像录入数据库中。

(2)生成初始QR码

生成QR码的过程可分为以下几个步骤:

Step1:编辑物流信息;

Step2:SM2公私钥对的产生;

Step3:随机产生验证信息m,并通过消息摘要算法生成MD,并对MD做SM2数字签名,得到Sig(MD);其中验证信息m为7位(十进制),m赋有一定的含义,所以对应不同的位有着不同范围及意义。我们将m分为4个组:起始位置(设为a);图像信息(设为b);放大倍数(设为c);校验位置(设为d)。

Step4:综合上述的物流信息、m和Sig(MD),并生成对应的QR码。

(3)服务端生成载有视觉认证图像的QR码

由服务端的工作流程图可知,要将视觉加密信息嵌入QR码中,主要有以下步骤:

Step1:根据原有的验证信息m,选取对应的特征图像S1,并对图像S1进行CI插值运算,得到图像S;

Step2:初始QR码图像与特征图像S做“异或”运算,得到加密图像P2;

Step3:将共享图像P2隐藏在初始QR码图像P1中,得到最终的加密QR图像Q。

主要工作流程如图4。

图4 服务端工作流程

2.3 手持设备端功能设计与实现

在服务端能生成QR码,其中手持设备扫描即为相反的过程,为了验证QR码的安全性,所以在扫描时虽提取了QR码中的所有信息,但必须经过对QR码的安全认证后,再读取物流信息。即先提取m及其签名信息,利用服务端的公钥,对签名信息进行认证,根据认证结果,判断信息的合法性;如果认证合法,通过视觉解密算法,还原验证图像,用户通过肉眼视觉感知判断图像的可读性及与验证信息m的匹配度,判断QR码信息的完整性。实现步骤主要包括以下内容:

Step1:获取服务端的公钥,依据SM2签名认证算法,对Sig(hash(m))进行解密,得到hash(m);

Step2:利用相同的消息摘要算法对m进行散列运算,得到hash(m)1,比较与hash(m)是否一致。如果不一致,则该QR码不合法,不可信。如果一致,则进行下一步操作;

Step3:利用信息隐藏技术将共享图像P2从加密的QR码中提取出来,结合视觉解密算法,P2与QR码图像进行“异或”处理,可得到验证图像S。并将其显示到界面中,用户通过视觉观察,检验图像S是否验证信息m中提示的信息相符合,已达到检验QR码信息完整性的要求,并以此对用户进行提醒。

主要工作流程如图5。

图5 手持端主要工作流程

3 结束语

本文针对QR码应用过程中面临的安全问题,结合QR码的图形特点,设计了一种可视标签认证方案。方案利用SM2数字签名技术和视觉加密算法,实现了QR码的信息传输过程的双重加密认证,能够极大地增强用户扫码过程的安全性。

[1]徐霖,毕桂.谈谈二维码安全问题[J].河北农机,2019(04):84.

[2]肖本海,郑莹娜,龙建明,等. 基于SHA512哈希函数和Rijndael加密算法QR二维码信息安全设计[J].计算机系统应用,2015,(07):149-154.

[3]张定会,单俊涛,江平. QR码DES加密与解密[J].数据通信,2011,(03):40-42.

[4] GB/T18284-2000,QRcode[S].

[5]冯汉禄,黄颖为,牛晓娇,钱银超.QR码纠错码原理及实现[J].计算机应用,2011,31(S1):40-42.

[6]万浩.QR码识别算法研究[D].南京理工大学,2017.

[7]程航,王子驰,张新鹏.基于图像块分组的加密域可逆信息隐藏[J].北京工业大学学报,2016,(05):722-728.

[8]张曌.数字图像下的信息隐藏技术[J].电子技术与软件工程,2018(04):58.

[9]武雪芹.视觉密码技术应用与研究[D].中北大学,2016.

猜你喜欢

数字图像服务端数字签名
改进压缩感知的舰船数字图像水印算法
基于Blob算法的多特征联合数字图像转换仿真
交通运输行业数字签名系统的设计与实现分析
数字图像取证的关键技术
数字签名技术在计算机安全防护中的应用
新时期《移动Web服务端开发》课程教学改革的研究
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
关于电子商务中安全数字签名的研究
掌握方法用好数字签名