通用技术 HTTPS 自学总结

撞树桐 · June 13, 2017 · Last by 朱光精 replied at November 05, 2017 · 1378 hits

前一段时间公司升级HTTPS,自己也看了一些HTTPS的相关知识,最近也在找工作,顺便总结一下(大沈阳的工作真是不好找)


非对称加密和对称加密

非对称加密

又称公开密钥加密,有一对密钥,公开其中一个并不会影响密钥的安全,被公开的叫做公钥,另一个是私钥,维基解释

特点

  • 用私钥加密的数据,只能公钥解开,反之亦然。
  • 公钥加密只能加密少量数据
  • 实现数字签名

算法
RSA

对称加密

加密解密都使用同一个密钥维基解释

特点

  • 速度比非对称加密快
  • 加密大量数据

算法
DES、AES

数字签名和数字证书

  • 数字签名是为了验证信息是否被篡改、丢失(完整性);信息的发送者的真实身份(认证);信息发送者是否发送过该消息(不可否认性)
  • 数字证书是为了验证我接收的公钥是否是信息的发送者的

举例:
A有一个公钥和一个私钥,A将自己的公钥给了B,A给B写信。

  1. A将自己的公钥和一些信息在CA(数字证书认证机构)上做认证。CA会用自己的私钥对这些信息加密,从而形成数字证书。
  2. A将自己的信件内容用自己的私钥加密信件散列码形成数字签名,最后用将信件内容、数字签名、数字证书一起发给B
  3. B收到信件,首先去CA查询A的真实身份,符合后获取A的公钥(公钥在数字证书中),用公钥解密数字签名,获得散列码,最后自己收到的信件内容进行散列,两个散列码进行对比,即可完成对A身份的认证和A信件内容是否被串改进行验证。

注意:这里B从A获取的证书时,并在CA获取A公钥的过程,是对A真实身份的验证。B对A散列码的验证,是对A发送的内容是否被串改,进行了验证。

两个问题

  1. 如果A的数字证书,不在浏览器的"受信任的根证书颁发机构"中,那么浏览器会提示。
  2. 如果A的数字证书,在浏览器的"受信任的根证书颁发机构"中,但信息不对(如域名不对),那么浏览器会认为A伪造、冒用了A的证书。

SSL/TLS

四次握手

  1. 客户请求服务端,发送自己支持的加密方法和随机码①
  2. 服务端确定加密方式,发送给客户端加密方式、数字证书、随机码②
  3. 客户端验证服务端证书,生成随机码③,并用服务端的公钥加密随机码③,发送给服务端
  4. 服务端用私钥机密随机码③,并用随机码①②③生成会话密码,以后用该会话密钥进行通信。

几个问题

  1. HTTPS是否比HTTP慢? 是比HTTP慢,因为HTTP在TCP/IP基础上传输的,TCP只需要三次握手。而HTTPS需要在TCP/IP基础上再加TLS的四次握手。所以一定慢。
  2. HTTPS用到加密方式 HTTPS即用到了非对称加密、又用到了对称加密。其中公钥私钥是非对称加密方式,而三个随机码形成的会话密钥,是对称加密。

HTTPS解决的三大风险

  1. 窃听风险
  2. 篡改风险
  3. 冒充风险

会话密钥解决了盗听风险,数字签名解决了篡改风险,数字证书(CA认证)解决了冒充风险

参考

数字签名和数字证书
SSL/TLS协议运行机制的概述
数字签名(维基百科)

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 8 条回复 时间 点赞

希望楼主继续总结,我也跟着看看

正好学习下这块的知识😃 😃 😃

厉害了, 总结的蛮好啊😁 😁 😁 😁

大海 回复

😏 没事的时候就总结总结

感谢 总结的很好

表示我也想回大沈阳。但是都不知道该咋找工作= = 。。

陈橙酱 回复

暂时不要回了。。。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up