这ssh-keygen 生成的 randomart是否便于人们快速评估他们所连接的远程机器上的密钥的有效性。考虑到这一点,发布您的随机艺术是否安全,或者是否可以从随机艺术中逆向工程密钥?
就我个人而言,我喜欢发布一切可以发布的内容,这样我就可以验证自己的身份。randomart 是另一种方式吗?
答案1
您的随机艺术仅包含从您的公钥生成的信息。为了从某人那里接收数据,他们需要您的公钥。如果他们有您的公钥,那么他们也将能够为自己生成您的随机艺术。
TL;DR:您的密钥,因此 randomart 是“公开”信息,应该可以广播。您的 randomart 广播副本可用于比较他们生成的内容,以快速检查他们是否收到了正确的密钥。这显然取决于密钥是否安全存储或通过其他方式验证,因为他们只是从与 randomart 相同的位置下载密钥并不能阻止两部分在该位置被篡改。
如果您能看到随机图,那么您已经可以访问整个公钥。随机图的作用只是遍历公钥的位数据,并根据该数据使用一组规则绘制出“蠕虫”可能行进位置的热图。
它只不过是数据的视觉表示,它不会暴露有关密钥的任何信息,并且只不过是一种直观地验证熟悉的公钥的方法。
事实是,你需要首先,您需要整个公钥才能与主机通信。您必须使用公钥加密要发送给主机的数据,然后主机使用其密钥解密数据。作为回报,您可以向某人提供您的公钥,以便他们向您提供可以使用您的密钥解密的内容。
randomart 仅基于公钥内的实际数据字节并且“动态”生成。
从安全 SE:Visual 主机密钥有多安全,SHA2 如何转换为该表示形式?
从中间开始,将哈希用作下一步移动位置的藏宝图。每一步都取哈希中的下两位。00 表示向西北移动;01 表示向东北移动;10 表示向西南移动;11 表示向东南移动。如果撞到墙,就靠在墙上。计算踩到每个方格的次数。
最后,对于您踩过的每个方格,根据您踩过该方格的次数,从以下 14 个符号列表中选择一个符号:.o+=*BOX@%&#/^。(如果包括“”表示未访问的方格,则总共有 15 个符号。)分别用 S 和 E 特别标记您的起点和终点。
它不能保证是唯一的,但可以用来验证密钥是否是预期看到的。
它并不比公钥本身更安全或更不安全。如果您的密钥很弱或以某种方式被泄露(其他人拥有您的密钥),那么 randomart 不会改变任何事情。