网络安全基础:加密,解密与CA

我们一般用对称加密来加密数据,因为快,而用非对称加密来加密密钥或者用作数字签名

用对方的公钥加密对称密钥,用己方的私钥加密摘要,也就是原数据hash后得到的特征码

网络数据通信加密的功能包含四点:

数据完整性: 完整性可以通过对原数据进行hash求特征码来比对是否与原特征码一致来比对
数据私密性: 数据的私密性是通过对称密钥进行加密来进行传输
身份认证:   身份认证是通过用己方的私钥加密本数据的特征码(摘要)的方式来验证发送方是“我”,因为只有我有私钥
密钥交换:   密钥交换是能过互换双方的公钥来进行对密钥的加密,使得传到对方后,对方可用私钥解密

Alice加密

Alice首先对自己要发的数据进行hash单向加密生成特征码(摘要)
再用自己的私钥对摘要进行加密生成数字签名
随后用对称密钥加密原数据和数字签名
最后用Bob的公钥对对称密钥进行加密
把公钥加密过的对称密钥和对称密钥加密的数据传给Bob

Bob解密

Bob收到Alice发过来的数据(Bob公钥加密的对称密钥以及对称密钥加密的数据)
首先用Bob的私钥解开对称密钥
用对称密钥可以解开原始的数据以及Alice数字签名
用Alice的公钥可以解开数字签名得到特征码
单向加密hash得到的原始数据与解密的特征码进行比较,以查看数据的完整性

这个方法有一个缺陷,就是Alice的公钥传给Bob时安不安全,公钥在网络中传输时的可信度,Bob如何才能确定传过来的公钥是Alice的,之前解决数字签名的问题是用了Alice的私钥加密摘要的方法,但这个方法的前题是Bob已经有了Alice的公钥,现在总不能用Alice的私钥加密Alice公钥的方法来验证,所以这里引入第三方验证机构CA, 用CA根证书的私钥加密Alice的公钥及一些主机信息传给Bob, Bob需要知道Alice的公钥,只需要CA的公钥即可解出,如果Bob相信CA,那么由CA签名的证书也就被信任了。

CA工作流程

CA服务器拥有根证书,即自己签给自己的那个证书   
openssl -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
Alice如果希望通过CA来颁发自己的公钥,
    需要先本地生成自己的私钥key,   
    openssl genrsa -out alice.key
    然后根据私钥产生证书请求文件csr 
    openssl req -new -key alice.key -out alice.csr
    再提交到CA,由CA颁发,颁发下来的crt则是用根证书私钥签名过的公钥
    openssl ca -in alice.csr -out alice.crt -days 365
Bob得到这个证书后,需要先到CA那下载根证书的公钥来解开才能得到Alice的公钥

CA制作流程

参考:

http://xxrenzhe.blog.51cto.com/4036116/1370114

 

转载于:https://my.oschina.net/hding/blog/693182

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值