二维码安全技术研究

时间:2022-07-21 04:17:33

二维码安全技术研究

0引言

矩阵式二维码是当前社会上应用程度极高一种编码技术,主要应用于信息、商家推广、网站登录、社交服务、电商支付、防伪溯源等方面。但是,在二维码技术为大众生活带来便捷的同时,其与生俱来的安全隐患也成为无法忽视的风险。例如,当智能手机用户扫描来源不明的二维码时,可能立即被链接到恶意网站,使手机感染病毒或被植入木马,造成不可预知的安全隐患和经济损失。随着国民经济的快速发展,消费者对二维码应用的需求与日俱增,对二维码安全性、行业规范性的需求更加迫切。结合实际生活中二维码的应用,针对QR码的攻击行为,本文致力于在无法控制攻击源头的情况下提高二维码信息的安全性。设计在编码环节引入双重加密策略,在解码环节采用认证技术,从技术层面和二维码行业监管层面协同保证用户获得信息的安全性。

1研究现状

国外从上世纪八十年代开始了对二维码技术的研究,研究早期主要针对二维码的符号结构、生成技术与编译码算法。比较成熟的码制包括PDF417二维码,QR码,Code49,Code16K以及CodeOne码[1],并且已经由国际自动识别制造商协会AIMGlob-al、美国国家标准学会ANSI完成了上述码制的符号标准,其中QR代码已经有了国际标准,现行的版本为ISO/IEC18004-2015Informationtechnology--Automaticidentificationanddatacapturetechniques--QRCode2005barcodesymbologyspecification[2]。国外对二维码码制的研究已经相对成熟,但对二维码安全技术的研究还处于探索阶段。我国对二维码技术的研究起步略晚于国外。在学习国外研究成果的基础上,我国制定了两个二维码国家标准:GB/T17172-1997《四一七条码》以及GB/T18284-2000《快速响应矩阵码》。在二维码安全技术的研究方面,任勇金针对QR二维码提出了一种基于Rijndae算法和异或运算的双重加密算法[3],周庆等针对QR二维码提出了基于Ising模型的加密算法[4],安吉旺等提出一种结合了RSA和口令的改进算法对编码数据信息进行加密[5],于英政等提出了QR二维码的多级融合加密算法[6]。可以看出,当前对二维码安全技术的研究主要集中于信息加密技术与编译码算法,忽视了二维码行业中最缺失的体系管理与认证技术。

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

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

2.1QR码简介

QR码的“QR”取自快速响应QuickResponse[7]。QR码1994年由日本Denso-Wave公司发明,QR码标准JISX0510在1999年1月,其现行实施的国际标准为ISO/IEC18004-2015。QR码支持的信息类型非常丰富,包括文本、图片、网址链接、音频、视频等,并且支持对各种类型信息的加密。QR码是由若干个黑白方形模块排列组成的正方形矩阵,分为编码区域和功能图形区域,深色模块表示二进制“1”,浅色模块表示二进制“0”,其符号规格根据编码数据量自适应调整,支持的数据类型包括数字型数据、字母数字型数据、8位字节型数据、中国汉字字符数据[7]。

2.2QR码编/译码原理

QR码使用四种标准化编码模式(数字、字母数字、二进制字节、汉字)将数据内容转换为二维码图形,而通过扫描识读完成数据内容输出的译码过程则为编码的逆过程。编/译码流程[8]如图1所示:编码阶段:①获取原始信息,分析其数据类型,根据分析结果选定编码效率最高的编码模式。②根据步骤1确定的编码模式,将原始信息转换为相应的二进制比特流,完成信息编码。③根据数据量将码字分块,采用纠错编码技术按块生成相应的纠错信息码,再按照分块顺序合并为最终纠错码。④将数据内容和纠错信息码组成最终数据码,添加模式信息、版本信息、寻像图形、定位图形和校正图形等,掩模处理生成QR码图像。译码阶段:①通过寻像图形和定位图形确定QR码的方向和位置,校正图像,确定采样网络。②识别深浅模块,读取格式信息与版本信息,消除掩模,恢复数据内容和纠错信息码,用纠错码进行错误检查。③纠错后将数据信息解码。④输出数据内容。

2.3二维码攻击

由于二维码的数据内容与制作来源难以监管,编/译码过程完全开放,识读软件质量参差不齐,在缺乏统一的管理规范的前提下,造成二维码存在诸多安全漏洞,针对二维码的攻击方式也呈现出多样性的特点。主要包括如下四类:1)诱导登录恶意网站:攻击者只需将伪造、诈骗或钓鱼等恶意网站的网址链接制作成二维码图形,在诱导用户扫码登录其网站后,获取用户输入的个人敏感信息、金融账号等。2)木马植入:攻击者将自动下载恶意软件的命令编入二维码,当用户在缺少防护措施的情况下扫描该类二维码时,用户系统悄悄被植入了木马、蠕虫或隐匿软件,攻击者在后台可以肆意破坏用户文件,偷窃用户信息,甚至远程控制用户,群发吸费短信等等。3)信息劫持:很多商家提供扫码支付等在线支付手段,网络支付平台根据用户订单生成二维码,方便用户扫描支付。若攻击者劫持了商家与用户之间的通讯信息,并恶意修改订单,这将对用户和商家造成直接经济损失。4)Web攻击:随着手机浏览器功能的日趋成熟,用户能够通过手机输入网站域名或提交Web表单。攻击者利用Web页面的漏洞,将非法SQL语句插入二维码信息,当用户使用手机扫描二维码登录Web页面时,恶意SQL语句被自动执行(SQL注入)。若数据库防范机制脆弱,则会造成数据库被侵入,导致更严重的危害。

3二维码安全机制设计

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

3.1二维码加密算法选择

二维码加密策略要求兼顾信息保密性与编译码复杂度。若为了获得信息的绝对保密,而选用加密复杂度极高的加密算法,则编译码的应用效率呈几何级数下降;若为了提高编译码效率,忽视加密算法的安全等级,则失去了加密的意义。对称加密算法的优点是加解密复杂度低、加密速度快、执行效率高,不足之处在于其安全性依赖于密钥保密性。序列密码作为对称加密算法的一种,采用随机方式生成与明文序列长度相等的密钥序列,即将密钥、明文表示成连续的二进制流,对应地进行加密。相对分组密码,序列密码具有加解密速度快、差错传播率低等优点,而且容易检测插入、删除、重播等主动攻击。

3.2QR码双重加密策略

将RC4加解密算法应用于QR码的编码、译码环节。如图2所示:第一步,二维码编码阶段,在分析原始信息之后、信息编码之前引入RC4加密算法,对原始信息进行加密,加密过程如公式(4)所示。该次加密使得整个QR码处理过程都在已加密信息的基础上完成,即实现了二维码信息的加密传递。第二步,在信息编码之后、纠错编码之前进行RC4二次加密,本步骤是对信息编码之后生成的二进制比特流进行二次加密。RC4算法在加密过程中未改变二进制流的长度,因此不会影响后续纠错编码过程。第三步,二维码译码阶段,首先在纠错解码和信息解码之间进行第一次RC4解密,解密过程如公式(5)所示;继而在信息解码之后进行二次解密,还原二维码原始信息。

3.3QR码认证与管理

提高二维码安全性能的通常方式是在编译码环节引入加密算法,并对加密算法进行优化,提高编译码执行效率。但是“存在安全风险不是因为二维码编码技术本身存在问题,而是因为‘用不好'”[9]。因此将编码过程和译码过程规范化,是降低二维码安全风险的关键。本文设计在二维码编译码环节引入第三方认证管理机制。第三方认证管理,是指围绕二维码商户的登记与注册、二维码的制作与使用、扫码应用程序的识读与解析,建立国家统一的二维码管理体系。该体系分为认证平台、解析平台与数据检索平台三部分。商户或个人需要通过认证平台注册与登记,按照行业标准制作生成官方认证的加密二维码图形。用户在认证平台下载官方授权的二维码扫描识读应用程序,作为扫码工具的唯一来源。用户完成扫码后,识读应用程序使用唯一私钥对扫描信息进行解密,通过解析平台对二维码解析结果进行确认,完成对二维码安全性的第一道防护;随后将解析结果链接到认证平台,认证平台对恶意网址、虚假信息和恶意指令进行第二道拦截,为用户屏蔽非法信息。依托官方数据检索平台的认证机制,检索、确认信息来源的可靠性,最终将安全有效的扫码结果反馈给用户。

4结语

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

作者:张彬 王岳 单位:济南市质量技术监督局 国家网络软件产品质量监督检验中心

上一篇:构建钢琴教学模式的理性思考 下一篇:中等师范钢琴教学改革研究