安全套接层SSL协议简介
- 格式:doc
- 大小:23.41 KB
- 文档页数:21
SSL协议及其安全威胁分析一、SSL协议简述及相关概念1)SSL---安全套接层协议。
是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。
SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。
2)SSL协议可分两层:SSL记录协议:它建立在可靠的传输协议(如TCP)之上,位于SSL协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。
在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL记录来传送。
SSL握手协议:SSL中最复杂的部分,它建立在SSL记录协议之上,用于在实际的数据传输开始前,在会话状态下产生所需要的各种安全参数,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
二、SSL协议工作原理(1)客户端服务器发送一个开始信息以便开始一个新的会话连接,协商传送加密算法。
例如:告知服务端,客户端自己的对称加密算法有DES、RC5,自己的密钥交换算法有RSA 和DH,摘要算法有MD5和SHA。
(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的信息时将包含生成主密钥所需的信息,并发送服务器数字证书。
例如:告知客户端,服务器就使用DES-RSA-MD5这对组合进行通讯,为了证明“我”确实是服务器,现在就发送“我”的数字证书给客户端,以便于验证服务器的身份。
(3)客户端根据收到的服务器响应信息,检查服务器的数字证书是否正确,通过CA机构颁发的证书及CA的公钥对服务器证书进行解密,获得服务器公钥,然后产生一个主密钥,并用服务器的公钥加密后传给服务器。
例如:服务器,“我”已经确认了你的身份,现在把我们本次通讯中的密钥发送给你。
SSL协议和SET协议的区别SSL协议和SET协议是两种常用的安全协议。
虽然SSL协议和SET协议都是用来提供安全的数据通信,但它们有很大的区别。
本文介绍SSL协议和SET协议的区别。
SSL协议(Secure Socket Layer,安全套接层)是一种用于保护Internet通信安全的协议。
SSL协议在Web浏览器和Web服务器之间建立安全的连接,保证数据传输的机密性、完整性和可信性。
SSL协议是一种公开的加密技术标准,广泛应用于Web浏览器、电子邮件等Internet应用中。
SET协议(Secure Electronic Transaction,安全电子交易)是一种用于保护数字支付安全的协议。
SET协议可以对信用卡等支付信息进行加密和认证,确保数字支付的安全。
SET协议是由Visa、Mastercard等国际信用卡组织共同制定的,目前已经成为保障数字支付安全的国际标准。
SSL协议使用的加密方式是使用对称密钥和非对称密钥相结合的方法。
在SSL协议中,客户端需要向Web服务器发送一个加密的请求,Web服务器则会通过非对称加密的方式将一个公有密钥传输给客户端,客户端再利用这个公钥来为对称加密密钥进行加密,然后将加密后的对称加密密钥发送给Web服务器,最后Web服务器使用该密钥进行数据的加密和解密。
SET协议采用的则是完全的非对称加密方式。
在SET协议中,支付信息由客户端使用公共密钥进行加密,并将加密后的支付信息发送给卖家的Web服务器。
卖家的Web服务器则使用自己的私有密钥对支付信息进行解密,以此保证数字支付的安全。
SSL协议主要用于保护Web通信安全。
SSL协议适用于一次性数据传输过程中的安全保护,如在浏览器和服务器间进行账号密码、支付信息传输等,并不适合长时间开启的数据流(可能是下载、上传、数据传输等)。
同时SSL协议只能对顶级服务器进行证书认证,不能对具体业务进行验证,因此并不能完全避免中间人攻击的风险。
SSL3.0是SSL(安全套接字层)协议的第三个版本。
该协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。
SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
然而,随着时间的推移,SSL3.0也被证明是不安全的,因此对于使用SSL3.0的网站,很多浏览器都已停止支持,建议网站尽快升级至更加安全的TLS协议。
safe协议安全传输协议(Secure Socket Layer,简称SSL),又称安全套接层协议,是一种网络传输协议,可以保证互联网通信安全和数据的完整性。
SSL协议是一种非常重要的协议,它可用于各种安全保护需要的场合,比如银行、电子商务和在线支付等。
SSL协议的基本原理是使用非对称加密和对称加密结合的方式,通过验证证书、数据加密和通信链路的保护,来保证数据在传输过程中的安全。
其对称加密算法使用的是RC4、AES等算法,而非对称加密算法则使用的是RSA、DSA等算法。
在使用SSL协议进行通信的时候,不仅数据传输过程中被加密了,而且数据在传输的过程中还需要进行验证,以确保数据的完整性和正确性。
SSL协议的工作原理:传输层安全性协议SSL主要工作在传输控制协议(TCP)层之后。
在SSL会话开始时,客户端通过与服务器端的一次三次握手协议进行身份验证和服务器认证,然后进行密钥协商过程,得到一个用于加密和解密的密钥。
随后,所有通信数据将使用该密钥进行加密,确保数据的安全性。
同时,SSL协议还支持数字证书机制,以保证服务器的身份验证和数据传输的完整性。
数字证书是由第三方机构颁发的,包含服务器公钥和一些认证信息。
SSL协议的优势:SSL协议最大的优势是其强大的加密能力和数据验证能力。
在使用SSL协议进行通信时,可以保证通信双方之间的数据传输私密和数据完整性的同时,也能够保证通信双方的身份不被伪造或者冒充。
此外,SSL协议也可以防范中间人攻击等常见的网络攻击方式,因为SSL协议可以强制要求客户端验证服务端的身份,而且还可以使用数字证书来进行验证和加密。
SSL协议的应用:随着互联网的发展,SSL协议的应用也越来越广泛。
常见的应用包括:网络安全检测和预警系统、电子商务、在网上进行支付和贸易、移动安全业务、APP安全等等。
在进行网络通讯和传输数据时,若使用了SSL协议,会提高数据的传输速度和可靠性,同时也能保证通信的可控性和私密性,防范网络攻击和信息泄露的风险。
引言SSL是一种在客户端和服务器端之间建立安全通道的协议。
SSL一经提出,就在Internet上得到广泛的应用。
SSL最常用来保护Web的安全。
为了保护存有敏感信息Web的服务器的安全,消除用户在Internet上数据传输的安全顾虑。
OpenSSL是一个支持SSL认证的服务器.它是一个源码开放的自由软件,支持多种操作系统。
OpenSSL软件的目的是实现一个完整的、健壮的、商业级的开放源码工具,通过强大的加密算法来实现建立在传输层之上的安全性。
OpenSSL包含一套SSL 协议的完整接口,应用程序应用它们可以很方便的建立起安全套接层,进而能够通过网络进行安全的数据传输。
2 SSL协议概述SSL 是Secure socket Layer英文缩写,它的中文意思是安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。
SSL协议是网景公司(Netscape)推出的基于 WEB应用的安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即确保数据的完整性。
SSL 以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1)秘密性: SSL客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。
( 2)完整性: SSL利用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。
(3)认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。
为了验证证书持有者是其合法用户(而不是冒名用户), SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。
SSL技术详解手册SSL技术详解手册SSL(安全套接层)是一个基于标准的加密协议,提供加密和身份识别服务。
SSL广泛应用于在互联网上提供加密的通讯。
SSL最普通的应用是在网络浏览器中通过HTTPS实现的。
然而,SSL是一种透明的协议,对用户基本上是不可见的,它可应用于任何基于TCP/IP的应用程序。
本技术手册将介绍SSL协议的作用和使用,包括如何配置具有SSL保护的FTP服务器,企业如何生成可信SSL证书等内容。
SSL协议基础知识SSL(安全套接层)是一个基于标准的加密协议,提供加密和身份识别服务。
SSL广泛应用于在互联网上提供加密的通讯。
由于SSL所处的位置,SSL能够向客户机提供有选择地保护单一应用程序的能力,而不是对整个一组应用程序进行加密。
那么SSL究竟处于什么位置,起到什么作用?详解SSL协议S SL协议使用的最新测试细节SSL服务提供的安全保护如何通过Internet在两个服务器间建立进行通讯的SSL连接?如何配置具有SSL保护的FTP服务器?又该如何通过启用Exchange 2010 SSL减负功能,优化Exchange 2010各访问协议和客户端访问服务连接到CAS服务器的负载?创建服务器间的SSL连接如何配置具有SSL保护的FTP服务器?通过SSL发送的电子邮件是否需要加密E xchange 2010 SSL减负功能全面配置指南如何生成可信SSL证书许多用户和一些企业过分得依赖SSL,认为SSL是网络安全的万能药。
然而,在网站上使用SSL时并不能使企业免受所有网络安全漏洞的影响,即使在最佳的情况下SSL也只是在客户和服务器之间提供了加密的链接。
S SL漏洞:企业如何生成可信SSL证书(上)S SL漏洞:企业如何生成可信SSL证书(下)详解SSL协议问:我经常听人们说SSL位于网络层和应用层之间,这是什么意思?答:这是一个非常好的问题。
我想回答这个问题的最好方法是从检查协议的目的开始。
安全套接层SSL协议简介SSL(Secure Sockets Layer)协议最先是由著名的Netscape公司开发的,现在被广泛用于Internet上的身份认证与Web服务器和用户端浏览器之间的数据安全通信。
制定SSL协议的宗旨是为通信双方提供安全可靠的通信协议服务,在通信双方间建立一个传输层安全通道。
SSL使用对称加密来保证通信保密性,使用消息认证码(MAC)来保证数据完整性。
SSL主要使用PKI在建立连接时对通信双方进行身份认证。
IETF的传输层安全(TLS)协议(RFC 2246 1999)及无线访问协议(WAP)论坛的无线传输层安全协议(WTIS)都是SSI的后续发展。
协议包括两个层次:其较低的SSL记录层协议位于传输协议TCP/IP之上。
SSL记录协议用来对其上层的协议进行封装。
握手协议就在这些被封装的上层协议之中,它允许客户端与服务器彼此认证对方;并且在应用协议发出或收到第一个数据之前协商加密算法和加密密钥。
这样做的原因就是保证应用协议的独立性,使低级协议对高级协议是透明的。
目前,Internet上对7层网络模型的每一层都已提出了相应的加密协议。
在所有的这些协议中,会话层的SSL和应用层的SET与电子商务的应用关系最为密切。
因此,SSL已成为用户与Internet之间进行保密通信的事实标准,支持SSL也已经成为每个浏览器的内置功能。
SSL包括握手和记录两个子协议。
这两个子协议均可以提供与应用尤其是与HTTP的连接。
这种连接经过了认证和保密,可以防止篡改。
SSL可以嵌入Internet的处理栈内,位于TCP/IP之上和应用层之下,而不会对其他协议层造成太大影响。
SSL同样能够与其他Internet应用一起使用,如Intranet和Extranet访问、应用安全、无线应用及Web服务等。
通过对离开浏览器的数据进行加密,并在其进入数据中心之后进行解密,SSL实现对Internet的数据通信进行保护。
SSL对话是由连接和应用组成的。
在连接对话期间,客户机和服务器交换证书并就安全参数进行磋商。
如果客户机接受服务器的证书,就会建立一个主密钥,这个主密钥将被用来对随后进行的通信进行加密。
在应用对话期间,客户机和服务器之间可以安全地传递信息,如信用卡号、股票交易数据、个人医疗数据以及其他敏感数据。
SSL提供以下三种机制以确保安全:认证,能够对服务器或连接各端的客户机和服务器进行认证;保密,能够对信息进行加密,只有交流信息的双方才能访问并理解加密信息;完整性,可以防止信息内容在未经检测的情况下被修改,接收方可以确信他们收到的是无法进行修改的信息。
保密通信过程中的一个关键步骤就是对双方身份进行认证。
SSL握手子协议就具有之一功能。
服务器与客户机之间的以下举动可以使认证动作变得更快捷:客户机对服务器进行认证;让客户机和服务器选择所需要的密码算法和安全水平;服务器有选择地对客户机进行认证;使用公共密钥密码生成可以共享的密钥,随后利用这些密钥传输真正的保密数据;建立SSL连接。
SSL记录子协议负责加密数据的传送。
以下动作可以使数据传送变得更快捷:数据被分解成小的可以使用的块,称作片断;通过一个具有完整性的“包装纸”使数据不被修改;数据加密后就可以贴上“包装纸”了。
以往,电子商务的许多应用是不进行客户机认证的。
不过,目前各公司都将SSL作为一项协议供数据中心里的新应用使用。
对于基于SSL的VPN,以及那些需要对终端用户进行额外认证的应用而言,客户机认证正在成为一种趋势。
客户机认证使得服务器可以使用与允许客户机对服务器进行认证相同的技术,在协议之内对用户身份进行确认。
尽管两者认证的信息流极为不同,但是从概念上来看,其过程与服务器认证是相同的。
这一过程同样也会在SSL握手子协议之内进行。
在这种情况下,客户机必须向服务器提供有效的证书。
服务器可以通过使用公共密钥密码学的标准技术对终端用户的有效性进行认证。
SSL所具有的灵活性和强劲的生命力使其无所不在。
可以预言的是,在SSL成为企业应用、无线访问设备、Web服务以及安全访问管理的关键性协议的同时,SSL的应用将继续大幅度增长。
下面论述SSL原理和工作过程。
11.6.1 SSL协议概述1.SSL协议的作用SSL是提供Internet上的通信隐私性的安全协议。
该协议允许客户端/服务器应用之间进行防窃听、防消息篡改及防消息伪造的安全的通信。
TCP/IP是整个Internet数据传输和通信所使用的最基本的控制协议,在它之上还有HTTP(Hypertext Transfer Protocol)、LDAP(Lightweight Directory AccessProtoco1)、IMAP(Internet Messaging Access Protocol)等应用层传输协议。
而SSL是位于TCP/IP和各种应用层协议之间的一种数据安全协议(如图1l-8所示)。
SSL协议可以有效地避免网上信息的偷听、篡改及信息的伪造。
图11-8 SSL协议的位置SSL标准的关键是要解决以下几个问题。
(1)客户对服务器的身份确认:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性(检验服务器的证书和ID的合法性)。
对于用户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。
(2)服务器对客户的身份确认:允许SSL服务器确认客户的身份,SSL协议允许客户服务器的软件通过公钥技术和可信赖的证书来确认客户的身份(客户的证书)。
对于服务器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。
(3)建立起服务器和客户之间安全的数据通道:SSL要求客户和服务器之间所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。
同时SSL协议会在传输过程中检查数据是否被中途修改。
2.SSL协议的目标按它们的优先级,SSL协议的目标如下。
(1)在通信双方之间利用加密的SSL消息建立安全的连接。
(2)互操作性。
通信双方的程序是独立的,即一方可以在不知道对方程序编码的情况下,利用SSL成功地交换加密参数。
注意:并不是所有的SSL实例(甚至在同一应用程序内)都可以成功地连接。
例如,如果服务器支持一特定的硬件令牌(token),而客户端不能访问此令牌,则连接不会成功。
(3)可扩展性。
SSL寻求提供一种框架结构,在此框架结构中,在不对协议进行大的修改的情况下,可以在必要时加入新的公钥算法和单钥算法。
这样做还可以实现两个子目标:—避免产生新协议的需要,因而进一步避免了产生新的不足的可能性;—避免了实现一完整的安全协议的需要。
相对于有效性加密操作,尤其是公钥加密,对CPU来说是一种很耗时的事,因此SSL协议引入一个可选的对话缓存(Cache)来减少从头开始的连接数目。
同时,它还注意减少网络的活动。
3.SSL主要组成SSL协议由两层组成,分别是握手协议层和记录协议层。
握手协议建立在记录协议之上,此外,还有警告协议、更改密码说明协议和应用数据协议等对话协议和管理提供支持的子协议。
SSL协议的组成及其TCP/IP中的位置如图11-9所示。
图11-9 SSL协议的组成及其在TCP/IP中的位置在图11-9中的每一层,可以包括长度、描述和内容字段。
SSL发出消息是将数据分为可管理的块、压缩、使用MAC 和加密并发出加密的结果。
接受消息需要解密、验证、解压和重组,再把结果发往更高一层的客户。
(1)记录协议具体实现压缩/解压缩、加密/解密、计算机MAC等与安全有关的操作。
建立之上的还有:—更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护;接收方获得此消息后,立即指示记录层把即将读状态变成当前读状态;发送方发送此消息后,应立即指示记录层把即将写状态变成当前写状态。
—警告协议:警告消息传达消息的严重性并描述警告。
一个致命的警告将立即终止连接。
与其他消息一样,警告消息在当前状态下被加密和压缩。
警告消息有以下几种:关闭通知消息、意外消息、错误记录MAC消息、解压失败消息、握手失败消息、无证书消息、错误证书消息、不支持的证书消息、证书撤回消息、证书过期消息、证书未知和参数非法消息等。
—应用数据协议:将应用数据直接传递给记录协议。
(2)握手协议SSL握手协议是用来在客户端和服务器端传输应用数据而建立的安全通信机制。
—算法协商:首次通信时,双方通过握手协议协商密钥加密算法、数据加密算法和文摘算法。
—身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。
—确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器端各自根据这个秘密信息确定数据加密算法的参数(一般是密钥)。
由此可见,SSL协议是端对端的通信安全协议。
11.6.2 SSL的工作原理SSL的工作原理:当一个使用者在Web上用Netscape浏览器漫游时,浏览器利用HTTP协议与Web服务器沟通。
例如,浏览器发出一个HTTP GET命令给服务器,想下载一个首页的HTML档案,而服务器会将档案的内容传送给浏览器来响应。
GET这个命令的文字和HTML档案的文字会通过会话层(Socket)的连接来传送,Socket使两台远程的计算机能利用Internet来通话。
通过SSL,资料在传送出去之前就自动被加密了,它会在接收端被解密。
对没有解密钥的人来说,其中的资料是无法阅读的。
SSL采用TCP作为传输协议提供数据的可靠传送和接收。
SSL工作在Socket层上,因此独立于更高层应用,可为更高层协议,如Telnet、FTP和HTTP提供安全业务。
SSL提供的安全业务和TCP层一样,采用了公开密钥和私人密钥两种加密体制对Web服务器和客户机(选项)的通信提供保密性、数据完整性和认证。
在建立连接过程中采用公开密钥,在会话过程中使用私人密钥。
加密的类型和强度则在两端之间建立连接的过程中判断决定。
在所有情况下,服务器通过以下方法向客户机证实自身:给出包含公开密钥的、可验证的证明;演示它能对用此公开密钥加密的报文进行解密。
为了支持客户机,每个客户机都要拥有一对密钥,这要求在Internet上通过Netscape分配。
由于Internet中的服务器数远少于客户机数,因此能否处理签字及密钥管理的业务量是很重要的,并且与客户联系比给商家以同样保证更重要。
SSL协议提供的服务可以归纳为如下3个方面。
(1)用户和服务器的合法性认证使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。