Encryption RSA加密:是否可以在对等网络中撤销公钥/私钥对?
我正在创建一个应用程序(C#),它将在网络上发送一些消息。传出消息将由私钥签名,传入消息将由私钥解密 如果有人窃取私钥,我希望能够撤销它(向所有其他客户端发送撤销消息)。因为我是被盗私钥的所有者,只有我才能撤销它 我的问题:是否有可能创建一个公钥/私钥对,依赖于我以前创建的所谓“主公钥/私钥对”,用于我的应用程序,如果应用程序中的私钥被盗,我可以撤销它,因为使用主密钥我可以证明我是所有者 希望有人明白我的意思;-) 迈克 更新1:Encryption RSA加密:是否可以在对等网络中撤销公钥/私钥对?,encryption,cryptography,rsa,public-key-encryption,encryption-asymmetric,Encryption,Cryptography,Rsa,Public Key Encryption,Encryption Asymmetric,我正在创建一个应用程序(C#),它将在网络上发送一些消息。传出消息将由私钥签名,传入消息将由私钥解密 如果有人窃取私钥,我希望能够撤销它(向所有其他客户端发送撤销消息)。因为我是被盗私钥的所有者,只有我才能撤销它 我的问题:是否有可能创建一个公钥/私钥对,依赖于我以前创建的所谓“主公钥/私钥对”,用于我的应用程序,如果应用程序中的私钥被盗,我可以撤销它,因为使用主密钥我可以证明我是所有者 希望有人明白我的意思;-) 迈克 更新1: 我正在开发一个点对点应用程序,因此没有中央服务器/CA 我使用
- 我正在开发一个点对点应用程序,因此没有中央服务器/CA
- 我使用C中的RSACryptServiceProvider类生成公钥/私钥#
如果是的话。。。不,没有某种服务器,我认为你不能“撤销”密钥对。撤销意味着让中央服务器告诉您哪些密钥是有效的,或者让您的应用程序在内部执行此检查(例如,从第二个密钥对接收消息并进行处理)您不需要第二个密钥(如果需要,如果攻击者偷了该密钥怎么办?)只需定义一个“revocation”消息类型,该消息类型指示签署该消息的密钥已被撤销(不可撤销,原样)。如果您的密钥被盗,您只需使用被盗的密钥发送撤销消息,该密钥对攻击者就没有用处了
当然,如何分发撤销消息取决于您使用的系统,但我在这里假设您已经有了分发密钥的方法,因此撤销可以采用相同的方法。您使用的是X.509、OpenPGP还是完全自定义的(为什么使用完全自定义的)?我正在开发一个点对点应用程序,因此不会有中央撤销权限。谢谢你的回答,你明白我的意思。生成公钥/私钥时是否可能“影响”公钥/私钥,我的意思是,我可以将另一公钥的哈希插入新公钥(作为公钥的一部分)中吗?这样的解决方案可以解决我的问题。@Mike:在RSA,我不这么认为。。。没有磁场、信号或类似的东西。我正在查看其他公钥/配对密钥,但我从未听说过类似的事情。谢谢您的评论。我想你给出了最后的答案-我的问题没有解决方案:-(我已经实现了你所描述的撤销。第二对(“主密钥”)是必要的,因为我需要一个永远不会更改的公钥。@Mike什么可以防止“主”密钥被泄露?主密钥的私钥密钥对受到特殊保护(加密),因为大多数时候我只需要它的公钥(作为GUID)。