【问题标题】:How to securely transfer from an old private key, to a new one?如何安全地从旧私钥转移到新私钥?
【发布时间】:2016-10-31 11:32:50
【问题描述】:

我可以用旧(私人)密钥签署新(公共)密钥,以安全地从一个密钥转移到另一个。但据我所知,没有什么能阻止任何获得旧密钥的人正式签署不同的新密钥,即使是在我放弃旧密钥之后很久。

如果我撤销旧的私钥,没有人可以做出那个虚假的签名,这很好。但是撤销密钥是否意味着它对新密钥的签名将失效? (以及它所做的每一个签名?)

因此,即使我是“鲍勃”,认识我为“爱丽丝”的人也能说我是同一个人。但随后他们看到“爱丽丝”被撤销,在这种情况下,他们必须抛弃所有关于我的知识,无论是爱丽丝还是鲍勃?

【问题讨论】:

  • 您是如何确定原始密钥对的所有权的?你能对新的重复这个过程吗?
  • security.stackexchange.com 更适合这个问题。

标签: security digital-signature pki key-management


【解决方案1】:

处理这个问题的常用方法是使用不同的密钥来签署密钥和签署“有用的”数据。

数据签名密钥位于自动调用的在线服务器上,因此存在被滥用的风险。此密钥定期轮换​​。原则上,它不需要轮换:如果发生不好的事情,只需撤销它。但在实践中,撤销是困难的:通常很难确保依赖签名的每一方都能及时看到撤销消息。过期确保即使一方没有看到撤销消息,它也不会长时间接受受损签名。

密钥签名密钥位于具有严格访问控制的离线服务器上,并且由于受到更好的保护,因此被泄露的风险非常低。

具有签名其他密钥的密钥的系统称为public key infrastructure。许多系统具有多个级别的签名密钥。最著名的 PKI 生态系统是用于 HTTPS 的生态系统,服务器具有由中间 certificate authority 签名的 certificate,而后者又具有由另一个 CA 签名的证书,直到您到达根 CA。中间 CA 在线,但运行专门的系统,除了签署证书之外什么都不做。根 CA 证书的密钥被分配给多个员工,这些员工每隔几年就会聚集到一个没有 Internet 连接的保险库中,以生成新的中间密钥。

使用 OpenSSL 运行您自己的 CA 并非易事,但它是可行的,而且您会在网络上找到许多教程。

【讨论】:

    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 2011-02-15
    相关资源
    最近更新 更多