APP下载

基于二维码的加密文本信息传递系统设计

2016-02-23张长胜韩艳龙张慧翔黄兴利杨鸣坤

计算机技术与发展 2016年12期
关键词:分片二维码加密

张长胜,韩艳龙,张慧翔,黄兴利,,杨鸣坤

(1.温州大学,浙江 温州 325035;2.西北工业大学,陕西 西安 710072)

HUANG Xing-li1,2,YANG Ming-kun2

表1 QR Code、Data Matrix和PDF417在特点上的对比表

基于二维码的加密文本信息传递系统设计

张长胜1,韩艳龙2,张慧翔2,黄兴利1,2,杨鸣坤2

(1.温州大学,浙江 温州 325035;2.西北工业大学,陕西 西安 710072)

设计并实现了一种基于二维码的加密信息传递系统,用于将普通文本信息高效、安全地从内网传输至外网。传统的内外网物理隔离的方法在保证数据安全的同时也严重限制了内外网之间的数据交流,因此不能满足需求。摆渡机等中继方式在从内向外传输纯文本信息时,方法的程序繁琐且效率低。为了解决这些问题,利用二维码信息密度高的优势,在信息传递系统的信息生成端将内网的普通文本加密后生成二维码发布,再在信息读取端扫描、解密并逆转换二维码后显示信息。实验结果表明,该基于二维码的加密信息传递系统在保证安全的前提下完成了大容量文字信息的单向传输工作,具有较高的实用性、易开发性、可移植性。

二维码;加密信息;信息传递;安全

HUANG Xing-li1,2,YANG Ming-kun2

1 概 述

随着计算机应用的广泛开展,网络信息安全问题也越来越严重。通过内网计算机与外网设备的物理隔离去避免内网信息系统瘫痪或者敏感信息被盗取等恶性事件已不能满足安全需求。在实际使用中很多需要交换的计算机数据都是普通文本,文字容量大但结构简单,因此文件体积较小,其发布较为随机,不具备规律性,无法一次性统一传输。当内外网设备之间进行数据交换时,传统方法主要是安全摆渡机和人工操作。使用摆渡机进行文本信息传输的步骤包括:内网复制、中继粘贴、中继复制和外网粘贴。但中继方式的两次复制-粘贴,各类设备的使用申请,使得传输操作耗时长、总体效率低。由人工阅读内网设备的文字信息在外网设备上输入的方法中,文本信息阅读与输入均为人工操作,速度较慢,还可能出错。鉴于中继方式和人工方式固有的缺陷,在实际使用中,需要一种能基于计算机进行直接数据交换、不会降低数据安全性且高效的新型传输方式。

针对这种情况,文中设计并实现了一个基于二维码的加密信息传递系统,在需要单向传输大容量文字信息的场合,使用二维码图形进行加密文字信息的单向传输。采用不同编码方法的二维码有几十种,常用到的码制有:Data Matrix、QR Code、PDF417等,见表1[1-2]。

表1 QR Code、Data Matrix和PDF417在特点上的对比表

文中设计的基于二维码的方式可以使文字信息从计算机设备直接传输至计算机而不需人工转换。通过这种基于光学图像的数据传输方式,可以达到高效单向传输信息的目的,同时保证了数据和受控设备的安全性。

2 系统设计方案

2.1 系统逻辑模型

总体的数据流程包括了文本输入、文本加密、文本生码、二维码传输、文本解密、文本解码与文本呈现等内容,据此,建立的二维码应用系统逻辑模型如图1所示。

图1 系统逻辑模型

2.2 总体设计

2.2.1 总体描述

整个系统中,信息生成端基于PC,采用跨平台应用程序框架开发,提供良好易开发性与优秀可移植性;信息读取端选择Android这一移动设备系统作为构建与运行平台,使用原生Java编程语言。从整个系统来看,PC端与Android端分别为输入端与输出端。输入端的输入内容为经过审核、授权传输的文本信息,输出端的输出内容为相同的文本信息,整个系统可视为透明代理,完成全部文本信息的单向传输。

2.2.2 PC端

根据二维码应用系统的总体设计,需要实现信息的录入、转换、加密、数据分割、二维码生成、图像导出与设备绑定等功能,同时,需要提供较为易用的用户交互界面。PC端需要8类模块,分别为:

(1)设备管理模块:提供设备的信息保存与绑定能力,设置包括IMEI/MEID、IMEISV、统一密钥等信息;

(2)配置管理模块:提供二维码生成相关的选项配置功能,包括加密算法、二维码格式、相应格式参数、分片策略等内容,提供较高的生成定制能力;

(3)二维码生成模块:提供将处理后的信息最终生成二维码图像的功能;

(4)信息加密模块:对信息进行加密,提供多种加密算法,提高对数据的保护能力;

(5)信息控制模块:对输入的信息长度进行控制,根据不同的分割策略提供不同的控制方式;

(6)数据分割模块:提供将数据信息分割成多条数据,从而实现可生成多张二维码图像的能力,保证了较长文字信息可顺利分割为多张图像后正常解码呈现的功能,避免单张图片的限制;

(7)导出管理模块:提供自动导出生成图片至指定目录的功能,此外,也实现了可选最大尺寸与导出格式等功能;

(8)用户交互模块:提供正常的人机交互界面,结合其他模块,基于MVC模式,实现逻辑与界面分离的设计原则,降低功能耦合性,提高了程序健壮性。

2.2.3 Android端

根据总体设计原则,在实现功能的前提下,Android端需要提供一定的定制化能力。该端功能模块需要提供验证、存储、扫描、解码、解伪装、解密、首次设置、事件监听与网络管理等功能。该部分设计有10个模块,包括:

(1)权限控制模块:使用登录密码对用户进行二次验证,避免未授权人员突破外部调用入口限制后获得正常使用内部功能的情况;

(2)字符转换模块:提供Base64逆转换功能,避免出现字符问题导致的信息无法识别的情况;

(3)信息解密模块:提供程序自适应识别加密算法,并使用预置密钥进行数据解密的功能,保证数据的安全性;

(4)信息存储模块:根据特定设置选项,可对扫描并识别的信息进行保存,提供添加、删除及浏览等基本功能;

(5)设备控制模块:通过整合多种特征数据,保证内部功能程序无法在未授权手机平台中正常运行,从而避免数据的泄露可能性;

(6)首次设置模块:提供首次安装内部功能程序时所需的多项设置功能,包括保存权限、密钥、登录密码、中断策略等;

(7)信息识别模块:提供对单片或多片分割数据图像的识别能力,根据相应设置,可连续扫描多张已分割数据图片形成最终的信息;

(8)事件监听模块:实时监听系统中的特定启动事件,验证相应事件信息后,启动程序的入口验证界面;

(9)网络管理模块:在内部功能正常运行时,自动关闭运行系统的网络连接(包括Wifi和移动数据),防止信息泄露,在正常退出内部功能程序时,自动恢复相应的网络连接设置;

(10)图像扫描模块:结合Zxing[3-4]二维码库提供二维码图像的扫描能力,保证程序能获得正常的扫描结果。

3 系统安全技术

3.1 数据格式

考虑到单向传输信息的安全性与容量等因素,系统传输的二维码图形需要分片并进行数据加密,此外,为防止数据泄漏的可能,需要加入设备特征进行授权校验。因此,完整的一段文本信息会自动切分、加密、加入校验信息,最终形成数段数据,映射成数张二维码图片,在信息读取端,二维码图片将分片解析,获得分片数据,再组装成完整的文本信息。

每个数据分片会包含分片信息,包括分片数量、分片序号、加密算法标识、设备特征信息及加密数据等内容。

3.2 加密算法

考虑系统应用场景的不同需求和其他情况,该系统具备多种加密算法,包括AES、DES[5-6]、3DES及BlowFish[7-8]。其中,AES包括128位加密和192位加密两种模式[9]。信息读取端在安装后运行设置,需要输入密钥。密钥分发步骤需要人工参与,即在信息生成端保存授权设备信息时,人为确定设备密钥,并在信息生成端与信息读取端保存。

由于信息切分的存在,一段文本信息很有可能最终生成为多张二维码图形。为了避免单张图片被恶意扫描解析而导致部分传递信息泄漏的问题,该系统使用了序列化加密转换的方式确保总体信息与切分信息的安全性,即引入双重加密措施,在对完整文本信息进行加密的基础上,对分片后的加密信息进行加密。

3.3 信息切分

QR码的扫描方式比较灵活,无论用户在什么角度进行扫描,信息都可以正确被识读[10]。但是不论是QR码还是Data Matrix码,都存在理论容量限制和容量过大造成生成图像过于复杂而无法解析的问题。而结合具体应用场景,不能过度限制需要传输的文本信息长度,否则会严重降低整个系统的实用性。因此,该系统将完整的一段文本信息进行切分。使用的分片与组装措施是分拆信息后,计算获得所有分片的数量,并在每个分片中加入分片的序号,确保信息读取端可以正确组装分片。在最终组装时,将按照分片顺序进行组装,如果发现分片数量不正确,将等待所有分片被扫描后才开始组装。进行切分后,一段文本信息最终可能生成为多个二维码图形,增加了泄漏的可能性。但在此情况下,除非获得了所有该段信息的分片,并使用授权设备,否则传递的信息依然无法正确解析,具有较高的安全性。如果有少数、不完整的二维码图形泄漏,也不会导致信息泄漏,主要原因包括:

(1)信息读取端会一直等待其他分片的扫描,并在分片完整后才开始组装,因此单独一张二维码图形无法激活组装功能;

(2)即使通过强制方式修改二维码图形,使信息读取端认为该信息只有一张二维码图形,解密出来的信息也是经过序列化加密转换的,无法识别为正常可读的文本信息。

3.4 设备认证

在引入自动信息传递方式后,如果不采取控制措施,传输的信息很容易被未授权的设备所读取,从而导致信息泄漏。该系统引入设备认证机制,通过信息生成端与信息读取端的授权与认证措施,保证文本信息只能被信息生成端授权的设备解析读取,其他设备无法正常解析信息。

(1)设备绑定。

在安装或重置后,信息读取端首先运行设备绑定操作,否则无法进入正常工作模式。设备绑定操作需要信息生成端的配合,即信息生成端根据设备的特征信息生成绑定二维码,信息读取端扫描并验证正确后才能正常运行,否则会一直要求扫描设备绑定二维码。

(2)信息绑定。

信息生成端生成的二维码图形不仅包括基本数据信息,还添加了设备特征信息的混淆数据。信息读取端在扫描这些图形尝试进行解码时,会首先校验这部分特征数据,如果发现特征数据不符,将停止解析与读取工作。

4 系统实现与评估

4.1 系统技术基础

二维码应用系统的软件部分主要目的是通过二维码的生成、传输与解码,实现敏感数据的单向传输,保证关键信息的安全性。应用系统需要使用的外部调用库包括Qt应用程序框架、ZXing二维码库及OpenSSL密码库。其中,Qt应用程序框架用于信息生成端基础框架,OpenSSL密码库用于信息生成端的加密操作,ZXing二维码库同时用于信息生成端生成二维码和信息读取端解码两部分。

4.2 功能评估

4.2.1 测试平台

信息生成端使用基于联想扬天台式机的Windows XP系统,而信息读取端则选择三星Galaxy Note 2手机,操作系统为Android 4.0。

4.2.2 功能演示

(1)信息生成端基本功能。

信息生成端启动后为包括各个核心逻辑的主界面,包括设备信息选择与显示、配置信息选择与显示、文字信息输入及最终的生成二维码显示。

(2)信息读取端绑定。

为保证信息读取端只能读取已授权本设备读取的文字信息,该端加入了设备绑定功能,设备只有绑定后才能正常解析读取二维码。在需要绑定设备时,信息生成端首先需要根据该设备信息生成设备绑定二维码图形。

(3)信息生成读取。

通过信息生成端生成二维码后,使用信息读取端进行图形扫描,最终结果将直接显示在信息读取端界面,资料区内的深色与浅色(黑色与白色)方格是通过排位图形来区分的[11],黑色的几何图形表示二进制“1”,白色的几何图形表示二进制“0”[12]。

4.2.3 性能评估

对二维码加密信息传递系统进行了性能评估,内容包括:单张二维码图形所能支持的文本信息长度、固定信息长度下所需二维码数量。

(1)单二维码图形评估。

纠错能力:分为四级,分别为L、M、Q、H。L级:纠错数据码字约7%;M级:纠错数据码字约15%;Q级:纠错数据码字约25%;H级:纠错数据码字约30%。一般来说,纠错级别越高,可容纳的数据信息就越少,通常采用M级的纠错级别[13-14]。

如图2所示,在加密条件下,信息生成端生成的QR码制二维码图形在不同纠错等级下可传递的信息容量有一定区别。由于低纠错等级需要加入的纠错冗余信息较少,因此,可承载的信息容量较大。相反地,高纠错等级需要携带大量冗余数据,真实数据的容量明显降低。如图3所示,Data Matrix码制可携带的文本信息容量远较QR码制低。此外,使用不同加密算法对信息容量的影响不大,正常使用中,可以使用安全性较高的AES加密算法。

图2 单二维码图形评估(QR码)

图3 单二维码图形评估(Data Matrix码)

(2)多二维码图形评估。

在此评估中,需要使用定长的文本信息,用以评估定长信息条件下需要生成的二维码图片与体积。文中使用定长为5 500个英文字符作为评估信息。

如图4、图5所示,使用QR码制时,纠错等级越高,定长信息所需的二维码图片数量越多,而加密算法的区别不会造成图片数量的大幅变动。这也与单二维码图形评估的结论相同;而Data Matrix码制的表现也类似。

图5 多二维码图形评估(Data Matrix码)

5 结束语

文中在现有软件可用库的基础上,遵循二维码应用系统的设计方案,实现了基于PC端的信息生成端与基于移动设备(目前为Android)的信息读取端,基于信息选择、加密、授权、传输、认证、解密与显示的工作逻辑,满足了特殊环境下大容量文字信息的传输需求。在此基础上,对该系统进行了功能评估与测试,包括涉及基本使用的基本功能评估,此外,针对各项应用模式,使用多种参数进行了较为深入的系统测试。结果表明,二维码应用系统能较好地满足设计需求,可安全、高效地传输大容量文字信息。

[1] 朱卫东,张树艳.二维条码技术与应用[J].北方交通大学学报,1997,21(3):371-374.

[2] 中国物品编码中心.条码技术与应用[M].北京:清华大学出版社,2003.

[3] Owen S.Zxing[EB/OL].2013.https://code.google.com/p/zxing/.

[4] Mackintosh A,Martin A,Brown B,et al.Zxing,open source library to read 1D/2D barcodes[EB/OL].2012.https://code.google.com/p/zxing/.

[5] 刘晓星,胡畅霞,刘明生.安全加密算法DES的分析与改进[J].微计算机信息,2006,22(4-3):32-33.

[6] Kummert H.The PPP triple-DES encryption protocol(3DE-SE)[S].[s.l.]:[s.n.],1998.

[7] Nie T,Zhang T.A study of DES and blowfish encryption algorithm[C]//TENCON 2009-2009 IEEE region 10 conference.[s.l.]:IEEE,2009:1-4.

[8] Schneier B.The Blowfish encryption algorithm[J].Dr Dobb's Journal,1994,19(4):38-40.

[9] Daemen J, Rijmen V. The design of rijndael:AES-the advanced encryption standard[M].[s.l.]:Springer,2002:108-120.

[10] Liu Y, Yang J, Liu M.Recognition of QR code with mobile phones[C]//Proc of control and decision conference.[s.l.]:IEEE,2008:203-206.

[11] 邹沿新,杨高波.Data Matrix二维条形码解码器图像预处理研究[J].计算机工程与应用,2009,45(34):183-185.

[12] 刘 悦,刘明业,刘明军.快速响应矩阵码自动识别算法的设计[J].计算机系统应用,2006,15(6):51-54.

[13] 周晓伟.二维条码识别技术研究[D].上海:上海交通大学,2007.

[14] 付 彬,冯宇梁.基于边沿检测的Maxicode边界定位算法[J].计算机工程,2006,32(10):196-198.

Design of Encryption Messaging System Based on Two-dimensional Code

ZHANG Chang-sheng1,HAN Yan-long2,ZHANG Hui-xiang2,

(1.Wenzhou University,Wenzhou 325035,China;2.Northwestern Polytechnic University,Xi’an 710072,China)

An encryption information transmission system based on two-dimensional code is designed and implemented,in order to transfer plain text messages from internal devices to external devices.Although physical isolation measure can guarantee data security,it seriously limits data exchanges between intranet and extranet which can’t meet the demands.Transition machine etc. can transfer plain text from the inside,but the procedure is tedious when transferring plain text message.For solving these problems,taking advantage of the high information density of two-dimensional code,in the message generation end the plain text is encrypted and then published as two-dimensional code pictures,and in the message reading end the message is resolved after the reader scanning the pictures.The experiment results show that the system can complete the encrypted information transmission in a safe way,and has good performance and transportability.

two-dimensional code;encryption message;messaging;security

2016-01-01

2016-05-03

时间:2016-09-19

浙江省自然科学基金(LY13F020024);浙江省科技计划公益项目(2014C31079)

张长胜(1978-),男,讲师,博士,研究方向为信息安全;导师:慕德俊,教授,研究方向为信息安全。

http://www.cnki.net/kcms/detail/61.1450.TP.20160919.0841.030.html

TP302

A

1673-629X(2016)12-0127-05

10.3969/j.issn.1673-629X.2016.12.028

猜你喜欢

分片二维码加密
上下分片與詞的時空佈局
一种新型离散忆阻混沌系统及其图像加密应用
二维码
小康二维码
分片光滑边值问题的再生核方法
CDN存量MP4视频播放优化方法
一种基于熵的混沌加密小波变换水印算法
基于模糊二分查找的帧分片算法设计与实现
让严肃的二维码呆萌起来
认证加密的研究进展