`
nenty
  • 浏览: 109342 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
SSL协议的工作流程:
1.  网络通信连接建立
2.  选择与连接相关的加密方式和压缩方式
3.  双方身份相互鉴别
4.  传输密钥确定
5.  加密数据传输
6.  网络通信连接的关闭
加密数据的传输过程:

1.  应用程序把传递的数据提交给本地的SSL
2.  发送端根据需要,采用指定的压缩算法压缩所传递的数据
3.  发送端采用散列算法对压缩后的数据进行散列,得到散列值
4.  发送端把散列值和压缩后的数据同时用指定的加密算法加密
5.  密文通过网络传给接收端
6.  接收端用相同的加密算法对密文解密,得到明文
7.  接收端用相同的散列算法对明文中的压缩数据散列
8.  计算得到的散列值与明文中的散列值比较
9.  如果完全相同,散列值有效,接收端的SSL把明文解压后得到的数据传递给接收端的应用,否则就丢弃数据,并向发送端发出告警信息。严重的错误可能引起多次协商或连接中断。
SSL (Secure Socket Layer)
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络
上之传输过程中不会被截取。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全
标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的工作流程:
服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。
https介绍
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
限制
它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持.
一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者尝试数据于传输中。
商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。
SSL通信的工作原理
SSL协议的主要用途是在两个通信应用程序之间提供私密性和可靠性,这个过程通过3个元素来完成:

  (1)握手协议:这个协议负责被子用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法和认证方式,并使用公钥技术来生成共享密钥。

   (2)记录协议:这个协议用于交换应用数据。应用程序消息被分割成可管理的数据块,还可以压缩,并产生一个MAC(消息认证代码),然后结果被加密并传输。接受方接受数据并对它解密,校验MAC,解压并重新组合,把结果提供给应用程序协议。

  (3)警告协议:这个协议用于每时示在什么时候发生了错误或两个主机之间的会话在什么时候终止。
  SSL协议通信的握手步骤如下:
  第1步,SSL客户机连接至SSL服务器,并要求服务器验证它自身的身份;
  第2步,服务器通过发送它的数字证书证明其身份。这个交换还可以包括整个证书链,直到某个根证书颁发机构(CA)。通过检查有效日期并确认证书包含可信任CA的数字签名来验证证书的有效性。
  第3步,服务器发出一个请求,对客户端的证书进行验证,但是由于缺乏公钥体系结构,当今的大多数服务器不进行客户端认证。
  第4步,协商用于加密的消息加密算法和用于完整性检查的哈希函数,通常由客户端提供它支持的所有算法列表,然后由服务器选择最强大的加密算法。
  第5步,客户机和服务器通过以下步骤生成会话密钥:
  •客户机生成一个随机数,并使用服务器的公钥(从服务器证书中获取)对它加密,以送到服务器上。
  •服务器用更加随机的数据(客户机的密钥可用时则使用客户机密钥,否则以明文方式发送数据)响应。

  •使用哈希函数从随机数据中生成密钥。
SSL VPN的主要优势和不足

  上面我们介绍了有关SSL VPN的一些基本情况,但是就像任何新技术的产生一样,相对传统的技术肯定会存在一些重要的优点,当然不足之处通常也是有的,下面就分别予以介绍。
  1.SSL VPN的主要优点
  这样一种新型的VPN技术主要优势体现在哪里呢?目前这种VPN技术的应用正逐渐呈上升趋势,原因何在呢?下面就是几个主要的方面:
  (1)无需安装客户端软件:在大多数执行基于SSL协议的远程访问是不需要在远程客户端设备上安装软件。只需通过标准的Web浏览器连接因特网,即可以通过网页访问到企业总部的网络资源。这样无论是从软件协议购买成本上,还是从维护、管理成本上都可以节省一大笔资金,特别是对于大、中型企业和网络服务提供商。

  (2)适用大多数设备:基于Web访问的开放体系可以在运行标准的浏览器下可以访问任何设备,包括非传统设备,如可以上网的电话和PDA通讯产品。这些产品目前正在逐渐普及,因为它们在不进行远程访问时也是一种非常理想的现代时尚产品。

  (3)适用于大多数操作系统:可以运行标准的因特网浏览器的大多数操作系统都可以用来进行基于Web的远程访问,不管操作系统是Windows、Macintosh、UNIX还是 Linux。可以对企业内部网站和Web站点进行全面的访问。用户可以非常容易地得到基于企业内部网站的资源,并进行应用。
  (4)支持网络驱动器访问:用户通过SSL VPN通信可以访问在网络驱动器上的资源。
  (5)良好的安全性:用户通过基于SSL的Web访问并不是网络的真实节点,就像IPSec安全协议一样。而且还可代理访问公司内部资源。因此,这种方法可以非常安全的,特别是对于外部用户的访问。
  (6)较强的资源控制能力:基于Web的代理访问允许公司为远程访问用户进行详尽的资源访问控制。
  (7)减少费用:为那些简单远程访问用户(仅需进入公司内部网站或者进行Email通信),基于SSL 的VPN网络可以非常经济地提供远程访问服务。
  (8)可以绕过防火墙和代理服务器进行访问:基于SSL的远程访问方案中,使用NAT(网络地址转换)服务的远程用户或者因特网代理服务的用户可以从中受益,因为这种方案可以绕过防火墙和代理服务器进行访问公司资源,这是采用基于IPSec安全协议的远程访问所很难或者根本做不到的。
  2.SSL VPN的主要不足之处
  上面介绍SSL VPN技术这么多优势,那么为什么现在不是所有用户都使用SSL VPN,且据权威调查机构调查显示目前绝大多部分企业仍采用IPSec VPN呢?SSL VPN的主要不足在哪里呢?

  (1)必须依靠因特网进行访问:为了通过基于SSL VPN进行远程工作,当前必须与因特网保持连通性。因为此时Web浏览器实质上是扮演客户服务器的角色,远程用户的Web浏览器依靠公司的服务器进行所有进程。正因如此,如果因特网没有连通,远程用户就不能与总部网络进行连接,只能单独工作。

  (2)对新的或者复杂的Web技术提供有限支持:基于SSL的VPN方案是依赖于反代理技术来访问公司网络的。因为远程用户是从公用因特网来访问公司网络的,而公司内部网络信息通常不仅是处于防火墙后面,而且通常是处于没有内部网IP地址路由表的空间中。反代理的工作就是翻译出远程用户Web浏览器的需求,通常使用常见的URL地址重写方法,例如,内部网站也许使用内部DNS服务器地址链接到其他的内部网链接,而URL地址重写必需完全正确地读出以上链接信息,并且重写这些URL地址,以便这些链接可以通过反代理技术获得路由,当有需要时,远程用户可以轻松地通过点击路由进入公司内部网络。对于URL地址重写器完全正确理解所传输的网页结构是极其重要的,只有这样才可正确显示重写后的网页,并在远程用户计算机浏览器上进行正确地操作。
  (3)只能有限地支持Windows应用或者其它非Web系统:因为大多数基于SSL的VPN都是基Web浏览器工作的,远程用户不能在Windows,、UNIX、Linux、AS400或者大型系统上进行非基于Web界面的应用。虽然有些SSL提供商已经开始合并终端服务来提供上述非Web应用,但不管如何,目前SSL VPN还未正式提出全面支持,这一技术还有待讨论,也可算是一个挑战。

  (4)只能为访问资源提供有限安全保障:当使用基于SSL协议通过Web浏览器进行VPN通信时,对用户来说外部环境并不是完全安全、可达到无缝连接的。因为SSL VPN只对通信双方的某个应用通道进行加密,而不是对在通信双方的主机之间的整个通道进行加密。在通信时,在Web页面中呈现的文件很难也基本上无法保证只出现类似于上传的文件和邮件附件等简单的文件,这样就很难保证其它文件不被暴露在外部,存在一定的安全隐患
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics