HTTPS与HTTP的区别
2016-06-03 16:51
323 查看
文章大部分来源bugly,加了部分个人理解
Authority)),各个网站服务商可以向CA申请证书,使得他们在建立连接时可以带上CA给的签名,而CA的安全性由操作系统或者浏览器来认证(Windows,Mac,Linux,Chrome,Safari在安装的时候带上一个他们认为安全的CA证书列表,只有那些网站带着的CA在这个列表里面才会被认为是安全的,注意:一旦某个CA颁发的证书被用于非法途径,那么值钱颁发过的所有证书都被视为不安全的!!!)
一.基本介绍
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(certificateAuthority)),各个网站服务商可以向CA申请证书,使得他们在建立连接时可以带上CA给的签名,而CA的安全性由操作系统或者浏览器来认证(Windows,Mac,Linux,Chrome,Safari在安装的时候带上一个他们认为安全的CA证书列表,只有那些网站带着的CA在这个列表里面才会被认为是安全的,注意:一旦某个CA颁发的证书被用于非法途径,那么值钱颁发过的所有证书都被视为不安全的!!!)
相关文章推荐
- qt-tcp发送和接收识别
- eclipse配置tomcat,访问http://localhost:8080出现404错误
- java 使用IO从网络下载图片-
- 网络请求参数的处理,包含过滤,排序,拼接,加密
- poj 2391(二分+拆点+最大流)
- C# Ping Ip 网络是否畅通实现
- Android发送post请求的两种写法(okHttp&&httpClient)
- HTTPS部署锦囊
- android开发笔记之网络编程—异步加载(AsyncTask)
- BP神经网络
- BP神经网络
- linux使用tcpdump抓包工具抓取网络数据包,多示例演示
- UNIX网络编程笔记(4)—TCP客户/服务器程序示例
- 使用 Netty 进行 UDP 网络编程
- FCN(全卷积神经网络)
- 网络制式
- WebUtils-网络请求工具类
- 使用httpclient实现上传下载(javaWeb系统数据传输http实现)
- 新手教程之:循环网络和LSTM指南 (A Beginner’s Guide to Recurrent Networks and LSTMs)
- Android apache httpClient