网络安全协议课程设计报告SSL协议

合集下载

网络安全协议TLSSSL解析加密通信的保障

网络安全协议TLSSSL解析加密通信的保障

网络安全协议TLSSSL解析加密通信的保障网络安全协议TLS/SSL: 解析加密通信的保障网络安全在当前数字化时代中变得更加重要,保护私人信息和敏感数据的安全是每个人都应关注的重要任务。

在网络通信中,加密协议被广泛应用于提供数据安全和隐私保护的功能。

其中,TLS(传输层安全)和SSL(安全套接层)协议是最常用的加密通信协议。

本文将对TLS/SSL协议进行解析,介绍其工作原理和应用场景,并探讨其在保障通信安全方面的重要性。

一、TLS/SSL 的概述TLS(Transport Layer Security)是一种用于保证网络通信安全的协议,而SSL(Secure Sockets Layer)是其前身。

TLS/SSL 协议通过加密和身份验证的方式,确保通信过程中的数据传输安全可靠,同时还能有效防止中间人攻击和数据篡改。

TLS/SSL 协议被广泛应用于Web浏览器和服务器之间的通信,以及其他应用程序之间的安全通信。

二、TLS/SSL 协议的工作原理1. 握手阶段:当客户端与服务器建立安全连接时,将进行握手协议。

此阶段的主要目的是确保双方安全地协商加密算法,验证身份和建立密钥。

a. 客户端向服务器发送一个"Hello"消息,其中包含了支持的加密套件。

b. 服务器选择一个加密套件,并发送数字证书作为身份验证。

c. 客户端验证证书的有效性,并生成一个随机数,用于后续的加密密钥生成。

d. 服务器使用私钥对随机数进行加密,并发送给客户端.e. 客户端和服务器通过握手协议来协商对称加密算法和加密密钥。

2. 数据传输阶段:握手完成后,客户端和服务器使用协商好的加密算法和密钥对数据进行加密和解密。

这样,即使数据在传输过程中被截获,也无法被其他人破解。

三、TLS/SSL 协议的应用场景1. 安全的网页浏览 (HTTPS):在互联网上浏览网页时,TLS/SSL 协议提供了一种保护用户隐私和数据安全的机制。

SSL实验报告[大全5篇]

SSL实验报告[大全5篇]

SSL实验报告[大全5篇]第一篇:SSL实验报告搭建证书服务器步骤: 1、登陆 Windows Server 2008 服务器 2、打开【服务器管理器】3、点击【添加角色】,之后点击【下一步】4、找到【Active Directory证书服务】勾选此选项,之后点击【下一步】;5、进入证书服务简介界面,点击【下一步】6、将证书颁发机构、证书颁发机构WEB注册勾选上,然后点击【下一步】7、勾选【独立】选项,点击【下一步】(由于不在域管理中创建,直接默认为:“独立”)8、首次创建,勾选【根CA】,之后点击【下一步】9、首次创建勾选【新建私钥】,之后点击【下一步】;10、默认,继续点击【下一步】;11、默认,继续点击【下一步】12、默认,继续点击【下一步】13、默认,继续点击【下一步】14、点击【安装】15、点击【关闭】,证书服务器安装完成建搭建 WE B服务器端 SSL 证书应用步骤: 1、打开 IIS,WEB 服务器,找到【服务器证书】并选中2、点击【服务器证书】,找到【创建证书申请】项3、单击【创建证书申请】,打开【创建证书申请】后,填写相关文本框, “通用名称”必需填写本机IP(192.168、72。

128),单击【下一步】4、默认,点击【下一步】5、选择并填写需要生成文件得保存路径与文件名, 此文件后期将会被使用;(保存位置、文件名可以自行设定),之后点击【完成】,此配置完成,子界面会关闭6、接下来,点击IE(浏览器),访问:(本机ip)此时会出现证书服务页面;点击【申请证书】,进入下一界面点击【高级证书申请】,进入下一界面点击【创建并向此CA 提交一个申请】,进入下一界面,此时会弹出一个提示窗口:“为了完成证书注册,必须将该CA 得网站配置为使用HTTPS 身份验证“;也就就是必须将网站配置为 HTTPS 得网站,才能正常访问当前网页及功能7、搭建S 得网站: 方法:打开IE(浏览器),找到工具栏,点击【工具栏】,找到它下面得【Internet 选项】;8、点击【Internet 选项】-〉点击【安全】—>点击【可信站点】;10、点击【可信站点】,并输入之前得证书网站地址:,并将其【添加】到信任站点中;添加完后,点击【关闭】,关闭子界面11、接下来,继续在【可信站点】位置点击【自定义级别】,此时会弹出一个【安全设置】子界面,在安全设置界面中拖动右别得滚动条,找到【对未标记为可安全执行脚本得 ActiveX控件初始化并执行脚本】选项,将选为【启用】;之后点击所有【确定】操作,直到【Internet选项】子界面关闭为止12、完成上面操作后,先将IE 关闭,然后重新打开,输入:;页面出来后点击【申请证书】,【高级证书申请】,【使用base64 编码得 CMC 或PKCS#10 文件提交一个证书申请,或使用Base64 编码得PKCS#7 文件续订证书申请】13、将之前保存得密钥文档文件找到并打开,将里面得文本信息复制并粘贴到“Base-64 编码得证书申请”文本框中;确定文本内容无误后,点击【提交】14、此时可以瞧到提交信息,申请已经提交给证书服务器,关闭当前IE15、打开证书服务器处理用户刚才提交得证书申请; 回到 Windo ws【桌面】-〉点击【开始】-〉点击【运行】,在运行位置输入:cer tsrv、msc,然后回车就会打开证书服务功能界面;打开后,找到【挂起得申请】位置,可以瞧到之前提交得证书申请;(图17)18、点击鼠标右键会出现【所有任务】,点击【所有任务】->点击【颁发】将挂起得证书申请审批通过,此时挂起得证书会从当前界面消失,即代表已完成操作19、点击【颁发得证书】,可以瞧到新老已审批通过得证书20、重新打开IE,输入之前得网址:;打开页面后,可点击【查瞧挂起得证书申请得状态】;之后会进入“查瞧挂起得证书申请得状态”页面,点击【保存得申请证书】;21、进入新页面后,勾选Base 64 编码,然后点击【下载证书】,将已申请成功得证书保存到指定位置,后续待用;22、打开IIS 服务器,点击【服务器证书】—>【完成证书申请】—>选择刚保存得证书,然后在“好记名称”文本框中输入自定义得名称,完后点击【确定】23、上述操作完后,可在“服务器证书”界面下瞧到证书24、点击左边得【Default Web Site】菜单,然后找到【绑定】功能,点击【绑定】功能,会弹出【网站绑定】界面,默认会出现一个类型为http,端口为80 得主机服务,然后点击【添加】,会弹出【添加网站绑定】界面,在此界面中选择“类型:https“、“SSL 证书:JZT_TEST1”,然后点【确定】;点完确定后,会瞧到【网站绑定】子界面中有刚配得S服务,点击【关闭】,子界面消失25、点击左菜单上得【CertSrv】证书服务网站,然后点击【S SL 设置】26、进入 SSL 设置页面,勾选上“要求SSL”即启用 SSL 功能,然后点击【应用】,保存设置27、打开IE,再次输入:第二篇:SSL实验报告搭建证书服务器步骤:1、登陆Windows Server 2008服务器2、打开【服务器管理器】3、点击【添加角色】,之后点击【下一步】4、找到【Active Directory证书服务】勾选此选项,之后点击【下一步】;5、进入证书服务简介界面,点击【下一步】6、将证书颁发机构、证书颁发机构WEB注册勾选上,然后点击【下一步】7、勾选【独立】选项,点击【下一步】(由于不在域管理中创建,直接默认为:“独立”)8、首次创建,勾选【根CA】,之后点击【下一步】9、首次创建勾选【新建私钥】,之后点击【下一步】;10、默认,继续点击【下一步】;11、默认,继续点击【下一步】12、默认,继续点击【下一步】13、默认,继续点击【下一步】14、点击【安装】15、点击【关闭】,证书服务器安装完成搭建WEB服务器端SSL证书应用步骤:1、打开IIS,WEB服务器,找到【服务器证书】并选中2、点击【服务器证书】,找到【创建证书申请】项3、单击【创建证书申请】,打开【创建证书申请】后,填写相关文本框,“通用名称”必需填写本机IP(192.168.72.128),单击【下一步】4、默认,点击【下一步】5、选择并填写需要生成文件的保存路径与文件名, 此文件后期将会被使用;(保存位置、文件名可以自行设定),之后点击【完成】,此配置完成,子界面会关闭7、搭建HTTPS的网站:方法:打开IE(浏览器),找到工具栏,点击【工具栏】,找到它下面的【Internet选项】;、点击【Internet选项】->点击【安全】->点击【可信站点】;11、接下来,继续在【可信站点】位置点击【自定义级别】,此时会弹出一个【安全设置】子界面,在安全设置界面中拖动右别的滚动条,找到【对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本】选项,将选为【启用】;之后点击所有【确定】操作,直到【Internet选项】子界面关闭为止13、将之前保存的密钥文档文件找到并打开,将里面的文本信息复制并粘贴到“Base-64编码的证书申请”文本框中;确定文本内容无误后,点击【提交】14、此时可以看到提交信息,申请已经提交给证书服务器,关闭当前IE15、打开证书服务器处理用户刚才提交的证书申请;回到Windows【桌面】->点击【开始】->点击【运行】,在运行位置输入:certsrv.msc,然后回车就会打开证书服务功能界面;打开后,找到【挂起的申请】位置,可以看到之前提交的证书申请;(图17)18、点击鼠标右键会出现【所有任务】,点击【所有任务】->点击【颁发】将挂起的证书申请审批通过,此时挂起的证书会从当前界面消失,即代表已完成操作19、点击【颁发的证书】,可以看到新老已审批通过的证书21、进入新页面后,勾选Base 64编码,然后点击【下载证书】,将已申请成功的证书保存到指定位置,后续待用;22、打开IIS服务器,点击【服务器证书】->【完成证书申请】->选择刚保存的证书,然后在“好记名称”文本框中输入自定义的名称,完后点击【确定】23、上述操作完后,可在“服务器证书”界面下看到证书24、点击左边的【Default Web Site】菜单,然后找到【绑定】功能,点击【绑定】功能,会弹出【网站绑定】界面,默认会出现一个类型为http,端口为80的主机服务,然后点击【添加】,会弹出【添加网站绑定】界面,在此界面中选择“类型:https”、“SSL证书:JZT_TEST1”,然后点【确定】;点完确定后,会看到【网站绑定】子界面中有刚配的HTTPS服务,点击【关闭】,子界面消失25、点击左菜单上的【CertSrv】证书服务网站,然后点击【SSL 设置】26、进入SSL设置页面,勾选上“要求SSL”即启用SSL功能,然后点击【应用】,保存设置第三篇:web服务器ssl目标本章的目标是:• 获取 SSL 证书。

ssl安全协议书

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协议

网络安全协议课程设计报告SSL协议

随着计算机网络技术的飞速发展,信息时代的人们对 Internet 的依赖性越来越大。

当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。

安全套接层SSL(Secure Sockets Layer)协议是由 Netscape 公司设计开辟的安全协议,主要用于加强应用程序之间的数据的安全性。

SSL 协议是基于 Web 应用的安全协议,它采用了RSA 算法、 RC4— 128、RC 一 128、三重 DES 算法和 MD5 等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509 数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。

SSL 协议用来建立一个在客户和服务器之间安全的TCP 连接,特别可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP 协议之上的任意应用协议数据的完整性和隐蔽性服务。

SSL 为在 Internet 上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。

是由Netscape 设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。

SSL 位于TCP/IP 协议与各种应用层协议之间,为TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web 服务器无关的。

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

在SSL 中,所有数据被封装在记录中,SSL 握手协议中的报文,要求必须放在一个SSL 记录协议层的记录里,但应用层协议的报文,允许占用多个SSL 记录来传送(1) SSL 记录头格式SSL 记录头可以是2 个或者3 个字节长的编码。

SSL协议

SSL协议
Finished Application Data
Internet
server
客户端支持的最高版本,加密套件列表,压缩算法列表, 客户端随机数,会话ID=0
服务器同意的版本,加密套件,压缩算法, 会话ID, 服
务器端随机数
服务器的证书
服务器端密钥交换的附加信息
通知对方服务器端握手消息发完
客户端产生的PreMasterKey密钥参数 通知对方本端开始启用加密参数
2023最新整理收集 do something
安全套接层协议SSL
➢ SSL概述 ➢ SSL体系结构与协议 ➢ SSL协议的安全性分析
SSL概述
SSL协议是一种国际标准的加密及身份认证通 信协议
目标:SSL被设计用来使用TCP提供一个可靠的 端到端安全服务,为两个通讯个体之间提供保 密性和完整性(身份鉴别)。
该协议使用密钥对传送数据加密,许多网站都是通过 这种协议从客户端接收信用卡编号等保密信息。它被 认为是最安全的在线交易模式,
SSL解决的问题(功能)
客户对服务器的身份认证
SSL服务器允许客户的浏览器使用标准的公钥加密技术和 一些可靠的认证中心(CA)的证书,来确认服务器的合 法性。
服务器对客户的身份认证
TCP UDP IP
SSL协议可用于保护正常运行于TCP之上的任何应用协 议,如HTTP、FTP、SMTP或Telnet的通信,最常见的 是用SSL来保护HTTP的通信。
SSL协议的优点在于它是与应用层协议无关的。高层的 应用协议(如HTTP、FTP、Telnet等)能透明地建立 于SSL协议之上。
也可通过公钥技术和证书进行认证,也可通过用户名, password来认证。
建立服务器与客户之间安全的数据通道

安全协议SSL

安全协议SSL
5)服务器将所有握手消息的MAC发送给客户端。到这个 阶段为止,通信双方都已经达成了共识,并准备传送真 正的信息内容。
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。

在开始SSl 介绍之前,先给大家介绍几个密码学的概念和相关的知识。

• 密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。

• 明文(plain text) :发送人、接受人和任何访问消息的人都能理解的消息。

• 密文(cipher text) :明文消息经过某种编码后,得到密文消息。

• 加密(encryption):将明文消息变成密文消息。

• 解密(decryption):将密文消息变成明文消息。

• 算法:取一个输入文本,产生一个输出文本。

• 加密算法:发送方进行加密的算法。

• 解密算法:接收方进行解密的算法。

• 密钥(key):惟独发送方和接收方理解的消息• 对称密钥加密(Symmetric Key Cryptography) :加密与解密使用相同密钥。

• 非对称密钥加密(Asymmetric Key Cryptography) :加密与解密使用不同密钥。

DES 算法即数据加密标准,也称为数据加密算法。

加密过程如下:在SSL 中会用到分组DES、三重DES 算法等加密算法对数据进行加密。

固然可以选用其他非DES 加密算法,视情况而定,后面会详细介绍。

使用对称加密算法时,密钥交换是个大难题,所以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协议和SET协议

浅谈网络安全协议SSL协议和SET协议

图 l S L的 交易 过 程 :S
S L协 议 在 交 易 过 程 中具 体 可 以分 为 6个 步 骤 : S () 立 连 接 。 客户 通 过 网络 呼 叫 服 务 商 , 务 商 回应 。 1建 服 () 码 交 换 。 客户 和服 务 商 交 换 密 码 。 2密 () 定 会 谈 密 码 。 客 户 与 服务 商 之 间 产 生 彼 此 会 谈 的 密 3确
2 安 全 套 接 层 S L协 议 . S
持 S L目前 S L已广 泛用 于在 It t 的 身 份认 证 与 We s. s ne me 上 b服 务 器 和 用 户 端浏 览器 之 间 的数 据 安 全 通 信 。许 多 电 子 商务 服务
(1 束 阶段 。客 户 与 服 务 商 交换 结 束 信 息 , 信 结 束 。 6结 通 3 S L的 安 全措 施 .S S L协 议 采 用 的具 体 安全 措 施 有 2个 。一 是 加 密 算 法 和 会 s
它是 由 Vs 和 Mat C r i a se a r d开发 .也 是 在 It t 进 行 在 ne me 上 为保 证 信 用 卡 支 付 安 全 而 设 计 的一 种 开放 的 规 范 , 于 由 安 全 套 接 层 S L协 议 是 由 美 国 N t ae公 司 提 出 的 一 种 交 易 时 . S ecp s 得 到 I M、 P Mi oo 、 esa e等很 多 大 公 司 的 支 持 , 已 成 B H 、 c sf N t p r t c 它 在 sce 层 上 实 现 数 据 认 证 和 加 密 的 方 法. okt 比起 以往 的 Hr. P协 I 议 而 言 。 安 全 性 能 更 强 。 由 于 N t ae和 I 其 ecp s E两 大 浏 览 器 都 支 了事 实上 的工 业 标 准 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SSL协议的安全性研究1 引言随着计算机网络技术的飞速发展,信息时代的人们对Internet的依赖性越来越大。

当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。

安全套接层SSL(Secure Sockets Layer)协议是由Netscape公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。

SSL协议是基于Web应用的安全协议,它采用了RSA算法、RC4—128、RC一128、三重DES算法和MD5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。

2 SSL协议简述及相关概念SSL协议用来建立一个在客户和服务器之间安全的TCP连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP协议之上的任意应用协议数据的完整性和隐蔽性服务。

SSL为在Internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。

2.1 SSL---安全套接层协议。

是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。

SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。

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

在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL 记录来传送(1) SSL记录头格式SSL记录头可以是2个或3个字节长的编码。

SSL记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密(blocken-cryption)算法时,填充实际数据,使其长度恰好是块的整数倍。

最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据的最大长度为16383个字节。

SSL记录层结构如图1所示。

图1 SSL记录层结构当数据头长度是3个字节时,次高位有特殊的含义。

次高位为1时,表示所传输的记录是普通的数据记录;次高位为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码、证书过期或是非法参数。

警报协议也用于共享有关预计连接终止的信息。

2.2.2 SSL握手协议:SSL中最复杂的部分,它建立在SSL记录协议之上,用于在实际的数据传输开始前,在会话状态下产生所需要的各种安全参数,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

2.3 SSL协议的作用SSL是提供Internet上的通信隐私性的安全协议。

该协议允许客户端/服务器应用之间进行防窃听、防消息篡改及防消息伪造的安全的通信。

TCP/IP是整个Internet数据传输和通信所使用的最基本的控制协议,在它之上还有HTTP(Hypertext Transfer Protocol)、LDAP (Lightweight Directory Access Protoco1)、IMAP(Internet Messaging Access Protocol)等应用层传输协议。

而SSL是位于TCP/IP和各种应用层协议之间的一种数据安全协议(如图2所示)。

SSL协议可以有效地避免网上信息的偷听、篡改及信息的伪造。

图2 SSL协议的位置SSL标准的关键是要解决以下几个问题。

(1)客户对服务器的身份确认:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性(检验服务器的证书和ID的合法性)。

对于用户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。

(2)服务器对客户的身份确认:允许SSL服务器确认客户的身份,SSL协议允许客户服务器的软件通过公钥技术和可信赖的证书来确认客户的身份(客户的证书)。

对于服务器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。

(3)建立起服务器和客户之间安全的数据通道:SSL要求客户和服务器之间所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。

同时SSL协议会在传输过程中检查数据是否被中途修改。

2.4 SSL协议的目标按它们的优先级,SSL协议的目标如下。

(1)在通信双方之间利用加密的SSL消息建立安全的连接。

(2)互操作性。

通信双方的程序是独立的,即一方可以在不知道对方程序编码的情况下,利用SSL成功地交换加密参数。

注意:并不是所有的SSL实例(甚至在同一应用程序内)都可以成功地连接。

例如,如果服务器支持一特定的硬件令牌(token),而客户端不能访问此令牌,则连接不会成功。

(3)可扩展性。

SSL寻求提供一种框架结构,在此框架结构中,在不对协议进行大的修改的情况下,可以在必要时加入新的公钥算法和单钥算法。

这样做还可以实现两个子目标:—避免产生新协议的需要,因而进一步避免了产生新的不足的可能性;—避免了实现一完整的安全协议的需要。

相对于有效性加密操作,尤其是公钥加密,对CPU来说是一种很耗时的事,因此SSL协议引入一个可选的对话缓存(Cache)来减少从头开始的连接数目。

同时,它还注意减少网络的活动。

3 SSL协议工作原理SSL协议用来建立一个在客户和服务器之间安全的TCP连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP协议之上的任意应用协议数据的完整性和隐蔽性服务。

SSL为在Internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。

基本步骤如下:(1)客户端服务器发送一个开始信息以便开始一个新的会话连接,协商传送加密算法。

例如:告知服务端,客户端自己的对称加密算法有DES、RC5,自己的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。

(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的信息时将包含生成主密钥所需的信息,并发送服务器数字证书。

例如:告知客户端,服务器就使用DES-RSA-MD5这对组合进行通讯,为了证明“我”确实是服务器,现在就发送“我”的数字证书给客户端,以便于验证服务器的身份。

(3)客户端根据收到的服务器响应信息,检查服务器的数字证书是否正确,通过CA机构颁发的证书及CA的公钥对服务器证书进行解密,获得服务器公钥,然后产生一个主密钥,并用服务器的公钥加密后传给服务器。

例如:服务器,“我”已经确认了你的身份,现在把我们本次通讯中的密钥发送给你。

(4)服务器使用自己的私钥解密该消息,然后生成会话密钥,接着使用服务器公钥加密,再发送给客户端。

这样,服务器和客户端都拥有了会话密钥。

例如:客户端,“我”已经获取了密钥,我们可以开始通信了。

服务器和客户端使用会话密钥来加密和解密传输的数据。

它们之问的数据传输的是对称加密。

一般情况下,当客户端是保密信息的传递者时,不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。

但在某些B2B应用中,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的身份,验证过程类似于服务器身份的验证过程。

4 SSL握手过程SSL用公钥加密算法使服务器端在客户端得到验证,并传递对称密钥。

相关文档
最新文档