容忍入侵在CA中的应用介绍

类别:编程语言 点击:0 评论:0 推荐:
   假如说CA认证中心是PKI的关键的话,那么CA私钥就是关键中的关键。因为CA认证中心是可信的第三方,它利用CA私钥对请求证书进行签名后就代表证书内的信息是可信的。假如CA私钥泄露或被破坏,那么将产生极大的危害性。这样就给CA认证中心提出了一个任务——如何在在线服务的情况下保护CA私钥,或者说在攻击不可避免的情况下如何使CA私钥不被泄露和破坏。
SHAMIR的[T,N]门限密码算法告诉我们:对于一个秘密(数字化的信息),通过计算可以分拆成互不相同(与原秘密也不相同)的N个分额,在每个分额中都只包括秘密的一部分信息,只有当掌握了T个分额以后才可以完全恢复出秘密,而掌握小于T个分额的信息都是没有意义的。这样就给我们提出了个思路,在CA认证中心中,CA私钥就是一个1024位或者更长的数字,那么我们是否也可以把它拆分成N份,然后将N个分额放在N个不同的服务器上,这N个分额均只通过特定的端口以特定的通信方式与代理服务器连接,而代理服务器可以与外网相连接受外界的服务请求。在这种情况下,假如代理服务器被攻击或者被人控制也很难获取CA私钥,并且要通过代理服务器再控制T个分额服务器的难度应该是比较大的。那么下面需要解决的就是如何在这样的处理下发挥CA私钥的作用,毕竟我们还是要向外界提供服务的,否则还不如进行物理隔离。
       一:CA私钥主要用做对请求证书的签名服务,或者是对CRL的签名。那么可以设计代理服务器通过特殊方式将请求证书发往T个子分额服务器,让各个子分额服务器对请求证书签名形成T个子签名然后返回给代理服务器,在代理服务器上将子签名重构得出最终正确的签名,在这个过程中始终不出现真正的CA私钥。
       二:分额的更新,SHAMIR的[T,N]门限密码算法里可以将N个分额任意更新,但是最后重构出来的结果不会变化。这样假如某个分额被入侵者修改,那么签名得出的签名值将不会正确可以引发更新机制。就算入侵者掌握了某个分额,但是他不修改,想继续控制别的分额,那么我们可以在一个周期内进行分额的更新(可以估计入侵者控制一台服务器需要的时间,以这个时间做为一个周期),使得入侵者得到的分额没有意义。
       三:假如将代理服务器多设置几个的话,那么就算某个代理服务器被攻占,但是他破坏不了私钥,也得不到私钥,所以其他代理服务器还是可以正常工作,这样就达到了容忍别人入侵的目的。
     其实容忍入侵思想有很多地方可以应用,很多时候我想他很适合中国人的少数服从多数的原则,在一个公司中一个密码分成6份各让6个领导知道,那么可以设定只有三个,或者四个或者更多领导同意拿出分额才能重构。这个容忍入侵新型技术当然也是建立在防火墙以及入侵检测基础上的,当防火墙阻挡不了,入侵检测检查不出攻击的时候对保护敏感资料非常有用处。
我也刚刚开始研究这方面的东东,希望可以和研究这方面的朋友相互交流,相互学习,在这里面算法很重要,并且如何规划内部几台服务器的布置以及通信方式,还有如何做到拆分后和没拆分时能够完成相同的服务也很重要。

本文地址:http://com.8s8s.com/it/it22034.htm