对称加密指通信双方共用一个密钥进行对话加密,显然这样的通信并不安全,同时对于服务器来说需要保存上万对密钥,因此我们需要非对称加密来解决这个问题。
在了解非对称加密通信之前,我们先来了解一下数字证书
数字证书包含:
-
用户身份信息
-
用户公钥信息
-
身份验证机构的信息及签名数据
数字证书分类:
-
签名证书----身份验证,不可抵赖性。
-
加密证书----加密,完整性与机密性。
非对称密钥的应用示例
过程说明:
-
原始信息用Hash算法生成的Hash值称为信息摘要
-
信息摘要配合Alice的私钥生成数字签名
-
使用对称密钥将原始信息、数字签名、Alice的证书生成加密信息
-
使用Bob的公钥加密对称密钥生成密钥信封
-
将加密信息与密钥信封一起发给Bob
-
Bob用自己的私钥从密钥信封中拿出对称密钥,然后获得了Alice发送的原始信息、数字签名以及Alice的证书
-
根据Alice的证书从CA获取到Alice的公钥,然后从数字签名中获得原始数据的信息摘要
-
Bob将获取的原始信息经自己计算的Hash值与从Alice数字签名中获取的信息摘要进行比对,相同则说明原始信息没有被篡改
由示例可以看出通过Alice和Bob各自的公钥与私钥配合CA机构就能做到安全的通信,同时保证用于会话的对称密钥不被泄露。