SQL Server 2005 中证书过期后数据会怎样

SQL Server 2005 中证书过期后数据会怎样

我正在尝试使用证书和对称密钥加密 SQL Server 2005 中的列

证书过期后数据会怎样?

我在一些博客上看到,sql server 不验证证书的过期日期,用户仍然能够使用过期的证书进行加密和解密

这是真的吗?如果是,有人能给我指出微软知识库文章(或)在线图书页面吗?其中指出 Sql Server 不会验证证书过期数据,用户仍然能够使用过期的证书加密和解密数据

谢谢 Ram

答案1

您可以查看官方文档联机丛书中的 CREATE CERTIFICATE 语句,摘录如下:

到期日= 'mm/dd/yyyy'
是证书到期的日期。如果未​​指定,EXPIRY_DATE 将设置为 START_DATE 一年后的日期。EXPIRY_DATE 为 UTC 时间,可以设置为秒的粒度。SQL Server Service Broker 检查到期日期;但是,当证书用于加密时,不强制到期

答案2

除了chad所说的之外,大多数基于证书的加密方案的工作原理类似:

  • 数据使用对称密钥加密
  • 该证书用于加密对称密钥
  • 当证书被盗用或即将过期时,将使用新证书替换该证书并使用对称密钥重新加密

因此,始终可以以最小的影响替换证书,因为只有使用此证书加密的对称密钥需要用新证书重新加密。

此外,即使在检查有效期,一般规则是:

  • 为了进行签名验证,证书必须有效当时使用时经核实时未
  • 对于数据加密,证书必须有效在数据加密时,当时没有解密

强制证书过期的方案检查签名或解密数据设计非常糟糕,因为过了有效期后所有数据都无法解密。

相关内容