HTTPS是如何保证安全传输的

我们都知道https是保证安全传输的,那么究竟是如何保证的呢?

答:通过使⽤对称加密、⾮对称加密、数字证书等⽅式来保证数据的安全传输。

下面,就让我们来详细了解一下,具体是如何做的:

  1. 客户端向服务端发送数据之前,需要先建⽴TCP连接,所以需要先建⽴TCP连接,建⽴完TCP连接后,
    服务端会先给客户端发送公钥,客户端拿到公钥后就可以⽤来加密数据了,服务端到时候接收到数据就可以⽤私钥解密数据,这种就是通过⾮对称加密来传输数据
  2. 不过⾮对称加密⽐对称加密要慢,所以不能直接使⽤⾮对称加密来传输请求数据,所以可以通过⾮对称
    加密的⽅式来传输对称加密的秘钥,之后就可以使⽤对称加密来传输请求数据了
  3. 但是仅仅通过⾮对称加密+对称加密还不⾜以能保证数据传输的绝对安全,因为服务端向客户端发送公
    钥时,可能会被截取
  4. 所以为了安全的传输公钥,需要⽤到数字证书,数字证书是具有公信⼒、⼤家都认可的,服务端向客户
    端发送公钥时,可以把公钥和服务端相关信息通过Hash算法⽣成消息摘要,再通过数字证书提供的私钥对消息摘要进⾏加密⽣成数字签名,在把没进⾏Hash算法之前的信息和数字签名⼀起形成数字证书,最后把数字证书发送给客户端,客户端收到数字证书后,就会通过数字证书提供的公钥来解密数字证书,从⽽得到⾮对称加密要⽤到的公钥。
  5. 在这个过程中,就算有中间⼈拦截到服务端发出来的数字证书,虽然它可以解密得到⾮对称加密要使⽤的公钥,但是中间⼈是办法伪造数字证书发给客户端的,因为客户端上内嵌的数字证书是全球具有公信⼒的,某个⽹站如果要⽀持https,都是需要申请数字证书的私钥的,中间⼈如果要⽣成能被客户端解
    析的数字证书,也是要申请私钥的,所以是⽐较安全了。
相关推荐
花火Neko`11 小时前
openwrt防火墙安全配置
网络·安全·智能路由器·istoreos
碎梦归途11 小时前
思科网络设备配置命令大全,涵盖从交换机到路由器的核心配置命令
linux·运维·服务器·网络·网络协议·路由器·交换机
徐同保12 小时前
解决 Vue 3 项目 TypeScript 编译错误:@types/lodash 类型定义不兼容
redis·网络协议·https
FreeBuf_12 小时前
AI扩大攻击面,大国博弈引发安全新挑战
人工智能·安全·chatgpt
AZ996ZA12 小时前
自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要
linux·运维·安全·性能优化
世界尽头与你12 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
KKKlucifer16 小时前
数据资产地图构建:文档安全可视化与主动防御
大数据·安全
Python+JAVA+大数据17 小时前
TCP_IP协议栈深度解析
java·网络·python·网络协议·tcp/ip·计算机网络·三次握手
skywalker_1117 小时前
网络编程篇
java·网络协议·网络编程
车载testing18 小时前
SOME/IP 协议中发送 RR 报文的实践指南
网络·tcp/ip·安全