标签:ca、私有ca
我在这篇博客中讲了加密解密原理和相关算法及其实现:http://starli.blog.51cto.com/8813574/1671408
CA是什么?为什么需要CA? 先看下面的互联网安全通讯模型!
现在互联网上常用的安全通讯模型:
发送方发送数据时执行的步骤如下(分别对应于上图发送方的1、2、3):
1、发送方将需要在互联网上进行安全传输的数据采用单向加密算法提取数据的特征码,然后用自己的私钥加密这段特征码放在数据的尾部;
2、发送方生成一个一次性的对称加密算法的秘钥,然后使用对称加密算法和生成的秘钥将数据和加密后的特征码加密后生成密文;
3、将上一步对称加密用到的秘钥使用接收方的公钥加密后放在密文的后面;随后就可以将数据放到互联网上进行传输。
接收方接收到数据后执行的步骤如下(分别对应于上图接收方的1、2、3):
1、接收方接收到数据后,用自己的私钥解密加密后的对称加密算法的秘钥。(如果能解密则能验证数据的机密性)
2、接收方用解密后得到的对称加密算法的秘钥后使用与发送方同样的对称加密算法解密加密的数据和加密的数据的特征码。
3、接收方使用与发送方相同的单向加密算法提取解密后的数据的特征码,而后使用发送方的公钥对上一步解密得到的加密的数据的特征码(如果能解密,则可以发送接收方的身份),并比较这两个特征码进行比较是否一致。(如果一致,则可以验证数据的完整)。
在上面的通讯过程中,由于公钥是公开的,任何人都可以得到并使用。那么在互联网上的安全通讯过程中,通讯双方如何可靠的得到对方的公钥呢?这就需要一种手段来实现。CA其实就是实现让通讯双方可靠的得到对方公钥的一种手段。CA的实现方式是通过给通讯者颁发证书,目前通用的证书格式为x509,证书基本格式如下:
如果想使用证书在互联网上进行安全通讯,那么就需要构建私有CA,颁发证书时也有一个流程 ,具体流程和步骤如下:
建立私有CA服务器:
1、给CA自己生成私钥
2、然后提取CA的私钥中的公钥给自己颁发一个自签证书
3、初始化CA工作环境
客户端申请证书
1、在本地生成证书签署请求
2、将请求复制到CA服务器上
3、CA签署证书
4、将证书传给客户端
有了CA颁发的证书之后,通讯过程如下(这个过程也称之为ssl会话建立的过程):
未完待续。。。。。
本文出自 “木屋科技” 博客,请务必保留此出处http://starli.blog.51cto.com/8813574/1671772
标签:ca、私有ca
原文地址:http://starli.blog.51cto.com/8813574/1671772