(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025013199
(43)【公開日】2025-01-24
(54)【発明の名称】ファイル管理方法、ファイル管理プログラム、及びファイル管理システム
(51)【国際特許分類】
G06F 21/62 20130101AFI20250117BHJP
G06F 16/182 20190101ALI20250117BHJP
G06F 21/60 20130101ALI20250117BHJP
G06F 21/31 20130101ALI20250117BHJP
【FI】
G06F21/62 318
G06F16/182
G06F21/60 320
G06F21/31
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024099123
(22)【出願日】2024-06-19
(62)【分割の表示】P 2023114769の分割
【原出願日】2023-07-12
(71)【出願人】
【識別番号】523220905
【氏名又は名称】Casley Deep Innovations株式会社
(74)【代理人】
【識別番号】110004163
【氏名又は名称】弁理士法人みなとみらい特許事務所
(72)【発明者】
【氏名】砂川 和雅
(57)【要約】
【課題】
大量・大容量のデータを保管することができ、且つよりセキュアに情報の管理をすることができる新規な技術を提供する
【解決手段】
P2P通信により、複数のノード間で情報を分散管理するファイル管理方法であって、分散管理の対象となる対象ファイルをアップロードする第1ノードが、前記対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する分割ステップと、前記分割ファイルを暗号化処理した暗号化分割ファイルを生成する暗号化ステップと、前記暗号化分割ファイル、及び復号の為の復号情報を他のノードに送信する送信ステップと、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
P2P通信により、複数のノード間で情報を分散管理するファイル管理方法であって、
分散管理の対象となる対象ファイルをアップロードする第1ノードが、
前記対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する分割ステップと、
前記分割ファイルを暗号化処理した暗号化分割ファイルを生成する暗号化ステップと、
前記暗号化分割ファイル、及び復号の為の復号情報を他のノードに送信する送信ステップと、を実行するファイル管理方法。
【請求項2】
前記対象ファイルをダウンロードする第2ノードが、
前記対象ファイルの指定を受け付けて、該対象ファイルに関連付けられる暗号化分割ファイル、及び前記暗号化分割ファイルの復号情報を取得する取得ステップと、
該取得した復号情報に基づいて、該暗号化分割ファイルを復号する復号ステップと、を実行する請求項1に記載のファイル管理方法。
【請求項3】
前記分割ステップにおいて、結合ステータスが付与された前記分割ファイルを生成し、
前記取得ステップにおいて、復元する前記対象ファイルの指定を受け付けて、該指定された対象ファイルに紐づく前記暗号化分割ファイル、及び前記復号情報を取得し、
前記第2ノードが、更に前記復号ステップの結果得られた前記分割ファイル、及び前記結合ステータスに基づいて該指定された対象ファイルを復元する復元ステップを実行する、請求項2に記載のファイル管理方法。
【請求項4】
前記送信ステップにおいて、共有グループを紐づけた前記暗号化分割ファイルを前記他のノードに送信し、
前記対象ファイルをダウンロードする第2ノードが、更に前記共有グループ毎に、該送信された暗号化分割ファイルに対応する対象ファイル情報を表示処理する表示処理ステップを実行する、請求項1に記載のファイル管理方法。
【請求項5】
前記第1ノードと前記他のノードは1のWAN内のノードであり、前記送信ステップにおいて、
第1のLAN内の前記第1ノード、及び第2のLAN内の前記他のノードがVPN接続されている場合には、内部ネットワークに配置された他のノードに前記暗号化分割ファイルを送信し、
前記第1ノード及び前記他のノードがVPN接続されていない場合には、外部ネットワークに配置された前記他のノードに前記暗号化分割ファイルを送信する、請求項1に記載のファイル管理方法。
【請求項6】
前記第1ノードは、更に前記対象ファイルへ行った操作に関するファイル操作情報に基づいて、ファイル重要度を算出する算出ステップと、
前記ファイル重要度に基づいて、前記他のノードとVPN接続を行うか否かを判定する接続ステップと、を実行する請求項5に記載のファイル管理方法。
【請求項7】
前記暗号化ステップにおいて、前記分割ファイル毎に複数の復号情報を格納する、請求項1に記載のファイル管理方法。
【請求項8】
前記第1ノードは、更にユーザの正当性を証明するデジタル認証と、ファイルのやり取りを行う為の物理キーが接続されているか否かを証明する物理キー認証と、VPN接続のプロファイル情報が設定されているか否かを証明するVPN認証に基づいて、ユーザの利用認証を行う認証ステップを実行する、請求項1に記載のファイル管理方法。
【請求項9】
P2P通信により、複数のノード間で情報を分散管理するファイル管理プログラムであって、
分散管理の対象となる対象ファイルをアップロードする第1ノードを、
前記対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する分割部と、
前記分割ファイルを暗号化処理した暗号化分割ファイルを生成する暗号化部と、
前記暗号化分割ファイル、及び復号の為の復号情報を他のノードに送信する送信部と、として機能させるファイル管理プログラム。
【請求項10】
P2P通信により、複数のノード間で情報を分散管理するファイル管理システムであって、
前記ファイル管理システムは、分散管理の対象となる対象ファイルをアップロードする第1ノードを備え、
前記第1ノードは、
前記対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する分割部と、
前記分割ファイルを暗号化処理した暗号化分割ファイルを生成する暗号化部と、
前記暗号化分割ファイル、及び復号の為の復号情報を他のノードに送信する送信部と、を有するファイル管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル管理方法、ファイル管理プログラム、及びファイル管理システムに関する。
【背景技術】
【0002】
従来から、ネットワークサービスを利用する場合、サービスを利用するコンピュータ(クライアント)と、サービスやデータを提供するコンピュータ(サーバ)とが、ネットワークを介して通信しながら動作するシステム、いわゆるクライアントサーバシステムが普及している。一方、このようなシステムの場合、サーバが停止した場合には、システム全体が利用できなくなったり、データがサーバに集中している為、サーバに不正アクセスされた場合には容易に情報が漏洩してしまうというセキュリティに問題があった。このような問題を解決する為に、地理的に分散した複数のコンピュータをP2P(Peer to Peer)ネットワークで接続し、データを保存するシステム、いわゆる分散ファイルシステムが用いられている。このようなシステムの一例が、例えば、非特許文献1に提案されている。
【0003】
例えば、非特許文献1には、ファイルを分散ファイルシステムに格納すると、ファイルはより小さなチャンクに分割され、暗号的にハッシュされ、コンテンツ識別子(CID)と呼ばれる一意のフィンガープリントが与えられ、このCIDは、その時点で存在するファイルの永続的な記録として機能し、他のノードがファイルを検索するとき、ファイルのCIDによって参照されるコンテンツを保存しているノードを尋ね、ファイルを表示またはダウンロードすると、コピーがキャッシュされることが開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「IPFS powers the Distributed Web」、[令和5年6月29日検索]、インターネット<https://ipfs.tech/>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、非特許文献1において提案される技術では、分割したデータを暗号化し、分散して格納するが、暗号化ファイルを復号する情報の管理をセキュアに行うことができないという問題があった。
【0006】
上記課題に鑑み、本発明は、大量・大容量のデータを保管することができ、且つよりセキュアにファイルの管理をすることができる新規な技術を提供することを解決すべき課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、P2P通信により、複数のノード間で情報を分散管理するファイル管理方法であって、分散管理の対象となる対象ファイルをアップロードする第1ノードが、前記対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する分割ステップと、前記分割ファイルを暗号化処理した暗号化分割ファイルを生成する暗号化ステップと、前記暗号化分割ファイル、及び復号の為の復号情報を他のノードに送信する送信ステップと、を実行する。
【0008】
このような構成とすることで、分散管理の対象となるファイルを分割し、且つ分割したファイルを暗号化して、よりセキュアにファイルを分散管理することができる。また、暗号化したファイルを復号する為の複合情報も他ノードに送信することで、複合情報のセキュリティも担保することができ、参加するノードが増加して保存できるデータ容量が増加しても高いセキュリティが確保できる。
【0009】
本発明の好ましい形態では、前記対象ファイルをダウンロードする第2ノードが、前記対象ファイルの指定を受け付けて、該対象ファイルに関連付けられる暗号化分割ファイル、及び前記暗号化分割ファイルの復号情報を取得する取得ステップと、該取得した復号情報に基づいて、該暗号化分割ファイルを復号する復号ステップと、を実行する。
【0010】
このような構成とすることで、分散管理されている暗号化された分割ファイル、及び復号情報を他ノードから取得して、暗号化分割ファイルから分割ファイルを取得することができる。これにより、P2P通信をするノードであれば誰でも暗号化分割ファイルを取得し、復号することができる。
【0011】
本発明の好ましい形態では、前記分割ステップにおいて、結合ステータスが付与された前記分割ファイルを生成し、前記取得ステップにおいて、復元する前記対象ファイルの指定を受け付けて、該指定された対象ファイルに紐づく前記暗号化分割ファイル、及び前記復号情報を取得し、前記第2ノードが、更に前記復号ステップの結果得られた前記分割ファイル、及び前記結合ステータスに基づいて該指定された対象ファイルを復元する復元ステップを実行する。
【0012】
このような構成とすることで、復元したい対象ファイルを指定して、該対象ファイルに関連付けられた暗号化分割ファイルを取得し、該暗号化分割ファイルから分割ファイルを復号し、該指定された対象ファイルを復元することができる。また、結合ステータスが付与された分割ファイルを生成することで、誤ったファイルが復元されないようにすることができる。
【0013】
本発明の好ましい形態では、前記送信ステップにおいて、共有グループを紐づけた前記暗号化分割ファイルを前記他のノードに送信し、前記対象ファイルをダウンロードする第2ノードが、更に前記共有グループ毎に、該送信された暗号化分割ファイルに対応する対象ファイル情報を表示処理する表示処理ステップを実行する。
【0014】
このような構成とすることで、対象ファイルを共有するグループである共有グループと暗号化分割ファイルを紐づけて、P2P通信を行うノード間で共有グループ毎に対象ファイルを管理することができる。
【0015】
本発明の好ましい形態では、前記第1ノードと前記他のノードは1のWAN内のノードであり、前記送信ステップにおいて、第1のLAN内の前記第1ノード、及び第2のLAN内の前記他のノードがVPN接続されている場合には、内部ネットワークに配置された他のノードに前記暗号化分割ファイルを送信し、前記第1ノード及び前記他のノードがVPN接続されていない場合には、外部ネットワークに配置された前記他のノードに前記暗号化分割ファイルを送信する。
【0016】
このような構成とすることで、VPNが接続されているか否かに応じて、暗号化分割ファイルを送信するノード先を変更することができる。
【0017】
本発明の好ましい形態では、前記第1ノードは、更に前記対象ファイルへ行った操作に関するファイル操作情報に基づいて、ファイル重要度を算出する算出ステップと、前記ファイル重要度に基づいて、前記他のノードとVPN接続を行うか否かを判定する接続ステップと、を実行する。
【0018】
このような構成とすることで、対象ファイルへ行った操作に関する情報に基づいて、ファイルの重要度を算出し、重要度に応じて、VPNを接続するか否かを判定することができる。これにより、対象ファイルの重要度に応じて常にVPN接続をする必要がなくなり、データ通信の頻度と電力消費を削減することができる。
【0019】
本発明の好ましい形態では、前記暗号化ステップにおいて、前記分割ファイル毎に前記複数の復号情報を格納する。
【0020】
このような構成とすることで、暗号化分割ファイルを復号する復号情報を複数生成し、よりセキュアに対象ファイルの共有をすることができる。
【0021】
本発明の好ましい形態では、前記第1ノードは、更にユーザの正当性を証明するデジタル認証と、ファイルのやり取りを行う為の物理キーが接続されているか否かを証明する物理キー認証と、VPN接続のプロファイル情報が設定されているか否かを証明するVPN認証に基づいて、ユーザの利用認証を行う認証ステップを実行する。
【0022】
このような構成とすることで、ユーザのアクセスを受け付ける為に、デジタル認証、物理キー認証、VPN認証を必要とすることで、よりセキュアな対象ファイルの共有を実現することができる。
【発明の効果】
【0023】
本発明は、大量・大容量のデータを保管することができ、且つよりセキュアにファイルの管理をすることができる新規な技術を提供する効果を奏する。
【図面の簡単な説明】
【0024】
【
図1】本発明の一実施形態におけるシステム構成図である。
【
図2】本発明の一実施形態におけるハードウェア構成図である。
【
図3】本発明の一実施形態における機能ブロック図である。
【
図4】本発明における一実施形態におけるファイル共有画面の一例である。
【
図5】本発明の一実施形態における対象ファイルを共有する処理フローチャートの一例である。
【
図6】本発明の別の実施形態におけるシステム構成図である。
【
図7】本発明の別の実施形態におけるアップロード処理のフローチャートの一例である。
【
図8】本発明の別の実施形態におけるダウンロード処理のフローチャートの一例である。
【発明を実施するための形態】
【0025】
(実施形態1)
以下、添付図面を参照して、更に詳細に説明する。図面には好ましい実施形態が示されている。しかし、多くの異なる形態で実施されることが可能であり、本明細書に記載される実施形態に限定されない。
【0026】
例えば、本実施形態ではファイル管理システムの構成、動作等について説明するが、同様の構成の方法、コンピュータプログラム等も、同様の作用効果を奏することができる。また、プログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、例えばコンピュータにプログラムをインストールすることができ、これによりファイル管理システムを構成することができる。ここで、プログラムを記憶した記録媒体は、例えばCD-ROM等の非一過性の記録媒体であっても良い。
【0027】
本実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらハードウェア資源によって具体的に実現され得るソフトウェアの情報処理とを合わせたものも含み得る。本実施形態において「情報」とは、例えば電圧・電流を表す信号値の物理的な値、0又は1で構成される2進数のビット集合体としての信号値の高低、又は量子的な重ね合わせ(いわゆる量子ビット)によって表され、広義の回路上で通信・演算が実行され得る。広義の回路とは、回路(Circuit)、回路類(Circuitry)、プロセッサ(Processor)及びメモリ(Memory)等を適宜組み合わせることによって実現される回路である。即ち、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等を含むものである。
【0028】
本発明は、P2P通信により、複数のノード間で情報を分散管理するシステム(いわゆる、分散ファイルシステム)に関する。ここで、分散ファイルシステムとは、複数のノードで形成されるネットワーク上において、あるノードが情報をアップロードすると、該ノードに隣接するノードに次々に該情報のキャッシュファイルを保存し、キャッシュファイルを複数のノード間で分散して管理するシステムのことである。
【0029】
本発明においては、分散管理の対象となる情報(以下、対象ファイル)を分割し暗号化した暗号化分割ファイルを分散ファイルシステムにアップロードすることで、対象ファイルを分散管理する。本実施形態(実施形態1)では、同一のLAN(Local Area Network)に配置される複数のノード間で、P2P通信により情報を分散管理する場合について説明する。
【0030】
<1.実施形態1のシステム構成>
図1は、一実施形態のシステムの構成を示すブロック図である。
図1に示すように、ファイル管理システム0は、複数のノード1を備え、これらがLANを介してP2P通信可能に構成される。
【0031】
ノード1として、汎用のサーバ向けのコンピュータやパーソナルコンピュータやスマートフォン、タブレット端末、ウェアラブルデバイス等を利用することが可能である。本実施形態においては、ファイルを検索する為の索引となる後述のファイル情報を集約するノード1を親ノード、該ファイル情報に基づいて暗号化分割ファイルを検索するノード1を子ノードと呼ぶ。
【0032】
本実施形態におけるLANは、有線又は無線であるが、有線ケーブルや無線LANの規格に制限はなく、更に、LANの接続形式、アクセス制御方式、規模にも制限はない。
【0033】
<1.1.ハードウェア構成>
図2は、ハードウェア構成図である。
図2に示すように、ノード1は、処理部11、記憶部12、通信部13、入力部14、及び出力部15を備える。
【0034】
処理部11は、命令セットを実行可能なCPUなどのプロセッサを有し、本発明に係るファイル管理プログラム、OSやその他のアプリケーションを実行することで、ファイル管理装置(ノード)の動作処理全体を制御する。
記憶部12は、命令セットを記憶可能なRAMなどの揮発性メモリ、OS及びファイル管理プログラムなどを記録可能なHDDやSSDなどの不揮発性の記録媒体を有する。
通信部13は、ネットワークに接続する為の通信インタフェース装置を有し、LANとの通信制御を実行して、情報の入出力を行う。
入力部94は、キーボードやタッチパネルなどの入力処理が可能な入力デバイスを有する。
出力部95は、ディスプレイなどの表示処理が可能な表示デバイスを有する。
【0035】
<1.2.ノード1の機能構成>
図3は、実施形態1におけるノード1の機能ブロック図である。
図3に示すように、ノード1は、分割部101、暗号化部102、送信部103、取得部104、復号部105、復元部106、認証部107、表示処理部108、及びデータベース2を備える。これは、ソフトウェア(記憶部12に記憶されている)による情報処理がハードウェア(処理部11)によって具体的に実現されたものである。
【0036】
<1.3.データベース2>
データベース2は、ユーザ情報、共有グループ情報、及びファイル情報を格納する。
【0037】
<1.3.1.ユーザ情報>
ユーザ情報は、分散ファイルシステムを利用するユーザに関する情報である。ユーザ情報は、ユーザを一意に特定するユーザID、ユーザ名、メールアドレス、パスワード、ユーザが所属する組織のID(組織ID)等を含み、共有グループ情報と紐づけて格納される。
【0038】
<1.3.2.共有グループ情報>
共有グループ情報は、ユーザに共有される対象ファイルのグループを示す情報である。本実施形態において共有グループは、組織が取り組むプロジェクト毎に作成される情報であって、共有グループを一意に特定する共有グループID、共有グループ名を含み、組織IDと紐づけられて格納される。
【0039】
<1.3.3.ファイル情報>
ファイル情報は、分散管理するファイルに関する情報であって、対象ファイルのメタ情報に関する対象ファイル情報、及び分割ファイルのメタ情報に関する分割ファイル情報を含む。
対象ファイル情報は、対象ファイルのハッシュ値、対象ファイル名、対象ファイルサイズ、対象ファイルを配置するフォルダのID、対象ファイルをアップロードしたユーザのID、及びアップロードした日時を含む。
分割ファイル情報は、分割ファイルのハッシュ値、分割ファイル名、分割ファイルの結合ステータス、対象ファイルを配置するフォルダのID、暗号化分割ファイルのハッシュ値、及び復号情報を含む。本実施形態において復号情報は、1又は複数の秘密鍵であるが、公開鍵やパスワード等であってもよい。
【0040】
本実施形態では、親ノードは少なくともデータベース2を備える。親ノードのデータベース2には、子ノードから送信された対象ファイル情報及び分割ファイル情報が少なくとも格納される。なお、親ノードが、分割部101、暗号化部102、送信部103、取得部104、復号部105、復元部106、認証部107、表示処理部108を備えていてもよい。また、子ノードのデータベース2には、暗号化分割ファイルが格納される。親ノードのデータベース2にも暗号化分割ファイルが分散格納されてもよい。なお、ノード1に親ノードが含まれなくてもよく、その場合には、ファイル情報は、ノード1(子ノード)に分散格納される。
【0041】
また、本実施形態では、ファイル情報に加えて、ユーザ情報及び共有グループ情報が、親ノードのデータベース2に格納される。一方、インターネット上の外部の認証サーバや子ノードのデータベースに格納されてもよい。
【0042】
<1.4.分割部101>
分割部101は、対象ファイルを分割し、該対象ファイルに関連付けられる複数の分割ファイルを作成する。分割部101は、対象ファイルを分割し、結合ステータスが付与された分割ファイルを作成する。ここで、結合ステータスとは、分割ファイルから対象ファイルを復元する為に必要な情報である。
【0043】
<1.5.暗号化部102>
暗号化部102は、分割ファイルに暗号化処理を実行し、暗号化分割ファイルを生成する。暗号化部102は、分割ファイル毎に1又は複数の鍵情報を生成して、分割ファイルに対して1又は複数回の暗号化処理を実行することで暗号化分割ファイルを生成する。そして暗号化部102は、暗号化分割ファイル毎に鍵情報に対応する1又は複数の復号情報を格納する。なお、本実施形態においては、分割ファイル毎に異なる鍵情報を用いるが、全ての分割ファイルに同じ鍵情報を用いてもよい。ここで、鍵情報とは、分割ファイルを暗号化する為の情報であって、共通鍵、秘密鍵、及び公開鍵を含む情報である。
【0044】
<1.6.送信部103>
送信部103は、他のノード1に暗号化分割ファイル、及び復号情報を送信する。送信部103は、子ノードに暗号化分割ファイルを、親ノードに復号情報を送信する。また、送信部103は、共有グループを紐づけた暗号化分割ファイルを子ノードに送信する。
【0045】
<1.7.取得部104>
取得部104は、暗号化分割ファイル、及び鍵情報を取得する。取得部104は、対象ファイルの指定を受け付けて、該対象ファイルに関連付けられる暗号化分割ファイル、及び暗号化分割ファイルの鍵情報を取得する。
【0046】
<1.8.復号部105>
復号部105は、復号情報に基づいて、暗号化分割ファイルを復号する。復号部105は、暗号化分割ファイル毎の復号情報に基づいて、暗号化分割ファイルを復号し、分割ファイルを取得する。
【0047】
<1.9.復元部106>
復元部106は、分割ファイルに基づいて対象ファイルを復元する。復元部106は、復号部105によって得られた分割ファイル、及び分割ファイルに付与された結合ステータスに基づいて、対象ファイルを復元する。
【0048】
<1.10.認証部107>
認証部107は、ユーザの利用認証を実行する。本実施形態において認証部107は、ユーザの正当性を証明するデジタル認証と、分散ファイルシステムのノード1を特定する物理キー認証と、VPN接続のプロファイル情報が設定されているか否かを証明するVPN認証に基づいて、ユーザの利用認証を実行する。ここで本実施形態においては、ファイルのやり取りを行う為の物理キーがノード1に接続されており、認証部107は、デジタル認証として、分散ファイルシステム上のデータにアクセスする為のウォレットを一意に特定するウォレットIDを物理キーから受け付けて、物理キー認証として、ローカルIPアドレス及びノード1毎に生成されるノード1を一意に識別するノードID(いわゆる、Peer ID)を物理キーから受け付け、VPN認証として、物理キーからVPN接続のプロファイル情報を受け付け、ユーザからメールアドレス及びパスワードを受け付ける。
<1.11.表示処理部108>
表示処理部108は、後述のファイル共有画面上に、対象ファイルに関する対象ファイル情報を表示処理する。表示処理部108は、共有グループ毎に、暗号化分割ファイルに対応する対象ファイルの情報を表示処理し、表示処理結果を第2ノードに送信する。
【0049】
なお、本実施形態において表示処理は、表示処理部108が必要な情報を生成する処理を実行し、生成した情報を出力部95に送信することで、出力部95が該生成された情報を表示する処理を指す。
【0050】
<2.ファイル共有画面の表示例>
図4は、アクセス認証に成功した場合にノード1に表示される、対象ファイルを共有する為のファイル共有画面の表示例である。ファイル共有画面W1は、組織表示部ORD、共有グループ表示部SGD、及び対象ファイル表示部EFDを含む。
【0051】
組織表示部ORDは、アクセス認証時に入力されたメールアドレス及びパスワードに対応するユーザに紐づく組織が変更可能に表示される。共有グループ表示部SGDは、組織表示部ORDに表示される組織に紐づく共有グループが指定可能に表示される。なお、本実施形態においては、共有グループ毎にアクセス可能なユーザが紐づけられているが、組織に所属する全てのユーザがアクセス可能であってもよい。
【0052】
対象ファイル表示部EFDは、共有グループ表示部SGDにおいて指定された共有グループに紐づく対象ファイルの情報のうち、対象ファイル名、対象ファイルをアップロードしたユーザ名、アップロードした日時、及び対象ファイルのハッシュ値が表示される。なお、本実施形態においては、共有グループを指定することで、指定された共有グループに紐づく図示しない共有フォルダが表示され、共有フォルダを指定することで対象ファイル情報が表示される。一方、共有グループを指定することで、該共有グループに紐づく対象ファイル情報が表示されてもよい。
【0053】
そして、ユーザが、ファイル共有画面W1の「アップロード」ボタンを選択入力することで、対象ファイルのアップロードが実行され、対象ファイル表示部EFDに表示される対象ファイル情報を指定し、ダウンロードに係る入力をすることで、ダウンロードが実行される。
【0054】
<3.フローチャート>
以下、
図5を参照して、本実施形態のファイル管理方法について説明する。
図5は、LAN内において対象ファイルを共有する処理を示すフローチャートである。なお、以下ではアクセス認証が成功した後のフローチャートについて説明する。
【0055】
<3.1.アップロード処理のフローチャート>
図5(a)は、第1ノードが対象ファイルをアップロードするまでの処理フローチャートを示す。
【0056】
<3.1.1.共有グループ・共有フォルダの指定受付>
まずステップS101(以下、「ステップSXXX」を単に「SXXX」とする)において、表示処理部108は、アクセス認証時に受け付けたメールアドレス及びパスワードに対応するユーザが所属する組織毎に共有グループを表示処理する。そしてS102において、表示処理部108は、共有グループの指定を受け付けて、該共有グループに紐づく共有フォルダを表示処理する。
【0057】
<3.1.2.分割ファイルの作成>
次いで、S103において、分割部101は、アップロードする対象ファイルの指定を受け付けて、該対象ファイルを分割し、分割ファイルを作成する。本実施形態において分割部101は、各ノード1に格納される対象ファイルの指定を受け付けることで、該対象ファイルを分割し、該対象ファイルに関連付けられる分割ファイルを作成する。
【0058】
<3.1.3.分割ファイルの暗号化>
次いで、S104において、暗号化部102は、S103において作成された分割ファイルに暗号化処理を実行し、暗号化分割ファイルを生成する。本実施形態において暗号化部102は、分割ファイル毎に暗号化処理を実行し、複数の暗号化分割ファイルを生成する。そして暗号化部102は、復号情報として、暗号化分割ファイル毎に複数の秘密鍵を生成する。
【0059】
<3.1.4.暗号化分割ファイルのアップロード>
S105において、送信部103は、通知を行う宛先の指定を受け付ける。本実施形態においては、アップロードする対象ファイルの指定を受け付けると、LANを介して通信可能なノード1が表示され、送信部103は、該ノード1の指定を受け付けて、通知を行う宛先の指定を受け付ける。そして、S106において、送信部103は、S105において指定された宛先に送るメッセージの入力を受け付ける。
【0060】
次いで、S107において、送信部103は、暗号化分割ファイル、対象ファイル情報及び分割ファイル情報を他のノードに送信する。本実施形態においては、第1ノードの送信部103は、S101において指定された共有グループを紐づけた複数の暗号化分割ファイルを他の子ノードに送信する。そして、第1ノードから暗号化分割ファイルを受信した子ノードの送信部103は、該暗号化分割ファイルから得られる暗号化分割ファイル毎のハッシュ値を第1ノードに送信する。そして更に、暗号化分割ファイル毎のハッシュ値を受信した第1ノードの送信部103は、S101において指定された対象ファイルに基づいて生成される対象ファイル情報と、該対象ファイルに関連づけられる分割ファイルに基づいて生成され、受信した暗号化分割ファイルのハッシュ値を含む分割ファイル情報とを親ノードに送信する。そして、親ノードは、受信した対象ファイル情報、及び分割ファイル毎の分割ファイル情報を格納する。
【0061】
なお、第1ノードの送信部103が、暗号化分割ファイル、対象ファイル情報及び分割ファイル情報を他のノードに送信する際に、全ての他の子ノードに送信できない状態の場合(例えば、全ての子ノードの電源が入っていない場合)には、第1ノードに一時的に暗号化分割ファイル、対象ファイル情報及び分割ファイル情報が格納され、他の子ノードに電源が入った場合に、一時的に格納された情報が送信される。
【0062】
<3.1.5.対象ファイル情報の表示処理>
そして、S108において表示処理部108は、対象ファイル情報を表示処理する。本実施形態において表示処理部108は、S107において送信された暗号化分割ファイルに対応する対象ファイルの情報を表示処理し、ファイル共有画面W1において共有グループ表示部SGD毎に表示させる。
【0063】
以上、S101~S108によって、対象ファイルが分散ファイルシステムに格納され、セキュアに対象ファイルを管理することができる。また、LANを介して通信可能に接続されるノード1は、以下のS201~S205を実行することで、該対象ファイルをダウンロードすることができる。
【0064】
<3.2.ダウンロード処理のフローチャート>
図5(b)は、第2ノードが対象ファイルをダウンロードするまでの処理フローチャートを示す。
【0065】
<3.2.1.ダウンロードする対象ファイルの指定受付>
まずS201において、表示処理部108は、ユーザが所属する組織に紐づく対象ファイル情報の一覧を表示処理し、取得部104は、復元する対象ファイルの指定を受け付ける。そして、S202において取得部104は、該指定された対象ファイルに紐づく暗号化分割ファイル、及び復号情報を取得する。本実施形態において取得部104は、対象ファイル表示部EFDに表示された対象ファイルの情報の指定を受け付けることで、該指定された対象ファイルに対応する対象ファイル情報のうち、対象ファイルID、対象ファイル名、対象ファイルのハッシュ値、アップロードしたユーザID、及びアップロードした日時と、該指定された対象ファイルに対応する分割ファイル情報の全てのデータを親ノードから取得する。そして、取得部104は、該分割ファイル情報に含まれる暗号化分割ファイルのハッシュ値に基づいて、子ノードから暗号化分割ファイルを取得する。
【0066】
<3.2.2.暗号化分割ファイルの復号化>
次いでS203において、復号部105は、S202において取得された復号情報に基づいて、暗号化分割ファイルを復号する。本実施形態において復号部105は、S202において取得された復号情報の複数の秘密鍵を用いて、秘密鍵から公開鍵を生成することで、暗号化分割ファイルを復号する。
【0067】
<3.2.3.対象ファイルの復元・ダウンロード>
S204において、復元部106は、S203における復号の結果得られる分割ファイルを結合することで、対象ファイルを復元する。本実施形態において復元部106は、分割ファイルに付与された結合ステータスに基づいて、S201において指定された対象ファイルを復元する。そして、S205において、図示しない登録部が、S204において復元された対象ファイルのハッシュ値と、S202において取得された対象ファイル情報の対象ファイルのハッシュ値が一致した場合に、復元された対象ファイルを第2ノードのデータベース2に登録する。
【0068】
以上のように、実施形態1のファイル管理システムによれば、同一のLAN内に配置されたノード間で、分割し且つ暗号化した対象ファイルを分散管理することで、セキュアに情報の共有をすることができる。
【0069】
(実施形態2)
次いで、実施形態2では、複数のLANがオープンネットワークを介して接続されたWAN(Wide Area Network)に配置された複数のノード間で、P2P通信により情報を分散管理する場合について説明する。
【0070】
実施形態1では、同一のLANを介して通信を行うことで、対象ファイルをアップロード及びダウンロードを行った。一方、本実施形態では、異なるLAN内に配置されたノード1同士で、ファイルのアップロード及びダウンロードする場合には、オープンネットワーク又はVPNを介して通信を行う。なお、以下の説明では、本実施形態に係るシステムが、各機能構成を機能させ、実施形態1と共通する部分については省略する。
【0071】
<4.実施形態2のシステム構成>
図6は、本実施形態におけるファイル管理システムの構成を示すブロック図である。
図6に示すように、ファイル管理システムは、P2P通信を行う複数のノード1が配置された複数のLANによって構成され、各LANがオープンネットワークを介して通信可能に構成される。
【0072】
本実施形態においては、第1のLANに配置されたノード1は、第1のLANに配置されたノード1(内部ノード)とLANを介して、外部の分散ファイルシステムのノード(外部ノード)とオープンネットワークを介して通信可能に構成される。また、第1のLANに配置されたノード1は、外部の分散ファイルシステムのうち、他のLAN(第2のLAN)に配置されたノード1(プライベート外部ノード)とはVPN接続を介して、パブリックネットワークに配置されたノード1(パブリック外部ノード)とはオープンネットワークを介して通信可能に構成される。なお本実施形態においては、VPN装置を介してVPN接続を行い、LAN同士の通信を行うが、VPN接続を行わずオープンネットワークを介して行ってもよい。
【0073】
また、本実施形態におけるWANは、VPN接続によって実現するが、WANの種類に制限はなく、デジタル専用線、広域イーサネット等であってもよく、更に、WANの規模にも制限はない。
【0074】
<4.1.ノード1の機能構成>
実施形態2におけるノード1は、分割部101、暗号化部102、送信部103、取得部104、復号部105、復元部106、認証部107、表示処理部108、及びデータベース2に加えて、算出部109及び接続部110を更に備える。
【0075】
<4.2.実施形態2における送信部103>
送信部103は、VPN又はオープンネットワークを介して、第1のLAN内の第1ノードから、プライベート外部ノードに対して、少なくとも暗号化分割ファイルを送信する。本実施形態において送信部103は、第1のLAN内の第1ノード、及び外部ノードがVPN接続されている場合には、プライベート内部ノードに暗号化分割ファイルを送信し、第1ノード及び外部ノードがVPN接続されていない場合には、パブリック外部ノードに暗号化分割ファイル、及び復号情報を送信する。
【0076】
<4.3.算出部109>
算出部109は、異なるLANに配置されたノード1同士がVPN接続を行うかどうかの指標となるファイル重要度を算出する。算出部109は、対象ファイルへ行った操作に関するファイル操作情報に基づいて、ファイル重要度を算出する。
【0077】
<4.4.接続部110>
接続部110は、算出部109が算出した重要度に基づいて、外部ノードとVPN接続を行うか否かを判定し、VPN接続を行う。接続部110は、ファイル重要度が所定の閾値以上である場合に、VPN接続を行う。
【0078】
<5.フローチャート>
以下、
図7、8を参照して、本実施形態のファイル管理方法について説明する。
【0079】
<5.1.アップロード処理のフローチャート>
図7は、第1のLAN内に配置される第1ノードがプライベート外部ノードに対象ファイルをアップロードするまでの処理を示すフローチャートである。なお、S301~S307までの処理は、実施形態1における暗号化分割ファイルをアップロードするまでの処理(S101~107)と同様の為、省略する。
【0080】
<5.1.1.ファイル重要度の算出>
S308において算出部109は、ファイル操作情報に基づいてファイル重要度を算出する。本実施形態において算出部109は、ファイルへ行った操作に関してファイルが重要であるか否かを示す操作指標毎に、所定の重みが設定されており、算出部109は、操作指標に対応する操作がされているか否かに応じて該所定の重みを足し上げることで、ファイル重要度を算出する。
【0081】
具体的には、例えば、操作指標として「アップロード時にメッセージが入力されているか否か」、「ファイル名やファイルにつけられたタグとメッセージの関連度」、「ファイルに紐づけて登録したタグの内容」、及び「外部システムからファイルを取得したか否か」等を含む。そして、算出部109は、これらの操作指標毎に所定の重みが設定されており、該当する操作がされている場合には「1」を、該当する操作がされていない場合には「0」を重みに乗算して足し上げることで、合計をファイル重要度として算出する。
【0082】
より好ましい形態では、算出部109は、重みを足し上げて得られた数値を操作指標の数で除算し、除算の結果得られる商と所定の補正項を足し上げた数値をファイル重要度として算出する。また、ファイル重要度が同じ数値になった場合、算出部109は、相手先に対して送ったパケットのレイテンシーを取得し、予めユーザが設定したレイテンシー許容度を取得したレイテンシーで除算することで得られる数値を通信優先度として算出する。
【0083】
<5.1.2.VPNの接続処理>
S309において接続部110は、S308において算出されたファイル重要度に基づいて、VPN接続をするか否かを判定する。そして、ファイル重要度が予めユーザが設定した閾値を超える場合(S309でYES)に、接続部110は、第1のLANの第1ノードと、外部ノードとのVPNを接続するものと判定する。そして、S310において送信部103は、VPNを介してプライベート外部ノードに暗号化分割ファイル、及び復号情報を送信する。なお、ファイル重要度が同じ通信が同時に行われた場合には、接続部110は、算出部109によって算出される通信優先度に基づいて、VPNの接続を行うか否かを判定する。
【0084】
一方、ファイル重要度が予めユーザが設定した閾値を超えない場合(S309でNO)には、接続部110は、第1のLANの第1ノードと、外部ノードとのVPNを接続しないものと判定する。そして、S311において送信部103は、オープンネットワークを介してパブリック外部ノードに暗号化分割ファイル、及び復号情報を送信する。
【0085】
そして、S312において、暗号化分割ファイル、及び復号情報が送信されたネットワーク内に配置されたノード1のファイル共有画面W1において、該暗号化分割ファイルに関連付けられる対象ファイルの情報が共有グループ表示部SGD毎に表示される。
【0086】
以上、S301~S312によって、同一のWAN内又はオープンネットワーク内の分散ファイルシステムに対象ファイルを格納することで、対象ファイルを分散管理することができる。また、WANを介して通信可能に接続されるノード1は、以下のS401~S405を実行することで、該対象ファイルをダウンロードすることができる。
【0087】
<5.2.ダウンロード処理のフローチャート>
図7は、第1のLAN内に配置される第2ノードがプライベート外部ノードに格納された対象ファイルをダウンロードするまでの処理を示すフローチャートである。
【0088】
<5.2.1.ダウンロードする対象ファイルの指定受付>
まずS401において、取得部104は、復元する対象ファイルの指定を受け付ける。
【0089】
<5.2.2.ファイル重要度の算出>
そしてS402において、算出部109は、ファイル操作情報に基づいてファイル重要度を算出する。なお、ファイル重要度の算出方法は、ダウンロード処理の場合、操作指標の具体例としては「ファイルを開いた回数」及び「ファイルがアップロードされてからの期間」等を含み、それぞれ該当する操作がされている場合には「ファイルを開いた回数」、「ファイルをアップロードしてからの日数」を重みに乗算して足し上げることで、合計をファイル重要度として算出する。本実施形態においては、ファイルを開いた回数は、親ノードに格納されるが、親ノードが利用できない場合には、子ノードに一時的に格納される。
【0090】
<5.2.3.VPNの接続処理>
S403において接続部110は、S402において算出されたファイル重要度に基づいて、VPN接続をするか否かを判定する。そして、ファイル重要度が予めユーザが設定した閾値を超える場合(S403でYES)に、接続部110は、第1のLANの第1ノードと、外部ノードとのVPNを接続するものと判定する。そして、S404において取得部104は、VPNを介してプライベート内部ノードに格納された、S401において指定された対象ファイルに関連づけられる暗号化分割ファイル、及び復号情報を取得する。
【0091】
一方、ファイル重要度が予めユーザが設定した閾値を超えない場合(S403でNO)には、接続部110は、第1のLANの第1ノードと、外部ノードとのVPNを接続しないものと判定する。そして、S405において取得部104は、オープンネットワークを介してパブリック外部ノードに格納された、S401において指定された対象ファイルに関連づけられる暗号化分割ファイル、及び復号情報を取得する。
【0092】
<5.2.4.対象ファイルの復元とダウンロード>
そして、S406~S408において、対象ファイルをダウンロードするまでの処理を実行するが、実施形態1における対象ファイルをダウンロードするまでの処理(S203~S205)と同様の為、省略する。
【0093】
なお、ファイル操作情報の更新がされることによって(「開いた回数」等が更新されることによって)、アップロード時とダウンロード時でファイル重要度が変わっている場合がある。以下、アップロード時にはファイル重要度が閾値よりも小さくパブリック外部ノードに格納されたファイルであって、ファイル操作情報が更新されファイル重要度が閾値を超えたファイルをダウンロードする場合について説明する。
【0094】
まず、接続部110は、ファイル重要度が閾値を超えているものと判定し、VPN接続を行う。そして、取得部104は、VPN接続を介してS401において指定された対象ファイルに関連づけられる暗号化分割ファイル、及び復号情報を取得する問い合わせをプライベート外部ノードの親ノードに送信する。一方、該ファイルはパブリック外部ノードに格納されている為、取得部104は、プライベート外部ノードの親ノードからパブリック外部ノードの親ノードに問い合わせを行う要求を受け付けて、オープンネットワークを介してパブリック外部ノードの親ノードに該暗号化分割ファイル、及び復号情報を取得する問い合わせをする。そして、取得部104は、該暗号化分割ファイル、及び復号情報を取得する。なお、対象ファイルがアップロードされる際に、どの外部ノードに格納されているかを示すフラグが対象ファイル毎に対応付いており、取得部104は、該フラグに基づいて、暗号化分割ファイル及び復号情報を取得してもよい。
【0095】
以上のように、実施形態2のファイル管理システムによれば、同一のWAN内又はオープンネットワークの分散ファイルシステムに、分割し且つ暗号化した対象ファイルを分散管理することで、セキュアに情報の共有をすることができる。また、ファイルの重要度に基づいて、VPN接続を行うか否かを判定することで、常にVPN接続を張る必要がなくなり、電力消費を削減することができる。
【0096】
なお上記では、第1のLANに配置されたノード1がプライベート外部ノードから対象ファイルをダウンロードする場合について説明したが、第1のLANに配置されたノード1がパブリック外部ノードから対象ファイルをダウンロードする場合には、S403~S404がなく、直接オープンネットワークを介して対象ファイルに関連付けられる暗号化分割ファイル、及び復号情報が取得される。
【0097】
また、本実施形態においては、ノード1に格納された対象ファイルを指定して、分散ファイルシステムにアップロードすることで、対象ファイルの分散管理を行うが、他のノード1(例えば、データセンター)に格納された対象ファイルを指定することで、対象ファイルを分散管理してもよい。この場合、上記アップロード処理(S101~108又はS308~S312)が実行され、データセンターに格納される対象ファイルに基づいて生成される暗号化分割ファイルの全部が分散ファイルシステムに格納される。
【0098】
なお、データセンターに格納される対象ファイルに基づいて生成される暗号化分割ファイルは一部のみが分散ファイルシステムに格納されてもよい。この場合、親ノードに格納された分割ファイル情報に基づいて、分散ファイルシステムに格納された暗号化分割ファイルを取得し、該暗号化分割ファイルと親ノードに格納された対象ファイル情報に基づいて、暗号化分割ファイルの残りのファイルをデータセンターから取得することで、対象ファイルを復元する。
【符号の説明】
【0099】
0 :ファイル管理システム
1 :ノード
2 :データベース
11 :処理部
12 :記憶部
13 :通信部
14 :入力部
15 :出力部
101 :分割部
102 :暗号化部
103 :送信部
104 :取得部
105 :復号部
106 :復元部
107 :認証部
108 :表示処理部
109 :算出部
110 :接続部
W1 :ファイル共有画面
ORD :組織表示部
SGD :共有グループ表示部
EFD :対象ファイル表示部