跳过内容

MASWE-0020: 不当加密

Beta 版内容

此内容处于 beta 版,仍在积极开发中,因此随时可能发生变化(例如结构、ID、内容、URL 等)。

发送反馈

概述

不当加密是指加密系统或实现中存在的漏洞,这些漏洞允许未经授权的个人解密受保护的数据。

影响

  • 机密性损失:不当加密可能使攻击者能够解密和获取敏感信息,导致未经授权的暴露和可能的数据泄露。
  • 完整性损失:不当加密可能损害数据的完整性,允许攻击者在不被察觉的情况下更改或操纵信息。

引入方式

  • 已损坏的算法:依赖于已损坏的加密算法(即被NIST或其他标准弃用或禁止的算法),例如RC4。
  • 危险的算法配置:使用熵不足的IV(初始化向量)或在AES-CBC或AES-CTR等模式中重复使用它们会破坏语义安全性,导致攻击者能够检测模式或恢复明文差异。在AES-GCM等AEAD模式中,重复使用nonce或使用长度不足的认证标签会同时损害机密性和完整性。
  • 已损坏的操作模式:使用被认为已损坏的模式。例如,AES-ECB因实际的已知明文攻击而被破解,并且NIST禁止使用它。
  • 密钥长度不足:使用不足的密钥长度(例如AES中的128位密钥)会损害加密强度,使加密容易受到暴力破解攻击。
  • 非密码学操作:为安全目的依赖XOR、Base64编码或简单混淆方法等技术。这些方法不提供实际加密,可以轻易被逆向或解码,从而暴露敏感数据。

缓解措施

  • 使用安全的加密模式:选择安全的模式(例如NIST批准的),如AES/GCM/NoPadding
  • 确保正确的初始化向量管理:使用密码学安全的随机数生成器(具有足够的熵)生成IV,并确保每个操作的IV都是唯一的。
  • 使用足够长的密钥:强制使用NIST批准的足够长的密钥,例如AES至少256位。
  • 依赖适当的密码学原语:依赖经过严格同行评审和正式验证的、经过充分审查的密码学原语。

测试

MASTG-TEST-0221: 已损坏的对称加密算法 MASTG-TEST-0232: 已损坏的对称加密模式 MASTG-TEST-0210: 已损坏的对称加密算法