(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160633
(43)【公開日】2024-11-14
(54)【発明の名称】処理システム、処理方法及び処理プログラム
(51)【国際特許分類】
G06F 16/182 20190101AFI20241107BHJP
G06F 21/60 20130101ALI20241107BHJP
G09C 1/00 20060101ALI20241107BHJP
【FI】
G06F16/182
G06F21/60 320
G09C1/00 650Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023075851
(22)【出願日】2023-05-01
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、内閣府(国立研究開発法人医薬基盤・健康・栄養研究所)、戦略的イノベーション創造プログラム(SIP)第2期「AI(人工知能)ホスピタルによる高度診断・治療システム」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 哲士
(72)【発明者】
【氏名】櫻井 陽一
(72)【発明者】
【氏名】澤田 匡史
(72)【発明者】
【氏名】山際 龍太
(57)【要約】
【課題】秘密分散ストレージにおける各断片ファイルのディスク格納時の余剰領域を削減する。
【解決手段】処理システム1は、保管対象のファイルをアップロードするクライアント10と、アップロードされたファイルを分割した断片ファイルを複数のストレージサーバ30-1~30-3に分散保管する秘密分散ストレージ30と、を有する処理システムであって、クライアント10は、保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後のファイルをアップロードするバックアップ部11を有し、秘密分散ストレージ30は、複数のストレージサーバ30-1~30-3と、圧縮後のファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、複数のストレージサーバ30-1~30-3に分散保管させる分散サーバ20と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
保管対象のファイルをアップロードするクライアントと、アップロードされたファイルを分割した断片ファイルを複数のストレージサーバに分散保管する秘密分散ストレージと、を有する処理システムであって、
前記クライアントは、
保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後のファイルをアップロードするバックアップ部
を有し、
前記秘密分散ストレージは、
前記複数のストレージサーバと、
前記圧縮後のファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、前記複数のストレージサーバに分散保管させる分散サーバと、
を有することを特徴とする処理システム。
【請求項2】
バックアップ部は、100%以下の圧縮率で、前記保管対象の複数のファイルを1ファイルに圧縮することを特徴とする請求項1に記載の処理システム。
【請求項3】
前記分散サーバは、前記圧縮後のファイルを暗号化した後、k個の断片ファイルに分割するとともに、断片ファイルと同サイズのm個のパリティファイルを生成し、前記断片ファイル及び前記パリティファイルを、それぞれ異なるストレージサーバのディスクへ分散保管させることを特徴とする請求項1に記載の処理システム。
【請求項4】
保管対象のファイルをアップロードするクライアントと、アップロードされたファイルを断片化する分散サーバ、及び、断片ファイルを分散保管する複数のストレージサーバを有する秘密分散ストレージと、を有する処理システムが実行する処理方法であって、
前記クライアントが、前記保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後のファイルをアップロードする工程と、
前記分散サーバが、前記圧縮後のファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、前記複数のストレージサーバに分散保管させる工程と、
を含んだことを特徴とする処理方法。
【請求項5】
方法をコンピュータに実行させる処理プログラムであって、
クライアントとしてのコンピュータに、
保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後のファイルをアップロードするステップ、
を実行させ、
分散サーバとしてのコンピュータに、
前記圧縮後のファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、複数のストレージサーバに分散保管させるステップ
を実行させることを特徴とする処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理システム、処理方法及び処理プログラムに関する。
【背景技術】
【0002】
個人情報および重要情報を取り扱う場合、データの安全な保管が必要となる。共通鍵暗号、公開鍵暗号を用いた暗号化によるデータ秘匿は安全なデータ保管法の一つであるが、サーバから暗号文を窃取された場合に将来的にデータを復元されてしまうおそれがある。そこで、1台のサーバが万一攻撃されたとしても、盗まれた暗号文単体からはデータを復元できない秘密分散と呼ばれる技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】五十嵐大、露崎浩太、川原祐人, “SHSS: オブジェクトストレージ向けの超高速秘密分散ライブラリ”, 研究報告セキュリティ心理学とトラスト(SPT), 2015-SPT-14, vol 26, pp.1-8, [online],[令和5年2月22日検索]、インターネット<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=142625&item_no=1&page_id=13&block_id=8>
【非特許文献1】Adi Shamir, How to share a secret, Communications of the ACM, vol. 22, issue 11, pp.612--613, Nov., 1979, [online],[令和5年2月22日検索]、インターネット<URL:https://dl.acm.org/doi/abs/10.1145/359168.359176>
【発明の概要】
【発明が解決しようとする課題】
【0005】
秘密分散は、入力データを断片ファイル(例えば、シェアと呼ばれる。)に断片化させ、各断片ファイルを、それぞれ異なるサーバに分散保管させることにより暗号化を行う技術である。各断片ファイルは、単体では復元不可能である。
【0006】
ここで、秘密分散ストレージでは、数KB程度の小容量ファイルを大量に保存する場合、各断片ファイルのサイズがセクタサイズを下回った結果、1ファイルごとにセクタの余剰が生じディスク使用量が肥大化するという課題があった。
【0007】
本発明は、上記に鑑みてなされたものであって、秘密分散ストレージにおける各断片ファイルのディスク格納時の余剰領域を削減することができる処理システム、処理方法及び処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明の処理システムは、保管対象のファイルをアップロードするクライアントと、アップロードされたファイルを分割した断片ファイルを複数のストレージサーバに分散保管する秘密分散ストレージと、を有する処理システムであって、前記クライアントは、保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後のファイルをアップロードするバックアップ部を有し、前記秘密分散ストレージは、前記複数のストレージサーバと、前記圧縮後のファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、前記複数のストレージサーバに分散保管させる分散サーバと、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、秘密分散ストレージにおける各断片ファイルのディスク格納時の余剰領域を削減することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係る処理システムの構成の一例を示すブロック図である。
【
図2】
図2は、一般的な秘密分散ストレージにおける分散保管の概要を示す図である。
【
図3】
図3は、実施の形態における処理の概要を説明する図である。
【
図4】
図4は、従来の処理の概要を説明する図である。
【
図5】
図5は、実施の形態に係る処理方法の処理手順を示すシーケンス図である。
【
図6】
図6は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る処理システム、処理方法及び処理プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る処理システム、処理方法及び処理プログラムが限定されるものではない。
【0012】
以下の実施の形態では、実施の形態に係る処理システム、処理方法及び処理プログラムの処理の流れを順に説明し、最後に実施の形態による効果を説明する。
【0013】
[実施の形態]
まず、実施の形態について説明する。実施の形態は、保管対象のファイルデータ(ファイル)を複数のサーバに保管する場合を例に説明する。
【0014】
実施の形態では、施設側において、複数のアップロードファイルを1ファイルに圧縮してから、秘密分散ストレージにアップロードすることで、ファイルの余剰領域が効率的に削減される。これにより、効率的な断片ファイルを生成できる。
【0015】
[処理システムの構成]
実施の形態に係る処理システムの構成を説明する。
図1は、実施の形態に係る処理システムの構成の一例を示すブロック図である。
【0016】
以降では、処理システム1が、
図1に示すように、ファイルをアップロードするクライアント10と、秘密分散ストレージ30とで構成される例について説明する。なお、
図1に示す構成は一例に過ぎず、具体的な構成や各装置の数は特に限定されない。
【0017】
クライアント10は、保管対象のファイルを取得し、取得した保管対象のファイルを秘密分散ストレージ30にアップロードする。例えば、クライアント10の操作者は、Webブラウザで展開された、処理システム1用のWebUI画面を介して、アップロードするファイルを選択し、秘密分散ストレージ30にアップロードする。
【0018】
クライアント10は、保管対象のファイルに対するアップロード処理を行うバックアップ部11を有する。バックアップ部11は、複数のファイルを所定の圧縮率で1ファイルに圧縮する圧縮部12を有する。
【0019】
バックアップ部11は、保管対象のファイルを取得する。そして、バックアップ部11では、圧縮部12が、保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮する。
【0020】
圧縮部12は、100%以下の圧縮率で複数のファイルを1ファイルに圧縮する。例えば、圧縮部12は、圧縮率100%で複数のファイルを1ファイルに圧縮する。すなわち、圧縮部12は、複数のファイルを1ファイルに結合する。また、圧縮部12は、圧縮率75%で、複数のファイルを1ファイルに圧縮する。
【0021】
バックアップ部11は、保管対象の複数のファイルを所定の圧縮率で1ファイルに圧縮した後に、圧縮後の1ファイルを秘密分散ストレージ30にアップロードする。
【0022】
秘密分散ストレージ30は、アップロードされたファイル(圧縮後の1ファイル)を断片化した断片ファイルの状態で複数のサーバに分散保管する。個々の断片ファイルはそれぞれ意味のないデータになっており、断片ファイル一つだけでは元のファイルを復元できず情報は洩れないが、ある一定数以上の断片ファイルが揃うと元のファイルを復元することができる。
【0023】
秘密分散ストレージ30は、秘密分散ストレージ30を有する処理システムが構築される。秘密分散ストレージ30は、クライアント10からアップロードされた圧縮後の1ファイルが、断片ファイルの状態で分散保管される。
【0024】
秘密分散ストレージ30は、ファイルデータを暗号化した後、断片ファイルの状態で、複数のストレージサーバ30-1~30-3に分散保管(秘密分散)する。なお、断片ファイルは、いずれの施設からアップロードされたデータであるかが識別可能である状態で複数のストレージサーバ30-1~30-3に分散保管されている。
【0025】
秘密分散ストレージ30は、複数のストレージサーバ30-1~30-3の前段に、分散サーバ20を有する。分散サーバ20は、秘密分散の制御を行う秘密分散エンジン21を有する。
【0026】
秘密分散エンジン21は、クライアント10によってアップロードされた圧縮後の1ファイルを暗号化した後、断片ファイルに分割し、各断片ファイルを、複数のストレージサーバ30-1~30-3に分散保管させる。
【0027】
[分散保管の概要の説明]
次に、
図2を参照して、一般的な秘密分散ストレージにおける分散保管の概要について説明する。
図2は、一般的な秘密分散ストレージにおける分散保管の概要を示す図である。
【0028】
まず、クライアントから、アップロードファイルが秘密分散ストレージにアップロードされると、分散サーバが、アップロードファイルを秘密分散により暗号化し、n個の断片ファイルに分割する。(
図2の(1))。
【0029】
そして、分散サーバは、断片ファイルF
1,F
2,・・・・,F
nを、それぞれ異なるストレージサーバ30-1,・・・,30-(k+1),・・・・のディスクD
1,・・・,D
k+1,・・・・へ分散保管させる。各断片ファイル単体からは、元のデータに関する情報を得ることは不可能である(
図2の(2))。
【0030】
[実施の形態1の処理の概要]
次に、実施の形態1における処理の概要について説明する。
図3は、実施の形態における処理の概要を説明する図である。
【0031】
図3では、保管対象のアップロードファイルとして、4KBのファイルが10ファイルある場合を例に説明する。最も容量効率の良いComputational方式を採用した場合であって、最小構成(k,n)=(2,3)(k:復元に必要な断片数,n:断片ファイルの総数)の場合を例に説明する。分散サーバ20が、1つのファイルを2つに分割し、2つの断片ファイルと、断片ファイルと同サイズの1つ(m個に相当)のパリティファイルを生成する場合を例に説明する。
【0032】
クライアント10では、1つ4KBのデータ量のファイルが10ファイルあるアップロードファイル群Fgを保管対象として取得する。続いて、クライアント10は、アップロードファイル群Fgを、75%の圧縮率で1ファイルに圧縮する(
図3の(1))。すなわち、クライアント10は、アップロードファイル群Fgを、30KBの1つのアップロードファイルFaに圧縮する。そして、クライアント10は、秘密分散ストレージに、圧縮後のアップロードファイルFaをアップロードする。
【0033】
続いて、分散サーバ20は、アップロードファイルFaを暗号化し、そして、2つの断片ファイルF
1,F
2に分割して、1つのパリティファイル(断片ファイル)P
1を生成する。断片ファイルF
1,F
2のサイズは、30KB(アップロードファイルサイズ)を2個に分割するため、15KBとなる(
図3の枠W1)。また、パリティファイルP
1のサイズは、15KBである。
【0034】
分散サーバ20は、断片ファイルF1,F2の及びパリティファイルP1を、それぞれ異なるストレージサーバ30-1~30-3の各ディスクD1~D3に分散保管させる。
【0035】
ここで、各断片ファイルF1,F2の及びパリティファイルPを保存する場合の各ディスクD1~D3の使用量について説明する。ディスクD1の保存領域(セクタ)のサイズが4KBの場合、断片ファイルF1のサイズは15KBであるため、断片ファイルF1の保管のために、4セクタ分の保存領域16KBを使用する。
【0036】
ディスク余剰使用分は、16KB(セクタサイズ)から、15KB(断片ファイルF
1のサイズ)を減じた1KBとなり(
図3の枠W2)、ディスク使用量の肥大化率は1.1倍に収まる。
【0037】
比較のために、4KBのアップロードファイルを10ファイルアップロードした場合について説明する。
図4は、従来の処理の概要を説明する図である。
【0038】
図4に示すように、クライアント10Pのバックアップ部11Pから、4KBのアップロードファイル、10ファイルが秘密分散ストレージ30にアップロードされる。
【0039】
分散サーバ20は、1ファイルごとに、アップロードファイルを暗号化し、暗号化後のファイルを、2つの断片ファイルF
1p,F
2pに分割し、1つのパリティファイル(断片ファイル)P
1pを生成する。断片ファイルF
1p,F
2pのサイズは、4KB(アップロードファイルサイズ)を2個に分割するため、2KBとなる(
図4の枠W11)。また、パリティファイルP
1pのサイズも2KBである。
【0040】
続いて、分散サーバ20は、断片ファイルF1p,F2pの及びパリティファイルP1pを、それぞれ異なるストレージサーバ30-1~30-3の各ディスクD1~D3に分散保管させる。
【0041】
分散サーバ20は、10ファイルのアップロードファイルに対して、上記の処理を実行する。このため、ストレージサーバ30-1~30-3の各ディスクD1~D3には、10個の2KBの断片ファイルがそれぞれ保存される。
【0042】
ディスクD
1を例とすると、4KBのセクタに、2KBの断片ファイルF
1pを保存する。このため、1ファイルあたりのディスク余剰使用分は、4KB(セクタサイズ)から、2KB(断片ファイルF
1pのサイズ)を減じた2KBとなる(
図4のW12)。
【0043】
このため、
図4の例の場合、1ファイルあたり2KB分の保存領域が余剰となってしまい、ディスク使用量が2倍に肥大化する。
図4の例の場合、アップロードファイルが10ファイルあるため、10セクタ分の保存領域40KBを使用し、余剰領域が20KBまで肥大する。このように、各断片ファイルのサイズがセクタサイズを下回った結果、1ファイルごとにセクタの余剰が生じディスク使用量が肥大化してしまう。
【0044】
これに対し、本実施の形態では、施設側において、複数のアップロードファイルを1ファイルに圧縮してから、秘密分散ストレージにアップロードすることで、ファイルの余剰領域が効率的に削減される。これにより、本実施の形態では、効率的な断片ファイルを生成できる。
図3の例では、ストレージサーバ30-1~30-3のディスクD
1~D
3格納時の余剰領域を1KBまで削減できた。したがって、本実施の形態では、ディスク使用量の肥大化率は1.1倍に収めることができ、圧縮せずに保存する場合と比較して1.8倍の効率化を図ることができた。
【0045】
また、
図3では、圧縮率が75%の場合を例に説明したが、圧縮率が100%の場合も、断片ファイルのサイズを大きくし、ストレージサーバ30-1~30-3のディスクD
1~D
3に格納できるため、圧縮せずに保存する場合と比較して、ストレージサーバ30-1~30-3のディスクD
1~D
3格納時の余剰領域を削減できることは明らかである。
【0046】
[処理手順]
図5は、実施の形態に係る処理方法の処理手順を示すシーケンス図である。
図5に示すように、クライアント10は、保管対象のアップロードファイルを取得する(ステップS1)。そして、クライアント10は、保管対象の複数のアップロードファイルを所定の圧縮率で1ファイルに圧し(ステップS2)、圧縮後のファイルを秘密分散ストレージ30にアップロードする(ステップS3)。
【0047】
秘密分散ストレージ30では、分散サーバ20が、圧縮後のファイルを暗号化し、断片ファイルに分割し(ステップS4)、各断片ファイルを、複数のストレージサーバ30-1~30-3に分散保管させる(ステップS5,S6)。
【0048】
[実施の形態の効果]
このように、実施の形態では、施設側において、複数のアップロードファイルを1ファイルに圧縮してから、秘密分散ストレージにアップロードすることで、ファイルの余剰領域が効率的に削減される。これにより、実施の形態では、効率的な断片ファイルを生成できる。
【0049】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPU及び当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0050】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0051】
[プログラム]
また、上記実施形態において説明したクライアント10、ストレージサーバ30-1~30-3、サーバ50-1~50―3が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態におけるクライアント10、ストレージサーバ30-1~30-3、サーバ50-1~50―3が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0052】
図6は、プログラムを実行するコンピュータを示す図である。
図6に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0053】
メモリ1010は、
図6に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、
図6に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0054】
ここで、
図6に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アップリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0055】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0056】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0057】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0058】
1 処理システム
10 クライアント
11 バックアップ部
12 圧縮部
30-1~30-3 ストレージサーバ