2019-06-10 对称加密 和非对称加密

如题所述

第1个回答  2022-06-18
一、对称加密

AES加密

AES加密是一种高级加密标准,是一种区块加密标准。它是一个对称密码,就是说加密和解密用相同的密钥。WPA/WPA2经常用的加密方式就是AES加密算法。

二、非对称加密

RSA加密算法是一种非对称加密算法,非对称加密算法需要两个密钥:公共密钥和私有密钥。公钥和私钥是配对的,用公钥加密的数据只有配对的私钥才能解密。

RSA对加密数据的长度有限制,一般为密钥的长度值-11,要加密较长的数据,可以采用数据截取的方法,分段加密。

使用场景:

文件或数据在本地使用公钥或私钥加密,加密后的数据传送到服务器,服务器使用同一套密钥中的私钥或者公钥进行解密。

一、Https是什么?

1.HTTPS概念

HTTPS并不是一个单独的协议,而是对工作在一加密连接(SSL/TLS)上的常规HTTP协议。通过在TCP和HTTP之间加入TLS来加密。

2.SSL/TLS协议

SSL协议,是一种安全传输的协议,TLS是SSL v3.0的升级版。

4.HTTPS传输速度

1)通信慢

2)SSL必须进行加密处理,比HTTP消耗更多资源

二、TLS/SSL握手

1.密码学原理

1)对称加密

加密数据用的秘钥和解密数据用的密钥是一样的。

2)不对称加密

私有密钥:一方保管

共有密钥:双方公有

RSA算法。

2.数字证书

1)就是互联网通讯中标志通讯各方身份信息的一串数字,也是一个文件。

2)为什么有数字证书?

3)数字证书的颁发过程?

3.SSL与TLS握手的过程?

使用非对称加密,随机数不能被随便破解

Https双向认证的流程:

a. 客户端向服务端发送SSL版本等信息

b. 服务端给客户端返回SSL版本,同时也返回服务器端的证书

c.  客户端使用服务的返回的信息验证服务器的合法性,

a) 包括:证书是否过期,发型服务器证书的CA是否可靠,返回的公钥能正确解开返回证书中的数字签名,服务器证书上帝域名是否和服务器的实际域名想匹配

b) 验证通过后,将进行通信,否则终止通信

d. 客户端将自己的证书和公钥发送给服务端

e. 验证客户端的证书,通过验证后,会获得客户端的公钥

f. 客户端向服务端发送自己可以支持的对称加密方案给服务端,让服务端进行选择

g. 服务端在客户端提供的加密方案中选择加密程度高的加密方式

h. 将加密方案通过使用之前获取到的公钥进行加密,返回给客户端

i. 客户端收到服务端返回的加密方案后,使用自己的私钥进行解密,获取具体的加密方式,最后,产生加密方式的随机码,用作过程中的密钥,使用之前从客户端证书中获取到的公钥进行加密后,发送嘿服务端

j. 服务端收到客户端发来的消息后,使用私钥对加密信息进行加密,获得对称加密的密钥

k. 对称加密,确保通信安全

总结:https实际上就是在TCP层与http层之间加入了SSL/TLS来为上层的安全保驾护航,主要用到了对称加密,非对称加密,证书等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。
相似回答