SSL/TLS
来源:互联网 发布:北京和上海知乎 编辑:程序博客网 时间:2024/05/16 15:12
SSL/TLS
1. 概念
SSL是由Netscape发明,V3版本是结合了公众和厂商的意见而设计的,它开始被作为一种互联网草案而发布,现在已经成了互联网上的标准。IETF在Openssl3.0的基础上做了一些细微的修改,编写了TLS1.0版本,也即SSL3.1。
SSL用来提供端到端的可信TCP链接,SSL涉及到2层协议,如下图
HTTP
SSL握手协议
SSL密码修改协议
SSL告警协议
SSL记录协议
TCP
IP
SSL记录协议为各种高层协议提供了基础的安全服务,SSL包含3个高层协议:握手协议、密码修改协议、告警协议
SSL包含2个重要概念:
SSL连接:连接是端到端的,连接是短暂的,每个连接都与一个会话相关
SSL会话:SSL会话是一个C和S之间的联合,SSL会话是由握手协议创建的,会话定义了一系列的安全参数,这些参数能在多个连接间共享,SSL会话避免了为每个连接再重新耗费资源协商一次安全参数。
SSL思维MM图
证书颁发与验证
权威CA给服务器颁发证书,用自己的私钥签名,这样浏览器就能用权威CA的公钥验证服务器证书。
服务器用自签名根证书的私钥给客户端颁发证书,用自己的私钥签名,这样服务器就能用自己的公钥验证客户端证书。
所以我们可以得出:
证书颁发用私钥,证书验证用公钥
SSL握手
SSL通信(双向证书认证)有以下流程:
a. 双方sayhello,确定密钥交换/加密/压缩/MAC算法,和随机数
b. 服务器端发送自己的证书给客户端(含公钥),客户端用权威CA的公钥验证服务器证书。
c. 客户端发送自己的证书和密钥交换信息(用自己的私钥签名,用服务器的公钥加密)发给服务器,服务器用自己的私钥解密,用自签名证书的公钥验证客户端证书,用客户端证书的公钥验证客户端身份。
d. 双方确定通信密钥(包括加密算法和压缩算法的密钥)
所以我们可以得出:
SSL通信双方都需要私钥
2. SSL可能遭受的攻击
SSL最可能遭受中间人攻击,导致身份盗取。
3. SSL库
目前最流行的SSL库是openssl,历史上爆发过很多漏洞,比如注明的HeartBleed漏洞,SSLCCS注入漏洞。Openssl官方网站上公布了自己的很多漏洞,
https://www.openssl.org/news/vulnerabilities.html
比如MSF上针对Openssl的exploit
4. Referers:
1. 《密码编码学与网络安全》
2. https://www.openssl.org/
3. H3C的SSL技术白皮书:
http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Technology_book/200812/622834_30003_0.htm#_Toc212542727
- SSL/TLS
- SSL/TLS
- TLS SSL
- ssl/tls
- SSL/TLS
- SSL/TLS
- [SSL/TLS] SSL/TLS协议综合总结
- [SSL/TLS] SSL/TLS协议综合总结
- [SSL/TLS] SSL/TLS协议综合总结
- SSL/TLS/WTLS原理
- SSL/TLS/WTLS原理
- SSL/TLS服务器配置
- SSL&TLS&WTLS原理
- SSL/TLS/WTLS原理
- SSL/TLS/WTLS原理
- SSL/TLS/WTLS原理
- SSL/TLS/WTLS原理
- https SSL TLS
- HDOJ 1242 Rescue(BFS+优先对列)
- 排序算法直接插入排序
- JAVA编程思想学习总结:第五章——初始化与清理
- 插入排序的概念
- iOS 视频播放 MPMoviePlayerViewController
- SSL/TLS
- pat_1099
- Android学习笔记--从活动activity开始
- online_judge_1076
- osx下修改mysql编码方式
- [机器学习算法详解]决策树——以隐形眼镜分类问题为例
- poj 3126
- JQuery插件写法
- VS2008 C# Sql server2008 数据库的连接,增删改查