tor 127.0.0.1
Tor是一个强大的开源网络,可以匿名和不可追踪(或难以追踪)浏览互联网。 之所以能够做到这一点,是因为用户运行的是Tor节点,这是两条其他直接路径之间的故意绕行。 例如,如果您在新西兰并且访问python.nz,而不是将其路由到运行python.nz的数据中心,则可能会将您的访问量路由到匹兹堡,然后是柏林,然后是瓦努阿图,最后是python.nz。 建立在加入参与者节点上的Tor网络具有不断变化的结构。 只有在这个动态网络空间中,才能存在一个令人兴奋的,瞬态的顶级域标识符:.onion地址。
如果您拥有或打算创建一个网站,则可以生成一个虚荣的.onion网站来保护您和访问者的匿名性。
什么是洋葱地址?
由于Tor是动态的,并且有意以不可预测的方式重新路由流量,因此洋葱地址使信息提供者(您)和访问信息的人(您的流量)难以彼此,由中间网络主机或由网络跟踪。局外人。 通常,洋葱地址是没有吸引力的,具有16个字符的名称,例如8zd335ae47dp89pd.onion。 虽然不容易记住,并且在被欺骗时难以识别,但是一些以Shallot(以eschalot分叉)达到高潮的项目提供了解决这些问题的“虚荣”洋葱地址。
可以自己创建一个虚构洋葱URL,但计算量很大。 要获得准确的16个字符,一台计算机可能需要数十亿年才能实现。
性格 | 时间 |
---|---|
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万年 |
我喜欢这张桌子从25天变成2.5年的样子。 如果要生成56个字符,则需要10 78年。
具有16个字符的洋葱地址称为版本2洋葱地址,具有56个字符的洋葱地址称为版本3洋葱地址。 如果您使用的是Tor浏览器,则可以签出该v2地址或此v3地址 。
v3地址比v2有几个优点:
- 更好的加密(v3将SHA1 / DH / RSA1024替换为SHA3 / ed25519 / curve25519)
- 改进的目录协议,将更少的信息泄露给目录服务器
- 改进的目录协议,具有较小的目标攻击面
- 更好的洋葱地址可防止假冒
但是,v3的缺点(据说)是您可能需要进行营销工作才能让网民在他们的浏览器中键入该马拉松长度的URL。
为什么您可能需要洋葱地址
.onion域具有一些关键优势。 它的主要功能是只能使用Tor浏览器进行访问。 许多人甚至都不知道Tor存在,因此,您不应期望.onion网站上出现大量流量。 但是,Tor浏览器提供了许多匿名浏览器无法使用的匿名层。 如果您想确保您和访问者几乎完全匿名,则为它建立洋葱地址。
使用Tor,您无需向ICANN注册即可创建自己的域。 您无需在Whois搜索中隐藏您的详细信息,您的ICANN帐户也不会受到恶意接管的攻击。 您完全可以控制自己的隐私和域。
洋葱地址也是绕过政府或政权施加的审查限制的有效方法。 如果您的网站可能被视为对政治阶层利益的威胁,它的隐私有助于保护您。 Wikileaks之类的网站就是最好的例子。
生成虚荣网址所需的内容
要配置虚荣洋葱地址,您需要生成一个新的私钥以匹配自定义主机名。
可用于生成.onion地址的两个应用程序是eschalot(用于v2地址)和mkp224o(用于v3地址)。
Eschalot是一个Tor隐藏的服务名称生成器。 它允许您使用蛮力方法生成(部分)自定义的虚荣.onion地址。 Eschalot在BSD许可下以源代码形式分发,并且可以在任何Unix或Linux系统上进行编译。
mkp224o是ed25519 .onion服务的虚荣地址生成器,可在GitHub上以CC0 1.0通用许可证使用。 它生成虚荣的56个字符的洋葱地址。
这是这些应用程序如何工作的简单说明。 (这假设您对Git感到满意。)
Eschalot
Eschalot需要具有源头的OpenSSL 0.9.7或更高版本的库。 使用以下命令确认您的版本:
$ openssl version
OpenSSL 1.1.1c FIPS
28 May
13505050505
您还需要一个Make实用程序(BSD或GNU Make都可以)和一个C编译器(GCC,PCC或LLVM / Clang)。
将eschalot存储库克隆到您的系统,然后编译:
$
git clone https:
// github.com
/ ReclaimYourPrivacy
/ eschalot.git
$
cd eschalot-1.2.0
$
make
如果您不使用GCC,则必须设置CC环境变量。 例如,改为使用PCC:
$
make clean
$
env
CC =pcc
make
使用eschalot
要查看Echalot的帮助页面, 请在终端中键入./eschalot :
$ .
/ eschalot
Version: 1.2.0
usage:
eschalot
[ -c
]
[ -v
]
[ -t count
]
(
[ -n
]
[ -l min-max
]
-f filename
)
|
( -r regex
)
|
( -p prefix
)
-v : verbose mode - print extra information to STDERR
-c :
continue searching after the
hash is found
-t count : number of threads to spawn default is one
)
-l min-max : look
for prefixes that are from
'min' to
'max' characters long
-n : Allow digits to be part of the prefix
( affects wordlist mode only
)
-f filename: name of the text
file with a list of prefixes
-p prefix : single prefix to look
for
(
1 -
16 characters long
)
-r regex : search
for a POSIX-style regular expression
Examples:
eschalot
-cvt4
-l8-13505050505f wordlist.txt
>> results.txt
eschalot
-v
-r
'^test|^exam'
eschalot
-ct5
-p
test
base32 alphabet allows letters
[ a-z
] and digits
[
2 -
7
]
Regex pattern examples:
xxx must contain
'xxx'
^foo must begin with
'foo'
bar$ must end with
'bar'
b
[ aoeiu
] r must have a vowel between
'b' and
'r'
'^ab|^cd' must begin with
'ab' or
'cd'
[ a-z
]
{
13505050505} must contain letters only, no digits
^dusk.
* dawn$ must begin with
'dusk' and end with
'dawn'
[ a-z2-
7
]
{
13505050505} any name - will succeed after one iteration
您可以使用eschalot生成带有前缀-p的地址,以保护隐私 。 假设您的系统具有多个CPU内核,请使用多线程 ( -t )加快URL的生成。 要获得详细的输出 ,请使用-v选项。 将计算结果写入名为newonion.txt的文件:
. / eschalot -v -t4 -p privacy >> newonion.txt
脚本执行直到找到合适的匹配为止:
$ .
/ eschalot
-v
-t4
-p privacy
>> newonion.txt
Verbose, single result, no digits,
4 threads, prefixes
7 -
7 characters long.
Thread
#1 started.
Thread
#2 started.
Thread
#3 started.
Thread
#4 started.
Running, collecting performance data...
Found a key
for privacy
(
7
) - privacyzofgsihx2.onion
要访问eschalot生成的公钥和私钥, 请在eschalot文件夹中找到newonion.txt 。
mkp224o
mkp224o需要兼容C99的编译器,Libsodium,GNU Make,GNU Autoconf和类似Unix的平台。 它已经在Linux和OpenBSD上进行了测试。
首先,将mkp224o存储库克隆到您的系统上,生成所需的Autotools基础结构 ,进行配置和编译:
$
git clone https:
// github.com
/ cathugger
/ mkp224o.git
$
cd mkp224o
$ .
/ autogen.sh
$ .
/ configure
$
make
使用mkp224o
键入./mkp224o -h查看帮助:
$ .
/ mkp224o
-h
Usage: .
/ mkp224o filter
[ filter...
]
[ options
]
.
/ mkp224o
-f filterfile
[ options
]
Options:
-h - print
help to stdout and quit
-f - specify filter
file
which contains filters separated by newlines
-D - deduplicate filters
-q -
do not print diagnostic output to stderr
-x -
do not print onion names
-v - print
more diagnostic data
-o filename - output onion names to specified
file
( append
)
-O filename - output onion names to specified
file
( overwrite
)
-F - include directory names
in onion names output
-d
dirname - output directory
-t numthreads - specify number of threads to utilise
( default - CPU core count or
1
)
-j numthreads - same
as
-t
-n numkeys - specify number of keys
( default -
0 - unlimited
)
-N numwords - specify number of words per key
( default -
1
)
-z - use faster key generation method; this is now default
-Z - use slower key generation method
-B - use batching key generation method
(
> 10x faster than -z, experimental
)
-s - print statistics each
10 seconds
-S t - print statistics every specified ammount of seconds
-T -
do not reset statistics counters when printing
-y - output generated keys
in YAML format instead of dumping them to filesystem
-Y
[ filename
[ host.onion
]
] - parse YAML encoded input and extract key
( s
) to filesystem
要使mkp224o工作,需要一个或多个过滤器。 执行时,mkp224o将创建一个包含秘密和公共密钥的目录,以及每个发现的服务的主机名。 缺省情况下, root是当前目录,但是可以使用-d开关覆盖。
使用-t numthreads选项来定义要在处理期间使用的线程数,并使用-v查看详细输出。 使用快速过滤器,并通过设置-n选项来生成四个密钥:
$ .
/ mkp224o filter fast
-t
4
-v
-n
4
-d ~
/ Extracts
set workdir:
/ home
/ areahints
/ Extracts
/
sorting filters... done.
filters:
fast
filter
in total,
2 filters
using
4 threads
fastrcl5totos3vekjbqcmgpnias5qytxnaj7gpxtxhubdcnfrkapqad.onion
fastz7zvpzic6dp6pvwpmrlc43b45usm2itkn4bssrklcjj5ax74kaad.onion
fastqfj44b66mqffbdfsl46tg3c3xcccbg5lfuhr73k7odfmw44uhdqd.onion
fast4xwqdhuphvglwic5dfcxoysz2kvblluinr4ubak5pluunduy7qqd.onion
waiting
for threads to finish... done.
在用-d设置的目录路径中,mkp224o创建一个具有其生成的v3地址名称的文件夹,在其中您可以看到主机名,机密文件和公共文件。
使用-s开关启用打印统计信息,这在对计算机上的不同ed25519实现进行基准测试时可能很有用。 另外,请阅读mkp224o中的OPTIMISATION.txt文件以获取与性能有关的提示。
有关安全性的注意事项
如果您想知道v2生成的密钥的安全性, Shallot提供了一个有趣的方法:
有时有人声称,Shallot生成的私钥不如Tor生成的私钥安全。 这是错误的。 尽管Shallot生成具有非常大的公共指数e的密钥对,但它执行PKCS#1 v2.1指定的所有完整性检查(直接在sane_key中 ),然后执行Tor生成RSA时执行的所有完整性检查密钥对(通过调用OpenSSL函数RSA_check_key )。
“ Zooko的三角 ”(在斯蒂格勒的Petname Systems中进行了讨论)认为,名称不能同时具有全局性,安全性和易记性 。 这意味着尽管.onion名称是唯一且安全的,但它们的缺点是它们对人类没有意义。
想象一下,攻击者创建了一个.onion名称,该名称看起来类似于其他洋葱服务的.onion,并替换了其在洋葱Wiki上的超链接。 识别它需要多长时间?
洋葱地址系统需要权衡取舍,但虚荣地址可能是它们之间的合理平衡。
tor 127.0.0.1