您的位置首页百科知识

SSL工作原理是什么?

SSL工作原理是什么?

的有关信息介绍如下:

SSL工作原理是什么?

TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

解决上述身份验证问题的关键是确保获取的公钥途径是合法的,能够验证服务器的身份信息,为此需要引入权威的第三方机构CA。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时能够为使用者提供证书验证服务,即PKI体系。

基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP。CA使用具体的流程如下:

SSL证书主要作用是在SSL握手中,我们来看一下SSL的握手过程

1. 客户端提交https请求

2. 服务器响应客户,并把证书公钥发给客户端

3. 客户端验证证书公钥的有效性

4. 有效后,会生成一个会话密钥

5. 用证书公钥加密这个会话密钥后,发送给服务器

6. 服务器收到公钥加密的会话密钥后,用私钥解密,回去会话密钥

7. 客户端与服务器双方利用这个会话密钥加密要传输的数据进行通信

如下图:

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页面中呈现的文件很难也基本上无法保证只出现类似于上传的文件和邮件附件等简单的文件,这样就很难保证其它文件不被暴露在外部,存在一定的安全隐患

在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为

SSL工作原理:

: