Linux学习68 运维安全-openssl原理与实战

一、回顾

1、技术:加密和解密,服务

2、加密算法和协议

  a、对称加密:数据加密(保密性),常用的加密算法为3DES,AES

  b、公钥加密:身份认证(加密的是特征码),密钥交换(加密的密钥),数据加密(不常用,比对称加密要慢三个数量级,即10的三次方倍),常用的算法为RSA,DSA

  c、单向加密:数据完整性,常用的算法为MD5,SHA1,...

  d、密钥交换:RSA,DH(迪菲-赫尔曼),ECDH(椭圆曲线DH),ECDHE(临时椭圆曲线DH)

3、通信过程

  a、Bob请求Alice的证书

  b、Alice认可后就发送自己的证书给Bob,然后请求Bob的证书

  c、Bob然后发送证书给Alice,然后双方开始协商双方对称加密使用什么算法,公钥加密使用什么算法,单向加密使用什么算法,以及密钥交换使用什么算法,要选择双方都支持的算法的交集

  d、然后Bob发信息给Alice。首先Bob将文件数据的特征码取出来用自己的私钥去加密这个特征码,用自己的私钥去加密特征码就叫数字签名。这个时候Bob要保障对整个数据加密一次,因此把整个数据(文件数据+特征码)用自己生成的一个一次性会话密钥进行加密,为什么叫一次性的呢?即他只是发送这个数据时用这个密码,下次再发的时候就已经换过了。然后他用对方的公钥加密这段临时密码然后附加在整段数据后面发给对方

  e、然后Alice收到Bob发送过来的数据后首先用自己的私钥去解密这段密码,然后我们的对称密钥的密码就被解密出来了。拿到这个密码后然后就去解密这段数据,然后得到了加密的数字签名和数据,然后再用对方的公钥去解密这段特征码,如果能解密的话表示肯定就是对方的私钥进行加密的,即身份认证。接下来我们使用同样的加密算法去计算 这段数据的特征码,然后与刚刚解密出来的特征码进行比较,如果两个特征码是一样的就表示数据的完整性得到了验证。

17:36

相关推荐