安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议

CA数字证书

数字证书(Certificate Authority)是由权威机构——CA机构发行的,是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
特点:

安全性、唯一性、方便性

分类:

服务器证书、电子邮件证书、个人证书

格式:

数字证书的格式普遍采用的是X.509V3国际标准,X.509是由国际电信联盟(ITU-T)制定的数字证书标准。数字证书标准包括:X.509版本号、证书持有人的公钥、证书的序列号、主题信息、证书的有效期、认证机构、发布者的数字签名、签名算法标识符。
颁发过程和原理

安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议_第1张图片
图:数字证书的颁发过程

我们在申请数字证书时一般是由CA中心首先生成用户的密匙对,每个用户都有自有的独一无二的两个相互验证配合的电子文件即公匙和私匙,他们可以对数据进行加密、解密工作。私匙仅为本人所知,用户自己设定的,用它进行解密和签名,是用户私有文件。公匙是经过服务器验证过的用户可以公开展示给他人,是一组多个用户的共享文件,主要作用是加密和验证私匙的签名。如果发送一份需要保密文件,用户事先将公匙从文件接收方拷贝过来,然后使用公钥对即将发送的电子邮件或其他需要加密文件用私匙进行加密,再通过邮件或其他手段发送给别人,信息就可以安全无误地到达目的地了,而且只有收件人拥有公匙才能解密。用户将确定自己身份的标示文件用私匙加密,只有拥有公匙的用户才能正确识别,数字加密的手段保证加密是一个不可逆过程,只有用私有密钥相与之配对才能解密,这样来维护互联网上用户身份的唯一性。

X.509标准

X.509标准是ITU-T设计的PKI (Public Key Infrastructure: 公钥基础设施) 标准,它是为了解决X.500目录中的身份鉴别和访问控制问题而设计的。为了提供公用网络用户目录信息服务,ITU于1988年制定了X.500系列标准。其中X.500和X.509是安全认证系统的核心,

X.500 定义了一种区别命名规则,以命名树来确保用户名称的唯一性;X.509则为X.500 用户名称提供了通信实体鉴别机制,并规定了实体鉴别过程中广泛适用的证书语法和数据接口, X.509 称之为证书。

在X.509系统中,CA签发的证书依照X.500的管理,绑定了一个唯一识别名,主流浏览器会预先安装一部分证书,这些根证书都是受信任的证书认证机构CA。如果签发证书的根证书在浏览器的根信任列表中,浏览器就会主动识别该证书是安全的,反之,浏览器就会提出一个警告。

在X.509方案中,默认的加密体制是公钥密码体制。目前版本X.509V1、X.509 V2、X.509 v3和X.509 V4, 目前普遍采用的格式版本是国际电信联盟(ITU)制定的ITU-Trec.X.509V3标准。都在原有版本基础上进行功能的扩充,其广泛使用于web浏览器中。

要申请X.509证书,请求CA颁发证书。用户提供自己的公钥,证明自己拥有相应的私钥,并提供有关自己的某些特定信息。然后在这些信息上数字签名,并将整个数据包(称为证书请求)发给CA。CA来验证用户提供的信息是正确的,然后就生成证书并返回给用户。如图数字证书的颁发过程。

SSL证书

SSL证书是数字证书的一种,遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能,弥补HTTP协议是明文传输的缺点。

SSL协议(Secure Sockets Layer):安全套接层

1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。

SSL协议提供的安全通道有以下三个特性

1)机密性:SSL协议使用密钥加密通信数据。
2)可靠性:服务器和客户都会被认证,客户的认证是可选的。
3)完整性:SSL协议会对传送的数据进行完整性检查

当前为SSL3.0版本,可通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证。最新的高端SSL证书产品是扩展验证(EV)SSL证书。在IE7.0、FireFox3.0、Opera 9.5等新一代高安全浏览器下,使用扩展验证VeriSign(EV)SSL证书的网站的浏览器地址栏会自动呈现绿色,从而清晰地告诉用户正在访问的网站是经过严格认证的。

其SSL的客户端与服务器端的认证握手如下:

安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议_第2张图片
图:SSL的客户端与服务器端的认证握手

HTTPS协议

HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议
HTTPS内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS应用了完全套接字层(SSL)作为HTTP应用层的子层(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信)。SSL使用40位关键字作为RC4流加密算法,很适合于商业信息的加密。HTTPS和SSL支持使用X.509数字认证。

HTTPS是以安全为目标的HTTP通道,是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。

安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议_第3张图片

整个通信过程即HTTPS加密过程如下:

安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议_第4张图片
图:HTTPS加密过程

Java Web使用Httpst通信

步骤:

1)经第三方认证颁发证书
2)配置Tomcat服务器
3)服务器加载证书
4)web客户端进行https登陆

参考资料

1 SSL协议详解
2 数字证书
3 CA基本常识X.509标准
4 HTTPS和SSL/TLS协议
5 Java WEB HTTPS使用详解
6 架设CA服务器实现https通信,web服务器使用CA自签证书与https通信

你可能感兴趣的:(安全标准、CA数证书、X.509标准、SSL证书和HTTPS协议)