QR码加密:轻量级范式
1 QR码扫描体验实验结构
为评估QR码读取过程的用户满意度,开发了一款名为Barcode Satisfaction Tester(BarSTest)的安卓应用程序。该应用利用ZXing库扫描QR码,通过向用户提出各种问题,收集反馈和统计数据,以此评估条码扫描体验。扫描条码时,可能出现三种结果:
-
正确
:条码被正确解读为QR码。
-
失败
:条码被错误解读为QR码,即扫描仪从QR码图像中读取到其他条码格式。
-
取消
:用户中止扫描。
每次成功读取后,用户会被邀请给出满意度等级,分为高、中、低三个级别。BarSTest会收集这些反馈和用户意见,并使用情感分析技术来了解QR码扫描体验中出现问题的原因。
为进行测试,打印了五种不同数据大小(100 - 400、500 - 800、900 - 1200、1300 - 1600和1700 - 2000字节)的QR码图像,图像尺寸为200×200像素,在96 DPI的屏幕上显示为5.29×5.29 cm。149名来自意大利和约旦的学生使用智能手机扫描了1000个包含随机数据的不同条码。大多数设备的相机分辨率约为8 - 16 MP,CPU至少为八核(2×2.0 GHz Cortex - A75 6×1.8 GHz Cortex - A55),内存为4 GB。
1.1 扫描时间(ST)和方差分析(ANOVA)
扫描时间的直方图显示,高、中、低三种满意度输出的分布均向右偏斜。这表明中位数和四分位距(IQR)比标准均值和标准差更适合作为描述性度量。因为数据分布偏斜,均值通常不在中间位置,中位数更能准确估计分布的中心。
以下是不同满意度水平下扫描时间的描述性统计数据:
| 满意度水平 | 最小非异常值 | Q1 | 中位数 | Q3 | IQR | 最大非异常值 |
| — | — | — | — | — | — | — |
| 高 | 0.85 | 2.7 | 4.1 | 5.9 | 3.1 | 10 |
| 中 | 1.4 | 4.7 | 7.3 | 14.4 | 9.7 | 26.7 |
| 低 | 0.78 | 5.6 | 14.4 | 27.4 | 21.8 | 56 |
此时的问题是,这些满意度水平之间的显著差异是否具有统计学意义,还是仅仅是随机变化导致的?为解答这个问题,进行了方差分析(ANOVA)测试。单因素方差分析是一种用于测试总体均值差异的统计方法,其F统计量的形式为F = MSB / MSE,对应一个p值,用于揭示事件发生的可能性。通常,p值小于0.05被认为具有统计学意义。
对数据进行了以10为底的对数变换,使数据更接近正态分布。然后进行ANOVA测试,提出以下零假设和备择假设:
-
零假设
:所有考虑水平的总体均值相等,即Log(μ高) = Log(μ中) = Log(μ低)。
-
备择假设
:至少有一个总体均值不同,即并非所有的Log(μ高)、Log(μ中)、Log(μ低)都相等。
测试结果显示,F(2, 352) = 52.23,p值 = 0.000,这表明在α = 0.05的误差水平下,三种满意度水平的总体均值存在显著差异。即使对数据进行了对数变换,结果也会进行反变换,以实际单位呈现,方便理解。以下是反变换后的均值和95%置信区间:
| 满意度水平 | N | 均值 | 95%置信区间 |
| — | — | — | — |
| 高 | 209 | 4.1 | (3.7, 4.6) |
| 中 | 99 | 8 | (6.9, 9.4) |
| 低 | 47 | 12.4 | (9.9, 15.4) |
可以看出,不同满意度水平的均值置信区间不重合,这意味着用户的满意度水平是可区分的。
2 轻量级加密机制评估
2.1 常见攻击类型
基于现代智能手机在实验中的使用情况,QR码加密算法的性能(延迟和吞吐量)在理想情况下能够实现。常见的加密算法攻击类型主要有以下几种:
-
线性密码分析
:基于发现密码算法操作的仿射近似,适用于块密码和流密码。
-
积分密码分析
:特别适用于具有替换 - 置换网络的块密码,也被称为Square和饱和攻击。该方法使用部分位置固定、部分位置遍历所有可能的选定明文。
-
代数密码分析
:基于方程求解算法,由于其简单的格式(轮数少、代数复杂度低),适合轻量级实现。
2.2 常用轻量级加密算法
一些常用的轻量级加密算法(LWC)未受到上述攻击的影响,具体如下:
-
高级加密标准(AES)
:2001年被美国国家标准与技术研究院(NIST)正式采用的块密码算法。支持128、192和256位三种密钥长度,块大小为128位。提供高度安全的加密,可用于保密性,有三种模式:密码块链接(CBC)、输出反馈(OFB)和密码反馈(CFB)。使用Galois / 计数器模式(GCM)时,可保证认证和数据完整性。
-
PRESENT
:2007年由Orange Labs、鲁尔大学波鸿分校和丹麦技术大学发明的轻量级块密码算法,已被ISO / IEC 29,192标准认可。块大小为64位,密钥长度可以是80位或128位。非线性层基于一个经过硬件优化的4位S盒。适用于低功耗和高芯片效率要求的场景,用于保密性。
-
Camellia
:由日本三菱电机和NTT共同开发的对称密钥块密码算法。块大小为128位,支持128(需18轮)、192和256(需24轮)位三种密钥长度。用于保密性,安全级别和处理能力与高级加密标准相似。
-
SPECK
:2013年由美国国家安全局(NSA)发布的常见轻量级块密码算法,用于提供保密性。该算法针对软件性能进行了优化,而其姊妹算法SIMON则针对硬件执行进行了优化。提供多种块和密钥大小选择,对于64位块和128位密钥,最有效的软件性能需要599个周期和186字节的ROM。
2.3 轻量级范式QR码安全工具
开发了一款轻量级范式QR码安全工具(LWC - QR),该工具采用轻量级对称机制,能够保证QR码内容的保密性、认证和数据完整性。它在特定框架中添加了访问控制列表(ACL),包括用户名、密码、加密模式和数据内容。ACL可以授权多层安全数据,并利用QR码的可用空间,以实现较高的用户满意度,支持QR码的可持续性。
以下是轻量级加密机制评估的流程:
graph LR
A[确定实验设备] --> B[分析常见攻击类型]
B --> C[评估常用加密算法]
C --> D[开发安全工具LWC - QR]
3 结论
QR码的互操作性为众多企业带来了便利,其需求也急剧增加。然而,与其他技术一样,QR码内容若被恶意利用或包含无关信息,会带来安全风险。
通过分析用户对扫描时间的反馈,评估了条码扫描体验,并探讨了一些对称轻量级加密(LWC)算法的安全特性。结果表明,根据所需的安全性和可行性权衡,AES、PRESENT、Camellia和SPECK机制可用于生成安全的QR码。
4 未来展望
未来可以进一步扩展研究范围,将更多的块密码算法纳入评估,并与其他加密方法(如流密码)进行性能比较。这有助于更全面地了解不同加密算法在QR码安全中的应用,为实际应用提供更丰富的选择。
4.1 未来研究方向列表
- 研究更多块密码算法在QR码加密中的应用。
- 对比块密码算法和流密码算法在QR码安全方面的性能。
- 探索如何进一步优化轻量级加密机制,以提高QR码的安全性和扫描效率。
4.2 未来研究流程预测
graph LR
A[选择更多块密码算法] --> B[进行性能测试]
B --> C[与流密码算法对比]
C --> D[优化轻量级加密机制]
D --> E[提高QR码安全性和扫描效率]
4.3 不同加密算法特性总结表格
| 算法名称 | 密钥长度 | 块大小 | 适用场景 | 安全特性 |
|---|---|---|---|---|
| AES | 128、192、256位 | 128位 | 保密性、认证和数据完整性 | 高度安全,多种模式可选 |
| PRESENT | 80、128位 | 64位 | 低功耗、高芯片效率场景 | 轻量级,硬件优化 |
| Camellia | 128、192、256位 | 128位 | 保密性 | 安全级别和处理能力与AES相似 |
| SPECK | 多种选择 | 多种选择 | 软件性能优化 | 针对软件性能优化 |
通过持续的研究和改进,有望为QR码的安全应用提供更可靠的保障,推动QR码技术在更多领域的安全使用。
超级会员免费看
1096

被折叠的 条评论
为什么被折叠?



