SSL原理与应用

       目录                        

  • SSL原理
  1. 、基本概念
  2. 、工作原理
  3. 、SSL技术的实现
  • SSL和VPN的关联
  • SSL技术的应用

  

摘要:SSL协议是Internet上应用最为广泛的网络数据安全传输协议,它的产生在Internet领域发挥了巨大的作用。截至目前,国外的商用浏览器和WEB服务器都支持SSL协议,SSL协议成为当今最流行的网络安全协议。为保证信息安全,需要加强SSL的安全代理。

关键词:信息安全    SSL协议   安全代理

  • SSL原理

  1. 、基本概念

    SSL是Secure Sockets Layer的缩写,SSL协议是一种在Internet上保证发送信息安全的通用协议,它运用于应用层。SSL用公钥加密通过SSL连接传输的数据来工作。SSL协议指定了在应用程序协议(HTTP,FTP等)和TCP/IP协议之间进行数据交换的安全机制,为TCP/IP连接提供数据加密、服务器认证以及可选的客户机认证。SSL协议包括握手协议、记录协议以及警告协议三部分。握手协议负责确定用于客户机和服务器之间的会话加密参数。记录协议用于交换应用数据。警告协议用于在发生错误时终止两个主机之间的对话。

  1. 、工作原理

   在客户端与服务器之间的传输的数据时通过使用对称算法进行加密的。公钥密钥算法是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。SSL协议的版本1和2只提供了服务器认证。版本3添加了客户端认证,此认证同时需要客户端和服务器的数字证书。SSL连接总是由客户端启动的。SSL会话开始时执行SSL握手。此握手产生会话的密码参数。

握手如下:

  1. 客户端发送列出客户端密码能力的客户端“您好”消息,如SSL的版本、客户端支持的密码对客户端支持的数据压缩方法。消息也包含28字节的随机数。
  2. 服务器以服务器“您好”消息响应,此消息包含密码方法和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。客户端和服务器至少必须支持一个公共密码对,否则握手失败。服务器一般选择最大的公共密码对。
  3. 服务器发送其SSL数字证书。服务器使用带有SSL的数字证书。如果服务器使用SSL V3,而服务器应用程序需要数字证书进行客户端认证,则客户端会发出“数字证书请求”的消息。在“数字证书请求”消息中,服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称
  4. 服务器发出服务器“您好完成”消息并等待客户端响应。
  5. 一接到服务器“您好完成”消息,客户端将验证服务器的SSL数字证书的有效性并检查服务器的“你好”消息参数是否可以接受。如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书是可用的,客户端将发送“没有数字证书”警告。此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。
  6. 客户端发送“客户端密钥交换”消息。此消息包含pre-master secret 和消息认证代码密钥。如果客户端发送客户端数字证书给服务器,客户端将发出签有客户端的专用密钥的“数字证书”消息。通过验证此消息的签名,服务器可以显示验证客户端数字证书的所有权。如果服务器没有属于数字证书的专用密钥,他将无法解密pre-master密码。也无法创建对称加密算法的正确密钥,且握手将失败。
  7. 客户端使用一系列加密运算将pre-master secret 转化为master secret,其中将派生出所有用于加密和消息认证的密钥。然后,客户端发出“更改密码规范”消息将服务i转换为新协商的密码对。客户端发出的下一个消息(“未完成”的消息)为用此密码方法和密钥加密的第一条消息。
  8. 服务器以自己的“更改密码规范”和“已完成”消息响应。
  9. SSL握手结束,且可以发送加密的应用程序数据。

记录协议如下:

  1. 分段

第一步是分段,SSL记录层把上层送来的数据切分成以16K字节为单位的SSL明文记录块,最后一块可能不足16K。在记录层中,并不保留上层协议的消息边界,也就是说,同一内容类型的多个上层消息可以被连接起来,封装在同一SSL明文记录块中。不同类型的消息内容还是会被分离处理,应用层数据的传输优先级一般比其他类型的优先级低。

  1. 记录块的压缩和解压缩

被切分后的记录块,将使用当前会话状态中定义的压缩算法来压缩。一般来说,都会有一个压缩算法被激活,但在初始化时都被设置成为使用空算法。压缩算法将SSL明文记录转化为SSL压缩记录。使用的压缩必须是无损压缩,而且不能使压缩后数据长度增加超过1024字节。

  1. 记录负载的保护

所有的记录都会用当前的密码约定中定义的加密算法和MAC算法来保护。通常都会有一个激活的加密约定,但是在初始化时,加密约定被定义为空,这意味着并不提供任何的安全保护。

一旦握手成功,通信双方就共享一个会话密钥,这个会话密钥用来加密记录,并计算它们的信息校验码MAC。加密算法和MAC函数把SSL压缩记录转换成SSL密文记录;加密算法则进行反向处理。传送还包括一个序列号,同于监测数据的丢失、改变或加插了消息。

  1. 添加SSL记录首部

SSL记录协议的最后一个步骤是附加一个首部,该首部由下面一些字段组成:

  1. 内容类型:用来处理这个包装的数据片的更高层协议。
  2. 主要版本:指示使用SSL的主要版本。对于SSL V3.0字段值为3。
  3. 次要版本:指示使用的次要版本。对于SSL V3.0字段值为0.
  4. 压缩长度:明文数据片以字节为单位的长度。

当要将数据传输到上层应用以及从上层应用中接收数据时,这些操作都是在SSL的记录层中里完成的。

警告协议

SSL记录层支持的内容类型之一是警告类型,警告协议是SSL记录层里支持的协议之一。警告协议将警告的消息以及它们的严重程度传递给SSL会话中的主体。警告消息的致命程度会导致连接立即终止。在这种情况下,同一会其他连接可能还会继续,但必须使会话的标示符失效,以防止这失败的会话还会继续建立新的连接。警告消息也经过加密和压缩,也用当前连接状态所指定的方式来压缩和加密。

SSL握手协议中的错误处理:警告消息当任何一方来检测一个错误时,检测的一方就向另一方发送一个消息。如果警告消息有一个知名的后果,则通信的双方应立即关闭连接。双方都需要忘记任何与该失败的连接相关联的会话标识符、密钥和秘密。

错误警告包括:意外消息警告,记录MAC错误警告,解压失败警告,握手失败警告、缺少证书警告、已破坏证书警告、不支持格式证书警告、证书已作废警告、证书失效警告、不明证书发行者警告以及非法参数警告等。

  1. 、SSL技术的实现

由于中国地理分散的工作情况,以及网络应用程序采用的快速增长,中国企业对SSL VPN的需求预计将在接下来的几年稳步上升。此外,锁着中国企业对IT安全日趋成熟的观念深入,中国企业有可能驱动高科技市场如视觉化和云计算的发展,这将有力增强SSL VPN技术的重要性。该期间SSL VPN市场的复合年增长率在预测期间为14.6%,在2016年将达到一亿零九百四万美元的市场规模。

行业市场对SSL VPN的需求依然强烈,凭借远程访问对其业务运营起关键作用,如服务供应商和金融企业,以及政府和教育行业。2009年同比其他行业市场,运营商行业尤其部署了最多的SSL VPN应用。随着中国3G用户数量的增长,各主要运供商相应的提高了他们用于增强各分支机构的IT基础设施的开支,其中关键之一是让每一个在不同城市的上午办公更安全,更快速的连接到总部或数据中心的主要应用程序上,而不是在一些传统固定的营业场所。

  • SSL和VPN的关联

从概念角度来说,SSL VPN即指采用SSL (Security Socket Layer)协议来实现远程接入的一种新型VPN技术。SSL协议是网景公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于内、外部应用来说,使用SSL可保证信息的真实性、完整性和保密性。目前SSL 协议被广泛应用于各种浏 览器应用,也可以应用于Outlook等使用TCP协议传输数据的C/S应用。正因为SSL 协议被内置于IE等浏览器中,使用SSL 协议进行认证和数据加密的SSL VPN就可以免于安装客户端。相对于传统的IPSEC VPN而言,SSL VPN具有部署简单,无客户端,维护成本低,网络适应强等特点, VPN之间的差别就类似C/S构架和B/S构架的区别。一般而言,SSL VPN必须满足最基本的两个要求:第一,使用SSL 协议进行认证和加密;没有采用SSL 协议的VPN产品自然不能称为SSL VPN,其安全性也需要进一步考证。第二,直接使用浏览器完成操作,无需安装独立的客户端;即使使用了SSL 协议,但仍然需要分发和安装独立的VPN客户端(如Open VPN)不能称为SSL VPN,否则就失去了SSL VPN易于部署,免维护的优点了
主要优点有第一方便。实施SSL VPN之需要安装配置好中心网关即可。其余的客户端是免安装的,因此,实施工期很短,如果网络条件具备,连安装带调试,1-2天即可投入运营。第二容易维护。SSL VPN维护起来简单,出现问题,就维护网关就可以了。实在不行,换一台,如果有双机备份的话,备份机器启动就可以了。第三安全。ssl vpn 是一个安全协议,数据全程加密传输的。另外,由于ssl网关隔离了内部服务器和客户端,只留下一个web浏览接口,客户端的大多数病毒木马感染不倒内部服务器。而IPSEC VPN就不一样,实现的是ip级别的访问,远程网络和本地网络几乎没有区别。局域网能够传播的病毒,通过VPN一样能够传播。

三、SSL技术的应用

SSL协议综合了私有密钥加密法、公开密钥加密法、数字签名和数字证书等多种安全保障手段,并且几乎所有操作平台上的Web浏览器(如IE,Navigator)以及流行的Web服务器都支持SSL协议。因此,SSL协议便宜,开发成本小,应用简单方便,其安全性也不错,速度上比较快。
    SSL协议首先被应用在网络支付中,目前国内外流行的信用卡网络支付、网络银行服务等都可构建在SSL之上。中国的招商银行、工商银行北京分行等信用卡网络支付均采用了SSL协议机制。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取:.
3)维护数据的完整性,确保数据在传输过程中不被改变。
    SSL协议的工作流程:
    服务器认证阶段:(1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;(3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
    用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

参考文献:[1]  王卫华 ,SSL VPN应用原理与安全性分析[R] ,2007

  1. 阮小伟,杜江,基于SSL协议安全性的防范策略的研究和实现[J].计算机科学,2009,36
  2. 钟乐海,王朝斌,网络安全技术[J],电子工业出版社,2006
  3. 董智鹏.SSL协议的初步研究和应用[J].仪器仪表与分析监测,2010
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值