\documentstyle[11pt,twocolumn,epsf,page4prop,a4j,misc]{jarticle}

\topmargin = -1mm \oddsidemargin = 1mm \evensidemargin = 1mm
\headheight = 1mm \headsep = 1mm
\textwidth = 165mm \textheight = 232mm \topskip = 1mm
\footskip = 10mm \footheight = 0mm
\columnsep = 10mm \columnseprule = 0mm

%%\topmargin = -11mm \oddsidemargin = -6mm
%%\headheight = 1mm \headsep = 1mm
%%\textwidth = 175mm \textheight = 262mm \topskip = 1mm
%%%\footskip = 15mm \footheight = 0mm
%%\columnsep = 4mm \columnseprule = 0mm
%%%\partopsep = 3mm
%%%\intextsep = 3mm

\begin{document}

\twocolumn[

%% Title
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{center}
{\LARGE\bf 研究計画書\\[3mm]
仮想ネットワーク上で匿名性と相手の特定を両立するシステムの構築}\par\vspace{4mm}
慶應義塾大学環境情報学部\\
自署：＿＿＿＿＿＿＿＿＿\\
学籍番号 79956832\\
{\today}\vspace{2mm}
\end{center}

%% Abstract
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\baselineskip=4.2mm
\centerline{\bf 概要}\vspace{2mm}
{

本研究では、
IPネットワーク上に構築した仮想的なアプリケーション層のネットワーク上で
匿名性を保ったまま特定の相手との間に暗号通信路を提供する
システムを設計・実装する。
特に実時間なコミュニケーションを対象とし、
データではなくノードの匿名性を提供する。

インターネット上で匿名性を保ちながら特定の相手と通信を行いたい
という要求が高まっているが
既存の技術でその両方を実現しているものは存在しない。
それを解決するために新しいシステムを構築する。
さらに、そのシステム上で動作するアプリケーションを実装し、
運用および評価を行う。

%%人間の実世界での属性を隠して行動したいという要求から
%%匿名性を提供するサービスが広く使われているが、
%%サービスの内容や匿名性はそのサービスの提供者に
%%全面的に依存している。
%%さらに、高速なネットワークインフラが多くの家庭で利用されるようになり、
%%Peer-to-Peerモデルを利用したネットワークアプリケーションが
%%広く使われるようになったため、
%%特定のサーバに依存しない仮想ネットワーク上で
%%匿名を保ったままコミュニケーションを成立させる
%%システムに対する要求が高まっている。

%%本研究の応用例として、
%%匿名による共同創作活動を支援するグループウェアや
%%後から回答者と匿名のまま連絡の取れるアンケートなどが考えられる。


}
\vspace{5mm}

]

\baselineskip=5.0mm

%% 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{背景}

非常に多くの人が参加するコミュニケーション手段として
インターネットが利用されるようになったが、
自分の名前や性別、職業といった属性による差別や
住所や電話番号の漏洩によるストーカー被害等から
それらを隠して意見交換や情報公開をしたいという要求は多い。
例えば大規模な掲示板や個人間商取引に使われるエスクローサービスなどの
匿名性を提供するサービスが広く使われるようになっている。
しかし特定のサービスに依存することは
サービス運営者による恣意的な削除や改変という危険につながる。
また通信量やサーバ運営などのコストから
非常に多くの人が参加するシステムとしては規模性を欠く。

特定のサーバに依存せずに
匿名を保ったままコミュニケーションを成立させる
システムに対する要求が高まっている。


%% 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{目的}
本研究では、
IPネットワーク上に構築した仮想的なアプリケーション層のネットワーク上で
匿名性を保ったまま特定の相手との間に暗号通信路を提供する
システムを設計・実装する。
特に実時間なコミュニケーションを対象とし、
データではなくノードの匿名性を提供する。


%% 3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{既存の技術とその問題点}

以上のような要求に関連する既存の技術として
Peer-to-Peerモデルと匿名通信路がある。

\subsection{Peer-to-Peerモデル}

\paragraph{Peer-to-Peerモデルの特徴}

Peer-to-Peerモデルは、
ある特別な役割を持つサーバの存在に依存せず
それぞれのノード同士が自律的に協調動作を行うことで
何らかのサービスを行うモデルである。
このモデルを利用するアプリケーションの例として、
IPネットワーク上に仮想的なアプリケーション層のネットワークを構築し
その上で通信を行うファイル交換ソフトウェア等があげられる。
ADSLや光ファイバなどの高速なネットワーク基盤が
多くの家庭で利用されるようになった結果、
Peer-to-Peerモデルによる仮想ネットワークを利用した
アプリケーションが広く使われている。

また厳密にはPeer-to-Peerモデルではないが
Napster\cite{napsterspec}\cite{napster}に代表されるような
ノードやデータの発見を索引サーバに依存するIndex集中型とよばれる
折衷的なモデルも存在する。

\paragraph{既存のアプリケーション}
Peer-to-Peerモデルを利用した
特徴的なアプリケーションとして以下の2つがあげられる。

\begin{description}
\item[Gnutella\cite{gnutella}\cite{jnutella}]
仮想ネットワーク上で求めるデータを見つけるまで検索要求を転送し、
実際のデータの転送は直接接続するという
完全分散型としてごく基本的な構成をしている。

\item[Freenet\cite{clarke00freenet}\cite{freenetproject}]
匿名の情報保存・検索ネットワークとして設計されたネットワーク基盤で、
アップロードされたデータをネットワーク全体のノードに分散して保存して
データの提供者や取得者が分からないように設計されている。

\end{description}

\subsection{匿名通信路}

匿名のまま通信を行う匿名通信路を実現する手法としてmixnet\cite{mixnet}がある。
mixnetでは全てのノードが公開鍵対を持ち、
情報を送信するノードはあらかじめ中継させるノードの公開鍵で
メッセージと次の中継先のアドレスを暗号化する。
これを中継ノードの数だけ繰り返し、
中継するノードではその暗号化を一段階ずつ復号して
次の中継者に送信することで、
送信者の匿名性を提供している。

mixnet自体は暗号化メールを利用することで
メールシステムでの匿名性を確保しているが、
同様の手法をPeer-to-Peerモデルに適用することができる。

\subsection{問題点}

以上にあげた技術は背景で述べた要求を部分的に満たすものであるが、
匿名性を保ちながら相手を特定できるものは存在しない。

\paragraph{サーバ依存}
全ての参加者の通信がサーバを経由するため
利用者数が増えた場合に通信量などの点で規模性に欠ける。
また、匿名性はサーバやその管理者に対する信頼に大きく依存している。

\paragraph{Index集中型}
サーバに依存するのと同様に
通信内容そのものを送信者と受信者で直接交換するため規模性は高いが、
その代償として匿名性が無い。

\paragraph{gnutella}
Index集中型と同様に匿名性がないほか、
ある相手を指定して通信するという概念が無い。

\paragraph{Freenet}
Freenetではデータの匿名性を保証しているが、
その発信者や取得者を特定することはできないため
特定の相手とコミュニケーションをとることができない。

\paragraph{mixnet}
mixnetでは送信者の匿名性は提供されるが
受信者の匿名性は提供されていない。
また匿名のままメッセージを送信するだけでなく
送信者が中継者の公開鍵によって多段に暗号化された
返送先ノードを指定することができるが、
送信者や中経ノードが静的に存在することを前提にしているため
それらのIPアドレスが動的に変わり得る実際の環境では使いづらい。



%% 3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{要件定義}

本研究では、こうした問題を解決し、
匿名と相手の特定を両立できるシステムを構築する。
そのための要件として、以下があげられる。

\begin{enumerate}
\item 規模性

利用者数が増えた場合に特定のサーバの存在がボトルネックとならないように
%%利用者数が増えた場合にも通信量や処理量などの点で規模性を持つように
処理を仮想ネットワーク上のノードに分散しなければならない。
また特定のサーバに依存することは
運営者あるいは運用者に対する圧力により
内容が歪められてしまうことを避けられない。

\item 匿名性

発言者の実世界での属性が明らかになることで
差別的な誹謗中傷やさまざまな組織からの圧力、
ストーカー被害といった危険に巻き込まれる危険がある。
そういったものから発言者を守るために
その匿名性が守られなければならない。

通信を行う際には相手のIPアドレスを特定して行う。
IPアドレスは組織に対して割り当てられているため
使用しているIPアドレスから所属する大学、企業あるいは利用しているISPが特定できる。
また、組織内でIPアドレスをユーザに割り当てる際
認証を行っている多くの組織では
ネットワーク管理者は個人を特定することが可能である。
IPアドレスから所属組織を調べたり個人を特定することが可能であるため、
発言者のIPアドレスを誰にも知られてはならないものとする。

\item 相手の特定

コミュニケーションを取るためには、
匿名が守られつつ同時に特定の相手に対して
継続して通信が行えなければならない。
そのためIPアドレスとは別の識別子によって
``ある匿名の相手''を識別する必要がある。
また、IPアドレスが動的に変わり得る環境においても
この匿名識別子を用いてネットワーク上に居るであろう相手を
見つけだせなければならない。

\end{enumerate}

既存の技術との違いを表\ref{table-diff}に示す。

\begin{table}[tbp]
\caption{既存の技術}
\label{table-diff}
\begin{small}
\begin{tabular}{c|c|c|c} \hline
				& 規模性	& 匿名性	& 相手の特定	\\ \hline
サーバ依存		& ×		& ○		& ○			\\ \hline
Index集中型 	& ×		& ×		& ○			\\ \hline
gnutella		& ○		& ×		& ×			\\
Freenet			& ○		& ◎		& ×			\\ \hline
mixnet			& ○		& △		& △			\\ \hline
本研究			& ○		& ○		& ○			\\ \hline
\end{tabular}
\end{small}
\end{table}

%% 4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{設計}

\subsection{設計方針}

本研究ではノードの識別子としてホスト名やIPアドレスのかわりに
ノードの公開鍵対を利用することで匿名性と相手の特定を両立させる。

\paragraph{特定のサーバに依存しない}

本システムは既存の完全分散型の仮想ネットワークモデルに
対する拡張として設計する。
この基盤となる仮想ネットワークは、
検索要求を仮想ネットワーク上に送出し要求を満たすノードまで転送する
gnutella と同様のモデルを想定している。

\paragraph{匿名性}

システム上でそれぞれのノードは、
匿名識別子となる公開鍵とそのノードのIPアドレスの組であらわされる。
各ノードが自分に適応しない検索要求を別のノードに転送する時に
送信者のIPアドレスを中継ノード自身のIPアドレスで書き換えることで
匿名性を提供する。
さらに書き換えたノードは元の送信者のIPアドレスと匿名識別子の組を
保存しておく。この情報を利用して相手の特定を行う。

中継者が介在するため、当事者あるいは第三者が
データの経路を追跡することが難しい。
ただし、全てのノードで書き換えを行うと効率が悪いため
確率的に書き換えを行い、匿名性と効率のバランスを
この確率の調整によっておこなう。

複数地点で収集したトラフィックを解析することで
通信路を推測するトラフィック解析と呼ばれる攻撃が存在する。
この種の攻撃に対しては
意図的な遅延の挿入やダミートラフィックの生成などを検討する。

\paragraph{相手の特定}

特定の相手にメッセージを送る際には、
上記の逆をたどり、書き換えを行ったノードを順にたどることで
ある匿名識別子を持つノードにまでたどりつくことができる。

検索要求に対し応答として
通信路の暗号化に用いる秘密鍵を返送することで、
匿名識別子のみで識別されるノード同士で通信が可能となる。

\subsection{動作例}

仮想ネットワーク上で匿名性と相手の特定を提供する
動作例を図\ref{timechart1}に示した。
この図でA B C Dはそれぞれノードをあらわし、
Aから送られた検索要求がB、Cを経てDに到達し
最終的に暗号化通信路が結ばれるまでを示したものである。

\begin{figure}[htb]
  \partopsep -0.5cm
  \begin{center}
  \epsfile{file=timechart1.eps,scale=0.35}
  \caption{処理の概要}
  \label{timechart1}
  \end{center}
\end{figure}

動作の詳細は以下のとおりである。

\begin{enumerate}

\item Aが検索要求メッセージを投げる。

メッセージには検索要求のほか、
Aの識別子すなわち公開鍵$K_{A}$が含まれる。

\item Cが検索要求を受け取る。
Cは検索条件に適合しないため、
検索要求をそのまま他のノードへと転送する。

Dも同様に検索要求を受け取り転送するが、
中継する毎に確率的にメッセージの送信者のIPアドレスを
自ノードのアドレスへと書き換えて転送する。

さらに、書換を行ったノードは書換前の匿名識別子$K_{A}$と
その送信元であるAのIPアドレスの対を記憶する。

\item Bが検索要求を受け取り、条件に適合した。
Bは$K_{A}$とDのアドレスを保存する。

次に暗号通信路のセッション鍵$K_{S}$を生成し、
$K_{A}$で暗号化する。この$K_{A}[K_{S}]$と$K_{B}$を検索結果として、
$K_{B}$に対応するノードDに返す。

\item Dが検索結果を受け取る。
Dは$K_{A}$に対応するノードAに検索結果を転送する。
この場合も3と同様に確率的にメッセージの送信者を書き換え、
$K_{B}$及びBのアドレスの対を記憶する。

\item Aが検索結果を受け取り、
$K_{A}$と対となる自分の個人鍵を使って$K_{S}$を復号する。
$K_{B}$及びDのアドレスの対を記憶する。

Aは$K_{B}$と通信を始めるため、
$K_{B}$に対応するノードDに接続する。
ただし、通信内容は$K_{S}$によって暗号化する。

\item Dはさらに$K_{B}$に対応するBに接続し、
Aから送られた通信内容をBに中継する。

\item Bは$K_{S}$によって通信内容を復号する。

同様に、BからAに対しても$K_{S}$で暗号化することで
安全かつお互いに匿名性を保ったまま通信を行うことができる。

また通信路が失われた後も、仮想ネットワーク上で相手の
匿名識別子$K_{B}$を検索することで通信路を再生することができる。

\end{enumerate}


%% 5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{評価方針}

本研究で提案するシステムが要件を満たしていることを確認するため、
実際に運用を行い以下の点から評価を行う。

\begin{itemize}

\item 定性的評価

通信主体に十分な匿名性が提供されているかどうか、
匿名識別子から仮想ネットワーク上の相手を発見できるか
定性的に評価する。

\item 定量的評価

さまざまな規模の仮想ネットワークを想定し、
十分な匿名性を保つために必要なオーバヘッドおよび
相手を発見するのに必要なオーバヘッドを
各ノードの利用帯域、スループット、RTT等により定量的に評価する。

\end{itemize}


%% 6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{期待される成果}

\subsection{想定される応用例}

これまでインターネット上で匿名で行動するには
何らかのサービスの力を借りる必要があり、
それが匿名での行動には限界となっていた。
本研究によって実現されるシステムを利用することで、
自分の情報を自分で制御することができるようになる。
例えば以下のようなアプリケーションが考えられる。

\begin{itemize}

\item 掲示板

昨今、匿名掲示板を利用した企業や政府などの組織の告発が
行われるようになったが、
これはその匿名掲示板の運営者に匿名性を依存している。
本システムではシステムとして匿名性を提供しているため、
掲示板の運営者やそのサーバのセキュリティ等によらず
発言をすることができる。

\item アンケート

様々な主体が社会調査をはじめとしたアンケートを実施しているが、
無記名のアンケートをこのシステム上で行うことで
アンケートの実施主体を信用せずとも匿名を保ったまま回答することができる。

また、アンケートの実施主体が特定の回答者に
後からインタビューを行うこともできる。

\item グループウェア

インターネット上での匿名の創作行為を支援するため、
このシステムを利用してグループウェアのような
情報共有ツールを実現することができる。
具体的な機能としては掲示板、ファイル転送などがある。

\end{itemize}

\subsection{将来への展望}


利用者が増えさまざまなアプリケーションが開発されることで、
単なる匿名性の確保という機能をこえて
より大規模かつ一般的な通信基盤となる可能性もある。


%% 7
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{これまでの活動}

\begin{description}
\item[徳田・村井・楠本・中村・南合同研究会]
環境情報学部入学当初より
徳田・村井・楠本・中村・南合同研究会に所属し、
高度なネットワークインフラの構築及び運用に携わっている。

\item[pie\cite{pie},sprng\cite{sprng}]
学部1年春学期よりインターネットの普及に関する研究グループに所属し、
インターネットインフラが普及する上での問題点や、
普及が社会に与える影響について研究を行っている。

\item[neco\cite{neco}]
学部3年春学期よりネットワーク上のコミュニケーションに関する研究グループに所属し
ネットワーク上で行われるコミュニケーションの新しい形態の研究に携わっている。
\item[P2Pモデルの研究\cite{DPS2002}\cite{ipsj-zenkoku2001}]
P2Pモデルを利用したネットワーク測定に関する研究に携わっている。
\end{description}


%% 8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{志望理由}

本研究では、新しい情報流通ネットワークモデルを提案し、構築する。
これを実現するためには、ネットワーク技術のみならず、
アプリケーションとしてより多くの人に使ってもらうための
ユーザインターフェースに関する議論が必要不可欠である。
このように多角的な面から研究を進めるにあたり、
これらの分野の研究が盛んに行われている政策・メディア研究科を志望する。


%% 9
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{共同研究者・関連団体}
本研究では、慶應義塾大学大学院政策・メディア研究科
``モービル広域ネットワーク(MAUI)''プロジェクトにおいて、
村井純教授、楠本博之助教授、中村修助教授の指導のもとに行う。

また、以下の団体と協力しながら研究を進める。

\begin{itemize}
\item 慶應義塾大学村井研究会内ワーキンググループ neco
\item WIDE Project
\end{itemize}


%% 参考文献
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{unsrt}
\bibliography{proposal}


\lastpagenumber
\end{document}

