加密密钥在保护敏感信息、防止数据泄露和遵守法规方面发挥着至关重要的作用。不幸的是,丢失或被盗的密钥可能会导致系统和数据损失惨重,这就是为什么每个具有安全意识的公司都应该执行强大的密钥管理协议的原因。本文介绍加密密钥管理。继续阅读以了解有关加密的基本概念、正确密钥管理的价值,以及如何在密钥的整个生命周期内确保数据安全。
什么是加密密钥管理?
加密密钥管理是一组确保安全使用加密密钥的实践和规则。适当的管理可确保密钥在其从生成和使用到存储和删除的整个生命周期内保持安全。
加密密钥 是包含一串字母和数字的文件,当通过加密算法处理时,这些字母和数字可以加密和解密数据。 密钥管理的主要目标是使这些文件远离未经授权的用户和系统。
将密钥丢失给恶意方可能会产生严重后果,因此强大的加密密钥管理策略必须包括:
- 关于员工应如何在不同存在阶段管理密钥的说明。
- 防止未经授权的物理和虚拟访问存储密钥的服务器的安全措施。
- 关键职能的政策和制度。
- 基于角色的控制,限制访问并定义谁和何时可以访问密钥。
- 关于不同部门应如何与密钥进行交互和协调的说明。
企业可以通过三种不同的方式进行密钥管理:
- 去中心化: 最终用户或员工负责关键管理,公司不处理治理。
- 分布式: 每个团队或部门都有单独的密钥管理协议,而业务提供基本指导。
- 集中 式:企业范围内的政策规定了所有员工和部门如何使用密钥。
最安全的方法是建立集中式策略,并完全控制团队存储、共享和使用私钥的方式。
为什么密钥管理很重要?
仔细管理密钥对于在网络安全策略中有效使用密码学至关重要。
钥匙类似于保险箱密码:如果犯罪者知道如何打开保险库,任何保险箱都无法阻止小偷。同样,糟糕的密钥管理也会使最好的加密算法变得毫无价值。泄露的密钥允许攻击者:
- 将加密数据转换回其原始的明文形式。
- 创建一个 冒充您的官方网站的网络钓鱼网站。
- 关闭整个安全基础设施。
- 充当特权用户并访问不同的系统和数据库。
- 以您的名义签署应用程序和文档。
适当的密钥管理可确保加密数据的高度安全性,并确保:
- 只有授权用户才能读取或访问数据。
- 通过 Internet 和专用网络安全传输数据。
- 不同的网络攻击类型不能轻易地通过您的系统进行监视、感染或传播。
加密的使用还有助于遵守某些法规,例如HIPAA或PCI。
密钥加密如何工作?
加密允许我们交换数据,同时保持内容对除发送者和接收者之外的所有人不可读。交换加密数据是一个两步过程:
- 首先,算法将数据打乱成一串看似随机的字符(密文)。然后发送者将密文转发给接收者。
- 一旦接收方获得密文,解密密钥就会将消息解扰回原始明文形式。
在整个过程中,没有解扰密钥的任何人都无法读取该信息。加密是全自动的,交换数据的双方不必对消息进行编码和解码。加密过程中的关键参与者和操作是:
- 数据加密密钥 (DEK): 加密和解密数据的加密密钥。
- 密钥加密密钥 (KEK): 加密和解密 DEK 的密钥。
- 密钥管理系统 (KMS): 存储和运行密钥管理软件的系统。
- 密钥管理 API (KM API): 从服务器检索加密密钥到客户端的 API。
- 证书颁发机构 (CA): 通过数字证书对用户和系统进行身份验证的第三方实体。
- 传输层安全性 (TLS): 一种保护在计算机网络上移动的数据的加密协议。
您可以使用加密来保护静态和动态数据:
- 静态加密: 这种加密类型保护存储的数据。如果黑客闯入数据库,他们无法在没有密钥的情况下破译信息。
- 传输中的加密: 这种加密类型可保护移动中的数据并防止拦截或篡改。典型的例子是电子邮件、短信和网络数据。
加密密钥类型
有两种主要的加密类型:
- 对称:相同的密钥同时加密和解密消息。
- 非对称:一个密钥加密内容,另一个不同的配对密钥解密数据。
对称加密更易于使用和设置。然而,依赖相同的密钥对内容进行编码和解码使得这种策略不如非对称加密安全。
对称键
对称密码学依赖相同的密钥进行数据加密和解密。由于单个密钥可以保护整个操作,因此密钥的隐私至关重要。下图显示了对称加密过程的样子:
以下是上图流程如何工作的分步说明:
- 用户向应用程序发送请求并要求访问加密数据。
- 应用程序向客户端的 KM API 发送 DEK 检索请求。
- 客户端(通过 KM API)和 KM 验证彼此的证书。
- 如果凭证有效,则 KM API 和 KM 形成安全的 TLS 连接。
- KM 用 KEK 解密请求的 DEK。
- 密钥管理器将 DEK 发送到 KM API。
- KM API 将 DEK 发送到应用程序。
- 应用程序向用户发送明文数据。
公司通常使用对称加密来保护静态数据。
非对称密钥
非对称加密依靠一对密钥来加密和解密数据:
- 公钥对数据进行加密, 并且可以供公众使用,因为它只对内容进行加扰。
- 私钥解密数据并且是公钥的 唯一对应物。保持此密钥的安全至关重要,因为没有它就无法解码数据。
两个密钥都是唯一的,彼此专有,并且是同时创建的。非对称密钥的主要用途是在数据通过网络连接移动时保护数据,无论是公共的还是私有的。
以下是如何工作的分步说明:
- 双方验证对方的证书。与对称加密一样,接收者首先进行身份验证,并通过 CA 进行。
- 一旦双方相互接受,发送者就请求接收者的公钥。
- 发送者创建一个临时对称密钥(仅对单个会话有效的密钥)并加密请求的文件。
- 发送者使用接收者的公钥加密对称密钥,并将其与请求的文件一起发送。
- 收件人收到包裹。
- 用户使用其 KM 中的私钥解密对称密钥,然后使用对称密钥对数据进行解扰。解密将数据返回到其明文状态。
如何管理加密密钥?
完善的加密密钥管理需要您组织好每个密钥的整个生命周期,大致分为以下几个阶段:
- 密钥创建。
- 使用和翻转。
- 撤销。
- 备份。
- 破坏。
在不考虑生命周期的每个阶段的情况下确保安全使用加密密钥是错误的。公司犯的其他常见错误是:
- 依赖弱的、过短的键。
- 为不同的目的和任务使用相同的密钥。
- 重用旧密钥版本。
- 将私钥存储在与加密数据相同的服务器或数据库上。
- 以未加密的形式保存密钥。
- 在没有适当保护的情况下在系统和用户之间移动密钥。
下面详细介绍了密钥生命周期的每个阶段,以及您的团队为确保安全使用加密密钥而应注意的事项。
密钥生成
公司在密钥管理服务器上创建和存储加密密钥。确保生成器只创建长而复杂的密钥,以防止攻击者使用简单的技术来破解代码。
服务器通常使用安全随机位生成器并将密钥及其所有属性存储在存储数据库中。基本信息是:
- 密钥的名称。
- 激活日期。
- 尺寸。
- 实例(或版本)。
- 滚下。
- 镜像。
- 访问权。
密钥管理器应允许管理员随时编辑密钥的特征。密钥激活发生在创建时或以后(自动或手动)。
您还需要为每个密钥定义一个加密周期。这段时间是密钥起作用的时间。有两个因素会影响加密周期的持续时间:
- 发起者使用期限 ( OUP )。
- 收件人使用期限 ( RUP )。
例如,您加密了一个数据库并计划在接下来的六个月内向其中添加项目。在这种情况下,OUP 的有效期为六个月。如果您计划允许用户在两年内访问和使用数据库,那么这段时间就是 RUP。由于 OUP 和 RUP 重叠,加密周期为两年。
生成密钥后,请确保服务器将其存储在加密状态。密钥应仅在安全、防篡改的环境中以未加密形式提供。此外,切勿将密钥与其保护的加密数据存储在同一数据库中。
密钥使用和翻转
密钥管理器允许授权系统和用户检索用于加密或解密过程的密钥。管理器还应管理所有加密密钥的当前和过去实例。
例如,如果软件每年生成一个新密钥并停用(或滚动)旧密钥,则管理器应保留以前版本的密钥,但仅分配当前实例。
许多公司选择将密钥轮换变成一个自动过程。这种方法限制了人为错误的空间,并使团队能够专注于更有影响力的任务。为了提高安全性,还可以考虑记录密钥使用情况并提供审计跟踪。
确保团队不会将相同的密钥用于不同的目的。如果攻击者破坏了单个密钥,每个任务都应该依赖一个唯一的密钥来避免系统之间潜在的横向移动。
密钥撤销
管理员必须能够使用密钥管理器来撤销密钥并阻止其使用。这种能力在以下情况下至关重要:
- 个人离开公司。
- 您归档某些流程。
- 监控工具检测恶意行为。
- 安全团队识别内部威胁。
如有必要,重新激活已撤销的密钥可以帮助管理员解密以前用它加密的数据,例如旧备份。
备份(或托管)
所有密钥都需要在停用前进行备份,因此管理员应保留所有停用密钥的镜像存档。加密期后的恢复允许管理员在需要重新激活时重建密钥。
无法恢复密钥意味着任何使用相关密钥解密的数据实际上都会丢失。
密钥删除
管理员应该能够从存储数据库中删除密钥。在以下情况下,删除选项至关重要:
- 钥匙不再使用。
- 有人泄露了密钥。
删除一个键可以删除它的全部或部分实例。管理员通常会确保在没有备份映像的情况下无法恢复密钥。
如果有人破坏了加密数据,快速删除密钥的能力可以确保数据安全且不可恢复。当安全团队消除威胁时,管理员可以使用该图像重新创建密钥并解扰数据。
没有健壮的密钥管理就没有安全的密码学
有效的密钥管理是数据保护策略的关键部分。建立一个系统,在生命周期的所有阶段保持密钥安全,并确保协议为您的团队的动态工作环境提供必要的灵活性。