(57)【要約】【課題】外部のストレージサービスを利用する場合でも、ネットワーク上の情報漏洩やサーバ管理者の不正行為による情報漏洩を有効に防止し、機密データの管理負荷の低減とセキュリティの維持とを同時に実現する。【解決手段】ユーザが使用する端末装置５が内部ネットワークＮｉを介して接続されると共に、外部ネットワークＮｏを介してｎ台（ｎ≧３）のファイルサーバ４が接続されるプロキシサーバ３であって、内部ネットワークＮｉを介して、ユーザ端末５から機密データファイルをユーザ情報と共に受け取る機能と、ユーザ情報を使用してファイル名暗号キーを生成してファイル名を暗号化する機能と、機密データファイルを３以上のサブデータに冗長的に分割する機能と、ファイル名暗号キーを利用してファイル内容暗号キーを生成して複数のサブデータを夫々暗号化する機能と、外部ネットワークＮｏを介して、暗号化された複数のサブデータと暗号化されたファイル名とを複数のファイルサーバ４に夫々格納する機能とを備えた。【選択図】  図１
2008250369.tif 000002
【特許請求の範囲】
【請求項１】
特定のユーザが使用する１以上の特定の端末装置が内部ネットワークを介して接続されると共に、ｎ台（ｎ≧３）のファイル記憶装置がオープンな外部ネットワークを介して接続されるプロキシサーバによって機密データファイルを管理する方法であって、
前記プロキシサーバが、
内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取工程と、
受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーで機密データファイルのファイル名を暗号化するファイル名暗号化工程と、
機密データファイルを３以上のサブデータに冗長的に分割するファイル分割工程と、
前記ファイル名暗号キーを使用してファイル内容暗号キーを生成するファイル内容暗号キー生成工程と、
前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化工程と、
外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納工程と
を実行することを特徴とする方法。
【請求項２】
請求項１の方法において、
さらに、前記プロキシサーバが、
内部ネットワークを介して、前記ユーザの端末装置からユーザ情報とファイル名とを取得して、機密データファイル出力のリクエストを受け付けるファイル出力要求受付工程と、
リクエストに係るファイル名を前記ファイル名暗号キーで暗号化して検索キーを生成する検索キー生成工程と、
外部ネットワークを介して複数のファイル記憶装置に接続し、これらのファイル記憶装置に分散格納された複数のサブデータを前記検索キーで夫々検索するサブデータ検索工程と、
検索された全てのサブデータをマージして１のファイルに合成するファイルマージ工程と、
前記ファイル名暗号キーとリクエストに係るファイル名とを利用してファイル内容暗号キーを生成し、このファイル内容暗号キーを使用して、前記マージしたファイルを復号化するファイル復号化工程と、
復号化したファイルを前記ユーザの端末装置に転送するファイル転送工程と
を備えたことを特徴とする方法。
【請求項３】
請求項２の方法において、
さらに、前記プロキシサーバが、
前記機密データファイル受取工程において受け取った第１のユーザの情報（Ａ）と、管理対象の機密データファイルの閲覧を許可された第２のユーザの情報（Ｂ）とを、当該機密データファイルの識別情報に関連付けて閲覧権限テーブルに格納する閲覧権限格納工程と、
機密データファイル出力のリクエストを受け付けた場合に、取得したユーザ情報（Ａ又はＢ）及びファイル名を前記閲覧権限テーブルと照合して閲覧権限の認証を行う認証工程とを備え、
前記ファイル名暗号化工程は、認証が肯定的である場合に、前記閲覧権限テーブルから第１のユーザ情報（Ａ）を特定し、この第１のユーザ情報（Ａ）を使用してファイル名暗号キーを生成するものである
ことを特徴とする方法。
【請求項４】
請求項２の方法において、
前記ファイルマージ工程は、検索された全てのサブデータをＯＲ条件で結合した仮想ファイルを基準にして、これらのサブデータを１のファイルに合成することを特徴とする方法。
【請求項５】
請求項２の方法において、
前記ファイル分割工程は、機密データファイルをｎ０種類（ｎ>ｎ０≧２）のサブデータに冗長的に分割するものであり、
前記分散格納工程は、ｎ０種類のサブデータを任意のｎ０台のファイル記憶装置に夫々格納すると共に、ｎ−ｎ０台の他のファイル記憶装置に空データ若しくはＮＵＬＬデータ（以下「空白データ」と称する）を格納するものであり、
前記サブデータ検索工程は、ｎ−ｎ０台のファイル記憶装置に分散配置されたｎ−１個のサブデータを検索するものであり、
前記ファイルマージ工程は、取得した複数のサブデータに空白データが含まれている場合は、これ以外のサブデータをマージして１のファイルに合成するものである
を実行することを特徴とする方法。
【請求項６】
請求項１の方法において、
前記ファイル分割工程は、分散数（３〜ｎ）と冗長度とに従って計算した分散パターンに基づいて、機密データファイルを３以上のサブデータに分割するものであることを特徴とする方法。
【請求項７】
請求項１の方法において、
前記機密データファイル受取工程は、ユーザ情報として、プロキシサーバへのログイン情報及び複数の記憶装置へのログイン情報の少なくとも何れかを受け取るものであり、
前記ファイル名暗号化工程は、前記ログイン情報のハッシュ値を計算してファイル名暗号キーを得るものである
ことを特徴とする方法。
【請求項８】
請求項１の方法であって、
さらに、前記プロキシサーバが、前記分散格納工程が完了するまでに、前記機密データファイル受取工程でユーザの端末装置から受け取った機密データファイル、前記ファイル名暗号化工程で生成したファイル名暗号キー、前記ファイル分割工程で分割した３以上のサブデータ、及び前記ファイル内容暗号キー生成工程で生成したファイル内容暗号キーを、このプロキシサーバの記憶装置から削除する工程を備えたことを特徴とする方法。
【請求項９】
請求項１の方法であって、
さらに、前記プロキシサーバが、
１以上の記憶装置（Ａ）に障害が発生した場合に、その記憶装置（Ａ）に格納すべき機密データの追加、修正及び削除の情報（更新情報）を更新情報格納部に格納する更新情報格納工程と、
前記記憶装置（Ａ）が復帰した場合、若しくは代替の記憶装置（Ａ'）が設置された場合に、格納された更新情報を他の記憶装置（Ｂ、Ｃ・・・）に同期させて当該記憶装置（Ａ又はＡ'）に書き込む更新情報書込工程と
を備えたことを特徴とする方法。
【請求項１０】
請求項１の方法であって、
前記複数の記憶装置のうちの一部が、プロキシサーバ及び／若しくはユーザの端末装置に備えられていることを特徴とする方法。
【請求項１１】
ユーザが使用する１以上の端末装置が内部ネットワークを介して接続されるプロキシサーバと、このプロキシサーバに外部ネットワークを介して接続されるｎ台（ｎ≧３）のファイル記憶装置とを備えた機密データファイルの管理システムであって、
内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取手段と、
受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーで機密データファイルのファイル名を暗号化するファイル名暗号化手段と、
機密データファイルを３以上のサブデータに冗長的に分割するファイル分割手段と、
前記ファイル名暗号キーを使用してファイル内容暗号キーを生成するファイル内容暗号キー生成手段と、
前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化手段と、
外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納手段と
を実行することを特徴とする機密データファイルの管理システム。
【請求項１２】
請求項１のシステムにおいて、
さらに、
内部ネットワークを介して、前記ユーザの端末装置からユーザ情報とファイル名とを取得して、機密データファイル出力のリクエストを受け付けるファイル出力要求受付手段と、
リクエストに係るファイル名を前記ファイル名暗号キーで暗号化して検索キーを生成する検索キー生成手段と、
外部ネットワークを介して、複数のファイル記憶装置に分散格納された複数のサブデータを前記検索キーで夫々検索するサブデータ検索手段と、
検索された全てのサブデータをマージして１のファイルに合成するファイルマージ手段と、
前記ファイル名暗号キーとリクエストに係るファイル名とを利用してファイル内容暗号キーを生成し、このファイル内容暗号キーを使用して、前記マージしたファイルを復号化するファイル復号化手段と、
復号化したファイルを、内部ネットワークを介して前記ユーザの端末装置に転送するファイル転送手段と
を備えたことを特徴とする機密データファイルの管理システム。
【請求項１３】
請求項１２のシステムにおいて、
さらに、
前記機密データファイル受取手段が受け取った第１のユーザの情報（Ａ）と、管理対象の機密データファイルの閲覧を許可された第２のユーザの情報（Ｂ）とを、当該機密データファイルの識別情報に関連付けて閲覧権限テーブルに格納する閲覧権限格納手段と、
機密データファイル出力のリクエストを受け付けた場合に、取得したユーザ情報（Ａ又はＢ）及びファイル名を前記閲覧権限テーブルと照合して閲覧権限の認証を行う認証手段とを備え、
前記ファイル名暗号化手段は、認証が肯定的である場合に、前記閲覧権限テーブルから第１のユーザ情報（Ａ）を特定し、この第１のユーザ情報（Ａ）を使用してファイル名暗号キーを生成するものである
ことを特徴とする機密データファイルの管理システム。
【請求項１４】
請求項１２のシステムにおいて、
前記ファイルマージ手段は、検索された全てのサブデータをＯＲ条件で結合した仮想ファイルを基準にして、これらのサブデータを１のファイルに合成することを特徴とする機密データファイルの管理システム。
【請求項１５】
請求項１２のシステムにおいて、
前記ファイル分割手段は、機密データファイルをｎ０種類（ｎ>ｎ０≧２）のサブデータに冗長的に分割するものであり、
前記分散格納手段は、ｎ０種類のサブデータを任意のｎ０台のファイル記憶装置に夫々格納すると共に、ｎ−ｎ０台の他のファイル記憶装置に空データ若しくはＮＵＬＬデータ（以下「空白データ」と称する）を格納するものであり、
前記サブデータ検索手段は、ｎ−ｎ０台のファイル記憶装置に分散配置されたｎ−１個のサブデータを検索するものであり、
前記ファイルマージ手段は、取得した複数のサブデータに空白データが含まれている場合は、これ以外のサブデータをマージして１のファイルに合成するものである
ことを特徴とする機密データファイルの管理システム。
【請求項１６】
請求項１１のシステムにおいて、
前記ファイル分割手段は、分散数（３〜ｎ）と冗長度とに従って計算した分散パターンに基づいて、機密データファイルを３以上のサブデータに分割するものであることを特徴とする機密データファイルの管理システム。
【請求項１７】
請求項１１のシステムにおいて、
前記機密データファイル受取手段は、ユーザ情報として、プロキシサーバへのログイン情報及び複数の記憶装置へのログイン情報の少なくとも何れかを受け取るものであり、
前記ファイル名暗号化手段は、前記ログイン情報のハッシュ値を計算してファイル名暗号キーを得るものである
ことを特徴とする機密データファイルの管理システム。
【請求項１８】
請求項１１のシステムであって、
さらに、前記分散格納手段によるサブデータの分散格納処理が完了するまでに、前記機密データファイル受取手段でユーザの端末装置から受け取った機密データファイル、前記ファイル名暗号化手段が生成したファイル名暗号キー、前記ファイル分割手段が分割した３以上のサブデータ、及び前記ファイル内容暗号キー生成手段が生成したファイル内容暗号キーを、プロキシサーバの記憶装置から削除する手段を備えたことを特徴とする機密データファイルの管理システム。
【請求項１９】
請求項１１のシステムであって、
さらに、
１以上の記憶装置（Ａ）に障害が発生した場合に、その記憶装置（Ａ）に格納すべき機密データの追加、修正及び削除の情報（更新情報）を格納する更新情報格納部と、
前記記憶装置（Ａ）が復帰した場合、若しくは代替の記憶装置（Ａ'）が設置された場合に、格納された更新情報を他の記憶装置（Ｂ、Ｃ・・・）に同期させて当該記憶装置（Ａ又はＡ'）に書き込む更新情報書込手段と
を備えたことを特徴とする機密データファイルの管理システム。
【請求項２０】
請求項１１のシステムであって、
前記複数の記憶装置のうちの一部が、プロキシサーバ及び／若しくはユーザの端末装置に備えられていることを特徴とする機密データファイルの管理システム。
【請求項２１】
ユーザが使用する１以上の端末装置が内部ネットワークを介して接続されると共に、外部ネットワークを介してｎ台（ｎ≧３）のファイル記憶装置が接続される、機密データファイルの管理システム用のプロキシサーバであって、
内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取手段と、
受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーでファイル名を暗号化するファイル名暗号化手段と、
機密データファイルを３以上のサブデータに冗長的に分割するファイル分割手段と、
前記ファイル名暗号キーを利用してファイル内容暗号キーを生成するファイル内容暗号キー生成手段と、
前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化手段と、
外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納手段と
を備えたことを特徴とするプロキシサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが使用する１以上の端末装置が内部ネットワークを介して接続されると共に、ｎ台（ｎ≧３）のファイル記憶装置が外部ネットワークを介して接続されるプロキシサーバによって機密データファイルを管理する方法、その方法を実行可能な管理システム及びプロキシサーバに関する。
【背景技術】
【０００２】
従来より、地方自治体や企業が保有する個人情報などの機密情報を格納したデータベース（ＤＢ）の管理・運営を専門の外部団体や民間企業に委託することが多い。この場合に、不正行為による情報漏洩を防止するため、データの暗号化やＤＢサーバへのアクセス制限などの対策が採られている。
【０００３】
また、情報セキュリティの手法として、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）によるデータの冗長分散が実用化されている。ただ、このＲＡＩＤは、データベースではなくファイルのレベルで処理するため、ファイルにアクセスすれば全データを読み取れる事になり機密保護の対策としては有効ではない。また、ＲＡＩＤは同一拠点での冗長分散を前提にしており、ネットワークを経由すると実用的な性能を得られないため、広域での分散管理には不向きである。いわゆるミラーリング（ＲＡＩＤ−１）においても同様の問題がある。
【０００４】
さらに、物理ファイルを暗号化する仕組みも存在するが、ファイル全体を復号化してメモリ上に保存しないと個々のデータを処理できず、結果的にファイル単位で暗号化する必要があるため、個々のレコードや項目を扱うデータベースには不向きである。
【０００５】
このような点に鑑みて、本出願人は、機密データの管理方法として、データの暗号化と分散化と冗長化とを組み合わせて強固なセキュリティを実現する仕組みを下記の特許文献１で提案した。この特許文献１の発明によれば、データベースを冗長的に分散配置する方法により、機密情報の漏洩を有効に防止することができる。すなわち、データベース全体ではなく、個々のレコードや項目を考慮して冗長分散を行うため、一部の記憶装置に対する不正アクセスやファイルサーバ管理者の不正行為などで個々のサブデータを盗聴されても復号化することは不可能である。また、仮に、一部のサブデータを復号化できたとしても、全てのサブデータを取得して復号化しなければファイル内容を解読することはできない。これにより、機密データのセキュリティを飛躍的に向上させることができるものである。
【０００６】
この特許文献１以外にも、機密データの管理方法として、例えば以下の特許文献２、３が参考になる。
【０００７】
【特許文献１】特開２００６−２２８２０２号公報
【特許文献２】特開平１１−１０２２６２号公報
【特許文献３】特開２０００−７６２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、従来のデータ管理方法では、ファイル管理の委託者が作成した機密データファイルを、受託者のホストコンピュータに送信して冗長的に分散配置させる場合に、暗号化する前のデータ（平文）がインターネットなどのオープンネットワーク上に流れることになり、機密データが漏洩するおそれがある。この点については、委託者の端末装置や社内の管理用コンピュータと受託者のホストコンピュータとを専用回線で接続することも考えられる。
【０００９】
しかし、ファイル管理の受託者は、多数の委託者から業務委託を受け付けているのが通常であるため、個々の委託者との間で個別に専用ネットワークを構築することはコストや管理の負荷の面で現実的でない。そもそも、機密情報の管理をオープンネットワーク上のストレージサービス事業者にアウトソーシングするメリットは、委託者社内での管理負荷やコストを低減することであるから、このような専用ネットワークを構築することは上記メリットを著しく減殺することになる。
【００１０】
また、受託者のホストコンピュータの管理者は、委託者から受け取った機密データファイルや暗号キーなどの情報を入手できることになるため、この管理者の不正行為によって機密データが漏洩する可能性もある。
【００１１】
本発明は、このような課題を解決するためになされたもので、セキュリティが維持されていない外部ネットワーク上で提供されているストレージサービスを利用する場合でも、ネットワーク上の情報漏洩やサーバ管理者の不正行為による情報漏洩を有効に防止でき、機密データの管理負荷の低減とセキュリティの維持とを同時に実現できるデータ管理方法、データ管理システム及びサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の主要な観点によれば、特定のユーザが使用する１以上の特定の端末装置が内部ネットワークを介して接続されると共に、ｎ台（ｎ≧３）のファイル記憶装置がオープンな外部ネットワークを介して接続されるプロキシサーバによって機密データファイルを管理する方法であって、前記プロキシサーバが、内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取工程と、受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーで機密データファイルのファイル名を暗号化するファイル名暗号化工程と、機密データファイルを３以上のサブデータに冗長的に分割するファイル分割工程と、前記ファイル名暗号キーを使用してファイル内容暗号キーを生成するファイル内容暗号キー生成工程と、前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化工程と、外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納工程とを実行することを特徴とする方法が提供される。
【００１３】
また、本発明の第２の主要な観点によれば、ユーザが使用する１以上の端末装置が内部ネットワークを介して接続されるプロキシサーバと、このプロキシサーバに外部ネットワークを介して接続されるｎ台（ｎ≧３）のファイル記憶装置とを備えた機密データファイルの管理システムであって、内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取手段と、受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーで機密データファイルのファイル名を暗号化するファイル名暗号化手段と、機密データファイルを３以上のサブデータに冗長的に分割するファイル分割手段と、前記ファイル名暗号キーを使用してファイル内容暗号キーを生成するファイル内容暗号キー生成手段と、前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化手段と、外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納手段とを実行することを特徴とする機密データファイルの管理システムが提供される。
【００１４】
また、本発明の第３の主要な観点によれば、ユーザが使用する１以上の端末装置が内部ネットワークを介して接続されると共に、外部ネットワークを介してｎ台（ｎ≧３）のファイル記憶装置が接続される、機密データファイルの管理システム用のプロキシサーバであって、内部ネットワークを介して、ユーザの端末装置から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取手段と、受け取ったユーザ情報を使用してファイル名暗号キーを生成し、この暗号キーでファイル名を暗号化するファイル名暗号化手段と、機密データファイルを３以上のサブデータに冗長的に分割するファイル分割手段と、前記ファイル名暗号キーを利用してファイル内容暗号キーを生成するファイル内容暗号キー生成手段と、前記分割した複数のサブデータを前記ファイル内容暗号キーによって夫々暗号化するファイル内容暗号化手段と、外部ネットワークを介して、暗号化された複数のサブデータを暗号化されたファイル名に関連付けて前記複数のファイル記憶装置に夫々格納する分散格納手段とを備えたことを特徴とするプロキシサーバが提供される。
【００１５】
上記のような構成によれば、セキュリティが維持された内部ネットワークに接続されるサーバ装置によって機密データを分割して暗号化してから外部ネットワーク上の複数の記憶装置（ファイルサーバ等）に分散配置すると共に、この場合の暗号キーを、ファイル名及びファイル内容に基づいて生成することにした。そのため、ファイルサーバの管理者などの第三者が、外部ネットワーク上で若しくはファイルサーバ等に不正アクセスすることで、暗号化されたファイル名及びファイルデータを取得したとしても、それを復号化することはできない。これにより、機密データの漏洩を有効に防止できる。
【００１６】
また、ユーザが分散配置されたデータを復元したい場合には、サーバ装置にファイル名を通知することで、暗号化されたファイル名をキーとして複数の記憶装置に分散配置された分割データが収集される。これらの分割データをファイル内容に基づく復号キーで復号化した上でマージすることで、元のデータを復元できる。このような一連の処理は、内部ネットワーク上のサーバ装置（プロキシサーバ等）が行うため、情報漏洩のおそれがない。
【００１７】
さらに、内部ネットワーク上のサーバ装置には、暗号化されたファイル名などが格納されるだけで、機密データの内容はもとより、暗号キーなどの有意の情報は保存されない。そのため、サーバ装置に不正アクセスされて情報が漏洩したとしても、機密データが復元されることはない。
【発明の効果】
【００１８】
本発明によれば、セキュリティが維持されていない外部ネットワーク上で提供されているストレージサービスを利用する場合でも、ネットワーク上の情報漏洩やサーバ管理者の不正行為による情報漏洩を有効に防止でき、機密データの管理負荷の低減とセキュリティの維持とを同時に実現できるデータ管理方法、データ管理システム及びサーバ装置を得ることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づき説明する。  
図１は、本発明の一実施形態のネットワーク構成図である。符号１で示すデータ管理システムは、企業や地方自治体などのユーザ２の内部ネットワークＮｉに接続可能なプロキシサーバ（サーバ装置）３と、このプロキシサーバ３に公衆回線網である外部ネットワークＮｏを通じて接続される複数のファイルサーバ（ファイル記憶装置）４、４とで構成され、前記プロキシサーバ３には、内部ネットワークＮｉを介して複数のユーザ端末装置（ユーザ端末）５、５が接続される。
【００２０】
以下においては、企業の従業員が作成した機密データを管理する例を想定して説明する。また、本明細書におけるユーザには、ストレージサービスの契約主体である企業自身と、機密データファイルを作成若しくは加工した社員本人（作成者ユーザ）と、機密データの社内の管理責任者であるプロキシサーバ３の管理者（サーバ管理者）と、作成者ユーザ若しくはサーバ管理者から一部又は全ての機密データの閲覧を許可された閲覧者（幹部社員、特定部門の社員、特定の他の企業の社員、警察機関や政府機関の関係者等。以下「閲覧者ユーザ」と称する）とを含む。個人ユーザの情報閲覧権限は、後述する閲覧権限テーブル２６に機密データファイルごと若しくはユーザごとに登録される。
【００２１】
内部ネットワークＮｉは、ＬＡＮや専用回線ネットワークで構成され、ネットワークの外部から端末装置５にアクセスする場合には、図示しないファイアウォールや後述するプロキシサーバ３の認証機能などによって厳格に接続権限が管理される。また、端末装置５から外部に機密データを送信することは原則として禁止される。このような社内の情報管理手法は従来周知であるため詳細説明は省略する。
【００２２】
プロキシサーバ３は、各ユーザ端末５と社内の専用回線（内部ネットワークＮｉ）を介して、所定のファイル転送プロトコルを使用して接続する機能を備えた、ファイル転送に特化した専用のコンピュータシステムである。このプロキシサーバ３は、さらに、外部ネットワークＮｏを介してファイルサーバ４に接続し、暗号化されたファイルを所定のファイル転送プロトコルを使用して送受信する機能も備えている。
【００２３】
プロキシサーバ３と各ユーザ端末５及びファイルサーバ４との間のファイル転送のプロトコルとしては、ＷＥＢＤＡＶ（Web-based Distributed Authoring and Versioning）、ＦＴＰ（File Transfer Protocol）、ＳＭＢ（Server Message Block）等を適宜使用できる。
【００２４】
また、このプロキシサーバ３は、具体的には以下の各機能を備えている。
（１）基本データの管理機能
この機能は、以下の各機能を実現する前提として、ユーザ情報の管理（閲覧権限の認証等）、複数のファイルサーバ４の稼働状態の管理や監視、及びこのファイルサーバ４との通信を制御する機能である。
（２）機密データファイルの保存機能
ユーザの端末装置５からオンラインで機密データファイルを取得した場合に、取得したデータを分割する機能、暗号キーを生成する機能、分割したファイルを暗号キーで暗号化する機能、及びファイルサーバ４へデータを転送する機能である。
（３）機密データファイルの復元・出力機能
ユーザ端末５からユーザ情報（プロキシサーバ３へのログイン情報など）と出力対象のファイル名とを取得して出力依頼を受け付けた場合に、検索キーとなる暗号キーを生成する機能、検索キーに従って複数のファイルサーバ４から対象データを収集する機能、収集したサブデータをマージする機能、復号キーを生成してファイルを復号化して復元する機能、及び復元したファイルをユーザ端末５へ出力する機能である。
（４）障害対応機能
災害や通信障害等によって特定のファイルサーバ４が機能しなくなった（ダウンした）場合や、不正アクセス、ウィルスの侵入などが発見された特定のファイルサーバ４との通信を一時的に遮断した場合に、そのファイルサーバ４に保存した機密データに対して、停止中に実行された機密ファイルの修正などの処理の履歴情報を蓄積し、当該ファイルサーバ４が復帰した場合に、この履歴情報に基づいて、復帰したファイルサーバ４と正常に機能していた他のファイルサーバ４とのデータを同期させる機能である。この機能については、従来技術として挙げた特許文献１に詳細に説明してあるため、本明細書では概略のみ説明する。
【００２５】
ここで、後述するように、このプロキシサーバ３には機密データファイルや暗号キーなどは保存されず、外部から不正アクセスが行われても機密データが漏洩するおそれはない。そのため、このプロキシサーバ３をユーザ企業の内部ネットワークＮｉ内に設置したり、特定のユーザ端末５が兼用することもできる。
【００２６】
ファイルサーバ４は、オープンネットワーク上のストレージサービスを提供する事業者が設置した専用のサーバマシン（コンピュータシステム）で構成され、プロキシサーバ３からの指示に従って、データの保存や出力をコンピュータプログラムによって自動的に実行するものである。複数のユーザから委託された多数のデータを管理（共有）するという観点からすれば、このファイルサーバ４は、データベースサーバの機能も備えているものである。
【００２７】
ファイルサーバ４は、内蔵された大容量の補助記憶装置（ＨＤＤなど）の一部又は全部の記憶領域をサービスの契約者であるユーザ（企業）に割り当てている。なお、ファイル記憶装置の一部又は全部を、外付け記憶装置などの記録媒体で構成することもできる。また、複数のファイルサーバ４の一部をプロキシサーバ３やユーザ端末装置５が兼用してもよい。この場合、プロキシサーバ３等への不正アクセスによって機密データの一部が漏洩したとしても、後述するように、機密データは複数ファイルに分散（分割）された上で暗号化されているので、不正取得者が暗号キーを取得してファイルの内容を復号化し、ファイル全体の内容を解読することはほぼ不可能である。
【００２８】
また、複数のファイルサーバ４、４は、通信障害や災害時の対策として、物理的に離間した複数のエリアに設置される。例えば、地震などの災害やユーザ２の事業活動エリア、機密データの種別や属性等（機密保持の程度、個人情報か企業の営業秘密か、データ量、情報照会の頻度や想定される照会者の所在地、通信環境など）を考慮して、市町村などの都道府県内の複数エリアや、都道府県単位、地方単位（東北地方と関東地方と近畿地方など）で設定される。
【００２９】
また、ファイルサーバ４の設置数ｎは、後述するように、機密データの冗長分割や空白データを含めた分割処理を行うことから３以上に設定される。以下の説明においては、主として、４台のファイルサーバ４を設置し（ｎ＝４）、分割数（Ｆ：ｎ−（ダウンを許容できるサーバの数：１台））を３に設定した例を説明する。すなわち、以下の例では、４台のサーバのうち１台が通信障害等でダウンしても、他の３台が正常に稼動していれば通常の運用を継続できる。
【００３０】
次に、プロキシサーバ３の具体的な構成を、図２の機能ブロック図を参照して説明する。上記したプロキシサーバ３の各機能は、プロキシサーバ（コンピュータ）３のハードウェア及びこのコンピュータの記憶装置（ＨＤＤやＲＯＭなど）にインストールされるソフトウェアが協働することで実現される。具体的には、このプロキシサーバ３に内蔵されたＣＰＵ１１にシステムバス１２を介してＲＡＭ１３、ＲＯＭ１４やＨＤＤ１５などの記憶装置（主記憶と補助記憶）及び入出力インタフェース（Ｉ／Ｆ）１６が接続され、この入出力Ｉ／Ｆ１６に、ＬＥＤディスプレイなどの出力装置１７、キーボードやマウスなどの入力装置１８、及びモデムなどの通信デバイス１９が夫々接続されて構成される。前記記憶装置（１３〜１５）は、データ格納エリア２１とプログラム格納エリア２２が確保されている。
【００３１】
このようなハードウェア構成において、プロキシサーバ３の管理者が入力装置１８を操作して各種の指令（外部コマンド等）を入力したり、ユーザ２がユーザ端末５から内部ネットワークＮｉを介して各種の指令を送信すると、このソフトウェアプログラムがＣＰＵ１１によってＲＡＭ１３のワークエリアに呼び出されて実行されることで、ＯＳ（オペレーションシステム）と協働してこの発明の機能を奏するようになっている。上記プログラムはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのリムーバブル記録媒体から導入することもできる。また、ＯＳの機能の一部を利用してもよい。
【００３２】
データ格納エリア２１は、プロキシサーバ３や各ファイルサーバ４に接続する際のログイン情報（ユーザＩＤ、パスワード）を登録するユーザ情報格納部２５と、各ユーザが閲覧可能なファイル名のリストをユーザＩＤに関連付けて登録する閲覧権限テーブル２６と、１以上の記憶装置（Ａ）に障害が発生した場合に、その記憶装置（Ａ）に格納すべき機密データの追加、修正及び削除の情報（更新情報）を一時的に格納する更新情報格納部２７とを備えている。
【００３３】
ここで、ファイルサーバ４へのログイン情報としては、契約主体であるユーザ企業に付与された共通の情報と、ファイルサーバ４への接続を許可された特定の個人ユーザ若しくはユーザ端末５の識別情報（社員ＩＤや端末ＩＤ）、若しくはこれらの組み合わせの何れでもよい。本実施形態では、４台のファイルサーバ４に機密データファイルを分散配置しているため、ログイン情報は合計で５種類（１台のプロキシサーバと、４台のファイルサーバ）が登録される。
【００３４】
一方で、閲覧権限テーブル２６のユーザＩＤは、ユーザ企業全体で共通の閲覧権限を設定するとセキュリティが低下するおそれがあるので、この場合のユーザＩＤは、個人ユーザの識別情報（社員ＩＤなど）で管理するのが好ましい。
【００３５】
なお、実際は、このユーザ情報格納部２５にはユーザＩＤとパスワードのハッシュ値の一覧を格納しておく。また、プロキシサーバ３には、ユーザ端末５から取得した機密データファイルや暗号キー、ファイル分割パターンなどは一切保存していない。これにより、プロキシサーバ３の設定ファイルだけ見ても、例えファイルサーバ４の管理者であっても、ファイルの暗号キーなどは解読できないため、プロキシサーバ３への不正アクセスやサーバ管理者の不正行為による機密データの流出を有効に防止できる。
【００３６】
プログラム格納エリア２２には、このプロキシサーバ３の上記した機能を実現するためのコンピュータプログラムがインストールされている。具体的には、リクエスト受付手段３０（機密データファイル受取手段、ファイル出力要求受付手段）、ユーザ情報管理手段３１（閲覧権限格納手段、認証手段）、ファイル分割手段３２、暗号キー生成手段３３（ファイル内容暗号キー生成手段、検索キー生成手段）、暗号化処理手段３４（ファイル名暗号化手段、ファイル内容暗号化手段）、ファイル転送手段３５（分散格納手段）、データ削除手段３６、サブデータ検索手段３７、ファイル復元処理手段３８（ファイル復号化手段、ファイルマージ手段）、及び更新情報蓄積・書込手段３９（更新情報格納手段、更新情報書込手段）を備えている。これらの各手段は、実際には、独立したコンピュータプログラム若しくはその中の特定のモジュールやサブルーチン（セグメント）などである。以下、各手段を順に説明する。
【００３７】
まず、リクエスト受付手段３０は、内部ネットワークＮｉを介して、作成者ユーザの端末装置５から管理対象の機密データファイルを当該ユーザの情報と共に受け取る機密データファイル受取り機能と、内部ネットワークＮｉを介して、作成者ユーザ若しくは閲覧者ユーザの端末装置５からユーザ情報とファイル名とを取得して、機密データファイル出力のリクエストを受け付けるファイル出力要求受付け機能とを備えている。ここで、このリクエスト受付手段３０は、機密データファイルの取得時に、ユーザ情報として、プロキシサーバ３へのログイン情報及び複数のファイルサーバ４へのログイン情報を受け取る。これらの何れかの情報を受け取るようにしてもよい。
【００３８】
ユーザ情報管理手段３１は、前記リクエスト受付手段３０が機密データファイルの保存リクエストを受け付けた場合に、ユーザのサービス利用権限を認証する機能と、閲覧者ユーザのＩＤとファイルの名称とを作成者ユーザ若しくはユーザ企業の情報管理責任者から取得して前記閲覧権限テーブル２６に格納する閲覧権限登録機能と、前記リクエスト受付手段３０がファイル出力リクエストを受け付けた場合に、取得したユーザ情報及びファイル名を前記閲覧権限テーブル２６と照合して閲覧権限の認証を行う機能とを備えている。
【００３９】
ファイル分割手段３２は、機密データファイルを分散配置する数（分散数：３〜ｎ）と冗長度とに従って計算した所定の分散パターンに基づいて、この機密データファイルをｎ０種類（ｎ>ｎ０≧２）で３以上のサブデータに冗長的に分割するものである。本実施形態では、サブデータを４か所のファイルサーバ４に分散配置するとともに、後述するように、１か所のファイルサーバ４には、空データ若しくはＮＵＬＬデータ（以下「空白データ」と称する）を保存させるため、分割数は３つとなる。また、３か所のファイルサーバ４に冗長配置させることから、サブデータは３種類になる。このような分散パターンは、ファイルサーバ４の総数や、そのうち空白データを保存させるサーバ４の数、サブデータの冗長度（何箇所のサーバからサブデータを取得すればファイルを復元できるか）などによって自動計算される。この分散パターンは、ファイルの属性から要求されるセキュリティの高さや管理コスト、ネットワーク環境などに応じて適宜設定される。なお、分散処理はファイル内容のみ実行し、ファイル名については実行しない。すなわち、暗号化されたファイル名は分割・分散配置せず、全てのファイルサーバ４に同一の暗号化済みファイル名を格納する。
【００４０】
前記暗号キー生成手段３３は、作成者ユーザの端末５からファイル保存のリクエストを受け付けた場合に、このユーザのログイン情報のハッシュ値を計算してファイル名の暗号キーを生成する機能及びこのファイル名暗号キー及びファイル名のハッシュ値を計算してファイル内容暗号キーを生成する機能と、閲覧者ユーザの端末５からファイル出力のリクエストを受け付けた場合に、このユーザのログイン情報のハッシュ値を計算してサブデータの検索キーとなるファイル名の暗号キーを生成する機能及びこのファイル名暗号キー（検索キー）及びファイル名のハッシュ値を計算してファイル内容復号キーを生成する機能を備えている。ハッシュ関数は不可逆な一方向関数を含むため、算出されたハッシュ値から原文（ファイル名等）を再現することはできない。また、同じハッシュ値を持つ異なるデータを作成することは極めて困難であることから、ハッシュ値を暗号キーに採用することはセキュリティ維持の面で好適である。なお、生成されたキーは、暗／復号化の処理が完了するまではＲＡＭ１３のデータエリアに記憶されているが、処理完了後は消去される。
【００４１】
ここで、ファイル名暗号キーやサブデータの検索キーは、例えば、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２、ＲＩＰＥＭＤ、Ｗｈｉｒｌｐｏｏｌ、Ｔｉｇｅｒなどの公知のハッシュ関数に、４台のファイルサーバ４への接続用ユーザＩＤ（1111、2222…）及びパスワード（aaaa、bbbb・・・）と、プロキシサーバ３への接続用ユーザＩＤ（9999）とパスワード（zzzz）とを代入してハッシュ値を計算する。同様に、ファイル内容暗号キーやファイル内容復号キーは、ハッシュ関数に上記ログイン情報及びファイル名暗号キーやサブデータの検索キーを代入して計算する。
【００４２】
また、作成者ユーザ以外のユーザ端末５からファイル出力のリクエストを受け付けた場合には、この暗号キー生成手段３３は、前記閲覧権限テーブル２６を参照してファイル出力リクエストに係るユーザの識別情報（社員ＩＤなど）から作成者ユーザのログイン情報のハッシュ値を特定し、この作成者ユーザの情報を使用してファイル名暗号キーを生成する。
【００４３】
暗号化処理手段３４（ファイル名暗号化手段、ファイル内容暗号化手段）は、機密データファイルの保存（分散配置）に際して、前記生成されたファイル名暗号キーで当該ファイルの名称を暗号化する機能と、前記分割された複数のサブデータを前記ファイル内容暗号キーによって暗号化する機能とを備えている。ファイル名及びファイル内容の暗号化の手法は何れも従来周知であるため、詳細説明は省略する。
【００４４】
ファイル転送手段（分散格納手段）３５は、外部ネットワークＮｏを介して、暗号化された複数のサブデータを暗号化されたファイル名と共に前記複数のファイルサーバ４に夫々送信して格納させるものである。上記したように、本実施形態では、３台のファイルサーバ４に、冗長的に分割され暗号化された３種類のサブデータを格納させると共に、他の１台のファイルサーバ４には前記空白データを格納するものである。
【００４５】
ここで、冗長配置は、例えば４つのファイルサーバ４（ｎ＝４）の中で乱数を用いて任意の３つのサーバ４（ｎ０＝３）を選択する。４箇所から選ばれた任意の３箇所に異なる種類の分割データを夫々格納し、他の１箇所（ｎ−ｎ０＝１）には空白データを格納する。
【００４６】
データ削除手段３６は、機密データファイルの保存時に、ファイルサーバ４に複数のサブデータが転送され分散格納処理が完了した後に、作成者ユーザの端末装置５から受け取った機密データファイル、生成されたファイル名暗号キーやファイル内容暗号キー、及び全てのサブデータをプロキシサーバの記憶装置（１３〜１５）から削除する機能と、機密データの出力時に、ユーザ端末５に復元ファイルが転送された後に、当該復元ファイル及び復号キーの情報をプロキシサーバ３の記憶装置から削除するものである。一般的な揮発性メモリ（ＲＡＭ１３等）であれば、プロキシサーバ３の電源を切れば記憶内容は自動的に消去されるが、プロキシサーバ３を長時間稼働させておく場合には、機密データが長時間消去されないためセキュリティの面で好ましくない。また、一部の不揮発性のメモリの場合は、このデータ削除手段３６による電気的消去や紫外線消去などの積極的な消去処理が必要になる。
【００４７】
サブデータ検索手段３７は、外部ネットワークＮｏを介して、ｎ−ｎ０台のファイルサーバ４に分散格納されたｎ−１個のサブデータを前記検索キーで夫々検索するものである。
【００４８】
ファイル復元処理手段３８（ファイル復号化手段、ファイルマージ手段）は、検索された全てのサブデータをＯＲ条件で結合した仮想ファイルを基準にして、これらのサブデータを１のファイルに合成するものである。ここで、取得した複数のサブデータの中に空白データが含まれている場合は、これ以外のサブデータをマージして１のファイルに合成する機能と、前記生成されたファイル内容暗号キーを使用して、前記マージしたファイルを復号化する機能とを備えている。このようにして復元されたファイルは、前記ファイル転送手段３５によって、ユーザの端末装置５に転送される。
【００４９】
最後に、障害対応機能を果たす更新情報蓄積・書込手段３９は、１以上の記憶装置（Ａ）に障害が発生した場合に、ユーザ端末５から取得した機密データの追加、修正及び削除の情報（更新情報）であってその記憶装置（Ａ）に格納すべき情報を、当該機密データファイルの識別情報（ファイル名、シリアルナンバーなど）に関連付けて前記更新情報格納部２７に格納すると共に、この記憶装置（Ａ）が復帰した場合、若しくは代替の記憶装置（Ａ'）が設置された場合に、格納された更新情報を他の記憶装置（Ｂ、Ｃ・・・）に同期させて当該記憶装置（Ａ又はＡ'）に書き込むものである。
【００５０】
（機密データファイルの分割と冗長化の例）
次に、前記ファイル分割手段３２が機密データファイルを冗長的に分割する例を図３を参照して説明する。  
まず、この例における機密データファイルの分割と冗長化処理の条件を以下に示す。
・分散単位は８ビット（１バイト）とする。リアルタイムの分散処理を容易にするためである。図３の各行が分散単位であり、１マスが１バイトを示す。
・分散パターンは、分散数３〜ｎと、冗長度とに従って自動計算する。図示の例では、分散数は４で、そのうち３箇所のファイルサーバからデータを収集すれば元のファイルを復元できるものとする（冗長度：３／４）。
【００５１】
このような条件に従って、以下のように分散処理を行う。なお、図３の行の上から順に分散処理を実行するものとする。
（１）１分散目（１行目）は、任意の４箇所（図３の表中に「＊」で示す）のビットを取得して（１−１〜１−４）、残りの４ビットを０で埋める。
（２）２分散目（２行目）は、１分散目で選ばれた４ビット（１−１〜１−４）から任意の２ビット（２−１、２−２）を選択すると共に、１分散目で選ばれなかった（１行目に「０」が記録されている）４ビットから任意の２ビット（２−３、２−４）を選択する。
（３）３分散目（３行目）では、１分散目で選択された４ビットの中から任意の２ビット（３−１、３−２）を選択すると共に、１、２分散目の何れでも選ばれなかった（１、２行目の両方に「０」が記録されている）２ビット（３−３、３−４）を選択する。
（４）４分散目（４行目）では、１分散目〜３分散目で１回だけ選択されている４つのビット（４−１〜４−４）を選択する。
（５）以上の処理をバイト単位で繰り返し、機密データファイルの全体の分散処理を行う。
【００５２】
（ファイルのフォーマットの例）
次に、図４を参照して、ファイル名及びファイル内容のフォーマットを説明する。  
（１）暗号化ファイル
図４Ａに示すように、ファイル名を暗号化した状態では、ヘッダーには、固定長のファイル名のハッシュ値が記述され、ボディには、可変長の暗号化されたファイル名が記述される。
【００５３】
次に、ファイル内容を暗号化した状態では、図４Ｂに示すように、ヘッダーには、Lengthヘッダーから第１の本体ブロックまでのハッシュ値で構成されるファイルハッシュヘッダーが記述され、ボディには、ファイルの長さによって可変長の暗号化されたファイルの内容が記述される。
【００５４】
ここで、ボディ部分は、図４Ｃに示すように構成される。すなわち、前記Lengthヘッダーには固定長の各ブロックの長さが記述され、元ファイル名情報には可変長の暗号化されたファイル名が記述され、第１の本体ブロックには可変長の暗号化された先頭ｎバイトのデータが記述され、第２の本体ブロックには同じく可変長の残りのデータが記述される。
【００５５】
（２）分散されるサブデータ（図４Ｄ）
全てのサブデータにおいて、ヘッダーには「ヘッダーの分散結果」が記述され、ボディには「暗号化されたファイル内容の分散結果」が記述される。このサブデータが、３箇所のファイルサーバに夫々保存される。
【００５６】
（処理フロー）
次に、図５、図６のフローチャートを参照して、本実施形態のプロキシサーバ３の処理工程を詳細な機能と共に説明する。以下においては、機密データファイルの保存処理と出力処理とに分けて説明する。なお、障害対応機能については、上記した特許文献１に開示された処理と同様に実行できるため、詳細説明は省略する。
【００５７】
（機密データファイルの保存（転送）時のフロー）
この処理では、まず、プロキシサーバ３のリクエスト受付手段３０が内部ネットワークＮｉを介して作成者ユーザの端末５からプロキシサーバ３及びファイルサーバ４へのログイン情報を取得して機密データの保存依頼を受け付けると（ステップＳ１）、ユーザ情報管理手段３１が、このユーザのサービス利用権限の認証を行う（ステップＳ２）。ユーザ企業内で、プロキシサーバ３に接続できる権限を幹部社員や特定部門の社員などに制限している場合が考えられるため、プロキシサーバ３への接続権限の有無を判断する。肯定的な認証が得られれば、ユーザ端末５に認証結果を返信し、ユーザ端末５から保存対象の機密データファイルを取得する（ステップＳ３）。なお、認証が否定された場合は、この処理を終了する。
【００５８】
次いで、前記暗号キー生成手段３３が、ステップＳ１で取得したユーザのログイン情報（ＩＤ、パスワード）のハッシュ値を計算してリクエストに係るファイルの名称の暗号キーを生成し（ステップＳ４）、暗号化処理手段３４がこの暗号キーを使用してファイル名を暗号化する（ステップＳ５）。そして、ファイル分割手段３２が、このファイル内容を３つのサブデータに分割する（ステップＳ６）。また暗号キー生成手段３３が、前記ファイル名称暗号キー及びファイル名のハッシュ値を計算してファイル内容暗号キーを生成する（ステップＳ７）。このファイル内容暗号キーを使用して、前記暗号化処理手段３４が３つのサブデータを夫々暗号化する（ステップＳ８）。なお、ファイル分割処理は、ファイル名やファイル内容の暗号キー生成処理と並行して実行できる。
【００５９】
次いで、ファイル転送手段３５が、暗号化された３つのサブデータと、１つの空白データとを、外部ネットワークＮｏを介して４箇所のファイルサーバ４に夫々転送すると共に（ステップＳ９）、ユーザ端末５に転送完了を通知する（ステップＳ１０）。ここで、この作成者ユーザ若しくは管理者ユーザなどの端末５から、当該機密データファイルの閲覧が許可された他のユーザのＩＤを受信した場合には（ステップＳ１１）、ユーザ情報管理手段３１が、受け取った閲覧許可された全てのユーザの情報（ログイン情報や社員ＩＤなどのハッシュ値）をファイル名に関連付けて前記閲覧権限テーブル２６に格納する（ステップＳ１２）。
【００６０】
最後に、データ削除手段３７が、機密データファイル、全てのサブデータ、ファイル名暗号キー、ファイル内容暗号キー、及び分散パターンの情報を、記憶装置（１３〜１５）から削除してこの処理を終了する（ステップＳ１３）。
【００６１】
上記した処理により、ファイルサーバ４には、分割され暗号化されたサブデータがランダムな分散パターンで分散配置されることになるので、一部のファイルサーバ４からデータが漏洩したとしても、元のデータを復元したり意味を解析することは事実上不可能である。特に、１以上のファイルサーバ４には空白データが格納されるため、データの復元や解析は一層困難になる。また、暗号化する前の機密データファイルは、セキュリティが強固に維持された内部ネットワークＮｉだけにしか流れないので、暗号化される前の情報が外部に漏洩することはない。
【００６２】
さらに、サブデータの暗号キーはユーザのログイン情報を使用して生成しているので、ユーザ毎に暗号キーが異なることになる。これにより、ファイル名が同一でもユーザが異なれば、異なるファイルとして管理できる。すなわち、暗号キーを、ファイル名とユーザＩＤ、パスワードから生成しているため、ユニーク性を向上させることができる。従って、ファイルサーバ４から暗号キーを入手することは不可能であり、ユーザのＩＤ、パスワードをファイルサーバの数だけ用意して管理する必要もない。さらに、プロキシサーバ３には、機密データファイルはもちろんのこと、分割したサブデータや暗号キー、及び分散パターンに関する情報は保存されないため、プロキシサーバ３への不正アクセスやサーバ管理者の不正行為によっても、機密データファイルの情報が漏洩することはない。
【００６３】
また、ファイル名及びファイル内容の暗号化と、複数のファイルサーバへの冗長分割とを同時に行うことにより、冗長性による緊急時対応とセキュリティの向上とを同時に実現できる。さらに、ファイルサーバ４とユーザ端末装置５の間に設置するプロキシサーバ３によるファイル管理方式であるので、現状のネットワーク環境を維持したまま、セキュリティを向上させたシステムへの移行を円滑に行える。
【００６４】
（機密データファイルの出力（受信）時のフロー）
次に、図６を参照して、ユーザ端末５に機密データファイルを出力する際のフローを説明する。  
この処理では、まず、リクエスト受付手段３０が、閲覧者ユーザ若しくは作成者ユーザの端末５から出力対象のファイルの名称やユーザのログイン情報を取得してファイルの出力依頼を受け付けると（ステップＳ１５）、ユーザ情報管理手段３１が、取得した情報と閲覧権限テーブル２６の情報とを照合して当該ファイルの閲覧権限の認証を実行する（ステップＳ１６）。認証が肯定的であれば、暗号キー生成手段３３がこのユーザ情報のハッシュ値を計算して暗号キーを生成する（ステップＳ１７）。なお、閲覧者ユーザからの出力リクエストである場合には、ファイル名などから作成者ユーザのログイン情報を特定し、この作成者ユーザの情報を使用してファイル名暗号キーを生成する。一方、認証が否定された場合は、認証結果をユーザ端末５に返信してこの処理を終了する。
【００６５】
次いで、暗号化処理手段３４が、前記ファイル名暗号キーでリクエストに係るファイル名を暗号化する（ステップＳ１８）。これが、サブデータの検索キーとなる。この検索キーは前記サブデータ検索手段３７に受け渡され、４箇所のファイルサーバ４からデータが収集される（ステップＳ１９）。収集されたデータには、３つのサブデータと１つの空白データが含まれている。
【００６６】
また、前記暗号キー生成手段３３が、ユーザ情報のハッシュ値を使用してサブデータの復号キーを生成する（ステップＳ２０）。これと並行して、前記ファイル復元処理手段３８が、空白データを除く３つのサブデータをＯＲ条件で合成した仮想ファイルを基準にして１ファイルにマージする（ステップＳ２１）。ファイルがマージされると、前記ファイル復元処理手段３８が、暗号化ファイルを前記復号キーで復号化する（ステップＳ２２）。復号化されたファイルは、ファイル転送手段３５がユーザ端末５に転送する（ステップＳ２３）。
【００６７】
最後に、データ削除手段３６が、復号化された機密データファイル、収集された全てのサブデータ（空白データを含む）、生成されたファイル名暗号キー（検索キー）やファイル内容暗号キー、及び分散パターンの情報を、記憶装置（１３〜１５）から消去してこの処理を終了する（ステップＳ２４）。
【００６８】
このような構成により、外部ネットワークＮｏを通じてファイルサーバ４に格納したサブデータを収集する際に、暗号化された状態で取得するので、外部ネットワークＮｏを経由しても機密情報が漏洩するおそれはない。また、暗号化されたファイルの復号キーを作成者ユーザの情報に従って生成することにしたので、閲覧権限を広げても情報出力に支障はない。
【００６９】
ここで、通信障害やサイト側の障害などで１のファイルサーバ４が使えない場合でも、他の３か所のサーバ４のデータを集積することで元データを復元することができる。すなわち、冗長配置を行っているため、収集したデータの１つが空データであっても、他の２か所から取得したデータによって元データを復元できる。同様の理由で、全てのファイルサーバ４ａ〜４ｄが正常に稼動している場合でも、任意の３か所のからデータを取得すれば検索対象データを復元することができる。なお、空白データに代えてダミーデータを格納しておく場合や、何らかの理由で１か所に誤ったデータが格納されている場合は、取得したデータの多数決によって元データを復元すればよい。
【００７０】
こうしたデータの冗長化・分散化により、例えば、特定の１拠点（ファイルサーバ４）のデータを全て盗聴されても、個々の機密データファイルの意味を解析したり復元することは不可能であり、不正アクセスや媒体の持ち出しなどによる漏洩を有効に防ぐことができる。また、自然災害などで１拠点のファイルサーバがダウンした場合でも、他の拠点のデータを集積することで元データを復元できる。さらに、プロキシサーバ３に不正アクセスされても、元データや機密データの暗号キー、ファイルの分割パターンなどの有意の情報を格納していないので、機密データが漏洩することはない。プロキシサーバ３やユーザ端末５がファイルサーバ４を兼用する場合でも、分割及び暗号化された一部のデータしか保存していないので、同様に機密データのセキュリティは担保できる。
【００７１】
（その他の機能）
上記以外に、本実施形態に係る発明は、ユーザ端末からファイル出力のリクエストを受け付けた時に、対象ファイルが改ざんされていないかをチェックするための以下のような機能を実装することもできる。例えば、サブデータをファイルサーバに保存した後に、ファイルサーバの管理者による不正行為や、ファイルサーバにサブデータを転送中にネットワークが乗っ取られた場合に、ファイルサーバに保存する(保存した）サブデータが改ざんされるおそれがあるため、このような改ざんを早期に発見する機能を備えることが有効である。
【００７２】
（１）ファイル名の復号チェック機能
この機能は、上記した改ざんの痕跡が「ファイル名の暗号化」のフォーマットのヘッダー部分に存在している可能性があることを利用して、ファイルの出力時にファイル名を照合することで、改ざんを早期に発見する機能である。具体的には、「ABCD.doc」という名称の機密データファイルを複数のファイルサーバに分散保存していて、ユーザ端末５からこのファイル名を取得してデータ出力のリクエストを受け付けた場合に、プロキシサーバは、本機能を使用して、「ABCD.doc＋各サーバのログイン情報」を使って当該ファイルの暗号化されたファイル名（ボディ部分）を作成しておく。そして、各ファイルサーバから、暗号化されたファイル名（ボディ部分）を含むサブデータファイルを取得する。この時、ファイルサーバから取得したファイル名のハッシュ部分と、前記生成した「ABCD.doc」のハッシュ値とを比較して改ざんチェックする。ファイルの改ざんを確認した場合には、ユーザ端末５やネットワーク管理責任者の端末、ファイルサーバ等にその旨のアラームを発信して対応を促すことができる。
【００７３】
（２）ファイル内容の復号チェック機能
この機能は、ファイルサーバから収集した複数のサブデータをマージして復号化する前に、上記したＬｅｎｇｔｈヘッダー、元ファイル名情報、暗号化された第１の本体ブロックの先頭ｎバイトだけを先に復号化して、リクエストにかかるファイル名のハッシュ値等と照合することで、ファイル内容の改ざんをチェックする機能である。すなわち、両者のハッシュ内容が一致しない場合には、サーバ側でファイルの内容が改ざんされた可能性があるため、その場合はリクエスト対象のファイルを復号化せずに、ユーザ端末にファイル名を変更して「復号化に失敗しました」というエラーメッセージを出力し、ネットワーク管理責任者の端末等にアラームを出力する。対象ファイルのハッシュヘッダー部分と収集したサブデータの値とが一致した場合にだけファイルの復号成功、すなわち、改ざんされていないと判断する。これにより、ファイル改ざんを早期に発見できると共に、改ざん後のファイルを正規ファイルと誤解する逆スパイを防止できる。この機能は、ファイルサーバから収集した複数のサブデータをマージする前後の何れでも実行できるが、マージする前に実行する場合には、改ざんが行われたサーバを特定することもできる。この場合には、ファイルのヘッダー部分は分散せず、各ファイルサーバにあわせたボディ部分のハッシュ値を追加しておく必要がある。
【００７４】
なお、この発明は上記の実施形態に限定されるものではなく、発明の要旨を変更しない範囲で種々変形可能である。
【００７５】
例えば、ファイルサーバの数や分割数等は、上記の例によらず、機密データの種類や機密度、委託者と受託者との契約等によって種々変更可能である。暗号化や分割、検索等のアルゴリズムも種々変更可能である。
【００７６】
また、本発明を、近時、開発が進められているマルチパスルーティング技術と組み合わせることもできる。すなわち、機密データファイルを複数のサブデータに分割し、マルチパスルーティング技術によって各サブデータをファイルサーバに転送する通信ルートを変えて通信を行う。これにより、サブデータを盗聴するには、物理的に複数のルートで同時期にネットワーク上のデータを収集しなければならず、実質的に盗聴は不可能となる。
【００７７】
さらに、ファイル一覧取得時は、「ファイル名の暗号キー」でファイル名を個別に復号化したもののリストを端末装置に返すようにしてもよい。
【図面の簡単な説明】
【００７８】
【図１】図１は、本発明の一実施形態のネットワーク構成図である。
【図２】図２は、プロキシサーバの構成を示す機能ブロック図である。
【図３】図３は、機密データファイルを冗長的に分割する例を示す図である。
【図４】図４は、ファイル名及びファイル内容のフォーマットを示す図である。
【図５】図５は、機密データファイルの保存（転送）時の処理工程を示すフローチャートである。
【図６】図６は、機密データファイルの出力（受信）時のフローチャートである。
【符号の説明】
【００７９】
Ｎｉ…内部ネットワーク
Ｎｏ…外部ネットワーク
１…データ管理システム
２…ユーザ
３…プロキシサーバ
４（４ａ〜４ｄ）…ファイルサーバ
５…ユーザ端末装置
１１…ＣＰＵ
１２…システムバス
１３…ＲＡＭ
１４…ＲＯＭ
１５…ＨＤＤ
１６…入出力インタフェース（Ｉ／Ｆ）
１７…出力装置
１８…入力装置
１９…通信デバイス
２１…データ格納エリア
２２…プログラム格納エリア
２５…ユーザ情報格納部
２６…閲覧権限テーブル
２７…更新情報格納部
３０…リクエスト受付手段
３１…ユーザ情報管理手段
３２…ファイル分割手段
３３…暗号キー生成手段
３４…暗号化処理手段
３５…ファイル転送手段
３６…データ削除手段
３７…サブデータ検索手段
３８…ファイル復元処理手段
３９…更新情報蓄積・書込手段
【図１】
2008250369.tif 000003
【図２】
2008250369.tif 000004
【図３】
2008250369.tif 000005
【図４】
2008250369.tif 000006
【図５】
2008250369.tif 000007
【図６】
2008250369.tif 000008