Java Anon Proxy

2025 年 5 月 7 日 | 阅读 4 分钟

JonDonym,也称为Java 匿名代理 (JAP),是一个代理系统,旨在实现可撤销的假名(使用或出版一个假名、假名或虚构的名称的状态)的 Web 浏览。没有这种匿名性,所有使用互联网的设备都拥有一个可追踪的地址,即。

  • 互联网服务提供商。
  • 设备访问的网站。
  • 互联网网络中的任何窃听者。

如果未使用加密,可以发现用户正在浏览哪些网站,或者特定系统正在执行什么类型的请求。但是,在 JAP 中,无论是窃听者还是访问的网站都无法发现用户正在进行什么样的请求,因为 JAP 使用一个由其他 JAP 用户共享的静态地址。

Java 匿名代理的工作原理

当使用 Java 匿名代理时,用户不会直接连接到请求的网站。实际上,用户会走一条长长的路线来连接到该网站。这条长路线包括通过不同的中间人(称为Mixes)进行加密连接。JAP 使用预定的 Mixes 顺序。这种链接 Mixes 的顺序被称为Mix Cascade。用户可以自由选择不同的 Mix Cascade。要实现长路线,需要配置 Web 浏览器,使数据首先通过 JAP 传输,而不是直接发送到请求的网站。

Java Anon Proxy

当用户启动 JAP 软件时,JAP 首先与 InfoService 建立连接,以确保程序版本仍然兼容。如果 JAP 软件的版本与 Mix 的软件不兼容,系统会提示用户更新程序;否则,将无法使用 JAP 服务。下一步是 JAP 向所选 Mix Cascade 的第一个 Mix Station 注册。JAP 程序与第一个 Mix Station 之间的网络连接是永久性的,直到注销。

Java 匿名代理中的加密

数据加密首先由 JAP 软件完成。然后将加密后的数据发送到第一个 Mix Station。第一个 Mix Station 将加密后的数据与来自其他用户的数据混合,然后数据被第二个 Mix Station 接收。第二个 Mix Station 然后将数据传输到第三个 Mix Station,在那里进行解密,然后通过缓存代理将数据发送到互联网,如上图所示。

JAP 在客户端系统与其他 JAP 服务器之间使用强大的加密。如上所述,数据会发生多次加密。由于有多层加密,你可以将其视为洋葱状结构。

一层加密围绕着发送到 Mix Cascade 中最后一个 Mix 的数据。只有最后一个 Mix 可以移除这一层以获取数据。在已经加密的数据周围再添加一层加密,用于第二个到最后一个 Mix。同样,第三层加密用于第三个到最后一个 Mix。

Java 匿名代理中的加密类型

Java 匿名代理使用非对称加密过程进行加密,以便每一层加密都只能由相应的 Mix 移除。非对称加密过程通过使用两个密钥来区分:一个用于解密加密数据的秘密密钥,另一个是用于执行数据加密的公开密钥。秘密密钥是只有通过它来解密加密数据的特定 Mix Station 才知道的密钥。以下是 Java 匿名代理使用的两种加密方法。

  • AES,128 位密钥长度
  • RSA,1024 位密钥长度

为了获得更高的效率,数据使用 AES 进行对称加密。较慢的非对称 RSA 方法用于加密对称密钥。

加密的好处

加密对于实现匿名性有两个重要原因。

1) 确保加密数据由真正的 Mix 正确解密,而不是由任何窃听者或攻击者解密。

2) 不同层的加密使数据更加安全,因为每次加密后数据看起来都不同。因此,攻击者很难根据数据的外观建立出站消息和入站消息之间的连接。

Java 匿名代理的缺点

为了实现用户的匿名性,应考虑以下限制。

1) 攻击者永远不应该控制级联中的 Mix。

2) 攻击者永远不应该控制其他用户。因为攻击者知道来自其他人的数据。

因此,传入的额外数据必须来自真实用户,而不是来自 Mix。这样,攻击者就可以轻松地针对用户。