二维码的安全技术研究

2015-11-01 07:00张彬王岳
信息安全与通信保密 2015年10期
关键词:加密算法译码二维码

张彬, 王岳

(1济南市质量技术监督局,山东济南250002;

2国家网络软件产品质量监督检验中心(济南),山东济南250101)

二维码的安全技术研究

张彬1, 王岳2

(1济南市质量技术监督局,山东济南250002;

2国家网络软件产品质量监督检验中心(济南),山东济南250101)

随着信息安全获得国家层面的关注,二维码安全已成为社会普遍关注的焦点问题。本文以矩阵式二维码中应用最广泛的QR码为基础,通过论述QR码的图形结构、编码方式和编码过程,总结了常见的攻击二维码的方法,并提出从编码环节和解析环节协同引入安全机制的防护策略。目的在于从技术层面和二维码产业的顶层架构层面规范二维码市场的运行秩序,促进二维码行业形成统一的编码体系、解析体系、应用标准以及行业规范。

二维码安全;QR码;RC4加密算法;第三方认证

0 引言

矩阵式二维码是当前社会上应用程度极高一种编码技术,主要应用于信息发布、商家推广、网站登录、社交服务、电商支付、防伪溯源等方面。但是,在二维码技术为大众生活带来便捷的同时,其与生俱来的安全隐愚也成为无法忽视的风险。例如,当智能手机用户扫描来源不明的二维码时,可能立即被链接到恶意网站,使手机感染病毒或被植入木马,造成不可预知的安全隐愚和经济损失。随着国民经济的快速发展,消费者对二维码应用的需求与日俱增,对二维码安全性、行业规范性的需求更加迫切。

结合实际生活中二维码的应用,针对QR码的攻击行为,本文致力于在无法控制攻击源头的情况下提高二维码信息的安全性。设计在编码环节引入双重加密策略,在解码环节采用认证技术,从技术层面和二维码行业监管层面协同保证用户获得信息的安全性。

1 研究现状

国外从上世纪八十年代开始了对二维码技术的研究,研究早期主要针对二维码的符号结构、生成技术与编译码算法。比较成熟的码制包括PDF417二维码,QR码,Code 49,Code 16K以及Code One码[1],并且已经由国际自动识别制造商协会AIM Global、美国国家标准学会ANSI完成了上述码制的符号标准,其中QR代码已经有了国际标准,现行的版本为ISO/IEC 18004-2015 Information technology--Automatic identification and data capture techniques--QR Code 2005 bar code symbology specification[2]。国外对二维码码制的研究已经相对成熟,但对二维码安全技术的研究还处于探索阶段。

我国对二维码技术的研究起步略晚于国外。在学习国外研究成果的基础上,我国制定了两个二维码国家标准:GB/T 17172 -1997《四一七条码》以及GB/T 18284-2000《快速响应矩阵码》。在二维码安全技术的研究方面,任勇金针对QR二维码提出了一种基于Rijndae算法和异或运算的双重加密算法[3],周庆等针对QR二维码提出了基于Ising模型的加密算法[4],安吉旺等提出一种结合了RSA和口令的改进算法对编码数据信息进行加密[5],于英政等提出了QR二维码的多级融合加密算法[6]。可以看出,当前对二维码安全技术的研究主要集中于信息加密技术与编译码算法,忽视了二维码行业中最缺失的体系管理与认证技术。

2  二维码编译码原理与攻击方式

矩阵式二维码中的QR码是目前社会应用度极高的一种码制,相比其他码制,QR码具有信息密度高、编码范围广、容错能力强、译码可靠性高、易加密等优势,因此本文以QR码为例,详析二维码的安全机制。

2.1 QR码简介

QR码的“QR”取自快速响应Quick Response[7]。QR码1994年由日本Denso-Wave公司发明,QR码标准JIS X 0510在1999 年1月发布,其现行实施的国际标准为ISO/IEC 18004-2015。QR码支持的信息类型非常丰富,包括文本、图片、网址链接、音频、视频等,并且支持对各种类型信息的加密。

QR码是由若干个黑白方形模块排列组成的正方形矩阵,分为编码区域和功能图形区域,深色模块表示二进制“1”,浅色模块表示二进制“0”,其符号规格根据编码数据量自适应调整,支持的数据类型包括数字型数据、字母数字型数据、8位字节型数据、中国汉字字符数据[7]。

2.2 QR码编/译码原理

QR码使用四种标准化编码模式(数字、字母数字、二进制字节、汉字)将数据内容转换为二维码图形,而通过扫描识读完成数据内容输出的译码过程则为编码的逆过程。编/译码流程[8]如图1所示:

图1 二维码编/译码流程

编码阶段:①获取原始信息,分析其数据类型,根据分析结果选定编码效率最高的编码模式。②根据步骤1确定的编码模式,将原始信息转换为相应的二进制比特流,完成信息编码。③根据数据量将码字分块,采用纠错编码技术按块生成相应的纠错信息码,再按照分块顺序合并为最终纠错码。④将数据内容和纠错信息码组成最终数据码,添加模式信息、版本信息、寻像图形、定位图形和校正图形等,掩模处理生成QR码图像。

译码阶段:①通过寻像图形和定位图形确定QR码的方向和位置,校正图像,确定采样网络。②识别深浅模块,读取格式信息与版本信息,消除掩模,恢复数据内容和纠错信息码,用纠错码进行错误检查。③纠错后将数据信息解码。④输出数据内容。

2.3 二维码玫击

由于二维码的数据内容与制作来源难以监管,编/译码过程完全开放,识读软件质量参差不齐,在缺乏统一的管理规范的前提下,造成二维码存在诸多安全漏洞,针对二维码的攻击方式也呈现出多样性的特点。主要包括如下四类:

1)诱导登录恶意网站:攻击者只需将伪造、诈骗或钓鱼等恶意网站的网址链接制作成二维码图形,在诱导用户扫码登录其网站后,获取用户输入的个人敏感信息、金融账号等。

2)木马植入:攻击者将自动下载恶意软件的命令编入二维码,当用户在缺少防护措施的情况下扫描该类二维码时,用户系统悄悄被植入了木马、蠕虫或隐匿软件,攻击者在后台可以肆意破坏用户文件,偷窃用户信息,甚至远程控制用户,郡发吸费短信等等。

3)信息劫持:很多商家提供扫码支付等在线支付手段,网络支付平台根据用户订单生成二维码,方便用户扫描支付。若攻击者劫持了商家与用户之间的通讯信息,并恶意修改订单,这将对用户和商家造成直接经济损失。

4)Web攻击:随着手机浏览器功能的日趋成熟,用户能够通过手机输入网站域名或提交Web表单。攻击者利用Web页面的漏洞,将非法SQL语句插入二维码信息,当用户使用手机扫描二维码登录Web页面时,恶意SQL语句被自动执行(SQL注入)。若数据库防范机制脆弱,则会造成数据库被侵入,导致更严重的危害。

3 二维码安全机制设计

针对二维码编译码流程中存在的安全漏洞,以及目前几类曲型的攻击方式,本文设计在编码环节引入双重加密策略,在译码环节进行解密,并使用认证手段进行安全管理。即采用信息加密技术保证二维码信息的安全保密性,同时采用认证管理手段保证用户获得信息的正确性。

3.1 二维码加密算法选择

二维码加密策略要求兼顾信息保密性与编译码复杂度。若为了获得信息的绝对保密,而选用加密复杂度极高的加密算法,则编译码的应用效率呈几何级数下降;若为了提高编译码效率,忽视加密算法的安全等级,则失去了加密的意义。

对称加密算法的优点是加解密复杂度低、加密速度快、执行效率高,不足之处在于其安全性依赖于密钥保密性。序列密码作为对称加密算法的一种,采用随机方式生成与明文序列长度相等的密钥序列,即将密钥、明文表示成连续的二进制流,对应地进行加密。相对分组密码,序列密码具有加解密速度快、差错传播率低等优点,而且容易检测插入、删除、重播等主动攻击。序列密码算法模型如下式所示:

式中E m,n()为加密函数,D m,n()为解密函数。

RC4加密算法是曲型的序列密码算法,应用到二维码编译码流程中时,密文序列长度固定且与明文序列长度相等,不会因为信息长度变化影响纠错编码的纠错性能与二维码图形结构。因此选用RC4加密算法引入二维码编译码流程。

3.2 QR码双重加密策略

将RC4加解密算法应用于QR码的编码、译码环节。如图2所示:

图2 二维码信息加/解密过程

第一步,二维码编码阶段,在分析原始信息之后、信息编码之前引入RC4加密算法,对原始信息进行加密,加密过程如公式(4)所示。该次加密使得整个QR码处理过程都在已加密信息的基础上完成,即实现了二维码信息的加密传递。

第二步,在信息编码之后、纠错编码之前进行RC4二次加密,本步骤是对信息编码之后生成的二进制比特流进行二次加密。RC4算法在加密过程中未改变二进制流的长度,因此不会影响后续纠错编码过程。

第三步,二维码译码阶段,首先在纠错解码和信息解码之间进行第一次RC4解密,解密过程如公式(5)所示;继而在信息解码之后进行二次解密,还原二维码原始信息。

3.3 QR码认证与管理

提高二维码安全性能的通常方式是在编译码环节引入加密算法,并对加密算法进行优化,提高编译码执行效率。但是“存在安全风险不是因为二维码编码技术本身存在问题,而是因为‘用不好'”[9]。因此将编码过程和译码过程规范化,是降低二维码安全风险的关链。

本文设计在二维码编译码环节引入第三方认证管理机制。第三方认证管理,是指围绕二维码商户的登记与注册、二维码的制作与使用、扫码应用程序的识读与解析,建立国家统一的二维码管理体系。

该体系分为认证平台、解析平台与数据检索平台三部分。商户或个人需要通过认证平台注册与登记,按照行业标准制作生成官方认证的加密二维码图形。用户在认证平台下载官方授权的二维码扫描识读应用程序,作为扫码工具的唯一来源。用户完成扫码后,识读应用程序使用唯一私钥对扫描信息进行解密,通过解析平台对二维码解析结果进行确认,完成对二维码安全性的第一道防护;随后将解析结果链接到认证平台,认证平台对恶意网址、虚假信息和恶意指令进行第二道拦截,为用户屏蔽非法信息。依托官方数据检索平台的认证机制,检索、确认信息来源的可靠性,最终将安全有效的扫码结果反馈给用户。认证、解析流程如图3所示:

图3 二维码认证与管理

4 结语

近年来,二维码应用技术已成为科技造福民生的曲型代表。它让我们享受科技进步所带来的生活便捷,但也在用户“见码就扫”的不良习惯下屡次使我们跌入陷阱。因此研究如何有效规避二维码安全风险具有重要现实意义。目前针对二维码信息的加密算法已经研究得相当深入,但制约其发展的最大障碍是缺失顶层架构,缺少统一的管理体系和行业标准。本文设计在编码环节引入双重RC4加密策略,在解析环节引入第三方认证管理手段,旨在从编码机制、解析机制、二维码认证管理机制等方面推动国家建立统一的二维码管理体系。

此外,依托国家网络软件产品质量监督检验中心(济南)的公共平台,宣传、规范二维码统一管理体系的建立,推动二维码产业的规范发展,是实现二维码行业监管的一种有效尝试。

[1] 高彦受,许春根.安全实用的二维码研究与实现[J].信息网络安全,2012(10):47-50.

[2] ISO/IEC.ISO/IEC 18004-2015,Information Technology--Automatic Identification and Data Capture Techniques--QR Code 2005 Bar Code Symbology Specification[S].Switzerland:ISO,2015.

[3] 任勇金.基于Rijndae和异或运算的QR二维码双重加密研究[J].华章,2012(29):338.

[4] 周庆,黄党志.基于Ising模型的QR码加密算法[J].计算机应用,2013,33(10):2861-2864.

[5] 安吉旺,徐凯宏.基于RSA和密钥的二维码加密编码的研究[J].森林工程,2014,30(2):125-129.

[6] 于英政,许宏丽.基于QR二维码的多级融合加密算计的设计与实现[J].计算机与数字工程,2014,42(12):2362 -2364.

[7] 国家质量技术监督局.GB/T18284-2000,快速响应矩阵码[S].北京:中国标准出版社,2000.

[8] 林佳华,杨永,任伟.QR二维码的攻击方法与防御措施[J].信息网络安全,2013(5):29-32.

[9] 倪思洁.二维码藏风险技术监管有高招[N].中国科学报,2013-04-04(4).

《通信技术》征稿启示

《通信技术》是国内创办时间长、影响大的IT专业媒体,由中国电子科技集团公司主管、中国电子科技集团公司第三十研究所主办,主要报道信源处理、传输、业务与系统、网络、移动通信、信息安全等方面的先进技术、理论研究成果和最新动态。

自1967年创刊以来,《通信技术》一直以促进民族通信事业的发展为已任,搭建了一个联系编读交流、展示通信技术发展的良好平台。在强化品质、不断创新的基础上,《通信技术》将以崭新的面貌出现在您的面前——更新颖的内容、更美观的版面、更精美的印刷。为扩大学术交流的渠道,本刊特向社会征集优秀稿件。

热诚欢迎通信技术领域从事科学、教学、技术开发、维护管理等方面的专家、学者、在校师生和相关技术人员踊跃投稿。

征稿内容:信源处理;传输;业务和系统;网络;移动通信;通信保密

在线投稿:www.txjszz.com/jwk_xxaq/ht-login.jsp

电 话:028-85169918/85151528 传 真:028-85151528

《通信技术》编辑部

二O一四年一月一日

Research on Security Technology of TWo-Dimensional Code

ZHANG Bin1,WANG Yue2

(1Jinan Bureau of Quality and Technical Supervision,Jinan Shandong 250002,China;
2National Network Software Testing Center(Jinan),Jinan Shandong 250101,China)

With the great concern of information security from state level,the security of two-dimensional code becomes the focus of society.Based on QR code,the most widely-used one in matrix two-dimensional codes,the graphics structure,encoding mode and encoding process of QR code are expounded,several common methods attacking two-dimensional code summarized,and protection strategies in coordinate introduction of security mechanism from both encoding and parsing links also presented.The purpose is to regulate the operation order of two-dimensional code from technical level and the top-level architecture of two-dimensional code industry,thus promoting the two-dimensional code industry and forming the unified encoding system,analytical system,application standard and industry standard.

security of two-dimensional codes;QR code;RC4 encryption algorithm;third-party certification

TP309.7

A

1009-8054(2015)10-0110-04

张 彬(1974—),女,硕士,中级工程师,主要研究方向为信息安全,软件工程;

王 岳(1987—),男,硕士,工程师,主要研究方向为信息安全,计算机网络。■

2015-05-20

山东省质量技术监督局科研项目(No.2013KYZ23)

猜你喜欢
加密算法译码二维码
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
二维码
小康二维码
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
混沌参数调制下RSA数据加密算法研究
让严肃的二维码呆萌起来
基于小波变换和混沌映射的图像加密算法