安全套接层SSL

 概述

安全套接层

  SSL(Secure Socket Layer)安全套接层是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。
  (1)信息保密,通过使用公开密钥和对称密钥技术以达到信息保密。SSL客户机和服务器之间的
所有业务都使用在SSL握手过程中建立的密钥和算法进行加密。这样就防止了某些用户通过使用IPpacketsniffer工具非法窃听。尽管packet sniffer仍能捕捉到通信的内容,但却无法破译。
  (2)信息完整性,确保SSL业务全部达到目的。应确保服务器和客户机之间的信息内容免受破坏。SSL利用机密共享和hash函数组提供信息完整性服务。
  (3)双向认证,客户机和服务器相互识别的过程。它们的识别号用公开密钥编码,并在SSL握手时交换各自的识别号。为了验证证明持有者是其合法用户(而不是冒名用户),SSL要求证明持有者在握手时对交换数据进行数字式标识。证明持有者对包括证明的所有信息数据进行标识,以说明自己是证明的合法拥有者。这样就防止了其他用户冒名使用证明。证明本身并不提供认证,只有证明和密钥一起才起作用。
  (4)SSL的安全性服务对终端用户来讲做到尽可能透明。一般情况下,用户只需单击桌面上的一个按钮或联接就可以与SSL的主机相连。与标准的HTTP连接申请不同,一台支持SSL的典型网络主机接受SSL连接的默认端口是443,而不是80。
    一、SSL的体系结构
  SSL被设计成使用TCP来提供一种可靠的端到端的安全服务,不是单个协议,而是二层协议,低层是SSL记录层,用于封装不同的上层协议,另一层是被封装的协议,即SSL握手协议,它可以让服务器和客户机在传输应用数据之前,协商加密算法和加密密钥,客户机提出自己能够支持的全部加密算法,服务器选择最适合它的算法。
    记录协议为不同的更高层协议提供基本的安全服务,其特点是为web客户/服务器的交互提供传输服务的超文本传输协议(HTTP)可在SSL上面运行。三个更高层协议被定义成SSL的一部分:握手协议、修改密文规约协议和告警协议。
  SSL中两个重要的概念是SSL会话和SSL连接,规约如下:
  (1)连接:连接是提供恰当类型服务的传输,对于SSL这样的连接是点对点的关系。连接是短暂的,每个连接与一个会话相联系。
  (2)会话:SSL的会话是客户和服务器之间的关联,会话通过握手协议来创建。会话定义了加密安全参数的一个集合,该集合可以被多个连接所共享。会话可用来避免为每个连接进行昂贵的新安全参数的协商。
  在任何一对交互实体之间可能存在多个安全连接。理论上,在交互实体中间也可能存在多个同时的会话,实际上每个会话存在一组状态。一旦建立了会话,就有当前的操作状态用于读和写(即接收和发送)。另外,在握手协议期间,创建了挂起读和写状态。一旦握手协议成功,挂起状态就变成当前的状态。
    二、SSL记录协议
    SSL记录协议为SSL连接提供两种服务:
  (1)机密性:握手协议定义了共享的、可用于对SSL有效载荷进行常规加密的密钥。
  (2)报文完整性:握手协议还定义了共享的、可用来形成报文的鉴别码(MAC)的密钥。
  记录协议接收传输的应用报文,将数据分片成可管理的块,可选地压缩数据,应用MAC,加密,增加首部,在TCP报文段中传输结果单元。被接收的数据被解密、验证、解压和重新装配,然后交付给更
高级的用户。
    三、修改密文规约协议
    修改密文规约协议(Change Cipher Spec Protocol)是使用SSL记录协议的三个SSL有关协议之一,并且它是最简单的,用于使用新协商的加密方法和完全性方法。这个协议由单个报文图4(a)组成,该报文由值为1的单个字节组成。
    四、告警协议
    告警协议是用来将SSL有关的告警传送给对方实体。和其他使用SSL的情况一样,告警报文按照当前状态说明被压缩和加密。该协议的每个报文由两个字节组成图4(b)。第一个字节的值是警告或致命的,用来传送报文的严重级别。如果级别是致命的,SSL立刻中止该连接。同一个会话的其他连接可以继续,但这个会话不能再建立新的连接了。 第二个字节包含了指出特定告警的代码。
    SSL中最复杂、最重要的部分是握手协议。这个协议用于建立会话;协商加密方法、鉴别方法、压缩方法和初始化操作,使服务器和客户能够相互鉴别对方的身份、协商加密和MAC算法以及用来保护在SSL记录中发送数据的加密密钥。在传输任何应用数据之前,使用握手协议。它由一系列在客户和服务器之间交换的报文组成。所有报文都具有图4(c)显示的格式。每个报文具有三个字段:
    (1)类型(1字节):指示10种报文中的一个。表2列出定义的报文类型。
    (2)长度(3字节):以字节为单位的报文长度。
    (3)内容(大于等于1字节。
    一次SSL握手将发生以下事件:
    A)客户机和服务器交换X.509证明以便双方相互确认。在此过程中可以交换全部的证明链,也可以选择只交换一些底层的证明。证明的验证包括:检验有效日期和验证证明的签名权限。
    B)客户机随机地产生一组密钥,它们用于信息加密和MAC计算。这些密钥要先通过服务器的公开密钥加密再送往服务器。总共有四个密钥分别用于服务器到客户机以及客户机到服务器的通信。
    C)信息加密算法(用于加密)和Hash函数(用于确保信息完整性)是综合在一起使用的。Netscape的SSL实现方案是:客户机提供自己支持的所有算法清单,服务器选择它认为最有效的密码。服务器管理者可以使用或禁止某些特定的密码。
    通过SSL握手协议、SSL密文协议、SSL告警协议和SSL记录协议实现了安全套接层的安全,对于web安全我们完全可以采用上述手段,因为它们的安全技术是可靠的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值