文章目录
对称加密(Symmetrical Encryption):
优点:
- (1)对称加密算法的优点是算法公开。
- (2)计算量小。
- (3)加密速度快。
- (4)加密效率高。
缺点:
- 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。
- 其次如果一方的秘钥被泄露,那么加密信息也就不安全了。
- 另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
算法:
- 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
非对称加密(Asymmetric Encryption):
一图简单了解非对称加密:最后利用会话秘钥(棕色)给数据进行加密
优点:
- (1)密钥分配简单。
- (2)密钥的保存量少。
- (3)可以满足互不相识的人之间进行私人谈话时的保密性要求。
- (4)可以完成数字签名和数字鉴别。
缺点:
- (1)公钥密码是对大数进行操作,计算量特别浩大,速度远比不上私钥密码体制。
- (2)公钥密码中要将相当一部分密码信息予以公布,势必对系统产生影响。
- (3)在公钥密码中,若公钥文件被更改,则公钥被攻破。
算法:
- 在非对称加密算法中常用的算法又:RSA、DSA、ECDSA等。
区别:
- (1)对称加密中加密和解密使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密。
- (2)对称加密解密的速度比较快,非对称加密和解密花费的时间长、速度相对较慢。
- (3)对称加密的安全性相对较低,非对称加密的安全性较高。
SSL证书
- 保存在源服务器的数据文件,包含公钥和私钥
- SSL证书是数字证书的一种,因为配置在服务器上,也称为SSL服务器证书。
- SSL 证书 就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
TLS1.2握手过程
- SSL由从前的网景公司开发,有1,2,3三个版本,但现在只使用版本3
- SSL是TLS的前身,TLS是SSL的标准化后的产物,有1.0 1.1 1.2三个版本,默认使用1.0
三次握手成功后进行SSL握手
-
Client Hello(TLS版本,加密套件,Client随机数):Client首先发送Hello,告诉Server支持的TLS版本以及支持的加密套件,再把Client随机数发给Server。
-
Server Hello:Server收到Client Hello也给Client发送Hello,并告知Server确认支持的TLS版本以及选择的加密算法。同样,也会把Server随机数发给Client。
-
Certificate:Server接着再发送自己的证书给Client,这样Client浏览器就可以对照自己的证书信任列表来确认这个服务器是否可信。
-
Server Key Exchange:发送完证书,Server就把公钥发送给Client。
-
Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message:Client用刚刚收到的公钥加密pre-master预主密钥,并把这个加密后的随机数发送给Server。Server收到加密后的预主密钥,会用自己的私钥进行解密从而得到预主密钥。
-
Change Cipher Spec: 这一步就是告诉服务器往后的数据就用商议好的算法和密钥来加密。
-
Encrypted Handshake Message: 表示Client这边的TLS协商已经OK了。同时服务器也会发送这个,表示也TLS准备完成【此时完成的握手,可以进行数据加密交换】
- 服务器和客户端采用非对称加解密方式交换对称加密的密钥(随机数3),保证这个对称密钥不泄露,交换成功后就采用对称加密方式。