zoukankan      html  css  js  c++  java
  • 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. 防止中间人攻击,就是基于第一条的原理,冒充服务器与客户端。

  • 相关阅读:
    170110-学习MoveIt!
    12.29-ros-gazebo高级
    12.27-ros-gazebo基础
    4.9-Simulation in gazebo or webots
    6.28-机器人模拟器Gazebo基础
    4.8-URDF in ROS
    Win32双缓冲画图原理
    Win32 计时器
    最简化的DirectX 11开发环境的配置 VS2010
    VS2010 C++编译报错LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  • 原文地址:https://www.cnblogs.com/studyNT/p/8407396.html
Copyright © 2011-2022 走看看