安全协议工程之SSL协议分析(doc 15页)
安全套接层协议(SSL)
安全套接层协议(SSL)安全套接层协议,全称Secure Socket Layer,是一种保护网络通信安全的协议。
它通过使用加密技术,确保在传输过程中的数据安全,并防止被窃取、篡改或伪造。
SSL协议广泛应用于互联网上的各类信息传输,特别是在涉及敏感数据的场景下,如在线支付、电子商务和个人隐私保护等。
本文将介绍SSL协议及其工作原理、优势以及应用等相关内容。
一、SSL协议的工作原理SSL协议采用一种加密通信方式,来确保信息在网络中传输的安全性。
其工作原理可以分为三个主要步骤:1. 握手阶段(Handshake):在通信双方建立连接之前,首先需要进行握手,以确保彼此身份的合法性,并确定加密通信所使用的密码算法和密钥。
该阶段包括以下步骤:- 客户端向服务器发送握手请求。
- 服务器向客户端回复证书,用于证明其身份。
- 客户端验证服务器证书的合法性,并生成一个随机的对称密钥。
- 客户端使用服务器的公钥对对称密钥进行加密,并发送给服务器。
- 服务器使用自己的私钥解密对称密钥,确保只有服务器才能获取到该密钥。
2. 密钥交换阶段(Key Exchange):握手阶段完成后,客户端和服务器将使用协商好的对称密钥来加密和解密通信数据。
该阶段包括以下步骤:- 客户端向服务器发送加密的握手消息,表明已准备好使用对称密钥进行通信。
- 服务器接收到消息后,也使用对称密钥加密回复握手消息。
3. 加密通信阶段(Secure Communication):密钥交换阶段完成后,双方开始使用已协商好的对称密钥进行加密和解密通信数据,确保数据的机密性和完整性。
二、SSL协议的优势使用SSL协议对网络通信进行保护具有以下优势:1. 数据加密:SSL协议使用加密算法对通信数据进行加密,使得被窃取后的数据无法被解读。
只有具备正确密钥的接收方才能解密并读取数据,大幅提高了数据的安全性。
2. 身份验证:SSL协议通过证书机制对服务器进行身份验证,确保通信双方的合法性。
什么是SSL安全协议
什么是SSL安全协议SSL安全协议(Secure Sockets Layer)是一种加密协议,用于确保在互联网上传输的数据的安全性。
它是在1994年由网景公司(Netscape)开发出来的,现在已经成为互联网上加密通信的标准。
SSL协议的基本原理是通过使用公钥加密和对称密钥加密相结合的方式来保护数据的传输安全。
在使用SSL协议进行数据传输时,有三个基本步骤:1.握手阶段:在握手阶段,客户端和服务器之间进行一系列的通信以建立安全连接。
首先,客户端发送一个请求连接的消息给服务器。
服务器会返回一份数字证书,其中包含了服务器的公钥。
客户端验证这个证书的合法性,并且生成一个用于后续通信的对称密钥,并且使用服务器的公钥对其进行加密。
之后,客户端将加密后的对称密钥发送给服务器。
2.密钥交换阶段:在密钥交换阶段,客户端和服务器使用之前握手阶段协商好的对称密钥进行加密通信。
使用对称密钥进行加密通信可以保证数据的机密性和完整性,因为对称密钥只有客户端和服务器知道。
3.终止连接阶段:在终止连接阶段,客户端和服务器结束通信。
他们可以选择继续使用现有的连接进行后续的通信,或者关闭连接。
SSL协议使用了多种加密算法来保证数据的安全性。
一般来说,它使用对称加密算法(如AES、3DES等)来加密数据,使用公钥加密算法(如RSA)来加密对称密钥的传输。
此外,SSL协议还可以使用消息认证码(MAC)来确保数据在传输过程中没有被篡改。
SSL的安全性还受到数字证书的保护。
数字证书是由可信任的第三方机构(如证书颁发机构)签发的,用于验证服务器的身份。
通过验证数字证书,客户端可以确保与服务器建立的连接是安全可信的。
SSL协议的应用广泛,几乎所有的网站和应用程序都使用SSL协议来保护用户的数据安全。
它可以加密用户的登录信息、信用卡号码、个人隐私信息等敏感数据,防止黑客窃取或篡改数据。
除了数据安全外,SSL协议还有其他一些重要的功能。
例如,它可以验证服务器的身份,防止中间人攻击。
ssl协议是什么
ssl协议是什么
SSL(Secure Sockets Layer)协议是一种安全的网络通
信协议,主要用于在互联网上加密传输数据,保障数据传输安全。
其作用在于对数据进行加密,从而避免第三方截取或篡改传输的数据。
SSL协议的基本原理是借助公私钥的加密方式,通过服务器和客户端之间的加密信息交换,确保数据的机密性、完整性和真实性。
在SSL的通信过程中,客户端向服务器发起连接请求,服务器通过发送证书验证其身份,并向客户端发送公钥。
客户端在收到服务器的证书之后,通过证书中的公钥加密一个称为“握手密钥”的随机数,并将其传送到服务器,以确保信息要素不被第三方截获。
服务器再通过自己的私钥进行解密,得到握手密钥,从而建立安全连接,之后双方就可以在加密的通道上自由传输数据。
SSL协议是互联网上广泛使用的安全通信协议,主要应用于网页浏览、邮件传输、即时通讯等多个领域。
不仅能够有效地保护用户数据的安全,还可以防止黑客窃取信息或篡改数据。
SSL协议对于保障互联网的安全和稳定具有重要作用,应用将
会越来越广泛,成为互联网安全的重要标志之一。
SSL协议安全缺陷分析
第
6
20 0
拳 期 6 第月 年1 2
计 算 机 技术 与发 展
C OMP E TE HN O ND DE L M E T UT R C OL GY A VE OP N
Vo , 6 No 1 l1 .2 De . 2 0 c 0 6
及机密性等安全措施 , 为网络上的客户机 务器提供 了
一
个实际的、 应用层的、 面向连接的安全通信机制。 19 年, e cp 公 司发布 了 S L3 0 该版本增加 96 N tae s S .,
MA 、 C 加密的计算参数。当客户端发起 S L会话 后 , S 通过 握手协议, 双方协商随后通信 中使用 的协议版本 、 密码算 法, 彼此互相鉴别验证 , 使用公开密钥密码技术协商产生 共享密钥。典型的握手过程如下 : () 1 客户端发送第一条消息 cethl , ln— eo其中包含 了 i l 客户端所推荐的加密参数 , 包括它准备使用的加密算法 。 此外, 还包括一个在密钥产生过程中使用的随机值 。 () 2 服务器以三条消息进行响应 : 首先发送选择加密 与压缩算法 的 s vr hl, e e— eo这条消息包 含一个从服务 器 r l 过来的随机值。然后 , 服务器发送 crfa 消息 , eti t i e c 其中包
adatcs ntep tc1 A&odn ee le it s a opeeto rvmet ug sos n t k r oo. a o h o r i t t s nmbli , l rsn mempoe n g et n。whc i me eeecsO g o h ma ie s s i s i ihgv s frn e ec r t
LI e,HOU h n - n i W Z e gf g e
ssl安全协议书
ssl安全协议书甲方(以下简称“甲方”):地址:联系电话:法定代表人:乙方(以下简称“乙方”):地址:联系电话:法定代表人:鉴于甲方需要在互联网上提供安全的通信服务,乙方作为专业的网络安全服务提供商,双方本着平等自愿、诚实信用的原则,经协商一致,就SSL安全服务达成如下协议:第一条服务内容1.1 乙方将为甲方提供SSL证书服务,确保甲方网站的数据传输安全。
1.2 乙方保证所提供的SSL证书由权威证书颁发机构签发,具有合法性和有效性。
第二条服务期限2.1 本协议自双方签字盖章之日起生效,有效期为一年。
2.2 服务期满前30日内,甲方有权选择续签或终止服务。
第三条服务费用3.1 甲方应支付乙方SSL证书服务费用,具体金额为人民币_______元。
3.2 服务费用应在本协议签订后五个工作日内一次性支付给乙方。
第四条甲方的权利和义务4.1 甲方有权要求乙方按照约定提供SSL证书服务。
4.2 甲方应按时支付服务费用,并确保其网站内容合法、不侵犯他人合法权益。
4.3 甲方应妥善保管SSL证书,并不得将SSL证书用于非法用途。
第五条乙方的权利和义务5.1 乙方有权按照约定收取服务费用。
5.2 乙方应按照约定提供SSL证书服务,并保证服务的稳定性和安全性。
5.3 乙方应协助甲方解决在服务过程中遇到的技术问题。
第六条保密条款6.1 双方应对在本协议履行过程中知悉的对方商业秘密予以保密,未经对方书面同意,不得向第三方披露。
第七条违约责任7.1 如一方违反本协议约定,应承担违约责任,并赔偿对方因此遭受的损失。
第八条争议解决8.1 双方因履行本协议发生争议,应首先通过友好协商解决;协商不成时,可提交甲方所在地人民法院诉讼解决。
第九条其他9.1 本协议的修改和补充应以书面形式进行,并经双方授权代表签字盖章后生效。
9.2 本协议一式两份,甲乙双方各执一份,具有同等法律效力。
甲方(盖章):_________________ 乙方(盖章):_________________法定代表人(签字):_________________ 法定代表人(签字):_________________签订日期:____年____月____日签订日期:____年____月____日(此协议书模板仅供参考,具体条款应根据实际情况调整。
安全协议SSL
1.2 SSL的体系结构(续)
2. SSL记录协议 在SSL中,数据传输使用SSL记录协议来实现。记录协
议将数据流分割成一系列片断,并对每个片断单独进行 保护,然后加以传输。在接收方,对每条记录单独进行 解密和验证。这种方案使得数据一经准备好就可以从连 接的一端传送到另一端,接收到就可以立即进行处理。
1) 客户端与服务器对保护数据的算法达成一致; 2) 对算法使用的加密密钥达成一致; 3) 确定是否对客户端进行认证。
1.2 SSL的体系结构(续)
图8.15说明了握手的步骤
1) 所支持的加密算法,随机数
客 2) 选中的加密算法,随机数证书
客
户 端
(3)加密后的随机密码串
户 端
4) 计算密码
4) 计算密码
记录头 加密的数据和MAC 记录头 加密的数据和MAC
图8.16 SSL数据的分段与保护
1.2 SSL的体系结构(续)
图8.17给出了用DES分组密码加密的SSL记录范例。 头信息用白色来表示,经过加密的负载用深色表示。该 范例使用MD5来产生MAC,因此需要对记录进行填充, 以适应DES的分组长度。
1.2 SSL的体系结构(续)
SSL采用两层协议体系,如图8.14所示。该协议包含两
个部分:SSL 握手协议(SSL Handshake protocol)
和SSL 记录协议(SSL Record protocol)。前者负责
通信前的参数协商,后者定义SSL的内部数据格式。其
中SSL 握手协议由三个子协议构成,它们是改变密码规
类型 版本 长度
(完整版)SSL协议详解
背景介绍最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。
在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。
1、密码学的相关概念•密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。
•明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。
•密文(cipher text):明文消息经过某种编码后,得到密文消息。
•加密(encryption):将明文消息变成密文消息。
•解密(decryption):将密文消息变成明文消息。
•算法:取一个输入文本,产生一个输出文本。
•加密算法:发送方进行加密的算法。
•解密算法:接收方进行解密的算法。
•密钥(key):只有发送方和接收方理解的消息•对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。
•非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥。
2、相关的加密算法介绍DES算法即数据加密标准,也称为数据加密算法。
加密过程如下:在SSL中会用到分组DES、三重DES算法等加密算法对数据进行加密。
当然可以选用其他非DES加密算法,视情况而定,后面会详细介绍。
3、密钥交换算法使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。
Diffie-Hellman密钥交换算法原理:(1)Alice与Bob确定两个大素数n和g,这两个数不用保密(2)Alice选择另一个大随机数x,并计算A如下:A=gx mod n(3)Alice将A发给Bob(4)Bob选择另一个大随机数y,并计算B如下:B=gy mod n(5)Bob将B发给Alice(6)计算秘密密钥K1如下:K1=Bx mod n(7)计算秘密密钥K2如下:K2=Ay mod nK1=K2,因此Alice和Bob可以用其进行加解密RSA加密算法是基于这样的数学事实:两个大素数相乘容易,而对得到的乘积求因子则很难。
SSL安全协议
SSL安全协议SSL安全协议(Secure Socket Layer,简称SSL)是一种加密通信协议,用于确保在Internet上进行的数据传输的安全性。
SSL在互联网上的广泛应用,主要是为了保护用户在网上进行的交易及敏感信息的传输,如在线银行、电子商务、电子邮件等。
SSL协议基于非对称加密算法和对称加密算法,采用了一系列技术手段来确保数据的传输安全。
其主要特点包括:1.数据加密:SSL通过使用非对称加密算法(RSA)和对称加密算法(DES、3DES、AES等)来对通信数据进行加密。
非对称加密算法用于交换对称加密算法的密钥,而对称加密算法用于加密和解密传输的数据。
这样,即使在被截获的情况下,黑客也无法轻松破解加密的数据。
2.数据完整性:SSL使用消息摘要算法(MD5、SHA-1等)来计算通信数据的摘要值,将其与发送的数据一起传输。
接收方在接收数据后重新计算数据的摘要值,并将其与传输过来的摘要值进行比对。
如果摘要值一致,证明数据没有被篡改;如果不一致,则证明数据可能被篡改,通信被劫持。
3.身份认证:SSL借助数字证书来对通信双方进行身份认证。
数字证书是由公共证书颁发机构(CA)签发的,其中包含了服务器的公钥,以及一些其他信息。
客户端在收到服务器的数字证书后,会对证书进行验证,以确保服务器的合法性。
4.综合保护:在数据加密、数据完整性、身份认证等功能之外,SSL还提供了会话密钥的创建与管理、会话过期与续订、会话密钥的传输保护等一系列综合保护功能,确保整个通信过程的安全性。
SSL协议的运作过程如下:1.客户端发起SSL连接请求:客户端向服务器发起SSL连接请求,并发送自己的支持的加密算法。
2.服务器回应:服务器收到客户端的连接请求后,决定是否接受SSL连接。
如果接受,则回应并发送自己的数字证书给客户端。
3.客户端验证证书:客户端先验证服务器的数字证书是否有效。
如果有效,则继续进行下一步;否则,客户端会弹出警告信息,询问用户是否继续连接。
ssl协议分析
SSL协议分析2906303015 马德元摘要:SSL是一种在客户端和服务器端之间建立安全通道的协议。
SSL一经提出,就在Internet上得到广泛的应用。
SSL最常用来保护Web的安全。
为了保护存有敏感信息Web的服务器的安全,消除用户在Internet上数据传输的安全顾虑。
Open SSL是一个支持SSL认证的服务器.它是一个源码开放的自由软件,支持多种操作系统。
Open SSL软件的目的是实现一个完整的、健壮的、商业级的开放源码工具,通过强大的加密算法来实现建立在传输层之上的安全性。
Open SSL包含一套SSL协议的完整接口,应用程序应用它们可以很方便的建立起安全套接层,进而能够通过网络进行安全的数据传输。
SSL is a client and server is established between the security channel protocol. SSL is put forward, it has been widely used in Internet. SSL most commonly used to protect the security of Web. In order to protect sensitive information being Web server security, remove users in Internet data transmission security concerns. Open SSL is a SSL authentication server. It is an open source free software, support for multiple operating system. Open SSL software is designed to achieve a complete, robust, commercial open source tools, through a strong encryption algorithm to achieve the established in the transport layer security. Open SSL contains a set of SSL protocol complete interface, applications and they can be very convenient to establish secure sockets layer, and then through the network secure data transmission.SSL协议概述SSL 是Secure socket Layer英文缩写,它的中文意思是安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。
SSL安全协议
SSL安全协议SSL(Secure Sockets Layer)安全协议是一种用于保护互联网通信安全的协议。
它通过在通信双方之间建立加密连接,确保数据在传输过程中不被窃取或篡改。
SSL协议的出现极大地提高了互联网通信的安全性,被广泛应用于网站、电子邮件、即时通讯等领域。
首先,SSL协议通过加密技术保护数据的安全。
在SSL连接建立过程中,通信双方会进行握手,协商加密算法和密钥,然后使用密钥对数据进行加密和解密。
这样即使数据被截获,黑客也无法解密其内容,有效地保护了数据的机密性。
其次,SSL协议通过数字证书验证通信双方的身份。
数字证书是一种由权威机构颁发的电子证明,用于证明网站的真实性和所有者身份。
通信双方在建立SSL连接时,会相互验证对方的数字证书,确保通信的合法性和可信度。
这有效地防止了中间人攻击和伪造网站的风险。
此外,SSL协议还能够提供完整性保护,防止数据在传输过程中被篡改。
通过使用消息摘要算法,SSL可以对数据进行完整性校验,确保数据在传输过程中没有被篡改。
这样可以有效地防止数据被篡改或损坏,保证数据的完整性和可靠性。
总的来说,SSL安全协议在互联网通信中起着至关重要的作用。
它通过加密技术、身份验证和完整性保护,确保了通信的安全性和可靠性。
在当今信息化社会,SSL协议已成为保障网络安全的重要基础设施,为用户和企业提供了可靠的数据保护和通信保障。
然而,随着互联网技术的不断发展,SSL协议也面临着一些挑战和漏洞。
例如,曾经出现过一些SSL协议版本存在安全漏洞的情况,导致黑客可以利用这些漏洞进行攻击。
因此,及时更新SSL协议版本,修复安全漏洞,加强SSL配置和管理,对于保障通信安全至关重要。
综上所述,SSL安全协议是保护互联网通信安全的重要手段,它通过加密技术、身份验证和完整性保护,确保了通信的安全性和可靠性。
在使用SSL协议时,我们需要注意及时更新版本,修复安全漏洞,加强配置和管理,以确保通信的安全和可靠。
SSL协议
介绍SSL协议的概念和作用SSL(Secure Socket Layer)协议是一种用于保护网络通信安全的协议。
它建立在传输层(Transport Layer)之上,为应用层(Application Layer)提供安全性和数据完整性。
SSL协议的主要作用是通过加密通信和身份验证,确保在互联网上进行的数据传输不被篡改或窃取。
SSL协议采用了公钥加密和对称密钥加密相结合的方式,以保证通信的安全性。
它使用公钥加密算法对通信双方进行身份验证,并协商生成临时的对称密钥,用于加密传输的数据。
这种方式既保证了通信的机密性,又提供了数据完整性和身份验证的功能。
SSL协议广泛应用于各种互联网通信场景,包括网页浏览、电子邮件、即时通信和电子商务等。
在网页浏览中,通过使用SSL协议,浏览器和网站之间的通信可以得到保护,确保用户的敏感信息(如密码、信用卡号等)在传输过程中不会被恶意获取。
在电子商务中,SSL协议的使用可以建立安全的在线支付通道,提供安全的交易环境。
SSL协议的概念和作用对于理解网络安全和保护用户隐私具有重要意义。
随着互联网的普及和网络攻击的增加,SSL 协议的应用变得越来越重要。
同时,SSL协议也在不断发展和改进,以应对新的安全威胁和提供更强的保护机制。
SSL协议的工作原理和加密过程SSL协议的工作原理涉及到加密和解密、身份验证以及密钥协商等关键步骤。
下面将详细介绍SSL协议的工作原理和加密过程。
1.握手阶段:SSL通信的第一个阶段是握手过程。
在握手过程中,客户端和服务器之间进行以下步骤:•客户端向服务器发送一个SSL版本号和加密套件列表,表明客户端支持的加密算法和密钥长度等信息。
•服务器从客户端的加密套件列表中选择一组加密算法和密钥长度,并发送选定的加密套件信息给客户端。
•客户端和服务器之间进行身份验证,通常使用数字证书来验证服务器的身份。
•客户端生成一个随机数,用于生成会话密钥,并使用服务器的公钥对该随机数进行加密,然后发送给服务器。
SSL协议详解
SSL协议详解SSL(Secure Socket Layer)协议是一个用于保护互联网通信安全的协议。
它在数据传输过程中提供了数据的加密、认证和完整性验证等功能,以确保通信的机密性、身份鉴别和数据完整性。
下面是一个详细解析SSL协议的完整版,超过1200字。
首先,SSL协议是通过在传输层之上建立安全的通信通道来保证数据的安全性。
它有两个主要的部分:1.SSL握手协议:用于建立连接并进行身份验证。
2.SSL记录协议:用于加密和分段数据的传输。
SSL握手协议包括了以下几个步骤:1.客户端发送一个请求给服务器,请求加密连接。
2.服务器返回一个数字证书,证书中包含了服务器的公钥和其他相关信息。
3.客户端验证服务器的数字证书的合法性和有效性,如果验证成功则生成一个随机的对称密钥,使用服务器的公钥进行加密并将它发送给服务器。
4.服务器使用私钥解密收到的消息并得到对称密钥,然后与客户端发起的加密连接建立一个握手,之后使用对称密钥进行通信。
SSL记录协议包括了以下几个步骤:1.数据分段:将上层的数据分成较小的块,每个块使用一个标头来指示数据的类型和长度。
2.压缩:对数据进行压缩以减小数据的大小,提高传输速度。
3.加密:使用之前建立好的对称密钥对数据进行加密。
4.认证:在每个传输的数据块结尾附上一个数字签名,用于验证数据的完整性和认证发送方的身份。
SSL协议的安全性主要靠以下两个方面来保证:1.加密:通过使用非对称密钥和对称密钥来进行数据加密和解密,确保数据在传输过程中不会被窃取和篡改。
-非对称密钥:在握手阶段使用服务器的公钥对对称密钥进行加密,确保只有服务器能够解密并获取对称密钥。
-对称密钥:使用握手阶段生成的对称密钥对数据进行加密和解密,提高数据传输的效率。
2.身份验证和数字证书:通过使用数字证书来确保通信双方的身份真实有效。
-数字证书:由权威机构颁发的证书,包含了发送方的公钥和其他相关信息,通过验证数字证书的合法性来认证发送方的身份真实有效。
SSL协议的分析及实现
SSL协议的分析及实现SSL协议的分析及实现SSL协议是一种应用层协议,用于保护网络通信过程中的安全性。
SSL协议可以保证数据在传输过程中得到加密和认证,防止恶意攻击者篡改和窃取数据。
本文将从协议的概念、工作原理、实现机制等方面,对SSL协议进行详细的分析与实现。
一、SSL协议的概念SSL(Secure Sockets Layer)协议,是一种为网络通信提供安全及数据完整性的协议。
它采用了一系列的加密和认证算法,用于保护网络连接在数据传输的过程中不受攻击者的攻击。
SSL协议在TCP/IP协议的基础上,增加了数据加密、服务器认证、客户端身份验证等功能,大大增强了网络通信的安全性。
SSL协议最初由网景公司(Netscape Communications Corporation)开发,后被国际互联网工程任务组(IETF)纳入标准框架并进行了多次修订,成为TLS(Transport Layer Security)协议的前身。
二、SSL协议的工作原理1. SSL握手协议:作为一个基于TCP的协议,SSL协议的连接建立过程采用了一种特殊的握手(Handshake)协议。
在SSL握手协议阶段,客户端和服务器端进行一系列的通信,以达成共识建立网络连接。
其具体步骤如下:1. 客户端向服务器端发送一个ClientHello消息,其中包含了客户端支持的SSL/TLS版本、加密算法和随机数等信息。
2. 服务器端收到ClientHello消息后,向客户端发送一个ServerHello消息,其中包含服务器选择的SSL/TLS版本、加密算法和另一个随机数等信息。
3. 服务器端还需向客户端发送一个数字证书,证书包含一个公钥和证书颁发机构的签名等信息。
客户端可以通过此证书认证服务器的合法性。
4. 客户端收到证书后,通过证书中的公钥加密一个随机值,即Pre-master secret,并将其发送回服务器。
5. 服务器通过私钥解密Pre-master secret,并根据客户端和服务器端各自生成的随机数,生成一个共享密钥。
ssl协议是什么
ssl协议是什么1. SSL协议简介SSL协议 (Secure Sockets Layer Protocol),即安全套接层协议,是一种安全协议,用于对网络通信提供安全保障。
SSL协议最初由网景公司开发,现在由IETF维护标准。
通过在应用层和传输层之间建立安全连接,SSL协议保护了数据的机密性、完整性和认证。
SSL协议的作用是在客户端和服务器之间建立加密通道,使得数据在传输过程中不被窃取、篡改或伪造,从而保障通信的安全。
SSL协议已被广泛应用在互联网上的各种应用程序中,包括电子邮件、文件传输、网上购物和在线银行等。
SSL协议采用了一系列加密方法来保障通信的安全。
其中最常使用的加密方法是公开密钥加密(public-key cryptography)和对称密钥加密(symmetric-key cryptography)。
2. SSL协议的工作原理在使用SSL协议时,客户端和服务器首先需要进行握手,以建立安全连接。
握手过程包括以下几个步骤:第一步,客户端发送一个连接请求给服务器,并向服务器提供自己的SSL版本号和支持的加密方法列表。
第二步,服务器确认客户端的SSL版本号和加密方法,并向客户端发送一个证书,证书中包含了服务器的公钥以及相关信息。
第三步,客户端收到证书后,会验证证书的合法性,包括证书的颁发机构、有效期和服务器的域名等信息。
如果证书验证失败,则会终止连接。
第四步,一旦证书被验证通过,客户端生成一个随机数,用于生成对称密钥。
然后使用服务器的公钥对该随机数进行加密,并把加密后的结果发送给服务器。
第五步,服务器使用自己的私钥对客户端发送的加密随机数进行解密,获取到随机数,通过该随机数生成对称密钥。
第六步,客户端和服务器双方都使用对称密钥来加密和解密数据,从而保证数据在传输过程中的安全性和完整性。
3. SSL协议的优缺点SSL协议作为一种安全协议,在保障网络通信方面有着显著的优点和一些缺点。
优点:1) 数据的机密性:SSL协议采用加密算法对数据进行加密,确保数据在传输过程中不会被窃取。
05_SSL协议分析
SSL的会话与连接
在任意一对通信主体之间,可以有多个安全连接。
主要工作流程
1.网络连接建立,SSL客户端发送消息,消息中包含SSL版本号、密 码设置、可实现的算法列表、随机数以及服务器使用SSL协议通信 所需的其它信息; 2.SSL服务器端回应消息,确定SSL版本号、加密算法和压缩算法; 3.SSL服务器发出服务器数字证书; 4.SSL客户端的身份认证是可选的; 5.客户端生成预主密钥pre_master_secret,用服务器的公钥加密后 返回服务器,服务器利用自己的私钥解密后得到会话密钥;
SSL会话(session) 一个SSL会话是在客户与服务器之间的一个关联。会话由 Handshake Protocol创建。会话定义了一组可供多个连接共享的 密码安全参数。 会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。
连接1 连接2
……
连接n
会话
连接1 连接2 ……
连接n
客户端假冒
– 因为SSL协议设计初衷是对Web站点及网上交易进行安 全性保护,使消费者明白正在和谁进行交易要比使商 家知道谁正在付费更为重要,为了不致于由于安全协 议的使用而导致网络性能大幅下降, SSL协议并不是 默认地要求进行客户鉴别,这样做虽然有悖于安全策 略,但却促进了SSL的广泛应用。
– 针对这个问题,可在必要的时候配置SSL协议,使其选 择对客户端进行认证鉴别。
进程中主密钥泄漏
• 除非SSL的工程实现大部分驻留在硬件中,否则主密钥将 会存留在主机的主存储器中,这就意味着任何可以读取 SSL进程存储空间的攻击者都能读取主密钥,因此,不可 能面对掌握机器管理特权的攻击者而保护SSL连接,这个 问题要依靠用户管理策略来解决。
SSLTLS协议解析
SSLTLS协议解析SSL/TLS协议解析SSL/TLS(Secure Sockets Layer/Transport Layer Security)是一种网络通信协议,用于保护在互联网上进行的敏感数据传输。
在本文中,我们将深入解析SSL/TLS协议的工作原理、安全性以及常见应用场景。
一、SSL/TLS协议简介SSL/TLS协议是一种基于公钥密码学的安全协议,旨在确保互联网上的通信过程中的数据传输的机密性和完整性。
它通过使用公钥加密算法来建立安全的通信渠道,并使用对称密钥加密算法来加密传输的数据。
SSL/TLS协议分为多个层次,其中包括记录协议、握手协议、变更密码规范协议和警报协议等。
这些协议共同工作,确保数据能够安全地通过互联网进行传输。
二、SSL/TLS协议的工作原理1. 握手阶段在通信开始之前,客户端和服务器之间需要进行一系列的握手操作。
首先,客户端发送一个"客户端Hello"消息,包含它支持的SSL/TLS版本和密码套件等信息。
服务器收到消息后,回复一个"服务器Hello"消息,确认使用的SSL/TLS版本和密码套件。
接下来,服务器发送一个包含自己的公钥的数字证书。
客户端使用该公钥来验证服务器的身份,并生成一个用于后续通信的临时会话密钥。
然后,客户端将该会话密钥使用服务器的公钥进行加密,并发送给服务器。
最后,服务器接收到加密的会话密钥后,使用自己的私钥进行解密,并在之后的通信中使用该密钥来加密和解密数据。
2. 数据传输阶段握手完成后,SSL/TLS协议将进入数据传输阶段。
在该阶段,客户端和服务器使用对称密钥加密算法来加密和解密传输的数据。
这确保了数据在传输过程中的保密性。
该阶段还涉及到对数据分块和消息认证码(MAC)的处理,以确保数据的完整性。
三、SSL/TLS协议的安全性SSL/TLS协议具有较高的安全性,并且广泛应用于互联网上的各种场景,如网上银行、电子商务和电子邮件等。
SSL协议以及相应的安全问题
SSL协议以及在电子商务交易中的安全问题,分析了当前SSL面临的安全威胁,包括密码长度制约,缺少对商家的认证,跨站脚本攻击,中间人攻击和密钥管理间题,并指出了当前安全协议研究的一些热点方向.2 SSL的安全体系SSL的主要目标是在两个通信应用程序之间提供私密性和可靠性,它是一个分层协议,从结构1几可分为两层,底层为Record Protocol(记录层协议),高层由4个并列的协议组成;Handshake Protocol(握手协议),AlertProtocol(报警协议),Change Cipher pec Protocol(修改密码参数协议), Application Data Protocol(应用数据协议).SSL.01协议规范定义了31种加密算法的组合,每一种算法组合包括密钥交换方式,信息加密算法,创建MA(:的报文摘要算法,以保障数据传输的安全,同时用一个密钥的MAC进行消息完整性检查,确保信息在传输过程中没有被纂改.2.1记录层协议记录层协议用于交换应用层数据,其工作环境是连接状态.记录协议提供的连接安全性有两点:一是使用了对称加密算法对明文加密,可选的算法有流式加密算法:40位密钥的RC4和128位密钥的RC4,分组加密算法:40位密钥的RC2,40位密钥的DES,56位密钥的DES, 3重DES, IDEA,密钥交换算法:RSA,FoTtezza,Dlffle一Hellman等,以保证连接是保密的;二是在消息传输和认证中使用了加密的MAC,在计算MAC时使用以下报文摘要算法:160位的SHA一1和128位的MD5,以保证连接是可靠的.2.2握手协议握手协议在SSL记录层之上,当一个SSL客户机和服务器第一次开始通信时,它们协商一个协议版本:选择密码算法,选择相互认证,并使用公钥密码技术来生成共享密钥.握手协议提供的连接安全性有三点:一是对连接双方采用X.509电子证书标准进行认证,通过使用非对称密码算法RSA,DSS进行数字签名来实现,二是协商结果是保密的,以保证协商的秘密不被窃听者获得,三是使用数字签名技术保障协商的可靠性,以防止攻击者篡改协商通信消息.在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家扣款成功,商家再通知客户购买成功,并将商品寄送客户.SSL协议提供的安全信道的安全性体系体现在以下三个方面:(1)私密性.在握手协议定义了会话密钥后,所有的消息都被加密.(2)确认性.尽管会话的客户端认证是可选的,但是服务器端始终是被认证的.(3)可靠性.传送的消息使用MAC进行消息完整性检查.但随着计算机网络攻击技术的发展,电子商务活动的安全体系也面临严峻的挑战.3 SSL的几个安全问题3.1加密算法的强度限制通过互联网传输敏感数据的一个问题是传输过程会经过许多中间环节,这一路由过程是所有互联网传输的基础,而在路由线路上的任何一台计算机都可能完全获得传输的信息,这样就使得别人有可能截获并破译您的秘密信息.美国政府规定,加密技术属于军用品受军火国际贸易法规(JTAR)的制约,其产品出口必须取得出口许可证.因此密钥长度超过512bit的RAS算法不能用于SSL的密钥交换算法,密钥长度超过40位的对称加密算法如RC4, DES等不能用于SSL的数据加密,故美国出口的SSL协议产品的加密算法的安全性不足,不能用于安全性要求高的网络服务.3.2缺少对商家认证SSL协议运行的基础是商家对客户信息保密的承诺,SSL有利于商家,而不利于客户.因为它只提供交易中客户与服务器间的双方认证,不能提供客户对商家的认证.客户的信息传到商家,商家阅读后再传送到银行.商家认证客户是必要的,因为商家担心客户购买后不付款或使用过期作废的信用卡.但整个过程中缺少了客户对商家的认证,随着电子商务参与厂商的迅速增加,SSL协议的缺点完全暴露出来了.在基于SSL的交易支付系统中,消费者不得不信任商家能安全保护他们的信用卡信息,并且无法保证商家是该支付卡的特约商户;当然商家在在线交易中也有一定的风险,他们无法确认购买者就是该信用卡的合法拥有者.3.3脚本攻击脚本(SCRIP])攻击大都发生在网站动态产生网页的时候,但攻击的目标并不是您的网站,而是浏览网站的客户.如果服务器对客户的输人不进行有效验证,黑客就会输人一些恶意的HTML 代码,当这些HTML代码输人是用于SCRIPT程序时,就可能被利用来进行破坏,如插人一些图片或声音或者弹出十几个小窗口等,干扰用户的正常浏览.动态输人主要有:URL参数,表格元素,COOKIES以及数据请求.恶意的标签和SCRIP ,不单纯是恶作剧,还可以窃取资料甚至摧毁客户的系统.即使使用了防火墙,也不能完全杜绝跨站SCRIPT攻击,因为如果生成恶意SCRIPT代码的设备也使用了SSL,则服务器的SSL不能分辨这些恶意代码.3.4中间人攻击SSL使用序列号来保护通讯方免受报文重放攻击,这个序列号被加密后作为数据包的负载,在整个SSL握手中,都有一个唯一的随机数来标记这个SSL握手,这样重放便无机可乘.序列号也可以防止攻击者记录数据包并以不同的次序发送.X.509证书也是SSL的一个组成部分,在SSL握手过程中,服务器向客户发送自己的数字证书.一个X.509证书包括发行者的识别名,主体的识别名,主体的公钥,版本号,序列号,密钥的有效时间窗,选择的算法等.在通常的证书中,没有标志DNS名的域,通常CN域被影射为DNS名,发行者的识别名DNS由,SP,L,O,OU等域组成.发行者ISSUER使用自己的私钥或通过一个公开的CA签发数字证书.当用户的浏览器向SSL服务器连接时,这个证书会在SSL握手期间进行交换,证书中保存的公钥被用于会话的加密,客户拥有这个CA的公钥用于检查证书的合法性.当受到中间人攻击时,攻击者会拦截原始证书,然后伪造一个证书直接与客户通讯.理论上X.509应该能阻止这种攻击,但事实卜对大多数站点发行的证书,客户并没有用他们的公钥来检查证书的合法性,这种情况使SSL可能遭受中间人攻击.中间人攻击的拦截与攻击主要过程如下:①调用accept()接受客户程序的连接请求,利用NS Socket::dstaddr( )函数获得连接的目标地址,在防火墙上把连接重新定向,以截获hops的数据包.②用bind - lo-cal)把套接字绑定在本地端口,使用ssl_ comrect( )函数向服务器发出连接请求,让服务器把攻击者看成是合法用户,和攻击者进行正常的SSL握手,然后执行ssl_ accept()得到服务器的证书.③使用SSI的动态证书装配e7数(dynamic certificate assembly函数)dodca()伪造证书,do_ dca)给出一个几乎是空白的证书,再调用OpenSSL的.ingX509()函数修改发行者的subject域的数据(C, L, ST, OU),把证书变成自签发证书,将重新装配的证书显示给用户,使用户无法知道自签发证书是伪造的,但SSL的客户程序可以识别这个证书不是来自用户连接的服务器的CA,客户程序找不到这个CA的公钥,只好提示用户是否接受这个证书,因为用户难以分辨看到的信息是由于所连接的公司使用未知的CA而出现的提示信息还是遭受到了攻击,用户通常都会接受.④用户接受伪造的证书后,攻击者就可以用SSL _ read()读出连接的明文数据,再用SSL_ write()转发给真正的服务器,或者修改传递的数据,达到攻击的目的.3.5密钥管理问题客户机和服务器在连接初期互相发送自己能支持的加密算法时,以明文返回选定的加密算法和主密钥,主密钥前40位不加密,其余位加密,此时可能会被攻击者修改为强度最弱的加密算法,导致以后传输的加密数据包被攻击者破解.另外,所有的会话密钥中都将生成主密钥master 一key,实际的密钥并不是主密钥,而是由它生成的两个密钥client一write一key (server -read 一key)和client - read一key( server一wnte一key),并且当客户机和服务器再次握手时,不再协商加密算法和主密钥,因此握手协议的安全完全依赖于对主密钥的保护,如果主密钥管理不妥被泄露,则通讯传输中的加密数据包极可能被破译.4结束语目前电子商务在线购物的支付系统大都是通过在SSL连接上传输信用卡卡号的方式建立的,在线银行和许多证券股票交易系统也是建立在SSL之上.SSI除了具有上述安全隐患外,另一个缺点是显示图形页面时速度缓慢,这是由于SSL加密所有的信息造成的电子商务的发展需要安全性更高的交易支付系统.目前,安全协议的研究集中在如下几个方面:一是基于消息流的协议SET(Secure Electronic Transaction,安全电子交易),用来保证网络上银行卡支付交易的安全性,它由信用卡组织MasterCard和Visa以及其他一些订业界的主流厂商设计,已在国际上实验性地使用并经受了考验,目前已获fFTF标准认可,但由于SSL已广泛应用,而SET实现起来非常复杂,商家和银行都需要添置新设备改造系统以实现互操作,从全球来看这种系统改造费用巨大,因此目前大多数网上交易的各方都还没使用SET;二是致力于发展别的协议来支持SSL和SET所不能支持的支付方式,如微支付,对等支付等;三是改进现有的SSL协议,如集中集体智慧的OpenSSL正在网上开发,它是全球范围内协作开发的一种强健的,具有商业软件品质的,全功能的开放性源代码的安全系统组件,由全球的志愿社团参与管理,并通过Intemet交流,开发和撰写相关的技术文档.。
SSL协议及其安全威胁分析
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协议数据传输安全
SSL协议数据传输安全SSL(Secure Sockets Layer)协议是一种用于保护网络数据传输安全的加密通信协议。
通过SSL协议,数据在发送和接收过程中被加密,确保数据的机密性、完整性和可信度。
该协议广泛应用于网站、电子邮件、即时通讯、VPN等场景中。
首先,SSL协议采用非对称加密算法和对称加密算法相结合的方式,保证了数据在传输过程中的机密性。
非对称加密算法使用一对密钥,公钥和私钥,公钥用于加密数据,私钥用于解密数据。
通过非对称加密算法,客户端和服务器可以交换加密公钥,然后使用该公钥进行对称密钥的协商和传输。
对称加密算法则使用相同的密钥进行加密和解密,传输过程中的数据将以密文的形式进行传输,只有拥有密钥的客户端和服务器能够进行解密,保证了数据的机密性。
其次,SSL协议使用消息摘要算法(MD5、SHA-1等)对传输的数据进行完整性校验。
摘要算法能够把任意长度的数据转换为固定长度的摘要值,通过对比摘要值,可以判断数据是否在传输过程中被篡改。
在SSL握手过程中,服务器会向客户端发送证书,证书包含服务器的公钥和其他相关信息,客户端会验证证书的合法性,并提取公钥用于后续通信。
客户端还会生成一个随机数作为会话密钥,通过摘要算法对该密钥进行签名,确保服务器接收到的密钥无法伪造。
这样,在数据传输过程中,通过摘要算法可以验证数据的完整性。
最后,SSL协议在建立连接和认证过程中使用了数字证书,确保了通信双方的身份可信度。
数字证书是由可信第三方机构(CA)颁发的,包含了服务器的公钥和其他身份信息。
在握手过程中,服务器提供数字证书给客户端,客户端验证证书的合法性,包括验证数字签名、过期时间等,确保证书的可信度。
如果验证通过,客户端会生成一个随机的对称密钥,并使用服务器的公钥进行加密后发送给服务器。
通过使用数字证书,SSL协议可以验证通信双方的身份,防止中间人攻击和欺骗。
综上所述,SSL协议通过数据加密、完整性校验和身份认证等手段,保证了数据传输的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TLSv1与SSLv3 几乎完全一致。
SSL协议位于与各种应用层协议之间,为数据通讯提供安全支持。
SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密等。
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中的服务器数远少于客户机数,因此能否处理签字及密钥管理的业务量是很重要的,并且与客户联系比给商家以同样保证更重要。
3. SSL协议提供的服务(1)用户和服务器的合法性认证使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。
客户机和服务器都有各自的识别号,由公开密钥编排。
为了验证用户,安全套接层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。
(2)加密数据以隐藏被传送的数据安全套接层协议采用的加密技术既有对称密钥,也有公开密钥。
具体来说,就是客户机与服务器交换数据之前,先交换SSL初始握手信息。
在SSL握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别,这样就可以防止非法用户破译。
(3)维护数据的完整性安全套接层协议采用密码杂凑函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务,在传输过程中都能完整、准确无误地到达目的地。
4. SSL 记录层协议SSL 记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个面向连接的可靠传输协议,如TCP/IP 提供安全保护。
在SSL 中所有数据被封装在记录中。
一个记录由两部分组成:记录头和非零长度的数据。
记录头可以是2字节或3字节(当有填充数据时使用)。
SSL 握手层协议的报文要求必须放在一个SSL 记录层的记录里,但应用层协议的报文允许占用多个SSL 记录来传送。
1.SSL 记录头格式SSL 记录头可以是2个或3个字节长的编码。
SSL 记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密(blocken-cryption )算法时,填充实际数据,使其长度恰好是块的整数倍。
最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据最长为16383个字节。
当数据头长度是3个字节时,次高位有特殊的含义。
次高位为1时,表示记录头类型 MAC 2字节头3字节头记录头类型 EScape 位 MAC 数据 SSL 记录层结构所传输的记录是普通的数据记录;次高位为0时,表示所传输的记录是安全空白记录(被保留用于将来协议的扩展)。
记录头中数据长度编码不包括数据头所占用的字节长度。
记录头长度为2个字节时,记录长度的计算公式为:记录长度?((Byte[0]&0x7f)<<8)|Byte[1]。
其中Byte[0]、Byte[1]分别表示传输的第一个、第二个字节。
记录头长度为3个字节时,记录长度的计算公式是:记录长((Byte[0]&0x3f<<8))|Byte[1]。
其中Byte[0]、Byte[1]的含义同上。
判断是否是安全空白记录的计算公式是:(Byte[0]&0x40)!?0。
填充数据的长度为传输的第三个字节。
2.SSL记录数据格式SSL记录数据部分有3个分量:MAC-DATA、ACTUAL-DATA和PADDING-DATA。
MAC数据用于数据完整性检查。
计算MAC所用的散列函数由握手协议中的CIPHER-CHOICE消息确定。
若使用MD2和MD5算法,则MAC数据长度是16个字节。
MAC的计算公式为:MAC数据=Hash[密钥, 实际数据, 填充数据, 序号]。
当会话的客户端发送数据时,密钥是客户的写密钥(服务器用读密钥来验证MAC 数据);而当会话的客户端接收数据时,密钥是客户的读密钥(服务器用写密钥来产生MAC数据)。
序号是一个可以被发送和接收双方递增的计数器,每个通信方向都会建立一对计数器,分别被发送者和接收者拥有。
计数器有32位,计数值循环使用,每发送一个记录,计数值递增一次,序号的初始值为0。
ACTUAL-DATA是被传送的应用数据,PADDING-DATA是当采用分组码时所需要的填充数据,在明文传送下只有第二项。
3.记录协议的作用记录协议层封装了高层协议的数据,协议数据采用SSL握手协议中协商好的加密算法及MAC算法来保护。
记录协议传送的数据包括一个序列号,这样就可以检测消息的丢失、改动或重放。
如果协商好了压缩算法,那么SSL记录协议还可以执行压缩功能。
SSL V3版的高层由记录传递的消息组成,这包括改变密码规范协议、警报协议和握手协议。
改变密码规范协议指明对使用的密码规范的改变,协议中还包括了一个用当前密码规范加密的单独消息。
客户和服务器都要发送改变密码规范消息来表明它们准备使用一个新的密码规范和密钥。
警报协议传送与事件相关的消息,包括事件严重性及事件描述。
这里的事件主要是指错误情形,如错误的MAC码、证书过期或是非法参数。
警报协议也用于共享有关预计连接终止的信息。
5. SSL握手协议握手协议是关于客户和服务器如何协商它们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本、加密算法和密钥。
另外,客户要认证服务器,服务器则可以选择认证/不认证客户。
PKI在客户—服务器认证阶段就开始运作了,这就是握手协议的实质。
1.握手协议工作过程①客户(client)端发送ClientHello信息给服务器(Server)端,Server 回答ServerHello。
这个过程建立的安全参数包括协议版本、“佳话”标识、加密算法、压缩方法。
另外,还交换两个随机数:C1ientHello.Random和ServerHello.Random,用于计算机“会话主密钥”。
② Hello消息发送完后,Server端会发送它的证书和密钥交换信息。
如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送HelloDone消息,以示达成了握手协议,即双方握手接通。
③ Server请求Client证书时,Client要返回证书或返回没有证书的指示,这种情况用于单向认证,即客户端不装有证书。
然后,Client发送密钥交换消息。
④服务器Server此时要回答“握手完成”消息(Finished),以示完整的握手消息交换已经全部完成。
⑤握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第②步密钥协商时确定的对称加/解密密钥,如DES、3DE等。
目前,商用加密强度为128位,非对称密钥一般为RAS,商用强度为1024位,用于证书的验证。
其中,带*号的命令是可选的,或依据状态而发的消息,而改变加密算法协议(ChangeCipherSpec)并不在实际的握手协议之中,它在第③步与第④步之间,用于Client与Server协商新的加密数据包时而改变原先的加密算法。
2.握手协议的作用SSL中的握手协议,将公钥加密技术与对称密钥加密技术的应用有效、巧妙地结合在一起,有机地组成了互联网(或其他网络)上信息安全传输的通道。
这种信息安全通道,有其实用价值,比如,利用对称加密技术比公钥加密技术对大容量信息的加/解密速度要快,而公钥技术却提供了更好的身份认证技术。
SSL的握手协议可以非常有效地让客户与服务器之间完成身份认证。
通过SSL客户端与服务器传送自己的数字证书,互验合法性,特别是验证服务器的合法性,可以有效地防止互联网上虚假网站的网上钓鱼事件;同时,服务器端也可以严格验证客户端的真实身份。
其作用如下:①客户端的浏览器向服务器传送客户端SSL协议的版本号、加密算法的种类、产生的随机数,以及其他服务器和客户端之间通信所需要的各种信息。
②服务器向客户端传送SSL协议的版本号、加密算法的种类、随机数及其他相关信息,同时,服务器还将向客户端传送自己的证书。
③客户利用服务器传过来的信息验证服务器的合法性。
服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。
如果合法性验证没有通过,则通信将断开;如果合法性验证通过,则将继续进行第④步。
④客户端随机产生一个用于后面通信的“对称密码”,然后用服务器的公钥(从步骤②中服务器的证书中获得)对其加密,再将加密后的“预主密码”传给服务器。
⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户则可以建立一个随机数,然后对其进行数字签名,将这个含有签名的随机数和客户自己的证书,以及加密过的“预主密码”一起传给服务器。
⑥如果服务器要求客户的身份认证,服务器则必须检验客户证书和签名随机数的合法性。
具体的合法性验证包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA 的数字签名,检查客户的证书是否在证书撤销列表(CRL)中。