MASWE-0020: 不当加密
概述¶
不当加密是指加密系统或实现中存在的漏洞,这些漏洞允许未经授权的个人解密受保护的数据。
影响¶
- 机密性损失:不当加密可能使攻击者能够解密和获取敏感信息,导致未经授权的暴露和可能的数据泄露。
- 完整性损失:不当加密可能损害数据的完整性,允许攻击者在不被察觉的情况下更改或操纵信息。
引入方式¶
- 已损坏的算法:依赖于已损坏的加密算法(即被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: 已损坏的对称加密算法