12. SSL和TLS有关知识
SSL的由来
SSL(Secure Socket Layer 安全套接层)是TCP/IP协议中基于HTTP之下TCP之上的一个可选协议层。
起初HTTP在传输数据时使用的是明文,是不安全的。为了解决这个隐患,网景(Netscap)公司推出了SSL。而越来越多的人也开始使用HTTPS(HTTP+SSL)。
SSL和TSL概念
1.
SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
2.
TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。TLS 1.0是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1,它是写入了 RFC 的。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。
SSL和TLS的联系
1.
SSL是TLS的前世,TLS是SSL的今生。
2.
TLS与SSL连接过程无任何差异。
3.
TLS与SSL的两个协议(记录协议和握手协议)协作工作方式是一样的。
SSL和TLS的区别
1.
SSL与TLS两者所使用的算法是不同的。
2.
TLS增加了许多新的报警代码,比如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等,但同时也支持SSL协议上所有的报警代码!
由于这些区别的存在,我们可认为TLS是SSL的不兼容增强版。即TLS和SSL不能共用。
在认证证书时TLS指定必须与TLS之间交换证书, SSL必须与SSL之间交换证书。
TLS与SSL的差异
1.
版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。
2.
报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用了RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的是异或运算。但是两者的安全程度是相同的。
3.
伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。
4.
报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
5.
密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。
6.
certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
7.
加密计算:TLS与SSLv3.0在计算主密值(master secret)时采用的方式不同。
8.
填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度要达到密文块长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击。
SSL/TLS协议提供的服务主要有:
1.
认证用户和服务器,确保数据发送到正确的客户机和服务器;
2.
加密数据以防止数据中途被窃取;
3.
维护数据的完整性,确保数据在传输过程中不被改变。
12. SSL和TLS有关知识相关推荐
- 第一章 SSL、TLS和密码学
所有连接到互联网的设备都有一个共同点,它们依赖安全套接字层(secure socket layer,SSL) 和传输层安全(transport layer security,TLS)协议保护传输的信息 ...
- 《HTTPS权威指南》- SSL、TLS和密码学学习笔记
iOS要开始强制推行HTTPS了,大家都开始学习HTTPS的相关知识,网上很多博文一上来就讲对称加密,非对称加密,AES,RSA,和TLS和SSL协议.对于我这种没怎么深入过网络层的人来说全靠背!理解 ...
- 一文读懂HTTP, HTTPS, SSL和TLS
目录 名词介绍 HTTP: HTTPS: SSL: TLS: HTTPS实现原理 一.为什么要用HTTPS ? 二.HTTPS 怎么实现的? 数字证书 CA (Certificate Authorit ...
- HTTPS、SSL、TLS三者之间的联系和区别
本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金. SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后 ...
- 详述SSL和TLS的Web安全渗透测试
如果Web服务中的SSL和TLS协议出现安全问题,后果会如何?很明显,这样的话攻击者就可以拥有你所有的安全信息,包括我们的用户名.密码.信用卡.银行信息--所有的一切.本文将向读者详细介绍如何针对We ...
- HTTP、SSL、TLS,HTTPS简单介绍
参考:https://www.techug.com/post/https-ssl-tls.html HTTP 是一个网络协议: 大部分网站都是通过 HTTP 协议来传输 Web 页面.以及 Web 页 ...
- 应用篇——SSL/TLS
目录 一.客户端与服务端的通信 二.SSL与TLS 1)SSL(安全套接层协议): SSL协议提供的服务主要有: SSL协议的工作流程: 2)TLS(Transport Layer Security ...
- Burpsuite如何抓取使用了SSL或TLS传输的 IOS App流量
之前一篇文章介绍了Burpsuite如何抓取使用了SSL或TLS传输的Android App流量,那么IOS中APP如何抓取HTTPS流量呢, 套路基本上与android相同,唯一不同的是将证书导入i ...
- 域名注册_申请证书\SSL证书\tls证书
网上申请域名和SSL证书的教程较多,但是很多都不连贯也不完整,还是付费申请,接下来我用一篇文章详细说明域名和SSL证书的申请和配置步骤. 平时我们在搭建网站.博客或其它加密服务时需要用到域名和SSL证 ...
最新文章
- 接近岁末,今日股市收盘大跳水
- (NO.00001)iOS游戏SpeedBoy Lite成形记(九)
- poj2002 poj3432 正方形个数 (hash,二分)
- 校招真题练习011 种花(美团)
- [Flex] 组件Tree系列 —— 阻止用户点击选中Tree中分支节点
- 电脑屏保在哪里设置_手机屏保调成绿色能护眼?真的吗?
- idea shell 使用linux_Linux使用shell定时任务实现ffmpeg视频转码和截图
- 新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析
- 把后端传递过来的base64图片保存到本地
- PHP7通过yum源安装及性能测试
- java环境安装包_超详细的EFK安装部署教程--环境准备篇
- Arcgis字段计算器实现自动编码
- C++洛谷题解(1)
- php 人民币格式化,用PHP解析时格式化货币
- linux培训哪家好?Linux520内部培训教程
- ecshop二次开发手册,基本结构
- HTML5的结构元素
- OpenCASCADE:Qt OCCT 概览示例
- 【Unity】基础知识结构总结
- PDF怎么转换成jpg图片