数字证书杂谈

一、ca 历史 为什么需要ca。
在公开的计算机网络中传输信息,安全性是个严峻的问题。比如现实中A想给某人B传一个机密文件,首先先到用【对称加密】算法加密文件,然后发给B,这时候B查看文件需要拿到【堆成加密】
的秘钥,这时候问题又出现了,如何传输秘钥给B呢?又回到了先有鸡还是先有蛋的问题了。
后来出现了非对称加密,步骤是这样的:

0.事先,A,B将自己的公钥公布。
1.A使用对称加密秘钥D_K对明文加密得到密文。
2.A使用B的公钥加密 第一步对称加密的秘钥D_K_pub 得到。
3.A需要向B证明 发送者是自己,需要使用A自己的私钥对数据进行签名Asigned,B对签名进行验证即可知道是A发送的。
4.A传输密文,对称加密秘钥DD_K_pub,自己的签名Asigned。
5.B拿到报文后,使用A的公钥进行签名验证,再使用B的私钥进行对称加密秘钥解密,然后对密文解密,得到密文。

这里又面临新的问题,A的公钥如何传递,即A如何证明自己是A。
这时候需要引入第三方机构来证明,这个机构就是ca,证书的作用就是证明确认身份。


二、几个概念:
0.PKI (Public Key Infrastructure)公钥基础设置,PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。完整pki应用系统应该包含5个部分:

1.CA (Certification Authority) 认证中心,ca是核心部分,负责pki结构下的所有用户证书管理,把用户公钥和用户身份信息绑在一起,用作身份验证,还负责证书的黑名单登记和黑名单发布
它以数字证书为核心的加密技术(加密传输、数字签名、数字信封等安全技术)可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性及交易的不可抵赖性
2.X.500 目录服务器 X.500 目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP 协议查询自己或其他人的证书和下载黑名单信息
3.具有高强度密码算法(SSL)的安全WWW服务器 Secure socket layer(SSL)协议最初由Netscape 企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
4.Web(安全通信平台) Web 有Web Client 端和Web Server 端两部分,分别安装在客户端和服务器端,通过具有高强度密码算法的SSL 协议保证客户端和服务器端数据的机密性、完整性、身份验证。
5. 自开发安全应用系统 自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券的应用系统等。


三、CA 证书包含内容:
1-证书颁发机构
2-证书有效期
3.使用者
4-公钥
5-签名算法
6-签名hash算法
7-指纹 (保证证书完整性-没有被篡改)

证书的内容和意义

Version 告诉这个X.509证书是哪个版本的,目前有v1、V2、v3
Serial Number 由证书分发机构设置证书的序列号
Signature Algorithm Identifier 证书采用什么样的签名算法
Issuer Name 证书发行者名,也就是给这个证书签名的机构名
Validity Period 证书有效时间范围
Subject Name 被证书发行机构签名后的公钥拥有者或实体的名字,采用X.500协议,在Internet上的标志是惟一的。例如:CN=Java,OU=Infosec,O=Infosec Lab,C=CN表示一个subject name。


四、如何获取CA证书

申请SSL证书主要需要经过以下3个步骤:
1.制作CSR文件。
CSR就是Certificate Signing Request证书请求文件。这个文件是由申请人制作,在制作的同时,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。
要制作CSR文件,申请人可以参考WEB SERVER的文档,一般APACHE等,使用OPENSSL命令行来生成KEY+CSR2个文件,Tomcat,JBoss,Resin等使用KEYTOOL来生成JKS和CSR文件,
IIS通过向导建立一个挂起的请求和一个CSR文件。
2.CA认证。
将CSR提交给CA,CA一般有2种认证方式:
1.域名认证,一般通过对管理员邮箱认证的方式,这种方式认证速度快,但是签发的证书中没有企业的名称;
2.企业文档认证,需要提供企业的营业执照。一般需要3-5个工作日。 也有需要同时认证以上2种方式的证书,叫EV证书,这种证书可以使IE7以上的浏览器地址栏变成绿色,所以认证也最严格。
3.证书的安装。
在收到CA的证书后,可以将证书部署上服务器,一般APACHE文件直接将KEY+CER复制到文件上,然后修改HTTPD.CONF文件;TOMCAT等,需要将CA签发的证书CER文件导入JKS文件后,复制上服务器,
然后修改SERVER.XML;IIS需要处理挂起的请求,将CER文件导入。


其实是需要提供公钥给ca即可。


五、SSL 证书


六、U盾--直接发到用户手里的CA认证书:由于对CA认证的验证过程是在用户的浏览器里进行的,为了防止黑客劫持了用户的浏览器,在认证过程中做手脚,银行为网银用户发放U盾,
直接将CA证书发到用户手里,防止了浏览器劫持带来的问题。

猜你喜欢

转载自www.cnblogs.com/luoluoshidafu/p/9504123.html