TPM支持的证书,替代

时间:2020-07-13 11:15:09

标签: encryption backup x509certificate data-protection tpm

我可以制作一个本地的自签名证书,如下所示。我用它来加密。没有密码 需要,因为私钥存储在TPM中。证书的私钥不能按设计导出。

  $cert = New-SelfSignedCertificate -Provider "Microsoft Platform Crypto Provider" -Subject "CN=LTrust CA" -type DocumentEncryptionCert -KeyUsage KeyEncipherment,DataEncipherment,KeyAgreement -KeyExportPolicy NonExportable -KeyAlgorithm RSA -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter $((Get-Date).AddYears(10))

现在我可以

$e = "1234" | Protect-CmsMessage -To $cert.Thumbprint  #Encrypt

并且:

Unprotect-CmsMessage -Content $e #Decrypt

但是当证书由于某种原因丢失时,我将无法再检索加密的数据。 因此需要备份。但是通过设计,这是不可能的,因为私钥不可用于导出。

我找到了有关该主题的这篇文章: Creating TPM-Backed Certificates on Windows

它说:

警告:您无法从TPM导出此密钥。曾经如果您丢失了PC,或者意外重置了TPM(如果您使用多个操作系统,并且意外地尝试同时使用它们,或者重置了计算机上的BIOS,则可能会发生这种情况)。确保您有另一种方法来访问以此方式保护的所有内容。

那么,如果TPM被重置或消失,如何确保我的数据解密呢?

0 个答案:

没有答案