HTTPS原理

2019-06-21  本文已影响0人  DuffyHuang

讲 HTTPS 之前,我们先来回顾一下 HTTP 协议。HTTP 是一种超文本传输协议(HyperText Transfer Protocol),它是无状态的、简单快速的、基于 TCP 的可靠传输协议。在互联网上我们经常用它来完成网络通信。

既然 有了HTTP 协议,那怎么又冒出来了一个 HTTPS 呢?

我们可以简单写个http通信的demo,采用wireshark抓包一窥究竟:

POST /local HTTP/1.1
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.100.52.128:8080
Content-Length: 42
Content-Type: application/x-www-form-urlencoded

param=f6ffb6fa-5184-4b85-986d-7fdabb28b953HTTP/1.1 200 
Content-Type: text/plain;charset=UTF-8
Content-Length: 38
Date: Thu, 20 Jun 2019 02:36:09 GMT

{"resCode":"0000","resDesc":"success"}

很明显,我们发出的请求request和响应response,是完全暴露在互联网上面的。由于HTTP 是明文传输的,这就造成了很大的安全隐患:

1)通信使用明文,内容可能会被窃听;
2)不验证通信方的身份,因此有可能遭遇伪装;
3)无法证明报文的完整性,有可能已遭篡改;

在实际应用中,我们迫切地需要更加安全的网络通信环境,为了解决上述的安全隐患,这就诞生了HTTPS协议。

HTTPS 握手流程

https-process.png
参考文章:
关于证书链的一点认知
HTTPS原理和CA证书申请(满满的干货)
证书、CA、证书信任链
上一篇下一篇

猜你喜欢

热点阅读