SSL协议的工作流程

SSL协议的工作流程

服务器认证阶段:

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

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

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

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

用户认证阶段

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

从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

握手过程

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

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

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

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

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

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

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

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

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

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

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

名词释义

如果要启用SSL通道,那么需要使用SSL证书来启用https协议,SSl证书包含信息:

证书版本号,不同版本的证书格式不同

Serial Number 序列号,同一身份验证机构签发的证书序列号唯一

Algorithm Identifier  签名算法,包括必要的参数Issuer 身份验证机构的标识信息

Period of Validity  有效期

Subject 证书持有人的标识信息

Subject’s Public Key 证书持有人的公钥

Signature 身份验证机构对证书的签名

证书的格式  认证中心所发放的证书均遵循X.509 V3 标准,其基本格式如下:

证书版本号(Certificate Format Version)

含义:用来指定证书格式采用的X.509 版本号。

证书序列号(Certificate Serial Number)

含义:用来指定证书的唯一序列号,以标识CA 发出的所有公钥证书。

签名(Signature)算法标识(Algorithm Identifier)

含义:用来指定 CA 签发证书所用的签名算法。

签发此证书的 CA 名称(Issuer )

含义:用来指定签发证书的 CA 的X.500 唯一名称(DN,Distinguished Name)。

证书有效期(Validity Period)起始日期(notBefore) 终止日期(notAfter)

含义:用来指定证书起始日期和终止日期。

用户名称(Subject)

含义:用来指定证书用户的X.500 唯一名称(DN,Distinguished Name)。

用户公钥信息(Subject Public Key Information)算法(algorithm) 算法标识(Algorithm Identifier)用户公钥(subject Public Key)

含义:用来标识公钥使用的算法,并包含公钥本身。

证书扩充部分(扩展域)(Extensions)

含义:用来指定额外信息。

X.509 V3 证书的扩充部分(扩展域)及实现方法如下:

CA 的公钥标识(Authority Key Identifier)

公钥标识(SET 未使用)(Key Identifier)

签发证书者证书的签发者的甄别名(Certificate Issuer)

签发证书者证书的序列号(Certificate Serial Number)

X.509 V3 证书的扩充部分(扩展域)及实现CA 的公钥标识(Authority Key Identifier)

公钥标识(SET 未使用)(Key Identifier)

签发证书者证书的签发者的甄别名(Certificat签发证书者证书的序列号(Certificate Serial Number)

含义:CA 签名证书所用的密钥对的唯一标识用户的公钥标识(Subject Key Identifier)

含义:用来标识与证书中公钥相关的特定密钥进行解密。

证书中的公钥用途(Key Usage)

含义:用来指定公钥用途。

用户的私钥有效期(Private Key Usage Period)起始日期(Note Before) 终止日期(Note After)

含义:用来指定用户签名私钥的起始日期和终止日期。

CA 承认的证书政策列表(Certificate Policies)

含义:用来指定用户证书所适用的政策,证书政策可由对象标识符表示。

用户的代用名(Substitutional Name)

含义:用来指定用户的代用名。

CA 的代用名(Issuer Alt Name)

含义:用来指定 CA 的代用名。

基本制约(Basic Constraints)

含义:用来表明证书用户是最终用户还是CA。 在SET 系统中有一些私有扩充部分(扩展域)Hashed Root Key 含义:只在根证书中使用,用于证书更新时进行回溯。

证书类型(Certificate Type)

含义:用来区别不同的实体。该项是必选的。

商户数据(Merchant Data)

含义:包含支付网关需要的所有商户信息。

持卡人证书需求(Card Cert Required)

含义:显示支付网关是否支持与没有证书的持卡人进行交易。

SET 扩展(SETExtensions)

含义:列出支付网关支持的支付命令的 SET 信息扩展。

CRL 数据定义版本(Version)

含义:显示 CRL 的版本号。

CRL 的签发者(Issuer)

含义:指明签发 CRL 的CA 的甄别名。

CRL 发布时间(this Update)预计下一个 CRL 更新时间(Next Update)撤销证书信息目录(Revoked Certificates) CRL 扩展(CRL Extension)CA 的公钥标识(Authority Key Identifier)CRL 号(CRL Number)

SSL证书种类

CFCA,GlobalSign,VeriSign ,Geotrust ,Thawte 。

域名型 https 证书(DVSSL):信任等级一般,只需验证网站的真实性便可颁发证书保护网站;

企业型 https 证书(OVSSL):信任等级强,须要验证企业的身份,审核严格,安全性更高;

增强型 https 证书(EVSSL):信任等级最高,一般用于银行证券等金融机构,审核严格,安全性最高,同时可以激活绿色网址栏。

原文地址:https://www.cnblogs.com/anyiz/p/10737159.html

时间: 2024-10-03 08:21:50

SSL协议的工作流程的相关文章

SSL协议握手工作流程详解(双向HTTPS流程)

参考学习文档:http://www.cnblogs.com/jifeng/archive/2010/11/30/1891779.html SSL协议的工作流程: 服务器认证阶段: 1)客户端向服务器发送一个开始信息"Hello"以便开始一个新的会话连接: 2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的"Hello"信息时将包含生成主密钥所需的信息: 3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器

ssl协议工作流程详解

SSL 协议 (HTTPS) 握手.工作流程详解 (双向 HTTPS 流程 )SSL 协议的工作流程:服务器认证阶段: 1)客户端向服务器发送一个开始信息"Hello"以便开始一个新的会话连接; 2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的"Hello"信息时将包含生成主密钥所需的信息; 3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器; 4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信

SSL协议(HTTPS) 握手、工作流程详解(双向HTTPS流程)

SSL协议的工作流程: 服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接:2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息:3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器:4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器.      用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证

【转】SSL协议、SET协议、HTTPS简介

一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密码和通讯内容,保证了您个人内容的安全. 具体地说,SSL (Secure Socket Layer) 为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络 上之传输过程中不会被截取及窃听.目前一般通用之规格为40 bit之安

https SSL协议详解(转)

https协议详解 SSL (Secure Socket Layer) HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 https协议详解      HTTPS以保密为目标研发,简单讲是HTTP的安全版.其安全基础是SSL协议,因此加密的详细内容请看SSL.全称Hypertext Transfer Protocol over Secure Socket Layer.       它是一个URI scheme,句法类同http:体系.它使用了H

HTTPS协议工作流程

被问到了,复习一下HTTPS的工作流程 提到https,不得不提SSL SSL 1.        安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议. 2.    SSL协议的三个特性 Ø  保密:在握手协议中定义了会话密钥后,所有的消息都被加密. Ø  鉴别:可选的客户端认证,和强制的服务器端认证. Ø  完整性:传送的消息包括消息完整性检查(使用MAC). 3.    SSL的位置 客户端在使用HTTPS方式与Web服务器通信

ARP协议工作流程

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源.地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记

XMPP 协议工作流程详解

XMPP 要点. 1. 客户端(C) 和服务器端(S) 通过TCP连接5222端口进行全双工通信. 2. XMPP 信息均包含在 XML streams中.一个XMPP会话, 开始于<stream> 标签, 并结束于</stream>标签.所有其他的信息都位于这俩标签之间. 3. 出于安全目的考虑, 开始<stream>之后, 后续的内容会被适度的使用 Transpor Layer Security (TLS) 协商传输 和强制性的 Simple Authenticat

HTTP协议概念及工作流程

HTTP协议:简单点就是客户端怎么问,服务器怎样答. 重要性:webservice 还是rest做大型架构都离不开对http协议的认识,甚至可以简化的说webservice =  http + XML:Rest = HTTP + json:各种API,也是用http+ xml/json来实现. 做小偷站,采集,ajax也都需要对http协议了解. 工作流程: 1)首先客户机与服务器需要建立连接.只要单击某个超级链接,HTTP的工作开始. 2)建立连接后,客户机发送一个请求给服务器,请求方式的格式