(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141778
(43)【公開日】2024-10-10
(54)【発明の名称】処理装置及びコンピュータプログラム
(51)【国際特許分類】
G09C 1/00 20060101AFI20241003BHJP
H04L 9/08 20060101ALI20241003BHJP
G06F 21/60 20130101ALI20241003BHJP
G06F 21/62 20130101ALI20241003BHJP
【FI】
G09C1/00 650Z
H04L9/08 A
G06F21/60 320
G06F21/62 318
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023053603
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000106690
【氏名又は名称】サン電子株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】鈴木 春洋
(72)【発明者】
【氏名】中垣 友宏
(72)【発明者】
【氏名】木村 健
(72)【発明者】
【氏名】小川 真一
(57)【要約】
【課題】 複数のデータを、セキュリティレベルを変えて処理することができる技術を提供する。
【解決手段】 処理装置は、第1データファイルに関連する第1データと第2データファイルに関連する第2データとを含む複数のデータを格納する格納部と、前記複数のデータを処理する処理部と、外部格納装置と通信可能に接続される通信インターフェイスと、を備え、前記外部格納装置が前記通信インターフェイスに接続されることを含む特定条件が成立する場合、前記処理部は、第1データを処理可能であり、前記特定条件が成立しない場合、前記処理部による第1データの処理が制限され、前記処理部は、第2データを処理可能であってもよい。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1データファイルに関連する第1データと第2データファイルに関連する第2データとを含む複数のデータを格納する格納部と、
前記複数のデータを処理する処理部と、
外部格納装置と通信可能に接続される通信インターフェイスと、を備え、
前記外部格納装置が前記通信インターフェイスに接続されることを含む特定条件が成立する場合、前記処理部は、第1データを処理可能であり、
前記特定条件が成立しない場合、前記処理部による第1データの処理が制限され、前記処理部は、第2データを処理可能である、処理装置。
【請求項2】
前記第1データは、前記第1データファイルに記録されている特定データが暗号化された暗号化データを含み、
前記格納部は、前記特定データの暗号化に用いられた暗号化鍵データを分散することによって生成される複数の分散鍵データのうちの第1分散鍵データを格納し、
前記外部格納装置は、前記複数の分散鍵データのうちの前記第1分散鍵データと異なる第2分散鍵データを格納し、
前記特定条件は、前記外部格納装置が前記通信インターフェイスに接続されること、前記外部格納装置に格納されている前記第2分散鍵データと、前記格納部に格納されている前記第1分散鍵データと、を用いて、前記暗号化鍵データが取得されること、とを含む、請求項1に記載の処理装置。
【請求項3】
前記特定条件は、前記外部格納装置が前記通信インターフェイスに接続されている間であることを含む、請求項1又は2に記載の処理装置。
【請求項4】
前記外部格納装置は、第1外部メモリと第2外部メモリと、を含み、
前記特定条件は、前記第1外部メモリと前記第2外部メモリとのいずれか一方のメモリが前記通信インターフェイスに接続されることを含む、請求項1又は2に記載の処理装置。
【請求項5】
前記第1外部メモリが前記通信インターフェイスに接続されることによって前記特定条件が成立する場合、前記処理部は、第1データを閲覧及び更新可能であり、
前記第2外部メモリが前記通信インターフェイスに接続されることによって前記特定条件が成立する場合、前記処理部は、第1データを閲覧可能である一方、更新が制限される、請求項4に記載の処理装置。
【請求項6】
外部格納装置と通信可能に接続される通信インターフェイスを備える処理装置のためのコンピュータプログラムであって、前記処理装置を、
第1データファイルに関連する第1データと第2データファイルに関連する第2データとを含む複数のデータを格納する格納部と、
前記複数のデータを処理する処理部と、として機能させ、
前記処理部は、
前記外部格納装置が前記通信インターフェイスに接続されることを含む特定条件が成立する場合、第1データを処理可能であり、
前記特定条件が成立しない場合、前記処理部による第1データの処理が制限され、第2データを処理可能である、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示の技術は、処理装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
特許文献1には、秘密情報を暗号化して管理する秘密情報システムが開示されている。秘密情報システムは、暗号化された秘密情報を含む保管用秘密情報データを保管するデータ保管サーバと、データ保管サーバに保管される保管用秘密情報データを生成し、保管用秘密情報データの検索、更新、及び削除を行うデータ管理サーバと、を備える。データ管理サーバは、暗号化に用いられる公開鍵及び公開鍵により暗号化された秘密情報の復号に用いられる秘密鍵を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、秘密鍵によって秘密情報が復号化されることによって、秘密情報を取得することができる。しかしながら、セキュリティレベルが異なる複数のデータの処理については検討されていない。
【0005】
本明細書では、複数のデータを、セキュリティレベルを変えて処理することができる技術を提供する。
【課題を解決するための手段】
【0006】
本明細書に開示される技術の第1の態様は、処理装置に関する。処理装置は、第1データファイルに関連する第1データと第2データファイルに関連する第2データとを含む複数のデータを格納する格納部と、前記複数のデータを処理する処理部と、外部格納装置と通信可能に接続される通信インターフェイスと、を備え、前記外部格納装置が前記通信インターフェイスに接続されることを含む特定条件が成立する場合、前記処理部は、第1データを処理可能であり、前記特定条件が成立しない場合、前記処理部による第1データの処理が制限され、前記処理部は、第2データを処理可能であってもよい。
【0007】
上記の構成によれば、外部格納装置を通信インターフェイスに接続可能なユーザは、第1データ及び第2データを、処理装置に処理させることができる。一方、外部格納装置を通信インターフェイスに接続させることができないユーザは、第2データを処理装置に処理させることができるが、第1データを処理装置に処理させることができない。即ち、ユーザが外部格納装置を処理装置に接続可能か否かに応じて、処理可能なデータを変化させることができる。これにより、第1データと第2データとをセキュリティレベルを変えて処理することができる。
【0008】
第2の態様では、上記第1の態様において、前記第1データは、前記第1データファイルに記録されている特定データが暗号化された暗号化データを含み、前記格納部は、前記特定データの暗号化に用いられた暗号化鍵データを分散することによって生成される複数の分散鍵データのうちの第1分散鍵データを格納し、前記外部格納装置は、前記複数の分散鍵データのうちの前記第1分散鍵データと異なる第2分散鍵データを格納し、前記特定条件は、前記外部格納装置が前記通信インターフェイスに接続されること、前記外部格納装置に格納されている前記第2分散鍵データと、前記格納部に格納されている前記第1分散鍵データと、を用いて、前記暗号化鍵データが取得されること、とを含んでいてもよい。
【0009】
この構成によれば、鍵データを分散して、それぞれを異なる装置に格納することによって、特定データの復号化に必要な鍵データが漏洩することを抑制することができる。
【0010】
第3の態様では、上記第1又は第2の態様において、前記特定条件は、前記外部格納装置が前記通信インターフェイスに接続されている間であることを含んでいてもよい。
【0011】
この構成によれば、外部格納装置が通信インターフェイスから接続されていない間に、第1データが処理される事態を回避することができる。
【0012】
第4の態様では、上記第1から第3のいずれか1つの態様において、前記外部格納装置は、第1外部メモリと第2外部メモリと、を含み、前記特定条件は、前記第1外部メモリと前記第2外部メモリとのいずれか一方のメモリが前記通信インターフェイスに接続されることを含んでいてもよい。
【0013】
この構成によれば、第1外部メモリと第2外部メモリとを異なるユーザに所持させることによって、複数のユーザが第1データを処理装置に処理させることができる。
【0014】
第5の態様では、上記第1から第4のいずれか1つの態様において、前記第1外部メモリが前記通信インターフェイスに接続されることによって前記特定条件が成立する場合、前記処理部は、第1データを閲覧及び更新可能であり、前記第2外部メモリが前記通信インターフェイスに接続されることによって前記特定条件が成立する場合、前記処理部は、第1データを閲覧可能である一方、更新が制限されてもよい。
【0015】
この構成によれば、第1データを処理装置に処理させることができる複数のユーザのそれぞれに対して、所持する外部メモリに応じて第1データに対して可能な処理を相違させることができる。これにより、セキュリティレベルが比較的に高い第1データに対して、ユーザによって可能な処理を相違させることができる。
【0016】
上記の各態様を実現するための処理装置のためのコンピュータプログラム及び方法も新規で有用である。
【図面の簡単な説明】
【0017】
【
図1】本実施例に開示の技術の特徴を表す概要図を示す。
【
図2】本実施例に開示の技術の特徴を表す概要図を示す。
【
図3】本実施例に開示の技術の特徴を表す概要図を示す。
【
図5】実施例のUSBフラッシュドライブの構成ブロック図を示す。
【
図6】実施例のデータ保護処理のフローチャートを示す。
【
図7】第1実施例の分散格納処理のフローチャートを示す。
【
図8】実施例のデータ利用処理のフローチャートを示す。
【
図9】実施例のUSBフラッシュドライブにデータファイルが格納されていない場合の格納領域の画像を表示する表示部を示す。
【
図10】実施例のUSBフラッシュドライブにデータファイルが格納されている場合の格納領域の画像を表示する表示部を示す。
【
図11】第1実施例の分散格納処理を説明するための概念図を示す。
【
図12】第2実施例の分割格納処理のフローチャートを示す。
【
図13】第2実施例の分散格納処理を説明するための概念図を示す。
【
図14】第3実施例の分割格納処理のフローチャートを示す。
【発明を実施するための形態】
【0018】
(実施例の概要)
最初に、
図1から
図3を参照して、本実施例に開示される技術の概要を説明する。
図1に示すように、データ保護システム1は、端末装置10と、1個以上の外部格納装置80と、を備える。端末装置10は、例えばテスクトップ型のパーソナルコンピュータのように、特定の位置に固定されて配置される端末、又は、ラップトップ型のパーソナルコンピュータ、タブレット端末等のように、ユーザが持ち運び可能な携帯端末である。端末装置10は、特定の1人のユーザ(例えばユーザU1)が利用可能であってもよいし、複数のユーザU1、U2、U3が利用可能であってもよい。
【0019】
端末装置10は、複数のデータファイル2、2、4を格納している。複数のデータファイル2、2、4は、暗号化済みのデータファイル2及び暗号化されていないデータファイル4を含む。データファイル2を復号化するためには、鍵データを要する。なお、データファイル2の暗号化とは、データファイル2に記録されているデータの暗号化を意味するが、本明細書では、単に、データファイル2の暗号化と呼ぶことがある。
【0020】
本実施例に開示される技術では、鍵データを複数の分散データに分散する。例えば、秘密分散法によって、鍵データが複数の分散鍵データに分散される。あるいは、例えば、鍵データを複数個に区切ることによって複数の分散データが生成されもよい。この場合、例えば、鍵データを、複数の分散データのデータサイズが等しくなるように分割してもよく、予め決められたサイズ毎に分割し、末尾の分散データのデータサイズを予め決められたサイズ以下としてもよい。この場合、複数の分散データの順序を特定するためのデータが生成されてもよい。本明細書では、秘密分散以外に、鍵データを単に区切って複数の部分データを生成する処理も、「分散」と呼び、分散によって生成されるデータを、「分散データ」と呼ぶ。
【0021】
図1に示す例では、鍵データが、2個の分散データ6、8に分散されている。端末装置10には、2個の分散データ6、8のうち、一方の分散データ6が格納される。他方の分散データ8は、1個以上の外部格納装置80のそれぞれに格納される。外部格納装置80は、例えばUSBフラッシュドライブ(以下、単に「USBメモリ」と呼ぶ)、携帯端末等、端末装置10から独立して配置される外部装置である。外部格納装置80は、端末装置10に通信可能に接続される装置である。本明細書では、外部格納装置80を、USBメモリ80と呼ぶ。
【0022】
2人のユーザU1、U2は、それぞれ、分散データ8が格納されているUSBメモリ80を所持している。一方、ユーザU3は、USBメモリ80を所持していない。
図2に示すように、ユーザU1、U2のそれぞれが、USBメモリ80を端末装置10に通信可能に接続する(即ちUSBメモリ80を端末装置10のUSBレセプタクル(USBインタフェースとも呼ぶ)に差し込む)と、端末装置10は、2個の分散データ6、8から鍵データを生成することが可能となる。
【0023】
これにより、端末装置10は、暗号化されたデータファイル2を復号化することできる。この結果、ユーザU1、U2のそれぞれは、データファイル2に記録されているデータの閲覧、更新、使用等を端末装置10に実行させることができる。
【0024】
一方、USBメモリ80を所持していないユーザU3は、端末装置10に鍵データを生成させることができない。このため、
図3に示すように、ユーザU3は、暗号化されたデータファイル2を、端末装置10に復号化させることができない。ユーザU3は、データファイル2に記録されているデータの閲覧、更新、使用等を端末装置10に実行させることができない。この構成によると、データファイル2に記録されているデータを、ユーザU3から保護することができる。
【0025】
本実施例に開示の技術では、USBメモリ80に分散データを格納することによって、USBメモリ80の有無に応じて、データファイル2へのアクセスを制限することができる。また、鍵データを、端末装置10とUSBメモリ80とに分けて格納することによって、端末装置10及びUSBメモリ80の一方を紛失した場合であっても、鍵データが漏洩する事態を回避することができる。鍵データを一箇所に纏めて格納する構成と比較して、セキュリティを向上させることができる。
【0026】
USBメモリ80を所持していないユーザU3は、データファイル2へのアクセスは制限されているものの、暗号化されてないデータファイル4に記録されているデータの閲覧、更新、使用等を端末装置10に実行させることは可能である。なお、USBメモリ80を所持しているユーザU1、U2は、USBメモリ80を端末装置10に通信可能に接続してもしなくても、暗号化されてないデータファイル4に記録されているデータの閲覧、更新、使用等を端末装置10に実行させることが可能である。この構成によると、データファイルへのアクセス制限を実行するために、制限対象のデータファイル2が格納されている端末装置10自体の使用を制限せずに済む。これにより、暗号化されてないデータファイル4に記録されているデータの閲覧、更新、使用等のために端末装置10以外の端末装置を準備しなくて済む。
【0027】
上記の構成によれば、ユーザU1、U2、U3がUSBメモリ80を端末装置10に接続可能か否かに応じて、処理可能なデータファイルを変化させることができる。これにより、端末装置10では、データファイル2とデータファイル4とをセキュリティレベルを変えて処理することができる。
【0028】
なお、データファイル2は、端末装置10に格納されていなくてもよく、例えば、端末装置10とは別体で配置され、端末装置10に通信可能に接続される格納装置に格納されていてもよい。格納装置は、例えば、端末装置10に通信可能に接続されるハードディスクドライブ、他の端末装置、インターネットを介して接続されるクラウドサーバであってもよい。外部格納装置80は、USBメモリ80に限られないが、ユーザU1、U2が携帯可能である方が好ましい。
【0029】
分散データ8を格納しているUSBメモリ80の個数に制限はない。例えば、1つの企業において、特定のプロジェクトを担当している複数のメンバーのそれぞれに、USBメモリ80を配布してもよい。これにより、特定のプロジェクトに関するデータファイルを、複数のメンバーのみがアクセス可能とすることができる。
【0030】
(第1実施例)
図4に示すように、本実施例の端末装置10は、制御部20と、インターフェイス部30と、格納部50と、表示部60と、操作部70と、を備える。以下、「インターフェイス」を「I/F」と呼ぶ。制御部20と、インターフェイス部30と、格納部50と、表示部60と、操作部70と、は、図示省略した配線によって通信可能に接続されている。
【0031】
インターフェイス部30は、USBI/F32と、ネットワークI/F34と、を備える。USBI/F32は、USBメモリ80を含むUSB端子を有する機器と通信を実行するための通信I/Fである。USBI/F32は、USBプラグを受け入れるレセプタクルを有する。ネットワークI/F34は、端末装置10がインターネット、イントラネット等のネットワークを介して、他の装置と通信を実行するための通信I/Fである。ネットワークI/F34は、端末装置10が有線通信及び無線通信の少なくとも一方を実行するために利用される。
【0032】
制御部20は、CPU22及びメモリ24を備える。制御部20は、格納部50に格納されているコンピュータプログラム58に従って、様々な処理を実行する。メモリ24は、CPU22が処理を実行している間に一時的に利用される揮発性メモリである。メモリ24は、RAMを含む。RAMは、例えば、CPU22がデータファイル4に記録されているデータに対して処理(例えば表示、更新)を実行する際に、データファイル4に記録されているデータを一時的に記憶する。
【0033】
格納部50は、ROM、フラッシュメモリ、ハードディスクドライブ等の不揮発性メモリによって構成される。格納部50は、コンピュータプログラム58を格納する。格納部50は、データを格納するための格納領域52、54を備える。格納領域52には、暗号化データ52aが格納可能である。格納領域54には、暗号化されていないデータファイル54aが格納可能である。
【0034】
表示部60は、様々な情報を表示するためのディスプレイである。表示部60は、例えば、液晶ディスプレイである。操作部70は、キーボード、マウス等、ユーザの操作を受け付けるボタンを備える。なお、表示部60は、いわゆるタッチパネルであって、操作部70としても機能してもよい。
【0035】
(USBメモリの構成)
図5に示すように、USBメモリ80は、制御部82と、格納部84と、プラグ86と、を備える。制御部82と格納部84とプラグ86とは、図示省略した配線によって通信可能に接続されている。プラグ86は、端末装置10のUSBI/F32に挿入されることによって、USBメモリ80を端末装置10に通信可能に接続する。プラグ86は、USB Type-C、USB Standard-A等の形状を有する。
【0036】
格納部84は、データを格納する。格納部84は、制御部82が制御を実行するためのファームウェアが格納されている。格納部84は、フラッシュメモリのメモリチップを有する。格納部84は、制御部82によって制御される。制御部82は、格納部84に格納されているファームウェアに従って、格納部84へのデータの書き込み及び読み出しを制御する。制御部82は、CPUを備える。
【0037】
(端末装置の処理)
端末装置10の制御部20は、格納部50に格納されている暗号化データ52a、データファイル54aに表示、更新、送信等の処理を実行することができる。ユーザは、操作部70を操作することによって、制御部20にデータファイル54aの処理を実行させることができる。データファイル54aは、暗号化されていないため、鍵データを用いずに、処理可能である。
【0038】
(データ保護処理)
次いで、
図6を参照して、端末装置10が実行するデータ保護処理を説明する。制御部20は、端末装置10の電源がオンである間、データ保護処理を繰り返し実行する。データ保護処理では、S12において、制御部20は、USBI/F32に、USBメモリ80が接続されることを待機している。USBI/F32にUSBメモリ80が接続される場合(S12でYES)、S14において、制御部20は、USBメモリ80にデータファイルが格納されているか否かを判断する。具体的には、制御部20は、USBI/F32を介して、格納部84に格納されているデータファイルを読み出す。制御部82は、格納部84に読み出すべきデータファイルが格納されていない場合、データファイルが格納されていないことを表す信号を、制御部20に供給する。制御部20は、データファイルが格納されていないことを表す信号が受信されると、USBメモリ80にデータファイルが格納されていないと判断して(S14でNO)、S16に進む。
【0039】
なお、S12において、USBI/F32にUSBメモリ80が接続されていない場合、制御部20は、格納部50に格納されているデータファイルのうち、暗号化されていないデータファイル54aに対する処理を実行することができる。例えば、データファイル54aに対する処理は、ユーザによる操作部70への表示操作に従ったデータファイル54aに記録されているデータを表す画像の表示部60への表示処理、ユーザによる操作部70への更新操作に従ってデータファイル54aに記録されているデータを更新する処理を含む。
【0040】
S16では、制御部20は、データファイルが格納されていないことを表す画像を、表示部60に表示させる。具体的には、
図9に示すように、制御部20は、表示部60に、データファイルが格納されていることを示すアイコン画像が含まれていない格納領域62を表すウィンドウ画像を表示させる。格納領域62は、メモリ24の格納領域として表示される。
【0041】
次いで、
図6に戻って、S18では、制御部20は、ユーザが操作部70を操作することによって、格納領域62に、データファイルを格納させるための格納操作が実行されたか否かを判断する。具体的には、例えば、ユーザが操作部70のマウスを操作して、データファイルを表すアイコン画像を、格納領域62にドラッグアンドドロップする場合に、格納操作が実行されたと判断する(S18でYES)。格納操作が実行されない場合(S18でNO)、S22に進む。格納操作が実行される場合(S18でYES)、S20において、制御部20は、分散格納処理を実行する。
【0042】
(分散格納処理)
図7に示すように、分散格納処理では、まず、S30において、制御部20は、S18の格納操作において格納領域62に格納されたデータファイル(以下「特定データファイル」と呼ぶ)を、暗号化アルゴリズムAES(Advanced Encryption Standardの略)に従って暗号化する。より詳細には、制御部20は、AES-256に従って、特定データファイルを暗号化する。
【0043】
S32では、制御部20は、暗号化情報データを生成する。暗号化情報データは、鍵データ及び第1種のナンス(nonce、ノンスとも呼ぶ)を含む。制御部20は、コンピュータプログラム58のコードに従って、暗号化のための鍵データを生成する。制御部20は、第1種のナンスとしてランダムな値を生成する。なお、データファイルの暗号化に用いられる暗号化アルゴリズムは、AESに限られず、DES(Data Encryption Standardの略)等、暗号化、復号化のために鍵(本明細書では「鍵データ」と呼ぶ)を用いるものであればよい。変形例では、制御部20は、初期化ベクトルを生成してもよい。
【0044】
次いで、S34では、制御部20は、特定データファイルを暗号化することによって、第1種の暗号化データ52a(
図4参照)を生成する。制御部20は、S32で生成済みの鍵データ及び第1種のナンスを利用して、特定データファイルから第1種の暗号化データ52aを生成する。S36では、制御部20は、S34で生成済みの第1種の暗号化データ52aを、格納部50の格納領域52に保存する。
【0045】
S38では、制御部20は、第1種の認証タグを生成する。制御部20は、AES-256の暗号化アルゴリズムに従って、暗号化データを生成する。本実施例の暗号化アルゴリズムでは、GCM(Galois/Counter Modeの略)モードが利用される。制御部20は、暗号化データとともに、コンピュータプログラム58のコードに従って、認証タグを生成する。変形例では、GCMモードが利用されない場合、S38の処理は実行されず、認証タグが生成されなくてもよい。
【0046】
S40では、制御部20は、ファイル情報を生成する。ファイル情報は、S32で生成済みの第1種のナンスと、S38で生成済みの第1種の認証タグとを含む。なお、初期化ベクトルが生成される場合には、ファイル情報は、初期化ベクトルを含んでいてもよい。GCMモードが利用されない場合、ファイル情報は、第1種の認証タグを含んでいなくてもよい。ファイル情報は、S32で生成済みの第1種の暗号化データ52aを復号化するために必要な情報のうち、鍵データを除いた復号化用情報を含む。
【0047】
ファイル情報は、復号化用情報の他に、暗号化アルゴリズムを特定するための情報(例えばAES-256のGCMモードを表す値、暗号化アルゴリズムのバージョン情報)、特定データファイルの作成時刻、更新時刻、更新回数、最新処理時刻、ファイルサイズ、ファイル名、復号化後の特定データファイルの相対パス、ファイル情報用のチェックサムの少なくとも1つを含む。
【0048】
S42では、制御部20は、第2種のナンスを生成する。制御部20は、S32において第1種のナンスと同様に、第2種のナンスを生成する。次いで、S44では、制御部20は、S32で生成済みの鍵データと第2種のナンスとを用いて、S30で生成済みのファイル情報を暗号化することによって、第2種の暗号化データを生成する。制御部20は、S34の処理と同様に、AES-256に従って第2種の暗号化データを生成する。
【0049】
S46では、制御部20は、第2種の認証タグを生成する。制御部20は、S38の処理と同様に、コンピュータプログラム58のコードに従って、認証タグを生成する。変形例では、GCMモードが利用されない場合、S46の処理は実行されなくてもよい。
【0050】
S48では、制御部20は、鍵データと、S42で生成済みの第2種のナンスと、S46で生成済みの第2種の認証タグと、を連結し、連結済みデータから分散データを生成する。具体的には、制御部20は、鍵データと、S42で生成済みの第2種のナンスと、S46で生成済みの第2種の認証タグと、を連結して連結済みデータを生成する。制御部20は、鍵データと、S42で生成済みの第2種のナンスと、S46で生成済みの第2種の認証タグと、それぞれのデータを区別可能に結合して、一連のデータである連結済みデータを生成する。次いで、制御部20は、秘密分散法としてしきい値法を用いて、連結済みデータから分散データを生成する。本実施例では、分散データを生成するために、(2,2)しきい値法が用いられる。これにより、制御部20は、第1種の分散データと、第2種の分散データと、の2個の分散データを生成する。制御部20は、第1種の分散データと第2種の分散データとにおいて、関連する拡張子を付与する。これにより、制御部20は、2個の分散データが関連することを、拡張子を確認することによって特定することができる。変形例では、秘密分散法として、AONT(All Or Nothing Transformの略)秘密分散法が用いられてもよい。変形例では、連結済みデータから分散データを生成する際に、秘密分散以外の手法で、分散データを生成してもよい。例えば、連結済みデータを複数個に区切ることによって複数の分散データが生成されもよい。この場合、例えば、連結済みデータを、複数の分散データのデータサイズが等しくなるように分割してもよく、予め決められたサイズ毎に分割し、末尾の分散データのデータサイズを予め決められたサイズ以下としてもよい。この場合、複数の分散データの順序を特定するためのデータが生成されてもよい。
【0051】
S50では、制御部20は、S48で生成済みの第1種の分散データを、第1種の暗号化データ52aと同様に、格納領域52に格納する。
図4に示すように、第1種の分散データ52bは、暗号化データ52aと同一の格納領域52に格納される。S52では、制御部20は、S48で生成済みの第2種の分散データと、S44で生成済みの第2種の暗号化データと、を含むデータファイルを作成し、USBメモリ80に格納させる。データファイルには、コンピュータプログラム58で規定される特定の拡張子(例えば拡張子「.uwm1」)を割り当てられる。制御部82は、制御部20から要求に応じて、第2種の分散データと第2種の暗号化データを含むデータファイル84aを、格納部84に格納させて、分散格納処理を終了する。
【0052】
図6に戻って、分散格納処理が終了すると、S22に進む。S22において、制御部20は、USBメモリ80がUSBI/F32から取り外されるか否かを判断する。USBメモリ80が取り外されると判断される場合(S22でYES)、制御部20は、S12に戻って、S12の処理を実行する。一方、USBメモリ80が取り外されないと判断される場合(S22でNO)、制御部20は、S18の処理に戻る。
【0053】
S14において、格納部84に読み出すべきデータファイルが格納されている場合、制御部82は、データファイルが格納されていることを表す信号を、制御部20に供給する。制御部20は、データファイルが格納されていることを表す信号が受信されると、USBメモリ80にデータファイルが格納されていると判断して(S14でYES)、S24に進む。S24では、制御部20は、データ利用処理を実行する。
【0054】
(データ利用処理)
図8に示すように、データ利用処理では、まず、S62において、制御部20は、格納部84に格納されているデータファイル(例えばデータファイル84a)を読み込み、読込済みのデータファイルが分散データを含むデータファイルであるか否かを判断する。具体的には、制御部20は、データファイルの拡張子が、特定の拡張子(例えば拡張子「.uwm1」)であるか否かを判断する。データファイルの拡張子が、特定の拡張子でない場合、読込済みのデータファイルが分散データを含むデータファイルでないと判断して(S62でNO)、S64に進む。S64では、制御部20は、読込済みのデータファイルとユーザの操作部70への操作とに応じて、後述するS66以降の処理と異なるその他のデータ処理を実行して、データ利用処理を終了する。この構成によると、分散データが格納されていないUSBメモリが接続される場合に、端末装置10を利用することができる。
【0055】
一方、制御部20は、データファイルの拡張子が特定の拡張子である場合、読込済みのデータファイルが分散データを含むデータファイルであると判断して(S62でYES)、S66に進む。S66では、制御部20は、特定データファイルに含まれる分散データと同一のデータを分散することによって生成された分散データが格納部50から取得されるか否かを判断する。具体的には、制御部20は、特定データファイルの拡張子に関連する拡張子を有するデータファイルが格納部50に格納されているか否かを判断する。特定データファイルの拡張子に関連する拡張子を有するデータファイルが格納部50に格納されていない場合、制御部20は、分散データが格納部50から取得されないと判断して(S66でNO)、S68に進む。S68では、制御部20は、表示部60に分散データを取得することができないことを表すエラー画像を表示させて、データ利用処理を終了する。これにより、ユーザは、自身が所持するUSBメモリ80を用いてアクセス可能なデータファイルが、端末装置10に格納されていないことを認識することができる。変形例では、S68の処理は実行されなくてもよい。
【0056】
一方、特定データファイルの拡張子に関連する拡張子を有するデータファイルが格納部50に格納されている場合、制御部20は、分散データが格納部50から取得されると判断して(S66でYES)、S70に進む。S70では、制御部20は、S62及びS66で取得済みの2個の分散データを用いて、鍵データ、第2種のナンス及び第2種の認証タグを復元する。具体的には、制御部20は、S48の秘密分散においてしきい値法に従って、2個の分散データから鍵データ等を復元する。
【0057】
次いで、S72では、制御部20は、S70で復元した鍵データ、第2種のナンス及び第2種の認証タグを用いて、第2種の暗号化データを復号化する。これにより、ファイル情報が取得される。S74では、制御部20は、インデックスファイルを、メモリ24に生成する。インデックスファイルには、ファイル情報に含まれる情報のうち、特定データファイルの作成時刻、更新時刻、最新処理時刻、ファイルサイズ、ファイル名、第1種のナンス、第1種の認証タグ、及び相対パス含む。
【0058】
S76では、制御部20は、S70で復元済みの鍵データ、第2種のナンス及び第2種の認証タグを削除する。これにより、暗号化データの復号化が完了した後に、復号化に用いられる鍵データ等がそのまま利用可能な状態で格納される事態を回避することができる。この結果、鍵データ等が漏洩することを抑制することができる。
【0059】
S78では、制御部20は、特定データファイルを表すアイコン画像を表示部60に表示させる。具体的には、制御部20は、S74で生成済みのインデックスファイルを用いて、特定データファイルがメモリ24に格納されていると認識されるような態様で、表示部60に表示させる。
図10に示すように、表示部60上には、メモリ24の格納領域を表すウィンドウ画像内に、特定データファイルを表すアイコン画像64が表示される。アイコン画像64の周囲には、特定データファイルのファイル名を表す文字列が表示されていてもよい。
【0060】
S80では、制御部20は、操作部70にユーザによる閲覧操作が実行されるか否かを判断する。閲覧操作は、例えば、ユーザが操作部70のマウスを操作することによって、アイコン画像64にポインタを合わせて、マウスにダブルクリックを実行する操作を含む。閲覧操作は、ユーザが操作部70にキーボードを操作することによって、アイコン画像64を指定する操作を含んでいてもよい。閲覧操作が実行されない場合(S80でNO)、制御部20は、データ利用処理を終了して、
図6のS26に進む。一方、閲覧操作が実行される場合(S80でYES)、S82において、制御部20は、S70と同様に、制御部20は、S62及びS66で取得済みの2個の分散データを用いて、鍵データ、第2種のナンス及び第2種の認証タグを復元する。
【0061】
次いで、S84では、制御部20は、S82で復元された鍵データと、S72で取得済みのファイル情報に含まれる第1種のナンス及び第1種の認証タグと、を用いて、第1種の暗号化データを復号化する。S84の処理は、S72の処理と同様である。これにより、特定データファイルが取得される。
【0062】
S86では、制御部20は、S76と同様に、鍵データ、第2種のナンス及び第2種の認証タグを削除する。これにより、暗号化データの復号化が完了した後に、復号化に用いられる鍵データ等がそのまま利用可能な状態で格納される事態を回避することができる。この結果、鍵データ等が漏洩することを抑制することができる。復号化を実行するタイミングに合わせて、暗号化鍵データ等を復元し、使用後の暗号化データ等を削除することによって、暗号化データ等が使用されない期間に、暗号化データ等が端末装置10に格納され続けることを防止することができる。
【0063】
S88では、制御部20は、S84で復号化済みの特定データファイルに記録されているデータよって表される画像を、表示部60に表示して、データ利用処理を終了する。データ利用処理が終了されると、
図6のS26に進む。
【0064】
S26では、制御部20は、ユーザによって、特定データファイルに記録されているデータの更新が実行されるか否かを判断する。ユーザは、操作部70を操作することによって、特定データファイルに記録されているデータを更新することができる。例えば、特定データファイルが、文書作成のアプリケーションプログラムによって作成されている場合、ユーザは、操作部70を操作することによって、特定データファイルに記録されている文書データの少なくとも一部の文字を変更し、変更後のデータが記録されたデータファイルを格納することができる。また、例えば、特定データファイルが、描画のアプリケーションプログラムによって作成されている場合、ユーザは、操作部70を操作することによって、特定データファイルに記録されている描画データの少なくとも一部を変更し、変更後のデータが記録されたデータファイルを格納することができる。制御部20は、ユーザによって、操作部70に、特定データファイルに記録されているデータの変更のための変更操作及び特定データファイルを格納するための格納操作が実行されると、特定データファイルに記録されているデータの更新が実行されると判断して(S26でYES)、S28に進む。一方、制御部20は、ユーザによって、特定データファイルを格納するための格納操作が実行されずに、特定データファイルの表示を終了するための終了操作(例えば特定データファイルのデータを表す画像のウィンドウを閉じるための操作)が実行されると、データの更新が実行されないと判断し(S26でNO)、S22に進む。
【0065】
S28では、制御部20は、USBI/F32にUSBメモリ80が接続されているか否かを判断する。USBメモリ80が接続されていると判断される場合(S28でYES)、S20に進む。一方、USBメモリ80が接続されていない場合(S28でNO)、S29において、USBメモリ80が接続されていないために、データの更新を実行することができないことを表すエラー表示を、表示部60に表示させて、データ保護処理を終了する。この構成によると、USBメモリ80が端末装置10に接続されていない状態で、特定データファイルのデータが更新されることを禁止することができる。これにより、USBメモリ80が端末装置10に接続されていない状態で、特定データファイルのデータが改竄される事態を回避することができる。
【0066】
データの更新が実行された後で実行される分散格納処理では、更新済みの特定データファイルに対して、新たに鍵データが生成され(S32)、鍵データが分散されることによって、複数の分散データを含む分散データ群が生成される。この構成によると、データが更新されるごとに、鍵データを生成することができる。この結果、鍵データを使い回さずに済む。これにより、鍵データが漏洩することを抑制することができる。
【0067】
制御部20は、S20で実施される分散格納処理とは別に、予め設定されたタイミングで、分散格納処理を実行する。予め設定されたタイミングは、例えば、定期的(例えば1日おき)及びユーザによって操作部70に特定の操作が実行されたタイミングの少なくとも一方のタイミングであり、かつ、USBメモリ80が接続されている期間である。これにより、特定データファイルが更新されていないタイミングでも、鍵データを含む暗号情報データを新たに生成することができる。暗号情報データの変更の頻度を上げることによって、特定データファイルの復号化に使用可能な暗号情報データの漏洩を抑制することができる。さらに、暗号情報データが漏洩したとしても、変更することによって、漏洩した暗号情報データを用いた特定データファイルの復号化を防止することができる。
【0068】
変形例では、制御部20は、予め設定されたタイミング以外の所定の条件が成立する場合に、S20で実施される分散格納処理とは別に分散格納処理を実行してもよい。例えば、制御部20は、ユーザによって所定の操作が実行される場合に、分散格納処理を実行してもよい。また、あるいは、制御部20は、USBメモリ80が接続されない状態で、ユーザによって端末装置10が利用される場合に、分散格納処理を実行してもよい。
【0069】
(効果)
図11を参照して、データ保護システム1及び端末装置10の効果を説明する。制御部20は、鍵データ104及び第1種のナンス106を含む暗号情報データ103を用いて、特定データファイル102を暗号化して、暗号化データ52aを生成する(
図7のS34)。これにより、保護対象の特定データファイル102が暗号化された第1種の暗号化データ52aが生成される。第1種の暗号化データ52aが生成される際に生成される第1種の認証タグ108は、第1種のナンス106とともに、ファイル情報114に含まれる。ファイル情報114は、鍵データ104及び第2種のナンス116を用いて、暗号化され、第2種の暗号化データ126が生成される(
図7のS44)。
【0070】
ファイル情報114が暗号化されると、第2種の認証タグ118が生成される。制御部20は、鍵データ104、第2種のナンス116及び第2種の認証タグ118を結合して、秘密分散によって分散させる(
図7のS48)。分散データ122、124は、格納部50とUSBメモリ80とに分けて格納される。なお、分散データ124は、暗号化データ126と結合されて、USBメモリ80に格納される。この構成によると、端末装置10とUSBメモリ80のいずれかの装置に格納されている分散データが第三者に取得されたとしても、他の分散データが取得されない限り、鍵データ104が取得されずに済む。この構成によると、特定データファイル102は、漏洩し難くセキュリティレベルが高い。また、この構成では、特定データファイル102を格納するためにサーバ等を別途配置せずとも、セキュリティレベルが高いシステムを構築することができる。
【0071】
端末装置10において、暗号化データ、鍵データ、ナンス、認証タグが生成されるため、特定データファイル102の暗号化のために、別途、装置を配置せずに済む。
【0072】
この構成では、第1種の暗号化データ52aを分散データ122と同じ格納部50に格納させたとしても、分散データ124が取得されなければ、第1種の暗号化データ52aを復号化することができない。第1種の暗号化データ52aを分散データ122と同じ格納部50に格納させることによって、第1種の暗号化データ52a又は分散データ122を格納するための格納装置を別途配置しなくてよい。
【0073】
また、ファイル情報114を暗号化することによって、ファイル情報114から特定データファイル102の内容が知得されることを抑制することができる。さらに、特定データファイル102とファイル情報114とを共通の鍵データ104で暗号化することによって、鍵の管理を容易にするとともに、鍵データ104の分散によって、ファイル情報114を適切に保護することができる。
【0074】
データ利用処理では、制御部20は、特定データファイルを復号化する(
図8のS84)前に、ファイル情報を復号化し(
図8のS72)、特定データファイルを表すアイコン画像を、表示部60に表示させる(
図8のS78)。これにより、ユーザは、アイコン画像を確認することによって、特定データファイルの復号化の要否を判断することができる。この構成によれば、復号化不要な特定データファイルを復号化せずに済む。これにより、特定データファイルが漏洩することを抑制することができるとともに、メモリ24の負荷を軽減することができる。
【0075】
(第2実施例)
本実施例について、第1実施例と異なる点を説明する。本実施例では、分散格納処理が異なる。具体的には、分散格納処理では、複数のデータファイルのそれぞれが暗号化される。複数のデータファイルの暗号化に応じて、複数の鍵データが生成される。複数の鍵データは、1個のフォルダに纏められ、暗号化される。本実施例では、複数の鍵データの暗号化に用いられた鍵データを分散することによって、複数の鍵データを復号化するための鍵データが漏洩することを抑制する。
【0076】
分散格納処理では、ユーザによって1個以上のデータファイルを格納するための格納操作(例えば、複数のデータファイルのアイコン画像を、格納領域62にドラッグアンドドロップする操作)が実行されると、
図12に示すように、制御部20は、1個のデータファイルに対して、分散格納処理において、S30からS46の処理を実行する。次いで、S202において、制御部20は、複数のデータファイルのうち、S30からS46の処理が実行されていないデータファイルが存在するか否かを判断する。具体的には、格納操作された1個以上のデータファイルのうち、暗号化されていないデータファイルが存在する場合に、S30からS46の処理が実行されていないデータファイルが存在すると判断する(S202でYES)。一方、暗号化されていないデータファイルが存在しない場合に、S30からS46の処理が実行されていないデータファイルが存在しないと判断する(S202でNO)。S202でYESの場合、S30に戻って、残りのデータファイルに対してS30からS46の処理が実行される。これにより、1個以上のデータファイルが、全て暗号化される。
【0077】
S202でNOの場合、S204において、制御部20は、1回以上のS30からS46の処理のそれぞれにおいて生成済みの鍵データと第2種のナンスと第2種の認証タグとの1個以上の組合せを結合して、暗号化する。このとき、制御部20は、S32と同様に、第3種のナンス及び第2鍵データを含む暗号化情報データを生成する。さらに、制御部20は、S38と同様に、暗号化によって、第3種の認証タグを生成する。次いで、S205において、制御部20は、1個以上の鍵データが暗号化された鍵暗号化データを、格納部50に格納する。
【0078】
次いで、S206では、制御部20は、S40と同様に、ファイル情報を生成する。ファイル情報は、第3種のナンスと第3種の認証タグとを含む。ファイル情報は、さらに、S40で生成されるファイル情報と同様に、暗号化アルゴリズムを特定するための情報等を含む。S207では、制御部20は、S44と同様に、S206で生成済みのファイル情報を暗号化して、第3種の暗号化データを生成する。なお、制御部20は、第3種の暗号化データを生成する際に、第4種のナンスを生成する。制御部20は、第2鍵データと第4種のナンスとを用いて、第3種の暗号化データを生成する。さらに、制御部20は、S46と同様に、暗号化によって、第4種の認証タグを生成する。
【0079】
S208では、制御部20は、S48と同様に、第2鍵データと、第4種のナンスと、第4種の認証タグと、を連結し、連結済みデータから第3種の分散データ及び第4種の分散データを生成する。S209では、制御部20は、S50と同様に、S208で生成済みの第3種の分散データを、1個以上の暗号化データと同じ格納領域に格納する。S210では、制御部20は、S52と同様に、S208で生成済みの第2種の分散データ124と、S207で生成済みの第3種の暗号化データと、を含むデータファイルを作成し、USBメモリ80に格納させて、分散格納処理を終了する。
【0080】
データ利用処理では、
図8のS84において、S204で生成済みの鍵暗号化データが復号化される。これにより、1個以上の鍵データが復号化される。制御部20は、S88において、復号化済みの1個以上の鍵データによって復号化可能な1個以上の暗号化データを表すアイコン画像を、表示部60に表示させる。ユーザは、S88において、表示部60に表示される1個以上の暗号化データのアイコン画像のうち、ユーザが所望する暗号化データ(即ちデータファイル)のアイコン画像を選択する操作(例えばマウスを用いてアイコン画像をダブルクリック)を操作部70に実行することができる。制御部20は、ユーザによってアイコン画像が選択されると、1個以上の鍵データのうち、選択済みのアイコン画像によって表される暗号化データの鍵データを用いて、暗号化データを復号化する。これにより、端末装置10は、データファイルの処理を実行することができる。
【0081】
図13に示すように、本実施例では、2個のデータファイル202、252のそれぞれが、鍵データ204及び第1種のナンス206を含む暗号情報データ203及び鍵データ254及び第1種のナンス256を含む暗号情報データ253のそれぞれを用いて、暗号化される(
図12のS34)。これにより、保護対象のデータファイル202、252が暗号化された2個の第1種の暗号化データが生成される。第1種の暗号化データが生成される際に生成される第1種の認証タグ208は、第1種のナンス206とともに、ファイル情報214に含まれ、第1種の認証タグ258は、第1種のナンス256とともに、ファイル情報264に含まれる。ファイル情報214は、鍵データ204及び第2種のナンス216を用いて、暗号化される(
図12のS44)。同様に、ファイル情報264は、鍵データ254及び第2種のナンス266を用いて、暗号化される(
図12のS44)。
【0082】
ファイル情報214、264のそれぞれが暗号化されると、第2種の認証タグ218、268のそれぞれが生成される。制御部20は、鍵データ204、2個の第2種の暗号化データ210、260、2個の第2種のナンス216、266及び2個の第2種の認証タグ218、268を結合して、暗号化することによって、暗号化データ280が生成される(
図12のS204)。暗号化では、鍵データ274及び第3種のナンス276が生成される。暗号化データ280が生成されると、第3種の認証タグ278が生成される。
【0083】
第3種のナンス276と第3種の認証タグ278とは、ファイル情報284に含まれる(
図12のS206)。ファイル情報284は、鍵データ274及び第4種のナンス286を用いて、暗号化され、暗号化データ290が生成される(
図12のS207)。ファイル情報284が暗号化されると、第2種の認証タグ288が生成される。制御部20は、鍵データ274、第4種のナンス286及び第4種の認証タグ288を結合して、秘密分散によって分散させる(
図12のS208)。分散データ222、224は、格納部50とUSBメモリ80とに分けて格納される。なお、分散データ224は、暗号化データ290と結合される。この構成によると、端末装置10とUSBメモリ80のいずれかの装置に格納されている分散データが、第三者に取得されたとしても、他の分散データが取得されない限り、鍵データ274が取得されずに済む。
【0084】
複数のデータファイルを復号化するための鍵データ204、254は、それぞれが分散されずに暗号化される。これにより、鍵データ274を取得することによって、鍵データ204、254を取得することができる。この構成によれば、複数のデータファイル202、252の復号化に用いられる複数の鍵データ204、254のそれぞれを分散せずに済む。
【0085】
(第3実施利)
本実施例について、第1実施例と異なる点を説明する。本実施例では、分散格納処理が異なる。具体的には、本実施例では、複数のユーザが所持する複数のUSBメモリ80のそれぞれに分散データを格納することが想定されている。分散格納処理では、鍵データを3個以上の分散データに分散する。分散データのうち、2個以上の分散データが揃うと、暗号化データを復号化することができるように分散される。制御部20は、2個の分散データによって復元された鍵データを用いてデータファイルが復号化される場合、ユーザによる閲覧、即ち、表示部60にデータファイルに記録されているデータによって表される画像の表示を実行するが、データの更新を実行しない。一方、制御部20は、3個の分散データによって復元された鍵データを用いてデータファイルが復号化される場合、ユーザによる閲覧及び更新を実行可能である。本実施例では、複数の鍵データの暗号化に用いられた鍵データを分散することによって、複数の鍵データを復号化するための鍵データが漏洩することを抑制する。
【0086】
分散格納処理では、
図14に示すように、制御部20は、特定データファイルに対して、S30からS46の処理を実行する。次いで、S302において、制御部20は、S48と同様に、鍵データと、S42で生成済みの第2種のナンスと、S46で生成済みの第2種の認証タグと、を連結し、連結済みデータから分散データを生成する。S302では、制御部20は、3個の分散データに分散する。次いで、S50の処理が実行される。
【0087】
S306では、制御部20は、表示部60に、権限選択画像を表示させる。具体的には、権限選択画像は、特定データファイルの閲覧を許容し更新を禁止する第1権限と、特定データファイルの閲覧及び更新を許容する第2権限と、を選択するための画像である。制御部20は、ユーザが操作部70を操作することによって、第1権限及び第2権限のいずれかの権限を選択する選択操作(例えばユーザがマウスを操作することによって権限選択画像に含まれる第1権限又は第2権限の選択ボタンを選択する操作)を実行することを許容する。ユーザは、端末装置10に接続されているUSBメモリ80を所持するユーザに適した権限を選択可能である。
【0088】
S308では、制御部20は、ユーザによって選択操作が実行されることを待機している。選択操作が実行されると、S310において、制御部20は、権限に対応する個数の分散データ及び第2種の暗号化データをUSBメモリ80に格納する。制御部20は、ユーザによって第1権限が選択される場合に、1個の分散データをUSBメモリ80に格納させる。制御部20は、ユーザによって第2権限が選択される場合に、2個の分散データをUSBメモリ80に格納させる。
【0089】
なお、変形例では、制御部20は、4個以上の分散データに分散してもよい。権限選択画像では、3種類以上の権限が選択可能であってもよい。例えば、3種類以上の権限は、特定データファイルの閲覧を許容し更新及び送信(端末装置10から他の装置に特定データファイルを送信する処理)を禁止する第1権限と、特定データファイルの閲覧及び更新を許容し送信を禁止する第2権限と、特定データファイルの閲覧、更新及び送信を許容する第3権限と、を含んでいてもよい。
【0090】
S312では、制御部20は、USBメモリ80が変更されることを待機している。現在USBI/F32に接続されているUSBメモリ80が取り外され、別のUSBメモリ80が接続される場合、制御部20は、USBメモリ80が変更されたと判断して(S312でYES)、S306に戻る。一方、制御部20は、現在USBI/F32に接続されているUSBメモリ80が取り外されて、別のUSBメモリ80が接続されない場合、制御部20は、USBメモリ80が変更されないと判断して(S312でNO)、分散格納処理を終了する。
【0091】
制御部20は、USBメモリ80に1個の分散データが格納されている場合、データの更新が許容されていない。このため、データ保護処理のS26では、制御部20は、USBメモリ80に1個の分散データが格納されている場合、データが更新されていないと判断し(S26でNO)、S22に進む。USBメモリ80に2個の分散データが格納されている場合、制御部20は、第1実施例と同様に、データが更新されるか否かを判断する。
【0092】
この構成によれば、複数のユーザのそれぞれに応じて、特定データファイルの更新を制限することができる。これにより、例えば、1個のプロジェクトを複数のメンバーで進行している状況において、メンバーの役割に応じて、データファイルに対する権限を制限することができる。
【0093】
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【0094】
(1)鍵データの分散によって3個以上の分散データが生成されてもよい。例えば3個の分散データが生成される場合、3個の格納装置(例えば端末装置10、2個のUSBメモリ80)のそれぞれに、3個の分散データのそれぞれが格納されてもよい。この場合、端末装置10は、例えば2個のUSBメモリ80のそれぞれから分散データが取得される場合に、第1種の暗号化データを復号化してもよい。
【0095】
(2)特定データファイルの暗号化に用いられる鍵データと暗号化データの復号化に用いられる鍵データとは、異なっていてもよい。この場合、復号化に用いられる鍵データが分散されてもよく、暗号化に用いられる鍵データ及び復号化に用いられる鍵データが分散されてもよい。
【0096】
(3)第1種の暗号化データは、端末装置10以外の格納装置(例えばクラウドサーバ等)に格納されていてもよい。この場合、端末装置10は、S84において、格納装置から端末装置10に第1種の暗号化データを取得してもよい。これにより、第1種の暗号化データの閲覧等が不要な場合に、第1種の暗号化データを取得せずに済む。
【0097】
(4)分散格納処理及びデータ利用処理を含むデータ保護処理の少なくとも一部の処理は、端末装置10以外の制御部によって実行されてもよい。例えば、S30、S48、S82、S84の処理のうちの少なくとも1個の処理が、端末装置10以外の制御部によって実行されてもよい。
【0098】
(5)S28では、制御部20は、USBI/F32にUSBメモリ80が接続されていると判断される場合(S28でYES)にデータの更新を許容し、USBI/F32にUSBメモリ80が接続されていないと判断される場合(S28でNO)にデータの更新を禁止している。しかしながら、制御部20は、USBI/F32にUSBメモリ80が接続された後、USBメモリ80が取り外された場合にも、データの更新を許容してもよい。この場合、ユーザによって操作部70に特定の更新停止操作が実行されるまで、データの更新を許容してもよい。
【0099】
(6)鍵データは、分割されなくてもよい。この場合、端末装置10とUSBメモリ80とのうちの暗号化データが格納されていない装置に、鍵データが格納されてもよい。
【0100】
(7)特定データファイルは暗号化されていなくてもよい。この場合、USBメモリ80が端末装置10に接続されていること、又は、USBメモリ80が端末装置10に接続されていることに加えて、例えば、ユーザによって所定の操作(パパスワードの入力、所定のアプリケーションの起動等)が実行されたことを含む特定条件が成立する場合に、制御部20は、特定データファイルの閲覧等を実行可能であり、特定条件が成立しない場合、特定データファイルの閲覧等を制限する一方、他のデータファイルの閲覧等を実行可能であってもよい。
【0101】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0102】
1:データ保護システム、2、4:データファイル、6、8:分散データ、10:端末装置、20:制御部、22:CPU、24:メモリ、30:インターフェイス部、34:ネットワークI/F、50:格納部、52、54:格納領域、52a:暗号化データ、52b:分散データ、60:表示部、80:USBメモリ