QR码的应用发展相对较早。早在1980年代,日本和韩国的快餐店和便利店就在传单和优惠券上使用QR码。后来,它逐渐发展为使用QR码作为电影和表演的入场券。仅面向受众您需要扫描特定设备上的代码才能输入。当前,诸如通过扫描加密的QR码的注册和支付之类的相关应用已经变得非常普遍。在2008年北京奥运会之后,QR码在我国开始流行,并且QR码开始出现在电影票,登机证和火车票中。特别是随着支付宝和微信支付的普及,二维码支付已成为日常生活的一部分。 QR码的安全保护一直是研究热点。由于难以监控QR码的数据内容和产生源,因此编码和解码过程完全开放,并且读取软件的质量参差不齐。因此,如果没有统一的管理标准,就容易造成信息泄漏和QR码信息变更等。安全隐患。针对QR码的攻击方法具有多种特征,主要包括以下4类。 (1)诱使用户登录恶意网站:攻击者只需将恶意网站的URL链接(例如伪造,欺诈或网络钓鱼)制作为QR码图形,然后诱使用户扫描代码以登录到该网站并获得用户输入的敏感个人信息,财务帐号等。(2)植入特洛伊木马:攻击者将自动将恶意软件命令下载到QR码中。当用户在没有保护措施的情况下扫描此类QR码时,将在用户系统中悄悄植入特洛伊木马和蠕虫。攻击者或隐藏的软件可以肆意破坏用户文件,在后台窃取用户信息,甚至可以远程控制用户,发送大量SMS消息等。(3)信息劫持:许多商家提供在线支付方式,例如QR码支付。因此,在线支付平台将根据用户订单生成QR码,以方便用户进行扫描和付款。如果攻击者劫持了商家和用户之间的通信信息并恶意修改了订单,则将给用户和商家造成直接的经济损失。 (4)网页攻击(Web):随着移动浏览器功能的成熟,用户可以输入网站域名或通过手机提交Web表单。攻击者利用网页的漏洞将非法的SQL语句编译为QR码。当用户使用手机扫描QR码登录网页时,恶意SQL语句将自动执行(SQL注入)。如果数据库防御机制易碎,则将导致数据库被入侵,从而导致更严重的危害。除了基于密码的安全QR码方法外,还有基于信息隐藏的QR码保护算法。该算法通过在QR码中嵌入一些秘密信息来更改QR码的形式,从而使攻击者无法知道其内容。嵌入的信息可以正常提取以无损地恢复QR码。基于信息隐藏的二维码保护算法将二维码图像划分为几个小块,将每个小块扫描为一维序列,并嵌入1bit信息。二维码图像是二进制图像,并且连续像素具有相同颜色的可能性很高。因此,对于每一行,不再直接对每个位置的像素进行编码,而是对颜色变化的位置以及从该位置开始的相同类型的连续颜色的数量进行编码。图1所示的编码结果为:图1中扫描后像素的编码处理算法的具体步骤如下。步骤1:填充QR码的边缘部分,以使QR码图像的像素长度和宽度均为3的倍数,然后将QR码分成3×3个彼此不重叠的小块。步骤2:按照从b1到b9的顺序,将每个3×3小块扫描到一个维序列中,如图2所示,然后对该序列执行游程长度编码。每个小块都按照图2的像素值扫描顺序进行编码。步骤3:选择运行长度最长的第一个代码,并以奇数游程长度的代码嵌入1,并以运行长度为偶数的代码嵌入。 0。如果游程长度奇偶校验与嵌入的信息不匹配,则游程长度值将增加1。步骤4:根据图像块是否被修改,对1个像素进行奇偶校验,1个像素为偶数表示该块未被修改,1个像素为奇数。