HTTPS 简介
2015-12-27 12:57
399 查看
HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS1.0通常被称为SSL3.1,TLS1.1为SSL3.2,TLS1.2为SSL3.3.
其中Handshake protocol,Change Spec Protocol,Alert protocol组成了TLS Handshaking Protocols。
HTTPS和HTTP协议相比提供了:
1.数据完整性:内容传输经过完整性校验
2、数据隐私性:内容经过对称加密,每个链接生成一个唯一的加密密钥
3、身份认证:第三方无法伪造服务端(客户端)身份
其中,数据完整性和隐私性由TLS Record Protocol保证,身份认证由TLS Handshaking Protocol实现
使用RSA算法的SSL握手是这样的:
1、【明文】客户端发送随机数client_random和支持的加密方式列表
2、【明文】服务器返回随机数server_random,选择的加密方式和服务器证书链
3、【RSA】客户端验证服务器证书,使用证书中的公钥加密premaster_secret发送给服务端
4、服务端使用私钥解密premaster_secret
5、两端分别通过client_random,server_random和premaster_secret生成master_secret,用于对称加密后续通信。
证书中包含什么信息:
证书信息:过期时间和序列号
所有者信息:姓名等
所有者公钥
为什么服务端要发送证书给客户端:
互联网有太多的服务需要使用证书来验证身份,以至于客户端(操作系统或浏览器)无法内置所有证书,需要通过服务端将证书发送给客户端
客户端为什么要验证接收到的证书:
中间人攻击。
客户端如何验证接收到的证书:
需要引入数字签名
将一段文本通过哈希和私钥加密处理后生成数字签名
假设消息传递在Bob、Susan和Pat三人之间发生。Susan将消息连同数字签名一起发送给Bob,Bob接收到消息后,可以这样验证接收到的消息。
前提是Bob知道Susan的公钥。公钥不能再不安全的网络中直接发送给Bob。
此时就引入了证书颁发机构(CA)。
https://cattail.me/tech/2015/11/30/how-https-works.html
其中Handshake protocol,Change Spec Protocol,Alert protocol组成了TLS Handshaking Protocols。
HTTPS和HTTP协议相比提供了:
1.数据完整性:内容传输经过完整性校验
2、数据隐私性:内容经过对称加密,每个链接生成一个唯一的加密密钥
3、身份认证:第三方无法伪造服务端(客户端)身份
其中,数据完整性和隐私性由TLS Record Protocol保证,身份认证由TLS Handshaking Protocol实现
使用RSA算法的SSL握手是这样的:
1、【明文】客户端发送随机数client_random和支持的加密方式列表
2、【明文】服务器返回随机数server_random,选择的加密方式和服务器证书链
3、【RSA】客户端验证服务器证书,使用证书中的公钥加密premaster_secret发送给服务端
4、服务端使用私钥解密premaster_secret
5、两端分别通过client_random,server_random和premaster_secret生成master_secret,用于对称加密后续通信。
证书中包含什么信息:
证书信息:过期时间和序列号
所有者信息:姓名等
所有者公钥
为什么服务端要发送证书给客户端:
互联网有太多的服务需要使用证书来验证身份,以至于客户端(操作系统或浏览器)无法内置所有证书,需要通过服务端将证书发送给客户端
客户端为什么要验证接收到的证书:
中间人攻击。
客户端如何验证接收到的证书:
需要引入数字签名
将一段文本通过哈希和私钥加密处理后生成数字签名
假设消息传递在Bob、Susan和Pat三人之间发生。Susan将消息连同数字签名一起发送给Bob,Bob接收到消息后,可以这样验证接收到的消息。
前提是Bob知道Susan的公钥。公钥不能再不安全的网络中直接发送给Bob。
此时就引入了证书颁发机构(CA)。
https://cattail.me/tech/2015/11/30/how-https-works.html
相关文章推荐
- android之旅10 网络编程2: HttpClient与github的封装
- Linux网络及其配置
- 浅谈Netfilter框架原理(二)
- 训练深度网络的梯度弥散及梯度膨胀问题
- 浅谈Netfilter框架原理(一)
- URLConnection的post请求网络数据和AsyncTask异步线程
- windows平台下 c/c++进行http通信的教训
- windows平台下 c/c++进行http通信的教训
- Ubuntu 网络管理器显示“设备未托管”的解决办法
- special filter for iptables/netfilter tcpdump/tshark/wireshark
- C#检测网络连接
- DHCP源码分析-系统概述
- 黑马程序员——网络编程
- XMLHttpRequest对象
- 安卓日记——http中的get和post方法
- 一个用js写的接口http调试程序
- xUtils中的HttpUtils请求网络数据和BitmapUtils加载网络图片
- 《TCP/IP详解 卷1:协议》 读书笔记 第23章 TCP的保活定时器
- 《TCP/IP详解 卷1:协议》 读书笔记 第22章 TCP的坚持定时器
- iOS开发中使用NSURLConnection类处理网络请求的方法