区块链技术与密码学学习之数字证书解读

crawler
crawler 2018-10-12 12:19
0 2
文章来源:博客园
原文链接:http://www.cnblogs.com/bruceshao/p/8535378.html
著权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
数字证书用来证明某个公钥是谁的,并且内容是正确的。
对于非对称加密算法和数字签名来说,很重要的一点就是公钥的分发。一旦公钥被人替换(典型的如中间人攻击),则整个安全体系将被破坏掉。
怎么确保一个公钥确实是某个人的原始公钥?
这就需要数字证书机制。
顾名思义,数字证书就是像一个证书一样,证明信息和合法性。由证书认证机构(CertificationAuthority,CA)来签发,权威的CA包括verisign等。
数字证书内容可能包括版本、序列号、签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥、CA数字签名、其它信息等等,一般使用最广泛的标准为ITU和ISO联合制定的X.509规范。
其中,最重要的包括签发的公开密钥、CA数字签名两个信息。因此,只要通过这个证书就能证明某个公钥是合法的,因为带有CA的数字签名。
更进一步地,怎么证明CA的签名合法不合法呢?
类似的,CA的数字签名合法不合法也是通过CA的证书来证明的。主流操作系统和浏览器里面会提前预置一些CA的证书(承认这些是合法的证书),然后所有基于他们认证的签名都会自然被认为合法。
PKI体系提供了一套完整的证书管理的框架。
PKI体系
在非对称加密中,公钥则可以通过证书机制来进行保护,如何管理和分发证书则可以通过PKI(Public Key Infrastructure)来保障。
顾名思义,PKI体系在现代密码学应用领域处于十分基础的地位,解决了十分核心的证书管理问题。
PKI并不代表某个特定的密码学技术和流程,PKI是建立在公私钥基础上实现安全可靠传递消息和身份确认的一个通用框架。实现了PKI的平台可以安全可靠地管理网络中用户的密钥和证书,包括多个实现和变种,知名的有RSA公司的PKCS(Public Key Cryptography Standards)标准和X.509规范等。
一般情况下,PKI 至少包括如下组件:
CA 是最核心的组件,主要完成对证书的管理。
常见的流程为,用户通过 RA 登记申请证书,CA 完成证书的制造,颁发给用户。用户需要撤销证书则向 CA 发出申请。
之前章节内容介绍过,密钥有两种类型:用于签名和用于加解密,对应称为签名密钥对和加密密钥对。
用户证书可以有两种方式。一般可以由 CA 来生成证书和私钥;也可以自己生成公钥和私钥,然后由 CA 来对公钥进行签发。后者情况下,当用户私钥丢失后,CA 无法完成恢复。
文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。

游客
登录后才可以回帖,登录 或者 注册