VPNの基礎知識

Shadowsocksって何のこと? どんな仕組みなの?VPNより高速に中国から海外のサイトを見るために

2017年7月21日

SS, SSR, 中国語では影梭と呼ばれるShadowsocks。中国ではVPNよりも普及している感があります。グレートファイアウォール(GFW)を超えて海外のサイトを見る為の手段として多くの人が利用しています。
では、このShadowsocksとはなんでしょうか?

Shadowsocksとは?

ShadowsocksはClowwindyという中国人によって開発されたSocks5をベースとしたプロキシです。公式ホームページによれば、「トラフィックを守る安全なSocks5プロキシ」と称しています。そもそも、Clowwindyの開発した目的は「暗号化によって安全性を確保しながら、GFWを突破する」為とのことです。

暗号化の方法は、AES, Blowfish, IDEA, RC4, ChaCha20等を使用出来ます。また、省略されたハンドシェイクでのTCP接続が可能で、リクエスト毎に1つの接続が送信されるのでVPNに比べると接続速度も速く、電池の消耗も抑えられるという特徴があります。今現在オープンソースで開発が進められおり頻繁にアップデートされています。

Shadowsocksの仕組み

非常に分かりやすかったのでこちらのサイトを参考にさせて頂きました。

参照写给非专业人士看的 Shadowsocks 简介

中国の現在

今現在中国の通信状況はこのようになっています。グレートファイアウォール(GFW)の詳細はこちら。

関連中国でVPNがなんで必要なの?分かりやすく説明します!

関連なんでVPNが繋がらないの?中国でVPN回線を維持する難しさを解説します

全ての中国からのアクセスはGFWを通して行われており、全てのトラフィックはフィルタリングされています。アクセスしたサイトがブラックリストに該当していた場合、Connection Resetされて「接続出来ませんでした」と表示されます。

SSHトンネル

この状況に対処する為に、外部のクライアントサーバーを利用してGFWのフィルタリングを迂回する方法を思いつきました。HTTP, Socksクライアント, VPNサービス等です。代表的な方法はSSHサーバーを使った接続が挙げられます。

  • 1. 端末からSSHサーバーまで暗号化されたSSHトンネルが形成されます
  • 2. SSHトンネルで繋がったSSHサーバーを通して、アクセスしたウェブサイトのリクエストを出します
  • 4-5. SSHサーバーにかえってきたレスポンスがSSHトンネルを通して端末に戻ってくる

GFWの検問が始まった当初はこの方法で対処可能でした。SSHは主にRSA暗号を使用しているので、GFWと言えども通信の最中にトラフィックの中身を解析して分析する事は不可能です。このお陰で、Connection Resetされたり、検索禁止キーワードを見られる事は無くなります。

しかし、端末とSSHサーバーとのセッションは特徴的で分かりやすいため、GFWはSSHの接続を検知しブロックするようになりました。現在のGFWはさらにアップグレードしており、AIを用いてトラフィックを分析し、疑わしい接続もしくはIPをブロックしています。

Shadowsocksの登場

ここでShadowsocksが登場します。
ShadowsocksはSSHがSocks5に置き換わったと見てもらって構いません。基本的にはSSHトンネルと同じ考え方と同じです。端末のSSクライアント、つまりSS-LocalはSocks5プロトコルを通してSS (Shadowsocks) サーバーとやり取りします。

SSHと違うポイントは外部から明らかに識別出来るトンネルを確立する訳ではなく、httpsのように暗号化された通常のTCPカプセルとして通信するという点に特徴があります。しかしhttpsとは異なっており、通常のTCPカプセルのように偽装して通信すると言った方法です。

Shadowsocksの通信内容は暗号化されているのでGFWは通信内容を分析出来ません、しかしSSHのような特徴もないので通常の通信として処理します。このようにしてGFWの干渉を受けずにインターネット通信を可能にしています。

Shadowsocksの特徴

VPNと比べるとどんな特徴があるのでしょうか?7つの特徴を紹介します。プロキシがベースになっているのでこちらも参照してみて下さい。

関連「プロキシ」「プロキシサーバー」って何のこと?VPNと比べて優しく解説

1. DNSポイズニングの回避、IPSからの訪問サイト特定を防止

ShadowsocksサーバーがリモートでDNSの検索等を代行してくれるのでGFWによるDNSポイズニングの心配もありませんし、ISP(インターネットプロバイダー)もDNSからユーザーが訪問したサイトを特定することは出来ません。

2. 高い安全性

全てのトラフィックが暗号化されており、通常のProxyクライアントに比べるとより多くの暗号化方式が使えます。Proxyサーバーを利用しているので100%自分のIPが特定されないという訳ではありません。現在の最新版のSSRであればAES-256という強力な暗号も実装されており、IPの問題もクリアしています。匿名性を更に向上したい場合は、トラフィック管理ツールや、Torに似たオプションを実装する必要があります。

3. 速度と安定性

PPTPやL2TPと言ったプロトコルはGFWに特定されているので、速度低下や大幅なパケットロスが生じます。しかしSS/SSRはほとんどGFWの干渉を受けないので、VPNに比べて速度が出ます。また、同じ理由でパケットロスも少ないので接続は安定しています。

4. 切替えが容易

通常VPNを使っている場合、中国国内のサイトにアクセス出来ないもしくは速度が低下します。また接続の切替えに時間がかかります。ShadowsocksはPACリスト(接続ルール)をサポートしており、協力者が作ったホワイトリストに基いて国外のサイトにアクセスする時のみShadowsocksを使うよう設定出来ます。

サーバーとの接続の際にハンドシェイクの処理方法に最も処理項目が少ない方法を採用しています。httpsでの接続よりも処理数が少ない為に、VPNや他のProxyに比べて高速で切替・接続が出来ます。

5. オープンソース

バックドアの心配をする必要がありませんし、プライバシー保護や安全性においても保証されています。また自分で簡単にShadowsocksサーバーを構築できます。

6. 節電

VPNと違ってより合理的な構造で処理項目が非常に少ない方法でTCP接続が可能な為電力の消耗を抑えられます。実際に携帯機器でVPNと比べるとその差は歴然です。スペックのあまり高くない機種でも軽快に動作します。

7. あらゆるデバイスに対応している

Windows, Linux, Mac, Android, iOS, またMerlinやOpenWrtなどのルーターファームウェアにも対応しています。またクライアントアプリも数多く開発されているので自分で好きなアプリを選ぶ事ができます。

関連【iOS】Shadowsocks(R) おすすめアプリの紹介と比較

デメリット

機能に関して言えば、デメリットはほとんど見当たりません。今では弱点を克服するあらゆるオプションが開発されています。強いて言えば信頼出来るShadowsocksプロバイダーがほとんど無いという点が挙げられます。

Shadowsocksを運用する場合それなりに速度が出るサーバーをレンタルする必要があります。中国からだと中国3大プロバイダーと直接パイプのあるサーバーをレンタルする必要があり、例えば速度が出るCN2(中国付近からの)で接続できるサーバーのレンタル料は通常のサーバーの三倍もしくはそれ以上します。

Shadowsocksの現在

残念な事に開発者のClowwindyは2015年8月22日に中国当局の圧力により開発中止を発表しました。その数日後にShadowsocksをアップロードしていたGitHub https://github.com/(ソフトウェア開発者用のプラットフォーム)は当局の要求を拒否した直後に、大規模なDDoS攻撃を受けたと公表しました。

1人の中国人が書いた1つのコードを当局が非常に危険視している事は注目に値します。GFWで防ぎきれないプロトコルが開発された為当局は強硬手段に出たと考えられます。

SS(Shadowsocks)とSSR(ShadowsocksR)の違い

Shadowsocksの開発データは沢山のバックアップが取られていたため、復元されbreakwa11等によって開発が進められています。Shadowsocks(SS)は、現在ShadowsocksR(SSR)と二種類の方向で開発が進められています。このSSとSSRは名前は似ていますが同じプロトコルではありません

ShadowsocksRは@breakwa11により開発されており、オリジナルになかったステルス性の向上や、安全性の向上、Torのような機能を持たせています。実際の使用感や安全性ではやはりSSRの方が上を行っています。

Shadowsocksの速度や安定性はVPNと同じくサーバーのネットワークや性能に依存します。中国から利用する場合、CN2と呼ばれるChinaTelecomの次世代ネットワークを使用しているサーバーや、商業用回線を使用していないと速度が出ない傾向にあります。(CN2で無くとも通常のVPNよりは速度が出ます。)ExpressVPNの香港サーバーはCN2を使用しているので速度が出ているのだと推測出来ます。

べすとVPNでは日本語のサポートにも対応しているShadowsocks専門プロバイダーUCSSをオススメしています。出来る限りCN2回線もしくは、直通回線を採用しており、全てのサーバーが中国のプロバイダーに最適化してあります。また他の多くのプロバイダーはSSを採用していますが、UCSSはSSRを採用しています。使用量に制限がありますが、通常のVPNとは比べものにならない速度が出ています。

参照UCSS-Shadowsocks専門プロバイダー

-VPNの基礎知識
-

© 2024 べすとVPN.jp