前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP SSL TCP TLS 说的啥

HTTP SSL TCP TLS 说的啥

作者头像
王小明_HIT
发布2020-10-23 14:35:10
3.2K0
发布2020-10-23 14:35:10
举报
文章被收录于专栏:程序员奇点

HTTP SSL TCP TLS 说的啥

TCP 建立连接过程

HTTPS 的连接建立过程

HTTPS 是啥

HTTP 是明文传输,意味着端到端之间的任意节点都知道内容是消息传输内容是啥,这些节点可以是 路由器,代理等。

HTTPS 就是来解决这个问题的,以安全为目的的 HTTP 通道,全称是 Hyper Text Transfer Protocol

SSL TLS 是啥

SSL (secure Sockets Layer 安全套接字)

TLS(Transport Layer security, TLS) 是为了网络通信提供安全与数据弯针行的一种安全协议。TLS/SSL 在传输网络层连接进行加密。TLS/SSL 是安全传输层协议 Transporter Layer Security 是介于 TCP 和 Http 之间的一层安全协议, 不影响原有的 TCP 协议和 Http 协议。

身份验证 CA 和证书之间的关系

  • 服务方S向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
  • CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
  • 如信息审核通过,CA会向申请者签发认证文件-证书;
  1. 证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;
  2. 签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA的私钥对信息摘要进行加密,密文即签名;
  • 客户端 C 向服务器 S 发出请求时,S 返回证书文件;
  • 客户端 C读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法;
  • 客户端然后验证证书相关的域名信息、有效时间等信息;
  • 客户端会内置信任CA的证书信息(包含公钥),如果CA不被信任,则找不到对应 CA的证书,证书也会被判定非法。

需要注意如下:

  1. 申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
  2. 证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名;
  3. 内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书(为什么说"部署自签SSL证书非常不安全")
  4. 证书=公钥+申请者与颁发者信息+签名;

HTTP 单向认证

单向认证是指:客户端连接到某个域名或者 IP 时 ,客户端协议验证服务器的身份。服务器的身份一般是通过证书认证的,服务器的整数,一般都是通过权威的 CA 机构进行签名,客户端收到服务器证书后,获取对应的 CA 机构的证书,并使用 CA 证书进行解密。

身份认证过程

连接过程

HTTPS 双向认证

https 双向认证指除了客户端需要验证服务器之外,服务器也需要验证客户端

参考资料

  • https://www.cnblogs.com/evan-blog/p/9867561.html
  • https://www.cnblogs.com/hei12138/p/13228981.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员奇点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP SSL TCP TLS 说的啥
    • TCP 建立连接过程
      • HTTPS 的连接建立过程
        • HTTPS 是啥
        • SSL TLS 是啥
      • 身份验证 CA 和证书之间的关系
        • HTTP 单向认证
          • 身份认证过程
        • 连接过程
          • HTTPS 双向认证
            • 参考资料
            相关产品与服务
            SSL 证书
            腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档