HTTPS

作者: iOS小洁 | 来源:发表于2022-03-03 23:06 被阅读0次

HTTPS

超文本传输安全协议

端口:443

SSL/TLS

TLS(Transport Layer Security),译为:传输层安全性协议

前身是SSL(Secure Sockets Layer),译为:安全套接层

HTTPS = HTTP+SSL/TLS

FTPS = FTP + SSL/TLS

SMTPS =SMTP + SSL/TLS

OpenSSL 是SSL/TLS协议的来源实现

可以使用OpenSSL构建一套属于自己的CA,自己给自己颁发证书,称为“自签名证书”

HTTPS vs HTTP

优点:安全

缺点:

  • 证书的费用
  • 加解密计算性能消耗
  • 降低访问速度

HTTPS 的通信过程

  1. TCP的3次握手
  2. TLS 的链接
  3. HTTP请求和响应

TLS 链接过程 1.2

HTTPS-TLS过程
  1. Client Hello

    TLS 版本号,支持的加密组件列表,一个随机数

  2. Server Hello

    TLS的版本号,选择的加密组件,一个随机数

  3. Certificate

    1. 服务器的公钥证书(被CA签名过的)
  4. Server Key Exchange

    1. 用以实现ECDHE(秘钥交换算法)算法的一个参数(Server Params)。Server Params经过服务器私钥签名
  5. Server Hello Done

    告知客户端:协商部分结束

    目前为止,客户端和服务器之间通过明文共享了 Client Random、Server Random、Server Params

    而且,客户端也已经拿到了服务器的公钥证书,接下来,客户端会验证证书的真实有效性

  6. Client Key Exchange

    用以实现ECDHE算法的另一个参数(Client Params)

    目前为止,客户端和服务器都拥有了ECDHE算法需要的2个参数:

    Server Params、Client Params

    客户端、服务器都可以 使用ECDHE算法根据Server Params、Client Params计算出一个新的随机密钥串:Pre-master secret

    然后结合Client Random、Server Random、Pre-master secret生成一个主密钥

    最后利用主密钥衍生出其他密钥:客户端发送用的会话密钥、服务器发送用的会话密钥等

  7. Change Cipher Spec

    告知服务器:之后的通信会采用计算出来的会话密钥进行加密

  8. Finished

    1. 包含连接至今全部报文的整体校验值(摘要),加密之后发送给服务器
    2. 这次握手协商是否成功,要以服务器是否能够正确解密该报文作为判定标准
  9. Change Cipher Spec

  10. Finished

    到此为止,客户端服务器都验证加密解密没问题,握手正式结束

    后面开始传输加密的HTTP请求和响应

HTTPS抓包

Charles抓包

help --> SSL Proxying --> 选择模拟器,移动设备,本机电脑
选择要抓包的接口 enable SSL Proxying

Wireshark

设置环境变量SSLKEYLOGFILE(浏览器会将key信息导出到这个文件)
设置完成后,最好重启一下操作系统 
在Wireshark中选择这个文件  编辑 → 首选项 → Protocols → TLS

配置服务器HTTPS - 配置Tomcat

将证书*.jks文件放到TOMCAT_HOME/conf目录下

修改TOMCAT_HOME/conf/server.xml中的Connector

HTTPS-Tomcat配置

相关文章

  • https VS https

    HTTPS=SSL+HTTPHTTP协议传输的数据是未加密的 ,也就是明文,因此使用HTTP协议传输隐私信息非常不...

  • HTTPS

    什么是HTTPS HTTPS(全称:Hypertext Transfer Protocol over Secure...

  • HTTPS

    HTTP 有以下安全性问题: 使用明文进行通信,内容可能会被窃听;(请求时,需加密) 不验证通信方的身份,通信方的...

  • HTTPS

    站点证书的有效性 SSL 自身不要求用户检查Web服务器证书,但大部分现代浏览器都会对证书进行简单的完整性检查,并...

  • Https

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采...

  • HTTPS

    1.为什么要有HTTPS2.HTTPS的工作原理3.密码学4.HTTPS的优缺点5.在iOS中使用HTTPS 为什...

  • HTTPS

    精悍小文:https是如何工作的? - 简书 急速开发系列——打造完善的https使用方案 - 简书

  • https

    摘自[白话Https]https://www.cnblogs.com/xinzhao/p/4949344.html...

  • HTTPS

    一、背景 对于大规模的购物、银行事务或访问机密数据来说,这些重要的事务需要将 HTTP和数字加密技术结合起来使用,...

  • HTTPS

    在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效地防止这些问题。本篇...

网友评论

    本文标题:HTTPS

    本文链接:https://www.haomeiwen.com/subject/etojrrtx.html