0
点赞
收藏
分享

微信扫一扫

HTTP SSL TCP TLS 说的啥

彭维盛 06-23 10:00 阅读 0

HTTP  SSL  TCP  TLS 说的啥

TCP 建立连接过程

HTTP  SSL  TCP  TLS 说的啥_客户端

HTTPS 的连接建立过程

HTTPS 是啥

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

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

HTTP  SSL  TCP  TLS 说的啥_双向认证_02

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的证书,证书也会被判定非法。

HTTP  SSL  TCP  TLS 说的啥_双向认证_03

需要注意如下:

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

HTTP 单向认证

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

身份认证过程

HTTP  SSL  TCP  TLS 说的啥_服务器_04

连接过程

HTTP  SSL  TCP  TLS 说的啥_客户端_05HTTP  SSL  TCP  TLS 说的啥_客户端_06

HTTPS 双向认证

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

HTTP  SSL  TCP  TLS 说的啥_服务器_07HTTP  SSL  TCP  TLS 说的啥_服务器_08

欢迎关注公众号:程序员开发者社区

HTTP  SSL  TCP  TLS 说的啥_客户端_09

关注我们,了解更多

举报

相关推荐

0 条评论