HTTPS是如何保证安全传输的

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

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

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

  1. 客户端向服务端发送数据之前,需要先建⽴TCP连接,所以需要先建⽴TCP连接,建⽴完TCP连接后,
    服务端会先给客户端发送公钥,客户端拿到公钥后就可以⽤来加密数据了,服务端到时候接收到数据就可以⽤私钥解密数据,这种就是通过⾮对称加密来传输数据
  2. 不过⾮对称加密⽐对称加密要慢,所以不能直接使⽤⾮对称加密来传输请求数据,所以可以通过⾮对称
    加密的⽅式来传输对称加密的秘钥,之后就可以使⽤对称加密来传输请求数据了
  3. 但是仅仅通过⾮对称加密+对称加密还不⾜以能保证数据传输的绝对安全,因为服务端向客户端发送公
    钥时,可能会被截取
  4. 所以为了安全的传输公钥,需要⽤到数字证书,数字证书是具有公信⼒、⼤家都认可的,服务端向客户
    端发送公钥时,可以把公钥和服务端相关信息通过Hash算法⽣成消息摘要,再通过数字证书提供的私钥对消息摘要进⾏加密⽣成数字签名,在把没进⾏Hash算法之前的信息和数字签名⼀起形成数字证书,最后把数字证书发送给客户端,客户端收到数字证书后,就会通过数字证书提供的公钥来解密数字证书,从⽽得到⾮对称加密要⽤到的公钥。
  5. 在这个过程中,就算有中间⼈拦截到服务端发出来的数字证书,虽然它可以解密得到⾮对称加密要使⽤的公钥,但是中间⼈是办法伪造数字证书发给客户端的,因为客户端上内嵌的数字证书是全球具有公信⼒的,某个⽹站如果要⽀持https,都是需要申请数字证书的私钥的,中间⼈如果要⽣成能被客户端解
    析的数字证书,也是要申请私钥的,所以是⽐较安全了。
相关推荐
PcVue China4 小时前
法国彩虹重磅发布EmVue:解锁能源监控新方式
安全·自动化·软件工程·能源·数字化
Y_034 小时前
网络安全基础知识【6】
安全·web安全
东风西巷10 小时前
猫眼浏览器:简约安全的 Chrome 内核增强版浏览器
前端·chrome·安全·电脑·软件需求
周倦岚11 小时前
HTTP数据请求
网络·网络协议·http
xyphf_和派孔明12 小时前
关于Web前端安全防御之点击劫持的原理及防御措施
安全·点击劫持
Sandman6z12 小时前
启用“安全登录”组合键(Ctrl+Alt+Delete)解锁
安全
芯盾时代12 小时前
芯盾时代受邀出席安全可信数据要素交易流通利用研讨会
安全·网络安全·数据安全·芯盾时代
椿融雪13 小时前
高效轻量的C++ HTTP服务:cpp-httplib使用指南
网络·网络协议·http·cpp-httplib
程序员老徐13 小时前
Netty的Http解码器源码分析
网络·网络协议·http
网安Ruler14 小时前
Web开发-PHP应用&原生语法&全局变量&数据接受&身份验证&变量覆盖&任意上传(代码审计案例)
网络·安全·网络安全·渗透·红队