2 security password ssh key-authentication
我不是在询问密码与密钥身份验证。
我见过几次(甚至亚马逊 AWS)说,即使 SSH 有一个重大漏洞,密钥身份验证也会使这种利用不那么容易受到攻击。但是,如果密钥的验证方式存在漏洞怎么办?这不只是基于身份验证机制做出假设吗?
为什么会有这个想法?是不是因为我们都知道密码是一种糟糕的身份验证形式,所以假设只是“使用私钥”?
我认为您所指的是所谓的挑战-响应模型。使用这种方法,密钥对永远不会以可以从线路上嗅探的方式暴露出来,就像通过线路发送密码的情况一样。因此,由于这个事实,它被认为更安全。
此安全 SE 问答的答案之一是:使用公钥登录 SSH 是否比保存密码更好?解释使用公钥/私钥对的优点。
摘抄
在公钥的情况下,我们有一个非常不同的情况。在这种情况下,服务器存储了用户的公钥。接下来发生的是服务器创建一个随机值(nonce),使用公钥对其进行加密并将其发送给用户。如果用户是应该是谁,他可以解密挑战并将其发送回服务器,然后服务器确认用户的身份。这是经典的挑战-响应模型。
因此,考虑到通过发送 NONCE 来使用密钥对的方式,它们永远不会真正被中间人知道,只有密钥的公共端是公开的。
如果你真的怀疑你可以放弃使用这个密钥对,而只需重新生成一个全新的集合。
摘抄
在安全工程中,随机数是在加密通信中仅使用一次的任意数字。它在精神上类似于 nonce 词,因此得名。它通常是在身份验证协议中发布的随机或伪随机数,以确保旧通信不能在重放攻击中重复使用。例如,在 HTTP 摘要访问身份验证中使用 nonce 来计算密码的 MD5 摘要。每次出现 401 身份验证质询响应代码时,随机数都不同,因此几乎不可能进行重放攻击。