偷偷学 Docker 系列 | TLS 通讯加密(理论+实操)

一、前置知识点

1.密钥

①对称密钥

  • 是一种加密和解密使用相同密钥的算法,效率较高,可加密内容较大,用来加密会话过程中的消息,适用于大规模生产的环境下使用
  • 就像固定的一道门与一把钥匙一样,但是,对称加密算法在分布式网络系统上使用较为困难,因为密钥管理困难,使用成本较高,还是这个比方,你去收租,几百串钥匙你管的烦不烦?
  • 相对于非对称密钥而言,安全性较差,就像捡到了你的钥匙,那么就可以直接来开你的门了

②非对称密钥

  • 其原理是加密密钥与解密密钥不同,形成一个密钥对,其中一个密钥加密的结果,可以用另一个密钥来解密
  • 加密和解密使用不同的密钥,一个密钥公开,称公钥,一个密钥保密,称私钥,相对而言,效率不高,但是安全性高
  • 比如,大家一起去食堂吃饭,付款码就像公钥,每个人都可以看到(使用),私钥就代表着个人身份信息,用自己的私钥去验证,最终成功付款,才能干饭

③混合密钥(对称+非对称)

  • 只用对称密钥进行信息传输,效率虽快,但是安全性差一点,被截胡怎么办?而用非对称密钥,安全性相对而言是有一定保障,但若是传输的信息量较大,光是去加密就需要耗费大量的时间,导致效率低下
  • 因此,聪明人可能就想到了,我们就不能将其混合使用吗,各取所长:对要发送的明文(数据量较大)进行对称加密生成密文,然后对这个加密过程中生成的对称密钥进行非对称加密(私钥加密)
  • 这就像,你用一把钥匙锁起来了一大箱金银财宝,然后将这把钥匙又用一个小匣子单独锁了起来,安全性更强!还要对其进行一个签名,即这个小匣子中还代表着你的身份信息
  • 还有一个步骤,将明文在加密之前进行哈希算法产生一个哈希值,主要是为了验证数据的完整性,从而得知这个数据传过去有无被中间人篡改
  • 最后,将密文、加密后的密钥、哈希值这三样一起传递给对方,对方将加密后的密钥用公钥解密后获取私钥,将密文解密成明文,然后比对哈希值,检查数据有无被篡改(若不同则丢弃)

2.签名

  • 前面有提到过,签名代表着你的身份信息
  • 打个比方,你扫二维码付款,收款商家能够得知是谁付的款,这个对象就是你的身份信息

3.数据完整性

  • 这个前文也有提高过,使用哈希算法确保数据完整性
  • 即这个数据在传输过程结束后能够最终检测其一致性

4.证书

  • 组成:密钥+身份信息+哈希算法等,统统在其中,就像容器一样
  • 格式:x509,国际标准
  • 证书是需要被颁发的(证书颁发机构:CA),拿到 ca 证书后才能去找 CA 给自己颁发服务器证书(server,包含公钥),还需要有客户端证书(给客户端的,包含私钥)。

二、Docker 启用 TLS 进行加密通讯

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xucf1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值