想当初, 某次将服务器容器jetty升级之后, 公司的小霸王服务器直接就跪了, 当时还不知道
DHE
,
ECDHE
是什么鬼. 只是通过分析jvm stack发现, 大量线程卡在这两个相关算法中. 于是果断地配置jetty, 这两个算法剔除掉了.
不过.
ECDHE
是趋势, 苹果公司指定要用这种算法, 等迫不得已的时候再开吧.
今天测试了一下
RSA
,
DHE
,
ECDHE
这三种方式的性能.
先上总结
TLSv1.2密钥交换算法 | 安全性 | 本次测试耗时(秒) |
---|---|---|
RSA | 低, 如果RSA私钥泄露或被破解, 全完蛋 | 0.1 |
DHE | 较高, 即使RSA私钥泄露, 也没事. 即使某个人的连接被破解, 其他人也不受影响 算法难度等同于 解方程: 2e % p = q, 已知p和q , 求e等于多少? |
23 |
ECDHE | 很高. 同上. 算法难度等同于: 已知有限域椭圆曲线方程E, 曲线上两点g和Q, k * g = Q, 求k为多少? |
28 |
测试DHE
分析:
- DH每次需要随机生成一个
大素数
p, 大指数e, 基数为固定值g=2 - 执行一次大数
模幂
运算 g e m o d p g^e mod\ p