HTTPS学习

面试的时候经常会被问到HTTPS,然后我只能答出https是加密的,就是在http和tcp之间加了层SSL/TSL。 但是面试官一般会再问原理,还有了解哪些加密的算法,只能说不会了。现在只好赶紧临时抱佛脚了。

SSL首先要完成握手完成密钥的确定。

  1. client发送一个随机数R1,以及自己支持的加密方法。
  2. server选择一个加密方法,给出数字证书以及一个服务器生成的随机数R2。
  3. client确定证书的有效性,然后又生成一个随机数R3,并且使用证书中的公钥加密R3。
  4. server使用自己的秘钥解密R3。
  5. 这样server和client都有了R1,R2和R3。client和server使用这三个随机数,通过约定好的加密方法生成对话秘钥

通信过程中使用的是对称加密,因为对称的效率比较高。

常用的加密算法可分为 对称加密、非对称加密和Hash加密这三宗。 对称加密算法有 DES、AES等。 非对称加密算法有 RSA、ESA等 Hash加密有

Written on August 13, 2018