IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

SSL Proxy

kernelchina blogs 2011-12-18 21:58:08 累计浏览 5,181 次
本机暂存

    以前写过一篇SSL Proxy的小的分析,在最近一次讨论中发现我还是了解的不够细致,这里描述的细致一些。

    首先是定义一下应用场景:

    SSL Client<--------------------------->SSL Server

    首先是标准的SSL Client和Server进行通信。

    SSL Client<-------------->MITM<------------->SSL Server

    需求是:在其间加入中间人,劫持会话,生成两个SSL会话,从而可以获取明文数据,同时符合SSL标准,同时不用Client明确关注到中间人。

    业界有两种实现:

    1.SSL Forward Prxoy -- 正向代理

    即代理Client。中间人生成自签名证书,Client要明确相信中间人的证书,这样中间人就不必将Server的证书发送给Client。

    2.SSL Reverse Proxy -- 反向代理

    即代理Server,要求Server的证书必须明确的配置在中间人上,这样中间人可以完全承担Server的加解密的功能。

    从技术角度讲,潜在的还可以将Client的证书配置到中间人上,但是这是无法操作的。

    即使是业界的实现也有一些局限:

    1.两种实现所共有的局限是:Server不能对于Client进行身份验证,因为Client的私钥无法获取。

    2.正向代理的另一个局限是,由于中间人是自签名证书,如果Client实现一定要验证Server证书合法性,则无法实现会话的劫持。

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. 让安卓手机通过代理翻墙的方法 (累计阅读 9,114)
  2. nginx 使用 ssl (累计阅读 7,668)
  3. 解决linux下安装ssl后,apache重启时需要密码 (累计阅读 6,506)
  4. 中间人攻击(man-in-the-middle attack):你和互联网中间的第三人 (累计阅读 6,393)
  5. python中的socket代理 (累计阅读 6,342)
  6. iPhone下的libcurl with SSL for iOS (累计阅读 6,350)
  7. HTTPS、SSL与数字证书介绍 (累计阅读 5,425)
  8. ssldump (累计阅读 5,297)
  9. Apache + Jetty 架设 CAS 单点登录 (累计阅读 5,178)
  10. 移动互联网api设计实践 (累计阅读 5,151)