首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么能阻止某人使用相同的密文来模仿私钥持有者?

什么能阻止某人使用相同的密文来模仿私钥持有者?
EN

Cryptography用户
提问于 2017-09-03 21:39:16
回答 2查看 410关注 0票数 3

我最近研究了RSA的基本原理,并认为我理解它是如何工作的。然而,有一个基本的问题,我似乎无法解决。如果某人收到了某条消息的密文,那么如何阻止他们向网络中的其他节点发送相同的消息/密文,并假装自己是私钥持有者?

例如,假设爱丽丝是一名将军,指挥士兵鲍勃、苏和曾傑瑞。Alice生成私钥(n,d)和公钥(n,e),并将(n,e)发送给所有士兵。士兵们每天都在等待爱丽丝的指示,这要么是“进攻”,要么是“不进攻”。爱丽丝通过RSA向士兵发送加密信息“攻击”,作为密文发给所有士兵。现在假设其中一名士兵恶意侵入了Alice的传送方法(例如电子邮件),而不是她的私钥。在单独的一天,同样的“攻击”加密密码文本发送给所有其他士兵。怎样才能防止这种情况发生(即使您使用填充,这总是会导致解密消息“攻击”)?

我认为一种方法是在所有消息中添加时间戳,士兵必须确保日期与当前日期匹配。但是,似乎有人可以通过拥有密码文本来向其他人发送同样准确的信息似乎是不对的.还是我漏掉了什么?

EN

回答 2

Cryptography用户

发布于 2017-09-04 10:17:24

我将尝试扩展bartonjs的答案,并提供一个类比。

您所描述的是称为重放攻击。当消息被加密(使用收件人的公钥)时,只有收件人才能读取它。向其他各方发出同样的信息不应构成威胁。

让我们假设中间的某个人能够重传相同的消息(即使是加密的)。因此,即使是预期的收件人也必须确保消息是当前的。如果消息没有加密,只有签名,则可以将消息发送给任何收听Alice的单位。这给了我与SAML认证的类比。SAML消息通常是普通的(而不是加密的)和签名。

减少重播攻击的常用方法是使用具有有限时间有效性的当前缓存。通常,SAML票证有效的时间很短(5分钟-1小时),并且对于登录用户(或-应该是),非mins被缓存。服务提供者必须检查:

  • 发送者身份
  • 收信人
  • 时间戳
  • 签名

因此,对于您的情况-检查命令的时间戳(允许一些小延迟),并记住已处理消息的时间窗口的非case (消息id、计数器、随机种子)。

票数 4
EN

Cryptography用户

发布于 2017-12-16 18:48:15

到目前为止,答案中缺少一种典型的方法,即挑战-回应机制可以用于交互场景,例如节点间的网络。

举个例子:士兵们每天都会随机选择一个数字,然后公布出来。在加密之前,爱丽丝必须在她的信息中以某种方式使用这个数字。

顺便说一句: RSA和任何公钥加密方案都是相反的--每个拥有公钥的人都可以加密,只有拥有私钥的人才能解密。不是相反的。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/51292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档