数字证书
数字证书(Digital Certificate)又叫“数字身份证”、“网络身份证”,是由证书认证机构 CA 签名并下发,包含公开密钥拥有者信息、公开密钥、签发者信息、有效期、证书认证中心(CA)数字签名以及扩展信息的一种电子文件(数据结构),可以用来证明数字证书持有者的真实身份;是各类终端实体和最终用户在网上进行信息交流及商业活动的身份证明,在电子交易的各个缓解,交易的各方都需要验证对方数字证书的有效性,从而解决相互间的信任问题。
证书是一个电子文件/电子凭证,用于在网络环境中证明身份;
证书在网络中的作用类似现实生活中的身份证;
证书包含的信息与身份证类似,可以类比;
证书的验证(防伪)与身份证(驾照)验证(防伪)类似,可以类比;
证书的管理也可以与身份证(驾照)类比,有申请、签发、作废、更新等机制,有相关管理机构;
数字证书必要性
1、技术需求
-
证明公钥信息的归属,确认公钥是否合法,公钥传递全过程可能遭遇中间人攻击,
2、业务要求,安全需求
-
提供业务系统双因素认证;
-
提高业务系统用户登录安全性、强身份认证、数据加密;
3、政策要求,政策支持
-
电子签名法;
-
法律法规及行业规范,等保要求;
-
其他行业法规;
数字证书内容
数字证书即公钥的载体!数字证书密钥持有者身份提供证明,数字证书包含被证明人的基本信息及其公钥信息,主要包含以下信息:
数字证书类型
数字证书按类别可以分为个人证书、机构证书和设备证书,按用途可以分为签名证书和加密证书,签名证书是用于证书签名公钥的数字证书,加密证书是用于证明加密公钥的数字证书。
签名证书
密钥在客户端产生,私钥自己保持,公钥提交给CA签发证书并公布。
-
签名用证书,包括:私钥+公钥证书;验签用证书,根证书(信任域证书)
-
如果是RAW或者Detech,可能涉及对手公钥证书,以及对手公钥证书同步,配置CRL
应用:身份证明、电子签名、密钥丢失无需恢复,重发证书即可
加密证书
密钥在服务端产生,公私钥均在服务端的KMC有记录/备份,私钥下发到客户端保存和使用,公钥交给CA签发证书并公布。
应用:数据加密,加密数据可以由服务端备份的私钥解密、客户端私钥丢失可以通过CA找
数字证书证书链
证书链形成
-
根CA:
由根 CA 自己产生一对公钥、私钥(加密机产生、存储),用私钥对自己CA的信息和公钥做数字签名(加密机运算),并封装签发出根CA证书
-
中级CA:
中级 CA 生成一对公钥、私钥(加密机产生、存储),用根CA私钥将中级CA 的信息和公钥进行数字签名(加密机运算),并封装得到中级CA证书。上一级 CA 都是按照这个逻辑给下一级CA 进行签发证书。
-
用户证书:
最后的 CA(运营CA)私钥对用户信息和公钥进行数字签名得到用户证书。用户证书分为签名证书和加密证书,签发流程不同。
证书这一级一级的关系就形成了证书链。
数字证书发放
CA将证书分发给用户的途径有多种。第一种途径是带外分发(Out-of-band Distribution),即离线方式。例如,密钥对是由软件运营商代替客户生成,证书也是由运营商代替客户从CA下载,然后把私钥和下载的证书一起储存在软盘里,再交给用户的。这样做的好处是免去了用户上网下载证书的麻烦。第二种途径是带内分发(In-band distribution),即用户从网上下载数字证书到自己的电脑中。下载时,用户要向CA出示“参考号”和“授权码”,以向CA证明自己的身份。这样做成本较低,但对使用计算机不太熟悉的用户来说,可能在下载时会碰到一些麻烦。除了以上两种方式外,CA还把证书集中放置在公共的数据库中公布,用户可以随用随查询随调用。
证书签发过程:
前提:已完成证书申请过程,拿到了下载证书的参考号和授权码:
1.客户端产生公私钥对;
2.公钥及用户申请信息经过私钥签名组成申请文件(CSR);
3.CSR+参考号授权码提交到CA端;
4.CA通过参考号授权码验证并查询到申请用户的信息;
5.CA将公钥和申请证书的用户的信息组成证书数据;
6.CA将证书数据用私钥进行数字签名,与证书数据打包成数字证书;
7.数字证书下发到客户端;
8.客户端保存数字证书。
数字证书载体
数字证书和私钥储存的介质有多种,大致分为硬证书和软证书。可以存储在计算机硬盘、软盘、智能卡或USB key里。
1、软件载体
-
证书与私钥以数字文件形式存在
-
无成本,无兼容性问题
-
不能完全阻止私钥复制,不能确保唯一性,依赖于计算机系统自身的安全性
2、IC卡/USB Key载体
-
安全性高,确保证书私钥唯一性和不被复制
-
PIN机制保护私钥
-
驱动与CSP问题
-
有成本,硬件驱动和CSP等的兼容性问题