首页 > 其他分享 >SSL与TLS到底有何区别,一见分晓

SSL与TLS到底有何区别,一见分晓

时间:2023-06-17 16:31:37浏览次数:46  
标签:TLS 协议 加密 有何 SSL SSL3.0 服务器

前言

HTTP在传输数据时使用的是明文是不安全的,为了解决这一隐患网景公司(Netscape)推出了SSL安全套接字协议层。

SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,所以HPPTS是HTTP+SSL/TCP的简称,Https默认使用端口443。

SSL

Secure Socket Layer,安全套接字层。SSL是Netscape开发的位于可靠的面向连接的网络层协议(如TCP/IP)和应用层协议之间的一种协议。

SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。现在有1,2,3 ,总共3个版本,现在基本使用3.0。

SSL为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40 位的密钥,适用于商业信息的加密。

SSL协议组成:SSL记录协议+ SSL握手协议

记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议的意义

认证用户和服务器,确保数据发送到正确的客户机和服务器,互联网连接安全;

加密数据以防止数据中途被窃取;

维护数据的完整性,确保数据在传输过程中不被改变。

SSL协议认证流程

客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接

服务器根据客户的信息确定是否需要生成新的秘钥对,如需要则服务器在响应客户的“Hello”信息时将包含公钥

客户根据收到的服务器响应信息,产生一个密钥对,并用服务器的公钥加密后将自己的公钥传给服务器;

服务器用私钥解密客户端的公钥,并返回给客户一个用客户端公钥加密的信息,以此让客户认证服务器。

TLS

(Transport Layer Security,安全传输层协议)。TLS是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议。

TLS/SSL是一种加密通道的规范。它利用对称加密、公私钥不对称加密及其密钥交换算法,CA系统进行加密且可信任的信息传输。

IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0,可以说TLS就是SSL的新版本3.1。 总共有1.0,1.1,1.2三个版本,默认使用1.0

TLS协议组成:TLS记录协议+ TLS握手协议

TLS是独立于应用层协议,如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

TLS 记录协议:是一种分层协议,支持信息传输、将数据分段到可处理块、压缩数据、应用MAC 、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机

TLS 握手协议:由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。

TLS记录协议提供的连接安全性具有两个基本特性:

私有——对称加密用以数据加密(DES、RC4等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。

可靠——信息传输包括使用密钥的MAC进行信息完整性检查。

SSL和TLS的区别

TLS的产生是为了让SSL更安全,使协议更加精确和完善。TLS在SSL3.0基础上增强了其他内容。它们的最主要的差别是所支持的加密算法不同,TLS和SSL3.0不能互相操作,TLS相当于SSL 3.1

TLS的记录格式与SSL一样,但版本号不同,TLS的版本使用的是SSL 3.1。TLS就是以3.0为基础定义的。

报文鉴别码不一样。TLS使用了RFC-2104定义的HMAC算法,SSL3.0使用了类似的算法,虽然安全程度一样,但具体算法不一样,填充字节和秘钥之间采用的是连接运算,而HMAC采用的是异或运算。

伪随机数函数不一样。TLS使用了PRF伪随机函数将秘钥扩展成数据块,PRF使用两种散列算法保证其安全性,只有两种算法都暴露数据才会不安全。

TLS有更严密的警报。除了SSL的报警代码,TLS还补充了很多报警代码,如解密失败,记录溢出,拒绝访问等

密文和客户证书:TLS不支持Fortezza秘钥交换、加密算法和客户证书。

对于消息的认证采用秘钥散列法(HMAC):当消息在开放的网络上传输时,通过HMAC确保传输的信息不会被篡改。HMAC比SSL3.0的消息认证法MAC更安全。

增强的伪随机公能(PRF):HMAC定义PRF,用于生成秘钥数据。PRF使用两种散列算法保证其安全性,只有两种算法都暴露数据才会不安全。

总结

在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制,标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1。也可以将TLS看作SSL的升级版

SSL/TLS协议不仅可以和Http协议搭配,还可以和(FTP、SMTP、POP、Telnet)协议搭配使用。

SSL/TLS协议通过3点解决Http原有的3大风险

加密传播,防窃听

校验机制,防篡改

CA证书,解决冒充风险

标签:TLS,协议,加密,有何,SSL,SSL3.0,服务器
From: https://blog.51cto.com/u_16110904/6505349

相关文章

  • 升级OpenSSL OpenSSH --2023年6月15日
    2023年6月15日升级OpenSSLOpenSSH#查看openssh版本命令ssh-V#查看openssl版本命令opensslversion当前版本[root@node01~]#ssh-VOpenSSH_7.4p1,OpenSSL1.0.2k-fips26Jan2017[root@node01~]#opensslversionOpenSSL1.0.2k-fips26Jan2017......
  • java服务器更换jdk版本后报错:javax.net.ssl.SSLHandshakeException: No appropriate p
    java,服务器更换jdk版本后报错:Causedby:javax.net.ssl.SSLHandshakeException:Noappropriateprotocol(protocolisdisabledorciphersuitesareinappropriate)然后数据库出现:###Errorqueryingdatabase.Cause:java.lang.reflect.UndeclaredThrowableExc......
  • 3、git warning: TLS certificate verification has been disabled
    gitwarning:TLScertificateverificationhasbeendisabled!报错warning:-----------------SECURITYWARNING----------------warning:|TLScertificateverificationhasbeendisabled!|warning:---------------------------------------------------warning......
  • Tomcat SSL配置大全
    TomcatSSL配置大全 由于配置CAS的单点登陆系统,需要先配置Tomcat的SSL,在配置tomcat的SSL过程中,我配置的版本是tomcat5.5.20,参考了很多资料,但发现一直不行,后来我换到了5.5.9,结果非常顺利,我于是换了总共4个主要版本,发现SSL的配置还真有些不同,现在我将这些配置记录下来,供下......
  • 自签ssl 证书工具-mkcert
    自签ssl证书工具-mkcert一、场景随着SSL的越来越普及,目前大部分生产环境都已经使用SSL,SSL证书一般有如下方法获取:SSL服务商购买、免费SSL服务商通过HTTP验证/API验证、自签SSL证书。SSL服务商购买后一般需要域名邮箱或者域名持有人邮箱验证,而免费SSL服务商一般需要通过HTTP验证......
  • TLS详解之原理和实践(一)
    主页个人微信公众号:密码应用技术实战个人博客园首页:https://www.cnblogs.com/informatics/引言本文主要内容涉及到TLS协议发展历程、TLS协议原理以及在HTTPS中的应用,以希望读着对TLS协议的基本工作原理和实际应用有个基本认识。背景我们在访问网站的时候经常会碰到以下......
  • 一套最全的突破tls/ja3指纹的方案
    访问这个网站可以查看自己ja3信息  https://tls.browserleaks.com/json方法一pipinstallcurl_cffi#https://github.com/yifeikong/curl_cffifromcurl_cffiimportrequests#注意impersonate这个参数r=requests.get("https://tls.browserleaks.com/json",......
  • 解决:pip is configured with locations that require TLS/SSL
     在使用pip进行软件包安装的时候出现问题:WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.解决:mkdir-p~/.pipvim~/.pip/pip.conf 然后输入内容:[global]index-url=http://mirrors.aliyun.......
  • SoundStream VS Lyra: 谷歌今年新推出的两款AI音频编解码器有何不同?
    作者 |Teresa、王晶技术审校 |王晶、王立众SoundStream 影音探索#001#近日,谷歌又推出了一款基于人工智能的音频编解码器——SoundStream,它是一款端到端的神经音频编解码器,可以提供更高质量的音频,同时编码不同的声音类型,包括干净的语音、嘈杂和混响的语音、音乐和环境声音。......
  • 解压gzip数据流 和 file_get_contents()函数支持SSL错误和header
    file_get_contents()函数的相关参数,支持SSL错误和header $options=array("ssl"=>array("verify_peer"=>false,"verify_peer_name"=>false,), "http"=>array('timeout......