zoukankan      html  css  js  c++  java
  • 彻底理解https!

    1.什么是安全?

    答:A与B通信,有且只有A和B有能力看到通信的真正内容。  

    2.非对称加密算法:私钥加密后的信息,公钥可以解密(多个客户端的时候就不安全了),公钥加密后的信息,只有私钥可以解密(私钥只有服务器有)。

                               公钥是公开的。

    3.https同时需要对称加密算法和非对称加密算法。

    4.中间人攻击:整个通信都被人监视了哦!     中间人即扮演客户端,又扮演服务端。    中间人调包

       公钥被调包的问题出现,是因为我们的客户端无法分辨返回公钥的人到底是中间人,还是真的服务器。这其实就是密码学中提的身份验证问题。

    5.数字证书。  第三方机构办法给服务器的证书,来解决服务器公钥在传递到客户端的过程中的中间人调包。

       客户端安装第三方证书,第三方机构对服务器的公钥加密,客户端用第三方的私钥解密。

    6.数字签名,解决同一机构颁发的不同证书被篡改问题。    第三方机构的验证

      证书就是HTTPS中数字证书,证书编号就是数字签名,而第三方机构就是指数字证书签发机构(CA)。

      

    理解:

    1.如果服务器对所有的客户端通信都使用同样的对称加密算法,无异于没有加密。     多个客户端与服务器连接:服务器都采用相同的密钥加密信息。

       那么要回送客户端A的消息就可以被客户端B偷看(因为密钥是相同的)。

       答:解决方案,服务器采用不同的对称加密算法与客户端通信。多个通信线路之间不存在相同的密钥(理论上)。

    2.HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使   用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程   本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

    博文引用地址:http://www.admin10000.com/document/12524.html

                         http://www.admin10000.com/document/8148.html

  • 相关阅读:
    uiwebview的基本使用
    当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
    开车误闯红灯的补救方法 (以及由此引发的一些思考)
    Android源码剖析之Framework层基础版(窗口、linux、token、Binder)
    Android项目框架之图片加载框架的选择
    通过runtime替换系统类实现的代码(从github开源库fdstackview中摘录)
    awakeFromNib相关知识详解
    推送服务推荐
    由微博图床挂掉之后想到的
    Mac下如何配置环境变量
  • 原文地址:https://www.cnblogs.com/njqa/p/6508395.html
Copyright © 2011-2022 走看看