上海CA中心|数字证书是如何生成的?


北京联盟_本文原题:数字证书是如何生成的?
上海CA中心|数字证书是如何生成的?
本文插图

数字证书是如何生成的?
数字证书是数字证书在一个身份和该身份的持有者所拥有的公/私钥对之间建立了一种联系 , 由认证中心(CA)或者认证中心的下级认证中心颁发的 。 根证书是认证中心与用户建立信任关系的基础 。 在用户使用数字证书之前必须首先下载和安装 。
上海CA中心|数字证书是如何生成的?
本文插图

认证中心是一家能向用户签发数字证书以确认用户身份的管理机构 。 为了防止数字凭证的伪造 , 认证中心的公共密钥必须是可靠的 , 认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性 , 后一种方法导致了多级别认证中心的出现 。
数字证书颁发过程如下:用户产生了自己的密钥对 , 并将公共密钥及部分个人身份信息(称作P10请求)传送给一家认证中心 。 认证中心在核实身份后 , 将执行一些必要的步骤 , 以确信请求确实由用户发送而来 , 然后 , 认证中心将发给用户一个数字证书 , 该证书内附了用户和他的密钥等信息 , 同时还附有对认证中心公共密钥加以确认的数字证书 。 当用户想证明其公开密钥的合法性时 , 就可以提供这一数字证书 。
证书的产生:认证中心把用户证书的基本信息做哈希算法 , 然后用自己的私钥对哈希值进行加密 。
【上海CA中心|数字证书是如何生成的?】上海CA中心|数字证书是如何生成的?
本文插图

数字证书是如何分发的?
CA将证书分发给用户的途径有多种 。 第一种途径是带外分发(Out-of-band Distribution) , 即离线方式 。 例如 , 密钥对是由软件运营商代替客户生成 , 证书也是由运营商代替客户从CA下载 , 然后把私钥和下载的证书一起储存在软盘里 , 再交给用户的 。 这样做的好处是免去了用户上网下载证书的麻烦 。 第二种途径是带内分发(In-band distribution) , 即用户从网上下载数字证书到自己的电脑中 。 下载时 , 用户要向CA出示“参考号”和“授权码” , 以向CA证明自己的身份 。 这样做成本较低 , 但对使用计算机不太熟悉的用户来说 , 可能在下载时会碰到一些麻烦 。 除了以上两种方式外 , CA还把证书集中放置在公共的数据库中公布 , 用户可以随用随查询随调用 。
数字证书是如何存储的?
数字证书和私钥储存的介质有多种 , 大致分为硬证书和软证书 。 可以存储在计算机硬盘、软盘、智能卡或USB key里 。
1、关于私钥的唯一性
严格地讲 , 私钥既然是世上唯一且只由主体本身持有 , 它就必须由主体的计算机程序来生成 。 因为如果在别处生成将会有被拷贝的机会 。 然而在实际应用上并非如此 , 出于某些特殊需要(例如 , 如果只有一份私钥 , 单位的加密文件就会因为离职员工带走 私钥而无法解密 。 )加密用的公/私钥对会要求在可信的第三方储存其备份 。 这样 , 加密用的私钥可能并不唯一 。 然而签名用的私钥则必须保持唯一 , 否则就无法保证被签名信息的不可否认性 。
在生成用户的密钥对时 , 用于加密的公/私钥对可以由CA、RA产生 , 也可以在用户终端的机器上用专用的程序(如浏览器程序或认证软件)来产生 。 用于数字签名的密钥对原则上只能由用户终端的程序自行产生 , 才能保证私钥信息的私密性以及通信信息的不可否认性 。
有人可能会产生疑问:有的加密和签名的密钥对都是由软件运营商代替客户生成的 , 这是否破坏了上述的私钥唯一性原则呢?答案是否定的 。 这时候 , 私钥的唯一性要依靠法律合同的保证以及操作过程中相应制度的约束 , 使得不可否认性得到支持 。 出于这种机制 , 我们仍然可以认为 , 用户的签名私钥是唯一的 。


推荐阅读