经过前两篇的啰嗦,估计不少朋友闭上眼睛也能说出标识公钥相比证书公钥的两个主要特点:一是标识符即公钥,公钥与标识符的绑定关系是纯天然自证明的,不像证书公钥,需要可信第三方通过签名来把实体标识符与实体的公钥绑定起来;二是私钥必须由系统密管中心产品(也就是私钥必须托管在中心),不像证书公钥体系中,可以由用户自己先产生公私钥对,只把公钥送给CA中心。

1、无证书公钥的提出

从应用上看,虽然标识公钥不需要繁琐的证书管理,但由于私钥托管、换密钥就必须换标识符(具体分析参见上篇)的使用特点,使得标识公钥的应用场景受到了一定的限制。

为了克服私钥托管问题,密码学家2003年首次提出了“无证书(Certificateless)”公钥密钥的概念,同样不需要证书,但也克服了私钥托管的弊端。随后有系列“无证书“公钥密码方案被设计出来。

2、无证书公钥的技术特点

这么神奇的无证书公钥,既不需要证书来绑定标识符和公钥,又能避免中心知道私钥,它是怎么做到的呢?

先说公钥与标识符的关系:无证书公钥中,一个实体的公钥由两部分组成,除了实体标识符之外,还需要密管中心分发的一个可公开的个性化参数。也就是说,标识符只是公钥的一部分,实体密钥丢失后,不换标识符,也可以完成密钥的更新。不过,在网络通信中,由于还需要一个个性化的公钥参数才能算出完整公钥,因此,这个公钥参数该如何分发管理呢?是不是也有点繁琐?

再说私钥的组成:一个实体的私钥也是两部分组成,一部分必须由密管中心产生,另一部分可以由实体自己产生并保存。也就是说,即使密管中心,也无法获得实体的完整私钥。

3、无证书公钥的应用特点

看到这儿,您一定会问,“无证书公钥“似乎兼具标识公钥和证书公钥的优点,又避开了二者的缺点。看上去很完美啊,这么好的一个技术,2003年就提出来了,为什么现在仍然没有大规模普及应用呢?为什么我们最常见的仍然是证书公钥密码体制的相关产品和系统呢?

本想列表对三类公钥密码的应用特点再次进行分析,但考虑到分析结果可能会与“百度“出来的很多文章有较大差异,并可能涉及厂商产品,因此,密小白仅笼统地说点个人分析体会。

没有一种技术是完美的,“尺有所长、寸有所短“的道理是普世的。证书公钥、标识公钥和无证书公钥,三者各有长短,离开应用场景的上下文来独立评述它们的优劣,是不客观不可取的。稳妥的做法是分析既有和扩展应用场景中的身份认证和业务保护相关需求,结合现有安全基础和管理维护条件,开展有针对性的设计。

好了,终于把公钥密钥唠完了,下周聊点啥呢? 密小白也没有余粮啦,欢迎提供线索帮助,后台消息框留言可查看联系邮件地址~~

正经配张图,来自米国的郁金香,感受下高贵紫~~

证书里公钥类型 公钥和公钥证书关系_应用场景