很多人以为密码技术等同于将数据加密,其实绝不是这么简单。即使只考虑数据不泄密这个单一应用需求,真正的核心也是密钥管理。

现代密码学的应用是基于密码算法公开透明,完全依赖于密钥来保证数据安全。非密码专业的人士一般都会对此难以理解,他们以为密码算法是用于保密的,密码算法本身更应该是高度保密的。为什么要密码算法要公开、标准化呢?大致有以下几个因素:

  1. 可以集合全世界数学家(密码学家)的力量来研究出最可靠的密码算法。例如中国密码学家王小云验证了MD5/SHA1不够安全,这是一个世界级科学家穷其一生做出的巨大贡献,但也只限于密码科学中很小的一个范畴;1977年Ron Rivest、Adi Shamir、Leonard Adleman三个美国科学家最早公开提出一种非对称加密算法(1973年英国数学家Clifford Cocks就发现了该算法,但是被列为机密未公开),是非常伟大的贡献,以他们三个人名字命名的RSA算法也是世界上第一个公钥密码算法,但是后续科学家却证明了RSA是不够安全的,如今专业密码体系都使用ECC等更为可靠的密码算法;密文去重是困扰了密码学界几十年的难题,也被中国科学家在2012年完美解决了。这些都是全世界最顶级的科学家历经几代的积累得到的成果,也只有在一个公开的环境中,才能形成一个科学共同体不断积累,形成如今璀璨的密码学成果。
  2. 可以保证大家都用最可靠的密码算法。也只有将密码算法公开并标准化,才能让全球科学共同体几十年形成的成果得到广泛应用,让不安全不可靠的密码算法从市场中淘汰。
  3. 可以让密码产品批量化生产制造,降低成本,从而使密码技术能够大规模普及。
  4. 可以让密码产品进行有效的质量控制。只有标准化才能以工业流水线的方式进行密码产品的质控,从而保证密码产品的商品质量。

在密码算法公开透明的情况下,密钥管理就尤为重要了。数据安全就完全依赖于密钥的安全,这就是为什么说密钥管理是数据安全核心的原因。

密钥管理包括密钥的生成、分发、存储、托管、验证、备份、授权、更新、销毁等过程,设计一套形成安全闭环、可以抵御各种环节攻击的密钥管理系统需要非常专业的知识和能力,并经过长期的攻防历练和同行评议。

好的密钥管理系统有以下几个特征:

  1. 一文一密
    每个文件的密钥都不相同,每个文件都可以单独授权和管理,不会因为授权一个文件或其密钥的泄露而连带影响其它文件。
    一文一密势必带来巨大的密钥数量,一个普通人的数据量就会涉及上百万把密钥,一个典型的系统可能会有几十亿把密钥。但只要有了专业的密钥管理系统,再多的密钥都能管起来,都不成问题。
  2. 随机密钥
    所有密钥都是实时随机生成的,确保之前没有任何人知道
  3. 全程管控
    密钥管理系统对密钥从生成到销毁的全生命周期过程都进行严格的保护和管控,任何时候都不让密钥失控。
  4. 环环相扣,形成安全闭环
    存储密钥、会话密钥、工作密钥、交换密钥、主密钥……. 有的密钥是加密数据的,有的密钥是加密密钥的,有的密钥是代表授权的。

在密钥的分发、存储、托管、验证、备份、授权、更新等过程中,密钥管理必须形成全程的安全闭环,环环相扣,保证任何人都无法破解。