您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页QR二维码范文

QR二维码范文

来源:二三娱乐

QR二维码范文(精选4篇)

QR二维码 第1篇

本文设计了一个通用的二维码信息保护系统, 利用数字水印技术把储存在QR二维码中的隐私信息作为数字水印隐藏到载体图像中, 成为原数据不可分离的一部分, 有效的解决了二维码信息保密性差的问题。

2 系统设计

本系统总共分为两大模块:生成QR二维码、生成水印加密图像、解密水印加密图像。生成水印加密图像、解密水印加密图像是两个最核心的模块。

在生成水印加密图像阶段, 首先将生成的二维码进行预处理。由于ISO标准下的二维码中存在大量关于版本、标示、数据类型等信息, 为了保留最核心的信息, 只需将二维码核心部分 (数据和纠错部分) 提取出来, 得到核心内容图像。接着, 采用混沌序列置乱将核心内容图像进行置乱, 使得到的置乱图像满足应用数字水印算法的条件。最后, 将置乱图像通过离散余弦变换嵌入到目标图像中完成信息的隐藏。

在解密水印加密图像阶段, 首先提取出置乱图像。接着, 对置乱图像进行反置乱还原出核心内容图像。最后在核心内容图像上加上相应的格式信息读取出原二维码中的原始信息。

本文主要讨论核心信息的混沌序列置乱和置乱图像的嵌入。

3 核心信息的混沌序列置乱

将核心信息进行置乱的目的是为了将分布不规则的核心内容图像通过矩阵变换的形式进行图像置乱, 得到一副杂乱无章的图像。该图像无特殊形状无纹理, 因此将这样一副图像嵌入另一幅普通图像中时, 被嵌入图像的色彩、形状和纹理均不会产生较大的变化。因此合理的二维码置乱算法不仅分散度较好并且时间复杂度较低。

常见的置乱方法有混沌序列置乱、Hash置乱、幻方置乱、Arnold置乱、仿射置乱等。

在混沌系统中, 一类非常简单却被广泛研究的就是Logistic映射, 其定义为:

其中, 0<µ≤4称为分支系数, xn∈ (0, 1) , n=0, 1, 2, 3, …。混沌动力系统的研究工作指出, 当分支参数3.699456…≤µ≤4时, 则Logistic映射工作于混沌态。由于Logistic映射的输入和输出都分布在 (0, 1) 上, 因此对于一个二维灰度图像IM×N, 利用Logistic映射产生实数混沌序列{xn, n=0, 1, 2, 3, …}。将序列{xn}升序排列后, 得到序列{yn}, 并用num数组记录yn的值在对应xn上的位置。将序列{yn}中的每个元素值依次填入空矩阵PM×N中, 得到一个信息量相同的矩阵。根据生成的混沌序列在区间 (0, 1) 具有遍历性可知PM×N必能被填满{xn}, 且由于的混沌特性, 填满后的PM×N同样具有混沌特性。

从图像直观的表现上来说即是置乱后的图像杂乱无章像。该图像无特殊形状无纹理, 可以作为水印嵌入载体图像。

4 置乱图像的嵌入

将QR二维码的核心信息作为水印嵌入到载体图像中利用了二维码储容量大、可以表示汉字图像等复杂信息、无需数据库的支持这些优点。

目前的常见的数字水印算法可以分为空域数字水印算法和频域数字水印算法。空域数字水印算法通过直接改变载体图像某些像素值将水印嵌入, 采用这种方法运算简单快捷但鲁棒性较差。频域数字水印算法不直接修改顶点坐标, 鲁棒性较好。本文将采用基于二维离散余弦变换的频域数字水印算法, 从被嵌图像中选取坐标, 进行频域变换, 将置乱加密后的信息均匀嵌入到它们的变换系数中, 使得加密之后的信息均匀隐藏在普通图像中。

5 实验结果与分析

实验采用256*256的二维码图片储存信息, 用256*256灰度照片作为载体图像。本文将“西南大学计算机与信息科学学院”的文本信息生成二维码进行实验。经过识别可从二维码图像中提取出格式信息和核心内容信息, 如图所示:

在对核心内容信息进行置乱的过程中, 主要用两个指标来衡量置乱效果的好坏。

(1) MSE (Mean Square Error)

均方差可以直接反映出评估对象的改变, 通过均方差可以分析被评估对象的各种变化特征。对载体图像和嵌入了水印的载体图像比较均方差可以给出置乱变换质量的客观指标。

(2) 峰值信噪比PSNR (Peak Signal-toNoise Ratio)

针对普通的灰度图像在具体的实际应用中, 一般采用峰值信噪比作为衡量尺度,

通过比较两幅图像计算得到的PSNR, 就可以得出一个图像质量的尺度。

利用上述指标对各种置乱方法进行对比试验, 结合算法本身的特性和实验结果分析可以发现, Hash置乱虽然效果好, 但是运算时间长。幻方置乱虽然运算时间短, 但置乱效果不好。要得到较好的置乱效果比喻要经过多次幻方置乱。Arnold置乱算法简单易于实现, 但也需要多次变换才能达到最好效果。混沌序列置乱虽然在初次图像置乱之前要生成一个图像长乘宽大小的混沌序列, 但是对于之后的所有置乱这个混沌序列都不需要再次产生, 因此在总体上效率较高且置乱效果较好。所以本文中采用了基于混沌序列的置乱方法。

表5-5置乱方式对比

利用混沌序列进行置乱得到的效果如下:

将置乱后的核心内容图像利用离散余弦变换嵌入载体图像, 与原图像相比, 在肉眼上几乎发现不出区别, 实验结果如图:

从载体图像可还原出原二维码, 最终还可从还原出的二维码中正确提取出“西南大学计算机与信息科学学院”的信息。

6 总结

实验结果表明, 本文所述中应用于QR二维码的信息保护技术具有较好的鲁棒性。混沌序列置乱的效果能很好的满足作为水印嵌入载体图像的需要;经过混沌序列置乱和离散余弦变换, 嵌入载体图像的信息可以被准确的还原。该方法有效的解决了二维码信息保密性差的问题。

参考文献

[1]Cox, I.J., Kilian, J., &Leighton, T. (1996) .A Secure Robust Watermark for Multimedia.Proc.of Workshop on Information Hiding., pp.185-206.

[2]ISO/IEC. (2006) .Information technology-automatic identification and data capture techniquesQR code 2005 bar code symbology specification.ISO.

[3]范延军, 孙燮华, 闫晓东, 郑林涛.一种基于混合混沌序列的图像置乱加密算法[J].中国图像图形学报, 2006 (06) .

[4]侯整风、王国明.基于离散余弦变换的数字水印算法[J].计算机工程与设计, 2008 (11) .

[5]黄西娟, &王冰.一种DCT变换域的鲁棒数字水印[J].计算机工程, 2011 (10) .

QR二维码 第2篇

QR二维码, 即快速响应码, 源于Quick Response的缩写, 是日本Denso Wave公司于1994年9月研制的一种矩阵二维码符号[1]。QR二维码由黑白像素交替组成, 具有信息量大、可靠性高、超高速全方位识读、高效汉字表示等优点, 已越来越广泛地应用于证件管理、政府公共部门、商品溯源、电子票务、火车票、软件等领域。食品安全系统和网络安全系统的建立都离不开溯源[2,3,4], 将QR二维码应用于商品品质溯源有助于提升商品的质量安全管控水平, 保障优势商品产业链的健康发展。

因QR二维码应用广泛, 但由于受光照条件的影响导致其难以快速准确识别, 为了快速准确识别QR二维码, 首先就要消除光照不均的影响, 二值化处理效果对最终能否稳定快速识读出QR二维码至关重要, 因此研究光照不均QR二维码的二值化方法具有实际的应用价值。

针对光照不均影响下QR二维码图像的快速高效处理问题, 国内外研究者提出了各种算法。Luiz F.F提出了一种改进的基于背景灰度估计的校正算法, 但计算量增加, 运算时间增长[5];杨佳丽等提出了一种自适应阈值算法, 首先判别图像的直方图是否有明显谷底和采集的图像是否光照不均匀, 之后分别采用B样条拟合直方图和自适应阈值法进行二值化, 该算法增加了图像处理的复杂度, 实时性不高[6];孙明等提出了把直方图双峰法、Otsu法及Niblack阈值法结合起来的改进的自适应阈值法以得到不同光照条件下的最佳阈值, 该方法根据图像直方图峰值特性选取不同二值化算法, 其算法处理速度有待进一步提高[7];闫三虎等提出了一种基于改进的局域背景灰度估计的校正算法, 但对于不均匀光照的图像二值化时该算法增加了均匀校正的处理过程从而增加了时间上的开销[8];路阳等采用改进的同态滤波器消弱光照影响后再用Otsu算法进行处理[9];张继荣等提出了一种改进的基于背景灰度的二值化算法, 该方法需要循环计算每个像素的差值, 计算量过大, 且需要人为设定阈值[10]。上述算法的处理效果虽有所提升, 但都增加了算法的复杂度和需要大量的浮点运算, 影响识别速度, 难以满足便携式终端QR二维码识读器实时性和快速性的要求, 尚有改进空间。

鉴于上述, 为了消除光照不均对QR二维码图像处理的影响, 同时满足便携式QR二维码识读器实时性和快速性的要求, 本研究以光照不均QR二维码图像为研究对象, 分别探究了Otsu算法、Retinex算法和直方图均衡化方法在QR二维码图像上的处理效果, 以期实现光照不均QR二维码的快速高效识别。

1 基于Otsu算法的光照不均QR二维码图像处理方法

基于图像灰度直方图具有明显的双峰性, Otsu N.提出了最大类间方差法[11] (Otsu) 来进行图像分割。Otsu算法能根据图像灰度分布、统计分布规律, 自动选取最佳分类阈值, 因此它被广泛地用于各种需自动选取图像阈值的问题之中[12]。但该方法在目标和背景的面积比相差较小时, 则无法准确分割图像, 因此Otsu仍存在着不足之处[13]。

采用Otsu算法对光照不均QR二维码图像进行分割, 其结果如图1所示, 图1a为光照不均QR二维码的灰度图像, 图1b是图1a对应的Otsu分割结果。从图1a可以看到, 受光照不均的影响, QR二维码图像出现了亮区域和暗区域;从图1b可以发现Otsu算法只能分割出光照比较亮的区域, 而无法实现光照相对较暗区域的分割。

基于图像存在亮暗区域和Otsu的分割效果, 单一的阈值不能兼顾到图像各个像素的实际情况, 这时Otsu算法对于亮度不均匀的区域难免会发生误判现象。针对Otsu算法的这—缺点, 结合QR码的特点, 将QR码图像进行分块处理, 这样每—子块内的灰度值变化较小, 有效地减小对整幅图像采用同一阈值进行二值化产生误判的可能性, 且分块后能大大地减少图像的处理时间, 使其能够在较短时间内有效地分离出目标与背景。

将图1a分为4块、9块和16块后再分别采用Otsu对其子块进行二值化, 再将每个子块二值化后的结果合并为一幅图像, 以期消除光照不均对Otsu算法分割的影响。分块后采用Otsu算法处理的结果如图2所示。图2a、2b和2c分别是把原图分为4块、9块和16块后Otsu算法处理的结果。对比图2和图1b, 可以发现, 分块后Otsu二值化效果明显改善且随着分块数目的增加效果越来越好。采用了分块处理, 各子块图像像素存在不连续性, 容易产生块效应, 当分块数较大时, 虽然加快了图像的处理速度, 但块效应也比较明显, 经过实验, 一般分16块为最佳, 从图2 a-c可以看出, 当块数增加时, 块效应也相应地增加。的映射关系, 映射后可得到直方图均衡后的图像。

2 基于Retinex算法的光照不均QR二维码图像处理方法

Retinex图像增强算法主要遵循同样的物体在不同的光源或光线底下颜色恒定的机理, 通过改变图像中物体的入射光亮度和反射光亮度的比例来达到增强图像的目的。该算法可以有效地改善图像的视觉效果, 是一种常用的图像增强算法[14]。

根据Retinex色彩理论, 物体的颜色是由物体对长波、中波和短波光线的反射能力共同决定的, 而物体在某个波段内的反射能力是物体本身固有的属性, 与光源没有依赖关系。通过计算每个波段内像素间的相对明暗关系, 可以获得三个独立的相对明暗关系值, 从而确定该像素的颜色。

这种方法的特点是:图像中各个像素的相对明暗关系受光源的影响很小, 对于对比度很小的图像, 如整体上比较亮或比较暗的图像, 可以消除光源非均匀性的影响, 提高图像的对比度, 大幅度改善图像的主观质量。此外, 该方法还可以纠正由于光源的偏色而导致的图像色彩失真问题。

在Retinex模型中, 图像S (x, y) 是由入射光分量和反射光分量构成的, 如式 (1) 所示:

其中, L (x, y) 表示入射光, R (x, y) 表示物体的反射性质。Retinex理论旨在运用各种数学方法从图像S中获得物体的反射性质R, 如果能从给定的图像中分离出亮度图像和反射图像, 就能通过改变亮度图像与反射图像的之间的比例来达到图像增强的目的。具体实现步骤如下:

(1) 提取图像的R, G, B三分量并数据类型归一化;

(2) 利用高斯函数分别与R, G, B进行卷积并取对数;

(3) 对原R, G, B取对数并相应减去 (2) 中结果;

(4) 利用不同参数的高斯函数重复 (2) (3) 两次;

(5) 把以上处理结果分别对应相加取均值。

将图1a对应的彩色图像进行上述处理, 图像增强后再采用Otsu算法进行二值化, 结果如图3所示。从图3可以发现, Retinex图像增强后再分割能获得较好的处理结果。

3 基于直方图均衡化方法的光照不均QR二维码图像处理方法

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。通过该方法就可以用于增强局部的对比度而不影响整体的对比度, 这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。

假设灰度级为归一化至范围[0, 1]内的连续量, 并令pr (r) 表示某给定图像中的灰度级的概率密度函数 (PDF) , 其下标用来区分输入图像和输出图像的PDF。假设对输入灰度级执行如下变换, 得到处理后的输出灰度级s:

输出灰度级的概率密度函数是均匀的, 即

上述生成的图像其灰度级较为均衡化, 且覆盖了整个范围[0, 1], 是一幅扩展了动态范围的图像, 具有较高的对比度[15]。

采用直方图均衡化提高图1a的对比度, 减弱或消除光照不均后再利用Otsu算法对其分割实现二值化, 其处理结果如图4a所示。对比图4a和图1b可以发现, 直方图均衡化后再利用Otsu算法进行分割只能改善光照过暗区域的处理效果, 对于光照过亮区域仍有待提高。基于上述分析, 同样将图1a分为4块、9块和16块后, 分别对其子块进行直方图均衡化处理, 再用Otsu算法对每个子块进行二值化处理, 之后将处理结果合并为一幅图像, 以期消除光照不均对Otsu算法分割的影响。其对应结果如图4b, 4c, 4d所示。从图4可以看出, 随着分块数目的增加该方法逐渐消除了光照不均对二值化的影响。对比图2和图4, 可以看出分块直方图均值化后Otsu算法的处理效果明显优于分块后直接Otsu算法次效果。

4 试验结果与分析

4.1 试验结果

为了验证文中三种方法消除光照不均影响的有效性, 选取29幅在室内环境下拍摄的受不同程度光照强度影响的QR二维码图像进行了试验, 试验图像于2014年6月20日在西北农林科技大学机械与电子工程学院204室采集, 光源为日光灯, 采集设备为手机自带相机, 采集时摄像头距离目标约0.13米, 图像以JPEG格式存储。试验在2.6GHz处理器、4G内存的联想G480上完成, 试验程序在MATLAB 2013a环境下编写、运行。

利用上述方法进行试验的结果示例如图5所示, 其中图5 a1-a5为光照不均的QR二维码图像, 图5 a1-a2为暗光照QR二维码图像, 图5 a3-a4为中等光照强度QR二维码图像, 图5 a5为强光照QR二维码图像, 可见其亮度、色调和饱和度均发生了变化;图5 b1-b5是图5 a1-a5经16分块后Otsu分割结果;图5 c1-c5是图5 a1-a5经Retinex (简记为RI) 增强后Otsu分割结果;图5 d1-d5是图5 a1-a5经16分块直方图均衡化 (Histogram Equalization, HE) 后Otsu分割结果。

为了进一步客观地分析这3种算法的有效性, 提出对光照不均QR二维码图像处理结果的评价指标, 正确识别率σ, 其定义如公式 (4) 所示。

其中:σ表示正确识别率, X识别数表示正确识别的数量, X总数表示试验图像的总数量。利用现在较为流行的微信扫一扫功能对29幅光照不均QR二维码图像处理结果进行了识别 (其中利用Otsu算法分为整体、4分块、9分块、16分块各29次, Retinex整体识别29次, 直方图均衡化算法分为整体、4分块、9分块、16分块各29次, 总计261次) , 得到的统计数据如表1所示。

4.2 结果分析

(1) 消除光照不均效果分析

对图5进行分析, 由图5 b2, b5可以看出, 16分块后Otsu算法仍然对光照过暗区域和光照过强区域无法有效分割;分析图5 c2, c5可以看出, Retinex图像增强后Otsu算法仍然对光照过暗区域和光照过强区域无法有效分割;对比图5 d1-d5和图5 b1-b5可以看出, 直方图均衡化后Otsu算法分割效果相比直接Otsu算法分割效果有明显改善。

总体分析图5发现, 对于暗光照影响下图像的处理效果, 直方图均衡化方法最好;对于中等光照影响下图像的处理效果, 三种方法同样好;对于强光照影响下图像的处理效果, 直方图均衡化方法最好。同时, 直方图均衡化后再用Otsu算法分割的效果比直接用Otsu算法分割的效果好。

(2) 识别率分析

分析表1得出, 随着图像从整体到4分块、9分块和16分块, Otsu算法和直方图均衡化方法的识别率都依次提高, 平均识别率分别从8.9%上升到84.4%、从39.8%上升到94.4%;Retinex图像增强算法对中等光照影响下图像的处理效果很好识别率保持在100%, 但对于暗光照和强光照影响下的图像, 其识别率很低, 分别为20.0%和33.3%。

(3) 处理时间分析

同时对3种方法识别率最高时所用的时间进行了统计, 统计结果如表2所示。

分析表2可以发现, Otsu算法平均耗时最小, 仅为0.136秒, 直方图均衡化方法耗时接近Otsu算法, 平均耗时为0.140秒, Retinex图像增强算法耗时最多, 平均耗时为0.279秒, 大约为前两种方法的2倍。结合表1可以得出, Retinex算法在进行中等光照阴影的QR二维码图像处理时虽然具有较好的识别效率, 但不适合快速高效的QR二维码识别。

综上所述, QR二维码图像分块处理简单且省时, 当将其分为十六块采用直方图均衡化方法进行处理时, 平均识别率为94.4%, 比Retinex图像增强算法和Otsu算法分别高43.3%和10%。处理时间为0.14秒, 比Retinex图像增强算法少0.139秒, 比Otsu算法多0.004秒, 表明图像16分块后直方图均衡化方法进行QR二维码的快速处理是可行的。

5 结论

针对QR二维码特定的应用场景, 为满足便携式QR二维码识读器的实时和准确识读等要求, 解决光照不均引起的QR二维码图像处理效果比较差这一问题势在必行。本文针对现有QR二维码图像处理方法, 研究了三种光照不均影响下的QR二维码图像处理方法, 实现了光照不均影响下QR二维码图像的处理, 主要研究内容包括以下2点:

1) 为了消除光照不均对图像处理的影响, 以暗光照、中等光照和强光照影响下QR二维码图像为对象, 采用三种可消除光照不均影响的方法进行了试验, 试验表明Otsu算法和直方图均衡化算法随着图像分块数增加处理效果越来越好, 将图像16分块后用直方图均衡化算法处理最有效。

2) 为了验证三种算法的有效性, 引入了处理效果评判指标识别率和算法消耗时间, 当把图像16分块后采用直方图均衡化方法处理时, 其平均识别率为94.4%, 相比Retinex图像增强方法和Otsu分别提高43.3%和10%, 处理时间仅为0.14秒, 比Otsu方法略低0.004秒, 比Retinex方法快了0.139秒。表明直方图均衡化方法能够有效地实现光照不均影响下QR二维码图像的处理。同时该方法对于处理其它光照不均的图像具有一定的借鉴意义。

摘要:QR二维码应用于商品溯源有助于提升商品的质量安全水平, 但因其易受光照不均的影响, 导致QR二维码难以快速准确识别, 为了解决这一问题, 本研究提出了一种光照不均QR二维码图像的快速高效处理方法。以光照不均QR二维码图像为研究对象, 首先研究Otsu算法对其及其4分块、9分块、16分块的二值化效果;其次研究Retinex图像增强算法对其增强后Otsu算法的二值化效果;最后研究QR二维码图像及其4分块、9分块、16分块在直方图均衡化后Otsu算法的处理效果。实验表明, 当把光照不均QR二维码图像分为16块后采用直方图均衡化方法处理时, 平均识别率为94.4%, 与Retinex图像增强方法和Otsu算法相比, 分别提高了43.3%和10%, 平均运行时间为0.14秒, 比Otsu算法略慢0.004秒, 比Retinex方法快0.139秒。表明采用直方图均衡化方法能够有效地实现光照不均影响下QR二维码图像的处理。

QR二维码 第3篇

开放大学的管理是开放大学教学、科研、社会服务和对外交流等职能正常发挥的“润滑剂”, 包括学籍、档案、图书、物资设备等方方面面, 因而出现了各种证件, 如学生证、准考证、借书证等。这些证件的使用和验证很不方便, 而且容易伪造。

随着信息技术的发展与进步, 4G网络、WiFi网络等的出现与普及, 特别是二维码的出现与广泛使用, 可以很好地解决这一问题, 实现一码多用, 作为电子身份证方便携带与验证, 而且相对于其它身份验证技术如虹膜识别、指纹识别、人脸识别等生物身份识别技术而言, 其实现成本低且快捷高效。

1 QR二维码

1920年代, 一维条形码诞生。条形码的出现, 极大地提高了数据信息处理的效率, 但因一维条形码信息存储量小、描述物品的信息简单、没有容错性等局限性, 人们进行了二维码的研究与开发。QR Code码是1994年日本Denso研制的二维码。

1.1 二维码的特点

相较于一维条形码, QR Code二维码具有以下特点:

1.1.1 信息容量大

QR码最多可容纳数字字符7089个、字母数字字符4296个、汉字1817个。

1.1.2 高速、全方位识读

可以将文字、图像、视频等进行编码, 实现信息存储、携带、360度自动识读。

1.1.3 支持加密算法

使用软件加密、密码防伪等方式, 避免使用者信息泄露, 如用基于DES和RSA的混合加密算法, 广泛应用于车票等二维码应用上。

1.1.4 使用成本低, 容易制造

二维码是一种图形数据文件, 可以嵌印在任何介质上, 只需要对PC机二维码软件产生的二维码进行打印或者直接通过彩信发送到使用者手机上即可, 因此二维码技术又被称为“零成本”技术。

1.1.5 极低的误码率和较高的容错能力

如果二维码受污损、被撕毁等, 只要受损面积没有超过二维码面积的一半, 就可以通过相关纠错算法, 提取出正确的二维码信息, 二维码误码率低于0.00001%。QR码有较强的数据容错能力, 使用Reed-Solomon码进行差错控制。根据需要, 可以设定L、M、Q、H四个纠错等级, 分别可恢复传输或识读出错的约7%、15%、25%、30%的码字信息。

1.1.6 二维码信息的读取设备多样

除了二维码专用读取设备外, 可以使用装有摄像头的手机或电脑摄像头并配合相应软件进行读取。

1.2 QR码的图形结构

如图1和图2分别是QR码的图形及图形结构。由图2可以看出, QR码是由若干正方形模块组成的一个正方形阵列。这个正方形阵列由功能图形区和编码区组成。功能图形区又分为空白区、位置探测图形、分隔符、定位图形和校正图形, 用于符号定位和特征识别的特定图形, 不用于数据编码;编码区由格式信息、版本信息以及数据和纠错码字组成, 该区域用来保存数据。各部分图形都由深色模块 (代表二进制1) 或浅色模块 (代表二进制0) 组成, 位置清晰, 功能性强, 有利于进行图像处理和识别。

1.3 QR码的编码、识别与解码

QR码的编码包括数据编码和纠错编码两部分。QR的数据编码集包括数字型数据、字母型数据、8位字节型数据 (ASCII码字符集) 和中国汉字字符。对应不同的字符集, QR使用数字模式、字母数字模式、8位字节模式、中国汉字模式等不同的模式来进行编码, 以便高效地将数据转换成二进制位流。纠错编码采用RS (Reed-Solomon) 纠错编码算法来实现。

智能设备通过摄像头采集带有条码符号的图像, 通过灰度化、二值化、旋转校正等图像的预处理程序, 进行条码检测。如果是QR码, 则进行图像信息的取样, 否则重新采集。然后进行纠错译码, 并统计出错误数量。如果可以正确进行纠错译码, 则使用相应模式进行译码, 恢复编码信息, 进行信息输出;否则纠错译码失败, 重新采集图像。

QR码解码的基本流程:

(1) 格式与版本信息译码。 (2) 除去符号掩膜。用掩膜图形信息对符号进行异或操作, 去除掩膜。 (3) 信息提取。按照QR码的码字排列规则, 对采样矩阵中的信息重新组合, 得到数据码字和纠错码字。 (4) 纠错译码。使用与纠错等级相对应的纠错码检测错误、纠正错误。 (5) 数据解码。把数据码字按照编码规则生成信息位流, 使用所用模式规则进行解码, 得到原始编码数据, 并输出结果。

2 系统的设计与实现

2.1 系统总体设计

基于QR二维码的开放大学学生身份验证系统由QR码管理、学籍管理、考务管理、图书管理及系统管理等模块组成, 其总体结构如图3所示。

2.1.1 QR码管理模块

该模块负责QR码的生成与验证、加密与解密以及发送。系统根据相关信息和需要编码生成QR码, 通过智能设备扫描QR码图形, 解码出相应的信息并验证;为了防止对QR码图形的伪造, 在生成QR码图形前对相关数据进行加密, 对扫描到系统中的QR码图形进行解密;在生成QR码图形后, 可以通过微信、Email、彩信、纸质打印等方式, 将所生成的QR码发送到学生手中。

2.1.2 学籍管理模块

该模块对学生的学籍信息进行管理, 完成学生信息的增加、删除、修改与查询等功能。

2.1.3 考务管理模块

该模块的功能包括考试信息的发布、考务信息的管理和准考证信息的管理等。考试前发布与考试相关的信息, 对考场、监考、考试时间等与考试有关事宜进行安排与处理, 同时将考试科目、时间、考场、座位号与学生的学号、姓名、专业、班级及照片等结合形成准考证。

2.1.4 图书管理模块

该模块完成学生图书借阅信息的管理并进行相关情况的统计与分析。

2.1.5 系统管理模块

该模块对整个系统进行维护。主要功能包括:系统初始化、用户管理、代码管理、日志管理、系统自动更新等。

2.2 关键部分的实现

本系统的关键部分是QR码管理模块。

2.2.1 QR码的编码与解码

将学生的相关信息经过加密后, 使用ZXing类库, 实现QR码的编码与解码功能。ZXing是一个开源的条码生成和扫描库, 不仅支持众多的条码格式, 而且有多种语言的实现版本, 本系统使用VC++2010。

2.2.2 QR码的加密与解密

在实施数据安全性方面, 本系统采用RSA算法在编码前对数据进行了加密, 在验证时对数据进行了解密。

RSA算法的步骤:

(1) RSA算法的初始化。选择两个足够大的素数:p1、p2 (保密) ;计算密钥长度 (公开) n=p1*p2;计算n的欧拉函数 (保密) 为;产生公钥e1 (公开) , 使e1与互为质数, 且;求私钥e2 (保密) , 使。

(2) RSA加密与解密。将明文分块, 块的长度不大于整数log2n, 然后对每个明文块进行加密和解密。加密时, 使用公钥e1对明文m进行加密, 加密算法为c≡me1 (mod n) ;解密时, 使用私钥e2对密文c进行解密, 解密算法为m≡ce2 (mod n) 。

3 结论

根据开放大学的特点, 本文研究了基于QR二维码的开放大学学生身份验证系统, 系统将图书管理、学籍管理等系统集成为一个新的系统, 节省了资源, 降低了相关工作人员的工作量。

参考文献

[1]张立信, 等.QR Code二维条码在纸币防伪技术中的应用[J].机电产品开发与创新, 2012, 25 (1) :25-27.

[2]黄河.二维码技术在远程教育中的应用[J].山东社会科学, 2012 (12) :344-345.

[3]马莉.二维码技术在高校智能化管理中的应用探讨[J].扬州教育学院学报, 2012, 30 (4) :49-51.

QR二维条形码攻击事件分析 第4篇

关键词:QR-code,CVE-2010-1807,The Jester

0 引言

QR code attack是当用户使用智能手机扫描特定QR条形码(Quick Response code)时,将手机浏览器定向到恶意网站的攻击方式。至于定向到恶意网站的后果完全依具体漏洞等而定。在最初实施QR code attack中,攻击者The Jester(th3j35t3r)[th3j35t3r是The Jester的leetspeak拼写形式]所利用的是WebKit漏洞CVE-2010-1807[1]。

这个安全事件有2个值得关注的问题:

(1)扫描QR条形码如何导致手机浏览器重定向到特定网站?

(2)通过CVE-2010-1807的利用代码如何获得手机中联系人等信息?

1 扫描QR条形码将手机浏览器重定向到特定网站

1.1 QR条形码概述条形码可以分为1维(Linear barcode)和2维(Matrix barcode)两种。如图:

两者的区别在于:前者用于对事物标识;后者用于对事物描述。

2维条形码包括多种形式,例如:PDF417,更多的形式可参考Matrix(2D)barcodes[3]。

QR条形码是2维条形码的一种,其形式如图2。

QR条形码主要具有以下特点:

图中在3个角上(左上,左下,右上)有个像汉字“回”的图案,用以辅助识别软件定位的标识。

正如Quick response其名,QR barcode区别其它2维条形码的特征在于其识别速度快。

QR条形码可以存储较多数据(注:各版本存在差异[4]),例如:URL等。

1.2 QR条形码基本结构

上图legend中的“Fixed Patterns”包括3部分内容:

(1)Finder patterns(A1,A2,A3):用于定位QRcode;

(2)Timing patterns(B1,B2):用于确定symbol坐标;

(3)Alignment pattern(C):用于校正QRcode图形倾斜。

上图legend中的“Format Info”有2个完全一致的15bits序列(0..14):

包括5bits数据(2bits Error Correction Level+3 bits Mask pattern)和10bits错误码修正。这10bits错误码修正的计算方法可参考ISO/IEC 18004:2006[6]中Annex C部分。

注:上图不包括QRcode version7以后增加的version information。

1.3 QR条形码编码和解码

1.3.1 使用在线服务

1.3.2 使用函数库

例如:使用qrcode for python[7]

1.3.3 编码与解码DIY参考

基本的编码步骤,请见ISO/IEC 18004:2006的6.1节”Encode procedure overview”。

基本的解码步骤,请见ISO/IEC 18004:2006的10节”Decoding procedure overview”。

1.4 浏览器访问QRCode中URL的过程

由1.3 1-3可知URL在用QRCode编码后,并由解码取出该URL。

以Android平台的ZXing为例:

在条形码解码后,从方法handleDecode中调用handleDecodeExternally。然后,方法handleDecodeExternally中如果Source是URL(ZXING_LINK),将其赋予message.obj,再发送消息。最后,消息处理方法handleMessage在case R.id.launch_product_query中通过startActivity完成对浏览器调用。

2 通过CVE-2010-1807的exploit code获得手机中联系人等信息

2.1 扫描恶意网站QR条形码

2.2 CVE-2010-1807的exploit code

2.3 访问恶意网站后TCP反向链接

实验中使用Android 2.1 emulator,当该系统访问页面demo.html后进行TCP反向链接。

2.4 Twitter用户信息

TCP反向链接得到权限较低(uid=10000),需进一步提权以获得手机中联系人等信息。

在QR code attack中,根据The Jester描述他在提权并获得手机中Twitter用户名后,如果Twitter用户名是@AnonymousIRC,@wikileaks,@barretbrownlol等则会将手机中联系人相关信息发送到The Jester控制的远程服务器,否则断开TCP连接,故需了解手机中Twitter用户名存储位置。

使用iPhone和Android手机访问Twitter后,在特定文件中可以找到Twitter用户名信息。

2.5 联系人信息

iPhone和Android联系人信息等均以SQLite数据库文件存储,故可用SQL语句进行查询,以i Phone为例。

3 总结

QR code attack与社交网站上常见Clickjacking(UI redress attack),Shorten URL scams本质并无差异:将恶意URL伪装成正常形式,一旦被访问则将浏览器定向到恶意网站,属于tech hacking与social engineering相结合的攻击方式;三者区别之处主要在于形式:具体tech hacking技术的不同。

然而,在看到这些攻击方式共性的同时,并不应简单downplay QR code attack,因为它最让人感兴趣的方面可能并不是攻击者的攻击过程,而是攻击者的创新方式。

参考文献

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务