"グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置及び再暗号化装置を備えた再暗号化システムであって、前記ファイル共有装置は、前記グループの公開鍵に基づいてファイルが暗号化されてなる第1暗号化ファイルを記憶するファイル記憶手段と、前記メンバを識別するメンバID及び前記第1暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記ファイル記憶手段から前記第1暗号化ファイルを取得する手段と、前記取得した第1暗号化ファイル及び前記ファイル要求内のメンバIDを含む再暗号化要求を前記再暗号化装置に送信する手段と、前記メンバIDの公開鍵に基づいて前記ファイルが暗号化されてなる第2暗号化ファイルを前記再暗号化装置から受けると、当該第2暗号化ファイルを前記クライアント装置に送信する手段とを備え、前記再暗号化装置は、前記メンバを識別するメンバIDと、前記第1暗号化ファイルを復号せずに前記第2暗号化ファイルに再暗号化するための再暗号化鍵とを関連付けて記憶する再暗号化鍵記憶手段と、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する手段と、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化ファイルを前記第2暗号化ファイルに再暗号化する手段と、前記再暗号化により得られた第2暗号化ファイルを前記ファイル共有装置に送信する手段とを備え、前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化ファイルを前記メンバの公開鍵に対応する秘密鍵に基づいて復号することにより、前記ファイルを得ることを特徴とする再暗号化システム。グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置及び再暗号化装置を備えた再暗号化システムであって、前記ファイル共有装置は、前記グループの公開鍵に基づいて共通鍵が暗号化されてなる第1暗号化共通鍵部分と、前記共通鍵に基づいてデータが暗号化されてなる暗号化データ部分とを含む暗号化ファイルを記憶するファイル記憶手段と、前記メンバを識別するメンバID及び前記暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記ファイル記憶手段から前記暗号化ファイルを取得する手段と、前記取得した暗号化ファイルを前記第1暗号化共通鍵部分と前記暗号化データ部分に分離する手段と、前記分離された暗号化データ部分を前記クライアント装置に送信する処理と並行して、前記第1暗号化共通鍵部分及び前記ファイル要求内のメンバIDを含む再暗号化要求を前記再暗号化装置に送信する手段と、前記メンバIDの公開鍵に基づいて前記共通鍵が暗号化されてなる第2暗号化共通鍵部分を前記再暗号化装置から受けると、当該第2暗号化共通鍵部分を前記クライアント装置に送信する手段とを備え、前記再暗号化装置は、前記メンバを識別するメンバIDと、前記第1暗号化共通鍵部分を復号せずに前記第2暗号化共通鍵部分に再暗号化するための再暗号化鍵とを関連付けて記憶する再暗号化鍵記憶手段と、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する手段と、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化共通鍵部分を前記第2暗号化共通鍵部分に再暗号化する手段と、前記再暗号化により得られた第2暗号化共通鍵部分を前記ファイル共有装置に送信する手段とを備え、前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化共通鍵部分を前記メンバの公開鍵に対応する秘密鍵に基づいて復号することによって前記共通鍵を得ることと、前記ファイル共有装置から受けた暗号化データ部分を、当該得られた共通鍵に基づいて復号することとにより、前記データを得ることを特徴とする再暗号化システム。グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置であって、前記グループの公開鍵に基づいてファイルが暗号化されてなる第1暗号化ファイルをメモリに記憶し、前記メンバを識別するメンバID及び前記第1暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記メモリから前記第1暗号化ファイルを取得し、前記取得した第1暗号化ファイル及び前記ファイル要求内のメンバIDを含む再暗号化要求を再暗号化装置に送信し、前記メンバIDの公開鍵に基づいて前記ファイルが暗号化されてなる第2暗号化ファイルを前記再暗号化装置から受けると、当該第2暗号化ファイルを前記クライアント装置に送信する前記ファイル共有装置に通信可能な前記再暗号化装置であって、前記メンバを識別するメンバIDと、前記第1暗号化ファイルを復号せずに前記第2暗号化ファイルに再暗号化するための再暗号化鍵とを関連付けて記憶する再暗号化鍵記憶手段と、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する手段と、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化ファイルを前記第2暗号化ファイルに再暗号化する手段と、前記再暗号化により得られた第2暗号化ファイルを前記ファイル共有装置に送信する手段とを備えており、前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化ファイルを前記メンバの公開鍵に対応する秘密鍵に基づいて復号することにより、前記ファイルを得ることを特徴とする再暗号化装置。グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置であって、前記グループの公開鍵に基づいて共通鍵が暗号化されてなる第1暗号化共通鍵部分と、前記共通鍵に基づいてデータが暗号化されてなる暗号化データ部分とを含む暗号化ファイルをメモリに記憶し、前記メンバを識別するメンバID及び前記暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記ファイル記憶手段から前記暗号化ファイルを取得し、前記取得した暗号化ファイルを前記第1暗号化共通鍵部分と前記暗号化データ部分に分離し、前記分離した暗号化データ部分を前記クライアント装置に送信する処理と並行して、前記第1暗号化共通鍵部分及び前記ファイル要求内のメンバIDを含む再暗号化要求を前記再暗号化装置に送信し、前記メンバIDの公開鍵に基づいて前記共通鍵が暗号化されてなる第2暗号化共通鍵部分を前記再暗号化装置から受けると、当該第2暗号化共通鍵部分を前記クライアント装置に送信する前記ファイル共有装置に通信可能な前記再暗号化装置であって、前記メンバを識別するメンバIDと、前記第1暗号化共通鍵部分を復号せずに前記第2暗号化共通鍵部分に再暗号化するための再暗号化鍵とを関連付けて記憶する再暗号化鍵記憶手段と、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する手段と、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化共通鍵部分を前記第2暗号化共通鍵部分に再暗号化する手段と、前記再暗号化により得られた第2暗号化共通鍵部分を前記ファイル共有装置に送信する手段とを備えており、前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化共通鍵部分を前記メンバの公開鍵に対応する秘密鍵に基づいて復号することによって前記共通鍵を得ることと、前記ファイル共有装置から受けた暗号化データ部分を、当該得られた共通鍵に基づいて復号することとにより、前記データを得ることを特徴とする再暗号化装置。グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置であって、前記グループの公開鍵に基づいてファイルが暗号化されてなる第1暗号化ファイルをメモリに記憶し、前記メンバを識別するメンバID及び前記第1暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記メモリから前記第1暗号化ファイルを取得し、前記取得した第1暗号化ファイル及び前記ファイル要求内のメンバIDを含む再暗号化要求を再暗号化装置に送信し、前記メンバIDの公開鍵に基づいて前記ファイルが暗号化されてなる第2暗号化ファイルを前記再暗号化装置から受けると、当該第2暗号化ファイルを前記クライアント装置に送信する前記ファイル共有装置に通信可能であり、且つ再暗号化鍵記憶手段を備えた前記再暗号化装置に用いられるプログラムであって、前記再暗号化鍵装置を、前記メンバを識別するメンバIDと、前記第1暗号化ファイルを復号せずに前記第2暗号化ファイルに再暗号化するための再暗号化鍵とを関連付けて再暗号化鍵記憶手段に書込む手段、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する手段、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化ファイルを前記第2暗号化ファイルに再暗号化する手段、前記再暗号化により得られた第2暗号化ファイルを前記ファイル共有装置に送信する手段、として機能させ、前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化ファイルを前記メンバの公開鍵に対応する秘密鍵に基づいて復号することにより、前記ファイルを得るようにしたことを特徴とするプログラム。以上説明したように、従来の暗号化技術を用いて暗号化データを保管する場合、利便性とセキュリティが二律背反の関係にある。本発明が解決しようとする課題は、利便性とセキュリティを両立し得る再暗号化システム、再暗号化装置及びプログラムを提供することである。実施形態の再暗号化システムは、グループに属するメンバに操作されるクライアント装置に通信可能なファイル共有装置及び再暗号化装置を備えている。前記ファイル共有装置は、ファイル記憶手段を備えている。前記ファイル記憶手段は、前記グループの公開鍵に基づいてファイルが暗号化されてなる第1暗号化ファイルを記憶する。前記ファイル共有装置は、前記メンバを識別するメンバID及び前記第1暗号化ファイルのファイル名を含むファイル要求を前記クライアント装置から受けると、前記ファイル要求内のファイル名に基づいて前記ファイル記憶手段から前記第1暗号化ファイルを取得する。前記ファイル共有装置は、前記取得した第1暗号化ファイル及び前記ファイル要求内のメンバIDを含む再暗号化要求を前記再暗号化装置に送信する。前記ファイル共有装置は、前記メンバIDの公開鍵に基づいて前記ファイルが暗号化されてなる第2暗号化ファイルを前記再暗号化装置から受けると、当該第2暗号化ファイルを前記クライアント装置に送信する。前記再暗号化装置は、再暗号化鍵記憶手段を備えている。前記再暗号化鍵記憶手段は、前記メンバを識別するメンバIDと、前記第1暗号化ファイルを復号せずに前記第2暗号化ファイルに再暗号化するための再暗号化鍵とを関連付けて記憶する。前記再暗号化装置は、前記再暗号化要求を前記ファイル共有装置から受けると、当該再暗号化要求内のメンバIDに基づいて前記再暗号化鍵記憶手段から前記再暗号化鍵を取得する。前記再暗号化装置は、前記取得した再暗号化鍵に基づいて、前記再暗号化要求内の第1暗号化ファイルを前記第2暗号化ファイルに再暗号化する。前記再暗号化装置は、前記再暗号化により得られた第2暗号化ファイルを前記ファイル共有装置に送信する。前記クライアント装置は、前記ファイル共有装置から受けた第2暗号化ファイルを前記メンバの公開鍵に対応する秘密鍵に基づいて復号することにより、前記ファイルを得る。以下、各実施形態について図面を用いて説明するが、その前に各実施形態の前提となる再暗号化技術、ハイブリッド方式及び各実施形態の概要を述べる。利便性とセキュリティを両立させる方法として、再暗号化技術非特許文献3参照。が知られている。再暗号化とは、図16a及び図16bに従来の暗号化技術と比較して示すように、あるメンバの公開鍵pkGr1で暗号化したデータEpkGr1,Dを、復号することなく、別のメンバAの公開鍵pkAで暗号化したデータEpkA,Dに変換できる、つまり鍵を付け替えることができる技術である。このような再暗号化処理を行うには再暗号化鍵rkGr1→Aが必要である。再暗号化鍵rkGr1→Aは、図17に示すように、付け替える前の秘密鍵skGr1と、付け替える後の公開鍵pkAから作成される。再暗号化鍵rkGr1→Aは公開しても問題ない。再暗号化技術を用いた場合、図18に示すように、データDとしてのファイルが、暗号化された状態でクラウドストレージ1にアップロードダウンロードされる。すなわち、アップロードするメンバは、グループの公開鍵pkGr1でデータDを暗号化し、暗号化データEpkGr1,Dをクラウドストレージ1に保管する。これにより、グループ内の各メンバの鍵管理が不要になった。グループのメンバAがデータDをダウンロードするとき、サーバ上で暗号化データEpkGr1,Dを当該メンバA向けの再暗号化鍵rkGr1→Aにより再暗号化し、得られた再暗号化データEpkA,Dをダウンロードする。このような再暗号化システムのメリットとしては、クラウド上でデータを常に暗号化した状態で保管できる点と、暗号化鍵の管理が容易な点と、メンバ間で鍵を共有しない点が挙げられる。例えば、再暗号化処理はデータDを暗号化した状態で実行できるので、クラウドストレージ1上でデータDが復号されない。また、各メンバは他のメンバと秘密鍵skA,...を共有する必要がない。なお、再暗号化技術を利用したグループのメンバ管理は、図19に示すように、クラウドストレージ1上に再暗号化鍵rkGr1→A,...の追加削除を行うことになる。追加の場合、グループ管理者が追加するメンバCの公開鍵pkCを取得する。グループ管理者は、グループの秘密鍵skGr1と取得した公開鍵pkCから再暗号化鍵rkGr1→Cを作成し、作成した再暗号化鍵rkGr1→Cをクラウドストレージ1に配置する。このようなメンバ変更がある場合でも、従来とは異なり、暗号化データEpkGr1,Dをクラウドストレージ1上で暗号化しなおす必要が無いので、利便性が低下しない。一方、再暗号化システムのデメリットとしては、特に見当たらない。なお、公開鍵暗号を用いてデータを暗号化する場合、一般的に、暗号復号処理が速い共通鍵暗号技術と組み合わせたハイブリッド暗号と呼ばれる方式以下、ハイブリッド方式というを用いて高速化が図られている非特許文献1参照。。ハイブリッド方式では、図20に示すように、保護対象のデータDを共通鍵暗号方式の共通鍵kで高速に暗号化して暗号化データEk,Dを作成し、この共通鍵kを公開鍵暗号方式の公開鍵pkで暗号化して暗号化鍵Epk,kを作成する。ハイブリッド方式を用いることで、鍵の配布管理が容易な公開鍵暗号方式のメリットと、処理が高速な共通鍵暗号方式のメリットの両方を活かすことができる。なお、ハイブリッド方式を使用するか否かは別にして、再暗号化技術を用いる構成であれば、クラウドストレージ上で、メンバ間で安全にデータを共有することが可能になる。この再暗号化技術を用いた再暗号化システムを構築する場合、新たに構築するケースと、既存のファイル共有システムに対して再暗号化機能を追加して構築するケースが考えられる。後者のケースの場合、既存のファイル共有システムに対し、再暗号化機能を組み込んで構築する場合、大きな手間とコストが必要になる。既存のファイル共有システムの処理を大きく改修することなく、新たに別の機能と連携する一つの方法として、Javaのフィルタ非特許文献2参照。を利用する方法が考えられる。フィルタ機能を利用することで、ファイル共有装置クラウドストレージ1と呼んでいたものに相当する装置とそのクライアント間のリクエストレスポンス処理に、処理を追加することができる。このフィルタ処理で再暗号化処理を行うことで、既存のファイル共有システムを大きく修正することなく、また再暗号化機能を組み込むことなく、少ない改修で再暗号化機能を追加できる。すなわち、図21に示すように、ファイル共有装置2に追加する構成要素は、再暗号化装置3と連携する処理例、フィルタ4のみである。なお、上述した再暗号化システムは、そのまま実施してもよいが、本発明者の検討によれば、データの配布処理を改善した形態の方がより好ましい。そこで、第1の実施形態では、データの配布処理を改善した形態について述べている。補足すると、再暗号化システムにおいて、単純に再暗号化装置3と連携した場合、ファイル共有装置2に保管している暗号化データEpkGr1,Dを再暗号化する必要があるため、メンバに配布するためには必ず再暗号化処理を待たなければならない。再暗号化処理は既存の公開鍵暗号方式と比べて複雑なため、処理時間がかかる。そこで、図22に示すように、ハイブリッド方式におけるファイルのフォーマットに注目する。このフォーマットによれば、ファイル共有装置2内の暗号化ファイルのうち、再暗号化処理を行う部分は、公開鍵で暗号化された共通鍵部分だけになる。そこで、図21に示した暗号化データEpkGr1,Dに代えて、図23に示すように、公開鍵pkGr1で暗号化された共通鍵kからなる暗号化共通鍵EpkGr1,k部分と、共通鍵kで暗号化されたデータDからなる暗号化データEk,D部分とからなる暗号化ファイルをファイル共有装置2に保管し、暗号化共通鍵EpkGr1,k部分のみ再暗号化装置3に送付する。暗号化データEk,D部分が、データの大きさに依存するが、暗号化共通鍵EpkGr1,k部分と比べて大幅にサイズが大きいことを考えると、ファイル共有装置2と再暗号化装置3の間での通信処理を軽減することができる。また、図24に示すように、再暗号化装置3に暗号化共通鍵EpkGr1,k部分を送信する処理に並行して、暗号化データEk,D部分をメンバクライアントに送信する。暗号化データEk,D部分の大きさやネットワークの速さに依存するが、一般的にダウンロード処理の方が再暗号化処理よりも時間がかかるため、ダウンロード処理の実行中に再暗号化処理が終わる。このため、再暗号化処理によるサーバ処理時間は、クライアント装置へ暗号化データEk,D部分を送信している間に完了することが期待できる。以上のように、データの配布処理を改善した形態は、図22乃至図24に示したように、ハイブリッド方式のデータフォーマットに着目し、暗号化共通鍵EpkGr1,k部分の再暗号化処理と暗号化データEk,D部分の送信を並行して行なうことから、図21に示した形態に比べ、ダウンロード処理全体の時間を短縮できる点で好ましい。以上がデータの配布処理を改善した形態についての補足説明である。続いて、各実施形態について具体的に説明する。なお、第1の実施形態は、データの配布処理を改善した応用形態であり、第2の実施形態は、データの配布処理を改善していない基本形態である。<第1の実施形態>図1は第1の実施形態に係る再暗号化システムの構成を示す模式図である。この再暗号化システムは、クライアント/サーバ構成であり、グループに属するメンバに操作されるクライアント装置20に通信可能なファイル共有装置10及び再暗号化装置30を備えている。なお、ファイル共有装置10及び再暗号化装置30はサーバ装置であり、各装置10,20,30は、互いにインターネット5を介して通信可能となっている。また、各装置10,20,30は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。これらのことは、後述する変形例でも同様である。ここで、ファイル共有装置10は、制御部11、通信部12、挿入処理部13、ファイル共有部14、ファイル記憶部15、グループ情報記憶部16、公開鍵取得部17、再暗号化鍵登録部18及びグループ管理部19を備えている。制御部11、通信部12、挿入処理部13、ファイル共有部14、公開鍵取得部17、再暗号化鍵登録部18及びグループ管理部19は、例えば図示しないCPUが、後述するファイル共有装置10内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。また、通信部12は、他の装置20,30との間の通信インターフェースである。但し、以下の説明中では、説明の簡単化の観点から、他の装置20,30との間のデータの送受信に通信部12を介する旨の記載を省略している。また、例えば再暗号化装置30に連携する挿入処理部13、公開鍵取得部17及び再暗号化鍵登録部18については、既存のファイル共有システムを大きく修正せずに再暗号化システムを構築したい観点から、Javaのフィルタ機能を利用して実現してもよい。ファイル記憶部15は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、グループの公開鍵に基づいて共通鍵が暗号化されてなる第1暗号化共通鍵部分と、当該共通鍵に基づいてデータが暗号化されてなる暗号化データ部分とを含む暗号化ファイルを記憶する。なお、第1暗号化共通鍵部分は、第1暗号化共通鍵又は暗号化共通鍵と読み替えてもよい。また、暗号化データ部分は、暗号化データと読み替えてもよい。グループ情報記憶部16は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、図2に示すように、グループを識別するグループIDと、当該グループに属するメンバを識別するメンバIDとを関連付けて記憶する。一方、クライアント装置20は、制御部21、通信部22、ファイル記憶部23、秘密鍵記憶部24、暗号処理部25、共通鍵生成部26及び再暗号化鍵作成部27を備えている。制御部21、通信部22、暗号処理部25、共通鍵生成部26及び再暗号化鍵作成部27は、例えば図示しないCPUが、後述するクライアント装置20内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。また、通信部22は、他の装置10,30との間の通信インターフェースである。但し、以下の説明中では、説明の簡単化の観点から、他の装置10,30との間のデータの送受信に通信部22を介する旨の記載を省略している。ファイル記憶部23は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、例えば、アップロード対象のファイルを記憶する。秘密鍵記憶部24は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、例えば、メンバの公開鍵に対応する秘密鍵を記憶する。また、メンバがグループ管理者の場合、秘密鍵記憶部24は、更に、グループの公開鍵に対応する秘密鍵を記憶する。他方、再暗号化装置30は、制御部31、通信部32、再暗号化処理部33、公開鍵記憶部34及び再暗号化鍵記憶部35を備えている。制御部31、通信部32及び再暗号化処理部33は、例えば図示しないCPUが、後述する再暗号化装置30内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。また、通信部32は、他の装置10,20との間の通信インターフェースである。但し、以下の説明中では、説明の簡単化の観点から、他の装置10,20との間のデータの送受信に通信部32を介する旨の記載を省略している。公開鍵記憶部34は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、グループを識別するグループIDと、当該グループの公開鍵と、メンバを識別するメンバIDと、当該メンバの公開鍵とを関連付けて記憶する。再暗号化鍵記憶部35は、図示しないCPUから読出/書込可能な記憶装置として実現可能となっており、図3に示すように、メンバを識別するメンバIDと、第1暗号化共通鍵部分を復号せずに第2暗号化共通鍵部分に再暗号化するための再暗号化鍵とを関連付けて記憶する。なお、第2暗号化共通鍵部分は、第2暗号化共通鍵又は再暗号化共通鍵と読み替えてもよい。次に、以上のように構成された再暗号化システムの動作を図4乃至図11を用いて説明する。なお、以下の説明は、ファイルアップロードの処理図4及び図5、ファイルダウンロードの処理図6及び図7、メンバ追加の処理図8及び図9及びメンバ追加の処理図10及び図11の順に行う。始めに、ファイルアップロードの処理の流れを図4及び図5に示す。クライアント装置20では、制御部21がファイル記憶部23からアップロードするファイルを読み込むST1。クライアント装置20では、制御部21が共通鍵生成部26により共通鍵kを生成する。制御部21は、この共通鍵kとステップST1で読み込んだファイルを暗号処理部25に渡すST2。クライアント装置20では、暗号処理部25が、ファイルのデータDを共通鍵kで暗号化し、得られた暗号化データ部分Ek,Dを制御部21に渡すST3。ステップST4では、以下のステップST4-1~ST4-7が実行される。クライアント装置20では、制御部21が、アップロードするファイルを公開するグループの公開鍵pkGr1をファイル共有装置10に要求するST4-1。具体的には、グループを識別するグループIDを含む公開鍵要求をファイル共有装置10に送信する。ファイル共有装置10では、制御部11が、この公開鍵要求を公開鍵取得部17に送出するST4-2。ファイル共有装置10では、公開鍵取得部17が、この公開鍵要求を再暗号化装置30に送信するST4-3。再暗号化装置30では、制御部31が、公開鍵要求内のグループIDに基づいて、公開鍵記憶部34からグループの公開鍵pkGr1を取り出すST4-4。再暗号化装置30では、制御部31がグループの公開鍵pkGr1をファイル共有装置10に送信するST4-5。ファイル共有装置10では、公開鍵取得部17が、制御部11にグループの公開鍵pkGr1を渡すST4-6。ファイル共有装置10では、制御部11が、グループの公開鍵pkGr1をクライアント装置20に送信するST4-7。クライアント装置20では、制御部21が、受信したグループの公開鍵pkGr1と、ステップST2で生成した共通鍵kを暗号処理部25に渡す。暗号処理部25は、共通鍵kをグループの公開鍵pkGr1で暗号化し、得られた第1暗号化共通鍵部分EpkGr1,kを制御部21に渡すST5。ステップST6では、以下のステップST6-1~ST6-3が実行される。クライアント装置20では、制御部21が、ステップST2で渡された暗号化データ部分Ek,Dと、ステップST5で得られた第1暗号化共通鍵部分EpkGr1,kとを1つのファイル暗号化ファイルに纏め、纏めた暗号化ファイルをファイル共有装置10に送信するST6-1。ファイル共有装置10では、制御部11が、暗号化ファイルをファイル共有部14に渡す。ファイル共有部14は、暗号化ファイルをファイル記憶部15に書込むST6-2。ファイル共有装置10では、制御部11が、ファイルアップロードが完了した旨をクライアント装置20に通知するST6-3。クライアント装置20では、制御部21が、この通知を表示部図示せずに表示する。以上により、ファイルアップロードの処理が完了する。続いて、ファイルダウンロードの処理の流れを図6及び図7に示す。クライアント装置20では、制御部21が、メンバを識別するメンバID及びグループを識別するグループIDフォルダ内のファイルをグループで共有する場合は、フォルダ名をグループIDとしてもよいと、暗号化ファイルのファイル名を含むファイル要求をファイル共有装置10に送信するST11。なお、メンバIDについては、クライアント装置20から送付するのがメンバIDではなくてセッションIDである場合、ファイル共有装置10の制御部11でセッションIDとメンバIDとを結び付けて管理し、その管理しているメンバIDを利用して、セッションIDから逆算してメンバIDを導くようにしてもよい。ステップST12では、以下のステップST12-1~ST12-2が実行される。ファイル共有装置10では、制御部11が、メンバを識別するメンバID及び暗号化ファイルのファイル名を含むファイル要求をクライアント装置20から受けると、ファイル共有部14を介して、ファイル要求内のファイル名に基づいてファイル記憶部15から暗号化ファイルを取得する。具体的には、制御部11は、クライアント装置20から受けたファイル要求をファイル共有部14に送出する。ファイル共有部14は、ファイル記憶部15から暗号化ファイルを取得し、制御部11に渡すST12-1。ファイル共有装置10では、制御部11が、取得した暗号化ファイルを挿入処理部13に渡す[処理の挿入]ST12-2。ファイル共有装置10では、処理挿入部13が、渡された暗号化ファイルを、第1暗号化共通鍵部分EpkGr1,kと暗号化データ部分Ek,Dに分離するST13。ステップST14’及びST14は、並列に実行される。ステップST14’では、以下のステップST14’-1~ST14’-2が実行される。ファイル共有装置10では、挿入処理部13が、ステップST14の処理と並行して、暗号化データ部分Ek,Dを制御部11に渡すST14’-1。ファイル共有装置10では、制御部11が、クライアント装置20に暗号化データ部分Ek,Dを送信するST14’-2。ステップST14では、以下のステップST14-1~ST14-5が実行される。ファイル共有装置10では、処理挿入部13が、分離された暗号化データ部分Ek,Dをクライアント装置20に送信する処理と並行して、第1暗号化共通鍵部分EpkGr1,k及びファイル要求内のメンバID及びグループIDを含む再暗号化要求を再暗号化装置30に送信するST14-1。再暗号化装置30では、再暗号化要求をファイル共有装置10から受けると、当該再暗号化要求内のメンバID例、AとグループID例、Gr1に基づいて再暗号化鍵記憶部35から再暗号化鍵rkGr1→Aを取得し、当該取得した再暗号化鍵rkGr1→Aに基づいて、再暗号化要求内の第1暗号化共通鍵部分EpkGr1,kを第2暗号化共通鍵部分EpkA,kに再暗号化する。具体的には、制御部31は、再暗号化要求内の第1暗号化共通鍵部分EpkGr1,k及びメンバID例、A及びグループID例、Gr1を再暗号化処理部33に渡す。再暗号化処理部33は、このメンバIDとグループIDに基づいて再暗号化鍵記憶部35から再暗号化鍵rkGr1→Aを取得し、第1暗号化共通鍵部分EpkGr1,kを第2暗号化共通鍵部分EpkA,kに再暗号化し、得られた第2暗号化共通鍵部分EpkA,kを制御部31に渡すST14-2。再暗号化装置30では、制御部31が、再暗号化により得られた第2暗号化共通鍵部分EpkA,kをファイル共有装置10に送信するST14-3。ファイル共有装置10では、挿入処理部13が、ステップST14’-2の送信処理が終わっていなければ終わるまで待って、制御部11に第2暗号化共通鍵部分EpkA,kを渡す。ステップST14’-2の送信処理が終わっていればすぐ渡すST14-4。ファイル共有装置10では、制御部11が、第2暗号化共通鍵部分EpkA,kをクライアント装置20に送信する[挿入した処理の終了]ST14-5。ファイル共有装置10からクライアント装置20へのレスポンスはステップST14-5とステップST14’-2との2回送信しているが、これは1つの通信のレスポンスとして2段階でデータを送付している。クライアント装置20は、ファイル共有装置10から受けた第2暗号化共通鍵部分EpkA,kをメンバの公開鍵pkAに対応する秘密鍵skAに基づいて復号することによって共通鍵kを得ることと、ファイル共有装置10から受けた暗号化データ部分Ek,Dを、当該得られた共通鍵kに基づいて復号することとにより、ファイルのデータDを得る。具体的には、クライアント装置20では、制御部21が、秘密鍵記憶部24から秘密鍵skAを取得し、秘密鍵skAと第2暗号化共通鍵部分EpkA,kを暗号処理部25に渡す。暗号処理部25は、第2暗号化共通鍵部分EpkA,kを秘密鍵skAで復号し、得られた共通鍵kを制御部21に渡すST15。クライアント装置20では、制御部21が、ステップST14’で受信した第2暗号化データ部分Ek,DとステップST15で得た共通鍵kを暗号処理部25に渡す。暗号処理部25は、第2暗号化データ部分を共通鍵kで復号し、ファイルの平文のデータDを得る。データDのファイルを制御部21に渡すST16。以上により、ファイルダウンロードの処理が完了する。次に、グループにメンバを追加する処理の流れを図8及び図9に示す。ただし、ここでクライアント装置20は、グループ管理者が利用しているものとする。クライアント装置20では、制御部21が、追加したいメンバを識別するメンバID例、Cを含むメンバ追加リクエストをファイル共有装置10に送信するST21。ファイル共有装置10では、制御部11が、メンバ追加リクエストを受けると、挿入処理部13を呼出す[処理の挿入]ST22。ファイル共有装置10では、挿入処理部13が、メンバ追加リクエスト内のメンバIDCに基づいて、再暗号化装置30にメンバの公開鍵pkCを要求するST23。再暗号化装置30では、制御部31が、要求されたメンバIDCに関連付けられた公開鍵pkCを公開鍵記憶部34から読み込むST24。再暗号化装置30では、制御部31が、ファイル共有装置10の挿入処理部13にメンバの公開鍵pkC及びメンバIDCを返すST25。ファイル共有装置10では、挿入処理部13が、制御部11に処理を戻す取得したメンバの公開鍵pkC及びメンバIDCも渡す[挿入した処理の終了]ST26。ファイル共有装置10では、制御部11が、メンバの公開鍵pkC及びメンバIDCをクライアント装置20に送信するST27。本来、既成の機能部は、メンバ追加リクエストの受信時にステップST36のメンバ追加処理を行うが、挿入処理部13の機能により行わないようにする。クライアント装置20では、制御部21が、秘密鍵記憶部24からグループの秘密鍵skGr1を読み込むST28。クライアント装置20では、制御部21が、メンバの公開鍵pkCとグループの秘密鍵skGr1を再暗号化鍵作成部27に渡す。再暗号化鍵作成部27は、メンバの公開鍵pkCとグループの秘密鍵skGr1から、メンバの再暗号化鍵rkGr1→Cを作成し、メンバの再暗号化鍵rkGr1→C及びメンバIDCを制御部21に渡すST29。クライアント装置20では、制御部21が、メンバの再暗号化鍵rkGr1→C及びメンバIDC及びグループIDGr1をファイル共有装置10に送信するST30。ファイル共有装置10では、制御部11が、再暗号化鍵登録部18にメンバの再暗号化鍵rkGr1→C及びメンバIDCとグループIDGr1を渡すST31。ファイル共有装置10では、処理挿入部13が、再暗号化装置30に再暗号化鍵rkGr1→C及びメンバIDCを渡すST32。再暗号化装置30では、制御部31が、再暗号化鍵記憶部35に再暗号化鍵rkGr1→C及びメンバIDCを関連付けて書込むST33。再暗号化装置30では、制御部31が、メンバIDCとグループIDGr1に関連付けて再暗号化鍵rkGr1→Cを登録した旨をファイル共有装置10に通知するST34。ファイル共有装置10では、再暗号化鍵登録部18が、この通知を受けると、メンバIDCとグループIDGr1を含むメンバ追加依頼をグループ管理部19に送出するST35。ファイル共有装置10では、グループ管理部19が、メンバ追加依頼を受けると、グループ情報記憶部16のグループ情報にメンバIDCとグループIDGr1を追加するST36。なお、再暗号化鍵の登録リクエストでメンバ追加処理を行う理由は、ファイル共有装置10のグループ情報記憶部16と、再暗号化装置30の再暗号化鍵記憶部35との間に不整合が起こらないようにするためである。ファイル共有装置10では、ファイル共有部14が、メンバ追加処理が完了した旨を再暗号化鍵登録部18に通知するST37。ファイル共有装置10では、暗号化鍵登録部18が、メンバIDCとグループIDGr1に対応する再暗号化鍵rkGr1→Cを登録した旨を制御部11に通知するST38。ファイル共有装置10では、制御部11が、メンバIDCとグループIDGr1に対応する再暗号化鍵rkGr1→Cを登録した旨をクライアント装置20に通知するST39。クライアント装置20では、制御部21が、この通知を表示部図示せずに表示する。以上により、メンバ追加の処理が完了する。続いて、グループにメンバを削除する処理の流れを図10及び図11に示す。ただし、ここでクライアント装置20はグループ管理者が利用しているものとする。クライアント装置20では、制御部21が、削除したいメンバを識別するメンバID例、C及びそのメンバを削除するグループを識別するグループID例、Gr1を含むメンバ削除リクエストをファイル共有装置10に送信するST41。ファイル共有装置10では、制御部11が、メンバ削除リクエストを受けると、処理挿入部13を呼出す[処理の挿入]ST42。ファイル共有装置10では、処理挿入部13が、メンバ削除リクエスト内のメンバIDCとグループIDGr1を含む再暗号化鍵削除リクエストを再暗号化装置30に送信するST43。再暗号化装置30では、制御部31が、再暗号化鍵削除リクエスト内のメンバIDCに基づいて、当該メンバIDCとグループIDGr1に関連付けられた再暗号化鍵rkGr1→Cを再暗号化鍵記憶部35から削除するST44。再暗号化装置30では、制御部31が、メンバIDCとグループIDGr1に関連付けられた再暗号化鍵rkGr1→Cを削除した旨をファイル共有装置10に通知するST45。ファイル共有装置10では、処理挿入部13が、この通知を受けると、制御部11に処理を戻す[処理の挿入終了]ST46。ファイル共有装置10では、制御部11が、この通知に基づいて、メンバIDCとグループIDGr1を含むメンバ削除依頼をグループ管理部19に送出する。グループ管理部19は、メンバ削除依頼を受けると、グループ情報記憶部16のグループ情報からメンバIDCとグループIDGr1が関連付けられている行を削除するST47。ファイル共有装置10では、制御部11が、メンバ削除処理が完了した旨をクライアント装置20に通知するST48。クライアント装置20では、制御部21が、この通知を表示部図示せずに表示する。以上により、メンバ削除の処理が完了する。上述したように本実施形態によれば、ファイル共有装置10が、クライアント装置20から受けたファイル要求に基づいてファイル記憶部15から暗号化ファイルを取得し、当該暗号化ファイルを第1暗号化共通鍵部分と暗号化データ部分に分離し、当該暗号化データ部分をクライアント装置20に送信する処理と並行して、当該第1暗号化共通鍵部分及びメンバIDを含む再暗号化要求を再暗号化装置30に送信し、再暗号化装置30が、再暗号化要求に基づいて再暗号化鍵記憶部35から再暗号化鍵を取得し、当該再暗号化鍵に基づいて再暗号化要求内の第1暗号化共通鍵部分を第2暗号化共通鍵部分に再暗号化し、当該第2暗号化共通鍵部分をファイル共有装置10を介してクライアント装置20に送信する構成により、クライアント装置20が、第2暗号化共通鍵部分をメンバの公開鍵に対応する秘密鍵に基づいて復号することによって共通鍵を得ると共に、暗号化データ部分を、当該得られた共通鍵に基づいて復号することにより、データを得るようにしたので、利便性とセキュリティを両立させることができる。また、本実施形態によれば、ファイル共有装置10においては、既存のファイル共有システムの機能を提供している部分を変更せずに、フィルタ機能で再暗号化装置30と連携することができるため、改修コストを削減することができる。また、ファイル共有装置10がハイブリッド暗号のデータを切り離して鍵部分だけを再暗号化装置に送付することで、通信時間を短縮することができる。データ部分の送信と並行して再暗号化処理を行うことによって、再暗号処理による処理時間の増大を軽減することができる。別途、再暗号化装置30を用意しているので、既存のファイル共有装置にCPU負荷をかけずに再暗号化処理を追加することができる。続いて、本実施形態と特許文献1との相違について補足的に説明する。本実施形態では、図23に示したようにハイブリッド方式での共通鍵部分とデータ部分を切り離し、データ部分をクライアント装置に送付する間に、共通鍵部分の再暗号化処理を行うことで、再暗号化処理に費やす時間によるサービスレベル低下の軽減を図っている。これに対し、特許文献1記載の技術は、クライアント端末でSOAPメッセージに対して暗号化処理を行う際に、ボディ部とヘッダ部に分割し、ボディ部をゲートウェイに送信すると共にボディ部に対して暗号化処理を行い、ヘッダ部を作成する。そして、特許文献1記載の技術は、ボディ部の送信後にヘッダ部をゲートウェイに送信し、ゲートウェイで本来のSOAPメッセージを作成するものである。ここで、特許文献1記載の技術は、クライアント端末の処理のみに注目するとデータの送信と暗号化処理を並行して行っていることから、本実施形態に似た内容にも見えるが、以下の点で本実施形態とは構成機能が異なっている。1特許文献1記載の技術においては、ボディ部とヘッダ部が揃わないとゲートウェイから本来のサーバへ送信できないため、クライアント端末での暗号化処理とデータ送信を並列に行うことでクライアント端末全体での処理を軽減している。しかしながら、特許文献1記載の技術では、ゲートウェイからサーバに送るデータ送信時間が削減できていない点と、SOAPメッセージ構築の時間が削減できていない点と、ゲートウェイ装置を別途発明の内容で構築しなければならない点が異なる。また、特許文献1記載の技術でシステム全体の負荷が軽減できるか否かは、暗号化処理を実行するクライアント端末の性能に依存する。2特許文献1記載の技術においては、暗号化処理をクライアント端末でしか実行できず、ゲートウェイに委託することができない。そのため、特許文献1記載の技術は、クライアント端末での暗号化処理の負荷を軽減できない。上記12に対し、本実施形態では、メッセージ構築に該当する処理が存在しないこと、そのためゲートウェイの機能に該当する処理が不要なこと、および暗号化処理を外部に委託することが可能になる点と、システム全体の負荷が軽減できる点で優れている。また、本実施形態は、メッセージ構築が不要な点や暗号化処理の委託ができることから、特許文献1記載の技術とは構成機能が異なっている。<第2の実施形態>次に、第2の実施形態に係る再暗号化システムについて図1を参照して説明する。第2の実施形態は、図18に示した如き、ハイブリッド方式を用いない基本形態であり、ファイル全体を暗号化及び再暗号化する構成となっている。この再暗号化システムは、図1を参照して示すように、前述同様に、クライアント/サーバ構成であり、グループに属するメンバに操作されるクライアント装置20に通信可能なファイル共有装置10及び再暗号化装置30を備えている。但し、共通鍵kを用いないため、クライアント装置20の共通鍵生成部26は省略される。クライアント装置20の他の構成は、以下の動作説明中に示す通りである。ここで、ファイル共有装置10のファイル記憶部15は、グループの公開鍵pkGr1に基づいてファイルDが暗号化されてなる第1暗号化ファイルEpkGr1,Dを記憶する。また、ファイル共有装置10は、例えばファイルダウンロードに関し、以下の各機能~をもっている。制御部11及び通信部12により、メンバを識別するメンバID例、A及びとグループID例、Gr1と、第1暗号化ファイルEpkGr1,Dのファイル名を含むファイル要求をクライアント装置20から受けると、制御部11及びファイル共有部14により、当該ファイル要求内のファイル名に基づいてファイル記憶部15から第1暗号化ファイルEpkGr1,Dを取得する機能。制御部11、通信部12及び挿入処理部13により、当該取得した第1暗号化ファイルEpkGr1,D及び当該ファイル要求内のメンバIDAとグループIDGr1を含む再暗号化要求を再暗号化装置30に送信する機能。制御部11、通信部12及び挿入処理部13により、メンバIDAとグループIDGr1の公開鍵pkAに基づいてファイルが暗号化されてなる第2暗号化ファイルEpkA,Dを再暗号化装置30から受けると、制御部11及び通信部12により、当該第2暗号化ファイルEpkA,Dをクライアント装置に送信する。ファイル共有装置10の他の構成ファイルアップロードメンバ追加処理メンバ削除処理に関する構成は、以下の動作説明中に示す通りである。また、再暗号化装置30の再暗号化鍵記憶部35は、メンバを識別するメンバIDA,B,...及びグループを識別するグループIDGr1,Gr2,...と、第1暗号化ファイルを復号せずに第2暗号化ファイルに再暗号化するための再暗号化鍵rkGr1→A,rkGr1→B,...とを関連付けて記憶する。また、再暗号化装置30は、例えばファイルダウンロードに関し、以下の各機能~をもっている。制御部31及び通信部32により、再暗号化要求をファイル共有装置10から受けると、制御部31及び再暗号化処理部33により、当該再暗号化要求内のメンバID例、AとグループID例、Gr1に基づいて再暗号化鍵記憶部35から再暗号化鍵rkGr1→Aを取得する機能。再暗号化処理部33により、当該取得した再暗号化鍵rkGr1→Aに基づいて、再暗号化要求内の第1暗号化ファイルEpkGr1,Dを第2暗号化ファイルEpkA,Dに再暗号化する機能。制御部31及び通信部32により、当該再暗号化により得られた第2暗号化ファイルEpkA,Dをファイル共有装置10に送信する機能。再暗号化装置30の他の構成ファイルアップロードメンバ追加処理メンバ削除処理に関する構成は、以下の動作説明中に示す通りである。次に、以上のように構成された再暗号化システムの動作について説明する。始めに、ファイルアップロードの処理の流れを述べる。クライアント装置20では、制御部21がファイル記憶部23からアップロードするファイルDを読み込む。クライアント装置20では、制御部21が、アップロードするファイルを公開するグループの公開鍵pkGr1をファイル共有装置10に要求する。具体的には、グループを識別するグループID例、Gr1を含む公開鍵要求をファイル共有装置10に送信する。ファイル共有装置10では、制御部11が、この公開鍵要求を公開鍵取得部17に送出する。ファイル共有装置10では、公開鍵取得部17が、この公開鍵要求を再暗号化装置30に送信する。再暗号化装置30では、制御部31が、公開鍵要求内のグループID例、Gr1に基づいて、公開鍵記憶部34からグループの公開鍵pkGr1を取り出す。再暗号化装置30では、制御部31がグループの公開鍵pkGr1をファイル共有装置10に送信する。ファイル共有装置10では、公開鍵取得部17が、制御部11にグループの公開鍵pkGr1を渡す。ファイル共有装置10では、制御部11が、グループの公開鍵pkGr1をクライアント装置20に送信する。クライアント装置20では、制御部21が、受信したグループの公開鍵pkGr1と、アップロードするファイルとを暗号処理部25に渡す。暗号処理部25は、ファイルDをグループの公開鍵pkGr1で暗号化し、得られた第1暗号化ファイルEpkGr1,Dを制御部21に渡す。クライアント装置20では、制御部21が、第1暗号化ファイルEpkGr1,Dをファイル共有装置10に送信する。ファイル共有装置10では、制御部11が、第1暗号化ファイルEpkGr1,Dをファイル共有部14に渡す。ファイル共有部14は、第1暗号化ファイルEpkGr1,Dをファイル記憶部15に書込む。ファイル共有装置10では、制御部11が、ファイルアップロードが完了した旨をクライアント装置20に通知する。クライアント装置20では、制御部21が、この通知を表示部図示せずに表示する。以上により、ファイルアップロードの処理が完了する。続いて、ファイルダウンロードの処理の流れを説明する。クライアント装置20では、制御部21が、メンバを識別するメンバID例、A及びグループを識別するグループID例、Gr1と、第1暗号化ファイルEpkGr1,Dのファイル名を含むファイル要求をファイル共有装置10に送信する。ファイル共有装置10では、制御部11が、ファイル要求をクライアント装置20から受けると、ファイル共有部14を介して、ファイル要求内のファイル名に基づいてファイル記憶部15から第1暗号化ファイルEpkGr1,Dを取得する。具体的には、制御部11は、クライアント装置20から受けたファイル要求をファイル共有部14に送出する。ファイル共有部14は、ファイル記憶部15から第1暗号化ファイルEpkGr1,Dを取得し、制御部11に渡す。ファイル共有装置10では、制御部11が、取得した第1暗号化ファイルEpkGr1,Dを挿入処理部13に渡す[処理の挿入]。ファイル共有装置10では、処理挿入部13が、渡された第1暗号化ファイルEpkGr1,D及びファイル要求内のメンバIDを含む再暗号化要求を再暗号化装置30に送信する。再暗号化装置30では、再暗号化要求をファイル共有装置10から受けると、当該再暗号化要求内のメンバID例、AとグループID例、Gr1に基づいて再暗号化鍵記憶部35から再暗号化鍵rkGr1→Aを取得し、当該取得した再暗号化鍵rkGr1→Aに基づいて、再暗号化要求内の第1暗号化ファイルEpkGr1,Dを第2暗号化ファイルEpkA,Dに再暗号化する。具体的には、制御部31は、再暗号化要求内の第1暗号化ファイルEpkGr1,D及びメンバID例、AとグループID例、Gr1を再暗号化処理部33に渡す。再暗号化処理部33は、このメンバIDに基づいて再暗号化鍵記憶部34から再暗号化鍵rkGr1→Aを取得し、第1暗号化ファイルEpkGr1,Dを第2暗号化ファイルEpkA,Dに再暗号化し、得られた第2暗号化ファイルEpkA,Dを制御部31に渡す。再暗号化装置30では、制御部31が、再暗号化により得られた第2暗号化ファイルEpkA,Dをファイル共有装置10に送信する。ファイル共有装置10では、挿入処理部13が、制御部11に第2暗号化ファイルEpkA,Dを渡す。ファイル共有装置10では、制御部11が、第2暗号化ファイルEpkA,Dをクライアント装置20に送信する[挿入した処理の終了]。クライアント装置20は、ファイル共有装置10から受けた第2暗号化ファイルEpkA,Dをメンバの公開鍵pkAに対応する秘密鍵skAに基づいて復号することにより、ファイルDを得る。具体的には、クライアント装置20では、制御部21が、秘密鍵記憶部24から秘密鍵skAを取得し、秘密鍵skAと第2暗号化ファイルEpkA,Dを暗号処理部25に渡す。暗号処理部25は、第2暗号化ファイルEpkA,Dを秘密鍵skAで復号し、得られたファイルDを制御部21に渡す。以上により、ファイルダウンロードの処理が完了する。なお、メンバ追加処理及びメンバ削除処理は、第1の実施形態と同様である。上述したように本実施形態によれば、ファイル共有装置10が、クライアント装置20から受けたファイル要求に基づいてファイル記憶部15から第1暗号化ファイルを取得し、当該第1暗号化ファイルを含む再暗号化要求を再暗号化装置30に送信し、再暗号化装置30が、再暗号化鍵に基づいて再暗号化鍵記憶部35から再暗号化鍵を取得し、当該再暗号化鍵に基づいて再暗号化要求内の第1暗号化ファイルを第2暗号化ファイルに再暗号化し、当該第2暗号化ファイルをファイル共有装置10を介してクライアント装置20に送信し、クライアント装置20が、第2暗号化ファイルをメンバの公開鍵に対応する秘密鍵に基づいて復号することによってファイルを得る構成により、第1暗号化ファイル全体を再暗号化することから、第1の実施形態に比べて処理時間がかかる点を除き、第1の実施形態と同様の効果を得ることができる。なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフロッピー登録商標ディスク、ハードディスクなど、光ディスクCD-ROM、DVDなど、光磁気ディスクMO、半導体メモリなどの記憶媒体に格納して頒布することもできる。また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOSオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のMWミドルウェア等が上記実施形態を実現するための各処理の一部を実行しても良い。さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"