取经之路 - TCP如何保证传输安全

在这里插入图片描述

TCP如何保证传输安全

  • 对称加密
    • 加密和解密使用同一把密钥进行
    • 问题暴露: 明文传输密钥跟客户端,密钥在中间被截取了呢,如何安全传输密钥给客户端?
  • 非对称加密
    • 客户端和服务器同时拥有公钥和私钥
    • 用公钥加密的数据,只有对应的私钥才能解密;用私钥加密的数据,只有对应的公钥才能解密
    • 过程: 服务器用公钥加密,客户端使用私钥解密
    • 问题暴露:加密速度较对称加密慢百倍
  • 对称加密 + 非对称加密
    • 非对称加密 加密密钥
    • 对称加密 加密传输数据
    • 过程: 明文传输公钥给客户端 -> 客户端使用收到的公钥加密 密钥(对称加密的) -> 服务器私钥解密得到 密钥(对称加密的)
    • 解决的问题:
      • 服务端如何安全得到 密钥(对称加密的)
      • 数据传输速度提升 (真正的数据传输使用对称加密, 只有密钥传输使用了非对称加密)
    • 问题暴露: 服务器明文传输公钥,万一传输过程中被截取了呢 (若截取成功,客户端传输数据再次被截取,岂不是GG),跟换了一个公钥,也就说服务器身份无法得到验证
  • 数字证书
    • 认证中心CA
    • 过程: 把要传输的公钥和服务器信息通过Hash算法生成 信息摘要 -> CA使用自己的私钥加密信息摘要形成数字签名 -> 再把 公钥+数字签名+未hash的个人信息 形成 数字证书 -> 客户端拥有一份数字证书,经过hash算法对公钥和个人信息生成信息摘要,最后对比两份信息摘要 (一致就是可靠的服务器)
    • 问题暴露: 1. CA的公钥怎么给客户端 2. CA的私钥怎么给服务器
      • 客户端内置证书
      • 服务器一开始就申请证书 (需要购买的)
发布了117 篇原创文章 · 获赞 22 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 自定义皮肤 设计师: ___KG

分享到微信朋友圈

×

扫一扫,手机浏览