Visual 主机密钥的安全性如何,SHA2 如何转换为该表示形式?

信息安全 哈希 SSH
2021-08-21 02:10:50

SHA2 有 256 位可能性。

视觉主机键似乎有以下

  • 大小写 = 26*2
  • 数字和符号 = 20
  • 附加符号 = 22

在此处输入图像描述

共 94 个字符

  • 9列
  • 17行

视觉主机密钥如何生成图像?

1个回答

视觉指纹是否唯一识别服务器的密钥?

不; “视觉主机密钥”算法没有保留足够的信息来为每个密钥提供 100% 保证唯一的图像。但更传统的指纹也没有。像你这样的 ECDSA 密钥有 256 位。RSA 密钥有 2048 个。但如果您计算图像中的十六进制数字,您会得出其中的 32 个:128 位。

这 128 位是公钥的 MD5 散列。MD5 算法在许多生成用于显示的指纹的代码中都是硬编码的。

可视主机密钥算法(在源代码中称为“randomart”)采用该 MD5 散列并使用它来跟踪路径。至于这是多么“安全”,我会让消息来源自己说话:

如果你看到的图片不同,关键是不同的。如果图片看起来一样,你仍然什么都不知道。

这不是没有安全感吗?MD5 不安全吗?

如果我想用传统指纹欺骗你,我不会费心尝试生成一个预先存在的 SSH 密钥的完整 MD5 冲突。即使在今天也很难。

相反,我会生成密钥,直到找到指纹的前几位数字和最后几位数字匹配的密钥。除非您在验证方面非常自律,否则指纹是 MD5 还是 SHA256 无关紧要;你的眼睛会掠过这个数字,它看起来“足够好”。这就是视觉指纹试图防止的。

如果您是偏执狂,那么请不要使用任何人工验证的指纹,只要您可以帮助它,无论是视觉还是其他方式。相反,将预期服务器密钥的已知良好副本放在您的 known_hosts 文件中。

有关更多信息,请尝试:

图片是如何生成的?

再次,从来源

这里使用的算法是一条蠕虫在离散平面上爬行,所到之处都留下痕迹(增强场)。移动取自 dgst_raw 2bit-wise。撞到墙壁会使相应的运动矢量在本回合中被忽略。图形不是明确的,因为图形中的圆圈可以朝任一方向行走。

更详细地说,该算法的工作原理大致如下:

从中间开始,使用哈希作为一种藏宝图,用于下一步移动。对于每一步,取散列中的下两位。00 表示向西北移动;01 表示东北;10 表示西南;11 表示东南。如果撞到墙,请抱住它。数一数你踩在每个方格上的次数。

最后,对于您踩过的每个方格,根据您踩过方格的次数从以下 14 个符号列表中选择一个符号:.o+=*BOX@%&#/^(如果您将未访问的方块包含“”,则总共有 15 个符号。)分别用 an和 an标记您的起点和终点。SE