本研究では、インターネットに接続された分散システムの保護に適した機構として、パーソナルVPN(virtual private network)を考案、開発した。パーソナルVPNとは、インターネットを介したホスト間に構築される仮想プライベートネットワーク(VPN)にユーザの概念を取り入れたものである。通常のVPNではユーザの概念がないので、仮想ネットワークはすべてのユーザによって共有されるが、近年ではネットワーク・アドレスに基づいたパケット・フィルタリングやファイヤーウォールが多用されているため、このような共有は好ましくない。これまでVPNはOSのユーザ管理機構からは独立に構築されていたので、ユーザの概念を取り入れることができなかったが、我々はVPNとOSのユーザ管理機構を融合することで、この問題を解決した。これにより、悪意ある侵入者・内部ユーザの攻撃により強い耐性をもつ分散システムを構築できるようにした。 初年度はパーソナルVPNの試作版として、Linux上のユーザプロセスとしてこれを実装した。この試作版により、我々の設計で十分な機能が提供できることが確かめられたが、実行性能が非常に悪かったそこで2年目には、Linuxカーネルを改造し、カーネルレベルでパーソナルVPNを実装した。カーネルレベルで実装することにより、大幅な性能改善を果たした。ホスト間の通信にはSSLで暗号化された通信路を利用し、ユーザ認証には通信をおこなっているプロセスのユーザIDを使っている。
|