tyh_reddog 2014-07-16 14:15 采纳率: 0%
浏览 993

我想了解一下关于SSL服务器证书工作原理

其实我做信息安全有很长时间了。期间还做过一个CA。
但我对PKI相关的一些东西还是模棱两可的。下面我想问一下关于SSL证书工作过程的一些疑问。

流程如下,我大概叙述一下,看是否正确:
客户端浏览器向具有SSL证书的服务器发起请求后,该服务器作出响应并返回给客户端自己的服务器证书。客户端浏览器拿到证书后生成一个会话密钥并用证书加密再提交给服务器,服务器用私钥解密。此时,客户端浏览器和服务端具有相同的会话密钥(此会话密钥应该是对称加密用的吧?)。然后,客户端和服务端就可以用该密钥进行信息加密传输了。

问题:
1.感觉上这个流程像是数字信封的那个流程,会话密钥是否是用于对称加密的(应该是的)?那么这个对称算法客户端和服务端是在什么时候确定下来的?客户端浏览器发送信息时加密的信息服务端怎么用会话密钥去解?

2.我在访问一个有SSL证书的网站时,它怎么能确定我的身份(没法确定,除非我也有证书做TLS)?浏览器在提交数据的时候怎么能够防篡改、防伪造(貌似这里防篡改防伪造没有太大意义。。。)?

3.这是我最主要的问题,客户端浏览器是怎么验证所访问的服务器的真实性有效性的?服务器下发给客户端SSL证书之后,客户端要怎么校验该证书有效性?比方说购买了verisign的证书后,浏览器是怎么去校验的,最后让地址栏变成绿色?

4.会话密钥的长度是怎么确定的?IE浏览器会有 密钥长度:128位 。这样是指会话密钥长度128位吗?

感谢作出回答的大神们。

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-27 19:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:记一次未知原因的SSL报错
    • 除此之外, 这篇博客: [ 网络协议篇 ] 一篇文章让你掌握什么是 数字证书 ?什么是SSL ?什么是 TLS ?中的 5. SSL证书的安全问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      对 HTTPS 最常见的攻击手段就是 SSL 证书欺骗或者叫 SSL 劫持,是一种典型的中间人攻击。不过 SSL 劫持并非只是用于攻击目的,在一些特殊情况下利用 SSL 劫持我们可以更顺畅的访问网络,我会在后文提到。

      以攻击为目的的 SSL 劫持如果不注意浏览器安全提示的话,很容易就中招。当网络中有中间人发起 SSL 劫持攻击时,攻击者需要伪造一个 SSL 证书发给浏览器,这个时候由于伪造的SSL 证书不受信任,浏览器会给出提示。

      这里有一个误区,当 SSL 证书不受信任的时候,并不一定就是有 SSL 劫持发生,有种例外情况是:一些个人网站买不起合法的SSL证书,因此会自己制作一个 SSL 证书来加密传输的数据。如果你经常访问某个个人网站,而且你知道这个网站是干什么的,那么这种情况可以不用担心。但是如果你访问的是网银,在线支付,或者是hotmail.com,gmail.com等,这类公司性质的网站一定会申请合法的 SSL 证书(12306.cn除外),一旦 SSL 证书不受信任,应该果断的终止访问,这个时候网络中一定会存在异常行为,对于一些小区宽带的用户一定要注意这点。

      所以作为个人用户,你一定要知道你访问的是什么网站,如果你只是一个没有多少计算机只是的普通网民,我相信你不会经常上那些自己制作 SSL 证书的个人网站(12306.cn除外),因此如果你没有办法判断网络是不是有异常,只要是证书有问题的,干脆就别再访问了。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示