非对称加密:更改我的私钥

时间:2013-08-13 21:29:29

标签: encryption public-key-encryption

显然我不太了解asymm加密。

所以在任何asymm加密系统中,我都可以要求一个密钥,它为我生成一个我应该保密的私钥和一个我应该广泛宣传的公钥。

但当然,无论我如何存储私钥,我都无法确定我的私钥没有受到损害。所以,就像密码一样,我想经常更改我的私钥。

我的问题是,在任何asymm加密系统中:每当我创建一个新的私钥时,我也会获得一个新的公钥,对吧?所以我的旧公钥不适用于我的新私钥? ...这意味着任何想要使用我的加密技术与我沟通的人都必须首先获得我的新公钥,对吗?

或者有没有办法经常更改我的私钥而不要求我的朋友不断更新我的公钥?

4 个答案:

答案 0 :(得分:3)

使用非对称加密算法,公钥和私钥在数学上彼此相关。你也不能在不改变另一个密钥的情况下改变一个密钥。

只要您采取合理措施保护您的私钥,您就很少需要更改它。

  • 使用足够大的钥匙以防止在可预见的将来破裂。 (大小取决于算法,例如4096位RSA。)
  • 不要将您的私钥存储在任何地方。
  • 将您的私钥存储在受密码保护的加密容器中。使密码长,复杂,并记住
  • 切勿在您怀疑可能遭到入侵的系统上使用您的私钥。
  • 考虑将密钥完全脱机存储,例如记忆棒或CD(当然是加密容器中)。

这是我个人所做的最低限度。

如果您恰好关注拥有公钥真实副本的人,请生成哈希并为人们提供一种确认哈希的方法。

虽然归结为它,但是你的密钥和通信是否足够安全的问题是基于你所防御的。如果您认为您的系统遭到入侵并且系统中的私钥被盗,那么频繁更换密钥毫无意义,因为新密钥也会被窃取。如果您认为您的公钥已被用于破解您的私钥,更大的密钥和更好的熵将导致他们花费更长的时间来破解。

非对称密钥的当前(2012)NIST recommendations是每1 - 2年更改一次,并使用最小密钥大小2048位。

答案 1 :(得分:1)

Syon提出了一些很好的观点。要考虑的另一件事是拥有多个键。强烈建议使用单独的密钥和加密密钥。

如果私有加密密钥遭到破坏,您的签名仍然有效。

要详细说明Syon的一个要点,您可以在硬件设备上创建和存储私钥,例如SafeNet eToken。无法提取私钥,因此只要您拥有该令牌,您就可以非常确信您的私钥是安全的。

答案 2 :(得分:1)

据我所知,是的,可以在不更改公钥的情况下更改私钥。 如果{e,n}是公钥(n是两个大质数的乘积),而{d,n}是私钥。然后我们需要找到一个新的e值,使得m = c ^(ed)mod n。这是通过求解ed = kx phi(n)+1来实现的,其中phi(n)是Eulers Totient函数。 更改私钥的原因是,如果我们认为密钥已经被盗用,那么我们需要一个新密钥,但是出于遗留原因,我们需要保留旧的公共密钥。

答案 3 :(得分:-1)

你完全理解它是如何运作的。如果不更改公钥,则无法更改私钥。现在,问题是,如果你通过不安全的手段分发你的公钥,你可以向中间人攻​​击的人祈祷。

有关示例,请参阅http://en.m.wikipedia.org/wiki/Man-in-the-middle_attack

避免此攻击的方法是从受信任的实体获取数字证书。