每家使用加密技术保护敏感数据的公司都必须遵循加密密钥管理最佳实践。这些做法可确保加密密钥在其整个生命周期内的安全,并确保网络安全措施不会因缺乏适当的密钥管理而失败。实施以下措施有助于防止数据泄露、避免罚款并确保加密保持安全和有效。我们的密钥管理介绍 深入探讨了公司如何使用加密和密码术来保证敏感数据的安全。
使用适当的算法和密钥大小
为每个加密密钥选择正确的算法和密钥大小。此决定取决于用例,并且必须考虑:
- 安全风险。
- 密钥寿命。
- 加密数据的数量和价值。
- 性能要求。
根据用例,您可以使用:
- 对称算法 (如 AES)。
- 非对称算法 (例如 RSA 或 ECDSA)。
对称算法是保护静态数据的不错选择,因此请使用这种方法来保证数据库的 安全。非对称加密非常适合保护动态数据,例如电子邮件或 Web 内容。选择正确的密钥大小需要平衡。
较大的密钥会导致更安全的加密,但密钥长度会影响性能。对密钥大小要明智,因为大密钥通常会导致问题。例如,对所有进程使用 AES-256 对称加密将使您的系统安全,但您会遇到性能问题。
依赖最小特权原则
员工应该只能访问他们执行职责和任务所需的密钥。同样的需要知道的基础也适用于应用程序。确保只有授权用户和系统才能访问密钥有助于:
- 限制具有泄露密钥的攻击者的选项。
- 减少攻击面。
- 如果发生违规行为,请缩小嫌疑人池。
- 限制 内部威胁的风险。
- 防止系统之间的横向移动。
每次访问、管理或使用加密密钥时都对用户进行适当的身份验证。使用基于角色的访问控制 (RBAC) 根据每个用户的特定职责限制权限。考虑对负责重要操作(例如旋转或删除)的键使用双重控制原则(又名四眼)。这种做法需要两个或更多授权人员批准该过程才能开始。
常规密钥轮换
您组织中的每个密钥都应该有一个加密周期 ,在此期间密钥可以正常工作。您通过考虑两个因素来计算加密周期:
- 发起者使用期 (OUP): 您对系统应用加密保护的时间。
- 收件人使用期 (RUP): 用户可以使用特定密钥解密数据的时间。
这两个时期同时开始并且是灵活的,因此根据以下条件定义加密时期:
- 加密算法的强度。
- 加密数据的价值。
- 密钥长度。
- 安全风险。
- 法律规定。
加密期限到期后,运行轮换以用新密钥替换旧密钥。限制使用一个密钥加密的数据量可降低凭据丢失或被盗的风险。理想情况下,轮换过程应该是自动的,以防止人为错误并将团队从重复性任务中解放出来。
集中您的加密密钥管理
一家公司可以依赖数百甚至数千个加密密钥。集中式管理平台有助于组织、保护、管理和使用所有这些密钥。集中式平台导致:
- 简化管理,无需使用一组不同的工具。
- 简化和安全的生成、存储和分发流程。
- 全面了解员工和团队如何使用密钥。
集中式密钥管理可降低风险、提高效率并简化管理任务。您可以使用此策略:
- 为所有与关键相关的操作(访问控制、职责分离、知识分割等)创建策略和程序。
- 实施各种自动化选项并消除手动任务。
- 确保全面的审核日志和跟踪活动。
- 使用用户配置文件、角色和凭据控制对有价值密钥的访问。
- 确保密钥管理可以与您的公司一起扩展。
- 通过自动化任务和减少必要工作人员的数量来降低成本。
永远不要对您的密钥进行硬编码
在源代码中包含关键材料是一个重要的安全问题。如果代码是公开的,攻击者可以直接读取密钥。即使代码是私有的,开发团队也会成为黑客的首选目标,并且您的攻击面会不必要地增加。由于攻击者可以在不破坏管理应用程序的情况下获取密钥,因此您可能会遭受完全未被发现的破坏。除了引入不必要的风险之外,对密钥进行硬编码也会对翻转和整体加密敏捷性造成问题。
充分利用自动化
依靠手动密钥管理既费时又费钱,而且容易出错。自动化允许您:
- 消除重复性任务。
- 加快所有与密钥相关的操作。
- 限制人为错误的空间。
- 减少所需工作人员的数量。
- 清理团队的日程安排,让员工专注于创新和改进。
- 更可靠地执行安全策略和记录活动。
- 实现 密钥的高可用性级别。
密钥管理中的自动化改进了密钥生命周期中的流程,因此请考虑自动化以下操作:
- 生成新的密钥对。
- 以设定的时间间隔轮换密钥以避免超过其加密期限。
- 备份密钥。
- 撤销对密钥的访问。
- 销毁过期或受损的密钥。
您使用的密钥越多,自动化就越有价值。随着公司规模的扩大和密钥数量的增长,依赖手动任务成为更大的安全风险。
创建和执行公司范围内的政策
安全策略规定了员工和团队应如何存储、使用和管理密钥。这些政策提供:
- 密钥生命周期中的说明和规则。
- 确保操作安全和合规的要求。
- 关于用户可以和不可以使用密钥做什么的指南。
- 管理加密密钥材料的职责。
准备好政策后,请进行培训课程,以确保员工了解您对团队的期望。集中式平台是执行、更新和传达政策的最可靠方法。此外,如果您的加密依赖于云,请确保您的密钥管理和云安全策略彼此协调一致。
在 HSM 上存储密钥
HSM(硬件安全模块)是存储密钥并使您能够在本地执行加密操作的 物理设备。这些设备提供强大的物理和逻辑安全性,因为从 HSM 窃取密钥需要攻击者:
- 闯入你的设施。
- 窃取到达 HSM 所需的访问卡。
- 在不被注意的情况下将设备从现场拿走。
- 绕过保护密钥的加密算法。
依靠云中的 HSM 也是一种可行的方法。在这种情况下,成功取决于云服务提供商的安全级别,因此如果您选择该选项,请始终支持信誉良好的供应商。
单独的员工职责
对于任何具有安全意识的组织来说,分离密钥管理任务是一项必不可少的实践。此策略要求您在不同员工之间划分关键任务的职责。通过这样做,您:
- 限制冒充员工的入侵者的选择。
- 将欺诈和内部威胁的可能性降至最低。
例如,您可以让一个人授权访问,另一个人负责分发密钥,第三个人负责创建密钥。在这种情况下,允许访问的用户不能在分发过程中窃取密钥,也不能在生成阶段知道密钥的值。
安全的在线和离线分发
公司应使用专门构建的安全 API 将密钥从创建点安全地分发到将使用它们的系统或个人。考虑以下:
- 对于在线分发,您应该加密密钥并通过安全的传输层安全性 (TLS)发送它们
- 对于离线传输,加密密钥并将其拆分为 2 或 3 个单独无用的组件。
密钥拆分在加密密钥管理最佳实践中排名靠前。使用这种策略,除非攻击者可以收集其他部分,否则丢失的组件不会导致密钥被盗。考虑 在密钥到达目的地时使用白盒加密。白盒密码术使用基于软件的算法来保护密钥,无论它们在哪里或是否有硬件支持。
可靠的密钥备份和恢复
如果您的存储出现错误或有人攻击它,您必须具有恢复密钥的能力。无法恢复密钥可能会导致加密数据永久丢失。确保您拥有强大的备份,使您能够快速可靠地恢复丢失的密钥。良好做法包括:
- 使用对称加密保护备份。
- 使用不可变备份来防止数据篡改。
- 每天多次备份密钥。
- 定期检查备份应用程序以确保一切正常。
可靠的审计追踪
安全、自动化和集中的日志记录和报告对于安全和合规的密钥管理至关重要。良好做法包括:
- 在其整个生命周期中保留每个密钥的完整历史记录。
- 记录与密钥的每次交互的详细信息,包括目的、用户(人或系统)、访问的数据、查询和使用时间。
- 跟踪授予的权限和访问级别。
- 记录成功和尝试的登录。
干净、详细的日志记录和报告帮助:
- 准备合规审计。
- 事后取证。
- 了解您的密钥管理机制。
- 寻找系统改进的机会。
考虑将您的密钥管理平台与 SIEM 工具集成, 以实现更深入的分析和报告。
切勿将相同的密钥用于不同的目的
每个密钥应该只有一个用途,例如:
- 数据加密或解密。
- 用户认证。
- 数字签名。
- 密钥包装。
确保员工永远不会为不同的任务使用重复的密钥。坚持使用单一用途的钥匙是最安全的策略。
让密钥远离加密数据
切勿将密钥与加密数据保存在同一数据库中。虽然这种做法简化了管理,但将加密内容与解密密钥放在一起使黑客能够通过一次破坏来破坏数据。
准备稳健的灾难恢复计划
无论您制定了多少政策和措施,最终都会出错。即使您实施了所有加密密钥管理最佳实践,仍可能发生以下事件:
- 用户将丢失其密钥的凭据。
- 有人会不小心将密钥发送给错误的人。
- 心怀不满的前雇员可能会删除密钥。
- 黑客可能会闯入密钥存储。
- 加密算法可能存在缺陷。
- 开发人员可能会不小心在公共存储库上发布私钥。
事故时有发生,因此做好准备有助于降低风险。确定所有可能性并制定稳健的 灾难恢复计划 ,以确保团队为所有场景做好准备。了解云灾难恢复以及将关键数据备份到云中的好处。
分发加密和解密过程
公司可以运行加密和解密过程:
- 在文件、数据库字段或应用程序级别本地。
- 在单一用途的加密服务器上。
从安全角度来看,分散加扰和解扰过程是更好的选择。如果您设置安全密钥分发,分离加密和解密会导致:
- 更好的性能。
- 较低的带宽。
- 由于故障点更少,可用性更高。
- 更好的数据传输。
在中央服务器上运行加密和解密更容易设置,但您可能会遇到性能问题。此外,如果攻击者破坏了中央服务器,您的整个安全基础设施可能会崩溃。
加密密钥管理最佳实践保持加密安全和健康
实施上面列出的做法将确保密钥管理不会成为您安全策略的弱点。使用强大的策略、强大的访问控制和集中化来保护和控制您的加密密钥。