HTTPS

主要是和大家聊了聊关于HTTP的一些知识,关于HTTP的有关知识暂时先告一段落吧。接下来想和大家聊一聊关于HTTPS的一些知识。其实这一块,一直在酝酿着怎么写,因为HTTPS的知识实在是太复杂了,而把我了解的知识转化成大家都能理解的话更是难上加难。但是,这一块知识非常重要,因为现在的大型网站都慢慢的将HTTP访问变成了安全性比较搞的HTTPS访问,这也算是一种趋势。好了,废话不多说了,咱们开始吧。

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

什么是数字证书?

就跟每个人的身份证能够确认一个人的身份一样,数字证书同样是对某网站的一种身份。通过数字证书,我们可验证某网站的真实性。那么上面的问题就可以解决了,只要我们验证了服务器的真实性,那么我们就可以信任服务器下发的非对称加密的公钥是真实有效的,而不是被掉包的。

HTTP详解(九):拥抱HTTPS

证书的颁发者是谁呢?

一般来说,数字证书的颁发者是第三方的证书颁发机构(CA)来颁发的。

那么数字证书,是怎么样制作的呢?

首先服务器将非对称加密算法M(用于加密协调过程)的公钥传送给第三方证书颁发机构。然后第三方颁发机构使用非对称加密算法N的私钥对服务器的公钥进行加密,然后添加上一些其他的信息(如上图)制作成一种证书之后,然后再发送给服务器!

服务器将数字证书发给客户端,让客户端验证一下自己的真实身份。客户端会用本地存储的非对称加密算法N的公钥(注意与上面的非对称加密算法N对应)去解密用非对称加密算法N加密的公钥(该公钥是非对称加密M的公钥)!

如果解密成功,那么我们可以认为证书有效,否则无效!

那么问题又来了!!

假设现在有一个坏人(当然不是小酷),将自己的非对称加密算法L的公钥提交给第三方证书颁发机构,那么第三方证书同样也会用非对称加密算法N的私钥进行加密,同样会给坏人制作出证书!然后在服务器将证书发给客户端验证身份的时候,坏人用自己的证书将服务器的证书掉包了!客户端同样还是会用非对称加密算法N的公钥去解密,而且一样能够解密成功!那么,对于客户端来说,他无法判断这个证书是来自于服务器的还是来自于那个坏银的!怎么办?怎么办?

我们看数字证书的内容格式上可以发现,内容中有“数字签名”这一项!数字签名也就很好的解决了上面那个问题。具体是怎么玩的呢,咱们接着往后看!

数字签名:

数字签名你可以理解为咱们快递单上的快递单号,唯一代表这一张证书。

服务器在制作数字证书的过程中,第三方证书颁发机构按照某种生成签名的算法(比如说MD5),将一些数据项通过签名算法计算出一串字符串---数字签名!

服务器将证书发送给客户端,客户端按照证书中签名算法生成签名,并与证书中的签名进行比对!如果比对无误,则认为该证书没有被修改过!反之亦然!

HTTP详解(九):拥抱HTTPS

当前这里说的只是客户端对服务器的身份验证,属于单向验证!在实际应用过程中,服务器也可能需要对客户端进行验证,这种客户端验证服务器证书,服务器验证客户端证书叫做双向验证。至于单向验证和双向验证具体是什么,咱们后面再细说!

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

HTTP详解(九):拥抱HTTPS

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值