对SSL/TLS中基于RSA会话的攻击分析
1. 条件概率与攻击基础
在探讨对SSL/TLS中基于RSA会话的攻击之前,我们先了解一些关键的条件概率。假设P是符合S - PKCS的,BVO(P^e mod N) = 1的条件概率相关信息如下:
- Pr(A)满足256^(-2) < Pr(A) < 256^(-1)。
- Pr(S - PKCS|A)可以表示为Pr(S - PKCS|A) = (255 / 256)^(k - 51) * 256^(-1),因为非零填充字节的长度必须等于k - 51。
- 通常BVO期望一个特定的版本号,所以Pr(BVO|S - PKCS) = 1 - 256^(-2)。
- Pr(BVO|S - PKCS) * Pr(S - PKCS|A) * Pr(A)的值是随机选择的密文C使得BVO(C) = 1的概率。
2. 攻击预主密钥
2.1 实施和扩展Bleichenbacher攻击
这种攻击允许攻击者为任意给定整数y计算x = y^d mod N的值,其中d是未知的RSA私钥指数,N是RSA模数。攻击的前提是攻击者有一个预言机,该预言机可以告知任意密文C对应的RSA明文P = C^d mod N是否符合PKCS标准。之前介绍的BVO可以作为这样的预言机。在SSL/TLS协议中,我们可以利用这种攻击来披露任意捕获会话的预主密钥或伪造服务器签名,本文主要关注预主密钥的披露。
攻击的主要思路是采用Bleichenbacher攻击,并结合S - PKCS和BVO的特定属性进行修改和优化。优化措施已经在示例程序中进行了测试,能帮助攻击者提高攻击效率。
超级会员免费看
订阅专栏 解锁全文
5628

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



