【SSL】HTTPS 和 SSL证书原理

目录

 

阐述HTTPS和SSL证书的原理

SSL 证书

漫画:什么是 HTTPS 协议?


HTTPS 认证过程:https://www.bilibili.com/video/BV1j7411H7vV?from=search&seid=9264061459142089866

 

阐述HTTPS和SSL证书的原理

解答

HTTPS (Hyper Text Transfer Protocol Secure) 对比HTTP而言,数据传输更安全,通常用来传输私密性的数据,如在线交易/订单处理/银行数据等,不过随着安全意识的普及,非传统安全领域的网站也在转向HTTPS。如苹果要求App Store内的应用都要支持HTTPS。

HTTPS 通过安全协议如SSL/TLS 来保证数据传输, SSL和TLS都是基于非对称加密算法,而RSA算法是非对称加密算法中的佼佼者。

RSA的公钥和私钥是互相对应的。RSA会生成两个密钥,持有者可以把任何一个用于公钥,另一个就是私钥。顾名思义,私钥会被严密保管,除了拥有者以外禁止其他角色接触,如在一个网站/远程服务商内,私钥妥善存储在服务器端。任何被公钥加密的东西只能被私钥解密,反过来任何被私钥加密的东西也只能被公钥解密

私钥和密钥叠加使用,从而达到双方之间秘密通信,最终实现身份验证和秘密通信

  • 私钥加密公钥解密,能证明“私钥拥有者” 的唯一身份,这就是签名。
  • 公钥加密私钥解密,确保发送的信息,只能被“私钥拥有者” 接收,从而实现安全传输

假设用私钥加密,来传递数据,因为可能有多个公钥持有者,从而失去对信息保护的目的,这是不允许的。

另外通过签名还可以校验数据完整性,发送者把传输信息的原文做一次哈希,然后用私钥加密哈希作为签名,并一起发布出去。当公钥持有者接收数据后,可以利用持有的公钥解密签名,如果解密成功,并且解密出来的哈希值确实和数据原文一致,那么就证明了数据内容的完整性。

 

SSL 证书

在实现HTTPS过程中,SSL证书的作用是不可或缺的。

具体的看看SSL证书工作的过程:

 

  • 浏览器服务器尝试连接支持支持SSL的网络服务器时,浏览器服务器会要求网络服务器表明自己的身份。
  • 网络服务器发送一份自身持有的SSL证书给浏览器或服务器,浏览器或服务器根据一定的规则(和本地存储的CA根证书列表对比) 判断是否信任远程服务,如果信任则发送一份消息远程服务器, 否则中断继续连接。
  • 网络服务器接收到消息后,发送一份包含数字签名的确认信息,开始建立SSL加密的会话。
  • 会话建立后,加密的数据顺畅地在客户端和网络服务器之间传递。

当用户在使用HTTPS的网页时,网站会在开始时发送SSL证书到浏览器,证书内包含建立安全连接的公钥,浏览器和网站以此为基础开始"SSL 握手", 握手的过程中产生共用的密钥,这样安全连接在用户和网站之间就建立起来了。

当建立HTTPS使用可信任的证书时,浏览器会在地址栏显示挂锁标志, 地址栏会变为绿色如果网站安装了Extended Validation Certificate, 用户看到这个颜色会感到"绿坝"在保护着他。

SSL证书通常由权威的证书组织签发,浏览器,操作系统和移动设备里会维护一组受信任的CA根证书, 如果被访问网站返回的证书不被信任,浏览器将会显示不予信任的警告信息,而带来用户流失,因为用户缺少安全感。

作者:豆志昂扬
链接:https://www.jianshu.com/p/3a78951fc3bc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

漫画:什么是 HTTPS 协议?

摘自:https://blog.csdn.net/bjweimengshu/article/details/87706654

这时候,我们有必要引入第三方,一个权威的证书颁发机构(CA)来解决。

 

到底什么是证书呢?证书包含如下信息:

 

640?wx_fmt=png

 

 

为了便于说明,我们这里做了简化,只列出了一些关键信息。至于这些证书信息的用处,我们看看具体的通信流程就能够弄明白了。

 

流程如下:

建议看这个漫画:https://blog.csdn.net/bjweimengshu/article/details/87706654

1.作为服务端的小红,首先把自己的公钥发给证书颁发机构,向证书颁发机构申请证书。

 

 

640?wx_fmt=png

 

 

2.证书颁发机构自己也有一对公钥私钥。机构利用自己的私钥来加密Key1,并且通过服务端网址等信息生成一个证书签名,证书签名同样经过机构的私钥加密。证书制作完成后,机构把证书发送给了服务端小红。

 

 

640?wx_fmt=png

 

3.当小灰向小红请求通信的时候,小红不再直接返回自己的公钥,而是把自己申请的证书返回给小灰。

 

640?wx_fmt=png

 

 

4.小灰收到证书以后,要做的第一件事情是验证证书的真伪。需要说明的是,各大浏览器和操作系统已经维护了所有权威证书机构的名称和公钥。所以小灰只需要知道是哪个机构颁布的证书,就可以从本地找到对应的机构公钥,解密出证书签名。

 

接下来,小灰按照同样的签名规则,自己也生成一个证书签名,如果两个签名一致,说明证书是有效的。

 

验证成功后,小灰就可以放心地再次利用机构公钥,解密出服务端小红的公钥Key1。

 

 

640?wx_fmt=png

 

 

5.像之前一样,小灰生成自己的对称加密密钥Key2,并且用服务端公钥Key1加密Key2,发送给小红。

 

640?wx_fmt=png


 

6.最后,小红用自己的私钥解开加密,得到对称加密密钥Key2。于是两人开始用Key2进行对称加密的通信。

 

640?wx_fmt=png

 

 

 

在这样的流程下,我们不妨想一想,中间人是否还具有使坏的空间呢?

 

640?wx_fmt=png

 

 

640?wx_fmt=jpeg

 

640?wx_fmt=png

 

 

 

640?wx_fmt=jpeg

640?wx_fmt=jpeg

 

640?wx_fmt=jpeg

 

640?wx_fmt=png

 

 

注:最新推出的TLS协议,是SSL 3.0协议的升级版,和SSL协议的大体原理是相同的。

 

 

640?wx_fmt=jpeg

 

 

—————END—————

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值