您的位置:首页 > 理论基础 > 计算机网络

HTTPS与HTTP的区别

2016-06-03 16:51 323 查看
文章大部分来源bugly,加了部分个人理解

一.基本介绍

HTTPS   S可以指的TLS(安全传输层),也可以是SSL(安全套接层),或者可以抽象的的概括HTTP+Security(这种理解比较直接)。

 

二.举个栗子

简单的描述  上课传纸条  吊丝A  要传给  妹子A ,中间有个同学M

问题1

如果直接用http也就是不加密,那就纸条的内容会被同学M看明白、

 

解决方法1

1.跟妹子A约定一个暗号,例如用某个字母代替某个字,这种加密算法现在一般用的是AES(高级加密算法)的对称算法(简单的说就是加密解密用的同一个Key).

 
 

问题2

那么问题来了,怎么把这个暗号告诉这个妹子,课下单独约定,这个可以有但是实际网络中,这个是不怎么可行的,所以只能把这个暗号的规则一起发过去,但是这样同学M还是能看懂纸条写了啥?所以这样也不安全

 

 解决方法2

用另外一种加密算法,非对称算法,这种算法产生两个密钥(key1和key2),key1加密的数据,key1不能解密,只有key2才能解密,同理key2加密,只有key1才能解密,现在最常用的是RSA,按照下图的方式就可以愉快的通信了

 


 

问题3

但是问题来了,为什么妹子A不直接用K1加密content传给吊丝A?

 

 

解决方法3

因为非对称的加密解密的平均消耗时间比较长,为了节省时间提高效率,所以只是用来互相告诉暗号(也就是对称加密算法的K3)

 

问题4

如果中间的同学M暗恋你想知道纸条内容,把你给妹子A的纸条扣下来,然后假装自己是妹子A,同样给你返回了一个对称算法加密的K4,然后发给你,同时同学M假装成吊丝A跟妹子A完成一个一次密钥交换得到K3,这样M就知道纸条内容,但是吊丝A和妹子A都不知道同学M已经知道他们的秘密了。

 


 

解决方法4

这个时候提现HTTPS和传纸条的区别了,在这个例子中,吊丝A和妹子A是一个几乎对等的对象,但是在网络上,访问网站时,一般访问的都是比较大的服务者,他们可以证明自己的合法性(用一个非常权威的第三方,一个专门用来认证网站合法性的组织,简称CA(certificate
Authority))
,各个网站服务商可以向CA申请证书,使得他们在建立连接时可以带上CA给的签名,而CA的安全性由操作系统或者浏览器来认证(Windows,Mac,Linux,Chrome,Safari在安装的时候带上一个他们认为安全的CA证书列表,只有那些网站带着的CA在这个列表里面才会被认为是安全的,注意:一旦某个CA颁发的证书被用于非法途径,那么值钱颁发过的所有证书都被视为不安全的!!!

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: