快捷搜索: 王者荣耀 脱发

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

TCP如何保证传输安全

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