有关https

加密类型

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

  • 对称类型 如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既利用了非对称加密的安全性也利用了对称加密的高效性
  • 非对称加密没对称加密高效,但是比对称加密安全
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    纳兰三少阅读 1,962评论 1 6
  • 2018-Read-Record 记录我的2018学习历程 文中首先解释了加密解密的一些基础知识和概念,然后通过一...
    NinthDay阅读 11,349评论 8 105
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,403评论 0 3
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    已认证用户阅读 3,878评论 1 4
  • 今天晚上,吃完饭后,叫女儿帮我洗两个碗,她愉快的答应啦。我以为她又在大喊大叫,找各种理由不去做,想不到他这么...
    悠悠丁香阅读 191评论 0 0