.onion 地址通常应该由服务器私钥的 SHA1 哈希的前 80 位的 base32 字符串组成(请参阅.onion 地址规范)。
今天我遇到了一个显然没有任意地址的服务:http : //sms4tor3vcr2geip.onion/
它是如何工作的,它是否安全?
.onion 地址通常应该由服务器私钥的 SHA1 哈希的前 80 位的 base32 字符串组成(请参阅.onion 地址规范)。
今天我遇到了一个显然没有任意地址的服务:http : //sms4tor3vcr2geip.onion/
它是如何工作的,它是否安全?
葱是一个较旧的程序,现在有更新的替代方案:
Scallion - 使用 GPU 散列,需要 .NET 或 Mono:http: //github.com/lachesis/scallion
Eschalot - 使用词表搜索,需要 Unix 或 Linux:http ://blacksunhq56imku.onion
Eschalot 可以找到更长的人类可读名称,例如 seedneedgoldcf6m.onion、hostbathdarkviph.onion 等。
上面引用的性能图表现在有点过时了,8-10 个字符长的 .onions 很容易找到。
那天有一个讨论,当青葱第一次浮出水面时,隐藏服务的自定义名称是否不好。
问题一:生成的密钥具有比 TOR 生成的标准密钥大得多的公共指数,这给 TOR 继电器带来了更高的负载。
答:得出的结论是,与中继不断执行的其他加密任务相比,差异可以忽略不计。在 eschalot 中,最大的公共指数限制为 4294967295(4 个字节)。
问题二: TOR 开发人员可以决定过滤和阻止所有自定义名称。
回答:是的,他们可以,但他们还没有,他们真的没有理由这样做。他们也可以轻松更改随机名称的标准,并在网络上造成混乱和大量外流。
问题三:生成的名称很容易被欺骗,因为访问者在某处单击链接可能会被看似正确的 .onion 前缀欺骗而无需检查整个内容。演示一下,哪一个才是真正的丝绸之路?
silkroada7bc3kld.onion
silkroadqksl72eb.onion
silkroadcqgi4von.onion
silkroady3c2vzwt.onion
silkroadf3drdfun.onion
silkroadbdcmw7rj.onion
答:两者都没有,我生成了所有这些来演示问题。如果您认识到这些都是假货,那么您在丝绸之路上花费的时间可能比我想知道的要多:)。
公平地说,完全随机的地址更糟糕 - 如果有人编辑其中一个洋葱链接 wiki 并将一个随机地址替换为另一个,则使用该 wiki 的临时访问者不会知道其中的区别。
解决方案:这基本上取决于人们关注他真正访问的是哪个网站,但网站所有者可以创建一个更容易记住的人类可读地址,即使它是一个完全随机的胡言乱语。只要它长且易于记忆和识别。一些例子:
fledarmyusertvmu.onion
wifefeelkillwovk.onion
ladyfirehikehs66.onion
woodcubabitenem2.onion
我没有花时间刻意生成好名字,只是从测试 eschalot 后留下的列表中挑选了一些。使用(非常)大的单词表,很容易生成外观独特的名称,但需要时间来查看结果并手动找到合适的名称。
好吧,那是我的意见,可能是错误的。
——希罗
您可以使用蛮力找到与您想要的哈希部分匹配的密钥。一种工具是葱。Shalot 的自述文件中提到了安全性:
有时声称,Shallot 生成的私钥不如 Tor 生成的私钥安全。这是错误的。尽管 Shallot 生成了一个具有异常大的公共指数 e 的密钥对,但它执行 PKCS #1 v2.1 指定的所有健全性检查(直接在 sane_key 中),然后执行 Tor 在生成 RSA 时所做的所有健全性检查密钥对(通过调用 OpenSSL 函数 RSA_check_key)。
要了解使用葱生成所涉及的时间,也可以从自述文件中了解:
在 1.5Ghz 处理器上生成具有给定初始字符数的 .onion 的时间:
字符 | 生成时间(大约) -------------------------------------------------- ----------------- 1 | 不到 1 秒 2 | 不到 1 秒 3 | 不到 1 秒 4 | 2 秒 5 | 1分钟 6 | 30分钟 7 | 1天 8 | 25天 9 | 2.5年 10 | 40 年 11 | 640年 12 | 10 千年 13 | 160 千年 14 | 260万年
添加到 Johan Nilsson 的回答(因为我不能发表评论):似乎甚至已经创建了 13 个字符的名为 .onion 的 URL,对此Tor 博客条目的评论提到了一个 13 个字符的洋葱 URL:(deeproadworksbwj.onion
不要连接对它,我不知道它是什么或它是否好)。
我认为他们只是暴力破解私钥生成,丢弃那些不具有所需属性的私钥。
由于我猜他们想要的只是开头的 7 个字符,所以计算量不会太高吗?