美文网首页
有关https

有关https

作者: 34sir | 来源:发表于2018-03-19 17:58 被阅读11次

加密类型

首先了解一下两种加密类型

  • 对称类型 如AES DES
  • 非对称加密 如RSA

对称加密

对称加密很好理解,同一个密钥可以同时用作信息的加密和解密。举个现实生活中的例子,甲乙是合作伙伴,商量制作一个箱子,然后制作两把相同的钥匙用来打开箱子,两把相同的钥匙即密钥

非对称加密

首先,非对称加密比对称加密安全性高,但是效率相对低
这里有公钥和私钥的概念,公钥和私钥是一对,私钥加密的只有对应的公钥能解,公钥加密的只有对应的私钥能解

下面以现实中的发邮件为例:
首先如果使用对称加密,那么很有可能被第三方劫持到公开的密钥,从而窃取邮件信息,那么我们看一下非对称加密的机制:


非对称加密.png

非对称加密的两个要点:

  • 公钥和私钥加密的只有对应的私钥和公钥可解
  • 私钥是不会对外公布的,只有自己知道

基于这两个要点,所以保证类上述邮件的安全性

SSL

首先看一个公式HTTPS = HTTP + SSL,由此可见,SSL主要的工作是加密

CA证书

在分析加密机制之前,我们首先要知道什么是CA证书

CA 证书其实就是数字证书,是由 CA 机构颁发的
一般包含以下内容:

  • 证书的办法机构 版本
  • 证书的使用者
  • 证书的有效时间
  • 证书的公钥
  • 证书数字签名的hash值以及签名的hash算法

加密机制

校验CA证书

客户端校验CA证书的步骤:

  • 证书的私钥进行加密得到CA中的Hash值
  • 客户端拿到证书,利用公钥解析此Hash值得到Hash-a
  • 客户端利用证书内的签名Hash算法进行加密得到Hash-b
  • 比较Hash-a和Hash-b,如果相等,则证明证书正确,除此之外,还会校验 CA 证书的有效时间和域名匹配等,如果其中出错则无法建立http连接
握手

HTTPS中的SSL的握手过程:
A(客户端) B(服务端)

  • A访问B,A生成一个随机数1,A将随机数1以及SSL的版本号和加密算法发给B
  • B确认双方的加密算法,生成一个随机数2,连同CA颁发的证书一起发给A
  • A拿到B的证书,校验有效性,成功后再次生成一个随机数3,利用证书中的公钥加密,传给B
  • B拿到加密后的随机数3,利用私钥解密,得到真正的随机数3
  • 此时A B 中同时存在随机数1 2 3,双方利用这三个随机数生成一个对话密钥,接下来就是利用对话密钥加解密,此时是对称加密,一般就是AES加密
  • A通知B后面的通讯用对话密钥进行,并且A的握手结束
  • B通知A后面的通讯用对话密钥进行,并且B的握手结束
  • SSL 的握手部分结束,SSL 安全通道的数据通讯开始,A 和 B 开始使用相同的对话密钥进行数据通讯

简化上述的流程:

  • A通过CA证书校验B的正确性
  • A B 生成三个随机数,通过三个随机数生成对话密钥
  • A B确认对话密钥,对话结束
  • 使用同一套对话密钥进行数据通讯

小结

  • https既利用了非对称加密的安全性也利用了对称加密的高效性
  • 非对称加密没对称加密高效,但是比对称加密安全

相关文章

  • 有关https

    加密类型 首先了解一下两种加密类型 对称类型 如AES DES 非对称加密 如RSA 对称加密 对称加密很好理解...

  • 有关于https

    流程理解如下: 向CA权威证书机构,申请ssl证书(绑定信息,如域名公司信息等) 在服务器上使用ssl证书(ngi...

  • 有关ios https配置问题

    关于https的简介和说明我都是参考下面的文章:(谢谢文章作者) 1.http://my.oschina.net/...

  • 有关https的苹果证书配置问题

    你们的项目使用的是http还是https呢?如果使用 https,你们有遇到过请求中断的问题吗?说说我们使用htt...

  • 与我有关(结2021-01-11

    与我有关(一[https://www.jianshu.com/p/3ac10113f89e] 与我有关(二[htt...

  • python对称还是非对称 ----- https中到底使用了啥

    对于https的简单了解. ​ 我们这一次来讨论一下有关于https的相关知识. 其中最重要的就是有关于加密方式的...

  • appium调试坑点

    IOS证书有关API:https://developer.apple.com/reference/security...

  • HTTP/HTTPS

    页面升级兼容https;1)需要将页面中的所有关于点击事件跳转改成:href="https://badu.com"...

  • 基于Tornado的HTTPS页面搭建笔记

    最近需要使用https搭建一个api 故简单记录一下搭建过程 前言 有关https的原理 请参考图解HTTPS 环...

  • 有关培训的知识要点。

    有关笔顺的知识要点https://mbd.baidu.com/newspage/data/landingshare...

网友评论

      本文标题:有关https

      本文链接:https://www.haomeiwen.com/subject/pupyfftx.html