您当前的位置:首页 > 生活热点 > 正文

ssl协议安全性分析,更高层,更安全

关于【ssl协议安全性分析】,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、ssl协议安全性分析:SSH 比 SSL 更高层,更安全?请看两者4大区别—基于原理和协议2、ssl协议安全性分析,彻底搞清HTTPS安全通讯之SSL

1、ssl协议安全性分析:SSH 比 SSL 更高层,更安全?请看两者4大区别—基于原理和协议

“SSH 和 SSL 的区别?”

“难道不是苹果和橙子的区别?”

“这种比较有什么意义吗?”

80%的人会有这样的疑问,这明明是两种不同的东西嘛。

是的,这看似不是一个合理的比较。普遍的认知是:

SSL是一种保护通过网络传输的数据的通用方法SSH是一种用于登录和共享数据的网络程序

他们差别很大。但仔细想想,他们功能相似,加密方式相似,这是上天的安排,还是冥冥中的巧合?

看似风马牛不相及,你真的认真对比过他们吗?工作中,你又是否偶尔会混淆他们呢?下面让我们基于原理和协议一起来一探究竟……

ssl协议安全性分析,更高层,更安全

一、SSL

SSL,即安全套接层(Secure Sockets Layer),它是一种安全协议,是Netscape公司在推出Web浏览器首版时一起提出的。

SSL证书主要是部署在网站服务器中,通过SSL协议实现浏览器客户端与网站服务器通信链路上的数据加密,并认证网站服务器身份,防止钓鱼网站。它用来保障你的浏览器和网站服务器之间安全通信,免受网络“中间人”窃取信息。

传统的HTTP协议采用明文传输数据,用户数据存在被窃取和篡改的风险。而部署了SSL证书的网站,可以采用安全的HTTPS协议进行访问。当浏览器访问以“https://”开头的URL时,浏览器通过SSL连接使用HTTP。SSL协议会在数据传输之前对数据进行加密再进行网络传输,保证了用户数据在传输链路上的安全。

SSL协议包含两个子协议,

记录协议(SSL Record Protocol):说明SSL的数据包应该如何封装的。位于OSI七层模型的会话层上,为不同机器上的用户建立和管理会话。握手协议(SSL Handshake Protocol):说明通信双方如何协商共同决定使用什么算法以及算法使用的key。它在OSI七层模型会话层的下一层——表示层上,对他们之间的网络联接进行加密解密。

二、SSH

SSH,也就是Security Shell,由 IETF 的网络小组(Network Working Group)所制定,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH相当于一个隧道,数据通过的时候保护它不被泄露和篡改,为shell提供安全的传输和运用环境。具体来说,通过它可以安全的远程实行另一台UNIX体系上机器的指令。

SSH只是一种协议,它有很多实现方法。在Linux中SSH几乎是标配,其中用的最多的实现是OpenSSH。在Windows系统中使用SSH,会用到另一种软件PuTTY。这就相当于用QQ远程在别的电脑上登录一样,是一种安全地远程登录服务器的方法。

在互联网层次中,SSH与HTTP,FTP类似,归于OSI七层参考模型中的应用层协议,它是使用TCP协议的应用层服务中的一员。

三、SSH和SSL之间的区别和关联是什么?

1、在OSI七层模型中的位置

看完前面的介绍,我们了解到 SSL 是保护网络传输数据的协议,是安全地在互联网中传输的基石。而 SSH 只是一种用于主机用户登录,安全共享数据的网络应用程序。它们在OSI七层模型中位于不同的位置:

ssl协议安全性分析,更高层,更安全

2、功能的关联与差异

差异

从功能上来讲,他们差异很大。

SSH代表了“Secure Shell”。我们关心它是因为,它使联网的计算机1能够访问联网计算机2上的shell,以计算机1的身份登录主机,并对他进行操作。

SSL代表“安全套接字层”。我们之所以关注它,是因为它使浏览器能够以一种安全的加密方式在web服务器之间传输数据,从而使监视所有internet流量的第三方间谍难以生存。SSL和主机用户名登录没有任何关系,它本身并不实现主机登录的功能,它只是一个单纯的加密功能。

关系

SSL和SSH都必须提供在不安全通道上加密和解密数据的系统。SSH有自己独立于SSL的传输协议,所以这意味着SSH在底层不使用SSL。

为了方便理解,可以简单的认为功能上:SSH = SSL + 用户登录功能等应用层协议。

3、加密方式的关联与差异

从严格密码学角度来看,他们身份验证的加密方式不同。

SSL 和 SSH 都提供加密元素,以便为检查完整性的机密数据传输构建隧道。

SSH使用所谓的encryption -and-MAC,即将加密的消息与明文消息的身份验证代码(MAC)并列,以添加完整性。这并不是完全安全的(即使看起来已经足够安全了)。

SSL使用MAC-then- encrypt ,即将MAC与明文并列,然后对它们进行加密。这也不是最好的,因为在一些分组密码模式下,MAC的某些部分可以猜测并显示密码上的一些内容。这导致了TLS 1.0中的漏洞。老的算法譬如:TLS_RSA_WITH_AES_128_CBC_SHA 和TLS_RSA_WITH_RC4_128_MD5 都是mac-then-encrypt模式。

两种加密方式它们都有潜在的理论弱点。最强的方法是Encrypt-then-MAC,它在IPsec ESP中实现。

4、安全性比较

从安全性上来讲,Secure Shell和SSL各有千秋。

SSL有证书中心(CA)公正,可以确定发送者的身份。而SSH没有,可能会被“中间人攻击”,它相当于现代版的窃听。如果攻击者插在用户与远程主机之间(比如在公共wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。不过确保禁用了不安全的SSL/TLS协议,且所访问的网址前面有HTTPS作为开头,可以避免大多数的中间人攻击。

SSL终止代理可以处理传入的SSL连接,解密SSL并将未加密的请求传递给其他服务器。SSL允许您通过签名证书使用PKI(公钥基础设施)。而使用SSH,您必须通过ftp等其他协议手动交换密钥指纹。

SSH有一个用户身份验证层,这是SSL所缺乏的(不过是因为它并不需要验证功能)。在使用utf – 8编码时,SSH协议使用了更多的协议。考虑到有更多的潜在攻击,SSH的攻击面似乎更大。但这只是因为SSH内建了一个完整的应用程序。安全性和SSL其实相差无几。

ssl协议安全性分析,更高层,更安全

从概念上讲,我们可以使用SSH并将隧道部分替换为SSL中的隧道部分,甚至还可以使用HTTPS并使用SSH-with-data-transport替换SSL事务,并使用钩子从其证书中提取服务器公钥。没有科学上的不可能性,如果做得恰当,它们的安全性将保持不变。

2、ssl协议安全性分析,彻底搞清HTTPS安全通讯之SSL

一、 简介SSL(Secure Socket Layer 安全套接层),由网景在20世纪90年代开发的安全协议;1995年Netscape发布SSL v2.01996年Netscape发布SSL v3.01999年 IETF(Internet工程任务组)发布TLS v1.0,用于替代SSL v3.02006年 发布TLS v1.12008年 发布TLS v1.22018年 发布TLS v1.3至2020年3月,微软、苹果、谷歌等多家企业已弃用TLS v1.0 和 TLS v1.1。

目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

二 、通信模式演化正常通讯,无加密通信过程很不安全,黑客可以监听双方的通信、拦截通信、伪造数据进行攻击。使用密钥加密为了应对攻击,对通信数据使用对称加密算法进行加密。通信双方需要共享密钥。1981年,出现对称加密算法DES。DES使用56bit的密钥。但由于双方需要共享密钥,这个密钥在传输过程中有可能被拦截。更高强度的密钥DES可能被暴力破解。为了更高的安全性,出现了triple-DES(最长168bit密钥)、AES (最高 256bit密钥 )。这仍没解决双方传递共享密钥的问题。非对称加密最著名的非对称加密算法RSA算法,其加密与解密使用不同密钥,加密的密钥可以公开。这样可以有效解决双方共享密钥的问题。在使用中,通讯双方都有一个公钥和私钥。

A要给B发网络数据流程:

A使用私钥加密数据的hash值A再用B的公钥加密数据。A将加密的hash值和加密的数据加上一些其它信息(如时间戳)发给BB 先用私钥解密数据B本地运行一个hash值B用A的公钥解密hash值,与自己运行的比较,检验数据完整性。但最初通讯交换公钥的过程,仍存在被中间人攻击的可能。使用可信任机构颁布数字证书三 、HTTPS

HTTP Over SSL,就是通过SSL/TLS加密HTTP数据。证书链检测工具: myssl.com

四、SSL/TLS 基本运行过程1. 整体通讯流程客户端向服务器端索要并验证公钥双方协商生成“对话密钥”双方采用“对话密钥”进行加密通信。

SSL/TLS 使用非对称加密 。

保证公钥不被篡改:将公钥放在数字证书中,只要证书是可信的,公钥就是可信的。每一次对话,双方生成一个对称密钥,用来加密信息,采用对称加密。 非对称加密只用来加密对称加密的密钥。

流程示意图:

ssl协议安全性分析,更高层,更安全

通讯抓包示意图:

ssl协议安全性分析,更高层,更安全

2. 握手阶段详细过程

ssl协议安全性分析,更高层,更安全

握手阶段涉及4次通信。

4.1 客户端发出请求(Client Hello)

客户端数据主要包含:

支持的协议版本,如TLS 1.2版一个客户端生成的随机数,稍后用于生成公钥支持的加密方法 ,如RSA支持的压缩方法。

客户端发送的信息中不包括服务器的域名。2006年,TLS协议加入了一个Service Name Indication扩展,允许客户端向服务器提供它所请求的域名。

ssl协议安全性分析,更高层,更安全

支持的加密算法示例:

ssl协议安全性分析,更高层,更安全

4.2 服务器回应(Server Hello)

服务器收到客户端请求后,向客户端发出回应,包含:

确认使用的加密通信协议版本,比如TLS 1.2版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。一个服务器生成的随机数,稍后用于生成"对话密钥"。确认使用的加密方法,比如RSA公钥加密。服务器证书。

如果是双向认证,服务器需要确认客户端的身份,就会再包含一项请求,要求客户端提供客户端证书。即金融机构服务器端只允许认证客户连入自己的网络,会向正式客户提供USB密钥,里面就包含了一张客户端证书。下面是单向认证抓包示意,Server Hello分成两个包发送。

ssl协议安全性分析,更高层,更安全

ssl协议安全性分析,更高层,更安全

4.3 客户端回应

ssl协议安全性分析,更高层,更安全

客户端收到服务器回应以后,首先验证服务器证书。如果有以下问题:

证书不是可信机构颁布或者证书中的域名与实际域名不一致或证书已经过期这时就会向访问者显示一个警告,由用户选择是否还要继续通信。

如果证书没有问题,客户端就会从证书中取出服务器的公钥,然后,向服务器发送以下信息:

一个随机数,用服务器公钥加密,称为pre-master key。编码改变通知,表示随后的信息将用双方商定的加密方法 和密钥发送客户端握手结束通知,表示客户端的握手阶段已经结束。 这一项同时也是前面发送的所有内容的hash值,用来供服务器检验。

客户端与服务器同时有了三个随机数,接着双方就用事先商定的加密方法,各自生成本次会话所用的同一把”会话密钥“。

使用三次随机数,防止有的主机生成的只是伪随机数。

4.4 服务器回应

服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的”会话密钥“,然后给客户端发送下面信息:

本文关键词:ssl安全协议名词解释,ssl安全协议的主要功能,ssl协议有哪些安全问题,ssl协议安全性分析是什么,ssl协议的安全性机制指的是什么。这就是关于《ssl协议安全性分析,更高层,更安全》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 山谷中的 板书设计(教案中的板书设计模板)

下一篇: 充分必要条件口诀(一张图看懂充分必要条件)



推荐阅读