SSL/TLS原理

1.数字签名

1.1概念

也称为公钥数字签名

1.2作用

用来验证数据的真实性,防止被仿造和篡改

1.3使用的算法

非对称加密 和 数字摘要

1.4怎么做

是一套互补的运算,一个用来签名(加密),一个用来验证(解密)
每个人都有一对“钥匙”(数字身份),也就是私钥和公钥。私钥签名,公钥验证。

2.网络加密

在这里插入图片描述
即使使用非对称加密进行网络通信,但仍有被中间人攻击的可能性
在这里插入图片描述

3.为什么需要数字证书?

因为任何人都可以落款声称她/他就是你。

解决方案:公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给你发一数字证书。对文件签名后,你把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用你的密钥签发的文件。
在这里插入图片描述
为什么数字证书不能被劫持或伪造?

CA把自己的CA证书集成在了浏览器和操作系统里面。A拿到浏览器或者操作系统的时候,已经有了CA证书,没有必要通过网络获取,那自然也不存在劫持的问题。

4.SSL/TLS工作过程

由于非对称加密要比对称加密更加复杂,处理时间也相对较长,如果每次网络通信都使用非对称加密,则效率就会降低很多。

实际的网络通信中,非对称加密只用于加密通信的对称密钥来确保密钥的安全性,之后就通过对称加密进行网络通信。

SSL/TLS的基本工作过程:

通过CA体系交换公钥
非对称密钥加密:使用非对称加密,交换用于对称加密的密钥
对称内容交换:使用对称加密的密钥进行正常的网络通信

5.HTTPS

HTTPS全称是HTTP over SSL,也就是通过SSL/TLS加密HTTP数据,这或许是SSL最广泛的应用。

前面提到了CA作为一个公证机构,能确保数字证书的真实性。但是在实际使用中,CA认证一般是要收费的,普通人不会去做CA认证,进而获得属于自己的数字证书。更多的是,一些大的机构,例如银行,网店,金融机构,它们去获得自己的数字证书。

那这种情况如何保证网络通信的安全呢?

这些机构获取到CA授予的数字证书之后,将数字证书加到自己的web服务器上。当用户要去访问它们的网页,例如https://domain.com,会经过下图所示的步骤。
在这里插入图片描述
现在用户知道自己访问的网站是正规的网站,否则用户浏览器会报错说不能用CA证书解析。服务器通过CA授予的数字证书自证了身份。

那服务器怎么知道访问者就是真用户呢?

之前介绍的双向认证是可以通过数字证书验明用户的正身,现在用户为了省钱没有数字证书。这种情况下一般是通过用户名密码来确认用户。所以,大家要保管好自己的密码。

猜你喜欢

转载自blog.csdn.net/weixin_43943476/article/details/122410637