我可以使用旧(私人)密钥签署新(公共)密钥,以便安全地从一个密钥转移到另一个密钥。但据我所知,没有什么可以阻止任何获得旧密钥的人签署一个不同的新密钥作为官方,甚至在我给了旧密钥之后很久。
如果我撤销旧的私钥,没有人可以制作伪造的签名,这很好。但是,不撤销密钥意味着它的签名将无效吗? (以及它所制作的每一个签名?)
所以有人认识我" Alice"能够告诉我相同,即使我是鲍勃。"但后来他们看到了#Alice; #es;
答案 0 :(得分:0)
通常的处理方法是使用其他密钥来签名密钥和签名“有用”数据。
数据签名密钥位于在线服务器上,在该服务器上会自动对其进行调用,因此存在被滥用的风险。定期旋转此键。原则上,它不需要旋转:如果发生不良情况,只需将其撤销。但是在实践中,撤销是很难的:通常很难确保每个依赖签名的各方都能及时看到撤销消息。到期可以确保即使一方看不到撤销消息,也不会长时间接受受感染的签名。
密钥签名密钥位于具有严格访问控制的脱机服务器上,并且由于受到了更好的保护,因此受到威胁的风险非常低。
具有用于签署其他密钥的密钥的系统称为public key infrastructure。许多系统具有多个级别的签名密钥。最著名的PKI生态系统是用于HTTPS的生态系统,其中服务器具有由中间certificate签名的certificate authority,服务器依次具有由另一个CA签名的证书,直到您到达根CA。中间CA处于联机状态,但是运行专门的系统,该系统除了签署证书外什么也不做。根CA证书的密钥被分配给多名员工,这些员工每隔几年会聚在一起没有互联网连接的Vault中,以生成新的中间密钥。
使用OpenSSL运行自己的CA并非易事,但这是可行的,并且您会在网络上找到许多教程。