新浦京www81707con以致有关心下一代组织商的分析,基于SSL左券的双向认证

原标题:U-Mail邮件系统SSL加密证书锁牢数据安全

一、 SSL概述

SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据的传输提供了一种安全保障手段。

SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器
认证用户和服务器的合法性,使它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号,为验证用户是否合法,SSL协议要求在握手交换数据时进行数字认证,以此确保用户的合法性。
2)加密数据以防止数据中途被窃取
SSL协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机和服务器进行数据交换前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其进行加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
3)维护数据的完整性,确保数据在传输过程中不被改变
SSL协议采用Hash函数和机密共享的方法提供信息的完整性服务,建立客户机和服务器之间的安全通道,使所有经过SSL协议处理的业务在传输过程中能全部完整准确无误的到达目的地。

SSL体系结构:
SSL协议位于TCP/IP协议模型的网络层和应用层之间,使用TCP来提供一种可靠的端到端的安全服务,它是客户/服务器应用之间的通信不被攻击抓取,并且始终对服务器进行认证,还可以选择对客户进行认证。SSL体系结构如图1所示。

HTTPS简介

1  概要说明

在互联网通信方式中,目前用的最广泛的是HTTPS配合SSL和数字证书来保证传输和认证安全了。

邮件系统的安全问题主要包括两方面,一是要防范垃圾邮件、病毒、钓鱼软件、勒索病毒邮件对用户邮箱及服务器的攻击;二是当邮件在传输过程中,要注意在此过程中不会被窃取、篡改;第一个问题取决于不同品牌服务商提供的安全性,比方说国内品牌U-Mail就具有军事级别的高安全性,它的反垃圾防病毒引擎达到了国际一流;而第二个问题则牵涉比较广,形象的说,从某邮件服务器出来的邮件就好像奔波在“信息高速公路”上,如果“高速公路”路况有问题导致邮件“汽车”抛锚,怎么办呢?U-Mail告诉你:要做好“亡羊补牢”措施,确保邮件即使被窃,也不会造成数据损失。

二、SSL体系结构:

SSL协议位于TCP/IP协议模型的网络层和应用层之间,使用TCP来提供一种可靠的端到端的安全服务,它是客户/服务器应用之间的通信不被攻击抓取,并且始终对服务器进行认证,还可以选择对客户进行认证。
在SSL通讯中,首先采用非对称加密交换信息,使得服务器获得浏览器端提供的对称加密的密钥,然后利用该密钥进行通讯过程中信息的加密和解密。为了保证消息在传递过程中没有被篡改,可以加密HASH编码来确保信息的完整性。SSL通讯过程,如图2所示。
一般情况下,当客户端是保密信息的传递者时,客户端不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。在某些应用中,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的身份,验证过程类似于服务器身份的验证过程。

新浦京www81707con以致有关心下一代组织商的分析,基于SSL左券的双向认证。  HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket
Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
它是一个URI
scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape
Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

2  详细介绍

要实现上述目标,U-Mail拥有一个法宝叫SSL安全证书,它能确保客户端设备到邮件服务器端数据传输为加密方式。SSL安全协议又叫“安全套接层(Secure
Sockets
Layer)协议”,主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。

三、SSL Socket双向认证的实现

SSL
Socket通信是对Socket通信的拓展。在Socket通信的基础上添加了一层安全性保护,提供了更高的安全性,包括身份验证、数据加密以及完整性验证。
SSL Socket双向认证实现技术: JSSE(Java Security Socket
Extension),它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在客户机和服务器之间通过TCP/IP协议安全地传输数据。为了实现消息认证:

 新浦京www81707con 1

2.1    HTTPS

HTTPS全称:Hypertext Transfer Protocal over Secure Socket
Layer,是以安全为目标的HTTP通信协议。

即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。SSL用于安全的HTTP数据传输,HTTPS:URL表明它使用了HTTPS,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统最初是网景公司进行,提供了身份验证与加密通讯方式,现在它被广泛用于万维网安全敏捷通讯,例如交易支付方面等。

1.
 HTTP基础上提出的一种安全的HTTP协议,因此可以称为安全的超文本传输协议。

  1.  HTTP协议需要通过CA(数字证书)申请证书。

3. 
HTTP和HTTPS使用完全不用的链接方式,端口也不一样,前者是80,后者是443。

4.  HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

U-Mail的SSL安全协议主要提供三方面的服务:

服务器端需要:

1、KeyStore: 其中保存服务器端的私钥
2、Trust KeyStore: 其中保存客户端的授权证书

 

2.2    SSL

SSL全称:SecureSocket
Layer,是网景公司所研发,用以保证INTERNET上数据传输安全,利用数据加密技术,可确保数据在网络上传输过程中不会被截取及窃听。

SSL协议位于TPC/IP
协议与各种应用层协议之间,是一种国际标准的加密及身份认证通信协议,为TCP提供一个可靠的端对端的安全服务。为两个通讯个体之间提供保密性和完整性。

1、用户和服务器的合法性认证:一般来说客户机和服务器都有着各自的识别号,这些识别号通过公开密钥进行编号,为了验证用户是否合法,SSL会要求在握手交换数据时进行数字认证,确保数据将被发送到正确的客户机和服务器上。

客户端需要:

1、KeyStore:其中保存客户端的私钥
2、Trust KeyStore:其中保存服务端的授权证书

密钥和授权证书的生成方法:
使用Java自带的keytool命令,在命令行生成。
1、生成服务器端私钥kserver.keystore文件
keytool -genkey -alias serverkey -validity 1 -keystore
kserver.keystore
2、根据私钥,导出服务器端安全证书
keytool -export -alias serverkey -keystore kserver.keystore -file
server.crt
3、将服务器端证书,导入到客户端的Trust KeyStore中
keytool -import -alias serverkey -file server.crt -keystore
tclient.keystore
4、生成客户端私钥kclient.keystore文件
keytool -genkey -alias clientkey -validity 1 -keystore
kclient.keystore
5、根据私钥,导出客户端安全证书
keytool -export -alias clientkey -keystore kclient.keystore -file
client.crt
6、将客户端证书,导入到服务器端的Trust KeyStore中
keytool -import -alias clientkey -file client.crt -keystore
tserver.keystore

生成的文件分成两组,服务器端保存:kserver.keystore tserver.keystore
客户端保存:kclient.keystore tclient.kyestore。

客户端采用kclient.keystore中的私钥进行数据加密,发送给服务端,服务器端采用tserver.keystore中的client.crt证书对数据解密,如果解密成功,证明消息来自可信的客户端,进行逻辑处理;
服务器端采用kserver.keystore中的私钥进行数据加密,发送给客户端,客户端采用tclient.keystore中的server.crt证书对数据解密,如果解密成功,证明消息来自可信的服务器端,进行逻辑处理。如果解密失败,那么证明消息来源错误。不进行逻辑处理。

SSL Socket双向认证的安全性:
(1)可以确保数据传送到正确的服务器端和客户端。
(2)可以防止消息传递过程中被窃取。
(3)防止消息在传递过程中被修改.。

在系统运行中可能出现以下情况:
(1)
服务器端、客户端都持有正确的密钥和安全证书,此时服务器端和客户端可以进行正常通信。
(2)
客户端的密钥和安全证书不正确,此时服务器端和客户端不可以进行正常通信。
(3)
客户端未持有密钥和安全证书,此时服务器端和客户端也不可以进行正常通信。

HTTPS和HTTP的区别

2.2.1   SSL协议分两层:

2、加密数据以便隐藏被传送的数据:SSL安全协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。

  超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等

2.2.1.1  SSL记录协议(SSLRecord Protocol)

它建立在可靠的传输协议之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

3、保护数据的完整性:SSL安全协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

2.2.1.2  SSL握手协议(SSLHandshake Protocol)

它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

既然SSL安全证书具有如此大的作用,那么企业该如何选购一款放心的安全证书呢?目前市场上有各种各样的SSL证书,自建的,免费的,还有收费的。自建的SSL证书,一般是自建PKI系统颁发的证书,它没有经过第三方认证,容易被假冒和伪造,存在安全风险;自签SSL证书则容易受到SSL中间人攻击以及没有可访问的吊销列表等缺点,所以不建议使用自建SSL证书。免费SSL证书的设备和浏览器兼容性一般,且有些浏览器并不支持免费的SSL证书。

  HTTPS和HTTP的区别主要为以下四点:

2.2.2   SSL功能

1.
客户对服务器的身份认证:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心CA的证书,来确认服务器的合法性。

2.
服务器对客户的身份认证:也可以通过公钥技术和证书进行认证,也可以通过用户名和密码来认证。

3.
建立服务器与客户之间安全的数据通道:SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查数据得完整性。

这里强烈推荐业界公认专业、优质的U-Mail邮件系统的SSL安全证书,它具有显著优点:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。

2.2.3   SSL协议工作的基本流程

  1. 接通阶段:客户机通过网络向服务器打招呼,服务器响应。

2.
密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法。

  1. 会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码。

  2. 检验阶段:客户机检验服务器获得的密码。

  3. 客户认证阶段:服务器验证客户机的可行度。

  4. 结束阶段:客户机与服务器之间相互交换结束的信息。

1、多达128位的SSL加密,达到军事等级的安全;

二、http是超文本传输协议,信息是明文传输,https
则是具有安全性的ssl加密传输协议。

2.2.4   SSL安全实现原理

SSL提供了用于启动TCP/IP连接的安全性“信号交换”:

1.
这种信号交换导致客户和服务器同意将使用的安全性级别,并履行连接的任何身份验证要求。

2. 通过数据签名和数字证书可实现浏览器和WEB服务器双向身份认证。

  1. 在用数字证书对双方身份验证后,双方就可以用保密密钥进行安全会话了。

2、受到国际上权威第三方SSL评测机构SSL LABS高等级安全评级;

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

2.2.5   SSL协议结构

新浦京www81707con 2

 

Ø  SSL协议定义了两个通信主题:客户(Client)和服务器(Server)。

Ø 
在客户/服务器结构中,应用层从请求服务和提供服务的角度定义客户和服务器。

Ø  SSL协议则从建立加密参数的过程中所扮演的角色来定义客户和服务器。

Ø  SSL协议包含四个阶段:

(1). 建立安全能力;

(2). 服务器鉴别和密钥交换;

(3). 客户鉴别和密钥交换;

(4). 完成握手协议;

3、兼容全球PC/手机各浏览器,包括Outlook等客户端。

四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

1.1.1   SSL协议工作基本流程

Ø  服务器认证阶段:

(1). 客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接。

(2).
服务器根据客户信息确认是否需要生成新的主密钥,如果需要则服务器响应客户的“Hello”信息时将包含生成主密钥所需的信息。

(3).
客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器。

(4).
服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

Ø  用户端认证阶段:

(1).
在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户端的认证。经认证的服务器发送一个提问给客户,客户则返回数字签名后的提问和其公开密钥,从而向服务器提供认证。

新浦京www81707con 3

如果您安装了U-Mail邮件系统,那么在邮件传输时,即使遭遇窃密等事故,由于SSL安全证书的存在,保证呈现在客户面前的也是一堆乱码,不会丢失数据。

 

 

选择U-MAIL,选择高品质!16年专注邮箱经验,打造安全稳定邮件系统,欢迎大家免费下载试用!返回搜狐,查看更多

解决问题

1.1.1   SSL流程图

Ø  流程图

新浦京www81707con 4

Ø  身份验证

新浦京www81707con 5

Ø  发明密语规则

新浦京www81707con 6

Ø  密语规则共享

新浦京www81707con 7

Ø  进行安全通信

新浦京www81707con 8

责任编辑:

一、信任主机的问题

1.1.1  SSL详细说明

基于SSL一般都使用单向认证,如果应用场景要求对客户来源做验证也可以实现双向认证。

以下重点介绍SSL协议的握手协议。SSL协议即用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术速度快,可是公钥加密数据提供了更好的身份认证技术。SSL的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:

(1).
客户端的浏览器向服务器传送客户单SSL协议的版本号,加密算法种类,产生的随机数,以及其他服务器和客户端之间通信所需要的各种信息。

(2).
服务器向客户端传送SSL协议版本号,加密算法种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书(也就是公钥)。

(3).
客户利用服务器传送过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开,如果合法性验证通过,将继续进行第四步。

(4).
用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥对其机密,然后加密后的“预主密码”传给服务器。

(5).
如果服务器要求客户的身份认证(也就是要双向认证,在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。

(6).
如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书废止列表(CRL)中,检验如果没有通过,通讯立刻中断,如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同相同的主通讯密码)。

(7).
服务器和客户端用相同的密码即“通话密码”,一个对称密钥用于SSL协议的安全通讯的加解密通讯。同时在SSL通讯过程中还要保证通讯的完整性,防止数据通讯中产生任何变化。

(8).
客户端向服务器端发送信息,指明后面的数据通讯将使用步骤7的主密码为对称密钥,同时通知服务器客户端的握手过程结束。

(9).
服务器向客户端发出信息,指明后面的数据通讯将使用步骤7中的主密码为对称密钥,同时通知客户端服务器的握手过程结束。

(10).
SSL的握手部分结束,SSL安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行通讯,同时进行通讯完整性的检验。

  采用https的服务器必须从CA (Certificate
Authority)申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。所以所有的银行系统网站,关键部分应用都是https
的。客户通过信任该证书,从而信任了该主机。其实这样做效率很低,但是银行更侧重安全。这一点对局域网对内提供服务处的服务器没有任何意义。局域网中的服务器,采用的证书不管是自己发布的还是从公众的地方发布的,其客户端都是自己人,所以该局域网中的客户端也就肯定信任该服务器。

1.1.2   SSL双向认证具体过程

新浦京www81707con,如果是双向认证,就会有三个私钥和三个证书,分别是ca.key,ca.crt,server.key,server.crt,client.key,client.crt。

如果使用有CA证书的单向认证,证书和私钥就是ca.key,ca.crt,server.key,server.crt。

如果使用无CA证书的单向认证,证书和私钥就是server.key,server.crt。

双向认证SSL协议的具体通讯过程如下,在这个情况下服务器和用户双方都需要有证书,单向认证SSL部需要客户拥有CA证书,具体的过程相对于下面的步骤,只需要将服务器验证客户证书过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的密码方案。

(1). 浏览器发送一个连接请求给安全服务器。

(2). 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

(3).
客户浏览器检查服务器过来的证书是否是自己信赖的CA中心所签发的,如果是,就继续执行协议。如果不是,客户浏览器就给客户一个警告消息,警告客户这个证书不是信赖的,询问客户是否需要继续。

(4).
接着客户浏览器会比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

(5).
服务器要求客户发送客户自己的证书,收到后,服务器验证客户的证书,如果没有通过验证,拒绝链接。如果通过验证,服务器获得用户的公钥。

(6). 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

(7).
服务器从客户发送过来的密码方案中,选择一种加密程序最高额密码方案,用客户的公钥加过密通知浏览器。

(8).
浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

(9).
服务器接收到浏览器传送过来的消息,用自己的私钥解密,获得通话密钥。

(10).服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

 

 

二、通讯过程中的数据的泄密和被篡改

1. 一般意义上的https,就是服务器有一个证书。

a) 主要目的是保证服务器就是他声称的服务器,这个跟第一点一样。

b)服务端和客户端之间的所有通讯,都是加密的。

i.
具体讲,是客户端产生一个对称的密钥通过服务器证书交换密钥,即一般意义上的握手过程。

ii. 接下来所有的信息往来就都是加密的。第三方即使截获,也没有任何意义,因为他没有密钥,当然篡改也就没有什么意义了。

2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书。

a)
这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个CA
认证过的身份
。因为个人证书一般来说是别人无法模拟的,所有这样能够更深的确认自己的身份。

b)
目前大多数个人银行的专业版是这种做法,具体证书可能是拿U盘(即U盾)作为一个备份的载体。

 

不足

  它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持。

  一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者会尝试窃听传输中的数据。

  商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction
number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。 

  TLS 1.1之前,这段仅针对TLS
1.1之前的状况。因为SSL位于http的下一层,并不能理解更高层协议,通常SSL服务器仅能颁证给特定的IP/端口组合。这使指它经常不能在虚拟主机(基于域名)上与HTTP正常组合成HTTPS。

  这一点已被即将来临的TLS 1.1更新为—种完全支持基于域名的虚拟主机。

 

SSL简介

  SSL(Secure Sockets
Layer 安全套接层),及其继任者传输层安全(Transport Layer
Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

 

SSL协议主要服务

 

1)认证用户和服务器,确保数据发送到正确的客户机和服务器

2)加密数据以防止数据中途被窃取

3)维护数据的完整性,确保数据在传输过程中不被改变。

 

SSL协议工作流程

 

服务器认证阶段:

1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接

2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:

  在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

 

数字证书

新浦京www81707con 9

 SSL握手协议的作用

  • 验证实体身份
  • 协商秘钥交换算法
  • 压缩算法和加密算法
  • 完成秘钥交换以及生成秘钥等

 

SSL的握手过程

  SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL
的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:

①客户端的浏览器向服务器传送客户端SSL
协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

②服务器向客户端传送SSL
协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。

③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA
是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。

④用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。

⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。

⑥如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA
是否可靠,发行CA 的公钥能否正确解开客户证书的发行CA
的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。

⑦服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL
协议的安全数据通讯的加解密通讯。同时在SSL
通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。

⑧客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。

⑨服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。

⑩SSL 的握手部分结束,SSL
安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。

 

   致谢:感谢您的耐心阅读!

相关文章