计算机网络系列(一) HTTPS加密、签名及数字证书简介

2020-10-20  本文已影响0人  文泰ChrisTwain

HTTPS = SSL(Secure Socket Layer) / TLS(Transport Layer Security)协议 + HTTP协议

目前最新版本:HTTP2,TLS1.3,SSL3.0 巨头弃用 TLS 1.0/1.1 协议

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, formerly, its predecessor, Secure Sockets Layer (SSL). The protocol is therefore also often referred to as HTTP over TLS, or HTTP over SSL. HTTPS (Hypertext Transfer Protocol Secure) 是基于 HTTP 的扩展,用于计算机网络的安全通信,已经在互联网得到广泛应用。在 HTTPS 中,原有的 HTTP 协议会得到 TLS (安全传输层协议) 或其前辈 SSL (安全套接层) 的加密。因此 HTTPS 也常指 HTTP over TLS 或 HTTP over SSL。 ---Wikipedia

1.加密方式

传输过程认证三阶段:数字证书签名认证(网站正确性验证&获取网站公钥) + 非对称加密(会话密钥传输) + 对称加密(数据报文加解密采用相同的会话密钥)

HTTPS在提高数据传输安全性的同时也需要使得数据传输效率不至于变得低效,非对称加密较为耗时,故报文传输采用对称加密,会话密钥传输采用非对称加密,网站证书采用明文传输。

2.如何保证传输过程中敏感信息的安全?

HTTP采用明文传输,故需要增加相应的加密机制并防止中间人攻击。

https

由上图所示,客户端访问网站,建立连接第一步为服务端返回其数字证书,客户端通过CA公钥及证书签名和签名计算方法进行真实性校验。校验成功后客户端生成随机会话密钥并通过数字证书中服务端的公钥加密,传输给服务端。服务端收到加密的会话密钥后通过自己的私钥进行解密,获得与客户端相同的会话密钥,服务端通过会话密钥加密数据报文传输数据发送到客户端,客户端收到数据通过会话密钥进行解密。此后数据发送和接收即通过会话密钥的对称加密方式进行加解密。

3.中间人攻击

4.数字证书申请:由第三方权威机构CA(Certification Authority)颁发给网站,权威机构会跟主流的浏览器或操作系统合作,将他们的公钥内置到浏览器或操作系统环境中

采用 HTTPS 协议的服务器必须有一套数字证书,证书需要申请,由专门的数字证书认证机构(CA)进行严格的审核之后颁发。颁发的证书保存在服务端,用于服务端与客户端建立通信时明文传给客户端,客户端再使用CA的公钥进行签名验证。服务端私钥需安全保存不可泄漏,服务端公钥则附带在证书的信息中公开。证书本身有附带证书电子签名,用来验证证书的完整性和真实性,用以防止证书被篡改。

服务器运营人员向第三方认证机构(CA)提交公钥、组织信息、域名等信息以申请数字证书

认证机构认证通过后颁发给网站的数字证书包含:申请者的组织信息和个人信息、证书持有者的公钥、证书颁发机构信息、证书有效期、证书序列号、证书电子签名、签名计算方法

注:证书电子签名用于验证证书的正确性,由证书信息结合一定的Hash函数生成并通过CA的私钥加密。证书接收方包括网站运营人员和访问此网站的客户端,获取证书取出签名文件并通过CA公钥、签名计算方法进行解密认证和证书正确性认证,确保证书没有被中间人篡改。

5.加密与签名

6.以登录为例:帐号密码等数据为敏感信息

7.其它

HTTP 1.1之后请求消息头默认启用Connection: Keep-Alive(中文翻译:持久连接 or 长连接),非KeepAlive模式时,每个请求客户端和服务端都需要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议),如请求一个图片或html页面,服务端通常在发送回所请求的数据之后就关闭连接;当使用Keep-Alive模式时,客户端到服务端的连接持续有效,直到客户端请求消息头加入Connection: close 时才关闭连接。

HTTP为半双工通信方式:数据可以在一个信号载体(网路 / 网络)的两个方向上传输,但是不能同时传输。单工通信举例:卫星电视、广场广播;双工通信举例:手机电话。

2015年已推出HTTP 2.0Akamai公司演示HTTP 1.1 和HTTP 2.0网络请求速度,由于HTTP 2.0采用了多路复用、Headers压缩等机制,使请求速度提升数倍

http_connection http2_multiplexing

By the way:工具推荐Charles
图片引用自其它文章

上一篇 下一篇

猜你喜欢

热点阅读