【问题标题】:How does the ECDSA in C# workC# 中的 ECDSA 是如何工作的
【发布时间】:2011-04-20 02:48:51
【问题描述】:

我正在查看此示例:http://msdn.microsoft.com/en-us/library/system.security.cryptography.ecdsacng.aspx,并且我正在尝试了解中间人攻击如何无法解决此问题?另外,这与使用 SSL 之类的证书有何不同?

【问题讨论】:

  • cstheory.stackexchange.com来说似乎是个不错的问题
  • @Henk:CSTheory 用于理论计算机科学。我会尝试 security.SE beta 网站。

标签: c# c#-4.0 cryptography


【解决方案1】:

仅此密码系统无法抵御 MITM 攻击

无论设计如何,所有公钥密码系统都容易受到 MITM 的影响

您需要公钥基础设施或共同受信任的第三方来确保攻击者无法提供自己的密钥作为 alice 和/或 bob 的密钥

【讨论】:

  • 是的,我就是这么想的。那么我的问题是,这个功能到底有什么用?
  • 它为您进行椭圆曲线 DSA 计算?或者如果问题更像是“为什么使用 ECDSA 而不是 DSA?”看看密钥长度……公共 DSA 密钥,1024 位……公共 ECDSA 密钥,160 位……〜相同的安全强度,但更快的计算
  • 好吧,我的目标是使用数字签名之类的东西来克服可以针对 ECDH 进行的中间人攻击,我认为如果 ECDH 中的公钥初始化经过验证ECDSA 会消除它,但我不确定证书如何适应它。我希望能够在我的 C# 客户端和 C# 服务之间有一种私有的验证方式。
  • 为了简单起见:将证书视为一个袋子。如果 ID(姓名、地址、客户编号等)属于该 ID 的公钥,以及其他需要真实的数据(如到期日期(此密钥何时到期)),您输入某种类型的信息,或任何你需要的。当证书的所有数据都在那里时,您对包中的所有内容进行哈希处理,并使用受信任的第三方的私钥对哈希进行签名。拥有该第三方 pub 密钥的每个人都可以验证证书的内容是否有效。攻击者不能再伪造任意 ID 的密钥
猜你喜欢
  • 1970-01-01
  • 2015-01-09
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
相关资源
最近更新 更多