IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ EAGLYS株式会社の特許一覧

特許7300781データ管理システム、データ管理方法、及びデータ管理プログラム
<>
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図1
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図2
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図3
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図4
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図5
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図6
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図7
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図8
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図9
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図10
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図11
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図12
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図13
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図14
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図15
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図16
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図17
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図18
  • 特許-データ管理システム、データ管理方法、及びデータ管理プログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-06-22
(45)【発行日】2023-06-30
(54)【発明の名称】データ管理システム、データ管理方法、及びデータ管理プログラム
(51)【国際特許分類】
   G06F 21/60 20130101AFI20230623BHJP
   H04L 9/08 20060101ALI20230623BHJP
【FI】
G06F21/60 320
H04L9/08 D
【請求項の数】 15
(21)【出願番号】P 2022182310
(22)【出願日】2022-11-15
【審査請求日】2022-11-18
【早期審査対象出願】
(73)【特許権者】
【識別番号】518334141
【氏名又は名称】EAGLYS株式会社
(74)【代理人】
【識別番号】100210815
【弁理士】
【氏名又は名称】西田 聡子
(72)【発明者】
【氏名】今林 広樹
【審査官】赤穂 州一郎
(56)【参考文献】
【文献】特開2021-022150(JP,A)
【文献】国際公開第2017/163393(WO,A1)
【文献】特開平11-143780(JP,A)
【文献】米国特許出願公開第2002/0184244(US,A1)
【文献】米国特許出願公開第2012/0271849(US,A1)
【文献】特開平10-207775(JP,A)
【文献】特開2014-096056(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるデータ管理システムであって、
前記鍵管理サーバは、暗号鍵を管理し、
前記プロキシサーバは、
属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、
前記暗号鍵に基づいて、前記機微データの前記属性項目に対応する属性値を、所定のデータ単位で暗号化する暗号化部と、
前記機微データの前記属性値に関する検索処理のクエリを受け付ける受付部と、
前記検索処理を実行する検索部と、を有し、
前記記憶領域は、
前記暗号化部が暗号化した前記機微データについて、前記所定のデータ単位でアクセス可能なデータベース形式で記憶するデータベースと、
前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位でアクセス可能に記憶するストレージと、を有し、
前記検索部は、
前記クエリに基づき、前記データベースを対象に、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記クエリの条件を満たす機微データが前記データベースになかったことに応じて、前記ストレージを対象に、当該ストレージが記憶するファイルに付与された前記発生日時に関連する情報に基づき、前記検索処理を実行する、
データ管理システム。
【請求項2】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるデータ管理システムであって、
前記鍵管理サーバは、暗号鍵を管理し、
前記プロキシサーバは、
属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、
前記暗号鍵に基づいて、前記機微データの前記属性項目に対応する属性値を、所定のデータ単位で暗号化する暗号化部と、
前記機微データの前記属性値に関する検索処理のクエリを受け付ける受付部と、
前記検索処理を実行する検索部と、を有し、
前記記憶領域は、
前記暗号化部が暗号化した前記機微データについて、前記所定のデータ単位でアクセス可能なデータベース形式で記憶するデータベースと、
前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位でアクセス可能に記憶するストレージと、を有し、
前記検索部は、前記クエリに基づき、
前記データベースを対象に検索する場合は、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記ストレージを対象に検索する場合、前記発生日時に関連する情報に基づき、前記クエリの条件を満たすファイルを特定し、
当該特定したファイルが複数あるときは、複数の当該ファイルに含まれる機微データを統合した1つのデータセットに対し、前記検索処理を実行する、
データ管理システム。
【請求項3】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるデータ管理システムであって、
前記鍵管理サーバは、暗号鍵を管理し、
前記プロキシサーバは、
属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、
前記暗号鍵に基づいて、前記機微データの前記属性項目に対応する属性値を、所定のデータ単位で暗号化する暗号化部と、
前記機微データの前記属性値に関する検索処理のクエリを受け付ける受付部と、
前記検索処理を実行する検索部と、
を有し、
前記記憶領域は、
前記暗号化部が暗号化した前記機微データについて、前記所定のデータ単位でアクセ
ス可能なデータベース形式で記憶するデータベースと、
前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位
でアクセス可能に記憶するストレージと、を有し、
前記検索部は、前記クエリに基づき、
前記データベースを対象に検索する場合は、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記ストレージを対象に検索する場合、前記発生日時に関連する情報に基づき、前記クエリの条件を満たすファイルを特定し、
当該特定したファイルが暗号化されているときは、ファイルを復号し、復号したファイルに対して前記検索処理を実行する、
データ管理システム。
【請求項4】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるデータ管理システムであって、
前記鍵管理サーバは、暗号鍵を管理し、
前記プロキシサーバは、
属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、
前記暗号鍵に基づいて、前記機微データの前記属性項目に対応する属性値を、所定のデータ単位で暗号化する暗号化部と、
前記機微データの前記属性値に関する検索処理のクエリを受け付ける受付部と、
前記検索処理を実行する検索部と、
を有し、
前記記憶領域は、
前記暗号化部が暗号化した前記機微データについて、前記所定のデータ単位でアクセ
ス可能なデータベース形式で記憶するデータベースと、
前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位
でアクセス可能に記憶するストレージと、を有し、
前記検索部は、前記クエリに基づき、
前記データベースを対象に検索する場合は、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記ストレージを対象に検索する場合、前記発生日時に関連する情報に基づき、前記クエリの条件を満たすファイルを特定し、
当該特定したファイルがダンプファイルのときは、当該ダンプファイルを前記データベース形式にして、前記検索処理を実行する、
データ管理システム。
【請求項5】
前記プロキシサーバは、前記発生日時が所定の期間内である前記機微データについてファイル化し、当該発生日時に関連する情報を付与してファイルを生成するファイル生成部を、さらに有し、
前記ストレージは、前記ファイル生成部が生成した前記ファイルを記憶する、
請求項1から請求項4のいずれか一項に記載のデータ管理システム。
【請求項6】
前記ファイル生成部がファイルを生成し、前記ストレージが当該ファイルを記憶する処理と、前記データベースが前記暗号化部が暗号化した前記機微データを前記データベース形式で記憶する処理は、並列的に行われる、請求項5に記載のデータ管理システム。
【請求項7】
前記ファイル生成部は、前記機微データ取得部から取得した前記機微データについて前記ファイル化したファイルを暗号化して、前記ファイルを生成する、請求項6に記載のデータ管理システム。
【請求項8】
前記ファイル生成部は、前記暗号化部から取得した、前記暗号化された機微データを前記ファイル化して、前記ファイルを生成する、請求項6に記載のデータ管理システム。
【請求項9】
前記ファイル生成部は、前記データベースから取得した、前記暗号化された機微データを復号し、当該復号された機微データについて前記ファイル化して、前記ファイルを生成する、請求項5に記載のデータ管理システム。
【請求項10】
前記ストレージは、前記ファイル生成部が生成したファイルに関して暗号化されたファイルを記憶する、請求項9に記載のデータ管理システム。
【請求項11】
前記発生日時が所定の期間内である前記機微データについて、前記データベースから取得してファイル化し、当該発生日時に関連する情報を付与してファイルを生成するファイル生成部を備え、
前記ストレージは、前記ファイル生成部が生成した前記ファイルを記憶する、請求項1から請求項4のいずれか一項に記載のデータ管理システム。
【請求項12】
前記ファイル生成部は、前記プロキシサーバの外に備える、請求項11に記載のデータ管理システム。
【請求項13】
前記ファイル生成部が生成した前記ファイルはダンプファイルである、請求項11に記載のデータ管理システム。
【請求項14】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるシステムにおけるデータ管理方
法であって、
前記鍵管理サーバが、暗号鍵を管理するステップと、
前記プロキシサーバが、属性項目として、イベントと、当該イベントの発生日時とを少
なくとも含む機微データを取得するステップと、
前記プロキシサーバが、前記暗号鍵に基づいて、前記機微データの前記属性項目に対応
する属性値を、所定のデータ単位で暗号化するステップと、
前記プロキシサーバが、前記機微データの前記属性値に関する検索処理のクエリを受け付けるステップと、
前記プロキシサーバが、前記検索処理を実行するステップと、
前記記憶領域のデータベースが、前記暗号化するステップにおいて暗号化した前記機微データについて、前記所定のデータ単位でアクセス可能なデータベース形式で記憶するステップと、
前記記憶領域のストレージが、前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位でアクセス可能に記憶するステップと、を備え、
前記プロキシサーバは、前記検索処理を実行するステップにおいて、
前記クエリに基づき、前記データベースを対象に、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記クエリの条件を満たす機微データが前記データベースになかったことに応じて、前記ストレージを対象に、当該ストレージが記憶するファイルに付与された前記発生日時に関連する情報に基づき、前記検索処理を実行する、
データ管理方法。
【請求項15】
鍵管理サーバと、プロキシサーバと、記憶領域を備えるシステムにおけるデータ管理プ
ログラムであって、
前記鍵管理サーバが、暗号鍵を管理するステップと、
前記プロキシサーバが、属性項目として、イベントと、当該イベントの発生日時とを少
なくとも含む機微データを取得するステップと、
前記プロキシサーバが、前記暗号鍵に基づいて、前記機微データの前記属性項目に対応
する属性値を、所定のデータ単位で暗号化するステップと、
前記プロキシサーバが、前記機微データの前記属性値に関する検索処理のクエリを受け付けるステップと、
前記プロキシサーバが、前記検索処理を実行するステップと、
前記記憶領域のデータベースが、前記暗号化するステップにおいて暗号化した前記機微データについて、前記所定のデータ単位でアクセス可能なデータベース形式で記憶するステップと、
前記記憶領域のストレージが、前記発生日時が所定の期間内である前記機微データを含むファイルを、ファイル単位でアクセス可能に記憶するステップと、を備え、
前記プロキシサーバは、前記検索処理を実行するステップにおいて、
前記クエリに基づき、前記データベースを対象に、前記機微データを前記所定のデータ単位で暗号化したまま、前記検索処理を実行し、
前記クエリの条件を満たす機微データが前記データベースになかったことに応じて、前記ストレージを対象に、当該ストレージが記憶するファイルに付与された前記発生日時に関連する情報に基づき、前記検索処理を実行する、
データ管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ管理システム、データ管理方法、及びデータ管理プログラムに関する。
【背景技術】
【0002】
近年、情報処理システムの運用においては、サーバコンピュータやファイアウォール、ルータ等のネットワーク機器のログが収集されている。ログとは、機器等において発生したイベント(出来事)についての情報などを、イベントの発生日時と対応付けて一定の形式で規定されたデータのことである。例えば、コンピュータであれば、アクセスがあったことを記録するアクセスログ、情報処理にエラーが発生したことを記録するエラーログ、バグの発見を目的として、プログラムの動作を記録するデバッグログ等がある。昨今のデータ処理、機械学習等の性能向上に伴い、上述のようなログを用いて、例えば、障害発生時の原因調査、セキュリティ異常の検知や、障害やセキュリティ異常の予測、事後調査および分析等を精度よく行う技術の開発が期待されている。
【0003】
収集したログは、一定期間(例えば、一日単位。)ごとのログを一つのファイルにまとめ、そのファイルをローカルの記憶装置や、クラウドストレージに記憶することが行われている。機器において発生した出来事等を記録しているログのファイルは、システムへの不正アクセスへのヒントとなる情報やセキュリティの脆弱性に関する機微データであるため、暗号化しておく必要がある。例えば、特許文献1には、収集したログファイルに対して、暗号化した上で、ストレージに保存する暗号化装置が開示されている。
【0004】
また、収集したログは、目的とする情報を容易に検索できるように、データベースに記憶することが望ましい。例えば、特許文献2には、暗号化DBに蓄積された文書を暗号化したままで検索する検索システムにおいて、当該暗号化DB検索処理の高速化をはかる暗号化データベース検索装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2010-128901号公報
【文献】特開2005-134990号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述のように、ログを一定期間ごとにファイルにまとめ、ファイル単位で暗号化して保存する場合、必要なログの情報にアクセスするためには、次のような手順を取る。まず、必要なログの情報が含まれているであろう期間を推測し、その期間のログに該当する複数のファイルを記憶装置から取得する。そして、それらのファイルを復号した上で、ファイルごとに、または各ファイルのログを一つのファイルにまとめたファイルについて検索等を行う。この場合、セキュリティは担保されるものの、暗号化されているファイルに対して一括に検索できないため、ログの活用に手間がかかるという課題がある。
【0007】
上記特許文献1に記載された発明は、ログファイルを暗号化してストレージに保存するのみで、ログをデータベースに記憶するものではない。また、上記特許文献2に記載された発明は、暗号化されたデータをデータベースに記憶するものの、暗号化の対象は一般的な文書であり、ネットワーク機器等から収集したログではない。すなわち、ネットワーク機器の障害発生時にログを効率的に活用して原因調査、またはセキュリティ異常の検知、予測に役立てるものではない。
【0008】
データ利用時の便益を考慮して、全てのログをデータベースに記憶してもよいが、時間の経過とともに増え続けるログデータを全て記憶するためには膨大な記憶容量が必要となり、コストがかかってしまう。また、殆どのログデータは正常なデータであり、障害検知や異常予測のために必要である異常なデータはわずかなため、全てのログデータをデータベースに記憶する実益は、コストがかかる割には少ない。
【0009】
本発明はこのような課題に鑑みてなされたものであって、その目的は、機器等から収集した機微データを暗号化し効率的に活用する技術を提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本開示に係るデータ管理システムは、鍵管理サーバと、プロキシサーバと、記憶領域を備えるデータ管理システムであって、鍵管理サーバは、暗号鍵を管理し、プロキシサーバは、属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、暗号鍵に基づいて、機微データの属性項目に対応する属性値を、所定のデータ単位で暗号化する暗号化部と、を有し、記憶領域は、暗号化部が暗号化した機微データについて、所定のデータ単位でアクセス可能なデータベース形式で記憶するデータベースと、発生日時が所定の期間内である機微データを含むファイルを、ファイル単位でアクセス可能に記憶するストレージと、を有する。
【0011】
また、上記目的を達成するため、本開示に係るデータ管理方法は、鍵管理サーバと、プロキシサーバと、記憶領域を備えるシステムにおけるデータ管理方法であって、鍵管理サーバが、暗号鍵を管理するステップと、プロキシサーバが、属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得するステップと、プロキシサーバが、暗号鍵に基づいて、機微データの属性項目に対応する属性値を、所定のデータ単位で暗号化するステップと、記憶領域が、暗号化するステップにおいて暗号化した機微データについて、所定のデータ単位でアクセス可能なデータベース形式で記憶するステップと、記憶領域が、発生日時が所定の期間内である機微データを含むファイルを、ファイル単位でアクセス可能に記憶するステップと、を備える。
【0012】
また、上記目的を達成するため、本開示に係るデータ管理プログラムは、鍵管理サーバと、プロキシサーバと、記憶領域を備えるシステムにおけるデータ管理プログラムであって、鍵管理サーバが、暗号鍵を管理するステップと、プロキシサーバが、属性項目として、イベントと、当該イベントの発生日時とを少なくとも含む機微データを取得するステップと、プロキシサーバが、暗号鍵に基づいて、機微データの属性項目に対応する属性値を、所定のデータ単位で暗号化するステップと、記憶領域が、暗号化するステップにおいて暗号化した機微データについて、所定のデータ単位でアクセス可能なデータベース形式で記憶するステップと、記憶領域が、発生日時が所定の期間内である機微データを含むファイルを、ファイル単位でアクセス可能に記憶するステップと、を備える。
【発明の効果】
【0013】
本発明によれば、機器等から収集した機微データを暗号化し効率的に活用することができる。これにより、セキュリティを担保しつつ、活用に適した形でログ等の機微データを保存することが可能となる。また、ネットワーク機器の障害発生時にログを効率的に活用して原因調査、またはセキュリティ異常の検知、予測に役立てることが可能となる。
【図面の簡単な説明】
【0014】
図1】データ管理システム1の構成を示す図である。
図2】実施形態1に係る処理の概念図である。
図3】プロキシサーバ2000の能構成の一例を示す機能ブロック図である。
図4】鍵管理サーバ3000の機能構成の一例を示す機能ブロック図である。
図5】データベースサーバ4000の能構成の一例を示す機能ブロック図である。
図6】機微データのデータ構造の一例を示した図である。
図7】実施形態1に係る処理の一例を示すフローチャートである。
図8】プロキシサーバ2000のハードウェア構成を示すブロック図である。
図9】プロキシサーバ2100の能構成の一例を示す機能ブロック図である。
図10】プロキシサーバ2200の機能構成の一例を示す機能ブロック図である。
図11】データ管理システム4の構成を示す図である。
図12】実施形態2に係る処理の概念図である。
図13】プロキシサーバ2300の機能構成の一例を示す機能ブロック図である。
図14】データベースサーバ4100の機能構成の一例を示す機能ブロック図である。
図15】実施形態2に係る処理の一例を示すフローチャートである。
図16】データ管理システム5の構成を示す図である。
図17】実施形態3に係る処理の概念図である。
図18】プロキシサーバ2400の能構成の一例を示す機能ブロック図である。
図19】実施形態3に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。
【0016】
<実施形態1>
本実施形態では、ネットワーク機器1000-1,1000-2,…,1000-Nが出力する機微データをプロキシサーバ2000が取得し、暗号化した上で、データベース及びストレージに記憶する。
【0017】
(データ管理システム1の構成)
図1は、本実施形態に係るデータ管理システム1の構成を示す図である。図1を参照して、実施形態1に係るデータ管理システム1の構成について説明する。
【0018】
データ管理システム1は、ネットワーク機器1000-1,1000-2,…,1000-N(Nは自然数)と、プロキシサーバ2000と、鍵管理サーバ3000と、データベースサーバ4000とを備える。図1において、ネットワーク機器1000-1,1000-2,…,1000-Nと、プロキシサーバ2000と、鍵管理サーバ3000と、データベースサーバ4000とは、ネットワークNWを介して通信可能に接続される。ネットワークNWは、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、光回線網、イントラネット等であるが、任意のネットワークから構成されてもよい。
【0019】
以下の説明では、ネットワーク機器1000-1,1000-2,…,1000-Nは、特に区別する必要のない限り、ネットワーク機器1000と記載する。
【0020】
ネットワーク機器1000は、これらが出力するログを機微データとして、プロキシサーバ2000に送信する。ネットワーク機器1000は、ファイアウォール、ルータ、サーバ、システムなどのネットワークに接続可能な機器類を含む。
【0021】
ログとは、発生したイベント(出来事)についての情報などを、イベントの発生日時と対応付けて一定の形式で規定されたデータのことである。他の機器と通信したことを記録する通信ログ、アクセスがあったことを記録するアクセスログ、情報処理にエラーが発生したことを記録するエラーログ、バグの発見を目的として、プログラムの動作を記録するデバッグログ等がある。すなわち、ログは、継続的に機器から出力されるデータであり、蓄積していくと、時間の経過とともに膨大なデータ量となる。
【0022】
プロキシサーバ2000は、ネットワーク機器1000から、ログを機微データとして取得し、必要に応じてデータベースサーバ4000のデータベース(後述)及びストレージ(後述)の保存に適するよう前処理を行う。次いで、プロキシサーバ2000は、鍵管理サーバ3000から暗号鍵を取得して機微データ(ログ)を暗号化した上で、データベースサーバ4000のデータベースに保存する。
【0023】
鍵管理サーバ3000は、機微データを暗号化する暗号鍵を管理する。鍵管理サーバ3000は、プロキシサーバ2000が機微データを暗号化するのに用いる暗号鍵をプロキシサーバ2000に対して送信する。なお、鍵管理サーバ3000は、プロキシサーバ2000に内包されるように構成されてもよい。すなわち、プロキシサーバ2000が、暗号鍵を管理する機能を備えてもよい。
【0024】
データベースサーバ4000は、記憶領域を有する記憶サーバとして機能する。データベースサーバ4000は、記憶領域として、データをテーブル形式で記憶するデータベースを有する。データベースとは、例えば、階層型データベース、ネットワーク型データベース、リレーショナル型データベース及びNoSQL(Not Only SQL)データベース、NewSQL等である。データベースは、テーブルに対し所定のデータ単位で高速にアクセスすることが可能であり、ユーザの日常的な使用に用いられるものである。所定のデータ単位とは、例えば、テーブルのセル単位や、カラム単位、レコード単位である。なお、データベースは、リレーションを持った形式で機微データを記憶したり、テーブル形式に代えて、例えば、ドキュメント形式やグラフ形式で記憶してもよい。
【0025】
また、データベースサーバ4000は、記憶領域として、CSV(Comma Separated Value)ファイルやXMLファイルのように、一定の書式・形式に従ったデータをファイル形式で記憶するストレージを有する。ストレージは、ファイル単位でアクセスすることが可能であり、データの長期保管やバックアップに用いられる。ストレージに用いられる記憶媒体は、データベースと比較すると、一般的に安価である。
【0026】
データベースサーバ4000は、プロキシサーバ2000により暗号化された機微データをデータベースに記憶する。また、データベースサーバ4000は、一定期間データベースに保存されたデータのうち、ネットワーク機器の異常を示す機微データ、及び当該機微データに対し時間的に前後に記録された機微データをデータベースに残し、それ以外の暗号化された機微データをデータベースから削除する。このとき、データベースサーバ4000は、データベースに記憶されていた、暗号化された機微データをファイル化した形式にしてストレージに記憶する。
【0027】
すなわち、データベースサーバ4000のストレージには、暗号化された全ての機微データがファイル化して記憶されることで、完全なログファイルを集約することができる。
【0028】
以上のように、データ管理システム1では、データベースサーバ4000は、機微データをデータベースとストレージに記憶する。データの効率的な活用のためには、データへのアクセス等が高速なデータベースに全データを格納することが望ましいが、機微データは上述のように、膨大な量であるため、経済的に全データをデータベースに格納することは困難である。また、ログのほとんどは、正常なデータであり、異常等の検知には解析の必要性は低い。そこで、本実施形態に係るデータ管理システム1は、データ活用に有用な、所定の条件を満たす機微データのみをデータベースに残す。そして、全ての機微データをストレージに格納することで、経済的な問題を解消しつつ、データを最大限に活用することを実現している。
【0029】
以下、上述したデータ管理システム1を構成する各サーバ等の機能構成、処理について説明する。なお、各機能構成を示す機能ブロックや処理ブロックは、1つ、または複数の装置、コンピュータプロセッサ、コンピュータプロセッサの分散グループによって実現されてもよい。例えば、プロキシサーバ2000、鍵管理サーバ3000、データベースサーバ4000が行う各機能は、複数の装置で実現されてもよいし、1つの装置で実現されてもよい。
【0030】
図2は、実施形態1に係る処理の概念図である。図2を参照して、データ管理システム1における処理の概要について説明する。なお、図2において、実線の矢印は処理の流れを、破線の矢印はデータの流れを示す。
【0031】
実施形態1に係るデータ管理システム1は、ネットワーク機器のログである機微データをデータベースに記憶する。そして、一定期間経過後、異常を示す機微データ、及び当該機微データに対し時間的に前後に記録された機微データ以外の機微データは、データベースから削除される。また、当該削除された機微データを含む、データベースに保存されていた所定の機微データは、ファイル化され、ストレージに格納される。
【0032】
(1)機微データ取得ステップ
ネットワーク機器1000は、ログをプロキシサーバ2000に送信し、プロキシサーバ2000は、ネットワーク機器1000から、ネットワーク機器に関するログである機微データを取得する。
【0033】
(2)前処理ステップ
プロキシサーバ2000は、機微データを取得した後、必要に応じて前処理を行う。例えば、後述するように前処理として、プロキシサーバ2000は、予めシステム運用者等によって決められた属性項目と属性値に対応するよう機微データの形式を整える。
【0034】
具体的には、前処理として、プロキシサーバ2000は、取得した機微データに対して、構文解析を行い、機微データの形式を整えてもよい。ネットワーク機器1000が送信するログは、例えば、いつ(時間)、誰が(どの機器が)、どのアプリケーションにおいて、どのような動作をしたかなどのイベントに関する情報(属性項目に対応する属性値)を含む。プロキシサーバ2000は、機微データに含まれる機器名、発生日(年月日)、発生時(時刻)、場所(IPアドレス)、アプリケーション名、ユーザID、ユーザ名、動作内容などを分析する。そして、それぞれの値について、属性項目に対応する属性値として関連付けた上で、機微データの形式を整えてもよい。また、プロキシサーバ2000は、取得した機微データに対して、ログごとに前処理を行ってもよいし、複数のログをまとめて前処理を行ってもよいし、これらを事前設定により決めておいてもよい。さらに、プロキシサーバ2000は、前処理として、データベースサーバのデータベースが複数存在する場合には、どのデータベースに機微データを格納するか決定を行ってもよい。
【0035】
また、プロキシサーバ2000は、例えば、(上記)発生日の表記において、「2021/1/1」、「2021.1.1」、「2021-1-1」、「2021年1月1日」は、全て同じ意味であるが、表記が異なるので、正規化を行い、同じ内容の属性値に対して、表現方法の統一化を行ってもよい。
【0036】
以上のような前処理においては、既存のアルゴリズムなどを用いて行ってもよい。なお、全ての機器が同じ形式でログを作成する必要はなく、機器によりその形式が異なってもよい。また、上述の前処理はプロキシサーバ2000の必須の構成要素ではなく、他の機器において行われてもよい。
【0037】
(3)暗号化ステップ
プロキシサーバ2000は、機微データを所定の暗号化方式で暗号化する。所定の暗号化方式は、例えば、準同型暗号方式、順序保存暗号方式(OPE方式:Order Preserving Encryption)やORE方式(Order Revealing Encryption)などの検索可能暗号、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、SHA(Secure Hash Algorithm)、MD5(Message Digest algorithm 5)などである。どの暗号方式で暗号化するかは、予め機微データの属性値によって、システム運用者等により設定されていてもよい。
【0038】
プロキシサーバ2000は、鍵管理サーバ3000から、機微データを暗号化するための鍵を取得して、所定のデータ単位ごとに暗号化を行う。プロキシサーバ2000は、所定のデータ単位として、機微データに対して、前処理を施した後、一つのログの属性項目の属性値ごと(複数のログを表に見立てた場合、セル単位)に暗号化してよい。また、属性項目ごと(カラム単位)や、1つのログ(レコード単位)に暗号化してもよい。なお、暗号化したままログの情報を、効率的に、高速に、検索可能とするためには、一つのログの属性項目の属性値ごとに暗号化することが望ましい。
【0039】
プロキシサーバ2000において暗号化された機微データはデータベースサーバ4000に送られる。そして、データベースサーバ4000は、暗号化された機微データをデータベースに記憶する。
【0040】
(4)ファイル生成ステップ
データベースサーバ4000は、イベントの発生日時が所定の期間内である機微データが暗号化された状態でファイル化し、ストレージに記憶する。「所定の期間」とは、例えば、システム運用開始または、前回ファイル化が完了した期間から、3時間、1日、2ヶ月などの定期的な期間であり、データベースサーバの記憶容量やシステムから発生するログの容量などを踏まえて適宜設定してよい。また、期間の起算時点は、例えば、データベースに機微データが記憶され始めた時点であるが、システム運用者等が適宜設定してよい。
【0041】
(5)削除ステップ
データベースサーバ4000は、所定の期間経過後、所定の条件を満たす機微データをデータベースから削除する。
【0042】
「所定の期間経過後」とは、例えば、3時間経過後、1日経過後、2ヶ月経過後など、データベースサーバの記憶容量やシステムから発生するログの容量などを踏まえて適宜設定してよい。また、期間の起算時点は、例えば、データベースに機微データが記憶され始めた時点、または、ファイル生成が完了した後であるが、システム運用者等が適宜設定してよい。
【0043】
「所定の条件」を満たす機微データとは、例えば「正常なログ」、「異常を示すログを除くデータ」、「機器障害とセキュリティ異常を示すログを除くデータ」など、適宜設定してよい。異常を示すログとは、例えば、エラー及び/又は警告を内容として含むログである。通常、エラーを示すログは「Error」、警告を示すログは「Warning」など明確に示されるため、これらの文字ないしフラグを含むログとしてもよい。また、ある閾値を設定し、閾値以上の値を示すログ又は閾値以下の値を示すログを、異常を示すログとしてもよい。正常なログとは、異常を示すログ以外のログをいう。
【0044】
ログはほとんどが機器の状態が正常であることを示すデータであるため、機器の状態を把握し、又は、ログを分析するためには、異常を示すログの情報が重要である。したがって、データベースサーバ4000は、例えば、異常を示すログを、検索を効率的に行うことができるデータベースに残すことが望ましい。また、ログを分析し、将来の異常を予測するため、データベースサーバ4000は、異常を示すログに加え、当該異常を示すログの時間的に前後のログもデータベースに残すことが望ましい。「前後のログ」とは、例えば、異常を示すログに対して時間的に前後に(連続的に)記録されたログであってもよいし、異常を示すログに対して、前後一定期間内に(断続的に)記録されたログであってもよい。すなわち、「所定の条件」とは、データベースから削除する対象とするデータであり、例えば、異常を示すログとその周辺のログ以外のものとしてもよい。また、ネットワーク機器1000に応じて、所定の条件を適宜設定してもよい。
【0045】
以上、図2において実施形態1における処理の概念を説明したが、実施形態1では、機微データがデータベースに記憶され、異常を知らせるログなど、平時とは異なるシステム管理上重要な機微データがデータベースに格納される。そして、全ての機微データはファイルとしてストレージに格納される。一般的に、データベースから情報を検索することは高速に行うことが可能であるため、実施形態1のデータ管理システム1により、システム管理上重要な機微データについてデータベースから高速に検索することが可能となる。なお、ストレージに格納するデータは、データベースに格納された全ての機微データではなく、所定の条件を満たす、データベースから削除される機微データであってもよい。
【0046】
(プロキシサーバ2000の機能構成)
図3は、プロキシサーバ2000の能構成の一例を示す機能ブロック図である。図3を参照して、プロキシサーバ2000の機能構成の一例について説明する。
【0047】
プロキシサーバ2000は、通信部2010と、記憶部2020と、制御部2030とを備える。
【0048】
通信部2010は、プロキシサーバ2000がネットワークNWを介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。所定の通信プロトコルは、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。通信部2010は、受信したデータを制御部2030に送り、また、制御部2030から受け取ったデータを、ネットワークNWを介してサーバや装置等に送信するが、通信部2010は、プロキシサーバ2000内の制御部2030以外の機能ブロックとデータのやり取りを行ってもよい。
【0049】
通信部2010は、ネットワーク機器1000から機微データを取得する。また、通信部2010は、暗号化した機微データをデータベースサーバ4000に送信する。
【0050】
記憶部2020は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶部2020は、プロキシサーバ2000の各種処理に用いられるコンピュータプログラム、暗号プログラム、鍵等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部2020にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等である。コンピュータプログラムは、所定のサーバ等からインストールされてもよい。
【0051】
制御部2030は、プロキシサーバ2000の各機能を制御し、予め記憶部2020に記憶されているプログラムに基づいて動作するCPU(Central Processing Unit)等のプロセッサである。なお、制御部2030として、DSP(digital signal processor)等が用いられてもよい。また、制御部2030として、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の制御回路が用いられてもよい。
【0052】
また、制御部2030は、機微データ取得部2031と、暗号化部2032としての機能を備える。
【0053】
機微データ取得部2031は、通信部2010を介して、ネットワーク機器1000からログである機微データを取得する。そして、機微データに対し、図示しない前処理部において、上述したような前処理が行われる。
【0054】
暗号化部2032は、鍵管理サーバ3000より通信部2010を介して暗号鍵を取得し、機微データを所定のデータ単位で暗号化する。所定のデータ単位とは、例えば、機微データの属性項目に対応する属性値(セル単位)ごと、属性項目ごと(カラム単位)、1つのログごと(レコード単位)である。暗号化部2032は、機微データの形式(数字、文字列等)に応じて、例えば、準同型暗号方式、順序保存暗号方式(OPE方式:Order Preserving Encryption)やORE方式(Order Revealing Encryption)などの検索可能暗号、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、SHA(Secure Hash Algorithm)、MD5(Message Digest algorithm 5)などの暗号方式で暗号化する。
【0055】
(鍵管理サーバ3000の機能構成)
図4は、鍵管理サーバ3000の機能構成の一例を示す機能ブロック図である。図4を参照して、鍵管理サーバ3000の機能構成の一例について説明する。
【0056】
鍵管理サーバ3000は、通信部3010と、記憶部3020と、制御部3030とを備える。
【0057】
通信部3010は、鍵管理サーバ3000がネットワークNWを介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。所定の通信プロトコルは、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。通信部3010は、受信したデータを制御部3030に送り、また、制御部3030から受け取ったデータを、ネットワークNWを介してサーバや装置等に送信するが、通信部3010は、鍵管理サーバ3000内の制御部3030以外の機能ブロックとデータのやり取りを行ってもよい。
【0058】
通信部3010は、プロキシサーバ2000から問合せを受け、該当する鍵データをプロキシサーバ2000に送信する。
【0059】
記憶部3020は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶部3020は、プロキシサーバ2000の各種処理に用いられるコンピュータプログラム、暗号プログラム、鍵等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部3020にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等である。コンピュータプログラムは、所定のサーバ等からインストールされてもよい。
【0060】
記憶部3020には、プロキシサーバ2000において、機微データを暗号化し、又は復号するための鍵データを記憶する。
【0061】
制御部3030は、鍵管理サーバ3000の各機能を制御し、予め記憶部3020に記憶されているプログラムに基づいて動作するCPU(Central Processing Unit)等のプロセッサである。なお、制御部3030として、DSP(digital signal processor)等が用いられてもよい。また、制御部3030として、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の制御回路が用いられてもよい。
【0062】
また、制御部3030は、鍵管理部3031としての機能を備える。
【0063】
鍵管理部3031は、通信部3010を介して、プロキシサーバ2000に対して、鍵データを送信する。
【0064】
鍵管理部3031は、暗号鍵および復号鍵を管理する。鍵管理部3031は、例えば、プロキシサーバ2000の暗号化部2032の要求する暗号方式に応じた鍵を生成してもよい。暗号方式が、例えば、暗号化状態のまま加減算が可能な(加法的な)準同型暗号方式(Paillier方式)の場合は、公開鍵(暗号鍵)と秘密鍵(復号鍵)の組を生成する。
【0065】
また、暗号方式が、暗号文の大小関係と対応する平文の大小関係が一致する順序保存暗号方式(OPE方式:Order Preserving Encryption)や、暗号化状態のまま平文の一致判定が可能な検索可能暗号方式の場合は、共通鍵を生成する。このように、暗号鍵と復号鍵は、公開鍵と秘密鍵の組のように異なる鍵である場合と、共通鍵のように同じ鍵である場合とがある。なお、鍵生成アルゴリズムは、周知の技術であるので説明を省略する。
【0066】
鍵管理部3031は、生成した鍵や鍵生成のためのパラメータ等を、例えば、記憶部3020に記憶させる。鍵管理部3031は、生成した鍵と、暗号方式や機微データのうち、どのデータ(属性項目(カラム)等)の暗号化に用いたか等とを対応付けて管理する。
【0067】
(データベースサーバ4000の機能構成)
【0068】
図5は、データベースサーバ4000の能構成の一例を示す機能ブロック図である。図5を参照して、データベースサーバ4000の機能構成の一例について説明する。
【0069】
データベースサーバ4000は、通信部4010と、記憶部4020と、制御部4030とを備える。
【0070】
通信部4010は、データベースサーバ4000がネットワークNWを介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。所定の通信プロトコルは、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。通信部4010は、受信したデータを制御部4030に送り、また、制御部4030から受け取ったデータを、ネットワークNWを介してサーバや装置等に送信するが、通信部4010は、データベースサーバ4000内の制御部4030以外の機能ブロックとデータのやり取りを行ってもよい。
【0071】
通信部4010は、プロキシサーバ2000から暗号化された機微データを取得する。
【0072】
記憶部4020は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶部4020は、データベースサーバ4000の各種処理に用いられるコンピュータプログラム、暗号プログラム、鍵等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部4020にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等である。コンピュータプログラムは、所定のサーバ等からインストールされてもよい。
【0073】
また、記憶部4020は、データベース4021と、ストレージ4022としての機能を有する。
【0074】
データベース4021は、プロキシサーバ2000から取得した暗号化された機微データを、テーブル形式で記憶する。例えば、所定期間において、プロキシサーバから取得した暗号化された機微データと、当該所定期間以前において取得した機微データのうちの、異常を示すログ、及び当該ログの時間的に前後のログの機微データと、を記憶する。なお、データベース4021に記憶された機微データは、所定の期間経過後、所定の条件を満たす当該機微データはデータベース4021から削除される。
【0075】
ストレージ4022は、プロキシサーバ2000から取得した暗号化された機微データに対して、ファイル形式として生成されたデータを記憶する。
【0076】
制御部4030は、データベースサーバ4000の各機能を制御し、予め記憶部4020に記憶されているプログラムに基づいて動作するCPU(Central Processing Unit)等のプロセッサである。なお、制御部4030として、DSP(Digital Signal Processor)等が用いられてもよい。また、制御部4030として、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の制御回路が用いられてもよい。
【0077】
また、制御部4030は、ファイル生成部4031、削除部4032としての機能を備える。
【0078】
ファイル生成部4031は、データベース4021に記憶される、所定のデータ単位(セル単位またはカラム単位)で暗号化された機微データに対して、イベントの発生日時が所定の期間内である機微データ(ログ)をまとめたファイルを生成する。所定の期間は、例えば、時間単位、日単位、週単位、などである。生成するファイルには、発生日時に関連する情報が付与される。ここで、付与される情報とは、例えば、ファイルに含まれるログが発生した日時を含むファイル名である。例えば、ファイル化するログが発生した日時が、2022年4月2日10時12分32秒であった場合、発生時刻を含む所定の期間である2022年4月1日から7日を示すファイル名「log_20220401_20220407」を付与してもよい。そして、ファイル生成部4031は、ストレージ4022に当該機微データを記憶する。
【0079】
なお、ファイル生成部4031は、所定の期間ごとに、データベース4021の内容をダンプファイルとして、発生日時に関連する情報を付与して出力するようにしてもよい。ダンプファイルを用いることで、これまでデータベース4021に記憶されていた内容を、新しいデータベースに移行する(リストアする)処理を円滑に行うことができる。したがって、ストレージ4022に記憶された機微データの内容を参照することが必要となった場合に、円滑にアクセスすることができる。
【0080】
削除部4032は、所定の期間経過後、所定の条件を満たす機微データをデータベース4021から削除する。
【0081】
「所定の期間経過後」とは、上述したように、例えば、3時間経過後、1日経過後、2ヶ月経過後など、データベースサーバの記憶容量やシステムから発生するログの容量などを踏まえて適宜設定してよい。
【0082】
「所定の条件」を満たす機微データとは、上述したように、例えば正常なログ、異常を示すログを除くデータ、機器障害とセキュリティ異常を示すログを除くデータなど、適宜設定してよい。ただし、機微データにおいて、障害や異常を示すログは、重要な意味をもつため、障害や異常を示すログと、その時間的に前後のログ以外のものを所定の条件を満たす機微データとしてデータベースから削除する対象のデータとするとよい。
【0083】
なお、ファイル生成部4031が有する機能は、データベースサーバ4000の外に備えられてもよい。また、ファイル生成部4031が有する機能は、プロキシサーバ2000の外に備えられてもよい。ファイル生成部4031がデータベース4021から取得するデータは暗号化されたデータであるため、セキュリティが担保された信頼できる環境でファイルを生成する処理を行う必要がないからである。
【0084】
図6は、機微データのデータ構造の一例を示した図である。以下、図6を参照して、機微データのデータ構造および、「所定の条件」を満たす機微データについて説明する。
【0085】
本実施形態の機微データは、図6に示すように、ネットワーク機器が出力するログであって、「device」(機器名)、「IP address」(場所(IPアドレス))、「date」(発生日(年月日))、「time」(発生時(時刻))、「application」(アプリケーション名)、「user ID」(ユーザID)、「user」(ユーザ名)、「event」(事象(ログ内容))、「flag」(エラー及び警告等を示すフラグ)などの属性項目(カラム:列)の属性値(文字列又は数値)を含む。また、機微データは、ログを一意に特定できる識別子(図6において「log ID」)を属性項目として含んでよい。識別子は、数値、文字列またはそれらの組合せであってよい。なお、図6において、説明を簡略化するため、所定の属性項目を示しているが、これに加え、図示しない属性項目を機微データに含ませてもよい。
【0086】
図6は、機微データの一例を示すものであるが、実際のシステムでは、一定期間にある機器から出力された機微データがまとめてプロキシサーバに送られる。図6の例では、「Router」、「PC01」、「MAIL」という機器の一例を示しているが、機微データの多くは異常を示さない正常なデータである。そして、「Router」の機器では、「10:01:30」の時刻にネットワーク接続が途切れ、「warning」として警告が記憶されるとともに、「10:01:31」の時刻に目的アドレスへの接続ができず、「error」が記憶されている。そして、「10:02:00」の時刻にはエラーが解消され、正常に接続を示すログが記憶される。このように、システム上の異常により、一定期間警告やエラーなどのログが記憶されるが、システムの自動回復処理により、リセットや再起動などが行われると、エラーは解消され、その後は正常なログが記憶される。
【0087】
図6における「PC01」の機器では、「10:00:11」の時刻からエラーが記憶されているが、例えば不正なログインが試みられると、続けてユーザ認証エラーなどが記憶されることとなる。
【0088】
図6における「MAIL」の機器では、「10:01:30」の時刻にエラーが記憶されているが、単にユーザ認証が失敗した場合など、エラーが単発で記憶されることも想定される。
【0089】
プロキシサーバ2000は、ネットワーク機器1000から、図6のような機微データを取得してセル単位で暗号化し、データベースサーバ4000は、暗号化された機微データをデータベースに記憶する。そして、データベースサーバ4000において、一定期間経過後、機微データをファイルにしてストレージに記憶するとともに、所定の条件を満たす機微データをデータベースから削除する。所定の条件を満たす機微データとは、例えば、エラー、警告など異常を示す機微データとその時間的に前後に記憶されたデータ以外の機微データであるが、これ以外の条件を定めてもよい。
【0090】
図6では、異常を示すデータの「log ID」は、10000201~10000203、10001071~10001075、10002301である。従って、例えば、データベースに残すデータとして、異常を示すデータの「log ID」順に前後5ずつのデータを残すよう予め、システム運用者等によって設定されると、データベースサーバ4000の削除部4032は、10000196~10000208、10001066~10001080、10002296~10002306までのデータをデータベースに残し、それ以外のデータを削除する。また、ファイル生成部4031は、全ての機微データ(図6の例では10000001~10002400の機微データ)をファイル化してストレージに格納する。
【0091】
図7は、実施形態1に係る処理の一例を示すフローチャートである。図7を参照して、ネットワーク機器1000が出力するログを機微データとしてプロキシサーバ2000が取得し、暗号化した上でデータベースサーバ4000のデータベース4021に記憶し、一定期間経過後に所定のデータをデータベースサーバ4000のストレージ4022にファイルとして記憶した上で所定の条件を満たす機微データをデータベース4021から削除する流れについて説明する。
【0092】
ステップS101において、プロキシサーバ2000は、ネットワーク機器1000から、ネットワーク機器のログである機微データを取得する。
【0093】
ステップS102において、プロキシサーバ2000は、機微データの属性項目に対応する属性値を、所定のデータ単位で暗号化する。このとき、鍵管理サーバ3000から、機微データを暗号化するための暗号鍵を取得し、かかる暗号鍵を用いて、機微データの暗号化を行う。
【0094】
ステップS103において、プロキシサーバ2000は、暗号化した機微データをデータベースサーバ4000に送信し、データベースサーバ4000は、プロキシサーバ2000より取得した機微データをデータベース4021に記憶する。
【0095】
ステップS104において、データベースサーバ4000は、所定の期間経過後、データベース4021に記憶した複数の機微データについて、当該機微データを所定のファイル形式にしたファイルを生成し、ストレージ4022に記憶する。なお、ステップS104において、機微データは所定の単位(セル単位、カラム単位、レコード単位)で暗号化された状態でファイル化される。
【0096】
ステップS105において、データベースサーバ4000は、所定の期間経過後、所定の条件を満たす機微データをデータベース4021から削除する。ステップS105の実行後、データ管理システム1における処理をいったん終了してもよいし、機微データを取得し、データベース4021とストレージ4022に記憶させる処理を引き続き行うようにしてもよいことは言うまでもない。
【0097】
(ハードウェア構成図)
図8は、プロキシサーバ2000のハードウェア構成を示すブロック図である。プロキシサーバ2000は、コンピュータ9001に実装される。コンピュータ9001は、CPU9002と、主記憶装置9003と、補助記憶装置9004と、インタフェース9005と、を備える。
【0098】
プロキシサーバ2000の各構成要素の動作は、プログラムの形式で補助記憶装置9004に記憶されている。CPU9002は、プログラムを補助記憶装置9004から読み出して主記憶装置9003に展開し、当該プログラムに従って上記処理を実行する。また、CPU9002は、プログラムに従って、記憶領域を主記憶装置9003に確保する。当該プログラムは、具体的には、コンピュータ9001に、データ処理を行わせるプログラムである。
【0099】
なお、補助記憶装置9004は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース9005を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ9001に配信される場合、配信を受けたコンピュータ9001が当該プログラムを主記憶装置9003に展開し、処理を実行してもよい。
【0100】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置9004に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。なお、図8に示したハードウェア構成は、鍵管理サーバ3000及びデータベースサーバ4000も同様の構成としてもよい。これらの装置における各構成要素の動作も、上述のプロキシサーバ2000と同様に、補助記憶装置に記憶されたプログラムに従ったCPUにより実現する。
【0101】
(効果の説明)
上述したように、本実施形態に係るデータ管理システムは、ネットワーク機器が出力するログを所定の暗号方式で暗号化し、データベースに記憶する。また、所定の期間経過後、所定の条件を満たす機微データ、例えば、エラーログなどネットワーク機器1000の異常を知らせるログ及びその周辺のログの機微データ以外の機微データをデータベースから削除する。また、データベースから削除する機微データを含む全ての機微データをファイル化してストレージに記憶する。
【0102】
本実施形態に係るデータ管理システム1は、ログをデータベース形式で記憶することにより、高速で検索することを可能とする。また、データベース形式でデータを記憶するためには、コストがかかることが多いが、エラーログなど異常を知らせるログ及びその周辺のログに関する機微データのみをデータベースに記憶し、それ以外をファイル化してストレージに記憶することで、コストを抑えつつ、高速にシステム管理上必要性の高い機微データを検索することを可能とする。
【0103】
さらに、データ管理システム1は、暗号化してデータベースを管理しているため、複数の者によって情報を共有することも可能となる。
【0104】
<実施形態1の変形例1>
本変形例1に係るデータ管理システム2は、実施形態1に係るデータ管理システム1のプロキシサーバ2000に代えて、プロキシサーバ2100を備える点で異なる。
【0105】
本変形例1では、ネットワーク機器1000-1,1000-2,…,1000-Nが出力する機微データをプロキシサーバ2100が取得し、暗号化した上で、データベース及びストレージに記憶する。また、プロキシサーバ2100は、エラーなど異常を示すログを用いて機械学習を行い、ネットワーク機器1000-1,1000-2,…,1000-Nのログから異常を予測する機能を有する。
【0106】
変形例1に係るデータ管理システム2は、プロキシサーバ2000(図1参照)がプロキシサーバ2100に置き代わるのみで、実施形態1におけるデータ管理システム1と同様の構成である。したがって、以下、実施形態1と同様の部分については説明を省略する。
【0107】
(プロキシサーバ2100の機能構成)
図9は、プロキシサーバ2100の能構成の一例を示す機能ブロック図である。図9を参照して、プロキシサーバ2100の機能構成の一例について説明する。
【0108】
プロキシサーバ2100は、通信部2010と、記憶部2020と、制御部2130とを備え、通信部2010と記憶部2020の構成はプロキシサーバ2100と同様である。
【0109】
制御部2130は、機微データ取得部2031と、暗号化部2032、学習部2133としての機能を備える。なお、機微データ取得部2031と暗号化部2032はプロキシサーバ2000の構成と同様である。
【0110】
学習部2133は、ネットワーク機器1000が出力するログのうち、異常を示す機微データ及びその前後一定範囲の機微データを含めた機微データなどデータベースに記憶された機微データを教師データとして用い、ネットワーク機器1000が出力するログから、異常を予測するための機械学習のためのモデルを生成する。学習部2133は、生成したモデルを記憶部2020に記憶してもよいし、外部の記憶装置(不図示)に記憶させてもよい。
【0111】
学習部2133は、データベース2021における機微データが更新されるたびに、異常を予測するための機械学習のモデルを再学習し、更新してもよい。また、一定程度機微データが集まった時点、もしくは、一定程度の時間が経過した時点で機械学習のモデルを再学習し、更新してもよい。なお、機械学習の方法やモデルについては、ニューラルネットワーク、SVN(Support Vector Machine)、決定木学習、ベイジアンネットワークなど既知の方法を用いてよい。
【0112】
学習部2133は、ある者の機微データから学習モデルを構築し、その者の機微データからの異常予測に用いてもよいが、データベース上で管理する複数の者の機微データを用いて学習モデルを構築し、それら複数の者の機微データからの異常予測に役立ててもよい。
【0113】
学習部2133は、さらに、ネットワーク機器1000が出力したログから、異常の予測をしてもよい。すなわち、既に学習により作成された機械学習のモデルを用いて、ネットワーク機器1000が出力したログたる機微データを入力する。これにより、近々異常の発生が起こりうるか予測を行ってもよい。
【0114】
(効果の説明)
上述したように、変形例1に係るデータ管理システムは、実施形態1に係るデータ管理システムに加えて、さらに、ログから機器の異常などを機械学習する学習機能を備えている。
【0115】
かかる学習機能により、ネットワーク機器が異常等を知らせる前に、プロキシサーバにおいて、これを予見することが可能となる。さらに、本変形例では、データベース形式で機微データを管理するため、リアルタイムで情報を処理することができることに加え、暗号化されていることで、複数の者によりデータ共有が可能である。したがって、ハッカーによりある著名なサーバがアタックを受けた兆候が見られる場合に、他の事業者において、早急にこれを把握し、対応を行うことが可能となる。また、ネットワーク機器の異常を事前に予測することで、ネットワーク機器を事前に再起動し、又は代替機器に切り替えることが可能となり、これにより、システム障害を予防することが可能となる。
【0116】
また、本変形例では、暗号化したまま演算可能な暗号方式(例えば、準同型暗号方式。)で暗号化されている機微データについて機械学習を行うため、情報漏洩のリスクが低く、セキュリティが高い。
【0117】
<実施形態1の変形例2>
変形例2に係るデータ管理システム3は、実施形態1に係るデータ管理システム1のプロキシサーバ2000に代えて、プロキシサーバ2200を備える点で異なる。
【0118】
本変形例2では、ネットワーク機器1000-1,1000-2,…,1000-Nが出力する機微データをプロキシサーバ2200が取得し、暗号化した上で、データベース及びストレージに記憶する。また、プロキシサーバ2200は、機微データであるログを検索するための検索クエリを受け付ける受付部と、記憶部に記憶された機微データから検索クエリに該当するデータを検索する検索部を備える。
【0119】
変形例2に係るデータ管理システム3の構成は、プロキシサーバ2000がプロキシサーバ2200に置き代わるのみで、実施形態1におけるデータ管理システム1と同様の構成である。したがって、以下、実施形態1と同様の部分については説明を省略する。
【0120】
(プロキシサーバ2200の機能構成)
図10は、プロキシサーバ2200の機能構成の一例を示す機能ブロック図である。図10を参照して、プロキシサーバ2200の機能構成の一例について説明する。
【0121】
プロキシサーバ2200は、通信部2010と、記憶部2020と、制御部2230とを備える。通信部2010と記憶部2020はプロキシサーバ2000と同様である。
【0122】
制御部2230は、機微データ取得部2031と、暗号化部2032、受付部2234、検索部2235としての機能を備える。なお、機微データ取得部2031と暗号化部2032はプロキシサーバ2000の構成と同様である。
【0123】
受付部2234は、ネットワーク機器1000が出力するログから特定のログを検索するための検索処理のクエリを受け付ける。例えば、特定の機器のログを検索し、又は、特定のエラーに関するログを検索するため、かかる検索を行うためのクエリを取得する。
【0124】
検索部2235は、受付部2234で取得したクエリを用いて、データベース4021またはストレージ4022を対象にして検索処理を実行する。例えば、検索部2235は、データベース4021を対象に検索を行う場合、クエリと鍵管理サーバ3000から取得する暗号鍵を用いて、データベース4021に記憶された機微データを復号せず、暗号化したまま検索を行う。検索部2235は、例えば、検索対象の機微データ(ログ)と同じ暗号鍵、暗号方式でクエリを暗号化し、暗号化されたクエリに基づいて、検索結果を取得する。これにより、クエリを暗号化するため、どのような検索をしているのか秘匿することができる。また、システム上で機微データを復号することを避け、セキュリティに頑健なシステムを構築する。
【0125】
なお、検索処理に用いる手法は、上述した方法に限られず、既存の方法を用いてよい。また、プロキシサーバ2200は、クエリを暗号化した暗号鍵を用いて検索結果を復号し、復号した検索結果を、セキュアな通信路を介してクエリを送信したユーザ端末等に送信する。
【0126】
また、検索部2235は、ストレージ4022に格納されたファイルに対して検索処理を実行する場合、検索部2235は、ストレージ4022に格納されたファイルに対して、検索条件を満たすログを含む可能性のある1または複数のファイルを特定する。複数のファイルが特定された場合は、各ファイルに含まれるログを一つのデータセットに統合し、当該データセットに対して検索処理を実行する。データセットは、メモリ上にログを統合して実現してもよいし、物理的にファイルを生成して実現させてもよい。
【0127】
例えば、ストレージ4022に格納されたファイルは、ログが発生した日時が識別できるファイル名が付与されているため、検索対象のログを含む可能性があるファイルを、ログの発生日時に基づいて特定してもよい。特定したファイルに含まれるログは、所定の単位で暗号化されているため、暗号化されたクエリに基づいて検索することができる。なお、検索部2235が特定したファイルがダンプファイルの場合は、当該ダンプファイルを、データベース4021と同じデータベース形式に円滑に復元することができるため、暗号化されたクエリに基づく検索処理が、より効率的である。
【0128】
また、検索部2235は、クエリに基づき、データベース4021を対象に、機微データを所定のデータ単位で暗号化したまま検索処理を実行し、クエリの条件を満たす機微データがデータベース4021になかったことに応じて、ストレージ4022を対象に検索処理を実行するようにしてもよい。データベース4021にクエリの条件を満たす機微データが存在しなかった場合にのみ、ストレージ4022に格納されたファイルを検索するため、検索効率を向上させることができる。
【0129】
(効果の説明)
上述したように、変形例2に係るデータ管理システムは、実施形態1に係るデータ管理システムに加えて、さらに、クエリを受け付けて、機微データの検索・集計等を行う機能を備えている。
【0130】
かかる検索機能により、機微データを復号することなく、暗号化したまま、クエリに該当する機微データを検索・集計等することが可能となる。また、ダンプファイルを用いることにより、ストレージに記憶されたファイルをデータベース形式にして検索する処理を効率的に行うことができる。そして、特定の機微データを検索することで、ネットワーク機器の状態を把握することが可能となり、システム障害の原因調査、異常予測アラート、またファームウェアをアップデートすべきか否か、再起動をすべきか否かなどの迅速な判断といった、システム管理の利便性を向上させることが可能となる。
【0131】
<実施形態2>
本実施形態では、ネットワーク機器1000が出力する機微データをプロキシサーバ2000が取得し、機微データを暗号化した上で、データベース及びストレージに記憶する。本実施形態では、ストレージに記憶する機微データはファイル形式である点は、実施形態1と同様であるが、ファイルを構成する機微データは暗号化された機微データではなく、暗号化されていない機微データを含むファイルを暗号化する点で実施形態1と異なる。また、機微データは一度復号されるため、セキュリティの観点から、ファイルの生成はデータベースサーバではなく、プロキシサーバにて行われることが望ましい。
【0132】
(データ管理システム1の構成)
図11は、本実施形態に係るデータ管理システム4の構成を示す図である。図11を参照して、実施形態2に係るデータ管理システム4の構成について説明する。
【0133】
データ管理システム4は、ネットワーク機器1000-1,1000-2,…,1000-N(Nは自然数)と、プロキシサーバ2300と、鍵管理サーバ3000と、データベースサーバ4100とを備える。以下、実施形態1と異なるプロキシサーバ2300とデータベースサーバ4100について説明する。
【0134】
プロキシサーバ2300は、所定の時間経過後、データベース4021に所定の期間に記憶された機微データを取得し、ファイル形式にしてストレージに記憶する。このとき、プロキシサーバ2300は、暗号化された機微データを暗号化されたままファイルを生成するのではなく、一度機微データを復号した上で、再度鍵管理サーバ3000から暗号鍵を取得して、機微データを記憶したファイルを暗号化する点で実施形態1とは異なる。
【0135】
データベースサーバ4100は、プロキシサーバ2300により暗号化された機微データをデータベースに記憶する。また、データベースサーバ4100は、所定の期間経過後、所定の期間に記憶した機微データを、プロキシサーバ2300によりファイル形式にして、当該ファイル形式のデータをストレージ4122に記憶する。また、所定の条件を満たす機微データ(異常を示す機微データ及びその時間的に前後の機微データ以外の機微データ)を削除する。
【0136】
以下、上述したデータ管理システム4を構成する各サーバ等の機能構成、処理について説明する。なお、各機能構成を示す機能ブロックや処理ブロックは、1つ、または複数の装置、コンピュータプロセッサ、コンピュータプロセッサの分散グループによって実現されてもよい。例えば、プロキシサーバ2300、鍵管理サーバ3000、データベースサーバ4100が行う機能は、1つの装置で実現されてもよい。
【0137】
図12は、実施形態2に係る処理の概念図である。図12を参照して、データ管理システム4における処理の概要について説明する。なお、図12において、実線の矢印は処理の流れを、破線の矢印はデータの流れを示す。
【0138】
実施形態2は、暗号化した通信機器のログファイルである機微データをデータベースに記憶し、一定期間経過後、所定の条件を満たすデータを削除し、機微データをファイル化してストレージに記憶する。このとき、機微データを一度復号してファイルを構成し、再度暗号鍵を用いて、暗号化されたファイルを生成する点で、実施形態1と異なる。
【0139】
図12において、(1)機微データ取得ステップ、(2)前処理ステップ、(3)暗号化ステップは、実施形態1における処理と同様であるため説明を省略する。
【0140】
(4)ファイル生成ステップ
データベースサーバ4100は、機微データを、暗号化したファイル形式でストレージに記憶する。プロキシサーバ2300は、鍵管理サーバ3000から暗号鍵(機微データを復号するための復号鍵)を取得し、データベースから取得した機微データを復号してファイルを生成する。機微データの復号をプロキシサーバ内で行うことにより、外部からの不正なアクセスを防止し、安全にファイル生成を行うことができる。そして、鍵管理サーバ3000から、ファイルを暗号化するための暗号鍵を取得し、当該暗号鍵を用いて上記ファイルを暗号化する。このとき、ファイル暗号化のための暗号鍵と、データベースに記憶するために用いた暗号鍵は異なる暗号鍵を用いることが望ましい。また、実施形態1は、暗号化された機微データをファイルに記憶するのに対して、実施形態2では、復号された機微データから成るファイルに対して、ファイル自体を暗号化する点で異なる。
【0141】
(5)削除ステップ
実施形態1と同様であるため、説明を省略する。
【0142】
(鍵管理サーバ3000の機能構成)
実施形態1の鍵管理サーバ3000と同様の構成であるため、説明を省略する。なお、プロキシサーバ2300が機微データをファイル化する際に、データベースに記憶するために用いた暗号鍵と異なる暗号鍵を用いる場合には、実施形態1の鍵管理サーバ3000に加えて、さらにファイルを生成する際の鍵を管理する。
【0143】
(プロキシサーバ2300の機能構成)
図13は、プロキシサーバ2300の機能構成の一例を示す機能ブロック図である。図13を参照して、プロキシサーバ2300の機能構成の一例について説明する。
【0144】
制御部2330は、機微データ取得部2031と、暗号化部2032と、ファイル生成部2336としての機能を備える。機微データ取得部2031と暗号化部2032は実施形態1と同様である。
【0145】
ファイル生成部2336は、データベース4021から取得した、暗号化された機微データを復号し、当該復号された機微データについてファイル化して、ファイルを生成する。そして、ストレージ4122は、ファイル生成部2336が生成したファイルに関して暗号化されたファイルを記憶する。より具体的には、ファイル生成部2336は、データベース4021に記憶される機微データに対して、鍵管理サーバ3000から暗号鍵(機微データを復号するための復号鍵)を取得し、機微データを復号する。そして、ファイル生成部2336は、復号した機微データをファイルとして構成した後に、再度鍵管理サーバ3000から暗号鍵を取得し、ファイル自体を暗号化して、当該暗号化されたファイルをストレージ4122に記憶する。
【0146】
なお、ファイルを暗号化する暗号鍵を取得する順番は、上述に限られない。鍵管理サーバ3000から、機微データを復号するための暗号鍵と、ファイルを暗号化するための暗号鍵とは任意のタイミングで取得してもよく、また、両暗号鍵は異なることが望ましい。また、生成するファイルには、ファイルに含まれるログが発生した日時が特定できるファイル名が付与されることが望ましい。
【0147】
(データベースサーバ4100の機能構成)
【0148】
図14は、データベースサーバ4100の機能構成の一例を示す機能ブロック図である。図14を参照して、データベースサーバ4100の機能構成の一例について説明する。
【0149】
データベースサーバ4100は、通信部4010と、記憶部4120と、制御部4130とを備える。通信部4010はデータベースサーバ4000と同様である。
【0150】
また、記憶部4120は、データベース4021と、ストレージ4122としての機能を有する。
【0151】
ストレージ4122は、プロキシサーバ2300によりファイル形式として生成されたデータを記憶する。なお、このファイル形式として生成されたデータは、プロキシサーバ2300において、機微データを一度復号し、ファイルを生成した後に、鍵管理サーバ3000から暗号鍵を取得してファイルを暗号化することで生成されたデータである。したがって、ストレージ4122には、暗号化されたファイルが記憶される。
【0152】
制御部4130は、データベースサーバ4100の各機能を制御し、予め記憶部4120に記憶されているプログラムに基づいて動作するCPU(Central Processing Unit)等のプロセッサである。なお、制御部4130として、DSP(digital signal processor)等が用いられてもよい。また、制御部4130として、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の制御回路が用いられてもよい。
【0153】
また、制御部4130は、削除部4132としての機能を備える。
【0154】
削除部4132は、所定の期間経過後、所定の条件を満たす機微データをデータベース4021から削除する。これは、実施形態1と同様の機能を有する。
【0155】
図15は、実施形態2に係る処理の一例を示すフローチャートである。図15を参照して、ネットワーク機器1000が出力するログを機微データとしてプロキシサーバ2000が取得し、暗号化した上でデータベースサーバ4100のデータベースに記憶し、一定期間経過後に所定のデータをデータベースサーバ4100のストレージにファイルとして記憶する流れについて説明する。
【0156】
ステップS101において、プロキシサーバ2300は、ネットワーク機器1000から、ネットワーク機器のログである機微データを取得する。
【0157】
ステップS102において、プロキシサーバ2300は、機微データを暗号化する。このとき、鍵管理サーバ3000から、機微データを暗号化するための暗号鍵を取得し、かかる暗号鍵を用いて、機微データの暗号化を行う。
【0158】
ステップS103において、プロキシサーバ2300は、暗号化した機微データをデータベースサーバ4100に送信し、データベースサーバ4100は、プロキシサーバ2300より取得した機微データをデータベースに記憶する。
【0159】
ステップS204において、プロキシサーバ2300は、所定の期間経過後、データベース4021に記憶した全ての機微データについて、復号する。そして、復号した機微データをファイルとして構成し、ファイル自体を暗号化して、暗号化したファイルを生成する。データベースサーバ4100は、暗号化されたファイルをストレージに記憶する。
【0160】
ステップS105において、データベースサーバ4100は、所定の期間経過後、所定の条件を満たす機微データをデータベースから削除する。
【0161】
<実施形態2の変形例>
実施形態2におけるデータ管理システム4は、実施形態1の変形例1のように、学習部を設けて、ログの学習をさせてもよい。
【0162】
また、実施形態1の変形例2のように、検索のためのクエリを取得して、ログの検索を行うようにしてもよい。この場合、ストレージに格納された、暗号化されたファイルについて、検索条件を満たすログを含む可能性のある1または複数のファイルを特定し、ファイルを復号する。複数のファイルが特定された場合は、復号されたファイルに含まれるログを一つのデータセットに統合し、セキュアな環境下で、クエリに基づいて検索を行ってもよい。
【0163】
(効果の説明)
上述したように、本実施形態に係るデータ管理システムは、ネットワーク機器が出力するログデータを所定の暗号方式で暗号化し、データベースに記憶する。また、所定の期間経過後、所定の条件を満たすデータ、例えば、エラーログなどネットワーク機器1000異常を知らせるログ及びその周辺のログの機微データ以外のデータを削除し、機微データをファイル化してストレージに記憶する。このとき、データベースに記憶された機微データを、プロキシサーバ内において復号し、機微データを含むファイルとして構成してから、当該ファイル自体を暗号化してストレージに記憶する。
【0164】
本実施形態に係るデータ管理システムは、ログをデータベース形式で記憶することにより、高速で検索することを可能とする点は実施形態1と同様である。また、ファイル自体を暗号化することで、ファイルを1回復号すれば、ファイル内の機微データを全て解読することが可能となる。ファイル内の機微データ全てに対して復号を行わないと全てのデータを解読できない実施形態1と比較して、機微データ全体を容易に復号することが可能である。これにより、復号化領域でのデータの利用や検索に適している点で、実施形態1と比較した利点を有する。また、プロキシサーバ内で暗号化された機微データを復号し、ファイルを生成するため、不正なアクセスを防止し、安全にファイルを生成することができる。
【0165】
<実施形態3>
本実施形態では、ネットワーク機器1000が出力する機微データをプロキシサーバ2400が取得し、暗号化した上で、データベース及びストレージに記憶する。プロキシサーバ2400が、暗号化した機微データをデータベースに格納するとともに、並列的に、取得した機微データからファイルを生成し、ストレージに格納する点で上述の実施形態1および実施形態2とは異なる。
【0166】
(データ管理システム5の構成)
図16は、本実施形態に係るデータ管理システム5の構成を示す図である。図16を参照して、実施形態3に係るデータ管理システム5の構成について説明する。
【0167】
データ管理システム5は、ネットワーク機器1000-1,1000-2,…,1000-N(Nは自然数)と、プロキシサーバ2400と、鍵管理サーバ3000と、データベースサーバ4100とを備える。図16において、ネットワーク機器1000-1,1000-2,…,1000-Nと、プロキシサーバ2400と、鍵管理サーバ3000と、データベースサーバ4100とは、ネットワークNWを介して通信可能に接続される。ネットワークNWの具体例は、実施形態1と同様である。
【0168】
以下、実施形態1と特に異なる点について説明する。プロキシサーバ2400は、ネットワーク機器1000から、ログを機微データとして取得し、必要に応じてデータベースサーバ4100のデータベース及びストレージの保存に適するよう前処理を行い、機微データを暗号化した上で、データベースサーバ4100のデータベースに記憶する。また、プロキシサーバ2400は、同時に、暗号化した機微データのファイルを生成し、又は、暗号化前の機微データを記憶したファイルを生成した上で暗号化し、データベースサーバ4100のストレージに記憶する。
【0169】
データベースサーバ4100は、プロキシサーバ2400により暗号化された機微データをデータベースに記憶する。また、同時に、プロキシサーバ2400により暗号化された機微データをファイル化して生成されたファイル又は、暗号化前の機微データについてファイル化したファイルを暗号化して生成されたファイルをストレージに記憶する。データベースサーバ4100は、機微データをデータベースに記憶するとともに、並列的に、ストレージにもファイルを記憶する点で、実施形態1および実施形態2と異なる。
【0170】
以下、上述したデータ管理システム5を構成する各サーバ等の機能構成、処理について説明する。なお、各機能構成を示す機能ブロックや処理ブロックは、1つ、または複数の装置、コンピュータプロセッサ、コンピュータプロセッサの分散グループによって実現されてもよい。例えば、プロキシサーバ2400、鍵管理サーバ3000、データベースサーバ4100が行う機能は、1つの装置で実現されてもよい。
【0171】
図17は、実施形態3に係る処理の概念図である。図17を参照して、データ管理システム5における処理の概要について説明する。なお、図17において、実線の矢印は処理の流れを、破線の矢印はデータの流れを示す。
【0172】
実施形態3では、プロキシサーバ2400が通信機器のログである機微データを暗号化してデータベースに格納すると同時に、暗号化された機微データをファイル化して生成されたファイル、及び/又は、複数の暗号化前の機微データをファイル形式にした上で、暗号化したファイルをストレージに記憶する。データベースサーバ4100は、機微データをデータベースに記憶するとともに、並列的にストレージにもファイルを記憶する点で、実施形態1又は実施形態2と異なる。
【0173】
(1)機微データ取得ステップ、(2)前処理ステップ(図17において不図示)、(3)暗号化ステップについては、実施形態1における処理と同様であるため説明を省略する。
【0174】
(4)ファイル生成ステップ
プロキシサーバ2400は、暗号化された機微データをファイル形式でストレージに記憶し、又は、暗号化されていない機微データを記憶したファイルを暗号化し、暗号化されたファイルをストレージに記憶する。このとき、機微データがデータベースに記憶されるとともに、並列的に機微データが記憶されるファイルがストレージに格納される。実施形態1及び実施形態2は、所定の期間経過後に機微データをファイル形式でストレージに記憶するのに対して、実施形態3では、機微データを、データベースへ記憶するのと並列的にストレージにも記憶する点で異なる。
【0175】
(5)削除ステップ
実施形態1と同様であるため、説明を省略する。
【0176】
(プロキシサーバ2400の機能構成)
図18は、プロキシサーバ2400の能構成の一例を示す機能ブロック図である。図18を参照して、プロキシサーバ2400の機能構成の一例について説明する。
【0177】
制御部2430は、機微データ取得部2031と、暗号化部2032と、ファイル生成部2436としての機能を備える。
【0178】
機微データ取得部2031と暗号化部2032は、実施形態1と同様である。
【0179】
ファイル生成部2436は、機微データ取得部2031から取得した機微データについてファイル化したファイルを暗号化して、ファイルを生成する。または、ファイル生成部2436は、暗号化部2032から取得した、暗号化された機微データをファイル化して、ファイルを生成する。そして、ファイル生成部2436は、生成したファイルをストレージに記憶する。生成するファイルには、ファイルに含まれるログが発生した日時が特定できるファイル名が付与されることが望ましい。また、ファイル生成部2436は、例えば、鍵管理サーバ3000から暗号鍵を取得してファイルを暗号化する。
【0180】
ファイル生成部2436がファイルを生成し、ストレージが当該ファイルを記憶する処理と、データベースが、暗号化部2032が暗号化した機微データをデータベース形式で記憶する処理とは、並列的に行われる。本実施形態は、ファイル生成部が生成したファイルをストレージが記憶する処理と、機微データをデータベースが記憶する処理とが並列的に行われる点で、実施形態1又は実施形態2と異なる。
【0181】
(鍵管理サーバ3000の機能構成)
実施形態1の鍵管理サーバ3000と同様の構成であるため、説明を省略する。なお、プロキシサーバ2300がファイルを暗号化する際に、データベースに記憶するために用いた暗号鍵と異なる暗号鍵を用いる場合には、実施形態1の鍵管理サーバ3000に加えて、さらにファイルを生成する際の鍵を管理する。
【0182】
(データベースサーバ4100の機能構成)
【0183】
データベースサーバ4100の機能構成は、実施形態2におけるデータベースサーバ4100(図14参照)と同様である。
【0184】
記憶部4120は、データベース4021と、ストレージ4122としての機能を有する。
【0185】
ストレージ4122は、ファイル生成部2436が生成したファイルを記憶する。すなわち、ストレージ4122には、暗号化された機微データをファイル化して生成されたファイル、又は、暗号化されていない機微データについてファイル化したファイルを暗号化して生成されたファイルが記憶されている。
【0186】
制御部4130は、削除部4132としての機能を備える。
【0187】
削除部4132は、所定の期間経過後、所定の条件を満たす機微データをデータベース4021から削除する。これは、実施形態1と同様の機能を有する。
【0188】
図19は、実施形態3に係る処理の一例を示すフローチャートである。図19を参照して、ネットワーク機器1000が出力するログを機微データとしてプロキシサーバ2400が取得し、暗号化した上でデータベースサーバ4100のデータベースに記憶し、同時に、ファイル形式の機微データをストレージに記憶する流れについて説明する。
【0189】
ステップS101において、プロキシサーバ2400は、ネットワーク機器1000から、ネットワーク機器のログである機微データを取得する。
【0190】
ステップS102において、プロキシサーバ2400は、機微データを暗号化する。このとき、鍵管理サーバ3000から、機微データを暗号化するための暗号鍵を取得し、かかる暗号鍵を用いて、機微データの暗号化を行う。
【0191】
ステップS103において、プロキシサーバ2400は、暗号化した機微データをデータベースサーバ4100に送信し、データベースサーバ4100は、プロキシサーバ2400より取得した機微データをデータベースに記憶する。
【0192】
ステップS204において、プロキシサーバ2400は、機微データのファイルを生成する。このとき、暗号化部2032から取得した、暗号化された機微データをファイル化してファイルを生成してもよいし、機微データ取得部2031から取得した機微データについてファイル化したファイルを暗号化してファイルを生成してもよい。
【0193】
ステップS205において、プロキシサーバ2400は、機微データのファイルをデータベースサーバ4100のストレージに記憶する。
【0194】
ステップS106において、データベースサーバ4100は、所定の期間経過後、所定の条件を満たす機微データをデータベースから削除する。
【0195】
<実施形態3の変形例>
実施形態3におけるデータ管理システム5は、実施形態1の変形例1のように、学習部を設けて、ログの学習をさせてもよいし、実施形態1または実施形態2の変形例2のように、検索クエリを取得して、ログの検索を行ってもよい。
【0196】
(効果の説明)
上述したように、本実施形態に係るデータ管理システムは、ネットワーク機器が出力するログを所定の暗号方式で暗号化し、データベースに記憶する。また、本データ管理システムでは、暗号化された機微データをデータベースが記憶する処理と、ストレージがファイルを記憶する処理とは並列的に行われる。ストレージに記憶するファイルは、暗号化された機微データをファイル化して生成されてもよいし、暗号化されていない機微データをファイル化したファイル自体を暗号化したものでもよい。
【0197】
さらに、所定の期間経過後、所定の条件を満たす機微データ、例えば、エラーログなどネットワーク機器1000の異常を知らせるログ及びその周辺のログの機微データ以外の機微データをデータベースから削除する。
【0198】
本実施形態に係るデータ管理システムは、ログをデータベース形式で記憶することにより、高速で検索することを可能とする点は実施形態1と同様である。また、データベースへ機微データを記憶する処理と並列的に、機微データのファイルをストレージにも記憶することで、常にストレージにログが全て記憶され、データベースサーバへの障害にも耐性を有する構成とすることができる。また、データベースに格納された機微データを復号する作業をせずに、ストレージにファイル形式で機微データを記憶させることができるので、ストレージに機微データを効率的かつセキュアに格納することができる。
【0199】
なお、実施形態1から3及びその変形例において、データベース4021に記憶することができる容量が大容量であり、技術面及び経済面の観点において全てデータベース4021に機微データを記憶しても問題がない場合は、データベース4021から機微データを削除しない構成としてもよい。また、この場合、機微データは、全てデータベースに格納されているため、機微データをファイル形式でストレージに格納する必要はない。
【0200】
また、上述の実施形態では、ログは、機器から出力されるデータとして説明したが、機器などのハードウェアからの出力に限らず、例えば、IoTデバイスにおいて検出されたセンシングデータ(振動、温度、音など)であってもよい。
【0201】
また、ログは、システム、アプリケーション、ソフトウェアなどにおいて発生した処理をイベントとして記録してもよい。例えば、システムやソフトウェアに対する社員の操作をログとして取得し、ログを解析することにより、社員の不正な行動から、情報流出の可能性などを予測することができる。すなわち、本発明において、ログは、ハードウェアやソフトウェアにおいて発生したイベントに関する経時的なデータを含む機微データである。
【0202】
上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【符号の説明】
【0203】
1,2,3,4,5 データ管理システム、2021 データベース、2022 ストレージ、2031 機微データ取得部、2032 暗号化部、2133 学習部、2234 受付部、2235 検索部、2336,2436 ファイル生成部、3031 鍵管理部、4021 データベース、4022,4122 ストレージ、4031 ファイル生成部、4032,4132 削除部、9001 コンピュータ。



【要約】      (修正有)
【課題】機器等から収集した機微データ(ログ等)を暗号化し効率的に活用するデータ管理システム、データ管理方法及びデータ管理プログラムを提供する。
【解決手段】データ管理システムは、鍵管理サーバ、プロキシサーバ及び記憶領域(データベースサーバ)を備える。鍵管理サーバは、暗号鍵を管理する。プロキシサーバは、属性項目として、イベントと当該イベントの発生日時とを少なくとも含む機微データを取得する機微データ取得部と、暗号鍵に基づいて機微データの属性項目に対応する属性値を所定のデータ単位で暗号化する暗号化部と、を有する。記憶領域は、暗号化部が暗号化した機微データについて所定のデータ単位でアクセス可能なデータベース形式で記憶するデータベースと、発生日時が所定の期間内である機微データを含むファイルをファイル単位でアクセス可能に記憶するストレージと、を有する。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19