一、什么是加密强度不足?
大多数密码系统都需要足够的密钥大小来抵御暴力攻击。软件使用理论上合理的加密方案存储或传输敏感数据,但强度不足以达到所需的保护级别。
RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。只有短的RSA钥匙才可能被强力方式解破。只要当钥匙的长度足够长时,用RSA加密的信息实际上是难以被解破。
RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NP问题。
人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,带来的问题是速度减慢;另外,人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算可得到它所想要的信息。
二、加密强度不足缺陷的构成条件有哪些?
软件使用强度不足以提供所需的保护级别的加密方案。
三、加密强度不足缺陷会造成哪些后果?
加密强度不足的程序可能会受到暴力攻击,如果暴力攻击成功,恶意攻击者则进入系统进行破坏。
四、加密强度不足缺陷的防范和修补方法有哪些?
使用本领域专家目前认为比较强的加密方案。例如使用RSA算法,密钥越长,它就越难破解。目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解。因此,1024位的RSA密钥基本安全,2048位的密钥极其安全,建议使用2048位的密钥。
五、加密强度不足缺陷样例:
用Wukong软件代码安全系统检测上述程序代码,则可以发现代码中存在着“加密强度不足” 导致的代码缺陷,如下图:
加密强度不足缺陷在CWE中被编号为CWE-326:InadequateEncryption Strength
本文作者:中科天齐软件安全
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/172990.html