APP下载

一种基于二维码的信息隐藏方法

2016-07-22孙浩天王志鹏孔德举都基泽

电脑知识与技术 2016年16期
关键词:二维码

孙浩天+王志鹏+孔德举+都基泽

摘要:在信息安全大时代的背景下,信息隐藏作为一种可以用来保密通信的手段,也越来越多的应用在生活的各个方面,智能移动终端设备的数量大幅增加,已经成为了人们日常生活中不可或缺的通讯工具。许多应用软件都在利用二维码在移动用户之间进行快捷的信息交互,将信息隐藏与二维码相结合,把二维码作为信息隐藏的载体,利用编码机制的特点直接将加密后的秘密信息写入,在其中隐藏秘密信息。通过不同的Android解码器的读取,普通解码器只能读取出二维码中的无效信息,而无法读取也不会想到在二维码之中还存有隐藏信息,只有利用根据本文提出的特殊算法设计的解码器通过得到服务器的解密信息后才能发现并解读其中的秘密信息,从而达到秘密通信的目的。

关键词:Android;二维码;信息隐藏

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)16-0077-04

1 概述

二维条码技术是一种广泛应用的信息编码方式,具有编解码快速便捷等特点。借助于智能移动终端设备的普及,二维条码的应用场景越来越多,利用二维条码在移动终端用户之间快速交互信息的应用软件随处可见,渐渐成为一种时尚。受这种风潮的启发,本小组成员开始设想将二维条码技术与信息隐藏思想结合起来,研究一种快捷、安全的秘密消息传递方法。下面介绍相关研究现状和意义。

1)基于信息隐藏的保密通信

信息隐藏[1]是将一则消息、图片或文件隐藏于其他消息、图片或文件中的技术。在信息隐藏过程中,秘密信息往往首先被加密,然后被隐藏在某种载体中,其原理如图1所示的模型。其中的原始图像就是所谓的载体,而发送中的隐藏信息图像就是被嵌入秘密消息之后的载体,因为载体是不易引起怀疑的普通消息、图片或者文件,所以增加了通信路径上密文被窃取的难度,因为攻击者根本就不会发现有秘密通信在进行。信息隐藏技术的应用很广,保密通信、身份认证、数字版权保护和追踪以及信息完整性、真实性鉴定与内容恢复等方面都在使用信息隐藏技术[2-4]。其中,利用信息隐藏技术进行保密通信时,通信双方将秘密信息隐藏在数字载体中并利用公开信道进行传递,这种保密通信方式在军事、商业、金融等方面领域都有广泛的应用。

有关载体的研究是信息隐藏技术的基础。随着信息技术的发展,可供使用的载体类型变得越来越丰富,研究人员在不断挖掘传统载体类型如文本、图像、音频和视频等潜力的同时[5-8],对于新隐藏载体的发掘一直在进行,比如在网页中隐藏信息[9],在基于PE文件的信息隐藏技术[10],在DNA序列中隐藏信息等。综合各种优秀的信息隐藏方法可知,要实现基于信息隐藏的秘密通信,隐藏载体往往满足一些基本的特征,如本身含有大量可利用的冗余信息,嵌入和提取信息效率要高,抗攻击能力强等,此外常用的载体类型如JPG图片,MPEG视频文件等都是常见的文件类型,也就是说传播广泛而不容易引起怀疑。

2)二维条码技术广泛应用

二维条码是一种特殊的条码技术,简称二维码。与一维条码技术相比,它采用矩形、点、六边形等几何图案来表示信息,编码时使用若干个与二进制相对应的几何形体来表示文字数值信息,解码时则通过图像输入或光电扫描设备自动识读信息。除信息表示方法不同外,二维码仍具备普通条码的一些共性,如每种码制有特定的字符集;每个字符占有一定的宽度;具有校验功能等。

因为二维码具备快速响应和快速数据访问的能力,所以随着智能手机的逐渐普及,二维码编解码功能软件已经几乎成为了智能手机的标配软件。目前常用或知名的二维条码编码机制有DataMatrix,MaxiCode,QRCode,汉信码等,其中QR码是目前应用最广泛的条码之一,该种编码最多可以表示7089个字符,而传统一维条码最多则只能表示20个字符,足见其优势。

就应用现状来说,二维条码技术已经十分成熟,尤其是与智能移动终端的结合使其得到广泛的应用,二维条码技术之所以得到广泛的应用除了其自身快速易读和高存储能力的优势外,还仰仗于移动智能终端的快速普及和网络通信的发达,尤其是智能手机的普及,激发了人们的想象力,把这种便捷的信息编解码方式应用到了产品跟踪,物品标识,实时追踪,文档管理,市场营销等一系列领域,比如移动即时通信软件用户之间可以使用二维码来相互添加好友、登陆网站,自动贩卖机可以使用二维码进行商品识别,商家也都纷纷利用二维码来发布自己的商业推广信息,甚至各种票据上也有基于二位条码制作的车票方位功能等。

1.1.2研究意义

本软件最大的特点在于其对隐藏信息安全性上的保护,本软件针对目前广泛存在的通过破解注册码完成注册身份认证而对软件进行非法使用的问题,设计并实施了一系列的安全解决方案。

信息隐藏在秘密通信过程中的应用也随着其他信息技术的发展不断升级,其与新技术的结合是一种趋势,同时也符合科技发展的规律。随着智能手机的迅速普及,二维条码技术被推广到生活的各个领域,我们设想将二维码应用于信息隐藏领域,把二维码作为隐藏信息的载体,根据编码机制的特点,把秘密消息嵌入其中,简单情况下,秘密消息可以只是经过加密过的密文,复杂情况下,秘密消息可以存储于另一个二维码当中,最终我们则希望普通的解码器只能察觉载体中无价值的内容,而只有依据本文提出的特殊算法设计的解码器通过得到服务器的解密信息后才能发现秘密消息的存在并将其解读。在理论研究的基础上,我们将基于手机安卓系统设计并实现符合该设想的秘密消息传递软件,实现秘密消息的发布和接收,检验方法的有效性和应用价值。

本文拟将流行的二维条码编码技术和信息隐藏研究相结合,设计一种基于二维条码的信息隐藏方法,并基于安卓系统设计实现对应的软件,包括编码器和服务器;

基础工作就是首先实现正常二维码的功能,然后从最简单的情况入手,仅存储少量密文,在不影响原文的情况下,实现其功能,然后在理论探究的基础上实际测量出存储的最大容量,以及最典型的情况,不断完善编码器和服务器的可信度,以期达到实用化的目的。

1.2 相关工作

快速响应码(QR码)近年来在日常生活中的广泛应用,是因为它具有大容量的数据,较强抗破坏性,快速解码等优势。因为它很受欢迎,人们可以使用它来传输秘密信息,而无需检查。QR码的隐写术的发展导致了许多问题的产生。如何将秘密信息嵌入到它,并保持QR码的原始内容是两个主要挑战。胡志明市大学的Thach V. Bui等人表示基于比特位技术的隐藏方式对于攻击者来说太脆弱,一旦修改隐藏信息的某一位都会造成隐藏信息的破化,他们提出了一种新的解决方案,基于ReedSolomon codes 和List Decoding编码方式,最终的分析、实验表明可以有效解决隐藏信息易被破坏、篡改的问题。[11]

Akshara Gaikwad等人在International Journal of Computer Science and Information Technologies发表过一篇文章,提出了在彩色图片中利用二维码隐藏信息的方法,核心思想是使用QR码嵌入到彩色图像的检测有界的概率误差。嵌入方法设计是兼容标准的解码程序,可以应用于任何颜色或灰度图像的全区域覆盖。嵌入方法由两部分组分。首先是利用半色调技术选择修改的像素打破,降低粗方形结构的QR码,第二是亮度电平的像素在彩色图像中肉眼不可见,进一步从彩色图像解码误差最小的QR码。[12]

2011年,关于QR码与信息隐藏的方法也有很多,Hsiang-Cheh Huang等人发表的一篇论文中曾经提出过一种基于直方图的可逆的信息隐藏方法。[14] QR码应用广泛,在海报或网页的角落可以普遍观察到。QR码的目的在于方便手机用户使用。人们可以用手机摄像头在网页的角落捕获的QR码,然后相应的QR码的超链接可以即刻使用。由于QR代码看起来像随机噪声,也占据原始图像的空间,大大减少原内容的价值,降低了观赏性。因此,如何保留原始图像的价值,而且保持网页即时访问的能力是文章的主要关注点。随着可逆数据隐藏技术的发展,二维码可以隐藏在原始图像中嵌入容量相当大的增加。我们提出了一个方案,当扫描含有QR码图像时,相应的QR码的超链接被首先访问,然后,QR码会消失,原始图像将恢复保留其中传达的信息。

基于对QR码的纠错性能,我们设计QR条形码的秘密隐藏技术。该方案可以隐藏秘密数据到原始QR码不会扭曲QR内容的可读性。也就是说,一般的扫码器可以读取加密的QR码的原始内容,只有授权的接收器可以提取隐藏在QR码的秘密。这一点是在收集资料时我们想到的,也是本方法的创新之处。

1.3 基于QR条码的信息隐藏方法

一种基于二维条码的信息隐藏方法,采用二维条码作为信息隐藏的载体,即将秘密信息嵌入到二维条码中进行隐藏,再采用特定的隐藏信息的提取方法进行提取,从而达到传递隐藏信息的目的。

2 方案实现

2.1隐藏消息的嵌入

隐藏消息的嵌入需要采用C/S(Client/Server)结构,即服务器/客户端结构。设计一个用来实现二维条码编码功能及加密处理的编码器,并将此编码器与服务器连接;同时设计一个用来实现二维条码解码功能及解密处理的解码器,并将此解码器存放于客户端中。此后对秘密消息进行加密预处理和嵌入二维码,具体步骤如下:

对秘密信息进行加密预处理依次分为以下3个步骤:

1)选取一种公钥加密算法,在编码器中生成若干个密钥对,然后给每个密钥对进行编号,所编号码均为十进制的两位数。并将该编号设定为每个密钥对所对应的密钥特征值。其中每个密钥对都包含一个公钥和一个私钥,公钥是用来对信息进行加密的,而私钥是用来对信息进行解密的;

2)编码器在生成作为信息载体的二维条码的过程中,需要首先在通过公钥加密算法所生成的密钥对中随机选取一个秘钥对,并利用这个密钥对中的公钥将所要隐藏的秘密信息的明文进行加密处理,最终生成秘密信息的密文;

3)将选取的密钥对所对应的密钥特征值添加到所生成密文的首部,同时将此密钥对中用来解密的私钥存放于服务器中。

将带有密钥特征值的秘密信息密文嵌入到作为信息隐藏载体的二维条码中依次分为以下4个步骤:

1)根据二维条码中的普通信息和所要嵌入的隐藏信息内容的长度与类型,选定出作为信息隐藏载体的二维条码的版本和纠错码的等级;

2)将普通信息和隐藏信息按照二维条码中的QR条码编码规则,分别转换成二进制位流,其中所添加到秘密信息首位的密钥特征值用8位二进制位流表示。再根据每8位一个码字,分别形成普通信息的数据码字和隐藏信息的数据码字;

3)标定二维条码中所存储的普通信息的末位和纠错码的首位,进而得出该二维条码补齐码区域的起始位和终止位;

4)将经过加密处理并带有密钥特征值的秘密信息的密文从该二维条码的补齐码区域的起始位开始依次嵌入,直到密文结束为止,若还有剩余位置用补齐码补齐。

2.2隐藏信息的提取

隐藏信息的提取根据用户是否使用实施方案中的解码器分为两种情况:

若用户使用本实施方案中的解码器,用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性。由于所设计的解码器存放于客户端中,所以在服务器验证用户的身份有效后,即刻跳转到解码器中的二维条码扫描界面,否则重新输入登陆信息直至通过验证。用户利用解码器对准作为隐藏信息载体的二维条码进行扫描,扫描后将获取到密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器,服务器根据密钥特征值将选择出对应密钥对中的私钥发送回客户端,客户端中的解码器随即利用得到的私钥解密出秘密信息的密文从而得到秘密信息的明文,即获取秘密信息。

若用户没有使用本实施方案中所设计的解码器+客户端系统进行登录,而是使用普通带有扫码功能的解码器对所生成的带有隐藏信息的二维条码图像进行扫描,则只能读取到二维条码中所存储的普通信息,而获取不到所隐藏其中的秘密信息。

3 实验

我们在测试过程中使用的数据如下表所示。

生成的二维码已包含隐藏信息,我们将使用二维码的用户分为普通用户(没有注册)和特殊用户(已经注册),只有特殊用户通过验证才能使用信息隐藏和提取的功能。我们可以根据上表的数据看到,信息隐藏之后的二维码发生了变化,但是普通的扫码器并不能提取到隐藏信息,这就起到了保密的作用。

下表为不同版本的信息容量:

对比其他编码形式和方法,我们选取设计的基于二维码的方法具有抗破解能力强的优点:

1)最终密文嵌入位置隐蔽性强;

2)多组密钥对,若不能与相应的加密公钥对应,即使解密私钥被截获也不能得到明文;

3)特征值嵌入初级密文构成最终密文,即使最终密文被提取直接破解也无法得到明文。

4 结论

隐私和安全是目前社会网络通信最受关注的问题,本文对一种基于二维码的信息隐藏方法做了深入研究,采用计算机模拟与手机安卓系统模拟相结合的方式,进行测试与实验,以期达到秘密通信的目的。

研究过程中主要运用的是二维码技术和信息隐藏技术,二维条码技术应用范围广泛,在智能移动终端设备不断普及的当代,应用二维码的场景越来越多许多应用软件也在利用二维码再移动用户之间进行快捷的信息交互,而当二维码遇上信息隐藏,把二维码作为隐藏信息的载体,普通的解码器只能察觉载体中无价值的内容,而只有依据本项目提出的特殊算法设计的解码器才能发现并解读其中的秘密信息,无疑将大大提高通信的安全性,在理论研究的基础上,基于手机安卓系统设计进一步实现符合该设想的秘密消息传递软件,实现秘密消息的发布和接收,检验方法的有效性和应用价值。

参考文献:

[1] Petitcolas F A P, Anderson R J, Kuhn M G. Information hiding-a survey[J]. Proceedings of the IEEE, 1999, 87(7): 1062-1078.

[2] Yang G, Li J, He Y, et al. An information hiding algorithm based on intra-prediction modes and matrix coding for H. 264/AVC video stream[J]. AEU-International Journal of Electronics and Communications, 2011, 65(4): 331-337.

[3] Jayaram P, Ranganatha H R, Anupama H S. Information Hiding Using Audio Steganography–A Survey[J]. The International Journal of Multimedia & Its Applications (IJMA) Vol, 2011, 3: 86-96.

[4] Kaur A, Goel A, Gupta H. Digital watermarking in neural networks models[C]//Engineering and Computational Sciences (RAECS), 2014 Recent Advances in. IEEE, 2014: 1-6.

[5] Al-Shatnawi A M. A new method in image steganography with improved image quality[J]. Applied Mathematical Sciences, 2012, 6(79): 3907-3915.

[6] Ren W, Liu Y, Zhao J. Provably secure information hiding via short text in social networking tools[J]. Tsinghua Science and Technology, 2012, 17(3): 225-231.

[7] Zheng P, Wang W, Zhao B, et al. Hiding information in MPEG sequences by using of B-Frames[J]. Wuhan University Journal of Natural Sciences, 2012, 17(3): 238-242.

[8] Xu E, Liu B, Xu L, et al. Adaptive VoIP steganography for information hiding within network audio streams[C]//Network-Based Information Systems (NBiS), 2011 14th International Conference on. IEEE, 2011: 612-617.

[9] Ren J, Zhang L, Wang C. A webpage information hiding algorithm based on integration strategy[C]//Information Science and Digital Content Technology (ICIDT), 2012 8th International Conference on. IEEE, 2012, 3: 707-711.

[10]Sangeetha T, Meyappan T. New Technique of Hidden Data in PE-File with in Unused Area Two[J]. IJCSNS, 2013, 13(5): 108.

[11] Thach V. Bui, Nguyen K. Vu, Thong T.P. Nguyen, Isao Echizen and Thuc D. NguyenRobust Message Hiding for QR Code,IIH-MSP, 2014 Tenth International Conference,2014

[12] Akshara Gaikwad K R.Singh2.Information Hiding using Image Embedding in QR Codes for Color Images[J].A Review, IJCSIT,2015,6(1):278-283.

猜你喜欢

二维码
二维码迷宫
二维码
让严肃的二维码呆萌起来
二维码让政务公开更直接
二维码,别想一扫了之