存储会话密钥的备用方案

【勇芳软件工作室】汉化HomePreviousNext

代替存储随机会话密钥blob,可以使用【派生】密钥。派生会话密钥使用CryptDeriveKey功能从密码创建。以这种方式,代替存储特定派生密钥,应用程序可以根据需要通过提示用户输入密码来创建派生密钥。

存储的密钥块取决于存储在CSP中的公钥/私钥对的稳定性。如果这些密钥对以某种方式丢失(例如,通过硬件或软件事件),您将无法解密您的密钥。这意味着使用这些密钥加密的任何数据也将丢失。因此,建议您在存储长期归档数据时使用【备份权限】.

备份权限是在安全计算机上运行的可信应用程序,为其客户端的会话密钥提供存储。存储在其中的所有会话密钥以备份权限的公钥的关键字块的形式进行加密。使用备份权限的应用程序通常遵循以下步骤:

1.正常加密文件。

2.将用于加密文件的会话密钥导出为一个简单的密钥blob,指定您自己的密钥交换公钥用于加密密钥blob。使用加密文件存储此密钥blob。

3.再次导出会话密钥,此时指定备份权限的公钥用于加密密钥。将此密钥blob发送到备份机构,以及密钥的描述,序列号等。

如果您稍后丢失密钥对,您可以从备份机构检索会话密钥。(您首先必须建立您的身份到备份机构,但此过程不在CryptoAPI的范围之内。)