IPA


開発成果一覧へ

 



2005年度下期 未踏ソフトウェア創造事業  採択案件評価書

 


1.担当PM

   中島 秀之 (公立はこだて未来大学 学長)


2.採択者氏名

開発代表者

 井上 亮文 (東京工科大学 コンピュータサイエンス学部 助手)

共同開発者

 石原 礼男 (有限会社エムエル)

 大津 一樹 (東京工科大学大学院 バイオ・情報メディア研究科 修士課程1年)

 鹿島 隆行 (同上)

 手塚 伸   (東京工科大学 工学部 情報工学科 学生)


3.プロジェクト管理組織


  東京工科大学


4.委託金支払額


 6,000 ,000


5.テーマ名


  帯域・記憶領域共有による管理者不在のセキュア分散ファイル管理

 


6.関連Webサイト


  なし


7.テーマ概要


 本提案のプロジェクトは、通信帯域とディスク領域をシェアし、大規模ファイル配信と大容量バックアップを実現する仮想ファイルサーバの構築であり、さらに、ユビキタスコンピューティング環境でセキュリティに特化したファイルの分散管理システムを構築することを目指す。
 本プロジェクトは、いくつかの小規模なネットワークグループに仮想ファイルサーバを設置し、仮想ファイルサーバ間で連携することにより、安全なファイル管理を安価に行うことを実現するものである。各PCにおけるネットワークへの参加・離脱は随時自由であり、モバイル環境による遠隔地からの参加や他のネットワークグループ内からの参加も可能である。
 ユーザは仮想ファイルサーバにデータを保存し、仮想ファイルサーバ同士がネットワークグループを越えてバッググラウンドで相互データバックアップを行うというのがシステムの基本構造であるが、本提案の主眼と技術はその遙かに上方にある。既存のファイルサーバの使用形態とは異なり、サーバの管理者を必要とせずにユーザが自分の責任において、安全にファイルの保存、共有、配信を行えるシステムの構築を目指している。


8.採択理由


 かなりしっかりとした実行プランを持った提案である.システム全体構想とその有効性は非常によくわかるのだが,ソフトウェア部分の斬新性.が若干弱いように感じる.一方,ファイルの分散管理システムは,実用化するためにはかなりの頑強性が要求される技術である.従って,斬新性を追求するのではなく着実な実装と実用化を目指して欲しい.

 





9.開発目標

プロジェクト目標は、通信帯域とディスク領域をシェアし、大規模ファイル配信と大容量バックアップを実現する仮想ファイルサーバの構築である。本プロジェクトではユビキタスコンピューティング環境でセキュリティに特化したファイルの分散管理システムを構築することを目指す。図1 に示すように、各ネットワークグループに仮想ファイルサーバを設置し、仮想ファイルサーバ間で連携することにより、安全なファイル管理を安価に行うことを実現するものである。各PC におけるネットワークへの参加・離脱は随時自由であり、モバイル環境による遠隔地からの参加や他のネットワークグループ内からの参加も可能である。

  

 

 

 

 

 

 

 

 

 

 

 

 


ユーザは仮想ファイルサーバにデータを保存し、仮想ファイルサーバ同士がネットワークグループを越えてバッググラウンドで相互データバックアップを行うというのが基本構造であるが、本提案の主眼と技術はその遙かに上方にあり、サーバの管理者を必要とせずにユーザが安全にファイルの保存、共有、配信を行えるシステムの構築を目指している。

 


10.進捗概要

本開発は、機関部分となるFS ゲートウェイがLinux で、ユーザのフロントエンドとなるクライアント部がWindows/Linux の双方で実装された。Windows 用のモジュールは,Windows XP SP2 が動作するマシン上で、

VisualStudio.NET 2003 で開発、Linux 用のモジュールは、Vine Linux 3.2(Kernel Version 2.4.31-0vl1.8) が動 作するマシンで、gcc 3.3.2 で開発された。

Linux版はファイルシステムに組み込み、ユーザプロセスからは普通のファイルシステムと変わらないアクセスを

実現することができた。その結果、ウィルス等悪意のプログラムからもアクセスできる可能性ができたため、これをプロセスツリーを用いた認証によりプロテクトする仕組みを追加実装した。

一方、Windows 版ではファイルシステムに組み込むことができずに終わった。これは一つにはWindows シス テムの不透明性に由来するので限られた実装時間内では無理からぬことであるものの、こちらが完成していればそのインパクトからスーパークリエータ/天才プログラマー認定もできたと思うと残念なことでもある。


11.成果


開発された機能は以下の7点である。

 

(1) ファイル分散保存及び復元

1つのファイルを暗号化後、複数の断片に冗長性を持たせて分割し、ネットワーク上の異なる端末へ分散保存する機能。また、その逆で、別々の場所に保存された断片を結合し1つのファイルへ復元する機能。断片単体からは全体の情報を復元できないので、一箇所が攻撃されても全ての情報が漏洩するわけではなく、情報の機密性を高めることが出来る。また、全ての断片を集めなくても全体を復元可能なため、障害などへの耐性もある。

 

(2) 管理者不在での安全な運用

有能な管理者を置くことなくシステムを安全に運用できる機能.本システムでは,ファイル保存において,ユ ーザが管理する公開鍵と秘密鍵を用いたファイルの暗号化・複合化を通じてアクセス管理を実現する。仮想ファイルサーバは暗号化されたデータを仲介するだけであり、管理者権限が奪取されても生の情報は一切漏洩しない。また、ファイルを公開鍵で暗号化することはそのファイルに指紋を残していることと同じであるため、不正利用の嫌疑で鍵が押収された場合、その鍵はすべての所有データに対して否認不可能な証拠となり、情報の管理責任の所在を明確にすることができる。

 

(3) 管理者不在での共有環境

有能な管理者無しでファイルを共有できる機能。本システムでは、共有用公開鍵暗号を所持するメンバーだけがファイルの暗号化及び複合化を行えるようにすることで、管理者無しのファイル共有を実現する。ユーザレベルによる公開鍵の作成と更新を可能にすることで、共有時における安全性の向上や、過去のファイルへのアクセス権管理といった新たな共有方法も実現可能となる。

 

(4) 複数組織間での実用性

複数組織間での運用時におけるファイルの復元確率やIO 速度の向上を意識した断片の分配及び再配置機能。保存先の空きディスク容量、マシンの利用状況、通信速度などを考慮した評価関数を設計し、どのネットワークにどれだけのファイル断片を保存(もしくは取得)すればよいかを決定する。これにより、保存先のPC が停止していて必要な断片数を取得できない、保存先との通信速度が遅く復元に時間がかかる、といった運用上の問題を解決することができる。

 

(5) プロセス毎のアクセス制御

本システムが提供するファイルシステムにアクセス可能なプロセスの種類を限定する機能。システム全体及び各ユーザが個人的に許可したプロセスのみが保存されたファイルにアクセスできるようにする。これにより近年その被害が著しい Antinny や山田オルタナティブといった暴露型プロセスからの情報流出を防ぐ。実施計画に存在しなかった新たな機能である。前述の特定の問題点の解決ではなく、昨今の事情全般を考慮して導入した。

 

(6) 障害発生時の容易な復旧

障害発生に備えた仮想ファイルサーバ情報のバックアップ、及び迅速かつ容易な復旧機能。仮想ファイルサーバには、各ファイル断片の保存場所といったメタ情報が記録されている。このメタ情報を、他のファイルと同じように、本システムが提供する分散ストレージ上に定期的にバックアップを行う。障害発生時には、仮想ファイルサーバの初回起動時に作成したいくつかの情報を入力するだけで、分散保存されたサーバのファイルを自動的に取得し直ちに元の状態に復旧可能である。

 

(7) ステガノグラフィ

システム上に保存されたファイルの情報から、元のファイルを推測されないようにする機能。断片のファイル名やサイズに一定の傾向があれば、その規則性を持つ断片のみを回収して攻撃を仕掛けることが可能である。そこでファイル名に関してはランダムに、サイズに関してはすべて共通にしてしまうことで、第三者にはこの断片がユーザファイルの一部なのか、仮想ファイルサーバのバックアップデータなのかという区別がつかないようにしている。

 

以上の機能を具体的には以下の形で実現した.

 

(1) FS ゲートウェイ

先述の(1)(4) (7),(8) の機能を提供する仮想ファイルサーバ。

Linux 上で稼動するサーバソフトウェアとして実装した。

 

(2) 分散保存デーモン

仮想ファイルサーバから送られてくるファイル断片を保存したり、逆に要求に従ってファイル断片を返す。Windows 及びLinux で動作するデーモンとして実装した。

 

(3) Windows クライアント

Windows からFS ゲートウェイの各種機能を使ってファイルの保存、取得が可能なクライアント。OS の機 能とは分離され、エクスプローラに類似した独自のGUI ランチャーとして実装した。

 

(4) Linux クライアント

Linux からFS ゲートウェイの各種機能を使ってファイルの保存、取得が可能なクライアント。ファイルシス テムと透過的に実装されているため、Linux 上のシェルやエディタなど任意のプロセスからは通常のディレクトリツリーの一部として分散保存・復元の機能を利用可能である。また、先述の(5) のプロセス認証機能も利用可能である。


12.プロジェクト評価


初期の目標は安全な分散ファイルシステムの実装であったので、その目標は十分に果たした。

実施中間段階の議論により、ファイルシステムに組み込まないと汎用性が出ない一方で、そうするとウィルスなどの悪意のプログラムが侵入した場合にアクセスされてしまう危険性があることが判明した。それを阻止する仕組みを持つことにより、たとえばWinny 上のウィルス(Antinny など)に耐え、情報の流出を阻止することができる。これを目指して導入されたのがプロセスツリーによる認証である。ウィルスは正規のプロセスツリーに含まれないため、ここで撥ねることができる。この時点で、本プロジェクトの重要性が一段高くなったのであるが、最終的にはそこまで到達することはできなかった。

しかしながら初期の目標は十分以上に達成しており、プロジェクト全体としては成功であったと評価する。

 


13.今後の課題

Linux 版は完成したが、ユーザ数や層の違いからセキュリティ問題が多発しているのはWindows システムな

ので、社会的インパクトという観点からはWindows ファイルシステムへの組み込みを是非完成させてほしい。そうすれば何度も述べたようにWinny 上のウィルス対策ともなり、ファイルシステムのより高次元の安全性への第一歩となることができる。

 




  ページトップへ   

 

 

 


  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004