見出し画像

MixFetch - Fetch APIのようなものだが、ミックスネットを経由

ウェブアプリ開発者は、Fetchの代わりにこのシンプルなドロップインを使用することで、アプリのプライバシーを簡単に強化することができます。

Fetch APIは、ビルダーがウェブから情報を引き出すための、標準的で使いやすいJavaScriptインターフェースだ。しかし、ほとんど全てのオンライン上のやりとりと同様に、このAPIを使用するとメタデータが漏れる。つまり、APIへのトラフィックとAPIからのトラフィックは追跡可能であり、したがってパターン分析に対して脆弱である。これを解決するために、開発者はmixFetchでFetch APIをNym mixnetを通して実行できるようになり、ウェブサイトやオンライン・サービスからリソースを取得する際のネットワーク・トラフィックをカバーできるようになった。

mixFetchって何?

mixFetchは、Fetch APIの代替として使用されるものだが、ひとつだけ違う点がある- 通常であれば露呈してしまうトラフィック・パターンが、ミックスネットによって保護されているのだ。

mixFetchを使えば、開発者はウェブからリソースを取得し、痕跡を一切残さない、プライバシーを強化したアプリケーションを作成することができる。例えば、mixFetchを使って、mixnet経由で匿名性が保証されたシンプルなJavaScriptチャットアプリケーションを作ることが可能だ。

ミックスネット経由での " Fetch " とはどういう意味ですか?

Nymミックスネットを経由して何らかのメッセージ、トランザクション、リクエストが送信されると、次のようなことが起こる。まず、同じように見える暗号化された「パケット」に包まれ、ダミーのパケットとシャッフルされる。これらは3つの「ホップ」を経由して世界中のミックスノードに送られ、事実上、通信パターンの追跡が不可能になる。

これらのパケットは、受信側で復号化、再構成され、IPアドレスやメタデータが保護され、人々の匿名化を解除されなくなり、サービスについて知る際に使用する通信パターンが保護される。

パケットが反対側に現れると、それはNymの『Network Requester』を経由してルーティングされ、ユーザーに代わってサービスに関与する、ちょっとしたプロキシのようなものだ。

詳細:https://blog.nymtech.net/tech-deepdive-network-requesters-e5359a6cc31c

mixFetchを使えば、開発者はこのインフラをWebアプリケーションにプラグ&プレイすることができ、mixnetユーザーと彼らが使っているWebサービスとの間に直接的なリンクがないことを保証できる。

mixFetchでWebアプリケーションのプライバシーを強化する方法

mixFetchを使ってコードを書くのは簡単です。

まずはmixFetchをインストールしましょう:

npm install @nymproject/mix-fetch

次に、必要なAPIの例を入れ替えながら、以下のコードを貼り付ける。

import { mixFetch } from '@nymproject/mix-fetch';

// HTTP GET
const response = await mixFetch('https://nymtech.net');
const html = await response.text();

// HTTP POST
const apiResponse = await mixFetch('https://api.example.com', {
method: 'POST',
body: JSON.stringify({ foo: 'bar' }),
headers: { [`Content-Type`]: 'application/json', Authorization: `Bearer ${AUTH_TOKEN}` }
});

以上です!これで、mixFetchでFetchのプライバシーが強化されました。

わあー簡単だね。何が問題なんだ?

現在、いくつかの制限があります。現在のところ、Nym mixnet Network Requestersで有効になっているウェブサービスはほんの一握りです。これらが開放されるまでは、mixFetchはこのリストにあるサービスでのみ動作します。DiscordMatrixの開発者チャットに参加して、リストに追加するサービスをリクエストしてください!

mixFetchの使用を拡大する一つの可能な解決策は、誰の許可なく、より多くのサービスとコンタクトを取ることを可能にするために、Network Requesterがオープン・プロキシ経由で実行されることである。そうすれば、ユーザーは、理論的には、どんなウェブサイトやサービスからでも、どんな情報でも引き出すことができる。

しかし、オープンプロキシは悪意のある行為者によって悪用される可能性があるため、これには別の課題があります。

この問題の潜在的な解決策は、Tor Nullに似たモデルをTor Exitノードオペレータに対して実行することである。これは基本的に、既知の問題のあるアドレスとのトラフィックを禁止する拒否リストである。あるいは、安全が保証されたウェブアドレスとのトラフィックのみを許可するホワイトリストを導入することもできます。

Nym coreは現在、可能な限り広範なサービスでmixnetを利用できるようにするため、事業者と協力して最善の解決策を模索している。

一方、現在許可リストにないサービスにアクセスしたい開発者には、2つの選択肢がある。

・あなた自身のNetwork Requesterを実行し、接続する必要があるホストを許可するように設定する。

・標準の許可リストに含めてほしいサイトについて、GithubMatrix (Element)、またはDiscord経由でNym coreに連絡する。

MixFetchは今すぐご利用いただけます!

開発者の皆さん:mixFetchを使って、mixnet上で動作するプライバシーを強化したウェブアプリケーションを作り、以下のNymコミュニティチャンネルを通じてフィードバックをお寄せください。

Nym Communityに参加

Discord // Telegram // Element // Twitter

Privacy loves company

English // 中文 // Русский // Türkçe // Tiếng Việt // 日本 // Française // Español // Português // 한국인


原文記事


この記事が気に入ったらサポートをしてみませんか?