【发布时间】:2013-07-30 07:23:05
【问题描述】:
我目前正在开展一个项目,该项目涉及在客户端(浏览器)上构建数字堡垒,以减轻对 SSL 的 PKI 基础设施的中间人攻击。尽管它们有多种可能对 SSL 连接进行中间人攻击,但我的目的是关注 PKI 基础架构的问题,同时还要考虑系统的性能。
在做了一些研究之后,我认为我打算完成以下任务
- 通过检查证书的有效期并检查证书的序列号是否存在于 CRL 列表中来确定证书的有效期
- 为证书检查禁用 MD5
- 确保客户端(浏览器)连接的服务器是真正的服务器。这可以通过 URL 还是通过简单地通过 DNS 查找来实现?因为我认为 URL 和 DNS 在某种程度上也不是安全的。我正在考虑这个网络服务器指纹识别的事情,但我仍然需要一个存储库来检查。我还能用什么??
- 证书指纹。它们是否有任何受信任的证书哈希或指纹存储库,我可以查找证书的指纹??。
我还需要检查什么来阻止中间人攻击??
我打算使用嵌入在浏览器中的 java Applet 来处理这个任务,所以我知道如果没有网站的登录页面就不可能连接到 Web 服务器。问题是如何使用我的 Applet 嵌入式页面与服务器建立测试连接只是为了获取服务器的证书,或者更好的是是否可以使用网站的登录页面进行连接并在服务器发送证书后终止 SSL 握手因此,Applet 只需进入证书存储区检索证书并分析证书以防止中间人攻击。
正如我所说,我想使用 java 构建解决方案,因为人们普遍推测 java applet 比 javascripts 更快。并且浏览器扩展主要依赖于平台,这不是 java Applets 的情况。这可以作为绩效标准吗??
【问题讨论】: