• HTTPS安全不?


    首先,它是什么?我的理解是一开始进行SSL握手,商量好将要使用哪些加密算法来通讯,或者加密方法后使用非对称的加密方法,交互一下随机数,加上一个pre-master-secrect的,然后服务端利用私钥解密获取加了密的pre-master-secrect,这个过程实际上产生三个随机数:client random, server random, pre-master secret. 双方都有了三个随机数,双方同时使用随机数生成一个session key。后续就使用对称加密的方法进行通讯。http://www.linuxidc.com/Linux/2016-05/131147.htm 这篇文章讲得比较详细。

    1. 至于PreMaster Secret(Key)的计算,主要是通过RSA或者Diffie-Hellman算法生成。我们可以看出,由于在Say Hello阶段,随机数都是明文传送的,如果PreMaster Secret泄漏的话,会导致整个SSL/TLS失效。

    2. SL可以允许多种密钥交换算法,而有些算法,如DH,没有证书的概念,这样A便无法验证B的公钥和身份的真实性,从而C可以轻易的冒充,用自己的密钥与双方通信,从而窃听到别人谈话的内容。
    而为了防止middle in the middle攻击,应该采用有证书的密钥交换算法。

    3. 定要保护好自己环境(浏览器/操作系统)中根CA信任列表,信任了根CA就表示信任所有根CA下所有子级CA所签发的证书,不要随便添加根CA证书。(iOS需要做一些处理,相关的Api在Security Framework中)

    4. 防止中间人攻击,就是基于第一条的原理,冒充服务器与客户端。

  • 相关阅读:
    网络爬虫基础练习
    词频统计预处理
    将博客搬至CSDN
    内核探测工具systemtap简介(转)
    常用汉字的Unicode码表
    随机生成登录时的验证码图片
    response中用outputstream输出中文问题
    ServletContext读取web应用中的资源文件
    ServletContext
    URL描述web资源访问流程
  • 原文地址:https://www.cnblogs.com/studyNT/p/8407396.html
Copyright © 2020-2023  润新知