PKI,或公共密钥基础设施,是互联网上加密通讯的基础,是一个需要经过专门培训才能掌握的复杂领域。不是所有的公司都足够大,能够雇佣他们自己的PKI专家来确保其网站是安全的,从而客户可以正常地进行访问,但随着几乎所有企业都需要在线进行沟通和处理交易,所有这些企业都需要这个专家。
经常,企业雇佣来处理PKI所必需的密钥和证书事宜的专业人员都有点力不从心。这并不是说他们没有能力或不合格,只是当所做的事情不是您的所长时,要想掌握PKI网络安全的整个领域是很困难的。这就像在进行建筑工程时,让电工去做管道工的事一样。他们可能有一些基本的认识,并且可能完成了一部分任务,但这并不是他们的本业。
然而,这并不意味着您可以忽视PKI管理。不知道PKI最佳实践并不妨碍您对部署它们的需要。然而,在您不知道这些最佳实践的情况下,说起来容易做起来难。为了帮助您弥合知识上的鸿沟,本文将讨论在PKI管理过程中可能会犯的最大的错误,以及如何避免它们。
使用了过时的安全协议
自1994年Netscape创建HTTPS以来,密码学发生了大量变化。HTTPS从SSL(安全套接层)协议开始加密通信。然而,协议中的漏洞和缺陷促使行业不得不采用更安全的东西,在HTTPS得到广泛采用之后,我们开始从SSL迁移到TLS(传输层安全)。从那时起,TLS协议便经过了几次迭代,从1.0版到1.3版。
这并不是HTTPS自创建以来在安全方面所做的唯一改变。在过去六年时间中,几乎所有用来保护HTTPS传输的协议或系统都遭到了破坏或已经过时。以下是关于这些协议的一些最佳实践:
从SSL迁移到TLS 1.1或更高版本
- 摒弃RC4,使用更为安全的算法
- 使用SHA-2
- 使用了太短的密钥
在PKI中,密钥是用来加密和解密信息的,因此入侵者便不能盗取双方之间传输的数据。PKI是非对称的加密,这意味着有公有密钥和私有密钥,并且由一个密钥加密的内容必须由另一个密钥解密。这一设置能够有效保护信息不被窥探。也就是说,只要恶意用户无法获取私有密钥,一切就是安全的。
黑客获取私有密钥有两种方式:窃取它(我们将在稍后进行讨论),以及猜测它。因为这些密钥只是一些数学算法,所以拥有足够多硬件的黑客反向算法并决定基本值是可行的。这并不容易,但有时是可能的。
猜测(即破解)给定私有密钥的困难程度取决于密钥有多长,以及需要多少位来存储这一密钥。密钥越长、越复杂,它就越难被破解。问题在于,随着技术和方法不断改进,猜测私有密钥会变得越来越容易,因此便需要增加密钥的大小和复杂性以维护它的安全。
2002年,1024位密钥是维护安全的绝对最小值。不到十年的时间,这一最小值就已经不够了。2048位密钥现在成为了标准,但是至少到2030年,它也将被摒弃。如果您使用的是1024位的加密密钥,您的PKI就是十分脆弱的,因此您需要快速进行更新。
使用了自签名密钥 & 证书
通常,密钥和证书(可以证明网站身份,而不是黑客伪装的系统的数字标识符,)是从值得信赖的、名为证书机构(CA)的第三方那里获取的。然而,有时,企业可能也会签发属于自己的密钥和证书。
企业这样做最常见的原因是出于测试目的。开发人员将为自己签发证书或使用密钥来测试软件,并打算稍后使用来自证书颁发机构的更安全的密钥来替换它。这是一种常见的做法,并且它本身不会造成任何伤害。然而,当这些证书和密钥在外部使用并提供给最终用户时,就会出现问题。一旦它们在市场上流通并用于常规使用,由于一些原因,它们就会被证明是十分危险的。
首先,测试证书通常不像CA颁发的证书那样坚固(请参阅前面关于密钥长度的部分),这使得它们容易被破解和伪造。其次,它们通常也不会得到安全存储(稍后会详细介绍)。第三,因为它们是自签名的,所以当您想要解决PKI安全问题时,是很难在事后发现它们的,从而使得漏洞会潜伏在您的盲点之中。
没有安全地存储密钥和证书
关于我们上面提到的窃取密钥的事情。在许多情况下,直接窃取原始的密钥和证书是非常容易的。这是因为并不是每个公司都能安全地存储所有敏感的PKI数据。通常,它们是以明文的形式保存在电子表格中的,并存储在闪存驱动器、普通硬盘或其他易于访问的存储介质中,甚至没有硬件安全模块(HSM)来保护它们。
而且,除非您制定了政策来确定谁可以获得密钥和证书以及访问它们,否则这些密钥和证书就很容易被复制或偷运出去。有了如此有价值密钥和证书,您会就面临着内部和外部的盗窃,而这两种威胁都可能造成严重的损害。
如果恶意用户得到了这些PKI信息,他们就可以很容易地从其他用户那里窃取敏感信息,或者他们可以欺骗人们下载恶意软件,让他们的浏览器认为是这家公司制造的软件。这会使顾客处于危险之中,并有可能严重损害公司的声誉。
没有频繁地轮换PKI证书和密钥
如果您担心有人偷了您的密码,那么最好换一个。如果您想要确保您的登录是安全的,您就需要定期更改它。证书和密钥也是如此。频繁地更换密码有助于防止盗窃或密码被破解,这意味着即使黑客获取了密码,密码也会很快过时。
轮换证书是一种常见的做法。CA通常是通过设置证书的到期日来执行它的,因此它们必须经常更新。然而,许多公司只有在必要时才会更新它们,而这并不像它们应该的那样频繁。为了获得最佳的安全性,证书应该在不到半年的时间间隔内更新。
即使证书将会进行轮换,也很少有人会同样地更新它们的密钥。与证书一样,密钥没有到期日期,因此它们的更新并不是强制性的。问题是,如果黑客拥有密钥,证书就有点无关紧要了——他们可以构建自己的证书,并成功地欺骗设备,让它们以为黑客的网站就是他们从中窃取密钥的网站。定期更换密钥可以防止发生这种情况,但这是一种不常使用的最佳实践。
没有使用自动化
在任何应用程序中,使用自动化的目的都是为了提高效率和减少人为错误。在PKI管理中也一样。自动化可以帮助您更新证书和密钥。它还可以跟踪和存储与它们相关的数据,比如您拥有多少密钥和证书、它们是什么、谁请求的它们以及出于什么目的、谁有权访问它们以及他们会何时使用这一访问权限等等。
最重要的是,自动化限制了人员与密钥和证书实际交互的次数,从而降低了人为错误。问题是,很少有企业会在其PKI管理中使用自动化。这可能是因为他们不知道自动化是什么,或者它能用来做什么,或者因为他们不认为它是必要的。备用选项是让人来运行系统,然而这往往会导致不安全和不可靠的实践。
解决方案:集中式的PKI管理
设计公钥基础设施有点像建造一座房子——如果您想让它在结构上合理、可靠,您就需要对它进行规划,并遵守条例。如同任何行业一样,PKI设计拥有最佳的实践,并且为了保证基础设施的安全,他们需要像法律一样进行对待。然后需要制定公司政策,比如谁负责PKI管理,谁可以申请密钥和证书,它们存储在哪里,以及它们多久更新一次。然后,需要遵守和执行这些政策。
以这种方式集中管理PKI是确保给定系统安全性的唯一有效方法(特别是对于大型组织而言,因为他们可能需要管理数千个证书)。无组织性和问责制的缺失只会滋生漏洞,他人(内部或外部)利用它们只是时间问题。
您不必了解散列算法或椭圆曲线密码术,就能意识到管理不善的系统是一种负担。此外,由于网络安全漏洞的平均成本高达362万美元,很少有企业能承担得起这种责任。
您准备好采取行动并开始认真对待您的PKI管理了吗?和Bisend.cn的专业人员谈谈。我们可以帮助您识别系统中的弱点,并构建能够维护用户隐私的基础设施。