SSL VPN入门之
SSL协议
作者 | 胡洋 5021 |
撰写日期 | 2007年 |
版本 | V2.0 |
最后修订 | 2011年 |
华为赛门铁克科技有限公司
版权所有 不得复制
二零一一年
第1章概述
SSL VPN设备相关知识点的总结,希望能给初接触SSL VPN领域的同事一点帮助。
1.1什么是SSL VPN?
当你异地办公需获取公司内网资源时,不用再担心公司私有数据会在公网上所泄露;当你在家进行远程办公时,不用再担心不怀好意之人的监视;当你的企业分居两地共享业务数据时,也不必再担心你的竞争对手是否会得到你的商业秘密。SSL VPN是解决远程用户访问敏感公司数据最简单最安全的技术。通过对数据的压缩和加密传输,在公用网络建立一个临时的、安全的、稳定的隧道,从而实现在公网上实现隔离私有数据、达到私有网络的安全级别。基本原理图如下所示:
1.2SSL VPN的优势
✓用户使用方便,不需要配置,可以立即使用;
✓无需客户端,直接使用内嵌的SSL协议,而且几乎所有的浏览器都支持SSL协议。
✓兼容性好,支持电脑、PDA、智能手机、3G手机等一系列终端设备及大量移动用户接入的应用。
1.3何时开始学习?
当你下定决心准备在这个领域扎根的时候,本文作为一篇入门手册,可以让你快速踏入SSL VPN的门槛。不错,因为这是一篇入门手册,所以不须任何背景知识即可开始学习。
建议:先学习TCP/IP协议再学习本文,有事半功倍的效果。
1.4约定
本文默认使用以下约定,除非特别章节有特殊说明(只在有特殊说明的章节中有效)。
{something}key表示something已经用密钥key加密。
{secret}key表示secret已经用密钥key解密。
{secret}表示未解密的secret。
【message】表示发送或接收内容为message的报文,该报文内容不一定是加密的。
『operation』表示现在计算机中正进行哪些operation。
另外,我们依据密码学的传统,使用下列的命名,使复杂的过程变的简单和易于理解。
Alice表示客户、客户端、客户机、Client、发送者、Sender等。
Bob表示服务器、服务端、ISP、服务提供商、Server、接收(受)者、Receiver等。
Sam表示监听者、窃听者、间谍、监视者、Listener、侦听者、木马等。
Trudy表示阴谋家、干扰者、挑拨者、攻击者、入侵者、骗子、Hacker、Cracker等。
第2章SSL协议
2.1什么是SSL?
安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性
和SSL链路上的数据保密性。旨在达到在公共网络(Internet)上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。之后IETF()对SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。
2.2SSL的体系结构
SSL协议是由SSL记录协议、握手协议、密钥更改协议和告警协议组成,它们共同为应用访问连接提供认证、加密和防篡改功能。
SSL Handshake Protocol主要是用于服务器和客户之间的相互认证,协商加密算法和MAC(Message Authentication Code)算法,用于生成在SSL记录中发送的加密密钥。
SSL Change Cipher Spec Protocol存在加密信号变换策略.该协议表示开始用当前协商好的加密策略压缩并加密报文. 这个消息包含一个字节,它的值为1。
SSL警告协议主要是用于为对等实体传递与SSL相关的告警信息,包括警告、严重和重大等三类不同级别的告警信息。
SSL记录协议是为各种高层协议提供基本的安全服务,其工作机制如下:应用程序消息被分割成可管理的数据块(可以选择压缩数据),并产生一个MAC信息,加密,插入新的文件头,最后在TCP中加以传输;接收端将收到的数据解密,做身份验证、解压缩、重组数据报然后交给高层应用进行处理。
2.3SSL握手
请先观察上图,这是一张使用步骤命名的握手图,在下一部分解析SSL协议时,将说明每一步骤的组成以及它们是通过何种方法生成的。
ClientHello:客户端发起会话请求,并发送客户端支持的密码算法列表和一个随机数。
ServerHello:从ClientHello传过来的密码算法列表中选择一套自己也支持的算法和一个随机数。
ServerCertificate:服务端证书(证书将在后面的文章中讲解)。该项为可选项,因为服务端可能没有从CA申请自己的证书。证书中包含服务端信息和特定的public key。
ServerKeyExchange:若服务端没有证书,将产生一个短期public key参数(不是public key,是public key参数,根据算法方案的不同,处理也不尽相同)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论