(57)【要約】【課題】企業内で作成されるデータが企業の内外から漏えいする可能性をより低減できるようにする。【解決手段】端末１０においてデータを作成している際に揮発性メモリ１１に格納された編集中のデータをストレージコントローラ２０に随時供給するデータ供給部１２と、当該ストレージコントローラ２０において、端末１０から供給された編集中のデータを秘密分散化して複数のストレージ装置に保存させる秘密分散処理部２２とを備え、端末１０において作成されるデータを、揮発性メモリ１１からストレージコントローラ２０に随時供給して秘密分散化し、外部の複数のストレージ装置に分散して保存することにより、一部の分割データが漏えいしても元の情報そのものが漏えいすることがないようにするとともに、端末１０の電源をオフとすればデータが揮発性メモリ１１から消去されて端末１０内にはデータが残らないようにする。【選択図】図２
2016103048.tif 000002
【特許請求の範囲】
【請求項１】
端末と、ストレージコントローラと、複数のストレージ装置とにより構成され、上記端末で作成されたデータを秘密分散化して上記複数のストレージ装置に保存する秘密分散システムであって、
上記端末は、内部の揮発性メモリに格納された編集中のデータを上記ストレージコントローラに供給するデータ供給部を備え、
上記ストレージコントローラは、上記端末から供給された上記編集中のデータを複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、上記複数のストレージ装置に分散して保存させる秘密分散処理部を備えていることを特徴とする秘密分散システム。
【請求項２】
上記端末の上記データ供給部は、上記揮発性メモリに格納された編集中のデータを所定サイズのブロック単位で上記ストレージコントローラに供給し、
上記ストレージコントローラの上記秘密分散処理部は、上記ブロック単位で上記端末から供給された個々のブロックデータを更に複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、上記複数のストレージ装置に分散して保存させることを特徴とする請求項１に記載の秘密分散システム。
【請求項３】
上記端末の上記データ供給部は、上記揮発性メモリに格納された上記編集中のデータを構成する複数のブロックデータのうち、実際に編集が行われているブロックデータのみを上記ストレージコントローラに供給することを特徴とする請求項２に記載の秘密分散システム。
【請求項４】
上記端末の上記データ供給部は、ユーザによりデータ保存指示の操作が行われたときに、上記揮発性メモリに格納されている上記編集中のデータを、上記端末の内部にある不揮発性の記憶装置には保存することなく上記ストレージコントローラに供給することを特徴とする請求項１〜３の何れか１項に記載の秘密分散システム。
【請求項５】
端末の内部の揮発性メモリに格納された編集中のデータを取得するデータ取得部と、
上記データ取得部により上記端末から取得した上記編集中のデータを複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、複数のストレージ装置に分散して保存させる秘密分散処理部とを備えたことを特徴とする秘密分散機能付きストレージコントローラ。
【請求項６】
上記データ取得部は、上記端末の上記揮発性メモリに格納された編集中のデータを所定サイズのブロック単位で取得し、
上記秘密分散処理部は、上記ブロック単位で上記端末から取得された個々のブロックデータを更に複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、上記複数のストレージ装置に分散して保存させることを特徴とする請求項５に記載の秘密分散機能付きストレージコントローラ。
【請求項７】
上記データ取得部は、上記揮発性メモリに格納された上記編集中のデータを構成する複数のブロックデータのうち、実際に編集が行われているブロックデータのみを取得することを特徴とする請求項６に記載の秘密分散機能付きストレージコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密分散システムおよび秘密分散機能付きストレージコントローラに関し、特に、データを複数に分割し、個々の分割データをそれぞれ暗号化した上で複数のストレージ装置に分散して保存するようにしたシステムに用いて好適なものである。
【背景技術】
【０００２】
従来、企業内のデータを内部で保有することなく、外部に預けて保存するクラウドサービスが広く提供されている。この種のクラウドサービスは、共有ファイルサーバとして利用したり、重要なデータのバックアップとして利用したりすることが可能であり、導入に踏み切る企業が増えている。その反面、クラウドはセキュリティの観点で不安があり、情報漏えいのリスクなどの懸念から、導入に躊躇する企業も少なくない。
【０００３】
そこで、秘密分散技術を活用することにより、データをセキュアに保存するシステムも提供されている。秘密分散は、１つのファイルを複数に分割して断片化し、個々の分割（断片）データをそれぞれ暗号化した上で、複数のデータセンタに分散して保存する技術である。データセンタに預けられた分割データは、秘密分散技術により無意味化されているので、万が一、一部の分割データが漏えいしてしまったとしても、元ファイルの情報そのものが漏えいすることはない。
【０００４】
なお、１つのファイルを複数に分割して保存することに関する技術は、特許出願を通じても開示されている（例えば、特許文献１〜３参照）。ここで、特許文献１には、ストレージ装置内においてデータの分散格納処理を行う技術が開示されている。また、特許文献２，３には、データの分散格納処理をブロック単位で行う技術が開示されている。
【０００５】
すなわち、特許文献１に記載のストレージ装置では、ホストコンピュータから与えられた書き込み対象のデータを所定単位で複数のデータに分割するとともに、これら分割データに基づいて冗長データ（パリティ）を生成し、これらの分割データおよびパリティを、それぞれ同じパリティグループを構成する複数のハードディスク装置に分散して格納するようにしている。
【０００６】
また、特許文献２に記載の分散格納装置では、ネットワークを介して接続された２以上の分散されたサーバにオリジナルデータを分散格納する際に、データを所定ビット毎に読み出して、読み出されたデータを所定の論理で２以上の分割データに分割し、分割データ毎に２以上のサーバに転送するようにしている。このように、それぞれストレージを持った複数のサーバに細かい単位で分割してデータを保存することにより、各サーバ内のストレージを参照しても単体では解読不可能なシステムを実現している。
【０００７】
また、特許文献３に記載のデータ処理装置では、データを複数のストレージに分割して格納する際に、平文データに第１暗号鍵に基づくブロック暗号化を施すことにより、暗号化ブロックを単位とする複数の暗号化ブロックへ暗号化する。さらに、複数の暗号化ブロックを複数の分割暗号化ブロックへとそれぞれ分割し、複数の分割暗号化ブロックをネットワークを介して複数のストレージに分散して格納させるようにしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２０１７６２号公報
【特許文献２】特開２００９−１４０５１８号公報
【特許文献３】特開２００６−４８１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の技術は何れも、端末にファイルとして保存されたデータを対象として秘密分散処理を行うようになっている。すなわち、企業内の端末で作成されるデータをいったんファイルとして保存した後、それを秘密分散して外部のサーバに格納する仕組みである。そのため、作成されたデータがオリジナルの状態で企業内にファイルとして保存された状態となっている。よって、外部に預けるデータを秘密分散化したとしても、企業の内部から情報が漏えいする可能性があり、セキュリティの点で脆弱性が残ってしまうという問題があった。
【００１０】
本発明は、このような問題を解決するために成されたものであり、企業内で作成されるデータが企業の内外から漏えいする可能性をより低減できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために、本発明では、端末においてデータを作成している際に端末内部の揮発性メモリに格納された編集中のデータをストレージコントローラに供給し、当該ストレージコントローラにおいて、端末から供給された編集中のデータを秘密分散化して複数のストレージ装置に保存させるようにしている。
【発明の効果】
【００１２】
上記のように構成した本発明によれば、端末において作成されるデータは、揮発性メモリからストレージコントローラに随時供給されて秘密分散化され、外部の複数のストレージ装置に分割して保存される。ここで、複数のストレージ装置に保存される個々の分割データは、秘密分散により無意味化されているので、一部の分割データが漏えいしてしまったとしても、元の情報そのものが漏えいすることはない。また、端末において編集中のデータは、端末の電源をオフとすれば揮発性メモリから消去されて端末内には残らない。これにより、企業内の端末で作成されるデータが企業の内外から漏えいする可能性をより低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態による秘密分散システムの構成例を示す図である。
【図２】本実施形態による端末およびストレージコントローラの要部構成例を示すブロック図である。
【図３】本実施形態による秘密分散処理の概要を模式的に示す図である。
【図４】実際に編集が行われているブロックデータのみを秘密分散化する場合の処理の一例を模式的に示す図である。
【図５】本実施形態による秘密分散システムの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による秘密分散システムの構成例を示す図である。図１に示すように、本実施形態の秘密分散システムは、端末１０と、ストレージコントローラ２０と、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃ（以下、まとめてストレージ装置３０と記すことがある）とにより構成されている。
【００１５】
ここで、端末１０およびストレージコントローラ２０は、例えば企業内に設置される。一方、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃは、インターネット等の通信ネットワークを介して企業外に設定される。本実施形態の秘密分散システムでは、端末１０で作成されたデータをストレージコントローラ２０において秘密分散化し、これによって生成された分割データを複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分けて保存する。
【００１６】
従来の秘密分散システムは、データを作成する端末内に秘密分散機能を持たせるのが通常であった。これに対し、本実施形態の秘密分散システムは、ストレージコントローラ２０に秘密分散機能を持たせ、端末１０において編集中のデータをストレージコントローラ２０に随時出力することにより、データの編集中にリアルタイムに秘密分散化を行うことができるようにしている。すなわち、本実施形態では、ハードディスク等の不揮発性メモリにファイル保存されたデータではなく、ワークメモリとして使用される揮発性の内部メモリに格納されている編集中のデータをリアルタイムに秘密分散化することを可能としている。
【００１７】
図２は、本実施形態による秘密分散システムを構成する端末１０およびストレージコントローラ２０の要部構成例を示すブロック図である。図２に示すように、端末１０は、揮発性メモリ１１、データ供給部１２、保存操作受付部１３およびデータ編集部１４を備えている。また、ストレージコントローラ２０は、データ取得部２１および秘密分散処理部２２を備えている。
【００１８】
なお、端末１０のデータ供給部１２、保存操作受付部１３およびデータ編集部１４は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアにより構成する場合、データ供給部１２、保存操作受付部１３およびデータ編集部１４は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００１９】
また、ストレージコントローラ２０のデータ取得部２１および秘密分散処理部２２は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアにより構成する場合、データ取得部２１および秘密分散処理部２２は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２０】
データ編集部１４は、端末１０に対するユーザ操作に応じてデータの編集を行うものである。例えば、データ編集部１４は、所望のアプリケーションを起動して所望のファイルを開いた状態で、ユーザによって行われる操作に応じて、そのファイルのデータに対して種々の編集を行う。揮発性メモリ１１は、端末１０においてワークメモリとして使用されるものであり、データ編集部１４によって編集中のデータが格納される。
【００２１】
データ供給部１２は、揮発性メモリ１１に格納された編集中のデータをストレージコントローラ２０に供給する。保存操作受付部１３は、ユーザによる端末１０に対するデータ保存指示の操作を受け付ける。データ供給部１２は、保存操作受付部１３がデータ保存指示の操作を受け付けたときに、揮発性メモリ１１に格納されている編集中のデータを、端末１０の内部にある不揮発性の記憶装置（ハードディスク等）には保存することなく、ストレージコントローラ２０に供給する。
【００２２】
本実施形態では、データ供給部１２は、揮発性メモリ１１に格納された編集中のデータを、所定サイズのブロック単位でストレージコントローラ２０に供給する。ここで、所定サイズとは、例えば、ストレージ装置３０にデータを読み書きする際の最小の単位とすることが可能である。具体的には、データの先頭から４０９６バイトずつの単位で複数のブロックを構成し、ブロック単位でデータをストレージコントローラ２０に供給する。
【００２３】
このように、本実施形態では、データの全体を１ファイルとして端末１０からストレージコントローラ２０に供給するのではなくて、所定サイズのブロック単位でデータをストレージコントローラ２０に供給することにより、ハードディスク等にファイル保存されたデータではなく、揮発性メモリ１１に格納された編集中のデータを随時ストレージコントローラ２０に供給することが可能である。
【００２４】
ストレージコントローラ２０のデータ取得部２１は、データ供給部１２により供給されるデータ、すなわち、端末１０の揮発性メモリ１１に格納された編集中のデータを取得する。秘密分散処理部２２は、データ取得部２１により端末１０から取得した編集中のデータを複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。
【００２５】
本実施形態では、秘密分散処理部２２は、ブロック単位で端末１０から供給された個々のブロックデータを更に複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。
【００２６】
図３は、秘密分散処理部２２による秘密分散処理の概要を模式的に示す図である。図３に示すように、端末１０にて編集中のデータ（揮発性メモリ１１に格納されたデータ）は、所定サイズのブロック単位でストレージコントローラ２０に供給される。図３の例では、データの先頭から４０９６バイトずつの単位でブロック１、ブロック２、ブロック３、・・・のデータがストレージコントローラ２０に供給されている。
【００２７】
秘密分散処理部２２は、端末１０から供給された個々のブロックデータを更に複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。すなわち、秘密分散処理部２２は、ブロック１のデータを３つに分割して暗号化し、それを３つのストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。また、ブロック２のデータを３つに分割して暗号化し、それを３つのストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。ブロック３以降も同様である。
【００２８】
以上のように、データをブロック単位で端末１０からストレージコントローラ２０に供給し、ブロック単位で秘密分散化を行う場合、端末１０のデータ供給部１２は、揮発性メモリ１１に格納された編集中のデータを構成する複数のブロックデータのうち、実際に編集が行われているブロックデータのみをストレージコントローラ２０に供給して秘密分散化の対象とするのが好ましい。
【００２９】
図４は、実際に編集が行われているブロックデータのみを秘密分散化する場合の処理の一例を模式的に示す図である。図４（ａ）は、編集が行われる前の元データ（データ保存指示の操作によって秘密分散化が行われた直後のデータ）を示している。この例では、先頭から順にブロック１のデータが“あいう”、ブロック２のデータが“えおか”、ブロック３のデータが“きくけ”、ブロック４のデータが“こさし”、ブロック５のデータが“すせそ”であったとする。
【００３０】
ここで、ユーザが端末１０を操作することにより、例えば図４（ｂ）に示すように、ブロック２のデータについて“え”を“●”に書き換え、データ保存指示の操作を行ったとする。変更がこれのみの場合（他のブロックでは変更が行われていない）、端末１０のデータ供給部１２は、揮発性メモリ１１に格納されているブロック２のデータ“●おか”のみをストレージコントローラ２０に供給する。ストレージコントローラ２０の秘密分散処理部２２は、このブロック２のデータ“●おか”のみを秘密分散化し、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。
【００３１】
また、図４（ｃ）に示すように、ブロック４のデータについて、“こ”と“さ”の間に“●”を挿入し、データ保存指示の操作を行ったとする。この場合、ブロック４のデータが“こさし”から“こ●さ”に変更され、ブロック５のデータが“すせそ”から“しすせ”に変更される。また、ブロック６のデータ“そ”が追加される。よって、端末１０のデータ供給部１２は、揮発性メモリ１１に格納されているブロック４〜６のデータのみをストレージコントローラ２０に供給する。ストレージコントローラ２０の秘密分散処理部２２は、このブロック４〜６のデータのみを秘密分散化し、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる。
【００３２】
図５は、上記のように構成した本実施形態による秘密分散システムの動作例を示すフローチャートである。図５に示すように、まず、データ編集部１４は、データに対する編集が行われたか否かを判定する（ステップＳ１）。編集が行われていない場合、処理はステップＳ６に遷移する。一方、データに対する編集が行われている場合、データ編集部１４は、編集中のデータを揮発性メモリ１１に格納する（ステップＳ２）。
【００３３】
次に、保存操作受付部１３は、ユーザによるデータ保存指示の操作を受け付けたか否かを判定する（ステップＳ３）。保存操作受付部１３がデータ保存指示の操作を受け付けていない場合、処理はステップＳ１に戻る。一方、保存操作受付部１３がデータ保存指示の操作を受け付けた場合、データ供給部１２は、揮発性メモリ１１に格納された編集中のデータを構成する複数のブロックデータのうち、実際に編集が行われているブロックデータのみをストレージコントローラ２０に供給する（ステップＳ４）。
【００３４】
ストレージコントローラ２０のデータ取得部２１は、端末１０から供給された編集中のブロックデータを取得する。そして、秘密分散処理部２２は、データ取得部２１により取得されたブロックデータを複数に分割して断片化し、個々の分割データをそれぞれ暗号化した上で、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存させる（ステップＳ５）。
【００３５】
その後、データ編集部１４は、データの編集処理を終了する操作（例えば、編集中のファイルを閉じる操作、データ編集を行っているアプリケーションをシャットダウンさせる操作など）が行われたか否かを判定する（ステップＳ６）。編集処理を終了する操作が行われていない場合、処理はステップＳ１に戻る。一方、編集処理を終了する操作が行われた場合、図５に示すフローチャートの処理は終了する。
【００３６】
以上詳しく説明したように、本実施形態では、端末１０においてデータを作成している際に揮発性メモリ１１に格納された編集中のデータをストレージコントローラ２０に随時供給し、当該ストレージコントローラ２０において、端末１０から供給された編集中のデータを秘密分散化して複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに保存させるようにしている。
【００３７】
このように構成した本実施形態によれば、端末１０において作成されるデータは、揮発性メモリ１１からストレージコントローラ２０に随時供給されて秘密分散化され、外部の複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに分散して保存される。ここで、複数のストレージ装置３０Ａ，３０Ｂ，３０Ｃに保存される個々の分割データは、秘密分散により無意味化されているので、一部の分割データが漏えいしてしまったとしても、元の情報そのものが漏えいすることはない。また、端末１０において編集中のデータは、端末１０の電源をオフとすれば揮発性メモリ１１から消去されて残らない。これにより、企業内の端末１０で作成されるデータが企業の内外から漏えいする可能性をより低減することができる。
【００３８】
また、本実施形態によれば、端末１０のハードディスク等にファイルとして保存したデータを対象として端末１０内にて秘密分散処理を行うのではなく、揮発性メモリ１１に格納された編集中のデータを対象として、これをストレージコントローラ２０に随時供給し、ストレージコントローラ２０内にて秘密分散処理を行っている。この仕組みのため、ストレージコントローラ２０で秘密分散処理を行っている間も、端末１０の揮発性メモリ１１に格納されているデータを変更せずに維持しておく必要がなく、データの編集を行いながら秘密分散処理をリアルタイムに実行することができる。
【００３９】
そのため、例えば社内ＬＡＮに接続された共有ファイルサーバに端末１０からアクセスして、共有ファイルサーバに格納されたデータを端末１０において編集可能に構成したシステムにおいて、共有ファイルサーバのデータを外部のストレージ装置３０Ａ，３０Ｂ，３０Ｃにバックアップしようとする場合に、バッチ処理によってバックアップを行う必要がなく、バックアップを行っている間はデータの変更を禁止するような運用を行う必要もなくなる。
【００４０】
なお、上記実施形態では、揮発性メモリ１１に格納された編集中のデータを所定サイズのブロック単位でストレージコントローラ２０に供給する例について説明したが、本発明はこれに限定されない。例えば、データ保存指示の操作が行われたときに、揮発性メモリ１１に格納されている編集中のデータの全体をストレージコントローラ２０に供給するようにしてもよい。
【００４１】
また、上記実施形態では、ファイルとして保存されるようなデータを対象として秘密分散化を行う例について説明したが、本発明はこれに限定されない。例えば、ＳＱＬに従って動作するデータベースのように、ファイルとしての実態を持たずにデータを蓄積するシステムにおけるデータを対象として秘密分散化を行うことも可能である。通常、データベースではバッチ処理によってバックアップが行われ、その間はデータベースの更新が禁止される。これに対し、本実施形態によれば、データベースのデータも編集中にリアルタイムに秘密分散化することができるので、バッチ処理により長い時間をかけてデータベースの全体をバックアップする必要がない。
【００４２】
また、上記実施形態では、データ保存指示の操作が行われたときに、揮発性メモリ１１に格納されている編集中のデータをストレージコントローラ２０に供給する例について説明したが、本発明はこれに限定されない。例えば、バックグラウンドで定期的にデータ保存を行うことが端末１０に設定されている場合は、この定期的な保存タイミングに合わせて編集中のデータをストレージコントローラ２０に自動的に供給するようにしてもよい。また、データ保存のタイミングに限らず、あらかじめ設定した任意の時間間隔に従い、編集中のデータをストレージコントローラ２０に自動的に繰り返し供給するようにしてもよい。さらに、データの編集に使用しているアプリケーションを閉じる操作が行われたときに、そのとき揮発性メモリ１１に格納されているデータをストレージコントローラ２０に供給するようにしてもよい。
【００４３】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００４４】
１０  端末
１１  揮発性メモリ
１２  データ供給部
１３  保存操作受付部
１４  データ編集部
２０  ストレージコントローラ
２１  データ取得部
２２  秘密分散処理部
３０Ａ，３０Ｂ，３０Ｃ  ストレージ装置
【図１】
2016103048.tif 000003
【図２】
2016103048.tif 000004
【図３】
2016103048.tif 000005
【図４】
2016103048.tif 000006
【図５】
2016103048.tif 000007