JP5679018B2 - データベース暗号化システムと方法及びプログラム - Google Patents
データベース暗号化システムと方法及びプログラム Download PDFInfo
- Publication number
- JP5679018B2 JP5679018B2 JP2013168697A JP2013168697A JP5679018B2 JP 5679018 B2 JP5679018 B2 JP 5679018B2 JP 2013168697 A JP2013168697 A JP 2013168697A JP 2013168697 A JP2013168697 A JP 2013168697A JP 5679018 B2 JP5679018 B2 JP 5679018B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- encryption
- encrypted
- ciphertext
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、日本国特許出願:特願2011−247908号(2011年11月11日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、情報の暗号化技術に関し、特に、データベース暗号化システムと方法及びプログラムに関する。
前記データベース制御手段にネットワークを介して接続するユーザシステムと、
を備え、前記ユーザシステムが、
暗号化と復号化のための鍵情報を管理する鍵利用手段と、
前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性の設定に関する情報を記憶する第1の記憶部と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、データ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化した暗号化データ及び/又は暗号化メタデータを、前記データベース制御手段に送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース制御手段に送信してデータベース操作を実行させ、
前記データベース制御手段から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合、前記変換又は前記鍵利用手段の鍵情報による復号化を行い、前記データベース操作命令の応答として発行元に返すアプリケーション応答手段と、を備えているデータベース暗号化システムが提供される。
前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性の設定に関する情報を記憶する第1の記憶部と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、データ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース制御手段に送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース制御手段に送信してデータベース操作を実行させ、
前記データベース制御手段から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合、前記変換又は前記鍵利用手段による復号化を行い、前記データベース操作命令の応答として発行元に返すアプリケーション応答手段と、を備えているユーザ装置が提供される。
さらに、前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定して第1の記憶部に記憶し、
前記データベースシステムに向けて発行されるデータベース操作命令に対して、前記第1の記憶部の情報を参照して、データ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベースシステムに送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベースシステムに送信してデータベース操作を実行させ、
前記データベースシステムから送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合、前記変換又は前記鍵情報による復号化を行い、前記データベース操作命令の応答として発行元に返す、データベース暗号化方法が提供される。
暗号化と復号化のための鍵情報を管理する鍵利用処理と、
データベースに格納するデータ及び/又はメタデータの安全性の設定に関する情報を設定して第1の記憶部に記憶する安全性設定処理と、
前記データベース装置に向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照してデータ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用処理により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース装置に送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース装置に送信してデータベース操作を実行させ、
前記データベース装置から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換あるいは復号化が必要な場合、前記変換あるいは前記鍵利用処理による復号化を行い、前記データベース操作命令の応答として発行元に返すアプリケーション応答処理と、を実行させるプログラムが提供される。
前記データベース(11)に格納される、
メタデータの暗号化の有無の設定又は変更、
データの暗号化の有無の設定又は変更、
データの安全性の程度を表す機密度情報の設定又は変更
の少なくとも1つを行う。前記メタデータは、テーブルのテーブル名、カラム名を含む。
前記第1の記憶部(25)は、
前記データベースに格納される、
メタデータの暗号化の有無、
データの暗号化の有無、
データの安全性の程度を表す機密度情報、
前記機密度情報に対応した暗号アルゴリズムの識別情報
の少なくとも1つを保持する構成としてもよい。
前記データベースに格納される前記テーブル名、カラム名を含む前記メタデータが暗号化されている場合、暗号化されたテーブル名、カラム名に加えて、
暗号化前の平文のテーブル名、平文のカラム名を、
復号後テーブル名、復号後カラム名として記憶保持する。
前記アプリケーション応答手段(22)は、入力された前記データベース操作命令で指定される前記テーブル名、カラム名を含む前記メタデータの暗号化が必要であり、前記第1の記憶部(25)に暗号化されたテーブル名、カラム名として記憶保持されている場合、
前記第1の記憶部(25)に暗号化されたテーブル名、カラム名を暗号化メタデータとして取得する(この場合、鍵利用手段による復号化は行わない)。
また、前記アプリケーション応答手段(22)は、前記データベース制御手段(12)から送信された前記データベース処理結果のメタデータのうち、テーブル名とカラム名の少なくとも一方が暗号化されている場合、
前記第1の記憶部の前記復号後テーブル名と前記復号後カラム名の平文のテーブル名と平文カラム名の少なくとも一方を取得し(この場合、鍵利用手段による復号化は行わない)、前記データベース操作命令の応答として発行元に返す構成としてもよい。
前記テーブル名とカラム名の少なくとも一方が暗号化されている場合には、平文のテーブル名とカラム名の少なくとも一方を、暗号文に置き換える構成としてもよい。
前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無、
データの暗号化の有無、
データの安全性の程度を表す機密度情報、
前記機密度情報に対応した暗号アルゴリズムの識別情報を
記憶保持する第2の記憶部(14)と、
前記データベース操作命令の処理内容と、
機密度情報と、
暗号アルゴリズムとを関連付ける暗号プロトコル識別情報と、
を少なくとも記憶保持する第3の記憶部(13)と、を備えた構成としてもよい。
データの暗号化、復号化のための鍵情報を記憶する記憶部(24)と、鍵情報を管理する鍵利用手段(23)を、ユーザシステム(10)側に備えたことで、データベースシステムへの外部からの侵入や、データベース管理者等による不正・操作ミスなどによる情報漏洩を防ぐことができる。
データベース利用アプリケーション(図1の21)から入力されたデータベース操作命令の操作対象データに対して求められる安全性の程度(機密度)に対応した処理(暗号アルゴリズム)を選択して実行する。例えば求められる安全性の低いデータは、相対的に高速であるが、安全性が相対的に高くない暗号アルゴリズムを用いる。さらに、安全性(機密性)が要求されないデータは、暗号化の対象から外すことで、効率的な処理を可能としている。
データベース利用アプリケーション(図1の21)から入力されたデータベース操作命令に応答して、データベースに格納された暗号化データに対して、暗号化された状態で演算処理(加算又は乗算等)を実行する。
m1+m2の暗号文E(m1+m2)として、
E(m1)+E(m2)=E(m1+m2)
が成り立つ。すなわち、平文m1と平文m2の和m2+m2の暗号文E(m1+m2)は、m1の暗号文とm2の暗号文の和から直接求められる。また、RSA暗号、Elgamall暗号等の乗法準同型暗号では、
平文m1とm2の積m1×m2の暗号文E(m1×m2)に関して、
E(m1×m2)=E(m1)×E(m2)
が成り立ち、平文m1×m2の暗号文E(m1×m2)は、平文m1の暗号文と平文m2の暗号文の積から直接求められる。
ユーザシステム側でデータベースへ格納する情報の暗号化の有無を、例えばテーブル、カラム、カラムデータ単位で設定可能とするとともに、データの操作内容と、求められる安全性(機密度)とに応じた処理手順(暗号アルゴリズム)を選択可能としている。これにより、処理の効率化を実現可能としている。
本発明の実施にあたり、データベース操作命令(例えばSQL命令等)の構文の変更等を不要とし、データベース利用アプリケーション(図1の21)では、データベース操作命令をそのまま(命令の構文、及び、命令で指定するテーブル名、カラム名、データ等すべて平文のまま)発行すればよい。データベース利用アプリケーション(図1の21)でテーブル(表)作成、カラム追加、行追加、データの演算等のデータベース操作命令を発行すると、アプリケーション応答手段(図1の22)に入力される。アプリケーション応答手段(図1の22)では、データの安全性に対応した暗号アルゴリズムの選択が行われ、該暗号アルゴリズムで暗号化を行った上で、データベースシステム(10)に送信される。そして、データベース(11)に格納するデータの安全性設定を行う安全性設定手段(26)を、データベース利用アプリケーション(21)とは別に用意することで、データベースを利用する既存アプリケーションの改造等を不要としている。すなわち、本発明の実施にあたり、アプリケーションで、データの暗号化、復号、安全性の設定等を行うことは不要であり、データベース操作命令を発行する既存の任意のアプリケーションに対応可能である(既存のアプリケーションをそのまま利用することが可能である)。
以下添付図面を参照して実施形態を説明する。
図1は、本発明の一実施形態を説明する図である。図1を参照すると、データベースシステム10と、ユーザシステム(ユーザ装置)20とは、例えばLAN(Local Area Network)、WAN(Wide Area Network)、又はインターネット等のネットワーク30を介して接続されている。データベースシステム10は、データベース11と、データベース制御手段12と、暗号プロトコル情報記憶部13と、安全性設定情報記憶部14とを備えている。
次に、データベースシステム10の要素についてその概略を説明する。データベース制御手段12は、データベース11に対する操作(データベース操作命令によるデータベース操作)を行う機能と、暗号プロトコルを実行する機能を備えている。
・データベース11に格納されるテーブル名、カラム名を含むメタデータの暗号化の有無、
・データの暗号化の有無、
・データの安全性の程度を表す機密度情報、
・データの暗号化を行う場合の暗号アルゴリズムを識別する暗号アルゴリズム識別情報、
等を記憶保持する。
・データベース操作命令の処理内容(単純一致、加算等)と、データに求められる安全性の程度(機密度)に対応する暗号アルゴリズムの識別情報と、
・暗号プロトコルの識別情報
を記憶保持する。暗号プロトコル情報記憶部13には、データベース11内のデータを暗号文のまま加算する演算処理には、当該処理内容に応じて、加法性準同型暗号アルゴルズムを選択するための情報が記憶される。
次に、ユーザシステム20の各要素についてその概略を説明する。データべース利用アプリケーション21は、データベース操作命令を発行する。なお、特に制限されないが、データべース利用アプリケーション21は、データベース操作を実行するためのデータベース操作命令(SQL(Structured Query Language)命令)を発行するアプリケーションプログラムからなる。あるいは、データべース利用アプリケーション21では、データベースシステム10のデータベース制御手段12にアプリケーション応答手段22を介して、画面上でテーブル定義、データ追加、検索、演算等の操作を行うGUI(Graphical User Interface)環境として実装してもよい。この場合、ユーザが画面上で選択した操作は、対応するSQL命令に変換され、アプリケーション応答手段22に入力される。データべース利用アプリケーション21は、既存のアプリケーションをそのまま用いることが可能である。これは、データべース利用アプリケーション21を新たに開発してはならないということを意味するものでなく、データべース利用アプリケーション21を新たに開発又は改造、改版するにあたり、データの暗号化、復号化、データの安全性設定のための情報の設定を、当該データべース利用アプリケーション21で行わなくてもよいことを意味している。
暗号化されたメタデータと、
復号されたメタデータ(平文メタデータ)と
を対応させて記憶保持する。
・テーブル名・カラム名等メタデータの暗号文メタデータへの置き換えや、
・データベース操作の内容(処理内容)に応じた暗号プロトコル、あるいは、
・通常のデータベース操作
を、データベース制御手段12や鍵利用手段23と協調して実行する。
図1に示したシステムの動作例を概説する。データベース制御手段12は、データべース利用アプリケーション21から入力され、アプリケーション応答手段22を介して転送されたデータベース操作命令が、例えば検索(Query)など、暗号文のままで処理可能な暗号プロトコルが存在する操作である場合、暗号文のまま処理(検索等)を行う。データベース制御手段12は、データベース11内の暗号文の処理結果を、暗号文のままアプリケーション応答手段22に返す。アプリケーション応答手段22は、暗号文を鍵利用手段23で平文に復号した結果を受け取り、データベース利用アプリケーション21に、平文のデータベース操作結果を返す。
アプリケーション応答手段22の処理動作を説明する。図2(A)を参照すると、アプリケーション応答手段22は、以下のステップを実行する。
図2(B)を参照すると、データベース制御手段12では、
ステップ1: アプリケーション応答手段22からの指示の受信を待つ。
図2に示したように、データベース制御手段12とアプリケーション応答手段22との協働により、データベースシステム10における情報漏洩を防止するとともに、任意のデータベース操作への対応、効率的な処理実行を実現している。
次に、上記したデータベース制御手段12について詳細に説明する。図3は、図1のデータベース制御手段12の構成の一例を示す図である。図3を参照すると、データベース制御手段12は、データベース操作部121と、暗号プロトコル処理実行部122と、処理・通信制御部125と、暗号プロトコル情報操作部123と、安全性設定情報操作部124を備えている。
に関して、データベース11内のテーブル名AにおけるカラムB、Cが暗号化されている場合、データベース操作部121では、カラムB、Cを暗号化された状態のまま検索処理し、暗号プロトコル処理実行部122に検索結果を返す。
図4は、図3の変形例を示す図である。図4に示す例では、暗号プロトコル情報と、安全性設定情報はデータベース11内に、暗号プロトコル情報テーブル111と、安全性設定情報テーブル112として格納されている。図4の暗号プロトコル情報操作部123は、データベース操作部121に、データベース操作命令(テーブル名を暗号プロトコル情報テーブルとして指定したSQL命令等)を発行することで、データベース11内の暗号プロトコル情報テーブル111の情報にアクセスする。同様に、安全性設定情報操作部124は、データベース操作部121を介してデータベース11内の安全性設定情報テーブル112の情報にアクセスする。
図26は、図1のデータベース制御手段12のさらに別の構成例を示す図である。図26を参照すると、データベース制御手段12は、データベース操作部121と、暗号プロトコル処理実行部122と、処理・通信制御部125と、暗号プロトコル情報操作部123と、安全性設定情報操作部124と、暗号演算部126を備えている。図3とは、暗号演算部126を備えた点が相違している。データベース操作部121と、暗号プロトコル処理実行部122と、処理・通信制御部125と、暗号プロトコル情報操作部123と、安全性設定情報操作部124は、図3と同様であるため説明は省略する。
図27は、図1のデータベース制御手段12の構成の別の例を示す図である。図27を参照すると、本実施形態は、図26の構成において、図4と同様に、暗号プロトコル情報テーブル111、安全性設定情報テーブル112をデータベース11内に備えている。暗号演算部126は、図26と同様であるため、説明は省略する。
図5は、図1の暗号プロトコル情報記憶部13の例を説明するための図である。図5において、処理内容識別子は、データベース操作の処理内容を識別する情報である。特に制限されないが、図5では、「単純一致」(指定された文字列と一致するかを単純に照合)、「加算」等のデータベース操作の識別コードが設定される。
図6は、図1の安全性設定情報記憶部14の一例を示す図である。図6を参照すると、安全性設定情報記憶部14は、データベース11に作成されたテーブル名、該テーブル名が暗号化されているか否か(テーブル名暗号化有無)、カラム名、該カラム名が暗号化されているか否か(カラム名暗号化有無)、カラムデータが暗号化されているか否か(カラムデータ暗号化有無)、カラムデータの機密度、カラムデータの暗号化に用いられる暗号アルゴリズムの識別子(カラムデータ暗号化アルゴリズム識別子)の欄を含む。
図7は、データベース11内のテーブル情報を説明するための図である。前述の図6に示した安全性設定情報記憶部14におけるカラム「勤務地」のように、データが複数の暗号アルゴリズムで暗号化される場合がある。そこで、複数の暗号アルゴリズムで暗号化される暗号文の本体は、別のテーブルで管理する。
暗号文本体を格納したテーブルである暗号文テーブルの名前(暗号文テーブル名)と、
暗号アルゴリズムと、
パラメータ(暗号アルゴリズムに与えるパラメータ)と、
を対応させて保持する。
カラム名は「勤務地」、
暗号アルゴリズムは「AES」、
パラメータは「Null」(無)、
暗号文テーブル名は「暗号文_AES_1」
である。
カラム名は「勤務地」、
暗号アルゴリズムは「SE1」、
パラメータは「0x16a・・・」(0xはヘキサデシマル表示を表す)、
暗号文テーブル名は「暗号文_SE1_1」
である。暗号文テーブル名が「暗号文_AES_1」、「暗号文_SE1_1」の表は、図7(D)、(E)にそれぞれ示される。
・暗号文本体を格納したテーブルを特定するための情報と、
・暗号アルゴリズムのパラメータを、
管理している。暗号文テーブル情報表(図7(B))は、安全性設定情報記憶部14内に格納するようにしてもよい。あるいは、暗号文テーブル情報表(図7(B))は、安全性設定情報記憶部14とは、別の記憶部にて管理するようにしてもよい。
図8は、図1のアプリケーション応答手段22、安全性設定手段26、鍵利用手段23の構成の一例を示す図である。図8を参照すると、アプリケーション応答手段22は、処理・通信制御部221と、暗号プロトコル処理実行部222と、データベース操作変換処理部223と、暗号演算部224と、安全性設定情報操作部225を備えている。
図9は、図1のユーザシステム20側の安全性設定情報一時記憶部25の内容の一例を模式的に示す図である。安全性設定情報一時記憶部25は、図6に示したデータベースシステム10の安全性設定情報記憶部14の内容に、データベース操作対象を特定するための補助情報として、「復号後テーブル名」と「復号後カラム名」とが追加されている。その他の情報は、図6の安全性設定情報記憶部14の内容と同一である。
図10は、鍵情報記憶部24の一例を示す図である。鍵情報記憶部24は、暗号アルゴリズム識別子と鍵情報を含む。図9に示す例では、データを暗号アルゴリズム「AES」で暗号化や復号する際に用いる鍵情報は「0x51a4・・・」である。また、公開鍵暗号である暗号アルゴリズムHE1の鍵情報は「0xb316・・・」であり、鍵情報には、暗号化や準同型演算処理に用いる公開鍵情報と、復号に用いる秘密鍵情報と、が含まれている。
以下では、図1、図8を参照して説明した安全性設定手段26の処理手順を詳細に説明する。ユーザシステム20において、安全性設定手段26は、データベース11のデータに関する安全性情報を設定する。
アプリケーション応答手段22に対してデータベース11の現在の安全性設定情報を要求して安全性設定情報を取得する。アプリケーション応答手段22は、データベースシステム10の安全性設定情報記憶部14又はユーザシステム20の安全性設定情報一時記憶部25を参照して、データベース操作対象のデータ等に該当する安全性設定情報を取得し、安全性設定手段26に返す。
安全性設定手段26の設定表示部261は、アプリケーション応答手段22から返信された安全性設定情報を入力/出力装置27に表示する。
安全性設定手段26の設定入力部262は、データベースのユーザ(利用者)が入力/出力装置27から入力した、設定の対象(例えばテーブル名、カラム名)と設定内容(例えばテーブル名の暗号化有無、カラム名の暗号化有無、カラムデータの機密度)を受け付ける。
安全性設定手段26の設定入力部262は、アプリケーション応答手段22に対して、入力された設定対象、設定内容を送信して、設定変更(更新)を依頼する。安全性設定の変更は、データベース制御手段12の安全性設定情報操作部124、アプリケーション応答手段22の安全性設定情報操作部225により、安全性設定情報記憶部14、安全性設定情報一時記憶部25にそれぞれ書き込まれる。
図12は、図11のステップ4の設定更新処理の詳細な処理を説明する流れ図である。ここでは、メタデータ(テーブル名、カラム名)の暗号化を「有」に設定する処理について説明する。ここでは、安全性設定情報記憶部14、安全性設定情報一時記憶部25において、該当メタデータ(テーブル名、カラム名)の暗号化が「無」に設定されているものとする。
安全性設定手段26は、設定対象のメタデータ(テーブル名、カラム名)と設定内容(暗号化「有」)を入力/出力装置27から受けとる。
安全性設定手段26からの設定更新依頼を受けたアプリケーション応答手段22は、鍵利用手段23を用いて、設定対象のメタデータ(テーブル名、及び/又はカラム名)の暗号文を作成する。アプリケーション応答手段22は、安全性設定情報一時記憶部25、又は安全性設定情報記憶部14を参照して、該当メタデータに対応する暗号アルゴリズム情報を取得し、暗号演算部231でメタデータ(テーブル名、及び/又はカラム名)を暗号化し、暗号文メタデータを作成する。
安全性設定手段26からの設定変更の指示を受けたアプリケーション応答手段22は、データベース制御手段12に対して、データベース11内の設定対象のメタデータを、上記ステップ1で作成した暗号文メタデータに置き換えるよう依頼する。データベース制御手段12は、データベース11内の平文メタデータを、暗号文メタデータに置き換える。実装固有(Implementation Specific)で本発明を特に制限するものではないが、テーブル名を暗号文に変更する場合、例えば、アプリケーション応答手段22において、例えばSQL命令
ALTER TABLE 変更前テーブル RENAME TO 変更後テーブル名
において、変更後テーブル名を暗号文テーブル名としたSQL文を自動生成し、データ制御手段12のデータベース操作部121(図4)に発行するようにしてもよい。また、カラム名を暗号文で変更する場合、例えばSQL命令
ALTER TABLE テーブル名 RENAME COLUMN 変更前カラム名 TO 変更後カラム名
において、変更後カラム名を暗号文カラム名としたSQL文を、アプリケーション応答手段22で自動生成し、データベース操作部121(図4)に発行するようにしてもよい。
アプリケーション応答手段22は、データベース制御手段12に対して、安全性設定情報記憶部14(図6参照)において、同様に、設定対象の平文のテーブル名又はカラム名を暗号文デーブル名又は暗号文カラム名に置き換えるとともに、テーブル名暗号化有無又はカラム名暗号化有無)の欄の「有」への変更を行うよう依頼し、データベース制御手段12の安全性設定情報操作部124が、安全性設定情報記憶部14の安全性設定情報を変更する。また、暗号文テーブル情報表(図7(B))のテーブル名の該当テーブル名、カラム名を暗号文テーブル名、暗号文カラム名で置き換える。
アプリケーション応答手段22の安全性設定情報操作部225は、安全性設定情報一時記憶部25(図9参照)において、設定対象のもとの平文のテーブル名又はカラム名を、復号後テーブル名又は復号後カラム名の欄に書き込み、テーブル名又はカラム名を暗号文デーブル名又は暗号文カラム名で置き換え、テーブル名暗号化有無又はカラム名暗号化有無)の欄を「有」に変更する。
アプリケーション応答手段22は、安全性設定手段26に対して、設定変更(設定更新処理)の完了を返信する。安全性設定手段26は、入力/出力装置27に完了を表示する。その際、安全性設定情報一時記憶部25の変更後の内容を画面表示して変更完了をユーザに提示するようにしてもよい。
次に、図11のステップ4の設定更新処理の詳細な処理手順として、暗号化「無」への変更処理を説明する。図13は、図11の設定更新処理4の処理の別の例を説明する流れ図である。図13には、メタデータ(テーブル名、カラム名)の暗号化を「有」から「無」に変更する処理の手順が示されている。ここでは、メタデータ(テーブル名、カラム名)の暗号化が既に「有」に設定されているものとする。
安全性設定手段26からの設定変更の指示を受けたアプリケーション応答手段22は、安全性設定情報一時記憶部25(図9参照)を参照し、設定対象のメタデータ(テーブル名又はカラム名)について、データベース11中での暗号文メタデータを取得し、復号後テーブル名又は復号後カラム名の欄から、対応する平文のテーブル名又は平文のカラム名を取得する。
アプリケーション応答手段22は、データベース制御手段12に対して、暗号文メタデータ(テーブル名又はカラム名)を、対応する平文メタデータに置き換えるよう依頼し、データベース11内のテーブル名/カラム名を平文のテーブル名/カラム名に置き換える。テーブル名を変更する場合、データベース制御手段12において、例えばSQL命令
ALTER TABLE 変更前テーブル名 RENAME TO 変更後テーブル名
において、変更前テーブル名を暗号文とし、変更後テーブル名を平文テーブル名として、データベース操作部121(図4)に発行するようにしてもよい。またカラム名を暗号文で変更する場合、例えばSQL命令
ALTER TABLE テーブル名 RENAME COLUMN 変更前カラム名 TO 変更後カラム名
において、変更前カラム名を暗号文、変更後カラム名を平文として、データベース操作部121(図4)に発行するようにしてもよい。また、暗号文テーブル情報表(図7(B))のテーブル名の該当テーブル名、カラム名を平文テーブル名、平文カラム名で置き換える。
データベース制御手段12に対し、安全性設定情報記憶部14(図6参照)についても、暗号文テーブル名又は暗号文カラム名の欄を、平文テーブル名又は平文カラム名に置き換える。また、テーブル名暗号化有無又はカラム名の暗号化有無の欄を「無」に変更を行うよう依頼し、データベース制御手段12の安全性設定情報操作部124は、安全性設定情報を変更する。
アプリケーション応答手段22の安全性設定情報操作部225は、安全性設定情報一時記憶部25(図9参照)において、暗号文テーブル名又は暗号文カラム名を、対応する平文テーブル名又は平文カラム名に置き換え、復号後のテーブル名又は復号後カラム名の欄を「NULL」に変更し、テーブル名暗号化有無又はカラム名暗号化有無の欄を「無」に変更する。
アプリケーション応答手段22は安全性設定手段26に変更完了を返信する。
本実施形態では、既存のデータベース利用アプリケーション21への改造を避ける(不要とする)ため、データの機密度を設定する操作は、安全性設定手段26を介して行う。安全性設定手段26は、アプリケーション応答手段22に対して、現在の安全性設定情報記憶部14の内容と、データベース11の内容とを問い合わせる。安全性設定手段26は一度に全部の情報を問い合わせるのではなく、全テーブル名の一覧、続いて、あるテーブルのカラム名と安全性設定の一覧、というように、部分的・段階的に問合せを行うようにしてもよい。
図14は、データベース11の格納された平文のカラムデータに機密度を設定する(平文のカラムデータを暗号化する)処理手順を説明する流れ図である。
アプリケーション応答手段22は、安全性設定手段26から設定対象のテーブル名、カラム名と、設定内容(機密度)を受信する。
アプリケーション応答手段22は、暗号プロトコル情報記憶部13(図5参照)を参照し、入力された機密度(高、中、低)に対応する暗号アルゴリズム識別子の一覧を取得し、その中から1つを選択する。同一の機密度に対応して暗号アルゴリズム識別子の一覧の中から1つを選択する場合、処理効率が良いことが知られているものを選択する。アプリケーション応答手段22で、暗号アルゴリズム識別子を自動で選択してもよいし、安全性設定手段26を介して暗号アルゴリズム識別子の一覧を画面表示し、機密度の変更作業を行うユーザが選択するようにしてもよい。
アプリケーション応答手段22は、データベース制御手段12の安全性設定情報操作部124に、安全性設定情報記憶部14(図6参照)に設定対象のテーブル名、カラム名のカラムデータ機密度の欄を、入力された機密度に変更を依頼するとともに、カラムデータ暗号アルゴリズム識別子の欄を、ステップ1で選択したものに変更するよう依頼し、安全性設定情報記憶部14の安全性設定情報を更新する。設定対象のテーブル名、カラム名が、暗号化されている場合、アプリケーション応答手段22は、安全性設定情報一時記憶部25の復号後テーブル名又は復号後カラム名から、安全性設定手段26から入力された平文テーブル名又は平文カラム名に一致する名前を検出し、対応する暗号文テーブル名又は暗号文カラム名を取得し、安全性設定情報記憶部14(図6参照)において、設定対象の暗号文テーブル名、暗号文カラム名を特定する。
アプリケーション応答手段22の安全性設定情報操作部225は、安全性設定情報一時記憶部25に対し、設定対象のテーブル名、カラム名のカラムデータ機密度の欄をNullから、入力された機密度に変更するとともに、カラムデータ暗号アルゴリズム識別子の欄を、ステップ1で選択したものに変更する。
アプリケーション応答手段22は、データベース制御手段12に対して、設定対象のテーブル名、カラム名のカラムデータの取得を依頼し、カラムデータを取得する。前述したように、カラムデータは、データベース11中に、暗号文テーブル(図7(B)の暗号文テーブル名で参照される)として格納されている。データベースに該等するカラムのカラムデータがなければ、ステップ9へ制御を移す。
アプリケーション応答手段22は、取得したカラムデータ(平文カラムデータ)と、ステップ1で選択した暗号アルゴリズム識別子とを鍵利用手段23に送り、カラムデータの暗号化を依頼する。アプリケーション応答手段22は、得られた暗号文のカラムデータに、通し番号を付け、
[通し番号、平文カラムデータ、暗号文カラムデータ]
の組の一覧を作成する。
アプリケーション応答手段22は、ステップ5で作成した
[通し番号、暗号文カラムデータ]
の組の一覧を格納するテーブルの作成をデータベース制御手段12に依頼して、データベース11に暗号文テーブル(暗号文テーブル名は、図7(B)に示すように、暗号文_暗号アルゴリズム識別子)を作成する。
アプリケーション応答手段22は、暗号文テーブル情報表(図7(B)参照)に、
[設定対象のテーブル名、設定対象のカラム名、ステップ1で選択された暗号アルゴリズム識別子、作成した暗号文テーブルの名前]
の組を追加するように、データベース制御手段12に依頼する。データベース制御手段12は、暗号文テーブル情報表(図7(B)参照)に、
[テーブル名、カラム名、暗号アルゴリズム識別子、暗号文テーブル名]
の組を追加する。
アプリケーション応答手段22は、データベース制御手段12に対して、データベース操作対象カラムの平文カラムデータ(例えば図7(A)のカラム名の「勤務地」のデータ)を、ステップ5で作成した
[通し番号、平文カラムデータ、暗号文カラムデータ]
の組で対応付けられた、通し番号で置き換えるように依頼する(図7(C)参照)。データベース制御手段12は、暗号文テーブルにおいて、ID=1、2、・・・の各々に対して、ステップ5で暗号化された暗号文カラムデータを対応させて格納する(図7(D)乃至(F)の格納形式参照)。
アプリケーション応答手段22は、安全性設定手段26に変更完了を返信する。
前述した図14の機密度設定手順は、データベース制御手段12が図3又は図4の構成の場合における、データベース11に格納された平文のカラムデータに機密度を設定する処理手順である。図28は、データベース制御手段12が図26又は図27の構成の場合における、データベース11に格納された平文のカラムデータに機密度を設定する処理手順を説明する流れ図である。図28において、ステップ1から9は、図14のステップ1から9と同一である。図28において、ステップ1で選択した暗号アルゴリズムが、HE1等の公開鍵暗号の場合、ステップ3の後、ステップ10へ分岐する。
[通し番号、平文カラムデータ、暗号文カラムデータ]
の組の一覧を作成する。
[通し番号、暗号文カラムデータ]
の組の一覧を格納する暗号文テーブル(図7(D)乃至(F)参照)を作成する。
[設定対象のテーブル名、設定対象のカラム名、ステップ1で選択された暗号アルゴリズム識別子、ステップ12で作成した暗号文テーブルの名前]
の組を追加する。
[通し番号、平文カラムデータ、暗号文カラムデータ]
の組で対応付けられた通し番号に置き換え、データベース11に格納する。
カラムデータの機密度の指定を安全性設定情報記憶部14、安全性設定情報一時記憶部25、データベース11に反映する処理において、機密度が既に設定されている場合について、以下に説明する。
アプリケーション応答手段22は、安全性設定手段26から設定対象のテーブル名、カラム名と、設定内容(機密度の変更)を受信する。
アプリケーション応答手段22は、データベースシステム10の安全性設定情報記憶部14(図6参照)から、入力された設定対象テーブル名、カラム名で指定されているカラムデータの暗号化に用いられている暗号アルゴリズム識別子の一覧を取得する。なお、設定対象のテーブル名、カラム名が、暗号化されている場合、アプリケーション応答手段22は、安全性設定情報一時記憶部25の復号後テーブル名又は復号後カラム名から、安全性設定手段26から入力された平文テーブル名又は平文カラム名に一致する名前を検出し、対応する暗号文テーブル名又は暗号文カラム名を取得し、安全性設定情報記憶部14(図6参照)において、設定対象の暗号文テーブル名、暗号文カラム名を特定する。
アプリケーション応答手段22は、データベースシステム10の暗号プロトコル情報記憶部13(図5)を参照し、新たに入力された機密度に対応する暗号アルゴリズム識別子の一覧を取得する。
アプリケーション応答手段22は、ステップ1で得られた暗号アルゴリズム識別子の一覧と、ステップ2で得られた新たな機密度に対応する暗号アルゴリズム識別子の一覧を比較照合する。
アプリケーション応答手段22は、ステップ3で比較照合した結果、ステップ1で得られた暗号アルゴリズム識別子の一覧と、ステップ2で得られた新たな機密度に対応する暗号アルゴリズム識別子の一覧に、共通の暗号アルゴリズム識別子が存在しない場合、以下の手順で新たに暗号文テーブルを作成する。共通の暗号アルゴリズム識別子が存在する場合、同じ機密度の暗号アルゴリズムで暗号化されているデータが存在するため、以下の機密度の変更処理(新たな機密度情報に対応する暗号アルゴリズムでデータを再暗号化して暗号文テーブルを作成し暗号文テーブル情報を更新)は行わない。
アプリケーション応答手段22は、ステップ1で取得した暗号アルゴリズム識別子一覧に複数の暗号アルゴリズム識別子が含まれる場合、その中から暗号アルゴリズム識別子を1つ選択し(1つしか含まれない場合、当該1つの暗号アルゴリズム識別子が選択される)、データベース制御手段12に、選択した暗号アルゴリズム識別子に対応する暗号文テーブルの内容をデータベース11から取得するように依頼する。データベース制御手段12は、暗号文テーブル情報表(図7(B)参照)を参照し、選択した暗号アルゴリズム識別子に対応する暗号文テーブル名を特定し、特定した暗号文テーブルの内容(IDと暗号文の対形式で格納される)を取得し、アプリケーション応答手段22に送信する。
アプリケーション応答手段22は、ステップ5で選択した暗号アルゴリズム識別子と取得した暗号文を鍵利用手段23に送信し、平文への復号を依頼する。
アプリケーション応答手段22は、ステップ2で得られた機密度に対応する暗号アルゴリズム識別子の一覧にだけ含まれる暗号アルゴリズム識別子が複数存在する場合(ステップ1で取得した暗号アルゴリズム識別子一覧に含まれない)、その中から暗号アルゴリズム識別子を1つ選択し(ステップ2で得られた機密度に対応する暗号アルゴリズム識別子の一覧に1つの暗号アルゴリズム識別子しか含まれない場合、当該1つの暗号アルゴリズム識別子が選択される)、ステップ6で得た平文とともに、鍵利用手段23に送信し、新たな識別子の暗号アルゴリズムによる暗号化を依頼する。そして、新たな
[通し番号、平文、暗号文]
の組の一覧を作成する。
アプリケーション応答手段22は、データベース制御手段12に対し、
[通し番号、暗号文]
の組の一覧を格納する暗号文テーブルの作成を依頼し、暗号文テーブル(図7(D)乃至(F)の格納形式参照)を作成する。
アプリケーション応答手段22は、データベース制御手段12に対して、暗号テーブル情報表(図7(B)参照)に、新たなテーブルを追加するため、
[対象テーブル名、対象カラム名、新たな暗号アルゴリズム識別子、ステップ8で作成された暗号文テーブル名]
の組を追加するように依頼する。
ステップ1だけに含まれる暗号アルゴリズム識別子について、暗号文テーブル情報表(図7(B)参照)を参照して、対応する暗号文テーブル名を特定し、データベース11から、該当する暗号文テーブルと、暗号文テーブル情報表の対応部分(削除対象の暗号文テーブルのテーブル名を含む行(エントリ))を削除するように、データベース制御手段12に依頼する。この操作により、機密度の変更が指定されたカラムデータに関して、新たに指定された機密度よりも低い機密度の暗号アルゴリズムで暗号化された暗号カラムデータがデータベース11から削除される。
次に、データベース11にカラムデータを新たに追加する場合の処理手順の一例を説明する。図16は、アプリケーション応答手段22において、データベース11内において既に作成されたテーブルに、データを追加する処理を説明する流れ図である。
アプリケーション応答手段22において、データベース利用アプリケーション21から入力されたデータベース操作命令が、例えばSQLの
INSERT文(INSERT INTO (列名1、列名2・・・) VALUES (値1、値2・・・)
等のデータ追加指示であることを認識する。
アプリケーション応答手段22は、データベースシステム10の安全性設定情報記憶部14や安全性設定情報一時記憶部25を参照し、追加対象のテーブル名やカラム名がデータベース11で暗号化されているか否か確認する。
データ追加指示のデータベース操作命令で指定されたテーブル名、カラム名が暗号化されている場合、アプリケーション応答手段22は、安全性設定情報一時記憶部25に復号後テーブル名、復号後カラム名の欄の平文のテーブル名、カラム名に対応する暗号文のテーブル名、カラム名を取得し、上記INSERT文等のデータ追加指示に含まれている平文のテーブル名、平文のカラム名を、取得した暗号文テーブル名、暗号文カラム名に置き換える。
アプリケーション応答手段22は、安全性設定情報記憶部14又は安全性設定情報一時記憶部25において、該等するテーブル名、カラム名のカラムデータ機密度がNullの場合(機密度が設定されていない場合)、ステップ8へ制御を移す。一方、カラムデータ機密度が設定されている場合、アプリケーション応答手段22は、次のステップ4を実行する。
アプリケーション応答手段22は、カラムデータ機密度と暗号アルゴリズム識別子が設定されている場合、設定されている全ての暗号アルゴリズム識別子について、追加する平文データと、暗号アルゴリズム識別子とを鍵利用手段23に送り、平文データを、設定された暗号アルゴリズムで暗号化した
[暗号アルゴリズム識別子、暗号データ]
の組のリストを作成する
アプリケーション応答手段22は、
追加対象のテーブル名、カラム名、
ステップ4で得られた
[暗号アルゴリズム識別子、暗号データ]
をデータベース制御手段12に送信し、データベース11への追加を依頼する。
データベース制御手段12は、追加対象のカラムに格納されている通し番号の最大値を取得し、通し番号の最大値+1を追加用IDの開始番号IDxとする。
[暗号アルゴリズム識別子、暗号データ]
について、暗号文テーブル情報表(図7(B))を参照し、追加対象のテーブル、カラムの指定された暗号アルゴリズム識別子に対応する暗号文テーブル名を取得する。
[追加用ID、暗号データ]
の組を追加する。暗号文テーブルは、図7(D)乃至(F)等に示したように、IDと暗号データの対情報を記憶する。したがって、
[追加用ID、暗号文データ]
は暗号文テーブルの最後尾に追加される。追加するデータが複数の場合、追加用IDはその開始番号IDxから順に、IDx+1、IDx+2、・・・とインクリメントされる。
追加対象のテーブルのカラムに、カラムのデータとして、ステップ6で得られた追加用IDを追加する。例えば図7(C)のテーブル(暗号化後)のカラムの最後尾に追加用IDを追加する。追加するデータがN個の場合、IDx、IDx+1、IDx+2、・・、IDx+N-1が図7(C)のテーブル(暗号化後)のカラムの最後尾に追加され、IDの最大値はIDx+N-1に更新される。
アプリケーション応答手段22は、ステップ2で得られた追加対象のテーブル名、カラム名の暗号文への置き換えが行われた後のデータの追加指示を、データベース制御手段12に送信し、データベース11へのデータの追加を依頼する。
データベース制御手段12は、アプリケーション応答手段22から送信されたデータ追加指示に従ってデータベース11にデータを追加する。
図1において、アプリケーション応答手段22を起動した後の初期動作について説明する。アプリケーション応答手段の初期動作では、以後の処理を効率化するため、起動後の初期動作として、データベースシステム10に置かれている情報の一部をユーザシステム20側に読み出す処理と、補助的な情報を生成する処理を行う。
データベース11に新たなテーブルを追加したり、既存のテーブル名やカラム名を変更する操作(メタデータに対する操作)について説明する。データベース11に新たなテーブルを追加する場合に、前述したように、安全性設定手段26により安全性情報の設定が行われる。
データベース11に格納したテーブルのテーブル名やカラム名等のメタデータの設定内容の変更(暗号化「有」への変更、暗号化「無」への変更)は、すでに図12、図13を参照して説明した。以下では、テーブル名、カラム名の変更について説明する。
[平文のテーブル名やカラム名、暗号文のテーブル名やカラム名]
の組を作成する。
データベース11に格納済みの既存テーブルのカラムへのデータの追加は、図16を参照して説明した。追加データを暗号化し、指定されたテーブルの指定カラムのテータとして、現在のテーブルの行数(通し番号の最大値)に、+1した数値(追加用ID)を追加し、暗号文テーブル情報表(図7(B))を参照して、追加データに対応する暗号アルゴリズムの暗号文テーブル(暗号アルゴリズムが複数存在する場合、複数の暗号アルゴリズムにそれぞれ対応した複数の暗号文テーブル)に、追加用IDと暗号文の対を追加する。
データベース利用アプリケーション21から入力されたデータベース操作命令がデータ変更の場合のアプリケーション応答手段22、データベース制御手段12の処理を説明する。データ変更は、例えばSQL命令(UPDATE テーブル名 SET <列>=<値>)等に対応する。
[暗号アルゴリズム識別子、暗号文]
の組を送信する。
データベース利用アプリケーション21から入力されたデータベース操作命令がデータベース11からのデータ削除の場合におけるアプリケーション応答手段22とデータベース制御手段12の処理を説明する。
データベース操作命令がデータベース11内の既存テーブルのデータに対する検索や演算である場合の処理を以下に説明する。
[処理内容、操作対象のカラムに設定されている機密度、操作対象のカラムの暗号化に用いられている暗号アルゴリズム識別子]
の3つ組(triplet)に対応する暗号プロトコル識別子(図5参照)を取得する。
[暗号プロトコル識別子と、操作対象カラム、処理内容]
を入力する。
次に、本実施形態においてデータべース11内のテーブルに、「社員表」のカラムと「勤務地」のカラムを、機密度「中」を設定する場合について説明する。
アプリケーション応答手段22は、安全性設定手段26でユーザから指定された機密度に対応する暗号アルゴリズムの選択する。図17に示すように、暗号プロトコル情報記憶部13を参照し、機密度「中」に対応する暗号アルゴリズム識別子の一覧(「SE1」、「AES」、「HE1」)を取得する。暗号アルゴリズム識別子の一覧(「SE1」、「AES」、「HE1」)の中から、1つアルゴリズムを選択する。ここでは、暗号文作成の効率性を重視して「AES」を選ぶものとする。
データベースシステム10の安全性設定情報操作部124は、図18に示すように、安全性設定情報記憶部14のテーブル名「社員表」、カラム名「勤務地」の情報を格納している行について、
「カラムデータ暗号化有無」の欄を「無」から「有」に、
「カラムデータ機密度」の欄を「NULL」から「中」に、
「カラムデータ暗号アルゴリズム識別子」の欄を「NULL」から「AES」
に変更する。
アプリケーション応答手段22の安全性設定情報操作部225は、安全性設定情報一時記憶部25のテーブル名「社員表」、カラム名「勤務地」の情報を格納している行について、安全性設定情報記憶部14と同様に変更する。すなわち、図19に示すように、テーブル名「社員表」について、カラム名「勤務地」の情報を格納している行について、
「カラムデータ暗号化有無」の欄を「無」から「有」に、
「カラムデータ機密度」の欄を「NULL」から「中」に、
「カラムデータ暗号アルゴリズム識別子」の欄を「NULL」から「AES」
に変更する。
テーブル「社員表」は、図20(A)に示すものとする。データベース制御手段12は、テーブル「社員表」からカラム「勤務地」のデータの一覧を取得し、アプリケーション応答手段22に送信する。このとき、テーブル「社員表」の列を一意に識別する主キーのカラムについてもあわせて取得する。ここでは、「社員番号」を主キーとする。
アプリケーション応答手段22は、「勤務地」のカラムのデータを鍵利用手段23により暗号化し、暗号文を、元の平文、社員番号と対応付け、図20(B)に示すように、通し番号1、2、3、・・・をつけたリストを作る。なお、このリストは、アプリケーション応答手段22内の記憶部で保持する。
データベース制御手段12に、ステップ5で作成されたリスト(図21(A))のうち、暗号文(平文「本社」の暗号文「0x3d8・・・」、平文「多摩川」の暗号文「0x962・・・」)と、通し番号(1、2、・・・)の組のリストを送付し、暗号文テーブルを作成して格納する。図21(B)に示すように、暗号文テーブル名は、「暗号文_AES_1」とする。暗号文テーブルは、通し番号と暗号文の対からなる。
図21(C)に示すように、暗号文テーブル情報表に、テーブル名「社員表」、カラム名「勤務地」、暗号アルゴリズム「AES」、暗号文テーブル名「暗号文_AES_1」を格納する。
ステップ5で作成された、社員番号と通し番号の組のリスト(図22(A))をデータベース制御手段12に送付し、図22(B)に示すように、テーブル「社員表」のカラム「勤務地」の値を、通し番号(1、2、・・・)に置き換える。通し番号への置き換えが完了したら、ステップ5で作成されたリスト(図22(A))は削除する。図22(C)、(D)の暗号文テーブル、暗号文テーブル情報表は、図21(B)、(C)の暗号文テーブル、暗号文テーブル情報表と同じである。
次に、データベース11に記憶された暗号化データの平均値を求める演算操作の一例について説明する。図23は、この例で参照する安全性設定情報一時記憶部25の例を示す図である。データベース11に記憶されているテーブル名「勤務時間管理表」のカラム名「残業時間」のデータが暗号化されているとき、その平均値を求める処理について説明する。
暗号プロトコル識別子:「HE1_AVG_M」、
テーブル名:「勤務時間管理表」、
カラム名:「残業時間」、
暗号アルゴリズム:「HE1」、
処理内容:「平均」
を入力する。
データベースと、データベース操作の実行を制御するデータベース制御手段と、を備えたデータベースシステムと、
前記データベース制御手段にネットワークを介して接続するユーザシステムと、
を備え、
前記ユーザシステムが、
暗号化と復号化のための鍵情報を管理する鍵利用手段と、
前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性の設定に関する情報を記憶する第1の記憶部と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、前記データベース操作命令で扱うデータ及び/又はメタデータに関して暗号化の要否を判別し、
暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース制御手段に送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース制御手段に送信して前記データベース制御手段に前記データベース操作を実行させ、
前記データベース制御手段から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合には、前記変換、又は前記鍵利用手段の鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返すアプリケーション応答手段と、
を備えている、ことを特徴とするデータベース暗号化システム。
前記安全性設定手段は、
前記メタデータの暗号化の有無の設定又は変更、
前記データの暗号化の有無の設定又は変更、
前記安全性の程度を表す機密度情報の設定又は変更
の少なくとも1つを行う、ことを特徴とする付記1記載のデータベース暗号化システム。
前記第1の記憶部は、前記メタデータの暗号化の有無、前記データの暗号化の有無、前記データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を保持する、ことを特徴とする付記2記載のデータベース暗号化システム。
前記第1の記憶部は、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータが暗号化される場合、暗号化したテーブル名、カラム名を保持するとともに、暗号化前の平文のテーブル名、平文のカラム名を、復号後テーブル名、復号後カラム名としてそれぞれ記憶保持する、ことを特徴とする付記3記載のデータベース暗号化システム。
前記アプリケーション応答手段は、前記データベース処理結果のメタデータのうちテーブル名とカラム名の少なくとも一方が暗号化されている場合、前記第1の記憶部の前記復号後テーブル名と前記復号後カラム名に保持された平文のテーブル名と平文のカラム名の少なくとも一方を取得する、ことを特徴とする付記4記載のデータベース暗号化システム。
前記データベース制御手段は、前記アプリケーション応答手段から送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に返す、ことを特徴とする付記1乃至5のいずれか一に記載のデータベース暗号化システム。
前記データベース制御手段は、前記データベース操作命令の予め定められた所定の操作と演算について、前記データベースに格納された暗号文のデータを暗号文のまま操作又は演算を行い、暗号文の処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信する、ことを特徴とする付記6記載のデータベース暗号化システム。
前記データベースシステムは、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を記憶保持する第2の記憶部と、
前記データベース操作命令の処理内容と、機密度情報と、暗号アルゴリズムとを関連付ける暗号プロトコル識別情報を少なくとも記憶保持する第3の記憶部と、
を備えた、ことを特徴とする付記4乃至7のいずれか一に記載のデータベース暗号化システム。
前記データベースが、前記第2及び/又は第3の記憶部として機能し、
前記第2及び/又は第3の記憶部に記憶される情報を前記データベース内のテーブルとして保持する、ことを特徴とする付記8記載のデータベース暗号化システム。
前記アプリケーション応答手段は、前記第1乃至第3の記憶部の少なくとも1つを参照して、前記データに対応する機密度情報に対応する暗号アルゴリズムを選択し、選択した暗号アルゴリズムと前記鍵利用手段の鍵情報を用いてデータを暗号化し前記データベース制御手段に送信する、ことを特徴とする付記8又は9記載のデータベース暗号化システム。
前記アプリケーション応答手段は、前記データベース操作命令で指定されたテーブル名、カラム名の暗号化の有無を、前記第1及び/又は第2の記憶部を参照して判別し、前記テーブル名とカラム名の少なくとも一方が暗号化されている場合には、前記データベース操作命令のテーブル名とカラム名の少なくとも一方を暗号文に置き換えた上で前記データベース制御手段に送信する、ことを特徴とする付記10記載のデータベース暗号化システム。
前記データベース制御手段は、前記機密度情報に対応した暗号アルゴリズムで暗号化されるデータに対して、前記第3の記憶部の暗号プロトコル識別情報に基づき、前記データベース操作命令に対応した処理内容の暗号プロトコル処理を実行する暗号プロトコル処理実行部を備えている、ことを特徴とする付記10記載のデータベース暗号化システム。
前記データベース制御手段は、前記データベース操作命令の演算操作について、前記データベースに暗号文で格納されている操作対象のデータが、予め定められた所定の準同型演算に対応した暗号アルゴリズムで暗号化されており、且つ、前記データベース操作命令の前記演算操作が前記所定の準同型演算を含む場合、前記操作対象の暗号化されたデータに対して暗号文のまま前記演算操作を行い、暗号文の演算結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、
(A)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号した平文の演算結果を、前記データベース操作命令の発行元に返すか、
(B)前記データベース操作命令の演算操作が、さらに平文での演算を必要とするものである場合には、さらに前記平文での演算を行い、前記平文での演算結果を前記データベース操作命令の発行元に返し、
あるいは、
前記アプリケーション応答手段は、
(C)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号し、得られた平文の演算結果に対して、さらに平文での演算を行い、
(D)前記平文の演算結果を、前記鍵利用手段の鍵情報を用いて暗号化した上で、前記データベース制御手段に送信し、前記データベース制御手段にて、暗号文のまま演算操作を行い、
(E)前記データベース制御手段から送信された暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号して平文とし、
(F)前記平文での演算結果を前記データベース操作命令の発行元に返すか、前記平文の演算結果に対してさらに演算を行い、あるいは、さらに(D)と(E)の処理を少なくとも1回繰り返した上で、前記平文での演算結果を前記データベース操作命令の発行元に返す、ことを特徴とする付記1乃至12のいずれか一に記載のデータベース暗号化システム。
前記データベース制御手段は、前記データベースに、暗号文で格納されている操作対象のデータが暗号文のままでは前記データベース操作命令の演算操作を行えない暗号アルゴリズムで暗号化されている場合、前記演算操作対象の暗号文のデータを、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、前記データベース制御手段から送信された前記暗号文のデータを前記鍵利用手段の鍵情報を用いて復号し、得られた平文のデータに対して前記データベース操作命令の演算操作を行い、前記演算操作結果を、前記データベース操作命令の発行元に返す、ことを特徴とする付記1乃至12のいずれか一に記載のデータベース暗号化システム。
前記安定性設定手段の入力により、前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、
前記アプリケーション応答手段は、前記第1及び/又は第2の記憶部を参照して、前記データベースから読み出しが行われた前記カラムデータに対して、設定された機密度情報に対応する暗号アルゴリズムで前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記8又は9記載のデータベース暗号化システム。
前記データベース制御手段が、前記アプリケーション応答手段から送信された公開鍵を用いてデータ及び/又はメタデータを暗号化する暗号演算部を備えた、ことを特徴とする付記1乃至14のいずれか一に記載のデータベース暗号化システム。
前記安定性設定手段の入力により、前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、前記アプリケーション応答手段から公開鍵情報を取得し、前記暗号演算部で前記カラムデータに対して暗号化を行い、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記16記載のデータベース暗号化システム。
前記アプリケーション応答手段が、カラムデータを追加するデータベース操作命令を入力し、前記カラムデータの暗号化が必要な場合、前記カラムデータに対応する暗号アルゴリズムで前記追加データを前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、前記データベースの前記暗号文テーブルの末尾に更新した通番と暗号文の対を追加する、ことを特徴とする付記15記載のデータベース暗号化システム。
前記安全性設定手段から、前記データベースに記憶されているデータの機密度情報の変更の指示を受けると、前記アプリケーション応答手段は、前記データベースに格納された、暗号化されたデータについて、一旦、前記鍵利用手段の鍵情報を用いて平文に復号化し、前記平文を、変更された前記機密度情報に対応する暗号アルゴリズムで再暗号化した上で前記データベース制御手段に送信し、前記データベースに再暗号化したデータを格納し、前記第1の記憶部の機密度情報と暗号アルゴリズム識別情報を更新する、ことを特徴とする付記3記載のデータベース暗号化システム。
前記安全性設定手段は、前記データベースに記憶されているデータの機密度情報を変更にあたり、テーブル名、カラム名、変更後の機密度情報を指定し、
前記アプリケーション応答手段は、前記第2の記憶部から前記データベースに記憶されている前記テーブル名、カラム名の前記データの暗号化に用いられている暗号アルゴリズム識別子の第1の集合を取得し、入力された機密度情報に対応する暗号アルゴリズム識別子の第2の集合を取得し、
前記第1、第2の集合に共通の暗号アルゴリズム識別子が存在しない場合、前記第1の集合の中の1つの暗号アルゴリズム識別子の暗号アルゴリズムで暗号化されている、前記テーブル名、カラム名の前記データの暗号文を、前記鍵利用手段の鍵情報を用いて平文に復号し、前記平文を、前記第2の集合の前記入力された機密度情報に対応する暗号アルゴリズムで暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、暗号文テーブルに通番、暗号文の対を格納した上で前記暗号文テーブル情報表を更新し、前記機密度情報の変更が指定されたデータに関して、指定された機密度情報に対応しない暗号文テーブルを削除する、ことを特徴とする付記19記載のデータベース暗号化システム。
前記ユーザシステムは、前記データベースに対するデータベース操作命令を発行し、前記データベース操作命令の処理結果を受け取るデータベース利用アプリケーションプログラムを実行し、
前記アプリケーション応答手段は、前記データベース利用アプリケーションプログラムからのデータベース操作命令を受け取り、前記データベース操作命令の処理結果を、前記データベース利用アプリケーションプログラムに返す、ことを特徴とする付記1乃至20のいずれか一に記載のデータベース暗号化システム。
データベース装置にネットワークを介して接続するユーザ装置が、
暗号化と復号化のための鍵情報を管理する鍵利用手段と、
データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性設定手段で設定される情報を記憶する第1の記憶部と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、データベース操作命令で扱うデータ及び/又はメタデータに関して暗号化の要否を判別し、
暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報による暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース制御手段に送信し、前記データベース制御手段にデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース制御手段に送信してデータベース操作を実行し、
前記データベース制御手段から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合、前記変換又は前記鍵利用手段の鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返すアプリケーション応答手段と、
を備えている、ことを特徴とするユーザ装置。
前記安全性設定手段は、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無の設定又は変更、前記データの暗号化の有無の設定又は変更、データの安全性の程度を表す機密度情報の設定又は変更の少なくとも1つを行う、ことを特徴とする付記22記載のユーザ装置。
前記第1の記憶部は、前記データベースに格納されるテーブル名、カラム名を含むメタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を保持し、
前記テーブル名、カラム名が暗号化されている場合、
暗号化されたテーブル名、カラム名に加えて、
暗号化前の平文のテーブル名、平文のカラム名を、復号後テーブル名、カラム名として記憶保持する、ことを特徴とする付記23記載のユーザ装置。
前記アプリケーション応答手段は、前記データベース操作命令で指定されたテーブル名、カラム名が暗号化されているか否かを、前記第1の記憶部を参照して判別し、
前記テーブル名、カラム名の少なくとも一方が暗号化されている場合には、平文を暗号文に置き換え、
前記第1の記憶部を参照して、データを暗号化する場合には、前記機密度情報に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報を用いてデータを暗号化して前記データベース装置に送信する、ことを特徴とする付記24記載のユーザ装置。
付記22乃至25のいずれか一に記載のユーザ装置から送信されたデータベース操作命令を受け取り、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に返す、ことを特徴とするデータベース装置。
前記データベース制御手段は、前記アプリケーション応答手段から送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に返す、ことを特徴とする付記26記載のデータベース装置。
前記データベース制御手段は、前記データベース操作命令の予め定められた所定の操作と演算について、前記データベースに格納された暗号文のデータを暗号文のまま操作又は演算を行い、暗号文の処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信する、ことを特徴とする付記26記載のデータベース装置。
前記データベースシステムは、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を記憶保持する第2の記憶部と、
前記データベース操作命令の処理内容と、機密度情報と、暗号アルゴリズムとを関連付ける暗号プロトコル識別情報を少なくとも記憶保持する第3の記憶部と、
を備えた、ことを特徴とする付記26に記載のデータベース装置。
前記データベースが、前記第2及び/又は第3の記憶部として機能し、
前記第2及び/又は第3の記憶部に記憶される情報を前記データベース内のテーブルとして保持する、ことを特徴とする付記29記載のデータベース装置。
前記データベース制御手段は、前記機密度情報に対応した暗号アルゴリズムで暗号化されるデータに対して、前記第3の記憶部の暗号プロトコル識別情報に基づき、前記データベース操作命令に対応した処理内容の暗号プロトコル処理を実行する暗号プロトコル処理実行部を備えている、ことを特徴とする付記29記載のデータベース装置。
前記データベース制御手段は、前記データベース操作命令の演算操作について、前記データベースに暗号文で格納されている操作対象のデータが、予め定められた所定の準同型演算に対応した暗号アルゴリズムで暗号化されており、且つ、前記データベース操作命令の前記演算操作が前記所定の準同型演算を含む場合、前記操作対象の暗号化されたデータに対して暗号文のまま前記演算操作を行い、暗号文の演算結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、
(A)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号した平文の演算結果を、前記データベース操作命令の発行元に返すか、
(B)前記データベース操作命令の演算操作が、さらに平文での演算を必要とするものである場合には、さらに前記平文での演算を行い、前記平文での演算結果を前記データベース操作命令の発行元に返し、
あるいは、
前記アプリケーション応答手段は、
(C)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号し、得られた平文の演算結果に対して、さらに平文での演算を行い、
(D)前記平文の演算結果を、前記鍵利用手段の鍵情報を用いて暗号化した上で、前記データベース制御手段に送信し、前記データベース制御手段にて、暗号文のまま演算操作を行い、
(E)前記データベース制御手段から送信された暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号して平文とし、
(F)前記平文での演算結果を前記データベース操作命令の発行元に返すか、前記平文の演算結果に対してさらに演算を行い、あるいは、さらに(D)と(E)の処理を少なくとも1回繰り返した上で、前記平文での演算結果を前記データベース操作命令の発行元に返す、ことを特徴とする付記26乃至31のいずれか一に記載のデータベース装置。
前記データベース制御手段は、前記データベースに、暗号文で格納されている操作対象のデータが暗号文のままでは前記データベース操作命令の演算操作を行えない暗号アルゴリズムで暗号化されている場合、前記演算操作対象の暗号文のデータを、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、前記データベース制御手段から送信された前記暗号文のデータを前記鍵利用手段の鍵情報を用いて復号し、得られた平文のデータに対して前記データベース操作命令の演算操作を行い、前記演算操作結果を、前記データベース操作命令の発行元に返す、ことを特徴とする付記26乃至31のいずれか一に記載のデータベース装置。
前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、
前記アプリケーション応答手段は、前記第1及び/又は第2の記憶部を参照して、前記データベースから読み出しが行われた前記カラムデータに対して、設定された機密度情報に対応する暗号アルゴリズムで前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記26記載のデータベース装置。
前記データベース制御手段が、前記アプリケーション応答手段から送信された公開鍵を用いてデータ及び/又はメタデータを暗号化する暗号演算部を備えた、ことを特徴とする付記26に記載のデータベース装置。
前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、前記アプリケーション応答手段から公開鍵情報を取得し、前記暗号演算部で前記カラムデータに対して暗号化を行い、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記26記載のデータベース装置。
前記アプリケーション応答手段が、カラムデータを追加するデータベース操作命令を入力し、前記カラムデータの暗号化が必要な場合、前記カラムデータに対応する暗号アルゴリズムで前記追加データを前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、前記データベースの前記暗号文テーブルの末尾に更新した通番と暗号文の対を追加する、ことを特徴とする付記26記載のデータベース装置。
データベースシステムにネットワークを介して接続するユーザシステムにて、暗号化と復号化のための鍵情報を記憶管理し、
さらに、前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定して第1の記憶部に記憶し、
前記データベースシステムに向けて発行されるデータベース操作命令に対して、前記第1の記憶部の情報を参照して、前記データベース操作命令で扱うデータ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用い前記鍵情報による暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベースシステムに送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベースシステムに送信してデータベース操作を実行させ、
前記データベースシステムから送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換又は復号化が必要な場合、前記変換、又は前記鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返す、ことを特徴とするデータベース暗号化方法。
前記安全性の設定において、
前記メタデータの暗号化の有無の設定又は変更、
前記データの暗号化の有無の設定又は変更、
前記安全性の程度を表す機密度情報の設定又は変更
の少なくとも1つを行う、ことを特徴とする付記38記載のデータベース暗号化方法。
前記第1の記憶部は、前記メタデータの暗号化の有無、前記データの暗号化の有無、前記データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を保持する、ことを特徴とする付記38記載のデータベース暗号化方法。
前記第1の記憶部は、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータが暗号化される場合、暗号化したテーブル名、カラム名を保持するとともに、暗号化前の平文のテーブル名、平文のカラム名を、復号後テーブル名、復号後カラム名としてそれぞれ記憶保持する、ことを特徴とする付記40記載のデータベース暗号化方法。
前記データベース処理結果のメタデータのうちテーブル名とカラム名の少なくとも一方が暗号化されている場合、前記第1の記憶部の前記復号後テーブル名と前記復号後カラム名に保持された平文のテーブル名と平文のカラム名の少なくとも一方を取得する、ことを特徴とする付記41記載のデータベース暗号化方法。
前記データベースシステムは、前記ユーザシステムから送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記ユーザシステムに返す、ことを特徴とする付記38乃至42のいずれか一に記載のデータベース暗号化方法。
前記データベース制御手段は、前記データベース操作命令の予め定められた所定の操作と演算について、前記データベースに格納された暗号文のデータを暗号文のまま操作又は演算を行い、暗号文の処理結果を、前記データベース処理結果として、前記ユーザシステムに送信する、ことを特徴とする付記43記載のデータベース暗号化方法。
前記データベースシステムでは、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を第2の記憶部で記憶保持し、
前記データベース操作命令の処理内容と、機密度情報と、暗号アルゴリズムとを関連付ける暗号プロトコル識別情報を第3の記憶部で少なくとも記憶保持する、ことを特徴とする付記41乃至44のいずれか一に記載のデータベース暗号化方法。
前記データベースが、前記第2及び/又は第3の記憶部として機能し、
前記第2及び/又は第3の記憶部に記憶される情報を前記データベース内のテーブルとして保持する、ことを特徴とする付記45記載のデータベース暗号化方法。
前記ユーザシステムは、前記第1乃至第3の記憶部の少なくとも1つを参照して、前記データに対応する機密度情報に対応する暗号アルゴリズムを選択し、選択した暗号アルゴリズムと前記鍵利用手段の鍵情報を用いてデータを暗号化し前記データベースシステムに送信する、ことを特徴とする付記45又は46記載のデータベース暗号化方法。
前記ユーザシステムは、前記データベース操作命令で指定されたテーブル名、カラム名の暗号化の有無を、前記第1及び/又は第2の記憶部を参照して判別し、前記テーブル名とカラム名の少なくとも一方が暗号化されている場合には、前記データベース操作命令のテーブル名とカラム名の少なくとも一方を暗号文に置き換えた上で前記データベースシステムに送信する、ことを特徴とする付記47記載のデータベース暗号化方法。
前記データベースシステムは、前記機密度情報に対応した暗号アルゴリズムで暗号化されるデータに対して、前記第3の記憶部の暗号プロトコル識別情報に基づき、前記データベース操作命令に対応した処理内容の暗号プロトコル処理を実行する暗号プロトコル処理実行部を備えている、ことを特徴とする付記47記載のデータベース暗号化方法。
前記データベースシステムは、前記データベース操作命令の演算操作について、前記データベースに暗号文で格納されている操作対象のデータが、予め定められた所定の準同型演算に対応した暗号アルゴリズムで暗号化されており、且つ、前記データベース操作命令の前記演算操作が前記所定の準同型演算を含む場合、前記操作対象の暗号化されたデータに対して暗号文のまま前記演算操作を行い、暗号文の演算結果を、前記データベース処理結果として、前記ユーザシステムに送信し、
前記ユーザシステムでは、
(A)前記データベースシステムから送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号した平文の演算結果を、前記データベース操作命令の発行元に返すか、
(B)前記データベース操作命令の演算操作が、さらに平文での演算を必要とするものである場合には、さらに前記平文での演算を行い、前記平文での演算結果を前記データベース操作命令の発行元に返し、
あるいは、
前記ユーザシステムは、
(C)前記データベースシステムから送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号し、得られた平文の演算結果に対して、さらに平文での演算を行い、
(D)前記平文の演算結果を、前記鍵利用手段の鍵情報を用いて暗号化した上で、前記データベースシステムに送信し、前記データベースシステムにて、暗号文のまま演算操作を行い、
(E)前記データベースシステムから送信された暗号文の演算結果を前記鍵情報を用いて復号して平文とし、
(F)前記平文での演算結果を前記データベース操作命令の発行元に返すか、前記平文の演算結果に対してさらに演算を行い、あるいは、さらに(D)と(E)の処理を少なくとも1回繰り返した上で、前記平文での演算結果を前記データベース操作命令の発行元に返す、ことを特徴とする付記38乃至49のいずれか一に記載のデータベース暗号化方法。
前記データベースシステムは、前記データベースに、暗号文で格納されている操作対象のデータが暗号文のままでは前記データベース操作命令の演算操作を行えない暗号アルゴリズムで暗号化されている場合、前記演算操作対象の暗号文のデータを、前記ユーザシステムに送信し、
前記ユーザシステムでは、前記データベースシステムから送信された前記暗号文のデータを前記鍵利用手段の鍵情報を用いて復号し、得られた平文のデータに対して前記データベース操作命令の演算操作を行い、前記演算操作結果を、前記データベース操作命令の発行元に返す、ことを特徴とする付記38乃至49のいずれか一に記載のデータベース暗号化方法。
前記安定性の設定入力により、前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベースシステムは、前記データベースからカラムデータを読み出し、
前記ユーザシステムは、前記第1及び/又は第2の記憶部を参照して、前記データベースから読み出しが行われた前記カラムデータに対して、設定された機密度情報に対応する暗号アルゴリズムで前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベースシステムは、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベースシステムは、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記45又は48記載のデータベース暗号化方法。
前記データベースシステムが、前記アプリケーション応答手段から送信された公開鍵を用いてデータ及び/又はメタデータを暗号化する、ことを特徴とする付記38乃至51のいずれか一に記載のデータベース暗号化方法。
前記安定性の設定入力により、前記データべース内のテーブルのカラムデータを暗号化する場合、
前記データベースシステムは、前記データベースからカラムデータを読み出し、前記アプリケーション応答手段から公開鍵情報を取得し、前記暗号演算部で前記カラムデータに対して暗号化を行い、
前記データベースシステムは、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベースシステムは、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする付記53記載のデータベース暗号化方法。
前記ユーザシステムが、カラムデータを追加するデータベース操作命令を入力し、前記カラムデータの暗号化が必要な場合、前記カラムデータに対応する暗号アルゴリズムで前記追加データを前記鍵情報を用いて暗号化して前記データベースシステムに送信し、
前記データベースシステムは、前記データベースの前記暗号文テーブルの末尾に更新した通番と暗号文の対を追加する、ことを特徴とする付記52記載のデータベース暗号化方法。
前記安全性の設定において、前記データベースに記憶されているデータの機密度情報の変更の指示を受けると、前記ユーザシステムは、前記データベースに格納された、暗号化されたデータについて、一旦、前記鍵情報を用いて平文に復号化し、前記平文を、変更された前記機密度情報に対応する暗号アルゴリズムで再暗号化した上で前記データベースシステムに送信し、前記データベースに再暗号化したデータを格納し、前記第1の記憶部の機密度情報と暗号アルゴリズム識別情報を更新する、ことを特徴とする付記40記載のデータベース暗号化方法。
前記安全性の設定において、前記データベースに記憶されているデータの機密度情報を変更にあたり、テーブル名、カラム名、変更後の機密度情報を指定し、
前記ユーザシステムは、前記第2の記憶部から前記データベースに記憶されている前記テーブル名、カラム名の前記データの暗号化に用いられている暗号アルゴリズム識別子の第1の集合を取得し、入力された機密度情報に対応する暗号アルゴリズム識別子の第2の集合を取得し、
前記第1、第2の集合に共通の暗号アルゴリズム識別子が存在しない場合、前記第1の集合の中の1つの暗号アルゴリズム識別子の暗号アルゴリズムで暗号化されている、前記テーブル名、カラム名の前記データの暗号文を、前記鍵情報を用いて平文に復号し、前記平文を、前記第2の集合の前記入力された機密度情報に対応する暗号アルゴリズムで暗号化して前記データベースシステムに送信し、
前記データベースシステムは、暗号文テーブルに通番、暗号文の対を格納した上で前記暗号文テーブル情報表を更新し、前記機密度情報の変更が指定されたデータに関して、指定された機密度情報に対応しない暗号文テーブルを削除する、ことを特徴とする付記56記載のデータベース暗号化方法。
前記ユーザシステムは、前記データベースに対するデータベース操作命令を発行し、前記データベース操作命令の処理結果を受け取るデータベース利用アプリケーションプログラムを実行し、
前記データベース利用アプリケーションプログラムからのデータベース操作命令を受け取り、前記データベース操作命令の処理結果を、前記データベース利用アプリケーションプログラムに返す、ことを特徴とする付記38乃至57のいずれか一に記載のデータベース暗号化方法。
(付記59)
前記データベースシステムは、前記ユーザシステムから送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコル、又は、平文データに対するデータベース操作を実行し、処理結果を前記ユーザシステムに返す、ことを特徴とする付記38記載のデータベース暗号化方法。
(付記60)
データベース装置にネットワークを介して接続するユーザ装置のコンピュータに、
暗号化と復号化のための鍵情報を管理する鍵利用処理と、
データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定して第1の記憶部に記憶する安全性設定処理と、
前記データベース装置に向けて発行されるデータベース操作命令に対して、前記第1の記憶部の情報を参照して、前記データベース操作命令で扱うデータ及び/又はメタデータの暗号化の要否を判別し、
暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵情報による暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース装置に送信してデータベース操作を実行させ、
暗号化が不要な場合には、前記データベース操作命令をそのまま前記データベース装置に送信してデータベース操作を実行させ、
前記データベース装置から送信されたデータベース処理結果を受け取り、前記データベース処理結果のデータ及び/又はメタデータの変換あるいは復号化が必要な場合、前記変換あるいは前記鍵利用処理による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返すアプリケーション応答処理と、
を実行させるプログラム。
(付記61)
付記60の前記ユーザ装置から暗号化されたデータベース操作命令を受け取ると、前記データベースに対して暗号プロトコルを実行する処理と、
前記ユーザシステムから暗号化されないデータベース操作命令を受け取ると、前記データベースに対して平文データのデータベース操作実行する処理と、
前記処理結果を、前記ユーザシステムに返す処理と、
をデータベース制御装置を構成するコンピュータに実行させるプログラム。
付記60又は61のプログラムを記録したコンピュータ読み出し可能な記録媒体。
11 データベース
12 データベース制御手段
13 暗号プロトコル情報記憶部
14 安全性設定情報記憶部
20 ユーザシステム
21 データベース利用アプリケーション(プログラム)
22 アプリケーション応答手段
23 鍵利用手段
24 鍵情報記憶部
25 安全性設定情報一時記憶部
26 安全性設定手段
27 入力/出力装置
30 ネットワーク
111 暗号プロトコル情報テーブル
112 安全性設定情報テーブル
121 データベース操作部
122 暗号プロトコル処理実行部
123 暗号プロトコル情報操作部
124 安全性設定情報操作部
125 処理・通信制御部
126 暗号演算部
221 処理・通信制御部
222 暗号プロトコル処理実行部
223 データベース操作変換処理部
224 暗号演算部
225 安全性設定情報操作部
231 暗号演算部
232 鍵情報管理部
261 設定表示部
262 設定入力部
Claims (36)
- データベースと、データベース操作の実行を制御するデータベース制御手段と、を備えたデータベースシステムと、
前記データベース制御手段にネットワークを介して接続するユーザシステムと、
を備え、
前記ユーザシステムが、
暗号化と復号化のための鍵情報を管理する鍵利用手段と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、暗号化の要否判定の結果、暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを前記データベース制御手段に送信するアプリケーション応答手段を備え、
前記データベース制御手段は、前記データベース操作命令の操作又は演算に関して、
前記データベースに格納された暗号文データに対して暗号文のまま処理するか、又は、
前記暗号データを前記アプリケーション応答手段に送信し前記アプリケーション応答手段で前記鍵利用手段の鍵情報により前記暗号データを復号して平文で演算を実行し前記鍵利用手段の鍵情報により暗号化した暗号データを前記アプリケーション応答手段より取得して処理を行い、
処理結果の暗号文を前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段は、前記データベース制御手段から送信された処理結果を受け取り、変換、又は前記鍵利用手段の鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返す、ことを特徴とするデータベース暗号化システム。 - 前記ユーザシステムは、
前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性の設定に関する情報を記憶する第1の記憶部と、を備え、
前記アプリケーション応答手段は、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース制御手段に送信してデータベース操作を実行させる、ことを特徴とする請求項1記載のデータベース暗号化システム。 - 前記安全性設定手段は、
前記メタデータの暗号化の有無の設定又は変更、
前記データの暗号化の有無の設定又は変更、
前記安全性の程度を表す機密度情報の設定又は変更
の少なくとも1つを行う、ことを特徴とする請求項2記載のデータベース暗号化システム。 - 前記第1の記憶部は、前記メタデータの暗号化の有無、前記データの暗号化の有無、前記データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を保持する、ことを特徴とする請求項2記載のデータベース暗号化システム。
- 前記第1の記憶部は、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータが暗号化される場合、暗号化したテーブル名、カラム名を保持するとともに、暗号化前の平文のテーブル名、平文のカラム名を、復号後テーブル名、復号後カラム名としてそれぞれ記憶保持する、ことを特徴とする請求項4記載のデータベース暗号化システム。
- 前記アプリケーション応答手段は、前記データベース処理結果のメタデータのうちテーブル名とカラム名の少なくとも一方が暗号化されている場合、前記第1の記憶部の前記復号後テーブル名と前記復号後カラム名に保持された平文のテーブル名と平文のカラム名の少なくとも一方を取得する、ことを特徴とする請求項5記載のデータベース暗号化システム。
- 前記データベース制御手段は、前記アプリケーション応答手段から送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に返す、ことを特徴とする請求項1乃至6のいずれか1項に記載のデータベース暗号化システム。
- 前記データベース制御手段は、前記データベース操作命令の予め定められた所定の操作と演算について、前記データベースに格納された暗号文のデータを暗号文のまま操作又は演算を行い、暗号文の処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信する、ことを特徴とする請求項7記載のデータベース暗号化システム。
- 前記データベースシステムは、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を記憶保持する第2の記憶部と、
前記データベース操作命令の処理内容と、機密度情報と、暗号アルゴリズムとを関連付ける暗号プロトコル識別情報を少なくとも記憶保持する第3の記憶部と、
を備えた、ことを特徴とする請求項5乃至8のいずれか1項に記載のデータベース暗号化システム。 - 前記データベースが、前記第2及び/又は第3の記憶部として機能し、
前記第2及び/又は第3の記憶部に記憶される情報を前記データベース内のテーブルとして保持する、ことを特徴とする請求項9記載のデータベース暗号化システム。 - 前記アプリケーション応答手段は、前記第1乃至第3の記憶部の少なくとも1つを参照して、前記データに対応する機密度情報に対応する暗号アルゴリズムを選択し、選択した暗号アルゴリズムと前記鍵利用手段の鍵情報を用いてデータを暗号化し前記データベース制御手段に送信する、ことを特徴とする請求項9又は10記載のデータベース暗号化システム。
- 前記安全性設定手段は、
前記アプリケーション応答手段が受信した前記データベース操作命令で指定された処理内容に対して、前記第1乃至第3の記憶部の少なくとも1つを参照し、前記データベース操作命令に対応する機密度情報に対応可能な暗号アルゴリズムのうち、効率に関する所定の条件を満たす処理プランで前記データベース操作命令を実行可能なものを選択する、ことを特徴とする、請求項9又は10記載のデータベース暗号化システム。 - 前記安全性設定手段は、選択した暗号アルゴリズム識別情報を、前記第2の記憶部に、前記データベース操作命令の対象であるテーブル、カラムと対応付けて記憶することを特徴とする、請求項12記載のデータベース暗号化システム。
- 前記アプリケーション応答手段は、前記データベース操作命令で指定されたテーブル名、カラム名の暗号化の有無を、前記第1及び/又は第2の記憶部を参照して判別し、前記テーブル名とカラム名の少なくとも一方が暗号化されている場合には、前記データベース操作命令のテーブル名とカラム名の少なくとも一方を暗号文に置き換えた上で前記データベース制御手段に送信する、ことを特徴とする請求項11記載のデータベース暗号化システム。
- 前記データベース制御手段は、前記機密度情報に対応した暗号アルゴリズムで暗号化されるデータに対して、前記第3の記憶部の暗号プロトコル識別情報に基づき、前記データベース操作命令に対応した処理内容の暗号プロトコル処理を実行する暗号プロトコル処理実行部を備えている、ことを特徴とする請求項11記載のデータベース暗号化システム。
- 前記データベース制御手段は、前記データベース操作命令の演算操作について、前記データベースに暗号文で格納されている操作対象のデータが、予め定められた所定の準同型演算に対応した暗号アルゴリズムで暗号化されており、且つ、前記データベース操作命令の前記演算操作が前記所定の準同型演算を含む場合、前記操作対象の暗号化されたデータに対して暗号文のまま前記演算操作を行い、暗号文の演算結果を、前記データベース処理結果として、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、
(A)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号した平文の演算結果を、前記データベース操作命令の発行元に返すか、
(B)前記データベース操作命令の演算操作が、さらに平文での演算を必要とするものである場合には、さらに前記平文での演算を行い、前記平文での演算結果を前記データベース操作命令の発行元に返し、
あるいは、
前記アプリケーション応答手段は、
(C)前記データベース制御手段から送信された前記暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号し、得られた平文の演算結果に対して、さらに平文での演算を行い、
(D)前記平文の演算結果を、前記鍵利用手段の鍵情報を用いて暗号化した上で、前記データベース制御手段に送信し、前記データベース制御手段にて、暗号文のまま演算操作を行い、
(E)前記データベース制御手段から送信された暗号文の演算結果を前記鍵利用手段の鍵情報を用いて復号して平文とし、
(F)前記平文での演算結果を前記データベース操作命令の発行元に返すか、前記平文の演算結果に対してさらに演算を行い、あるいは、さらに(D)と(E)の処理を少なくとも1回繰り返した上で、前記平文での演算結果を前記データベース操作命令の発行元に返す、ことを特徴とする請求項1乃至15のいずれか1項に記載のデータベース暗号化システム。 - 前記データベース制御手段は、前記データベースに、暗号文で格納されている操作対象のデータが暗号文のままでは前記データベース操作命令の演算操作を行えない暗号アルゴリズムで暗号化されている場合、前記演算操作対象の暗号文のデータを、前記アプリケーション応答手段に送信し、
前記アプリケーション応答手段では、前記データベース制御手段から送信された前記暗号文のデータを前記鍵利用手段の鍵情報を用いて復号し、得られた平文のデータに対して前記データベース操作命令の演算操作を行い、前記演算操作結果を、前記データベース操作命令の発行元に返す、ことを特徴とする請求項1乃至15のいずれか1項に記載のデータベース暗号化システム。 - 前記安全性設定手段の入力により、前記データベース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、
前記アプリケーション応答手段は、前記第1及び/又は第2の記憶部を参照して、前記データベースから読み出しが行われた前記カラムデータに対して、設定された機密度情報に対応する暗号アルゴリズムで前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする請求項9又は10記載のデータベース暗号化システム。 - 前記データベース制御手段が、前記アプリケーション応答手段から送信された公開鍵を用いてデータ及び/又はメタデータを暗号化する暗号演算部を備えた、ことを特徴とする請求項1乃至17のいずれか1項に記載のデータベース暗号化システム。
- 前記安全性設定手段の入力により、前記データベース内のテーブルのカラムデータを暗号化する場合、
前記データベース制御手段は、前記データベースからカラムデータを読み出し、前記アプリケーション応答手段から公開鍵情報を取得し、前記暗号演算部で前記カラムデータに対して暗号化を行い、
前記データベース制御手段は、通番と前記カラムデータの暗号文との対を含む暗号文テーブルを作成し、
前記データベース制御手段は、前記暗号文テーブルの管理のために、
テーブル名、カラム名、暗号アルゴリズム、暗号文テーブル名を組として含む暗号文テーブル情報表を備えている、ことを特徴とする請求項19記載のデータベース暗号化システム。 - 前記アプリケーション応答手段が、カラムデータを追加するデータベース操作命令を入力し、前記カラムデータの暗号化が必要な場合、前記カラムデータに対応する暗号アルゴリズムで前記追加データを前記鍵利用手段の鍵情報を用いて暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、前記データベースの前記暗号文テーブルの末尾に更新した通番と暗号文の対を追加する、ことを特徴とする請求項18記載のデータベース暗号化システム。 - 前記安全性設定手段から、前記データベースに記憶されているデータの機密度情報の変更の指示を受けると、前記アプリケーション応答手段は、前記データベースに格納された、暗号化されたデータについて、一旦、前記鍵利用手段の鍵情報を用いて平文に復号化し、前記平文を、変更された前記機密度情報に対応する暗号アルゴリズムで再暗号化した上で前記データベース制御手段に送信し、前記データベースに再暗号化したデータを格納し、前記第1の記憶部の機密度情報と暗号アルゴリズム識別情報を更新する、ことを特徴とする請求項4記載のデータベース暗号化システム。
- 前記安全性設定手段は、前記データベースに記憶されているデータの機密度情報を変更にあたり、テーブル名、カラム名、変更後の機密度情報を指定し、
前記アプリケーション応答手段は、前記第2の記憶部から前記データベースに記憶されている前記テーブル名、カラム名の前記データの暗号化に用いられている暗号アルゴリズム識別子の第1の集合を取得し、入力された機密度情報に対応する暗号アルゴリズム識別子の第2の集合を取得し、
前記第1、第2の集合に共通の暗号アルゴリズム識別子が存在しない場合、前記第1の集合の中の1つの暗号アルゴリズム識別子の暗号アルゴリズムで暗号化されている、前記テーブル名、カラム名の前記データの暗号文を、前記鍵利用手段の鍵情報を用いて平文に復号し、前記平文を、前記第2の集合の前記入力された機密度情報に対応する暗号アルゴリズムで暗号化して前記データベース制御手段に送信し、
前記データベース制御手段は、暗号文テーブルに通番、暗号文の対を格納した上で前記暗号文テーブル情報表を更新し、前記機密度情報の変更が指定されたデータに関して、指定された機密度情報に対応しない暗号文テーブルを削除する、ことを特徴とする請求項18記載のデータベース暗号化システム。 - 前記ユーザシステムは、前記データベースに対するデータベース操作命令を発行し、前記データベース操作命令の処理結果を受け取るデータベース利用アプリケーションプログラムを実行し、
前記アプリケーション応答手段は、前記データベース利用アプリケーションプログラムからのデータベース操作命令を受け取り、前記データベース操作命令の処理結果を、前記データベース利用アプリケーションプログラムに返す、ことを特徴とする請求項1乃至23のいずれか1項に記載のデータベース暗号化システム。 - データベースシステムにネットワークを介して接続するユーザ装置が、
暗号化と復号化のための鍵情報を管理する鍵利用手段と、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、暗号化の要否判定の結果、暗号化が必要な場合、
前記データベース操作命令のデータ及び/又はメタデータとして、前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを前記データベースシステムに送信するアプリケーション応答手段を備え、
前記アプリケーション応答手段は、
前記データベースシステムでの前記データベース操作命令の処理結果の暗号文を受け取るか、又は、前記データベースシステムで前記データベース操作命令の処理途中の前記暗号データを受け取り、前記鍵利用手段の鍵情報により前記暗号データを復号して平文で演算を実行し前記鍵利用手段の鍵情報により暗号化した暗号データを、前記データベースシステムに送信し、
前記データベースシステムから送信されたデータベース処理結果を受け取り、変換又は前記鍵利用手段の鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返すアプリケーション応答手段と、
を備えている、ことを特徴とするユーザ装置。 - 前記データベースシステムに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を設定する安全性設定手段と、
前記安全性の設定に関する情報を記憶する第1の記憶部と、を備え、
前記アプリケーション応答手段は、
前記データベースシステムに向けて発行されるデータベース操作命令を受け取り、前記第1の記憶部の情報を参照して、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベースシステムに送信してデータベース操作を実行させる、ことを特徴とする請求項25記載のユーザ装置。 - 前記安全性設定手段は、前記データベースに格納されるテーブル名、カラム名を含む前記メタデータの暗号化の有無の設定又は変更、前記データの暗号化の有無の設定又は変更、データの安全性の程度を表す機密度情報の設定又は変更の少なくとも1つを行う、ことを特徴とする請求項26記載のユーザ装置。
- 前記第1の記憶部は、前記データベースに格納されるテーブル名、カラム名を含むメタデータの暗号化の有無、データの暗号化の有無、データの安全性の程度を表す機密度情報、前記機密度情報に対応した暗号アルゴリズムの識別情報を保持し、
前記テーブル名、カラム名が暗号化されている場合、
暗号化されたテーブル名、カラム名に加えて、
暗号化前の平文のテーブル名、平文のカラム名を、復号後テーブル名、カラム名として記憶保持する、ことを特徴とする請求項27記載のユーザ装置。 - 前記アプリケーション応答手段は、前記データベース操作命令で指定されたテーブル名、カラム名が暗号化されているか否かを、前記第1の記憶部を参照して判別し、
前記テーブル名、カラム名の少なくとも一方が暗号化されている場合には、平文を暗号文に置き換え、
前記第1の記憶部を参照して、データを暗号化する場合には、前記機密度情報に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報を用いてデータを暗号化して前記データベースシステムに送信する、ことを特徴とする請求項28記載のユーザ装置。 - 請求項25乃至29のいずれか1項に記載の前記ユーザ装置から送信されたデータベース操作命令を受け取り、前記データベースに対して、暗号化されたデータに対する暗号プロトコルを用いたデータベース操作、又は、平文データに対するデータベース操作を実行し、処理結果を、前記データベース処理結果として、前記アプリケーション応答手段に返す、ことを特徴とするデータベース装置。
- データベースシステムにネットワークを介して接続するユーザシステムにて、暗号化と復号化のための鍵情報を記憶管理し、
前記データベースシステムに向けて発行されるデータベース操作命令に対して、暗号化の要否判定の結果、暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記鍵情報による暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベースシステムに送信してデータベース操作を実行させ、
前記データベースシステムは、前記データベース操作命令の操作又は演算に関して、
データベースに格納された暗号文データに対して暗号文のまま処理するか、又は、
前記暗号データを前記ユーザシステムに送信し、前記ユーザシステムにて前記鍵情報により前記暗号データを復号して平文で演算を実行し前記の鍵情報により暗号化した暗号データを前記データベースシステムから取得して処理を行い、
処理結果の暗号文を前記ユーザシステムに送信し、
前記ユーザシステムは、前記データベースシステムから送信されたデータベース処理結果を受け取り、変換、又は前記鍵情報による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返す、ことを特徴とするデータベース暗号化方法。 - 前記ユーザシステムは、前記データベースに格納されるデータ及び/又はメタデータの安全性の設定に関する情報を第1の記憶部に記憶し、
前記データベースシステムに向けて発行されるデータベース操作命令に対して、前記第1の記憶部の情報を参照して、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベースシステムに送信してデータベース操作を実行させる、ことを特徴とする請求項31記載のデータベース暗号化方法。 - 前記データベースシステムは、前記ユーザシステムから送信された前記データベース操作命令を受け、前記データベースに対して、暗号化されたデータに対する暗号プロトコル、又は、平文データに対するデータベース操作を実行し、処理結果を前記ユーザシステムに返す、ことを特徴とする請求項31又は32記載のデータベース暗号化方法。
- データベース装置にネットワークを介して接続するユーザ装置のコンピュータに、
暗号化と復号化のための鍵情報を管理する鍵利用処理と、
前記データベース装置に向けて発行されるデータベース操作命令に対して、暗号化の要否判定の結果、暗号化が必要な場合、前記データベース操作命令のデータ及び/又はメタデータとして、前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを前記データベース装置に送信するアプリケーション応答処理と、
を実行させるプログラムであって、
前記アプリケーション応答処理は、
前記データベース装置での前記データベース操作命令の処理結果の暗号文を受け取るか、又は、前記データベース装置で前記データベース操作命令の処理途中の前記暗号データを受け取り、前記鍵利用手段の鍵情報により前記暗号データを復号して平文で演算を実行し前記鍵利用手段の鍵情報により暗号化した暗号データを前記データベース装置に送信し、
前記データベース装置から送信されたデータベース処理結果を受け取り、変換あるいは前記鍵利用処理による復号化を行った結果を、前記データベース操作命令の応答として前記データベース操作命令の発行元に返す、プログラム。 - 前記データベース装置に格納されるデータ及び/又はメタデータの安全性の設定に関する情報を第1の記憶部に記憶する安全性設定処理を含み、
前記アプリケーション応答処理は、
前記データベース装置に向けて発行されるデータベース操作命令に対して、前記第1の記憶部の情報を参照して、前記データベース操作命令のデータ及び/又はメタデータとして、前記データ及び/又はメタデータの安全性に対応した暗号アルゴリズムを用いて前記鍵利用手段の鍵情報により暗号化を行った暗号化データ及び/又は暗号化メタデータを、前記データベース装置に送信してデータベース操作を実行させる、請求項34記載のプログラム。 - 請求項34又は35の前記ユーザ装置から暗号化されたデータベース操作命令を受け取ると、データベースに対して暗号プロトコルを実行する処理と、
前記ユーザ装置から暗号化されないデータベース操作命令を受け取ると、前記データベースに対して平文データのデータベース操作を実行する処理と、
前記処理結果を、前記ユーザ装置に返す処理と、
をデータベース制御装置を構成するコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013168697A JP5679018B2 (ja) | 2011-11-11 | 2013-08-14 | データベース暗号化システムと方法及びプログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011247908 | 2011-11-11 | ||
JP2011247908 | 2011-11-11 | ||
JP2013168697A JP5679018B2 (ja) | 2011-11-11 | 2013-08-14 | データベース暗号化システムと方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013525041A Division JP5344109B1 (ja) | 2011-11-11 | 2012-11-09 | データベース暗号化システムと方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014013582A JP2014013582A (ja) | 2014-01-23 |
JP5679018B2 true JP5679018B2 (ja) | 2015-03-04 |
Family
ID=48290143
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013525041A Active JP5344109B1 (ja) | 2011-11-11 | 2012-11-09 | データベース暗号化システムと方法及びプログラム |
JP2013168697A Active JP5679018B2 (ja) | 2011-11-11 | 2013-08-14 | データベース暗号化システムと方法及びプログラム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013525041A Active JP5344109B1 (ja) | 2011-11-11 | 2012-11-09 | データベース暗号化システムと方法及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (2) | US8812877B2 (ja) |
EP (1) | EP2778951B1 (ja) |
JP (2) | JP5344109B1 (ja) |
KR (1) | KR101388724B1 (ja) |
CN (1) | CN103392178B (ja) |
WO (1) | WO2013069776A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017149686A1 (ja) | 2016-03-02 | 2017-09-08 | 株式会社日立製作所 | 鍵生成装置、計算機システム、および暗号統計処理方法 |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449178B2 (en) * | 2012-07-24 | 2016-09-20 | ID Insight | System, method and computer product for fast and secure data searching |
US20140237252A1 (en) * | 2012-12-31 | 2014-08-21 | Safelylocked, Llc | Techniques for validating data exchange |
US9215067B2 (en) * | 2013-04-05 | 2015-12-15 | International Business Machines Corporation | Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters |
EP2992696B1 (en) * | 2013-04-29 | 2018-10-03 | Hughes Network Systems, LLC | Data encryption protocols for mobile satellite communications |
EP2809027B1 (en) * | 2013-05-30 | 2018-09-12 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO | Method and system for reconstruction of a data object from distributed redundant data parts |
US9654472B2 (en) * | 2013-06-18 | 2017-05-16 | Hitachi, Ltd. | Storage count verification system |
US9118631B1 (en) * | 2013-08-16 | 2015-08-25 | Google Inc. | Mixing secure and insecure data and operations at server database |
US20150082054A1 (en) * | 2013-08-21 | 2015-03-19 | Venux LLC | System and Method for Establishing a Secure Digital Environment |
US9672200B1 (en) * | 2013-11-06 | 2017-06-06 | Apttex Corporation | Spreadsheet with dynamic cell dimensions generated by a spreadsheet template based on remote application values |
CN103699855B (zh) * | 2013-12-05 | 2018-04-27 | 华为技术有限公司 | 一种数据处理方法和装置 |
US10380352B2 (en) * | 2014-02-04 | 2019-08-13 | International Business Machines Corporation | Document security in enterprise content management systems |
JP6273951B2 (ja) * | 2014-03-24 | 2018-02-07 | 富士通株式会社 | 暗号化装置、暗号化方法、情報処理装置および暗号化システム |
KR101670496B1 (ko) * | 2014-08-27 | 2016-10-28 | 주식회사 파수닷컴 | 데이터 관리 방법, 이를 위한 컴퓨터 프로그램, 그 기록매체, 데이터 관리 방법을 실행하는 사용자 클라이언트 |
US9900287B1 (en) * | 2014-09-12 | 2018-02-20 | Verily Life Sciences, LLC | Transmitting sensitive information securely over unsecured networks without authentication |
GB2531770A (en) * | 2014-10-30 | 2016-05-04 | Ibm | Confidential Extracting System Internal Data |
CN104363288B (zh) * | 2014-11-18 | 2018-09-14 | 深圳市大成天下信息技术有限公司 | 一种文档管理系统和方法 |
EP3223453B1 (en) * | 2014-11-19 | 2019-03-06 | Huawei Technologies Co., Ltd. | Directional traffic statistics method, device and system |
GB2533098B (en) * | 2014-12-09 | 2016-12-14 | Ibm | Automated management of confidential data in cloud environments |
CN104517066A (zh) * | 2014-12-16 | 2015-04-15 | 上海师范大学 | 一种文件夹加密方法 |
US9537838B2 (en) | 2014-12-22 | 2017-01-03 | Sap Se | Adjustable proxy re-encryption |
US9516065B2 (en) * | 2014-12-23 | 2016-12-06 | Freescale Semiconductor, Inc. | Secure communication device and method |
US9547720B2 (en) | 2014-12-24 | 2017-01-17 | Sap Se | Access control for encrypted query processing |
CA2972096A1 (en) * | 2015-02-12 | 2016-08-18 | Visa International Service Association | Multi-party encryption cube processing apparatuses, methods and systems |
US20160267279A1 (en) * | 2015-03-02 | 2016-09-15 | Cirrus Lender Services, Inc. | Web application perpetually encrypted obscured filesystem |
JP6186387B2 (ja) * | 2015-03-19 | 2017-08-23 | 株式会社日立製作所 | 秘匿データ処理システム |
US9875370B2 (en) * | 2015-03-26 | 2018-01-23 | Microsoft Technology Licensing, Llc | Database server and client for query processing on encrypted data |
US9727742B2 (en) | 2015-03-30 | 2017-08-08 | Airbnb, Inc. | Database encryption to provide write protection |
US9626410B2 (en) * | 2015-03-31 | 2017-04-18 | International Business Machines Corporation | Vertically partitioned databases |
US10482263B2 (en) | 2015-04-01 | 2019-11-19 | Microsoft Technology Licensing, Llc | Computing on encrypted data using deferred evaluation |
EP3281379B1 (en) * | 2015-04-10 | 2019-01-09 | PCMS Holdings, Inc. | System and method for delegation of cloud computing processes |
WO2016178291A1 (ja) * | 2015-05-07 | 2016-11-10 | 日本電気株式会社 | 秘密計算データ利用システムと方法と装置並びにプログラム |
KR102423885B1 (ko) * | 2015-05-08 | 2022-07-21 | 한국전자통신연구원 | 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템 |
JP6542883B2 (ja) * | 2015-05-14 | 2019-07-10 | 日本電信電話株式会社 | データベースシステム、データベース処理方法 |
US9742556B2 (en) | 2015-08-25 | 2017-08-22 | International Business Machines Corporation | Comparison and search operations of encrypted data |
CN106484378B (zh) * | 2015-08-28 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种无落地的数据处理方法及装置 |
CN105141416A (zh) * | 2015-10-14 | 2015-12-09 | 公安部第三研究所 | 基于硬件芯片的用户权限分发控制系统及方法 |
US10789374B2 (en) | 2016-03-28 | 2020-09-29 | Hitachi, Ltd. | Database system and data retrieval method |
US10210266B2 (en) * | 2016-05-25 | 2019-02-19 | Microsoft Technology Licensing, Llc | Database query processing on encrypted data |
WO2018000317A1 (en) * | 2016-06-30 | 2018-01-04 | Nokia Technologies Oy | Secure data processing |
US11210406B2 (en) | 2016-07-15 | 2021-12-28 | Seagate Technology Llc | Encrypting system level data structures |
US10296757B2 (en) * | 2016-07-29 | 2019-05-21 | Sap Se | Appended key ID for key identification during data encryption |
US10395060B2 (en) | 2016-10-17 | 2019-08-27 | Microsoft Technology Licensing, Llc | Multiple message retrieval for secure electronic communication |
US10291592B2 (en) | 2016-10-17 | 2019-05-14 | Microsoft Technology Licensing, Llc | Secure electronic communication |
WO2018082008A1 (en) * | 2016-11-04 | 2018-05-11 | Nokia Technologies Oy | Secure distributed data processing |
CN106452723B (zh) * | 2016-12-13 | 2017-05-31 | 深圳市全同态科技有限公司 | 一种基于模运算的全同态加密处理方法 |
US11393046B1 (en) * | 2017-01-17 | 2022-07-19 | Intuit Inc. | System and method for perpetual rekeying of various data columns with a frequency and encryption strength based on the sensitivity of the data columns |
JP6522263B2 (ja) * | 2017-01-18 | 2019-05-29 | 三菱電機株式会社 | 準同型演算装置、暗号システム及び準同型演算プログラム |
US10303895B1 (en) * | 2017-01-19 | 2019-05-28 | Intuit Inc. | System and method for perpetual rekeying of various data columns with respective encryption keys and on alternating bases |
US10880275B2 (en) | 2017-01-20 | 2020-12-29 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption |
US10790960B2 (en) | 2017-01-20 | 2020-09-29 | Enveil, Inc. | Secure probabilistic analytics using an encrypted analytics matrix |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US10693627B2 (en) | 2017-01-20 | 2020-06-23 | Enveil, Inc. | Systems and methods for efficient fixed-base multi-precision exponentiation |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
JP2018128602A (ja) * | 2017-02-09 | 2018-08-16 | 日本電気株式会社 | 暗号化データベース管理装置、暗号化データベース管理方法、暗号化データベース管理プログラムおよび暗号化データベース管理システム |
CN108809906B (zh) | 2017-05-03 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统及装置 |
KR101979320B1 (ko) * | 2017-05-18 | 2019-05-16 | 뱅크웨어글로벌 주식회사 | 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 |
CN107392014B (zh) * | 2017-06-23 | 2021-04-30 | 复旦大学 | 基于数据库结构随机变化的sql注入防御方法和系统 |
JP6302592B2 (ja) * | 2017-06-23 | 2018-03-28 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
CN107317819A (zh) * | 2017-07-13 | 2017-11-03 | 北京邮电大学 | 基于可信数据格式的通用数据的加密方法、解密方法及其装置 |
CN109933994B (zh) * | 2017-12-18 | 2024-03-29 | 北京三快在线科技有限公司 | 数据分级存储方法和装置以及计算设备 |
CA3086236A1 (en) | 2017-12-18 | 2019-06-27 | Beijing Sankuai Online Technology Co., Ltd | Encrypted storage of data |
US10528556B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
US10528557B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
JP6709243B2 (ja) * | 2018-03-01 | 2020-06-10 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置 |
US11159498B1 (en) | 2018-03-21 | 2021-10-26 | Amazon Technologies, Inc. | Information security proxy service |
US10909250B2 (en) * | 2018-05-02 | 2021-02-02 | Amazon Technologies, Inc. | Key management and hardware security integration |
US10204236B1 (en) | 2018-05-30 | 2019-02-12 | Drfirst.Com, Inc. | Self-consistent structures for secure transmission and temporary storage of sensitive data |
US10979403B1 (en) * | 2018-06-08 | 2021-04-13 | Amazon Technologies, Inc. | Cryptographic configuration enforcement |
US10872166B2 (en) * | 2018-09-12 | 2020-12-22 | Netz Forecasts Ltd. | Systems and methods for secure prediction using an encrypted query executed based on encrypted data |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
CN109492415A (zh) * | 2018-11-06 | 2019-03-19 | 深圳市东宝信息技术有限公司 | 一种基于敏感数字的安全存储方法及系统 |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US10984137B2 (en) * | 2019-02-15 | 2021-04-20 | Charter Communications Operating, Llc | Secure data at rest |
CN109960942B (zh) * | 2019-03-27 | 2021-04-27 | 厦门商集网络科技有限责任公司 | 基于数据库连接池的数据库数据加解密方法及其系统 |
CN110321345A (zh) * | 2019-05-22 | 2019-10-11 | 嘉兴天盾安全技术服务有限公司 | 一种数据加密储存方法 |
CN112307056B (zh) * | 2019-07-31 | 2024-02-06 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
US11411728B2 (en) | 2019-08-19 | 2022-08-09 | Red Hat, Inc. | Proof-of-work key wrapping with individual key fragments |
US11316839B2 (en) | 2019-08-19 | 2022-04-26 | Red Hat, Inc. | Proof-of-work key wrapping for temporally restricting data access |
US11424920B2 (en) * | 2019-08-19 | 2022-08-23 | Red Hat, Inc. | Proof-of-work key wrapping for cryptographically controlling data access |
US11303437B2 (en) | 2019-08-19 | 2022-04-12 | Red Hat, Inc. | Proof-of-work key wrapping with key thresholding |
US11436352B2 (en) | 2019-08-19 | 2022-09-06 | Red Hat, Inc. | Proof-of-work key wrapping for restricting data execution based on device capabilities |
US11411938B2 (en) | 2019-08-19 | 2022-08-09 | Red Hat, Inc. | Proof-of-work key wrapping with integrated key fragments |
US11271734B2 (en) | 2019-08-19 | 2022-03-08 | Red Hat, Inc. | Proof-of-work key wrapping for verifying device capabilities |
US11429735B2 (en) * | 2019-10-14 | 2022-08-30 | Samsung Sds Co., Ltd. | Method and apparatus for data encryption, method and apparatus for data decryption |
US11860673B1 (en) * | 2019-11-22 | 2024-01-02 | Amazon Technologies, Inc. | Database with client-controlled encryption key |
US11595205B1 (en) | 2019-11-22 | 2023-02-28 | Amazon Technologies, Inc. | Database with client-controlled encryption key |
US11568063B1 (en) | 2019-11-22 | 2023-01-31 | Amazon Technologies, Inc. | Database with client-controlled encryption key |
US11405215B2 (en) * | 2020-02-26 | 2022-08-02 | International Business Machines Corporation | Generation of a secure key exchange authentication response in a computing environment |
US11489821B2 (en) | 2020-02-26 | 2022-11-01 | International Business Machines Corporation | Processing a request to initiate a secure data transfer in a computing environment |
US11184160B2 (en) | 2020-02-26 | 2021-11-23 | International Business Machines Corporation | Channel key loading in a computing environment |
US11546137B2 (en) | 2020-02-26 | 2023-01-03 | International Business Machines Corporation | Generation of a request to initiate a secure data transfer in a computing environment |
US11310036B2 (en) | 2020-02-26 | 2022-04-19 | International Business Machines Corporation | Generation of a secure key exchange authentication request in a computing environment |
US11502834B2 (en) | 2020-02-26 | 2022-11-15 | International Business Machines Corporation | Refreshing keys in a computing environment that provides secure data transfer |
US11652616B2 (en) | 2020-02-26 | 2023-05-16 | International Business Machines Corporation | Initializing a local key manager for providing secure data transfer in a computing environment |
CN111740826B (zh) * | 2020-07-20 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于加密代理网关的加密方法、解密方法、装置及设备 |
KR102395550B1 (ko) * | 2020-09-29 | 2022-05-09 | 주식회사 에임시스 | 기밀정보 분석 방법 및 장치 |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112199703B (zh) * | 2020-10-22 | 2022-09-06 | 福建天晴数码有限公司 | 一种基于客户端的web数据动态加密传输方法及其系统 |
US11809589B2 (en) * | 2021-01-21 | 2023-11-07 | Dell Products L.P. | Secure data structure for database system |
CN113407304B (zh) * | 2021-05-28 | 2023-04-11 | 济南浪潮数据技术有限公司 | 一种虚拟机调度和安全访问方法、装置、设备及可读介质 |
CN113591113B (zh) * | 2021-07-29 | 2024-04-05 | 华控清交信息科技(北京)有限公司 | 一种隐私计算方法、装置、系统及电子设备 |
CN114422237B (zh) * | 2022-01-18 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 数据传输方法及装置、电子设备和介质 |
KR102495370B1 (ko) * | 2022-04-28 | 2023-02-06 | 프라이빗테크놀로지 주식회사 | 프록시에 기반하여 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법 |
US11818109B1 (en) * | 2022-08-19 | 2023-11-14 | Uab 360 It | Secure synchronization of data |
CN116910791B (zh) * | 2023-09-12 | 2023-12-12 | 闪捷信息科技有限公司 | 数据库表列加密分析方法、装置、电子设备和存储介质 |
CN117251871B (zh) * | 2023-11-16 | 2024-03-01 | 支付宝(杭州)信息技术有限公司 | 针对密态数据库的数据处理方法和系统 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9712459D0 (en) * | 1997-06-14 | 1997-08-20 | Int Computers Ltd | Secure database system |
JPH11143780A (ja) | 1997-11-05 | 1999-05-28 | Hitachi Ltd | データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置 |
US20010011349A1 (en) * | 1998-09-03 | 2001-08-02 | Greg B. Garrison | System and method for encrypting a data session between a client and a server |
US7093137B1 (en) | 1999-09-30 | 2006-08-15 | Casio Computer Co., Ltd. | Database management apparatus and encrypting/decrypting system |
JP4003203B2 (ja) | 2000-08-10 | 2007-11-07 | サイファーゲート株式会社 | 暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体 |
US7111005B1 (en) | 2000-10-06 | 2006-09-19 | Oracle International Corporation | Method and apparatus for automatic database encryption |
JP2002169808A (ja) * | 2000-11-30 | 2002-06-14 | Hitachi Ltd | セキュアマルチデータベースシステム |
JP4050050B2 (ja) * | 2001-12-17 | 2008-02-20 | 株式会社アクアキャスト | リレーショナルデータベース及びそのリレーショナルデータベースにおけるインデックステーブルの作成方法並びに該リレーショナルデータベースにおける範囲検索の方法およびその範囲検索のための順位検索方法 |
US20030187848A1 (en) * | 2002-04-02 | 2003-10-02 | Hovhannes Ghukasyan | Method and apparatus for restricting access to a database according to user permissions |
JP2004234344A (ja) | 2003-01-30 | 2004-08-19 | Kddi Corp | データベースアクセスシステム |
US7418600B2 (en) * | 2003-03-13 | 2008-08-26 | International Business Machines Corporation | Secure database access through partial encryption |
US7401233B2 (en) * | 2003-06-24 | 2008-07-15 | International Business Machines Corporation | Method, system, and apparatus for dynamic data-driven privacy policy protection and data sharing |
JP4395611B2 (ja) | 2003-10-28 | 2010-01-13 | 独立行政法人情報通信研究機構 | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
US7395437B2 (en) * | 2004-01-05 | 2008-07-01 | International Business Machines Corporation | System and method for fast querying of encrypted databases |
WO2005119960A2 (en) * | 2004-06-01 | 2005-12-15 | Ben-Gurion University Of The Negev Research And Development Authority | Structure preserving database encryption method and system |
US7593942B2 (en) * | 2004-12-30 | 2009-09-22 | Oracle International Corporation | Mandatory access control base |
US7814076B2 (en) * | 2004-12-30 | 2010-10-12 | Oracle International Corporation | Data vault |
US7539682B2 (en) * | 2005-03-14 | 2009-05-26 | Microsoft Corporation | Multilevel secure database |
US7761704B2 (en) * | 2005-03-17 | 2010-07-20 | Oracle International Corporation | Method and apparatus for expiring encrypted data |
US7844829B2 (en) * | 2006-01-18 | 2010-11-30 | Sybase, Inc. | Secured database system with built-in antivirus protection |
US20080082837A1 (en) * | 2006-09-29 | 2008-04-03 | Protegrity Corporation | Apparatus and method for continuous data protection in a distributed computing network |
KR100859162B1 (ko) * | 2007-10-16 | 2008-09-19 | 펜타시큐리티시스템 주식회사 | 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법 |
JP2009211384A (ja) * | 2008-03-04 | 2009-09-17 | Ntt Docomo Inc | 検索代理装置及び検索代理方法 |
US8213620B1 (en) * | 2008-11-17 | 2012-07-03 | Netapp, Inc. | Method for managing cryptographic information |
JP5140026B2 (ja) | 2009-03-19 | 2013-02-06 | 株式会社日立製作所 | データベース処理方法、データベース処理プログラム、および、暗号化装置 |
JP5573293B2 (ja) | 2010-03-30 | 2014-08-20 | 富士通株式会社 | 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム |
JP5496756B2 (ja) | 2010-04-16 | 2014-05-21 | 日本電信電話株式会社 | 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体 |
CN102024054A (zh) * | 2010-12-10 | 2011-04-20 | 中国科学院软件研究所 | 一种面向密文云存储的文档检索方法与系统 |
-
2012
- 2012-11-09 EP EP12848286.6A patent/EP2778951B1/en active Active
- 2012-11-09 JP JP2013525041A patent/JP5344109B1/ja active Active
- 2012-11-09 KR KR1020137013395A patent/KR101388724B1/ko active IP Right Grant
- 2012-11-09 US US13/991,101 patent/US8812877B2/en active Active
- 2012-11-09 CN CN201280003997.5A patent/CN103392178B/zh not_active Expired - Fee Related
- 2012-11-09 WO PCT/JP2012/079149 patent/WO2013069776A1/ja active Application Filing
-
2013
- 2013-08-14 JP JP2013168697A patent/JP5679018B2/ja active Active
-
2014
- 2014-07-03 US US14/323,364 patent/US9349023B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017149686A1 (ja) | 2016-03-02 | 2017-09-08 | 株式会社日立製作所 | 鍵生成装置、計算機システム、および暗号統計処理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101388724B1 (ko) | 2014-04-25 |
EP2778951A1 (en) | 2014-09-17 |
JP5344109B1 (ja) | 2013-11-20 |
EP2778951A4 (en) | 2015-05-13 |
US20130246813A1 (en) | 2013-09-19 |
US20150006908A1 (en) | 2015-01-01 |
EP2778951B1 (en) | 2017-04-26 |
US9349023B2 (en) | 2016-05-24 |
WO2013069776A1 (ja) | 2013-05-16 |
CN103392178A (zh) | 2013-11-13 |
US8812877B2 (en) | 2014-08-19 |
JP2014013582A (ja) | 2014-01-23 |
CN103392178B (zh) | 2015-08-26 |
KR20130079607A (ko) | 2013-07-10 |
JPWO2013069776A1 (ja) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5679018B2 (ja) | データベース暗号化システムと方法及びプログラム | |
JP6048414B2 (ja) | データベース装置と方法及びプログラム | |
JP6609010B2 (ja) | 複数許可データセキュリティ及びアクセス | |
US8565422B2 (en) | Method and system for enryption key versioning and key rotation in a multi-tenant environment | |
US8688969B2 (en) | Cryptographic management apparatus, decryption management apparatus and program | |
US20170099144A1 (en) | Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system | |
JP6364287B2 (ja) | データ秘匿・復元装置、方法およびプログラム、データ秘匿・復元システム、ならびに帳票作成装置 | |
CN111884986B (zh) | 一种数据加密处理方法、装置及存储介质 | |
US10142100B2 (en) | Managing user-controlled security keys in cloud-based scenarios | |
KR101648364B1 (ko) | 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법 | |
JP2009510616A (ja) | データベース内の機密データを保護するためのシステム及び方法 | |
JP5140026B2 (ja) | データベース処理方法、データベース処理プログラム、および、暗号化装置 | |
WO2019120038A1 (zh) | 数据加密存储 | |
CN113517981B (zh) | 一种密钥管理方法、代码版本的管理方法及装置 | |
CN111639349B (zh) | 一种数据加密处理方法、装置和存储介质 | |
JP7325872B1 (ja) | 秘匿計算システム、情報処理装置、コンピュータープログラムおよびアクセス権管理方法 | |
JP2008035449A (ja) | 自己復号ファイルによるデータ配布方法および該方法を用いた情報処理システム | |
JP2012175187A (ja) | 鍵管理装置及び暗号処理システム及びコンピュータプログラム及び鍵管理方法 | |
JP5561782B2 (ja) | 電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5679018 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |