JP2011019129A - データ管理システム及びデータ管理方法 - Google Patents

データ管理システム及びデータ管理方法 Download PDF

Info

Publication number
JP2011019129A
JP2011019129A JP2009163031A JP2009163031A JP2011019129A JP 2011019129 A JP2011019129 A JP 2011019129A JP 2009163031 A JP2009163031 A JP 2009163031A JP 2009163031 A JP2009163031 A JP 2009163031A JP 2011019129 A JP2011019129 A JP 2011019129A
Authority
JP
Japan
Prior art keywords
encryption key
database
secret information
management device
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009163031A
Other languages
English (en)
Inventor
Hidehiro Fujio
秀洋 藤尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009163031A priority Critical patent/JP2011019129A/ja
Publication of JP2011019129A publication Critical patent/JP2011019129A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】預託された秘密情報を二次利用するSaaS事業者等に対し、預託側のポリシーで設定されるアクセス制御を実現し、秘匿制御を預託側で行う。
【解決手段】データ管理システムは、データベース30とデータベース管理装置20と暗号鍵管理装置10とを具備する。データベース30は、預託者が預託し、第1暗号鍵で暗号化された秘密情報を保持する。データベース管理装置20は、第1暗号鍵を保持しているとき、アプリケーションプログラム40の要求に応答し、データベース30の秘密情報を第1暗号鍵で復号化して提供する。暗号鍵管理装置10は、預託者のポリシーに基づき、第2暗号鍵を生成してデータベース管理装置20に配信する。データベース管理装置20は、秘密情報を第1暗号鍵で復号化し、第2暗号鍵で再暗号化してデータベース30に格納する。データベース管理装置20は、第1暗号鍵を削除し、第2暗号鍵を保持しないか又は秘匿する。
【選択図】図1

Description

本発明は、データ管理システム及びデータ管理方法に関し、特に、秘密情報の漏洩の防止を行うデータ管理システム及びデータ管理方法に関する。
近年、ソフトウェアをネットワーク上に配備されたサービスとして利用する形態、いわゆるSaaS(ソフトウェア・アズ・ア・サービス)の利用が広がっている。SaaSは、サービス間を連携させるという点で、従来のネットワーク上のホスティングサービスであるASP(Application Service Provider)の進化型となっている。
SaaSを利用する企業をテナントと呼ぶ。テナントがSaaSを利用する場合、自社の顧客情報など、企業秘密などの秘密情報をSaaS事業者に預託する必要がある。ただし、情報の預託とは、情報処理を委託するなどの目的で他者に自らが保有する情報を預けることである。テナントが契約したSaaS事業者に秘密情報を預託する場合、秘密情報はSaaS事業者の持つ資源上のデータベースやファイルシステムに保存され、秘密情報はアクセス制限や暗号化による秘匿処理により保護する必要がある。さらに、SaaSの利用において、サービス連携によって二次的なSaaS事業者によってテナントの秘密情報が管理される場合が増えることが予想されている。そのような、二次的なSaaS事業者が扱うテナントの秘密情報は、秘密情報の所有者であるテナントの意思が反映された形で、開示や秘匿などのアクセス制御のポリシー管理が行われることが望ましい。たとえば、テナント企業が開示を許した期間だけ、二次的なSaaS事業者がテナントの秘密情報にアクセスできるようにしたり、サービス連携の契約期間が終了した場合には二次的なSaaS事業者に付託した秘密情報の秘匿が保障され、サービス連携を再開する場合には迅速に秘密情報が開示されるようにしたりすることが望ましい。
データベースに格納された秘密情報の漏洩や不正なアクセスを防止する技術としては、データベース利用者に対してアクセス制限を付与することによって機密情報に対するアクセスを制限する技術、及び、機密情報自体を暗号化する技術が開示されている。
アクセス権限とは、データベースの表、又は列などの資源にアクセスする利用者に対して、データを参照したり更新したりする権限を付与し、与えられたIDやパスワードによって認証を行うことにより、適切なアクセス権限を認証し、資源へのアクセスを許可する技術である。特開2006−134019号公報には、ユーザ認証処理によって認証されたユーザにのみ秘密情報を提供する情報処理システムが開示されている。
秘密情報の秘匿化には、データベースに格納される情報自体を暗号化する手法もある。しかし、全ての秘密情報に暗号化を行うとデータアクセスの効率が低下してしまう。特開平11−272681号公報には、秘密情報を部分的に暗号化することによって復号処理の効率化を図る個人情報の記録方法が開示されている。
また、特表2002−517854号公報(対応米国特許6279111(B1))には、複数のデータベース利用者が存在する場合、暗号化によるデータベースの秘匿化について、アクセス権を有するデータベース利用者に対して暗号鍵を与える方法が開示されている。
また、暗号鍵を与えることによってアクセス権を設定する場合、アクセス権を有するものが二次的に復号化されたデータベースを作成すると秘密情報が漏洩してしまう。しかし、特開2008−124837号公報には、二次的にデータベースが公開される場合であっても、鍵管理サーバによって秘密情報の漏洩を防ぐデータ管理システムが開示されている。すなわち、そのデータ管理システムは、データベースサーバと鍵管理サーバとを含んで構成される。鍵管理サーバは、クライアント端末から、データベースサーバのデータベースを、データベースサーバへ登録するための登録要求を、当該データベースの利用許諾条件及び登録許諾条件を示す情報と共に受信するデータベース利用/登録請求入力ポートと、利用許諾条件及び登録許諾条件が、取得元のデータベースの登録許諾条件を満たすか否かを判断するデータベース登録条件可否判断モジュールと、登録許諾条件を満たすと判断された場合、データベースをデータベースサーバへの登録のために暗号化する登録用暗号鍵を生成して送信する暗号鍵生成モジュールとを備える。ただし、このデータ管理システムでは、暗号鍵を定期的に更新していない。
関連する技術として、特開平8−305662号公報(対応米国特許5784464(A))にクライアント認証システムおよび方法が開示されている。このクライアント認証システムは、データを保持するデータ供給装置とそこから配送されるデータを受信するクライアントからなるデータ配送システム用である。データ供給装置は、クライアントに対応する第1の鍵を出力する鍵出力部、クライアントからのアクセス要求に応じて乱数を発生する乱数発生手段、鍵出力部において出力された第1の鍵によって乱数を暗号化することによって第1の認証子を出力する第1の暗号化手段、クライアントに乱数を送信する第1の送信手段、クライアントから第2の認証子を受信する第1の受信手段、及び第1の認証子と第2の認証子とを比較して両者が一致している場合に当該クライアントからのアクセス要求であると認証する比較手段を備える。クライアントは、データ供給装置にアクセス要求を行うアクセス要求手段、データ供給装置から送信された乱数を受信する第2の受信手段、第1の鍵と同一の第2の鍵を保持する鍵保持手段、第2の鍵によって乱数を暗号化することによって第2の認証子を出力する第2の暗号化手段、及びデータ供給装置に第2の認証子を送信する第2の送信手段を備える。
特表2003−510987号公報(対応米国特許6763112(B1))にユニバーサル携帯電話サービスにおけるセキュリティ手順が開示されている。このセキュリティ手順は、無線アクセスネットワーク領域にわたって無線有効範囲をそれぞれ提供すると共にそれぞれ無線ネットワーク制御装置と基地局とを有する複数の無線アクセスネットワークに接続されたコアネットワークを有する移動通信システムにおける移動通信サービスと共に使用される。セキュリティ手順は、(a)移動局が位置する無線アクセスネットワーク領域内の無線有効範囲を制御する無線ネットワーク制御装置と移動局との間の通信障害を検出するステップ、(b)移動局の認証を行うために無線ネットワーク制御装置からの要求をコアネットワークに送信するステップ、及び(c)コアネットワークと移動局との間で移動局認証手順を行うステップを備える。
特表2007−503136号公報(対応国際公開WO2005020002(A2))にデジタル通信を容易にするためのシステム、方法、装置およびコンピュータプログラムが開示されている。この方法は、ネットワークを通じてクライアントからコンピュータに安全にアクセスするための、コンピュータに実装される。この方法は:・ユーザからユーザIDおよびパスワードを含む信用情報を受け取り、・信用情報を暗号化プロセスを用いて暗号化し、・暗号化された信用情報を含んだ、コンピュータへのアクセスの要求メッセージを生成し、・要求メッセージをネットワークを通じて送信し、・コンピュータへのアクセスが認められたという検証メッセージを受信し、・コンピュータにアクセスする、ことを含んでおり、ユーザIDおよびユーザーパスワードがネットワークを通じて送信される際に暗号化されたままである。
特開2006−134019号公報 特開平11−272681号公報 特表2002−517854号公報 特開2008−124837号公報 特開平8−305662号公報 特表2003−510987号公報 特表2007−503136号公報
特許文献1に開示された技術では、秘密情報へのアクセス制御は、二次的なSaaS事業者に対して二次的なSaaS事業者自身が持つデータベースへの資源管理として行われる。したがって、そこには秘密データを付託する秘密データ所有者が秘密情報の制御を行うことは考慮されていない。また、特許文献2で開示された技術では、暗号鍵が漏洩してしまった場合、秘密データを預託する側の秘密情報の秘匿性が守られなくなる恐れがある。特許文献3で開示された技術では、複数の暗号鍵を用意してアクセス制御を行っているが、秘密情報の預託側の開示や秘匿のポリシーの反映を考慮することをしていない。また、特許文献4で開示された技術では、二次的に利用されるデータベースをアクセスする場合、ネットワークによる通信によってアクセス制御の許諾条件を確認して、復号化と再暗号化によって二次的に蓄積されるデータベースの秘匿化を実現しているが、秘密データを預託する側の開示や秘匿のポリシーは考慮されていない。
本発明は、預託された秘密情報を二次的に利用するSaaS事業者などの利用者に対し、秘密情報を預託した側のポリシーで設定されるアクセス制御を実現し、秘密情報の秘匿制御を預託側で制御することを目的とする。
本発明のデータ管理システムは、データベースと、データベース管理装置と、暗号鍵管理装置とを具備する。データベースは、預託者が預託し、第1暗号鍵で暗号化された秘密情報を保持する。データベース管理装置は、前記第1暗号鍵を保持しているとき、アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供する。暗号鍵管理装置は、前記預託者による前記秘密情報の開示に関するポリシーに基づいて、第2暗号鍵を生成して前記データベース管理装置に配信する。前記データベース管理装置は、前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、前記第2暗号鍵で再暗号化して前記データベースに格納する。前記データベース管理装置は、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第2暗号鍵を秘匿する。
本発明のデータベース管理装置は、預託者が預託し、暗号鍵で暗号化された秘密情報を保持するデータベースを管理する。このデータベース管理装置は、暗号鍵制御装置と、データベース接続装置と、定期的暗号化更新装置とを備える。暗号鍵制御装置は、秘密情報の暗号化に用いた第1暗号鍵を保持する。データベース接続装置は、アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供する。定期的暗号化更新装置は、前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、その後、前記預託者による前記秘密情報の開示に関するポリシーに基づいて暗号鍵管理装置が生成した第2暗号鍵で、復号化された前記秘密情報を再暗号化して、前記データベースに格納する。前記暗号鍵制御装置は、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記データベース接続装置に対して前記第2暗号鍵を秘匿する。
本発明のデータ管理方法は、預預託者が預託し、第1暗号鍵で暗号化された秘密情報をデータベースに保持するステップと、アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化するステップと、前記預託者による前記秘密情報の開示に関するポリシーに基づいて、第2暗号鍵を生成するステップと、前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、前記第2暗号鍵で再暗号化するステップと、再暗号化された前記秘密情報を前記データベースに格納するステップと、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第2暗号鍵を秘匿するステップとを具備する。
本発明のプログラムは、預託者が預託し、暗号鍵で暗号化された秘密情報を保持するデータベースを管理するデータベース管理方法をコンピュータに実行させるプログラムである。そのプログラムは、秘密情報の暗号化に用いた第1前記暗号鍵を保持するステップと、アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供するステップと、前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、その後、前記預託者による前記秘密情報の開示に関するポリシーに基づいて暗号鍵管理装置が生成した第2暗号鍵で、復号化された前記秘密情報を再暗号化するステップと、再暗号化された前記秘密情報を前記データベースに格納するステップと、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記データベース接続装置に対して前記第2暗号鍵を秘匿するステップとを具備するデータベース管理方法をコンピュータに実行させる。
本発明により、預託された秘密情報を二次的に利用するSaaS事業者などの利用者に対し、秘密情報を預託した側のポリシーで設定されるアクセス制御を実現でき、秘密情報の秘匿制御を預託側で制御することができる。
図1は、本発明の実施の形態に係るデータベース管理システムの構成を示すブロック図である。 図2は、図1におけるデータベースの一例を示すテーブルである。 図3は、図1における暗号鍵制御装置の構成を示すブロック図である。 図4は、図3における暗号鍵保持装置が保持する暗号鍵保持テーブルの一例を示すテーブルである。 図5は、図1における属性情報格納装置の暗号化対象フィールド指定テーブルの一例を示すテーブルである。 図6Aは、本発明の実施の形態に係るデータベース管理システムの動作を示すフローチャートである。 図6Bは、本発明の実施の形態に係るデータベース管理システムの動作を示すフローチャートである。 図7Aは、本発明の実施の形態に係るデータベース管理システムの他の動作を示すフローチャートである。 図7Bは、本発明の実施の形態に係るデータベース管理システムの他の動作を示すフローチャートである。
以下、本発明のデータベース管理システム及びデータベース管理方法の実施の形態に関して、添付図面を参照して説明する。本実施の形態では、秘密情報を提供する預託者(主体者)はSaaSを利用する企業、すなわちテナントであるとして説明する。ただし、本発明はその例に限定されるものではない。
まず、本発明の実施の形態に係るデータベース管理システムの構成について説明する。図1は、本発明の実施の形態に係るデータベース管理システムの構成を示すブロック図である。データベース管理システム1は、SaaSを提供する業者に属し、暗号鍵管理装置10と、データベース管理装置20と、データベース30とを具備する。
暗号鍵管理装置10は、コンピュータに例示される情報処理装置であり、インターネットに例示される通信ネットワーク50を介してデータベース管理装置20と双方向通信可能に接続されている。暗号鍵管理装置10は、所定のポリシーに基づく暗号鍵の生成を行う。暗号鍵管理装置10は、ポリシー管理装置12と、暗号鍵配信サーバ11とを備えている。
ポリシー管理装置12は、秘密情報を預託したテナントが定める、秘密情報に関するポリシーを管理する。そのポリシーは、秘密情報の開示及び秘匿を行う時限や、秘密鍵の更新頻度のような秘密情報の秘匿に関するアクセス制御の条件を示している。ポリシーには、例えば、テナントを識別する情報(例示:テナントID)、暗号鍵の更新頻度(例示:1週間毎に更新、不定期のスケジュールに基づいて更新など)、テナントが預託した秘密情報の提供を中止する条件(例示:所定期間内に許可が無ければ提供中止、2週間後に提供中止など)、暗号鍵を配信しない条件(例示:1週間に2回以上配信しない、予め設定した特定のアプリケーションプログラムや情報取得の依頼元(例示:事前に安全確認を行ったプログラムや依頼元など)などを除いて配信しないなど)、等を含んでいる。テナントは、ポリシー管理装置12に随時アクセスしてポリシーを変更することができる。それにより、技術動向の変化や事業計画の変更等により秘密情報の開示条件を変更したい場合、自在に対応することができる。
暗号鍵配信サーバ11は、データベース管理装置20又はポリシー管理装置12からの要求に基づいて、ポリシー管理装置12に登録されたポリシーに従って暗号鍵を生成する。そして、生成された暗号鍵をデータベース管理装置20に配信する。暗号鍵配信サーバ11及びポリシー管理装置12(暗号鍵管理装置10)は、秘密情報の預託者(テナント)から信頼されるサーバであり、他の装置に比較して極めて高いセキュリティが施されていることが好ましい。例えば、SSL(secure sockets layer)プロトコルに用いられるサーバ証明書のような技術を用いて通信のセキュリティを高める方法に例示される。
データベース30は、コンピュータに例示される情報処理装置であり、データベース管理装置20と双方向通信可能に接続されている。データベース30は、複数のテナントが提供(預託)する複数の秘密情報を保持している。そして、テナントの識別情報と提供(預託)された秘密情報とを関連付けて格納している。例えば、データベース30がテーブルで管理されるデータベースの場合、テーブルには、秘密情報を預託したテナントの識別情報のフィールドと、その秘密情報のフィールドとが含まれている。
図2は、図1におけるデータベース30の一例を示すテーブルである。データベース30には、データベース名“MASTERTBL”のテーブル500を構成するフィールドとして、テナントの識別情報としてのテナントID(TID)と、秘密情報としての顧客名(CUNAME)及び住所(CADRS)とが定義されている。すなわち、テナントID(TID)と、秘密情報(CUNAME、CADRS)とが関連付けられている。
データベース管理装置20は、コンピュータに例示される情報処理装置であり、アプリケーションプログラム(APプログラム)40と双方向通信可能である。データベース管理装置20は、アプリケーションプログラム40からデータベース30への参照、更新、削除のリクエストを受診し、データベース30と交信して、処理を行う。データベース管理装置20は、定期的暗号化更新装置21と、暗号鍵制御装置22と、データベース接続装置23と、通信障害時暗号化装置24と、属性情報格納装置25とを備えている。
暗号鍵制御装置22は、暗号鍵配信サーバ11から暗号鍵を取得し、保持している。そして、定期的暗号化更新装置21やデータベース接続装置23の要求に応答して、保持している暗号鍵をそれらの定期的暗号化更新装置21やデータベース接続装置23に出力する。暗号鍵を保持していない場合、必要に応じて暗号鍵配信サーバ11に暗号鍵を要求し、取得し、保持する。図3は、図1における暗号鍵制御装置22の構成を示すブロック図である。暗号鍵制御装置22は、更新暗号鍵受信装置201と、暗号鍵要求装置202と、再暗号化要求装置203と、暗号鍵配信装置204と、暗号鍵保持装置205とを備えている。
暗号鍵保持装置205は、テナントごとに暗号鍵を保持している。図4は、図3における暗号鍵保持装置205が保持する暗号鍵保持テーブル300の一例を示すテーブルである。暗号鍵保持テーブル300は、テナントを識別するテナントID301と、当該テナントの秘密情報の復号に用いる暗号鍵302と、当該暗号鍵の有効期限303とを含み、これらを互いに関連付けて格納している。暗号鍵保持装置205は、この暗号鍵保持テーブル300をメモリ上など、クラッキングなどの脅威に対してセキュリティレベルの高い場所に保持する。
更新暗号鍵受信装置201は、暗号鍵配信サーバ11から、ポリシーに基づいて更新された暗号鍵である更新暗号鍵と対応するテナントIDとを受信し、再暗号化要求装置203へ出力する。
再暗号化要求装置203は、更新暗号鍵受信装置201から更新暗号鍵とテナントIDとを受信する。そして、暗号鍵保持装置205の暗号鍵保持テーブル300を参照して、受信したテナントIDに対応する暗号鍵(現在当該テナントが預託している秘密情報を暗号化している暗号鍵。以下、現暗号鍵ともいう)を取得する。そして、更新暗号鍵、テナントID、現暗号鍵を定期的暗号化更新装置21に出力し、テナントIDに対応するデータベース30内の秘密情報について、復号化処理及び再暗号化処理の依頼を行う。ただし、定期的暗号化更新装置21に復号化処理及び再暗号化処理の依頼を行う場合、例えば、深夜時間帯や週末など、バッチ処理として実行する機能を備えてもよい。
暗号鍵配信装置204は、データベース接続装置23から、秘密情報の開示を要求されたテナントIDを受信する。そして、暗号鍵保持装置205の暗号鍵保持テーブル300を参照して、受信したテナントIDに対応する暗号鍵を取得する。又は、暗号鍵要求装置202を介して暗号鍵配信サーバ11から暗号鍵を取得する。そして、取得した暗号鍵をデータベース接続装置23へ出力する。
暗号鍵要求装置202は、暗号鍵配信装置204がテナントIDに対応する暗号鍵を取得できない場合、暗号鍵配信サーバ11へ、そのテナントIDに対応する暗号鍵の配信を要求する。そして、暗号鍵配信サーバ11から取得した暗号鍵を暗号鍵配信装置204へ出力する。それと共に、その取得した暗号鍵を暗号鍵保持装置205に格納する。
属性情報格納装置25は、データベース30において、どのテーブルのどのフィールドに対して暗号化が行われているかの情報を示す暗号化対象フィールド指定テーブル600を保持している。この暗号化フィールド指定テーブル600は、テナントのポリシー設定によって暗号鍵配信サーバ11から暗号鍵の暗号化対象として配信され、属性情報格納装置25に格納される。図5は、図1における属性情報格納装置25の暗号化対象フィールド指定テーブル600の一例を示すテーブルである。暗号化対象フィールド指定テーブル600は、テーブルの情報(データベース・テーブル名)と、情報の暗号化が行われているフィールド(秘匿フィールド)と、テナントIDが既述されているフィールド(識別IDフィールド)とを関連付けている。すなわち、データベース・テーブル名に示されるテーブルにおいて、識別IDフィールドに示されるフィールドに記述されたテナントIDから提供された情報のうち、秘匿フィールドに示されるフィールドに既述された情報(秘密情報)に対して暗号化が行われている。
定期的暗号化更新装置21は、再暗号化要求装置203から復号化処理及び再暗号化処理の要求があった場合、更新暗号鍵、テナントID、現暗号鍵を受信する。次に、属性情報格納装置25からテナントIDに対応するデータベース30内の秘密情報のテーブル及びフィールドを取得する。続いて、データベース30にアクセスして、当該テーブル及びフィールド、テナントIDに対応する秘密情報を取得する。そして、現暗号鍵で暗号化されている秘密情報について、現暗号鍵で復号化した後、更新暗号鍵で再暗号化する。そして、データベース30に当該秘密情報を再び格納する。
定期的暗号化更新装置21は、暗号化対象フィールド指定テーブル600を参照して、暗号化対象フィールドと対象レコードを判別する。図5の例においては、暗号化対象フィールド指定テーブル600を参照して、テナントIDと比較する対象がTIDフィールドであること、秘密情報がCARDSフィールドに格納されていること、データベース・テーブル名がMASTERTBLであることを抽出する。定期的暗号化更新装置21は、データベース30から、再暗号化要求装置203から送られたテナントIDと一致するレコード(秘密情報を含む)を読み出す。そして、読み出したレコードのうちの秘密情報を、現暗号鍵(暗号鍵保存装置205から得られた一世代前の暗号鍵)を用いて復号化し、更新暗号鍵(新しく暗号鍵配信サーバ11から送信された暗号鍵)により再暗号化を行う。
データベース接続装置23は、アプリケーションプログラム40からデータベース30の秘密情報の要求(データベース・テーブル名、秘匿フィールドを含む)を受けて、属性情報格納装置25から当該秘密情報の識別IDフィールドを取得し、暗号鍵制御装置22から当該テナントIDの暗号鍵を取得し、当該暗号鍵を用いてデータベース30から取得した秘密情報を復号化し、アプリケーションプログラム40へ通知する。なお、データベース接続装置23は、定期的暗号化更新装置21や暗号鍵制御装置22が行う暗号鍵の更新とは独立して、アプリケーションプログラム40からの要求に基づいてデータベース30から秘密情報を取得している。したがって、それらとは独立した装置と考えることができ、別体として設けて、ネットワークで接続するようにしても良い。
通信障害時暗号化装置24は、暗号鍵制御装置22(暗号鍵要求装置202)が暗号鍵配信サーバ11に接続できない場合のように通信回線が途絶した場合に備えて、各テナントの公開鍵が予め登録されている。そして、通信回線が途絶した場合、予め登録されたテナントの公開鍵によって、該当するテナントIDの秘密情報の暗号化処理を行う。これにより、通信から切り離された場合の情報の秘匿性を保障することができる。
図6A及び図6Bは、本発明の実施の形態に係るデータベース管理システムの動作(デーベース管理方法)の一例を示すフローチャートである。ここでは、ポリシーに基づいて暗号鍵を配信する処理について説明する。
ここでは、一例として以下の前提条件に基づいて動作を説明する。すなわち、まず、ポリシー管理装置12は、予め、テナントが設定したポリシーに関する情報を保持している。そのポリシーはテナントであれば随時変更(更新)可能である。また、データベース30は、予め、テナントが預託した秘密情報をテーブル500に保持している。更に、暗号鍵保持装置205は、属性情報格納装置25は、予め、暗号鍵配信サーバ11がテナントに対して設定した暗号鍵を暗号鍵保持テーブル300に保持している。加えて、属性情報格納装置25は、予め、テーブル500における暗号化が行われているフィールドの情報を暗号化対象フィールド指定テーブル600に保持している。
上記前提条件は、例えば以下のようにして設定することができる。
それぞれのテナントは、異なったポリシーにより時限的な預託した秘密情報の管理を行う。テナントが、2次的なSaaS事業者のデータベースに秘密情報を預託する場合を考える。まず、テナントは、ポリシー管理装置12に、ポリシーに関する情報(秘匿化項目と開示期限を含む)を設定すると共に、預託する秘密情報を入力する。次に、ポリシー管理装置12は、暗号鍵配信サーバ11に、テナントを識別するID、鍵生成要求及び預託する情報(秘密情報を含む)を出力する。続いて、暗号鍵配信サーバ11は、ポリシー管理装置12からの鍵生成要求に基づいて、新しい暗号鍵を生成する。そして、暗号鍵及びテナントIDと共に、預託先のデータベース30の暗号化対象となるフィールド及び預託する情報(秘密情報を含む)を暗号鍵制御装置22に配信する。その後、暗号鍵制御装置22は、暗号鍵とテナントIDとを関連付けて暗号鍵保存装置205の暗号鍵保持テーブル300に保存する。また、暗号化対象フィールドと、暗号鍵と、情報(秘密情報を含む)と、テナントIDとを定期的暗号化更新装置21へ出力する。次に、定期的暗号化更新装置21は、暗号化対象フィールド情報に対応する秘密情報を、暗号鍵で暗号化する。そして、暗号化された秘密情報を含む預託情報とテナントIDとを関連付けて、データベース30のテーブル500に格納する。また、テナントIDのフィールドである識別IDフィールド、暗号化対象フィールド、データベース・テーブル名を属性情報格納装置25へ出力する。そして、属性情報格納装置25は、暗号化対象フィールドと識別IDフィールドとデータベース・テーブル名とを関連付けて暗号化対象フィールド指定テーブル600に格納する。
ポリシーに基づいて暗号鍵を配信する処理は以下のようになる。
まず、ポリシー管理装置12は、個別のテナントがデータベース30へ預託した秘密情報に関して、自身のタイマにより一定時間待機する。この一定時間は、ポリシーで定めた期間よりも十分小さく設定する。たとえば、一週間ごとに再暗号化を実施するポリシーであれば、1日や1時間など、十分小さい間隔とする(ステップS01)。
次に、ポリシー管理装置12は、ポリシーに基づき2次的なSaaS事業者(2次提供先)に秘密情報を利用することを許可する場合、前回又は初回での預託した秘密情報の再暗号化からポリシーにより設定された期間が経過したか否か、及び、ポリシーに基づき秘密情報の提供を中止する場合であるか否か、を判定する(ステップS02)。
秘密情報の2次提供先での利用を中止して既にデータベース接続装置23に公開されない暗号鍵で秘密情報が暗号化されている場合や、ポリシーにより設定された期間に達していない場合(ステップS02:No)、ステップS01に戻り待機を行う。この期間、後述するが、このテナントの秘密情報を開示する暗号鍵が暗号鍵制御装置22の暗号鍵保持装置205に保持されるため、データベース管理装置20では、このテナントの秘密情報は開示されている状態になっている。
ステップS02で、ポリシーにより設定された期間が過ぎている場合や、ポリシーにより秘密情報の提供を中止する場合(ステップS02:Yes)、ポリシー管理装置12は、暗号鍵配信サーバ11に、暗号鍵の更新を要求する更新暗号鍵要求情報(ポリシーによる条件として、例えば有効期限を含んでいてもよい)と、テナントの識別情報として例えばテナントIDとを出力する(ステップS03)。
暗号鍵配信サーバ11は、更新要求情報とテナントIDとに基づいて、更新用の新しい暗号鍵である更新暗号鍵を生成する(ステップS04)。このとき、暗号鍵配信サーバ11は、テナントIDと更新暗号鍵と有効期限とを関連付けて保持する。そして、その更新暗号鍵(有効期限を含んでいてもよい)とテナントIDとをデータベース管理装置20の暗号鍵制御装置22の更新暗号鍵受信装置201へ配信する(ステップS05)。
ただし、ポリシー管理装置12は、テナントの要求に応じて、即座にデータベース30に預託している秘密情報に対して暗号化を更新し、データベース30の秘密情報を秘匿することも可能である。
更新鍵受信装置201は、更新暗号鍵とテナントIDとを受信する。そして、受信した更新暗号鍵とテナントIDとを、暗号鍵制御装置22の再暗号化要求装置203に送信する(ステップS06)。
再暗号化要求装置203は、送信されたテナントIDに基づいて、暗号鍵保持装置205における暗号鍵保持テーブル300を参照して、当該テナントIDの秘密情報を暗号化している現時点での暗号鍵(以下、現暗号鍵ともいう)を取得する(ステップS07)。そして、再暗号化要求装置203は、暗号鍵保持装置205の暗号鍵保持テーブル300において、現暗号鍵及びその有効期限をクリアする(ステップS08)。その後、取得した現暗号鍵と、テナントIDと、更新暗号鍵とを定期的暗号化更新装置21に送信する(ステップS09)。
定期的暗号化更新装置21は、現暗号鍵と、テナントIDと、更新暗号鍵とを受信する。そして、定期的暗号化装置21は、テナントIDをデータベース30に送信する(ステップS10)。データベース30は、テナントIDに基づいて、当該テナントIDに対応するデータベースのテーブル500のデータベース・テーブル名及びその情報(秘密情報を含む)を読み出し、定期的暗号化装置21へ出力する。定期的暗号化装置21は、データベース・テーブル名及びその情報(秘密情報を含む)を取得する(ステップS11)。
定期的暗号化更新装置21は、データベース・テーブル名を、属性情報格納装置25へ送信する(ステップS12)。属性情報格納装置25は、データベース・テーブル名に基づいて、暗号化対象フィールド指定テーブル600を参照して、当該データベース・テーブル名における暗号化対象フィールドを読み出して、定期的暗号化更新装置21に出力する。定期的暗号化更新装置21は、暗号化対象フィールドを取得する(ステップS13)。
定期的暗号化装置21は、取得した情報(秘密情報を含む)のうち、暗号化対象フィールドの対象レコード(秘密情報)を、現暗号鍵で復号化する(ステップS14)。その後、復号化された秘密情報を更新暗号鍵で再暗号化する(ステップS15)。そして、再暗号化された秘密情報を含む情報と、テナントIDと、データベース・テーブル名とをデータベース30へ出力する(ステップS16)。データベース30は、受信したテナントID及び情報(再暗号化された秘密情報を含む)を、データベース30のテーブル500に格納する(ステップS17)。
以上の処理により、ポリシーで定められた期間が終了するたびに、新しく更新された暗号鍵でデータベース30の当該テナントの秘密情報を暗号化することができる。
なお、この時点では、暗号鍵保持装置205が保持する暗号鍵保持テーブル300には、更新暗号鍵は登録されていない(秘匿されている)。そのため、データベース接続装置23がデータベース30のテナントの暗号化された秘密情報を復号化できない状態となっている。ただし、更新暗号鍵は、データベース接続装置23(又はアプリケーションプログラム40)に対して秘匿されていれば、例えばステップS08において、暗号鍵保持装置205内に、テナントIDと有効期限と共に格納されていても良い。
なお、ステップS07において、暗号鍵保持装置205に現暗号鍵が登録されていない場合(更新暗号鍵は登録されないため場合があるため)、再暗号化要求装置203は、暗号鍵配信サーバ11にテナントIDを引数として現暗号鍵を問い合わせてもよい。又は、ステップS05において暗号鍵配信サーバ11が更新暗号鍵とテナントIDとを更新暗号鍵受信装置201へ配信するとき、現暗号鍵も併せて配信しても良い。これにより、ステップS14において定期的暗号化装置21は、確実に秘密情報を現暗号鍵で復号化することができる。
以上の処理により、テナントのポリシーによって、テナントが2次的なSaaS事業者のデータベース30に預託した、秘密情報が、定期的に更新された暗号鍵によって暗号化される。
図7A及び図7Bは、本発明の実施の形態に係るデータベース管理システムの他の動作(デーベース管理方法)の一例を示すフローチャートである。ここでは、アプリケーションプログラム40がデータベース30をアクセスして読み取り、更新などを行う処理について説明する。本実施の形態では、一例としてデータベース接続装置23がJDBC(Java(登録商標) DataBase Connectivity)などのようなデータベース接続ライブラリとして説明するが、より高度な働きをするライブラリ、たとえば、O/R(Object/RDB(Relational DataBase))マッピングライブラリであってもよい。
一例として、アプリケーションプログラム40が、データベース接続装置23に、例えばSQL文として、次のSQL文を発行したとして、動作を説明する。
“SELECT CUNAME CADRS FROM MASTERTBL;”
このとき、データベース接続装置23は、アプリケーションプログラム40から呼び出され、データベース30へのクエリを発行し、データを取得する。
アプリケーションプログラム40は、データベース接続装置23に、データを要求する命令として、上記のSQL文を発行する。このデータ要求命令は、検索対象となるデータベース・テーブルの名称(MASTERTBL)と、抽出対象となるフィールドの名称(CUNAME CADRS)とを含んでいる。ただし、データベース・テーブルの名称は、データベース30に格納された複数のテーブル500のうちのいずれかの名称(識別子:データベース・テーブル名を含む)を示している。フィールドの名称は、テーブル500の複数のフィールドのうちのいずれかの名称(識別子:秘匿フィールドを含む)を示している。データベース接続装置23は、そのデータを要求する命令(SQL文)を受信する(ステップS41)。なお、データ要求命令は、テナントIDや、アプリケーションプログラムや情報要求の依頼元の情報を含んでいても良い。
データベース接続装置23は、データベース・テーブルの名称とフィールドの名称とをデータベース30に送信する(ステップS42)。データベース30は、データベース・テーブルの名称に対応するデータベースのテーブル500から、フィールドの名称に対応する情報(秘密情報を含む場合あり)を抽出して、テナントIDと共にデータベース接続装置23へ出力する。データベース接続装置23は、その情報(秘密情報を含む場合あり)及びテナントIDを取得する(ステップS43)。なお、データ要求命令にテナントIDが含まれている場合には、フィールドの名称に対応する情報のうち、そのテナントIDに対応する情報を抽出して出力する。
データベース接続装置23は、属性情報格納装置25へ暗号化対象フィールド指定テーブル600を読み出す命令を出力する(ステップS44)。属性情報格納装置25は、読み出し命令に応答して、暗号化対象フィールド指定テーブル600をデータベース接続装置23へ出力する(ステップS45)。データベース接続装置23は、読み出された暗号化対象フィールド指定テーブル600を参照して、データ要求命令における検索対象のデータベース・テーブルの名称と一致するデータベース・テーブル名のレコードを抽出し、当該レコードから秘匿フィールドを取得する。そして、上記SELECT文で抽出した情報(秘密情報を含む場合あり)のフィールドの中に、秘匿フィールドが含まれているか否かを判定する(ステップS46)。そのような秘匿フィールドが含まれていない場合(ステップS46:No)、データベース接続装置23はアプリケーションプログラム40へ、取得した情報(秘密情報なし)を出力して処理を終了する(ステップS47)。一方、そのような秘匿フィールドが含まれている場合(ステップS46:Yes)、データベース接続装置23は、暗号化対象フィールド指定テーブル600で指定された識別IDフィールドがテナントIDであることに基づいて、取得したテナントIDを暗号鍵制御装置22へ出力する(ステップS48)。
暗号鍵制御装置22の暗号鍵配信装置204は、テナントIDを受信する。そして、暗号鍵保持装置205の暗号鍵保持テーブル300からテナントIDに対応した暗号鍵を有効期限と共に取得する(ステップS49)。そして、有効期限内の暗号鍵を取得できた場合(ステップS50:Yes)、暗号鍵配信装置204は取得された暗号鍵をデータベース接続装置23へ送信する(ステップS60)。
しかし、取得しようとしたテナントIDに対応する暗号鍵について、暗号鍵保持テーブル300の有効期限303が既に過ぎている場合、暗号鍵配信装置204は、取得した暗号鍵の有効期限が過ぎているので、有効な暗号鍵を取得できない(ステップS50:No)。あるいは、取得しようとしたテナントIDに対応する暗号鍵が再暗号化要求装置203により更新されていた場合(ステップS15:図6B)、再暗号化要求装置203が暗号鍵保持テーブル300のテナントIDに対応する暗号鍵をクリアするため(ステップS08:図6A)、暗号鍵保持テーブル300に暗号鍵は存在しない。すなわち、暗号鍵を取得できない(ステップS50:No)。これらの場合、暗号鍵配信装置204は、暗号鍵要求装置202に、暗号鍵を習得しようとしたテナントIDについて、暗号鍵配信サーバ11への暗号鍵の取得要求を発行する(ステップS51)。
暗号鍵要求装置202は、取得したいテナントIDを引数として、暗号鍵配信サーバ11に暗号鍵配信要求を行う(ステップS52)。この暗号鍵配信要求に、アプリケーションプログラム40から取得したアプリケーションプログラムや情報要求の依頼元の情報を含ませても良い。暗号鍵配信サーバ11は、暗号鍵配信要求に応答して、ポリシー管理装置12にそのテナントIDのポリシーを問い合せる(ステップS53)。ポリシー管理装置12は、そのテナントIDのポリシーを暗号鍵配信サーバ11へ出力する(ステップS54)。暗号鍵配信サーバ11は、そのテナントIDのポリシーによって暗号鍵の配信が許されるか否かを判断する(ステップS55)。例えば、ポリシーにおける、テナントが預託した秘密情報の提供を中止する条件に該当するか否かや、暗号鍵を配信しない条件に該当するか否かなどを判断する。そして、暗号鍵の配信が許されない場合(ステップS55:No)、暗号鍵配信サーバ11は暗号鍵配信不可通知を、暗号鍵要求装置202を介してデータベース接続装置23へ送信する(ステップS56)。データベース接続装置23は、アプリケーションプログラム40へエラーを発行して処理を終了する(ステップS57)。一方、暗号鍵の配信が許される場合(ステップS55:Yes)、暗号鍵配信サーバ11は、そのテナントIDに基づいて、秘密情報を暗号化した現在(最新)の暗号鍵を抽出する(ステップS58)。ただし、現在(最新)の暗号鍵は、テナントID及びポリシーで決まる有効期限と関連付けられて暗号鍵配信サーバ11に格納されている。そして、抽出された暗号鍵を、ポリシーで決まる有効期限と共に、暗号鍵要求装置202に通知する(ステップS59)。暗号鍵配信装置204は取得された暗号鍵をデータベース接続装置23へ送信する(ステップS60)。暗号鍵要求装置202は、暗号鍵要求装置202自身によって要求して取得した暗号鍵及び有効期限を暗号鍵保持装置205の暗号鍵保持テーブル300にも記録する(ステップS61)。
データベース接続装置23は、取得した情報(秘密情報あり)のうちの秘匿フィールドの秘密情報を取得した暗号鍵で復号化する(ステップS62)。そして、データベース接続装置23は、取得した情報(復号化された秘密情報を含む)をアプリケーションプログラム40へ出力する(ステップS63)。
以上の動作により、データベース接続装置23は、テナントのポリシーによって暗号鍵を取得することが許されている場合にのみ、データベース30に保持された暗号化された秘密情報を復号してアプリケーションプログラム40に供給することができる。
また、一度暗号鍵要求装置202が取得した暗号鍵は、暗号鍵保持装置205に保持されるため、暗号鍵はテナントのポリシーが許す間、暗号鍵保持装置205にキャッシュされることになる。
また、上記動作において、上記暗号鍵要求装置202が、暗号鍵配信サーバに接続できないなど、通信回線が途絶した場合、通信障害時暗号化装置24にあらかじめ登録されたテナントの公開鍵によって、該当するテナントIDの秘密情報の暗号化処理を行う。これにより、通信から切り離された場合の情報の秘匿性を保障することができる。
なお、上記実施の形態では、暗号鍵管理装置10が一台であったが、本発明はこの例に限定されるものではなく、暗号鍵管理装置10が複数台あってもよい。また、データベース30はリレーショナルデータベースに限定されるものではなく、他のデータベースやファイルシステムであってもよい。更に、データベース管理装置20及びデータベース30は、一体に構成されていても良い。例えば一台のコンピュータで構成されていても良い。
本実施の形態では、暗号鍵管理装置10により定期的に暗号鍵が更新され、暗号鍵制御装置22及び定期的暗号化更新装置21により当該更新された暗号鍵により定期的にデータベース30の情報が暗号化される(図6A及び図6Bなど)。これらは、アプリケーションプログラム40等によるデータベース30へのアクセスとは全く独立に行われている。すなわち、アプリケーションプログラム40等の都合に関わらず、テナントの設定した(及び更新された)ポリシーに基づいて、独立に暗号鍵を更新し、情報を暗号化することができる。また、ポリシーの設定は随時テナントの希望時に変更できる。それにより、テナントの希望を適切に反映したポリシーに基づく情報開示を行うことができる。すなわち、秘密情報を預託した側のポリシーで設定されるアクセス制御を実現し、秘密情報の秘匿制御を預託側で制御することができる。そして、テナントの満足の行く秘匿制御を行うことができる。
また、本実施の形態では、アプリケーションプログラム40等によるデータベース30へのアクセスに対して、ポリシー管理装置12に格納された随時更新可能なポリシー(例示:アクセスの時期や回数、アクセスするアプリケーションプログラム40や依頼元)に基づいて、暗号鍵を付与するか否かを決定することができる。それにより、当該ポリシーに基づいて、テナントの希望を適切に反映したアクセス制御、秘匿制御を実現することができる。テナントの納得可能なセキュリティを実現することができる。
また、本実施の形態では、アプリケーションプログラム40等によるデータベース30へのアクセスの度に暗号鍵管理装置10が暗号鍵の付与を行うとすると、通信負荷や情報処理負荷が非常に重くなり実用的ではない。本実施の形態では、暗号鍵を付与するときに、有効期限等の条件を決めて暗号鍵を付与する。そのため、その有効期限等の条件内であれば、暗号鍵管理装置10による暗号鍵の付与を受けることなく、既に付与された暗号鍵を用いてデータベース30へアクセスすることができる。すなわち、暗号鍵の有効期限内において、通信負荷や情報処理負荷を低く抑えたアクセスが可能となる。それにより、通信負荷や情報処理負荷の増大を抑制し、アプリケーションプログラム40等によるアクセスの利便性を確保しつつ、テナントの希望を適切に反映したアクセス制御、秘匿制御を実現することができる。
以上のように本発明の代表的な一形態では、データベース管理装置と、暗号鍵管理装置とを具備する。データベース管理装置は、プロセッサと、プロセッサに接続されるメモリと、データベースが格納される記憶装置と、暗号鍵データベースの秘密情報を部分的に新しい暗号鍵で再暗号化する定期的暗号化更新装置と、アプリケーションプログラムからデータベースにアクセスを行うデータベース接続装置と、暗号鍵制御装置と、データベースを部分的に暗号化する際に利用する属性情報格納装置と、ネットワーク接続装置とを備える。暗号鍵管理装置は、このデータベース管理装置とネットワークで接続され、秘密情報提供者(預託者、テナントともいう)の開示ポリシーを格納するポリシー管理装置と、秘密情報提供者から信頼されるサーバであり開示ポリシーで決められる間隔で新しい暗号鍵を生成しデータベース管理装置に供給する暗号鍵配信サーバとを備える。
定期的暗号化更新装置は、再暗号化のために新しい暗号鍵が配信された場合、テナントの秘密情報を以前の暗号鍵で復号し配信された新しい暗号鍵で再暗号化する。その際、新しい暗号鍵は暗号鍵制御装置には格納されない。データベース接続装置は、アプリケーションからの接続要請に応じてデータベースに対して参照を行う。
その際、データベース接続装置は、テナントを識別するID情報を元に、暗号化されているテーブルおよびフィールド情報を属性情報格納装置から取得し、該当フィールドに対してテナント固有の配信された暗号鍵を暗号鍵制御装置から取得して復号を行い、アプリケーションプログラムに結果を返す。
このとき、データベース接続装置は、定期的暗号化更新装置によって再暗号化されて暗号鍵制御装置に当該テナントの暗号鍵が保持されていない場合、暗号鍵配信サーバに暗号鍵を要求し、テナントのポリシーが許可すれば暗号鍵は暗号鍵制御装置に配信され、アプリケーションプログラムに配信された暗号鍵を用いて秘密情報を復号し平文で情報を戻す。
暗号鍵配信サーバは、テナントごとにテナントの秘密情報を開示する期間などのポリシーをポリシー管理装置から取得し、データベース管理装置の暗号鍵制御装置から暗号鍵の配信要求があった場合、ポリシーで開示が認められる場合は、現在データベースを暗号化している暗号鍵を配信する。
通信障害時暗号化装置は、通信障害が暗号鍵制御装置で検出された場合、テナントごとにあらかじめ配信され保存されている公開鍵を用いてデータベース上のテナントの秘密情報の暗号化を行う。
本実施の形態によれば、テナントが2次的なSaaSサービス事業者に秘密情報を預託する場合、以下のことをテナントに保障することが可能となる。すなわち、データベース管理装置20に、信用のおける暗号鍵配信サーバ11から、テナントのポリシーにしたがって定期的に暗号鍵を配信し、定期的に新しい暗号鍵でデータベース30の秘密情報を暗号化する。そして、データベース接続装置23が、データベース30の秘密情報を復号する際、テナントが時限的なアクセスを許すポリシーで認められた範囲で、暗号鍵制御装置22を通して暗号鍵を付与して、2次的に保持しているテナントから預託されたデータベース30の秘密情報を復号する。これにより、テナントが時限的に、秘密情報の開示秘匿を、暗号鍵配信サーバ11を信頼することによって実現することができる。
本発明の実施の形態によれば、SaaSのサービス連携時のように、SaaSの利用企業であるテナントの秘密情報が二次的な事業者(SaaS事業者)が所有するデータベースに渡される場合、暗号鍵を定期的に更新し、定期的に更新された暗号鍵によって秘密情報を再暗号化することにより、時限的なアクセス制御をテナントごとに決めるポリシーにしたがって行うことができる。また、ポリシーによる開示可能の確認は通信によって行われるが、通信が断絶した場合、あらかじめ配備しておいたテナントの公開鍵によって暗号化を行うため、秘密情報の漏洩の防止を保障することができる。また、秘密情報をテナントが管理し、必要になった場合に通信によりアプリケーションに供給するモデルと比べて、通信量を下げることができる。また、本発明ではポリシーにより再暗号化の暗号鍵を配信するため、再暗号化の時間間隔を変えることにより、再暗号化処理にかかる処理時間を減少させることができる。さらに、暗号化された秘密情報を消去しなくても、暗号鍵の配信停止、再配信の処理だけで、再度秘密データなどアプリケーションが必要なデータを再転送することなく、二次的なサービスでの秘密情報の利用の再開が情報漏洩を心配せず可能となる。
本発明の動作に用いられるプログラム、データ構造は、コンピュータ読取可能な記憶媒体に記録され、その記憶媒体から情報処理装置に読み込まれても良い。
本発明は上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変形又は変更され得ることは明らかである。
1 データベース管理システム
10 暗号鍵管理装置
11 暗号鍵配信サーバ
12 ポリシー管理装置
20 データベース管理装置
21 定期的暗号化更新装置
22 暗号鍵制御装置
23 データベース接続装置
24 通信障害時暗号化装置
25 属性情報格納装置
30 データベース
40 アプリケーションプログラム
50 ネットワーク
201 更新暗号鍵受信装置
202 暗号鍵要求装置
203 再暗号化要求装置
204 暗号鍵配信装置
205 暗号鍵保持装置
300 暗号鍵保持テーブル
301 テナントID
302 暗号鍵
303 有効期限
500 データベース・テーブル
600 暗号化対象フィールド指定テーブル

Claims (20)

  1. 預託者が預託し、第1暗号鍵で暗号化された秘密情報を保持するデータベースと、
    前記第1暗号鍵を保持しているとき、アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供するデータベース管理装置と、
    前記預託者による前記秘密情報の開示に関するポリシーに基づいて、第2暗号鍵を生成して前記データベース管理装置に配信する暗号鍵管理装置と
    を具備し、
    前記データベース管理装置は、前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、前記第2暗号鍵で再暗号化して前記データベースに格納し、
    前記データベース管理装置は、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第2暗号鍵を秘匿する
    データ管理システム。
  2. 請求項1に記載のデータ管理システムにおいて、
    前記データベース管理装置は、前記アプリケーションプログラムの要求に応答して前記秘密情報を前記第2暗号鍵で復号化するとき、前記第2暗号鍵を保持していないか、又は前記第2暗号鍵を秘匿している場合、前記暗号鍵管理装置へ前記第2暗号鍵を要求し、
    前記暗号鍵管理装置は、前記要求に応答して、前記ポリシーが許可する場合、前記第2暗号鍵を抽出して、当該許可の条件と共に前記データベース管理装置へ出力し、
    前記データベース管理装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化して提供し、前記許可の条件の範囲で前記第2暗号鍵を保持する
    データ管理システム。
  3. 請求項1に記載のデータ管理システムにおいて、
    前記暗号鍵管理装置は、前記ポリシーで設定された更新時期が来たとき、新たな暗号鍵を生成して前記データベース管理装置に配信し、
    前記データベース管理装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記新たな暗号鍵で再暗号化して前記データベースに格納し、
    前記データベース管理装置は、前記新たな暗号鍵で前記秘密情報が再暗号化された後、前記第2暗号鍵を削除し、前記新たな暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記新たな暗号鍵を秘匿する
    データ管理システム。
  4. 請求項1記載のデータ管理システムにおいて、
    前記データベース管理装置は、前記秘密情報を暗号化するときに使用した暗号鍵を保持するとき、複数の預託者の各々毎に暗号鍵を保持する
    データ管理システム。
  5. 請求項1乃至4のいずれか一項に記載のデータ管理システムにおいて、
    前記秘密情報の開示が中断されるとき、
    前記暗号鍵管理装置は、第3暗号鍵を生成し、前記第2暗号鍵と共に出力し、
    前記データベース管理装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記第3暗号鍵で再暗号化して前記データベースに格納し、前記第3暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第3暗号鍵を秘匿する
    データ管理システム。
  6. 請求項1記載のデータ管理システムにおいて、
    前記データベース管理装置と前記暗号鍵管理装置との通信が途絶した場合、予め配備された前記預託者の公開鍵に基づいて前記秘密情報を暗号化することにより、前記秘密情報の漏洩を防ぐ
    データ管理システム。
  7. 預託者が預託し、暗号鍵で暗号化された秘密情報を保持するデータベースを管理するデータベース管理装置であって、
    秘密情報の暗号化に用いた第1暗号鍵を保持する暗号鍵制御装置と、
    アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供するデータベース接続装置と、
    前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、その後、前記預託者による前記秘密情報の開示に関するポリシーに基づいて暗号鍵管理装置が生成した第2暗号鍵で、復号化された前記秘密情報を再暗号化して、前記データベースに格納する定期的暗号化更新装置と
    を備え、
    前記暗号鍵制御装置は、前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記データベース接続装置に対して前記第2暗号鍵を秘匿する
    データベース管理装置。
  8. 請求項7に記載のデータベース管理装置において、
    前記暗号鍵制御装置は、
    前記アプリケーションプログラムの要求に応答して前記秘密情報を前記第2暗号鍵で復号化するとき、前記第2暗号鍵を保持していないか、又は前記第2暗号鍵を秘匿している場合、前記暗号鍵管理装置へ前記第2暗号鍵を要求し、
    前記暗号鍵管理装置が前記要求に応答して前記ポリシーが許可する場合に抽出し前記第2暗号鍵を、当該許可の条件と共に受信し、
    前記データベース接続装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化して提供し、
    前記暗号鍵制御装置は、前記許可の条件の範囲で前記第2暗号鍵を保持する
    データベース管理装置。
  9. 請求項7に記載のデータ管理装置において、
    前記暗号鍵制御装置は、前記暗号鍵管理装置が前記ポリシーで設定された更新時期が来たとき、生成して配信してきた新たな暗号鍵を受信し、
    前記定期的暗号化更新装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記新たな暗号鍵で再暗号化して前記データベースに格納し、
    前記暗号鍵制御装置は、前記新たな暗号鍵で前記秘密情報が再暗号化された後、前記第2暗号鍵を削除し、前記新たな暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記新たな暗号鍵を秘匿する
    データ管理装置。
  10. 請求項7乃至9のいずれか一項に記載のデータベース管理装置において、
    前記秘密情報の開示が中断されるとき、
    前記暗号鍵制御装置は、前記暗号鍵管理装置が生成した第3暗号鍵を前記第2暗号鍵と共に受信し、
    前記定期的暗号化更新装置は、前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記第3暗号鍵で再暗号化して前記データベースに格納し、
    前記暗号鍵制御装置は、前記第3暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第3暗号鍵を秘匿する
    データベース管理装置。
  11. 請求項7記載のデータベース管理装置において、
    前記暗号鍵制御装置と前記暗号鍵管理装置との通信が途絶した場合、予め配備された前記預託者の公開鍵に基づいて前記秘密情報を暗号化することにより、前記秘密情報の漏洩を防ぐ
    データベース管理装置。
  12. 預託者が預託し、第1暗号鍵で暗号化された秘密情報をデータベースに保持するステップと、
    アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化するステップと、
    前記預託者による前記秘密情報の開示に関するポリシーに基づいて、第2暗号鍵を生成するステップと、
    前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、前記第2暗号鍵で再暗号化するステップと、
    再暗号化された前記秘密情報を前記データベースに格納するステップと、
    前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第2暗号鍵を秘匿するステップと
    を具備する
    データ管理方法。
  13. 請求項12に記載のデータ管理方法において、
    前記アプリケーションプログラムの要求に応答して前記秘密情報を前記第2暗号鍵で復号化するとき、前記第2暗号鍵を保持していないか、又は前記第2暗号鍵を秘匿している場合、前記第2暗号鍵を要求するステップと、
    前記要求に応答して、前記ポリシーが許可する場合、前記第2暗号鍵を抽出して、当該許可の条件と共に出力するステップと
    を更に具備する
    データ管理方法。
  14. 請求項12に記載のデータ管理方法において、
    前記ポリシーで設定された更新時期が来たとき、新たな暗号鍵を生成するステップと、
    前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記新たな暗号鍵で再暗号化するステップと、
    再暗号化された前記秘密情報を前記データベースに格納するステップと、
    前記新たな暗号鍵で前記秘密情報が再暗号化された後、前記第2暗号鍵を削除し、前記新たな暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記新たな暗号鍵を秘匿するステップと
    を更に具備する
    データ管理方法。
  15. 請求項12乃至14のいずれか一項に記載のデータ管理方法において、
    前記秘密情報の開示が中断されるとき、第3暗号鍵を生成し、前記第2暗号鍵と共に出力するステップと、
    前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記第3暗号鍵で再暗号化するステップと、
    再暗号化された前記秘密情報を前記データベースに格納するステップと、
    前記第3暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第3暗号鍵を秘匿するステップと
    を更に具備する
    データ管理方法。
  16. 預託者が預託し、暗号鍵で暗号化された秘密情報を保持するデータベースを管理するデータベース管理方法をコンピュータに実行させるプログラムであって、
    秘密情報の暗号化に用いた第1前記暗号鍵を保持するステップと、
    アプリケーションプログラムの要求に応答して、前記データベースの前記秘密情報を前記第1暗号鍵で復号化して提供するステップと、
    前記データベースの前記秘密情報を前記第1暗号鍵で復号化し、その後、前記預託者による前記秘密情報の開示に関するポリシーに基づいて暗号鍵管理装置が生成した第2暗号鍵で、復号化された前記秘密情報を再暗号化するステップと、
    再暗号化された前記秘密情報を前記データベースに格納するステップと、
    前記第2暗号鍵で前記秘密情報が再暗号化された後、前記第1暗号鍵を削除し、前記第2暗号鍵を保持しないか、又は、前記データベース接続装置に対して前記第2暗号鍵を秘匿するステップと
    を具備するデータベース管理方法をコンピュータに実行させるプログラム。
  17. 請求項16記載のプログラムにおいて、
    前記アプリケーションプログラムの要求に応答して前記秘密情報を前記第2暗号鍵で復号化するとき、前記第2暗号鍵を保持していないか、又は前記第2暗号鍵を秘匿している場合、前記暗号鍵管理装置へ前記第2暗号鍵を要求するステップと、
    前記暗号鍵管理装置が前記要求に応答して前記ポリシーが許可する場合に抽出した前記第2暗号鍵を、当該許可の条件と共に受信するステップと、
    前記データベースの前記秘密情報を前記第2暗号鍵で復号化して提供するステップと、
    前記許可の条件の範囲で前記第2暗号鍵を保持するステップと
    を更に具備する
    プログラム。
  18. 請求項16に記載のプログラムにおいて、
    前記暗号鍵管理装置が前記ポリシーで設定された更新時期が来たとき、生成して配信してきた新たな暗号鍵を受信するステップと、
    前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記新たな暗号鍵で再暗号化して前記データベースに格納するステップと、
    前記新たな暗号鍵で前記秘密情報が再暗号化された後、前記第2暗号鍵を削除し、前記新たな暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記新たな暗号鍵を秘匿する
    プログラム。
  19. 請求項16乃至18のいずれか一項に記載のプログラムにおいて、
    前記秘密情報の開示が中断されるとき、前記暗号鍵管理装置が生成した第3暗号鍵を前記第2暗号鍵と共に受信するステップと、
    前記データベースの前記秘密情報を前記第2暗号鍵で復号化し、前記第3暗号鍵で再暗号化して前記データベースに格納するステップと、
    前記第3暗号鍵を保持しないか、又は、前記アプリケーションプログラムに対して前記第3暗号鍵を秘匿するステップと
    を更に具備する
    プログラム。
  20. 請求項16記載のプログラムにおいて、
    前記暗号鍵管理装置との通信が途絶した場合、予め配備された前記預託者の公開鍵に基づいて前記秘密情報を暗号化することにより、前記秘密情報の漏洩を防ぐステップを更に具備する
    プログラム。
JP2009163031A 2009-07-09 2009-07-09 データ管理システム及びデータ管理方法 Withdrawn JP2011019129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009163031A JP2011019129A (ja) 2009-07-09 2009-07-09 データ管理システム及びデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009163031A JP2011019129A (ja) 2009-07-09 2009-07-09 データ管理システム及びデータ管理方法

Publications (1)

Publication Number Publication Date
JP2011019129A true JP2011019129A (ja) 2011-01-27

Family

ID=43596573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009163031A Withdrawn JP2011019129A (ja) 2009-07-09 2009-07-09 データ管理システム及びデータ管理方法

Country Status (1)

Country Link
JP (1) JP2011019129A (ja)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081940A (ja) * 2012-10-17 2014-05-08 Box Inc クラウドベース環境におけるリモートキー管理
US20140229739A1 (en) 2013-02-12 2014-08-14 Amazon Technologies, Inc. Delayed data access
JP2015524592A (ja) * 2012-07-30 2015-08-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 企業データシステム内のテナントのためのセキュリティおよびデータの隔離
JP2016508699A (ja) * 2013-02-12 2016-03-22 アマゾン テクノロジーズ インコーポレイテッド データセキュリティサービス
JP2016531339A (ja) * 2013-06-20 2016-10-06 アマゾン テクノロジーズ インコーポレイテッド ポリシー強制遅延
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
US9942036B2 (en) 2014-06-27 2018-04-10 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US10055594B2 (en) 2012-06-07 2018-08-21 Amazon Technologies, Inc. Virtual service provider zones
US10075295B2 (en) 2013-02-12 2018-09-11 Amazon Technologies, Inc. Probabilistic key rotation
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
WO2020004137A1 (ja) * 2018-06-27 2020-01-02 株式会社日立製作所 サービス支援システム、及びサービス支援方法
JP2020506597A (ja) * 2017-01-27 2020-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・マスキング
US10721075B2 (en) 2014-05-21 2020-07-21 Amazon Technologies, Inc. Web of trust management in a distributed system
US11036869B2 (en) 2013-02-12 2021-06-15 Amazon Technologies, Inc. Data security with a security module

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055594B2 (en) 2012-06-07 2018-08-21 Amazon Technologies, Inc. Virtual service provider zones
US10834139B2 (en) 2012-06-07 2020-11-10 Amazon Technologies, Inc. Flexibly configurable data modification services
US10474829B2 (en) 2012-06-07 2019-11-12 Amazon Technologies, Inc. Virtual service provider zones
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
JP2015524592A (ja) * 2012-07-30 2015-08-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 企業データシステム内のテナントのためのセキュリティおよびデータの隔離
JP2014081940A (ja) * 2012-10-17 2014-05-08 Box Inc クラウドベース環境におけるリモートキー管理
US10404670B2 (en) 2013-02-12 2019-09-03 Amazon Technologies, Inc. Data security service
JP2016508699A (ja) * 2013-02-12 2016-03-22 アマゾン テクノロジーズ インコーポレイテッド データセキュリティサービス
US10666436B2 (en) 2013-02-12 2020-05-26 Amazon Technologies, Inc. Federated key management
US11695555B2 (en) 2013-02-12 2023-07-04 Amazon Technologies, Inc. Federated key management
US20140229739A1 (en) 2013-02-12 2014-08-14 Amazon Technologies, Inc. Delayed data access
US11036869B2 (en) 2013-02-12 2021-06-15 Amazon Technologies, Inc. Data security with a security module
US10075295B2 (en) 2013-02-12 2018-09-11 Amazon Technologies, Inc. Probabilistic key rotation
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US10210341B2 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US11372993B2 (en) 2013-02-12 2022-06-28 Amazon Technologies, Inc. Automatic key rotation
US10382200B2 (en) 2013-02-12 2019-08-13 Amazon Technologies, Inc. Probabilistic key rotation
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US10313312B2 (en) 2013-06-13 2019-06-04 Amazon Technologies, Inc. Key rotation techniques
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US11470054B2 (en) 2013-06-13 2022-10-11 Amazon Technologies, Inc. Key rotation techniques
US10601789B2 (en) 2013-06-13 2020-03-24 Amazon Technologies, Inc. Session negotiations
US9832171B1 (en) 2013-06-13 2017-11-28 Amazon Technologies, Inc. Negotiating a session with a cryptographic domain
JP2016531339A (ja) * 2013-06-20 2016-10-06 アマゾン テクノロジーズ インコーポレイテッド ポリシー強制遅延
US10387683B2 (en) 2013-06-20 2019-08-20 Amazon Technologies, Inc. Policy enforcement delays
US11323479B2 (en) 2013-07-01 2022-05-03 Amazon Technologies, Inc. Data loss prevention techniques
US10721075B2 (en) 2014-05-21 2020-07-21 Amazon Technologies, Inc. Web of trust management in a distributed system
US10587405B2 (en) 2014-06-27 2020-03-10 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US11368300B2 (en) 2014-06-27 2022-06-21 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9942036B2 (en) 2014-06-27 2018-04-10 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US11626996B2 (en) 2014-09-15 2023-04-11 Amazon Technologies, Inc. Distributed system web of trust provisioning
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
JP2020506597A (ja) * 2017-01-27 2020-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・マスキング
JP2020003988A (ja) * 2018-06-27 2020-01-09 株式会社日立製作所 サービス支援システム、及びサービス支援方法
WO2020004137A1 (ja) * 2018-06-27 2020-01-02 株式会社日立製作所 サービス支援システム、及びサービス支援方法
JP7178811B2 (ja) 2018-06-27 2022-11-28 株式会社日立製作所 サービス支援システム、及びサービス支援方法

Similar Documents

Publication Publication Date Title
JP2011019129A (ja) データ管理システム及びデータ管理方法
US11606352B2 (en) Time-based one time password (TOTP) for network authentication
US8856530B2 (en) Data storage incorporating cryptographically enhanced data protection
CN111090622B (zh) 基于动态加密rbac模型的云存储信息处理系统及方法
US20170006001A1 (en) Encryption in the cloud using enterprise managed keys
CN109587101B (zh) 一种数字证书管理方法、装置及存储介质
US8095960B2 (en) Secure synchronization and sharing of secrets
US20160072772A1 (en) Process for Secure Document Exchange
TW200828944A (en) Simplified management of authentication credientials for unattended applications
US20150121498A1 (en) Remote keychain for mobile devices
CN103916480B (zh) 一种面向共享文件的文件加密系统
US11757639B2 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US10250385B2 (en) Customer call logging data privacy in cloud infrastructure
CN106685919A (zh) 一种具有被动式动态密钥分发机制的安全云存储方法
CN113645195B (zh) 基于cp-abe和sm4的云病历密文访问控制系统及方法
US11949773B2 (en) Systems and methods for secure key management using distributed ledger technology
US20240039709A1 (en) Method and apparatus for sharing encrypted data, and device and readable medium
US10949556B2 (en) Method for encrypting data and a method for decrypting data
KR20120070829A (ko) 분산 네트워크 시스템에서 컨텐츠의 댓글을 공유하고 이용하는 장치 및 방법
US10740478B2 (en) Performing an operation on a data storage
EP1843274B1 (en) Digital rights management system
KR20210064675A (ko) 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법
KR20150134155A (ko) 사용자의 개인 정보를 통합 관리하는 개인 정보 관리 장치, 개인 정보 관리 시스템 및 개인 정보 관리 방법
US20240048367A1 (en) Distributed anonymized compliant encryption management system
TWI611302B (zh) 安全地共享內容方法及系統

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121002