美文网首页
对称加密 非对称加密 HTTPS

对称加密 非对称加密 HTTPS

作者: 小涂涂哦 | 来源:发表于2018-06-19 17:56 被阅读0次

    对称加密: 原始数据可逆变换.简单来说就是 加密解密是同一个秘钥. 比如有一个秘钥 A 

    原始 --> 使用 A 加密 --> 密文 --> 使用 A 解密 --> 原始

    非对称加密: 简单来说 就是有两个密码  A 和 B ,用 A 加密的内容 只能用 B 解密 ,用 B 加密的内容 只能 用 A 解密.

    原始 --> 使用 A 加密 --> 密文 --> 使用 B 解密 --> 原始

    同样

    原始 --> 使用 B 加密 --> 密文 --> 使用 A 解密 --> 原始

    至于 公钥 与 私钥 是相对概念,私钥是自己用的不想别人知道的,公钥是给别人用的

    例子: HTTPS

    HTTP: 好处是简单易用,坏处,主要有3点

    1. 数据是明文,容易被窃听

    2. 无法保证数据的完整性,即不能验证是否被串改或丢失

    3. 无法验证通讯双方的合法性

    解决方案:

    使用 HTTPS  及 在 HTTP 与 TCP 之间加了一层 SSL/STL ,即安全传输通道

    分析:

    安全通道的建立

    1.将通讯的内容用 对称方式加密. 但这样客户端需要知道 对称的密钥.

    有缺点,不能被广泛使用,

    2. 使用非对称秘钥传输  对称密钥 

    有缺点,公钥需要事先指定,同时无法验证服务器合法性

    3. 借助第三方机构

    操作系统直接保存了可信任的第三方机构的公钥,服务器向第三方机构申请私钥,使用第三方私钥加密服务器自己要下发的公钥.

    1 有一个问题,对称密钥无法传输给对方,必须不能明文传输,可以被窃听

    2 解决了1中对称加密的密钥的传输的问题,但没让客户端验证发送公钥服务器的合法性.比如伪造一个服务器是某个银行,在劫持 DNS或其他手段使客户端的请求响应到伪造服务器上,这样双方通信不是 mb 了.

    3 解决了可信服务器公钥传输的问题.

    总的来说: 客户端的操作系统实现保存好了第三方的公钥, 服务器向第三方申请 私钥 ,服务器用申请的私钥加密 服务器下发给客户端自己的公钥, 客户端用系统中已经存在的第三方公钥解密 获得服务器下发的公钥同时验证服务器的合法性.不合法的服务器没有第三方的私钥.客户端随机生成一个对称加密的秘钥,用公钥加密后,上传到服务器,服务器用自己的私钥解密.或的对称加密的秘钥,之后内容使用对称秘钥加密.加密信道建立. 至于数据完整性,就是使用 hash 码 .

    相关文章

      网友评论

          本文标题:对称加密 非对称加密 HTTPS

          本文链接:https://www.haomeiwen.com/subject/ddfzeftx.html