我们知道我们必须在服务器上创建私钥并生成其公钥并创建证书。
但是,如果我们得到某人已经拥有的私钥怎么办。在这种情况下,安全性是不是变弱了。
如果两方拥有相同的公钥和私钥对会发生什么
简单解释
发生这种情况的唯一方法是,如果您将您的私钥提供给某人。它永远不会偶然发生。绝不。您将有更好的机会赢得两次彩票,在同一天被闪电击中并被两只大猩猩殴打。与其担心生成某人已经拥有的私钥,不如担心如何保护自己免受闪电和大猩猩的伤害,这样您就可以花在彩票中赢的钱。
因此,只要您将私钥保密,您就永远不必担心这一点。
科学推理
假设您正在为您的公钥系统处理 1024 位 RSA。一个好的密钥生成器将独立选择两个 512 位素数,因此密钥生成器的任何两个实例选择 RSA 所需的两个素数的概率是 2 -512 · 2 -512 = 2 -1024或大约 1/10 308 . 这个数字是如此之小,以至于在一个正常运行的系统中是不可能发生的。您在某一年被闪电击中的几率(忘记某一天)1/1,000,000 (1/10 6 )。被两只大猩猩咬伤的概率 2 -120(见罗里评论中的帖子)。彩票有点难,因为它取决于什么彩票(因为每个彩票的几率都不同),但希望你明白这一点。
系统不当
所有的赌注都取消了。正如 Jeff 的评论中所指出的,这发生在Debian 的 OpenSSL 版本中,原因是一个简单的错误导致随机数生成器以非常小的随机性播种。结果是人们可能拥有相同的私钥。
拥有与其他人相同的私钥将允许这两个人解密彼此的消息等。
如果有人可以访问您的私钥,他可以解密为您加密的消息并以您的名义签署消息。所以他基本上可以做任何事情,你可以用密钥对做。
尽管过去存在错误,但其他人生成相同密钥对的可能性不大。
主要风险是,私钥被存储密钥的计算机上的恶意软件窃取。您提到,您不会在本地生成密钥对,而是在服务器上生成。这允许该服务器的管理员访问您的私钥。
虽然密钥可能受到密码短语的保护,但恶意软件可能会替换密钥处理应用程序或嗅探键盘输入。