公钥分发的几种方法

TIME:2019-02-27   click: 386 次

公钥分发的方法有如下几种:

1.公开发布

因公钥体制的公钥不用保密,任一用户均可将自身公钥发给其他用户或径直在某范围。

此方法的明显优势是非常简单,不用特殊的安全通道进行密钥分发,并降低了密钥管理成本。然而,此方法也存在致命的缺点。换句话说,很难保证公钥发布的真实性和完整性,并且很容易公开虚假的公钥。

2.使用公钥目录分发

建立用户公钥数据库,让每个用户把自己的公钥安全地注册到此公钥目录中,并由可信的机构维护和管理公钥目录,确保整个目录的真实性与完整性。每个用户都可直接查询公钥目录获取感兴趣的其他用户公钥。

 这种方法比让每个用户自由发布公钥更安全,但公钥目录可能是系统中的一个弱点。除了会是性能瓶颈外,公钥目录本身的安全性也是一个大问题。一旦攻击者攻破,就可篡改或伪造任何用户的公钥,进而不仅可仿冒任一用户与其他用户通信,又可监听发往任一用户的消息。

3.在线安全分发

针对公钥目录的不足,对其运行方式进行安全优化,引入认证功能对公钥访问进行控制,可加强公钥分配的安全性。与公钥目录方法类似,公钥管理机构将经过其私钥签名的被请求公钥回送给该用户;在其收到经公钥管理机构签名的被请求公钥后,用已掌握的公钥管理机构的公钥对签名实施验证,以确定该公钥的真实性,同时还需用时间戳或一次性随机数避免伪造和重放用户的公钥,保证分发公钥的新鲜性,请求者可把已认证的所有其他用户公钥存于本地磁盘上,以备再次用时不用重新请求,但请求者必须定期联系公钥管理机构,以防漏掉对已存储用户公钥的更新。

这是一种在线式公钥分配方案,因限制了用户对公钥数据库的自由查询,并用数字签名和时间戳保护分发公钥,提高了公钥分配的安全性,但从另一个角度考察在线安全分发,其缺点也是明显的,一是公钥管理机构必须时刻在线,准备为用户服务,这给公钥管理机构的建设加大了难度,使其与公钥目录一样可能变成系统性能的瓶颈;二是要保证任一用户随时可向公钥管理机构请求本人需要的用户公钥,这要求整个网络有不错的性能;三是公钥管理机构仍是被攻击的目标,公钥管理机构的私钥必须绝对安全。

4.使用公钥证书分发

若对每个用户的公开密钥进行安全封装,形成一个公钥证书,然后通信各方利用相互交换公钥证书实现密钥分发,则不用每次通信时均和公钥管理机构在线联系,且能得到同样的可靠性与安全性。这里有个前提,即公钥证书一定是真实、可信的,无伪造和假冒的可能。因此,通常由专门的证书管理机构CA来给用户创建并分发公钥证书。另一方面,与封装在公钥证书中的用户公钥对应的私钥只有用户本人掌握。在通信过程中,若一方需将自己的公钥告知对方,则把自己的公钥证书发给对方即可,对方收到公钥证书后用证书发行CA的公钥验证证书中的签名。

这个方案是一种离线式的公钥分配方法,每个用户只用一次性与CA建立联系,将自己的公钥注册到CA上,同时获取CA的证书证实公钥,然后由CA为其产生并颁发一个公钥证书。用户收到CA为其生成的公钥证书后,可将证书存于本地磁盘上,若其私钥不泄密,那么在证书有效期内可多次用该证书而不用再与CA建立联系。也就是说,一旦用户获得一个公钥证书,以后用证书交换公钥是离线方式的,不再需CA参与。这种公钥分配方法的优势很明显:一是证书管理机构的压力显著降低;二是公钥分配的可靠性和效率都大大提高,由于每个用户的公钥证书都是经过CA签名的,因此只要掌握了CA的证书证实公钥就可方便地识别证书的真伪,而且对证书内容的任何轻微改动都能被轻易地检查出来,杜绝了伪造和假冒的可能,同时公钥的分配是由证书交换实现的,通信各方随时可交换各自的公钥证书,省去了许多繁琐的步骤,简化了分配的过程,提高了公钥分配的效率。用公钥证书分配用户公钥是当前公钥分配的最佳方案。

上一篇:对称加密和公钥加密 下一篇:分组密码和流密码的区别是什么