加密密钥存储和交换

在某些情况下,必须将密钥从 加密服务提供商 的安全环境中导出, (CSP) 导出到应用程序的数据空间中。 已导出的密钥存储在加密密钥 BLOB 结构中。

有两种特定情况需要导出密钥:

  • 保存 会话密钥 供应用程序以后使用,例如,如果应用程序刚刚加密了要稍后解密的数据库文件。 应用程序负责存储加密密钥。 这是必需的,因为 CSP 不会在会话之间保留 对称密钥
  • 将密钥发送给其他人。 如果相应的 CSP 可以直接通信,但不能通信,则这样做会更容易。 由于 CSP 无法通信,因此必须从一个 CSP 导出密钥,传输到目标应用程序,然后导入目标 CSP。 如果通信路径不受信任,此过程可能会变得更加复杂。

在任一情况下,应用程序都必须在 CSP 外部存储会话密钥一段时间。 有关详细信息,请参阅 存储会话密钥的过程