没有合适的资源?快使用搜索试试~ 我知道了~
SSL的验证以及SSL的定义
4星 · 超过85%的资源 需积分: 9 14 下载量 195 浏览量
2010-09-20
14:08:46
上传
评论
收藏 270KB DOC 举报
温馨提示
试读
30页
有关SSL验证的步骤,以及什么是SSL,以及SSL验证的每一步的流程是怎么样的
资源推荐
资源详情
资源评论
SSL 协议与数字证书原理
SSL 协议的握手和通讯
为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议
既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度
快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和
服务器之间完成相互之间的身份认证,其主要过程如下:
① 客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的
随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
② 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信
息,同时服务器还将向客户端传送自己的证书。
③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否
过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发
行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证
没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的
公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务
器。
⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数
然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密
码”一起传给服务器。
⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,
具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的 CA 是否
可靠,发行 CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是
否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务
器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户
端也将通过同样的方法产生相同的主通讯密码)。
⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全
数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通
讯中的任何变化。
⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对
称密钥,同时通知服务器客户端的握手过程结束。
⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称
密钥,同时通知客户端服务器端的握手过程结束。
⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同
的对称密钥进行数据通讯,同时进行通讯完整性的检验。
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果
是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书
不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消
息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有
通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户
的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送
给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方
都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,
只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,
服务器发送给客户的是没有加过密的(这并不影响 SSL 过程的安全性)密码方案。 这样,
双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,
第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方
案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安
全。这也是我们强调要求使用 128 位加密通讯的原因。
证 书 各 部 分 的 含 义
Version 证书版本号,不同版本的证书格式不同
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 N 含义: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 证书有哪几种?如何识别这几种 SSL 证书?
目前市场上支持浏览器的 SSL 证书主要有 4 种,一种是自适应加密强度的普通 SSL 证书,我们
称为“ 超真
SSL
证书 ”,第二种是支持强制 128 位加密强度的增强型 SSL 证书,我们称为“ SGC
超
真
SSL
证书 ”,两者不同在于加密强度的不同,所谓“自适应加密强度”是根据浏览器支持多少位的加
密长度就按多少位加密 ( 如: 40 位、 56 位、 128 位、 256 位等 ) ,而强制 128 位加密强度是
指无论什么版本浏览器都可以强制按照 128 位加密。
第三种是一种简易版(入门级)的只最简单域名所有权验证的 SSL 证书,我们称为“超快
SSL
证
书”,是为了降低成本,满足仅仅有加密需求的小型网站的需要,此证书也是自适应加密强度。第四
种是新推出的 EV SSL 证书,是全球统一严格身份验证标准的 SSL 证书,这此之前的 SSL 证书由于
全球验证标准的不统一而使得欺诈网站也有可能有安全锁标志。
SSL 证书有两个基本功能:网站身份验证和数据加密传输,对于电子商务网站来讲,经过权威第
三方验证过网站的真实身份的证明,比加密信息本身更重要,因为一个不可信的网站 ( 或欺诈网站 )
也可能有 https:// 安全锁标志 ( 主要原因是市场上有不验证网站实体身份,而只验证域名所有权的
SSL 证书 ) 。
所以,绝对不能认为:看到安全锁标志就认为此网站可信 ( 仅能保证机密信息是加密传输的 ) ,
还要看此 SSL 证书是什么类型的证书,从而判断此网站是否真的是网站上所声称的现实世界的某个
公司。
首先,教大家如何识别 EV SSL 证书, IE 7 浏览器地址栏如果变成了绿色,则此 SSL 证书就是
EV SSL 证书,您也能确信此网站的真实身份是通过权威第三方严格身份验证的,真实身份是可信
的,并且所有机密信息是加密传输的。如下图 1 所示,不仅地址栏为绿色,而且地址栏右边安全锁旁
直接显示此网站的公司名称:
而对于其他 3 种 SSL 证书,则地址栏都是白色。以 IE 7 为例,先点击地址栏右边的安全锁标
志,再点击“查看证书”,再点击“详细信息”,再点击“主题”,如下图 2 所示,如果主题信息中的“ O ”
字段 (O = ) 显示公司名称 ( 中文或英文 ) ,则表明此证书属于已经验证网站身份的超真 SSL 证书,
如果没有“ O ”字段或“ O ”字段显示的是网站域名,则此证书属于只验证域名所有权的超快 SSL 证
书,如下图 3 所示和图 4 所示。
WoSign 品牌的“超真 SSL”和“SGC 超真 SSL”、VeriSign 品牌的“Secure Site Pro”和"Secure
Site"、Thawte 品牌的“SGC SuperCerts”和“SSL Web Server”、GeoTrust 品牌的“True
Business ID”都属于已经验证网站身份的超真 SSL 证书。
WoSign 品牌的“超快 SSL”、Thawte 品牌的“SSL123”、GeoTrust 品牌的“QuickSSL
Premium”和“Power Server ID”和“RapidSSL”都属于只验证域名所有权的超快 SSL 证书。
图 2
图 3
剩余29页未读,继续阅读
资源评论
- special_tan2013-08-15还不错哦,看了很受用
- n7473755502015-07-11还可以吧,可以参考参考
zhanglingling1988
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功