密钥管理

密钥类型

加密系统可能使用多种密钥，部分系统还使用多个密钥，其中可能包括对称密钥与非对称密钥。在对称密钥加密算法中，用于加密与解谜消息的密钥是相同的。这些密钥必须被慎重选择、分发和安全存储。非对称密钥也称公开密钥加密，它的重要特点是有公钥与私钥这两个密钥，通常被用于通信。

管理步骤

在密钥被签发后，密钥管理一般有三个步骤：交换、存储和使用。

密钥交换

进行安全通信之前，各用户间需要确立加密程序的细节，尤其是密钥。在对称密钥加密系统，各用户间需要确立共同使用的单一密钥，此步骤即密钥交换。交换对称密钥必须透过另一安全的通信管道进行；否则，如果以明文形式在网络发送，将使窃听者能够立即得知密钥以及据其加密的数据。以前，交换密称密钥是非常麻烦的，可能需要使外交邮袋等安全渠道。
公开密钥加密的出现大大减轻了交换对称密钥的困难，公钥可以公开（透过不安全、可被窃听的渠道）发送，用以加密明文。不过，公钥加密在在计算上相当复杂，性能欠佳、远远不比对称加密；因此，在一般实际情况下，往往通过公钥加密来随机创建临时的对称秘钥，亦即对话键，然后才通过对称加密来传输大量、主体的数据。
It is possible, using something akin to a book code, to include key indicators as clear text attached to an encrypted message. The encryption technique used by Richard Sorge's code clerk was of this type, referring to a page in a statistical manual, though it was in fact a code. The German Army Enigma symmetric encryption key was a mixed type early in its use; the key was a combination of secretly distributed key schedules and a user chosen session key component for each message.
Another method of key exchange involves encapsulating one key within another. Typically a master key is generated and exchanged using some secure method. This method is usually cumbersome or expensive (breaking a master key into multiple parts and sending each with a trusted courier for example) and not suitable for use on a larger scale. Once the master key has been securely exchanged, it can then be used to securely exchange subsequent keys with ease. This technique is usually termed Key Wrap. A common technique uses Block ciphers and cryptographic hash functions.
A related method is to exchange a master key (sometimes termed a root key) and derive subsidiary keys as needed from that key and some other data (often referred to as diversification data). The most common use for this method is probably in 智能卡 based cryptosystems, such as those found in banking cards. The bank or credit network embeds their secret key into the card's secure key storage during card production at a secured production facility. Then at the Point of sale the card and card reader are both able to derive a common set of session keys based on the shared secret key and card-specific data (such as the card serial number). This method can also be used when keys must be related to each other (i.e., departmental keys are tied to divisional keys, and individual keys tied to departmental keys). However, tying keys to each other in this way increases the damage which may result from a security breach as attackers will learn something about more than one key. This reduces entropy, with regard to an attacker, for each key involved.

密钥存储

对称加密使用的单一密钥会被收发双方存储，公开密钥加密的私钥由于还有数字签名的功能，所以都必须安全存储，以保障通信安全。业界已发展出各种各样的技术来保障密钥得到妥善存储，包括定期或不定的系统检测是否有入侵之虞、对存储媒体或服务器提供高强度的物理防护及监控。最常见的是加密应用程序负责管理用户的密钥，使用密钥时则需要输入认别用户的访问密码。对于认证机构，一旦私钥外泄，将可能导致整个信任链被摧毁，影响广及众多客户，所以认证机构会使用硬件安全模块，有些存储私钥的计算机甚至平时不会连线，只在固定的调度下，经过一系列严谨的行政程序重重把关，才会取出私钥为客户签名证书。在信任链设计中，绝大部分的根证书都不会直接为客户签名，而是先签名一个（或多个）中继证书，再由中继证书为客户签名，这可以加强控管能力及控制一旦签名私钥被泄时的损失。

密钥使用

密钥的有效期限是一个重要问题，一个密钥应该在产生后多久被汰换呢？密钥汰换之后，旧有的密钥就无法再解密新产生的密文，丧失对窃听者的价值，这会增加了攻击者所需要投入的气力，所以密钥应该经常替换。同时，这也可以减低信息一旦被破解时的损失；因为窃听者可能在破解密钥之前一直存储截取到的加密消息，等待成功破解密钥的一刻；所以密钥更换得越频密，窃听者可解读的消息就越少。在过去，如果可靠的密钥交换程序非常困难或者仅仅间歇可行，对称密钥会被长期使用。但在理想情况下，对称密钥应该在每次交换消息或会话时转换，使得如果某一密钥被泄（例如，被盗窃，密码分析或社会工程化）时，只有单一消息或会话被解读。基于公开密钥加密的特性，一对公钥和私钥的有效期一般会长于对称加密所使用的单一密钥，尤其是需要认证机构签核的电子证书，当中涉及行政及部署成本，所以可能是三个月至一、两年不等，考虑的因素包括配合加密算法的密钥长度、存储私钥的强度、一旦外泄可能引致的风险、更换程序对运行中的服务的影响、以及运行成本。

合规

密钥管理的合规性是指监督、保证和证明密钥得到了妥善管理。合规领域包括：

物理安全

最基本显见的合规形式，其中包括保护系统硬件设备的门锁、监控摄录、登记每一次接触系统硬件的人员姓名及时间。这些保护措施可以防止有人未经授权使用计算机系统，以打印密钥副本，或运行密钥管理软件。而需要保护的硬件设备包括运作中及备用的机器、存储媒体、备份媒体、以及系统使用手册。

逻辑安全

在软件应用上保障企业免受盗窃或未经授权的信息访问。这就是一般所说的通过密钥来加密数据，然后这些加密数据对那些没有密钥进行解密的人来便是无用。即使是加密后的数据也尽可能只给拥有相关权限的人员接触到，这可能需要在物理上硬件层面、系统上的访问权限设置各方面配合。

人事安全

这涉及特定角色及权限分配，无关的员工不会分配到权限、个别权限只会根据个别需要分配、相关员工只可以访问其工作必要的相关数据。对新入职员工可能需要进行背景审查，并定期重新审视权限、检讨角色、或在各人员之间调动岗位。

密钥管理系统

密钥管理系统（key management system，KMS）也称密码学密钥管理系统（crytographic key management system，CKMS），是用于生成、分发和管理设备和应用程序的密钥的一种集成手段。与术语密钥管理相比，KMS针对特定用例进行了定制，例如安全软件更新、机器对机器通信。在整体来说，它涵盖了安全性的所有方面——从通过密钥安全交换来安全生成密钥，到客户端安全密钥的处理和存储。因此，一个KMS包含用于密钥生成、分发和替换的后端功能，以及用于注入密钥、存储和管理设备上的密钥等客户端功能。随着物联网的发展，密钥管理系统已成为互联设备安全性的关键部分。

类型

下列是一些开放源代码或专有的密钥管理系统。

带入自己的加密/密钥

带入自己的加密/密钥（Bring your own encryption，简称BYOE），也称called bring your own key（BYOK），是指一种云计算安全模型，允许公共云服务客户使用自己的加密软件和管理自己的加密密钥。

公开密钥基础建设（PKI）

透过信任数字证书认证机构的根证书、及其使用公开密钥加密作数字签名核发的公开密钥认证，形成信任链架构，已在TLS实现并在万维网的HTTP以HTTPS、在电子邮件的SMTP以STARTTLS引入。

组播组密钥管理

Group Key Management means managing the keys in a group communication. Most of the group communications use 多播 communication so that if the message is sent once by the sender, it will be received by all the users. The main problem in multicast group communication is its security. In order to improve the security, various keys are given to the users. Using the keys, the users can encrypt their messages and send them secretly. IETG.org released RFC 4046, entitled Multicast Security (MSEC) Group Key Management Architecture, which discusses the challenges of group key management.