SSLVPN入门之SSL协议.docx

上传人:枫** 文档编号:550852788 上传时间:2023-09-10 格式:DOCX 页数:15 大小:268.27KB
返回 下载 相关 举报
SSLVPN入门之SSL协议.docx_第1页
第1页 / 共15页
SSLVPN入门之SSL协议.docx_第2页
第2页 / 共15页
SSLVPN入门之SSL协议.docx_第3页
第3页 / 共15页
SSLVPN入门之SSL协议.docx_第4页
第4页 / 共15页
SSLVPN入门之SSL协议.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《SSLVPN入门之SSL协议.docx》由会员分享,可在线阅读,更多相关《SSLVPN入门之SSL协议.docx(15页珍藏版)》请在金锄头文库上搜索。

1、文档名称 SSL VPN入门之SSL协议文档密级 内部公开SSL VPN入门之SSL协议作者胡洋 5021撰写日期2007年版本V2.0最后修订2011年华为赛门铁克科技有限公司版权所有 不得复制二零一一年目 录第1章概述31.1什么是SSL VPN?31.2SSL VPN的优势31.3何时开始学习?41.4约定4第2章SSL协议42.1什么是SSL?42.2SSL的体系结构52.3SSL握手62.4实例72.5解析SSL92.6记录的加密方式102.7握手消息112.8模拟SSL的实现14结语15参考文献15第1章 概述SSL VPN设备相关知识点的总结,希望能给初接触SSL VPN领域的同

2、事一点帮助。1.1 什么是SSL VPN? 当你异地办公需获取公司内网资源时,不用再担心公司私有数据会在公网上所泄露;当你在家进行远程办公时,不用再担心不怀好意之人的监视;当你的企业分居两地共享业务数据时,也不必再担心你的竞争对手是否会得到你的商业秘密。SSL VPN是解决远程用户访问敏感公司数据最简单最安全的技术。通过对数据的压缩和加密传输,在公用网络建立一个临时的、安全的、稳定的隧道,从而实现在公网上实现隔离私有数据、达到私有网络的安全级别。基本原理图如下所示:1.2 SSL VPN的优势 用户使用方便,不需要配置,可以立即使用; 无需客户端,直接使用内嵌的SSL协议,而且几乎所有的浏览器

3、都支持SSL协议。 兼容性好,支持电脑、PDA、智能手机、3G手机等一系列终端设备及大量移动用户接入的应用。1.3 何时开始学习?当你下定决心准备在这个领域扎根的时候,本文作为一篇入门手册,可以让你快速踏入SSL VPN的门槛。不错,因为这是一篇入门手册,所以不须任何背景知识即可开始学习。 建议:先学习TCP/IP协议再学习本文,有事半功倍的效果。1.4 约定本文默认使用以下约定,除非特别章节有特殊说明(只在有特殊说明的章节中有效)。somethingkey表示something已经用密钥key加密。secretkey表示secret已经用密钥key解密。secret表示未解密的secret。

4、【message】表示发送或接收内容为message的报文,该报文内容不一定是加密的。operation表示现在计算机中正进行哪些operation。另外,我们依据密码学的传统,使用下列的命名,使复杂的过程变的简单和易于理解。Alice表示客户、客户端、客户机、Client、发送者、Sender等。Bob表示服务器、服务端、ISP、服务提供商、Server、接收(受)者、Receiver等。Sam表示监听者、窃听者、间谍、监视者、Listener、侦听者、木马等。Trudy表示阴谋家、干扰者、挑拨者、攻击者、入侵者、骗子、Hacker、Cracker等。第2章 SSL协议2.1 什么是SSL?

5、安全套接层协议(SSL,SecuritySocketLayer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。旨在达到在公共网络(Internet)上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。之后IETF(www.ietf.org)对SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。2.2 SSL的体系结构 SSL协议是由SSL记录协议、握手协议、密钥更改协议和

6、告警协议组成,它们共同为应用访问连接提供认证、加密和防篡改功能。SSL Handshake Protocol主要是用于服务器和客户之间的相互认证,协商加密算法和MAC(Message Authentication Code)算法,用于生成在SSL记录中发送的加密密钥。 SSL Change Cipher Spec Protocol存在加密信号变换策略.该协议表示开始用当前协商好的加密策略压缩并加密报文. 这个消息包含一个字节,它的值为1。SSL警告协议主要是用于为对等实体传递与SSL相关的告警信息,包括警告、严重和重大等三类不同级别的告警信息。SSL记录协议是为各种高层协议提供基本的安全服务,

7、其工作机制如下:应用程序消息被分割成可管理的数据块(可以选择压缩数据),并产生一个MAC信息,加密,插入新的文件头,最后在TCP中加以传输;接收端将收到的数据解密,做身份验证、解压缩、重组数据报然后交给高层应用进行处理。2.3 SSL握手请先观察上图,这是一张使用步骤命名的握手图,在下一部分解析SSL协议时,将说明每一步骤的组成以及它们是通过何种方法生成的。ClientHello:客户端发起会话请求,并发送客户端支持的密码算法列表和一个随机数。ServerHello:从ClientHello传过来的密码算法列表中选择一套自己也支持的算法和一个随机数。ServerCertificate:服务端证

8、书(证书将在后面的文章中讲解)。该项为可选项,因为服务端可能没有从CA申请自己的证书。证书中包含服务端信息和特定的public key。ServerKeyExchange:若服务端没有证书,将产生一个短期public key参数(不是public key,是public key参数,根据算法方案的不同,处理也不尽相同)。CertificateRequest:要求客户端发送客户证书。该项是可选的,工商银行在网上交易时,使用的U盾中存储的就是客户证书,以验证客户身份。而工商银行的站点,则不需要客户端证书。ServerHelloDone:服务端表示自己(对客户端)发言完毕,发送该报文后服务端将等待客

9、户端发言。ClientCertificate:客户端证书。若服务端发送CertificateRequest则发送此证书,否则不发送。ClientKeyExchange:客户端使用服务端的public key来加密自己选择的pre-master secret。然后发送【pre-master secretserver-public-key,master secret,handshake messagehmac】。master secret通过以前发送的2次随机数和pre-master secret计算得出,handshake message为前一次发送的消息直到ClientHello的所有消息。

10、CertificateVerify:如果客户端发送了自己的证书,即进行了ClientCertificate这一步骤,则再发送一个数字签名(数字签名将在后面的文章中详细讲解)CertificateVerify信息来对证书进行校验。若客户端未发送自己的证书,则无此步骤。ChangeCipherSpec:该步骤是一个信号:使用加密策略传输。该步骤是由ChangeCipherSpec协议进行的,这个协议表示开始使用当前已协商好的加密策略进行加密和压缩报文,这个消息只有1个字节,这个字节的值是1。Finished:在ChangeCipherSpec信号发送完毕后会被立即发送,而接收端接收到这个报文后,会

11、校验这个报文加密是否正确。因为双方都知道它的值是1,以此确定双方加解密的密钥是正确可用的。2.4 实例下面我们通过一个实例来彻底理解这个过程。一天傍晚,Alice在花园中散步,看见了一个黑影手里拿着一个亮晶晶的东西。那是一串钻石项链。家里只有一个人能够买的起钻石项链,肯定是管家Sam偷了主人Bob的钻石项链!Alice必须马上告诉Bob,但是她怎么才能通知Bob而不被Sam发现呢?如果打电话给Bob,Sam可能会在另一个分机上偷听,如果用信鸽并将消息栓到它的脚上,Bob又怎么能知道是Alice发送的信息呢?他说不定会以为是Trudy故意陷害Sam,因为Sam拒绝了她的求爱。那么,Alice必须

12、能够发送只有Bob可以看懂的消息给Bob,这样即使别人能够看到她发送的消息也无所谓。另外,当Bob接收到消息的时候,他必须能够识别出该消息确实是Alice发送的,而且没有人能够在Alice发送消息和Bob接收消息之间篡改信息。下面我们看一下Alice和Bob之间是如何对话的。AB Bob,我想和你安全的通话,我这里的对称加密算法有DES、RC5,密钥交换算法有RSA、DH,摘要算法有MD5、SHA。 BA 我们用DESRSASHA这对组合好了。 这是我的证书,里面有我的名字和public key,你拿去验证一下我的身份把证书发给Alice 我说完了,轮到你发言了。 AB 查看证书上Bob的名字

13、是否无误,并通过手头早已有的CA的证书验证了Bob的证书的真实性,如果其中一项有误,发出警告并断开连接,这一步保证了Bob的public key的真实性 产生一份预备主秘密(pre-master secret),这份预备主秘密处理后将称为主秘密(master secret),加密初始化向量(IV)和完整性保护密钥(HMAC key)。将这份秘密消息用Bob的public key加密,封装成称作ClientKeyExchange的消息。由于用了Bob的public key,保证了第三方无法窃听 我生成了一份预备主秘密,并用你的public key加密了,给你 把ClientKeyExchange

14、发给Bob 注意,下面我就要用加密的办法给你发消息了! 将预备主秘密进行处理,计算出主秘密,然后通过主秘密生成加密密钥(secret key),加密初始化向量和完整性保护密钥 我说完了 BA 用自己的private key将ClientKeyExchange中的预备主秘密解密出来,然后将预备主秘密进行处理,计算出主秘密,然后通过主秘密生成加密密钥,加密初始化向量和完整性保护密钥,这时双方已经安全的协商出一套加密办法了 注意,我也要开始用加密的办法给你发消息了! 我说完了 AB 我的秘密是. BA 放心,其它人不会听到的.哈哈,大家看到这里是不是感到豁然开朗呢?呵呵,不要着急,这只是对SSL协议的一个简单理解,下一部分我们就要开始解析SSL协议,将SSL协议完整的解剖放在你面前。2.5 解析SSL在本节,我们的主要目的是解析SSL协议,暂且先忽略掉身份验证的各种细节,重点研究一下SSL的通信。如图:首先,Alice发起与Bob的连接,然后Bob把自己的证书发送给Alice。Alice校验Bob的证书之后,从中提取出Bob的public key,然后选择一个用来计算master secret的随机数S,将其用Bob的public key加密后发送给Bob。接着,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号