• 理解https


     HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。这是百度百科上HTTPS的定义。

    说起https,首先要说一下两种数据加密方式:对称加密与RSA(非对称加密)

    对称加密算法

    如上图所示,加密算法与解密算法用的同一个秘钥,这种加密方式是在一定程度上保证了会话的安全,但是秘钥该如何传递呢,我们知道http是明文传递数据的,如果直接通过http传递秘钥,被第三方劫持,那么数据就没有安全性可言。通过线下的方式传递秘钥?如果有成千上万个客户端,不可能都通过线下的方式完成。所以我们并不能直接依靠对称加密的方式来保证会话的安全性。

    RSA(非对称加密算法)

      1976年以前,所有的加密方法都是同一种模式就是对称加密,这种模式最大的缺点就是甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。

      1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为"Diffie-Hellman密钥交换算法"。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。这种新的加密模式被称为"非对称加密算法"。

    1. 乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。
    2. 甲方获取乙方的公钥,然后用它对信息加密。
    3. 乙方得到加密后的信息,用私钥解密。

      但是由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右。

  • 相关阅读:
    InstallShield用于配置 IIS 的 InstallScrip(转)
    常见的几个.NET 面试题
    工作中常用的SQL语句,随用随加
    memcached系列之1:memcached基础知识简介(为什么要使用memcached做缓存服务器)
    Webbrowser的部分内容
    adox创建access数据文件
    CentOS5(64位)下Apache+SVN+Submin2安装记录
    使用Selenium进行回归测试所遇到的问题
    Maven+Sonar如何让单元测试只跑一次?
    CenOS5 Mysql安装可能出现的问题
  • 原文地址:https://www.cnblogs.com/jasonbourne3/p/14604591.html
Copyright © 2020-2023  润新知