悟空云课堂丨代码安全第三十五期:加密强度不足缺陷漏洞

中科天齐软件源代码安全检测中心

共 834字,需浏览 2分钟

 ·

2021-05-25 16:33

中科天齐倾情打造《悟空云课堂》旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。本期主题为加密强度不足缺陷漏洞的相关介绍。

一、什么是加密强度不足?

大多数密码系统都需要足够的密钥大小来抵御暴力攻击。软件使用理论上合理的加密方案存储或传输敏感数据,但强度不足以达到所需的保护级别。

RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。只有短的RSA钥匙才可能被强力方式解破。只要当钥匙的长度足够长时,用RSA加密的信息实际上是难以被解破。

RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NP问题。

人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,带来的问题是速度减慢;另外,人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算可得到它所想要的信息。

二、加密强度不足缺陷的构成条件有哪些?

软件使用强度不足以提供所需的保护级别的加密方案。

三、加密强度不足缺陷会造成哪些后果?

加密强度不足的程序可能会受到暴力攻击,如果暴力攻击成功,恶意攻击者则进入系统进行破坏。

四、加密强度不足缺陷的防范和修补方法有哪些?

使用本领域专家目前认为比较强的加密方案。例如使用RSA算法,密钥越长,它就越难破解。目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解。因此,1024位的RSA密钥基本安全,2048位的密钥极其安全,建议使用2048位的密钥。

五、加密强度不足缺陷样例:

AodxAmQN8I.jpg

静态代码检测分析上述程序代码,则可以发现代码中存在着“加密强度不足” 导致的代码缺陷,如下图:

IRbzOxlnuE.jpg

加密强度不足缺陷在CWE中被编号为CWE-326:InadequateEncryption Strength

浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报