这两天学习了openssl在LInux中的使用,openssl是一款开源的加密工具,在Linux环境下,我们能够利用它来搭建一个CA来实现证书的发放,可以用于企业内部使用的加密工具。在介绍openssl之前,首先描述一下关于“身份认证+数据加密”的实现方法原理。
如何实现“身份验证+数据加密”,请看下面的一张流程图(自己画得,比较简陋)
整个加密过程:
发送方: 计算数据特征值----> 使用私钥加密特征值 ---> 随机生成密码对称加密整个数据 ---> 使用接受方公钥加密密码
接收方: 使用私钥解密密码 ----> 解密整个数据 ----> 使用公钥验证身份 ----> 比较数据特征值
但是存在一个问题,谁来管理公钥,任何在互联网上传播的数据都不安全,更不用说传递公钥,它如果被篡改,那就无法验证身份,所以不可能由用户自己颁发公钥。
这个时候需要有一个具有公信力的中间机构来做这份工作,那就是CA,由此引发了两个概念:
CA : 证书颁发机构