相关文章
友情链接

网站建设安全架构(密钥安全管理)

在网站建设完成后,不管是单向散列加密用到的salt、对称加密的密钥、还是非对称加密的私钥,一旦这些密钥泄露出去,那么所有基于这些密钥加密的信息就会失去了秘密性。

信息安全是靠密钥保证的。但是实际中经常看到,有的工程师把密钥直接写在源代码中,稍微好点的写在配置文件中,线上和开发环境配置不同的密钥。总之密钥本身是以明文的方式保存,并且很多人可以接触到,至少在公司内部,密钥不是秘密。

在网站建设实践中,改善密钥安全性的手段有两种。

1方案是把密钥和算法放在一个独立的服务器上,甚至做成一个专用的硬件设施,对外提供加密和解密服务,应用系统通过调用这个服务,实现数据的加解密。由于密钥和算法独立部署,由专人维护,使得密钥泄露的概率大大降低。但是这种方案成本较高,而且很可能成为应用瓶颈,每次加密、解密都需要进行一次远程服务调用,系统性能开销也较大。

2方案是将加解密算法放到应用系统中,密钥则放在独立服务器中,为了提高密钥安全性,实际存储时,密钥被分为数片,加密后分别保存在不同存储介质中,兼顾密钥安全性同时又改善了性能。

应用程序调用密钥安全管理系统提供的加解密服务接口对信息进行加解密,该接口实现了常用的加解密算法并可根据需求任意扩展。加解密服务接口通过密钥服务器的密钥服务取得加解密密钥,并缓存在本地。而密钥服务器中的密钥则来自多个密钥存储服务器,一个密钥分片后存储在多个存储服务器中,每个服务器都有专人负责管理。密钥申请者、密钥管理者、安全审核人员通过密钥管理控制台管理更新密钥,每个人各司其事,没有人能查看完整的密钥信息。