JP2011198079A - System and method for encrypting database - Google Patents
System and method for encrypting database Download PDFInfo
- Publication number
- JP2011198079A JP2011198079A JP2010064555A JP2010064555A JP2011198079A JP 2011198079 A JP2011198079 A JP 2011198079A JP 2010064555 A JP2010064555 A JP 2010064555A JP 2010064555 A JP2010064555 A JP 2010064555A JP 2011198079 A JP2011198079 A JP 2011198079A
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- cipher
- database
- stochastic
- deterministic
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データベースのセキュリティを強化するデータベース暗号化システムに関する。 The present invention relates to a database encryption system for enhancing database security.
データベースに格納されているデータは、データベース管理者による不正持ち出しや外部不正者によるSQLインジェクション攻撃に晒されており、データ漏洩が問題になっている。
そこで、データベースのセキュリティ対策として、データを暗号化してデータベースに格納するデータベース暗号化システムがある。
Data stored in the database is exposed to unauthorized removal by database administrators and SQL injection attacks by external unauthorized persons, and data leakage is a problem.
Therefore, as a database security measure, there is a database encryption system that encrypts data and stores it in the database.
図10に、特許文献1などに記載されている、データを決定的暗号化したデータベースの一例を示す。
データを決定的暗号化した場合、同一データは同一暗号文として記憶されため、不正者はレコード間で同一データであることが分かるという問題点がある。
図11に、データを確率的暗号化したデータベースの一例を示す。
データを確率的暗号化した場合、同一データでも異なる暗号文として記憶されるため、不正者はレコード間で同一データであることが分からないという利点がある。
FIG. 10 shows an example of a database in which data is decisively encrypted as described in
When the data is definitively encrypted, the same data is stored as the same ciphertext, and thus there is a problem that an unauthorized person knows that the same data exists between records.
FIG. 11 shows an example of a database in which data is stochastically encrypted.
When data is stochastically encrypted, even the same data is stored as different ciphertexts, so there is an advantage that an unauthorized person does not know that the data is the same between records.
なお、確率的暗号化はデータに対し乱数を付加して暗号化するものである。 Note that stochastic encryption is performed by adding random numbers to data.
データを決定的暗号化した場合、完全一致検索データを1回だけ暗号化して探せるため、完全一致検索処理を高速に行なうことができる。データを確率的暗号化した場合、完全一致検索データをレコード毎に暗号化して探すため、完全一致検索処理を高速に行なうことができない。
したがって、データを確率的暗号化したデータベースでは、完全一致検索処理を高速に行なうことができないという課題がある。
When the data is definitively encrypted, the exact match search data can be encrypted and searched only once, so that the exact match search process can be performed at high speed. When the data is stochastically encrypted, the exact match search data is encrypted for each record and searched, so the exact match search process cannot be performed at high speed.
Therefore, a database in which data is stochastically encrypted has a problem that the exact match search process cannot be performed at high speed.
データを暗号化した場合、部分一致検索データに対応する全ての完全一致検索データについて暗号化して探すことは、高速に行なうことができない。
例えば、部分一致検索文字列「AAA」から始まるデータを検索する場合、完全一致検索データ「AAAA...A」から「AAAZ...Z」までの莫大な数の完全一致検索データについて暗号化して探す必要があり、事実上不可能である。
したがって、データを暗号化したデータベースでは、部分一致検索処理を高速に行なうことができないという課題がある。
When data is encrypted, it is not possible to search for all complete match search data corresponding to partial match search data in an encrypted manner at high speed.
For example, when searching for data that begins with the partial match search string “AAA”, the enormous number of complete match search data from “AAAA ... A” to “AAAZ ... Z” is encrypted. This is virtually impossible.
Therefore, there is a problem that a partial match search process cannot be performed at high speed in a database in which data is encrypted.
本発明の目的は、データを確率的暗号化したデータベースでも完全一致検索処理を高速に行なうことができ、またデータを暗号化したデータベースでも、部分一致検索処理を高速に行なうことができるデータベース暗号化システム及び方法を提供することにある。 An object of the present invention is to perform database matching capable of performing a complete match search process at high speed even in a database in which data is stochastically encrypted, and capable of performing a partial match search process in a database at a high speed. It is to provide a system and method.
上記目的を達成するために本発明に係るシステムは、データベースサーバとアプリケーションサーバがネットワークを介して接続して構成され、前記データベースサーバのデータベースが確率的暗号テーブルと決定的暗号テーブルと暗号文関係テーブルとを記憶し、前記アプリケーションサーバのデータベースが暗号鍵を記憶するデータベース暗号化システムであって、
前記データベースへのデータ登録処理を行うために、
前記アプリケーションサーバが、前記データベースへの登録対象データを確率的暗号化と決定的暗号化し、前記データベースサーバに確率的暗号文5と決定的暗号文とを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルに確率的暗号文と確率的暗号IDを含むレコードを挿入し、前記決定的暗号テーブルに決定的暗号文と決定的暗号IDを含むレコードを挿入した後、前記アプリケーションサーバに確率的暗号IDと決定的暗号IDを送信する手段を備え、
アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号IDと決定的暗号IDを決定的暗号化し、前記データベースサーバに確率的暗号ID暗号文と決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルに確率的暗号ID暗号文と決定的暗号ID暗号文を含むレコードを挿入する手段を備えることを特徴とする。
In order to achieve the above object, a system according to the present invention is configured by connecting a database server and an application server via a network, and the database of the database server includes a stochastic encryption table, a deterministic encryption table, and a ciphertext relationship table. And a database encryption system in which the database of the application server stores an encryption key,
In order to perform data registration processing in the database,
The application server includes means for performing stochastic encryption and deterministic encryption on data to be registered in the database, and transmitting the stochastic ciphertext 5 and the deterministic ciphertext to the database server,
After the database server inserts a record including a stochastic ciphertext and a stochastic cipher ID into the stochastic cipher table, and inserts a record including a deterministic ciphertext and a deterministic cipher ID into the deterministic cipher table, Means for transmitting a stochastic cryptographic ID and a definitive cryptographic ID to the application server;
The application server deterministically encrypts the stochastic cipher ID and the deterministic cipher ID with the cipher key obtained from the deterministic cipher text, and transmits the stochastic cipher ID cipher text and the definitive cipher ID cipher text to the database server. With means,
The database server includes means for inserting a record including a stochastic cipher ID ciphertext and a deterministic cipher ID ciphertext into the ciphertext relationship table.
また、前記データベースのデータ完全一致検索処理として、
前記アプリケーションサーバが、
データを決定的暗号化して前記データベースサーバに決定的暗号文を送信する手段を備え、
前記データベースサーバが、前記決定的暗号テーブルから決定的暗号文を含むレコードから決定的暗号IDを射影し、アプリケーションサーバに決定的暗号IDを送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化して前記データベースサーバに決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信する手段を備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得する手段を備えることを特徴とする。
In addition, as a data exact match search process of the database,
The application server is
Means for deterministically encrypting data and transmitting deterministic ciphertext to the database server;
The database server comprises means for projecting a definitive cipher ID from a record including a definitive ciphertext from the deterministic cipher table and transmitting the definitive cipher ID to the application server;
The application server comprises means for deterministically encrypting a definitive cipher ID with an encryption key obtained from the deterministic ciphertext and transmitting the definitive cipher ID ciphertext to the database server,
The database server includes means for projecting a stochastic cipher ID ciphertext from a record including a deterministic cipher ID ciphertext from the ciphertext relationship table and transmitting the stochastic cipher ID ciphertext to the application server;
The application server comprises means for deterministically decrypting a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmitting a stochastic cipher ID to the database server;
The database server includes means for selecting a record including a probabilistic encryption ID from the probabilistic encryption table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result Means are provided.
また、データベースのデータ登録処理として、
前記データベースサーバが、前記データベースのインデックス値登録処理を決定的暗号IDと決定的暗号文を入力として実行する手段を備え、
データベースのデータ部分一致検索処理として、
前記アプリケーションサーバが、検索範囲開始データと検索範囲終端データを決定的暗号化し、前記データベースサーバに検索範囲開始データ暗号文と検索範囲終端データ暗号文を送信する手段を備え、
前記データベースサーバが、前記データベースのインデックス値取得処理を検索範囲開始データ暗号文を入力として実行し、前記データベースのインデックス値取得処理を検索範囲終端データ暗号文を入力として実行し、前記決定的暗号テーブルからインデックス値が検索範囲開始インデックス値以上かつ検索範囲終端インデックス値未満であるレコードから決定的暗号IDと決定的暗号文を射影し、前記アプリケーションサーバに決定的暗号IDと決定的暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文を決定的復号し、平文のソート順番が検索範囲開始データと検索範囲終端データの間ならば、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化し、前記データベースサーバに決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信する手段を備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、前記レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得する手段を備えることを特徴とする。
In addition, as database data registration processing,
The database server comprises means for executing an index value registration process of the database with a definitive cipher ID and a definitive ciphertext as inputs,
Database partial match search processing of database,
The application server includes means for definitively encrypting search range start data and search range end data, and transmitting the search range start data ciphertext and search range end data ciphertext to the database server,
The database server executes index value acquisition processing of the database with a search range start data ciphertext as input, executes index value acquisition processing of the database with a search range end data ciphertext as input, and the deterministic encryption table Projecting the definitive cipher ID and the definitive ciphertext from the record whose index value is greater than or equal to the search range start index value and less than the search range end index value, and transmits the definitive cipher ID and definitive ciphertext to the application server With means,
If the application server deciphers the deterministic ciphertext and the plaintext sort order is between search range start data and search range end data, a deterministic cipher ID is obtained using the cipher key obtained from the deterministic ciphertext. Means for deterministically encrypting and transmitting a definitive cipher ID ciphertext to the database server,
The database server includes means for projecting a stochastic cipher ID ciphertext from a record including a deterministic cipher ID ciphertext from the ciphertext relationship table and transmitting the stochastic cipher ID ciphertext to the application server;
The application server comprises means for deterministically decrypting a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmitting a stochastic cipher ID to the database server;
The database server includes means for selecting a record including a probabilistic encryption ID from the probabilistic encryption table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result It has the means to do, It is characterized by the above-mentioned.
また、本発明に係る方法は、データベースサーバとアプリケーションサーバがネットワークを介して接続して構成され、前記データベースサーバのデータベースが確率的暗号テーブルと決定的暗号テーブルと暗号文関係テーブルとを記憶し、前記アプリケーションサーバのデータベースが暗号鍵を記憶するデータベース暗号化方法であって、
前記データベースへのデータ登録処理を行うために、
前記アプリケーションサーバが、前記データベースへの登録対象データを確率的暗号化と決定的暗号化し、前記データベースサーバに確率的暗号文5と決定的暗号文とを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルに確率的暗号文と確率的暗号IDを含むレコードを挿入し、前記決定的暗号テーブルに決定的暗号文と決定的暗号IDを含むレコードを挿入した後、前記アプリケーションサーバに確率的暗号IDと決定的暗号IDを送信するステップを備え、
アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号IDと決定的暗号IDを決定的暗号化し、前記データベースサーバに確率的暗号ID暗号文と決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルに確率的暗号ID暗号文と決定的暗号ID暗号文を含むレコードを挿入する手ステップを備えることを特徴とする。
The method according to the present invention is configured by connecting a database server and an application server via a network, and the database of the database server stores a stochastic encryption table, a deterministic encryption table, and a ciphertext relationship table, A database encryption method in which the database of the application server stores an encryption key,
In order to perform data registration processing in the database,
The application server comprises the steps of probabilistic encryption and deterministic encryption of data to be registered in the database, and transmitting the stochastic ciphertext 5 and deterministic ciphertext to the database server,
After the database server inserts a record including a stochastic ciphertext and a stochastic cipher ID into the stochastic cipher table, and inserts a record including a deterministic ciphertext and a deterministic cipher ID into the deterministic cipher table, Transmitting a stochastic cryptographic ID and a definitive cryptographic ID to the application server,
The application server deterministically encrypts the stochastic cipher ID and the deterministic cipher ID with the cipher key obtained from the deterministic cipher text, and transmits the stochastic cipher ID cipher text and the definitive cipher ID cipher text to the database server. With steps,
The database server includes a manual step of inserting a record including a stochastic cipher ID ciphertext and a deterministic cipher ID ciphertext into the ciphertext relation table.
また、前記データベースのデータ完全一致検索処理として、
前記アプリケーションサーバが、
データを決定的暗号化して前記データベースサーバに決定的暗号文を送信するステップを備え、
前記データベースサーバが、前記決定的暗号テーブルから決定的暗号文を含むレコードから決定的暗号IDを射影し、アプリケーションサーバに決定的暗号IDを送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化して前記データベースサーバに決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信するステップを備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得するステップを備えることを特徴とする。
In addition, as a data exact match search process of the database,
The application server is
Deterministically encrypting data and sending definitive ciphertext to the database server,
The database server includes projecting a definitive cipher ID from a record including definitive ciphertext from the deterministic cipher table and transmitting the definitive cipher ID to the application server;
The application server includes a step of definitively encrypting a definitive cipher ID with an encryption key obtained from the deterministic ciphertext and transmitting the definitive cipher ID ciphertext to the database server,
The database server includes a step of projecting a stochastic cipher ID ciphertext from a record including a definitive cipher ID ciphertext from the ciphertext relationship table, and transmitting the stochastic cipher ID ciphertext to the application server,
The application server deterministically decrypts a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmits the stochastic cipher ID to the database server,
The database server comprises selecting a record including a stochastic cipher ID from the stochastic cipher table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result It is characterized by comprising a step.
また、データベースのデータ登録処理として、
前記データベースサーバが、前記データベースのインデックス値登録処理を決定的暗号IDと決定的暗号文を入力として実行するステップを備え、
データベースのデータ部分一致検索処理として、
前記アプリケーションサーバが、検索範囲開始データと検索範囲終端データを決定的暗号化し、前記データベースサーバに検索範囲開始データ暗号文と検索範囲終端データ暗号文を送信するステップを備え、
前記データベースサーバが、前記データベースのインデックス値取得処理を検索範囲開始データ暗号文を入力として実行し、前記データベースのインデックス値取得処理を検索範囲終端データ暗号文を入力として実行し、前記決定的暗号テーブルからインデックス値が検索範囲開始インデックス値以上かつ検索範囲終端インデックス値未満であるレコードから決定的暗号IDと決定的暗号文を射影し、前記アプリケーションサーバに決定的暗号IDと決定的暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文を決定的復号し、平文のソート順番が検索範囲開始データと検索範囲終端データの間ならば、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化し、前記データベースサーバに決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信するステップを備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、前記レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得するステップを備えることを特徴とする。
In addition, as database data registration processing,
The database server includes a step of executing an index value registration process of the database with a definitive cipher ID and a definitive ciphertext as inputs,
Database partial match search processing of database,
The application server includes the step of definitively encrypting search range start data and search range end data, and transmitting the search range start data ciphertext and search range end data ciphertext to the database server,
The database server executes index value acquisition processing of the database with a search range start data ciphertext as input, executes index value acquisition processing of the database with a search range end data ciphertext as input, and the deterministic encryption table Projecting the definitive cipher ID and the definitive ciphertext from the record whose index value is greater than or equal to the search range start index value and less than the search range end index value, and transmits the definitive cipher ID and definitive ciphertext to the application server With steps,
If the application server deciphers the deterministic ciphertext and the plaintext sort order is between search range start data and search range end data, a deterministic cipher ID is obtained using the cipher key obtained from the deterministic ciphertext. Deciphering and sending a definitive cipher ID ciphertext to the database server,
The database server includes a step of projecting a stochastic cipher ID ciphertext from a record including a definitive cipher ID ciphertext from the ciphertext relationship table, and transmitting the stochastic cipher ID ciphertext to the application server,
The application server deterministically decrypts a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmits the stochastic cipher ID to the database server,
The database server comprises selecting a record including a stochastic cipher ID from the stochastic cipher table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result The step which performs is characterized by the above-mentioned.
本発明によれば、確率的暗号テーブルの他に、決定的暗号テーブルと、両テーブル間の関係を暗号化して保持する暗号文関係テーブルを設け、決定的暗号テーブルで検索し、検索結果を暗号文関係テーブルで変換することで、確率的暗号テーブルでの検索結果を取得する。
これにより、データを確率的暗号化したデータベースでも、完全一致検索処理を高速に行なうことができる。
インデックス値を保持する決定的暗号テーブルを設け、この決定的暗号テーブルでインデックス値に基づいて決定的暗号文をバイナリサーチすることで、部分一致検索範囲を絞り込む。
これにより、データを暗号化したデータベースでも、部分一致検索処理を高速に行なうことができる。
検索結果を暗号文関係テーブルで変換する際に、検索結果の関係を変換することを、検索結果データの決定的暗号文から取得した暗号鍵で変換することで保証する。
これにより、不正者が任意の関係を変換できないため、不正者が任意のレコード間で同一データであることが分からないようにできる。
According to the present invention, in addition to the stochastic encryption table, a deterministic encryption table and a ciphertext relationship table that encrypts and holds the relationship between the two tables are provided, a search is performed using the deterministic encryption table, and the search result is encrypted. The search result in the probabilistic encryption table is acquired by converting the sentence relation table.
Thereby, even in a database in which data is stochastically encrypted, the exact match search process can be performed at high speed.
A deterministic encryption table that holds index values is provided, and the partial cipher search range is narrowed down by performing a binary search on the deterministic ciphertext based on the index values.
Thereby, even in a database in which data is encrypted, partial match search processing can be performed at high speed.
When the search result is converted in the ciphertext relationship table, the conversion of the search result relationship is guaranteed by the conversion using the encryption key acquired from the definitive ciphertext of the search result data.
Thereby, since an unauthorized person cannot convert arbitrary relations, it can be prevented that an unauthorized person is the same data between arbitrary records.
以下、本発明のデータベース暗号化システムの構成の一例について、図1を参照しながら説明する。
図1において、本発明のデータベース暗号化システムは、データベースサーバ1とアプリケーションサーバ2がネットワーク3を介して接続して構成される。
データベースサーバ1は、中央演算処理装置4と主記憶装置6と補助記憶装置8とネットワーク通信装置12がデータバス8を介して接続して構成される。
また、アプリケーションサーバ2は、中央演算処理装置5と主記憶装置7と補助記憶装置9とネットワーク通信装置13がデータバス11を介して接続して構成される。
データベースサーバの補助記憶装置8には、確率的暗号テーブル81、決定的暗号テーブル82、暗号文関係テーブル83が設けられている。
また、アプリケーションサーバ2の補助記憶装置9には暗号鍵Kの記憶領域91が設けられている。
Hereinafter, an example of the configuration of the database encryption system of the present invention will be described with reference to FIG.
In FIG. 1, the database encryption system of the present invention is configured by connecting a
The
The
The auxiliary storage device 8 of the database server is provided with a probabilistic encryption table 81, a deterministic encryption table 82, and a ciphertext relationship table 83.
The auxiliary storage device 9 of the
ここで、本発明のデータベース暗号化システムで使用する暗号について説明する。
確率的暗号とは、IV(暗号利用モードの初期化ベクトル)またはSALT(平文に付加するランダムなビット列)が有る共通鍵暗号である。
確率的暗号化処理PEは、暗号鍵Kと平文Mを入力として、暗号文PE(K,M)を出力する。
確率的暗号化処理では、入力が同一の暗号鍵と平文であっても、IVまたはSALTの値が異なれば、出力は異なる暗号文になる。
確率的復号処理PDは、暗号鍵Kと暗号文Cを入力として、平文PD(K,C)を出力する。
決定的暗号とは、IVおよびSALTが無い共通鍵暗号である。
決定的暗号化処理DEは、暗号鍵Kと平文Mを入力として、暗号文DE(K,M)を出力する。
決定的暗号化処理では、入力が同一の暗号鍵と平文ならば、出力は同一の暗号文になる。
決定的復号処理DDは、暗号鍵Kと暗号文Cを入力として、平文DD(K,C)を出力する。
鍵付きセキュアハッシュ処理Hは、暗号鍵KとメッセージMを入力として、セキュアハッシュ値H(K,M)を出力する。
Here, encryption used in the database encryption system of the present invention will be described.
The probabilistic encryption is a common key encryption having IV (initialization vector for encryption usage mode) or SALT (random bit string added to plaintext).
The probabilistic encryption processing PE receives the encryption key K and the plaintext M and outputs the ciphertext PE (K, M).
In the stochastic encryption process, even if the input is the same encryption key and plaintext, the output is different if the IV or SALT value is different.
Probabilistic decryption PD receives cipher key K and ciphertext C as inputs and outputs plaintext PD (K, C).
A deterministic cipher is a common key cipher without IV and SALT.
The definitive encryption process DE receives the encryption key K and the plaintext M, and outputs the ciphertext DE (K, M).
In the definitive encryption process, if the input is the same encryption key and plain text, the output is the same cipher text.
The definitive decryption process DD receives the encryption key K and the ciphertext C and outputs plaintext DD (K, C).
The keyed secure hash process H receives the encryption key K and the message M and outputs a secure hash value H (K, M).
例えば、セキュアハッシュ関数をSHA−256かつ共通鍵暗号をAES256ビットとすると、セキュアハッシュ値と暗号鍵のビット長が同じため、セキュアハッシュ値を暗号鍵にすることができる。
アプリケーションサーバ2が、暗号鍵Kを記憶する。
For example, if the secure hash function is SHA-256 and the common key cipher is AES256 bits, the secure hash value and the encryption key have the same bit length, so the secure hash value can be used as the encryption key.
The
データベースサーバ1が記憶する確率的暗号テーブル81の一例について、図2を参照しながら説明する。
確率的暗号テーブル81の必須カラムは、確率的暗号ID811と確率的暗号文812である。
確率的暗号ID811は、ユニーク制約のあるカラムである。
図2の確率的暗号テーブル81は、確率的暗号文カラムとして名前812とカード番号813を確率的暗号化した暗号文と、個人情報カラムとして年齢814を格納したテーブルである。
データベースサーバ1が記憶する決定的暗号テーブル82の一例について、図3を参照しながら説明する。
決定的暗号テーブル82のカラムは、決定的暗号ID821と決定的暗号文822とインデックス値823である。
決定的暗号ID821は、ユニーク制約のあるカラムである。
An example of the probabilistic encryption table 81 stored in the
The essential columns of the stochastic cipher table 81 are the
The
The stochastic cipher table 81 in FIG. 2 is a table in which a ciphertext obtained by probabilistically encrypting the
An example of the definitive encryption table 82 stored in the
The columns of the definitive cipher table 82 are
The
図3の決定的暗号テーブル82は、決定的暗号文カラムとして名前822とカード番号824を決定的暗号化した暗号文と、インデックス値として名前822とカード番号824の昇順ソート順番の正整数値を格納したテーブルである。
データベースサーバ1が記憶する暗号文関係テーブル83の一例について、図4を参照しながら説明する。
暗号文関係テーブル83のカラムは、確率的暗号ID暗号文831と決定的暗号ID暗号文832である。
確率的暗号ID暗号文831は、確率的暗号テーブル81の確率的暗号ID811を決定的暗号化した暗号文である。
決定的暗号ID暗号文832は、決定的暗号テーブル82の決定的暗号ID821を決定的暗号化した暗号文である。
データベースのデータ登録処理の一例について、図5を参照しながら説明する。
ただし、アプリケーションサーバ2が、データM(例えば名前やカード番号に相当)と個人情報(例えば年齢に相当)を記憶しているものとする。
The deterministic cipher table 82 in FIG. 3 includes ciphertext obtained by definitively encrypting the
An example of the ciphertext relationship table 83 stored in the
The columns of the ciphertext relationship table 83 are the probabilistic
The stochastic
The definitive
An example of database data registration processing will be described with reference to FIG.
However, it is assumed that the
図5の例は、データベースサーバ1が記憶するテーブルが図2〜4の状態であり、データM(名前=”HITACHI TARO”, カード番号=1111222222222222)と個人情報(年齢=35)についてデータ登録処理を実行する場合である。
まず、ステップ501において、アプリケーションサーバ2が、確率的暗号化処理を、暗号鍵KとデータMを入力として実行し、出力された確率的暗号文PC=PE(K,M)を取得し、また決定的暗号化処理を、暗号鍵KとデータMを入力として実行して、出力された決定的暗号文DC=DE(K,M)を取得して、データベースサーバ1に確率的暗号文812と決定的暗号文と個人情報822を送信する。
In the example of FIG. 5, the table stored in the
First, in step 501, the
ステップ502において、データベースサーバ1が、アプリケーションサーバ2から確率的暗号文と決定的暗号文と個人情報を受信して、確率的暗号テーブル81のユニーク制約を満たすように確率的暗号ID811をランダムに生成して、確率的暗号テーブル81に生成した確率的暗号ID811と受信した確率的暗号文812と個人情報814を含むレコードを挿入して、決定的暗号テーブル82に受信した決定的暗号文822を含むレコードが記憶されているならば、ステップ503を実行して、決定的暗号テーブル82に受信した決定的暗号文822を含むレコードが記憶されていないならば、ステップ504を実行する。
In step 502, the
ステップ503において、データベースサーバ1が、決定的暗号テーブル82から受信した決定的暗号文822を含むレコードを選択して、選択したレコードから決定的暗号IDを射影して(すなわち抽出して)、アプリケーションサーバ2に生成した確率的暗号ID811と射影した決定的暗号ID821を送信して、ステップ504を実行する。
In step 503, the
ステップ504において、データベースサーバ1が、決定的暗号テーブル82のユニーク制約を満たすように決定的暗号ID821をランダムに生成して、決定的暗号テーブル82に生成した決定的暗号ID821と受信した決定的暗号文822を含むレコードを挿入して、データベースのインデックス値登録処理を、生成した決定的暗号ID821と受信した決定的暗号文822を入力として実行して、アプリケーションサーバ2に生成した確率的暗号ID811と決定的暗号ID821を送信して、ステップ505を実行する。
In step 504, the
ステップ505において、アプリケーションサーバ2が、データベースサーバ1から確率的暗号ID811と決定的暗号ID821を受信して、鍵付きセキュアハッシュ処理を、暗号鍵Kと決定的暗号文DCを入力として実行して、出力されたセキュアハッシュ値KH=H(K,DC)を取得して、決定的暗号化処理を、暗号鍵KHと受信した確率的暗号IDを入力として実行して、出力された確率的暗号ID暗号文DE(KH,確率的暗号ID)を取得して、決定的暗号化処理を、暗号鍵KHと受信した決定的暗号IDを入力として実行して、出力された決定的暗号ID暗号文DE(KH,決定的暗号ID)を取得して、データベースサーバ1に確率的暗号ID暗号文と決定的暗号ID暗号文を送信する。
In step 505, the
ステップ506において、データベースサーバ1が、
アプリケーションサーバ2から確率的暗号ID暗号文と決定的暗号ID暗号文を受信して、暗号文関係テーブル83に受信した確率的暗号ID暗号文と決定的暗号ID暗号文を含むレコードを挿入する。
データベースのインデックス値登録処理の一例について、図6を参照しながら説明する。
ただし、決定的暗号IDと決定的暗号文を入力とする。
In step 506, the
The probabilistic cipher ID ciphertext and deterministic cipher ID ciphertext are received from the
An example of database index value registration processing will be described with reference to FIG.
However, a definitive cipher ID and a definitive ciphertext are input.
図6の例は、図5のステップ504において、決定的暗号ID= DIDC981と決定的暗号文= DE(K, 1111222222222222)を入力としてインデックス値登録処理を実行する場合である。
ステップ601において、データベースサーバ1が、データベースのインデックス値取得処理を、決定的暗号文を入力として実行して、出力された登録インデックス値を取得する。
The example of FIG. 6 is a case where the index value registration process is executed in step 504 of FIG. 5 with the definitive cipher ID = DIDC981 and the definitive ciphertext = DE (K, 1111222222222222) as inputs.
In step 601, the
ステップ602において、データベースサーバ1が、決定的暗号テーブル82からインデックス値が登録インデックス値以上であるレコードを選択して、選択したレコードのインデックス値をインクリメントして更新する。
In step 602, the
ステップ603において、データベースサーバ1が、決定的暗号テーブル82から決定的暗号ID821を含むレコードを選択して、選択したレコードのインデックス値を登録インデックス値に更新する。
In step 603, the
データベースのインデックス値取得処理の一例について、図7を参照しながら説明する。
ただし、決定的暗号文を入力として、インデックス値を出力とする。
ステップ701において、データベースサーバ1が、決定的暗号テーブル82にレコードが無いならば、出力インデックス値を1として、ステップ707を実行する。
ステップ702において、データベースサーバ1が、決定的暗号テーブル82から最大のインデックス値を取得して、下限インデックス値を1として、上限インデックス値を取得した最大インデックス値とする。
An example of database index value acquisition processing will be described with reference to FIG.
However, the definitive ciphertext is input and the index value is output.
In step 701, if there is no record in the definitive encryption table 82, the
In step 702, the
ステップ703において、データベースサーバ1が、下限インデックス値が上限インデックス値以下ならば、中央インデックス値を下限インデックス値と上限インデックス値の平均の整数値として、下限インデックス値が上限インデックス値より大きいならば、出力インデックス値を下限インデックス値として、ステップ707を実行する。
In step 703, if the lower limit index value is less than or equal to the upper limit index value, the
ステップ704において、データベースサーバ1が、決定的暗号テーブル82から中央インデックス値を含むレコードを選択して、選択したレコードから決定的暗号文822を射影して、アプリケーションサーバ2に入力決定的暗号文と射影した中央決定的暗号文を送信する。
In step 704, the
ステップ705において、アプリケーションサーバ2が、データベースサーバ1から入力決定的暗号文と中央決定的暗号文を受信して、決定的復号処理を、暗号鍵Kと入力決定的暗号文を入力として実行して、出力された入力平文=DD(K,入力決定的暗号文)を取得して、決定的復号処理を、暗号鍵Kと中央決定的暗号文を入力として実行して、出力された中央平文=DD(K,中央決定的暗号文)を取得して、入力平文と中央平文のソート順番を比較して、ソート順番比較結果として「同一平文」または「昇順」または「降順」を取得して、データベースサーバ1にソート順番比較結果を送信する。
ここで、入力決定的暗号文とは、バイナリサーチにおける検索したい値の暗号文 ということであり、また中央決定的暗号文とはバイナリサーチにおける中央の値の暗号文 ということである。
In step 705, the
Here, the input deterministic ciphertext is a ciphertext of a value to be searched in the binary search, and the central deterministic ciphertext is a ciphertext of the central value in the binary search.
例えば、平文が文字列の場合で、
入力平文「ABC」と中央平文「ABC」のソート順番比較結果は「同一平文」であり、
入力平文「ABC」と中央平文「ACC」のソート順番比較結果は「昇順」であり、
入力平文「ABC」と中央平文「ABB」のソート順番比較結果は「降順」である。
例えば、平文が数値の場合で、
入力平文「1000」と中央平文「1000」のソート順番比較結果は「同一平文」であり、
入力平文「1000」と中央平文「1001」のソート順番比較結果は「昇順」であり、
入力平文「1000」と中央平文「999」のソート順番比較結果は「降順」である。
ステップ706において、データベースサーバ1が、アプリケーションサーバ2からソート順番比較結果を受信して、ソート順番比較結果が「同一平文」ならば、出力インデックス値を中央インデックス値として、ステップ707を実行してソート順番比較結果が「昇順」ならば、上限インデックス値を中央インデックス値−1として、ステップ703を実行して、ソート順番比較結果が「降順」ならば、下限インデックス値を中央インデックス値+1として、ステップ703を実行する。
For example, if the plain text is a string,
Sort order comparison result of input plaintext “ABC” and central plaintext “ABC” is “same plaintext”
Sort order comparison result of input plaintext “ABC” and central plaintext “ACC” is “ascending order”,
The sort order comparison result between the input plaintext “ABC” and the central plaintext “ABB” is “descending order”.
For example, if the plain text is numeric,
Sort order comparison result of input plaintext “1000” and central plaintext “1000” is “same plaintext”
The sort order comparison result of input plaintext “1000” and central plaintext “1001” is “ascending order”,
The sort order comparison result between the input plaintext “1000” and the central plaintext “999” is “descending order”.
In step 706, the
ステップ707において、データベースサーバ1が、出力インデックス値を出力する。
データベースのインデックス値取得処理の例を、図6のステップ601において、決定的暗号文= DE(K, 1111222222222222)を入力として実行する場合で説明する。
1ステップ目に、ステップ701において、決定的暗号テーブルにレコードが有る場合なので、何も実行しない。
In step 707, the
An example of database index value acquisition processing will be described in the case of executing decipher ciphertext = DE (K, 1111222222222222) as input in step 601 of FIG.
In step 701, nothing is executed in step 701 because there is a record in the definitive encryption table.
2ステップ目に、ステップ702において、下限インデックス値=1、上限インデックス値=3。
3ステップ目に、ステップ703において、下限インデックス値1≦上限インデックス値3の場合なので、中央インデックス値=(下限インデックス値1+上限インデックス値3)/2=2。
4ステップ目に、ステップ704において、入力決定的暗号文=DE(K, 1111222222222222)と中央決定的暗号文=DE(K,1111333333333333)を送信。
In the second step, in step 702, the lower limit index value = 1 and the upper limit index value = 3.
In the third step, since the lower
In step 704, the input deterministic ciphertext = DE (K, 1111222222222222) and the central deterministic ciphertext = DE (K, 1111333333333333) are transmitted in the fourth step.
5ステップ目に、ステップ705において、入力平文=1111222222222222と中央平文=1111333333333333のソート順番を比較して、ソート順番比較結果「昇順」を送信。
6ステップ目に、ステップ706において、ソート順番比較結果が「昇順」の場合なので、上限インデックス値=中央インデックス値2−1=1。
7ステップ目に、ステップ703において、下限インデックス値1≦上限インデックス値1の場合なので、中央インデックス値=(下限インデックス値1+上限インデックス値1)/2=1。
In step 705, the sort order of input plaintext = 111122222222222222 and central plaintext = 1111333333333333 is compared in step 705, and the sort order comparison result “ascending order” is transmitted.
In the sixth step, since the sorting order comparison result is “ascending order” in step 706, upper limit index value = center index value 2-1 = 1.
In the seventh step, in step 703, since lower
8ステップ目に、ステップ704において、入力決定的暗号文=DE(K, 1111222222222222)と中央決定的暗号文=DE(K,1111111111111111)を送信。
9ステップ目に、ステップ705において、入力平文=1111222222222222と中央平文=1111111111111111のソート順番を比較して、ソート順番比較結果「降順」を送信。
10ステップ目に、ステップ706において、ソート順番比較結果が「降順」の場合なので、下限インデックス値=中央インデックス値1+1=2。
11ステップ目に、ステップ703において、下限インデックス値2>上限インデックス値1の場合なので、出力インデックス値=下限インデックス値2。
12ステップ目に、ステップ707において、出力インデックス値2を出力する。
In step 704, the input deterministic ciphertext = DE (K, 1111222222222222) and the central deterministic ciphertext = DE (K, 1111111111111111) are transmitted in the eighth step.
In step 705, the sort order of input plaintext = 1111222222222222 and central plaintext = 1111111111111111 is compared in step 705, and the sort order comparison result “descending order” is transmitted.
In the tenth step, since the sorting order comparison result is “descending order” in step 706, the lower limit index value = the
In the eleventh step, since the lower
In the twelfth step, in step 707, the
データベースのデータ完全一致検索処理の一例について、図8を参照しながら説明する。
ただし、アプリケーションサーバ2が、データM(例えば名前やカード番号に相当)を記憶しているものとする。
図8の例は、データベースサーバ1が記憶するテーブルが図2〜4の状態であり、データM(名前=”HITACHI TARO”)についてデータ完全一致検索処理を実行する場合である。
ステップ801において、アプリケーションサーバ2が、決定的暗号化処理を、暗号鍵KとデータMを入力として実行して、出力された決定的暗号文DC=DE(K,M)を取得して、データベースサーバ1に決定的暗号文を送信する。
An example of the database complete match search process will be described with reference to FIG.
However, it is assumed that the
The example of FIG. 8 is a case where the table stored in the
In step 801, the
ステップ802において、データベースサーバ1が、アプリケーションサーバ2から決定的暗号文を受信して、決定的暗号テーブル82から受信した決定的暗号文を含むレコードを選択して、選択したレコードから決定的暗号ID821を射影して、アプリケーションサーバ2に射影した決定的暗号ID821を送信する。
In step 802, the
ステップ803において、アプリケーションサーバ2が、データベースサーバ1から決定的暗号ID821を受信して、鍵付きセキュアハッシュ処理を、暗号鍵Kと決定的暗号文DCを入力として実行して、出力されたセキュアハッシュ値KH=H(K,DC)を取得して、決定的暗号化処理を、暗号鍵KHと受信した決定的暗号ID821を入力として実行して、出力された決定的暗号ID暗号文DE(KH,決定的暗号ID)を取得して、
データベースサーバ1に決定的暗号ID暗号文822を送信する。
In step 803, the
The definitive
ステップ804において、データベースサーバ1が、アプリケーションサーバ2から決定的暗号ID暗号文を受信して、暗号文関係テーブル83から受信した決定的暗号ID暗号文を含むレコードを選択して、選択したレコードから確率的暗号ID暗号文を射影して、アプリケーションサーバ2に射影した確率的暗号ID暗号文を送信する。
In step 804, the
ステップ805において、アプリケーションサーバ2が、データベースサーバ1から確率的暗号ID暗号文を受信して、鍵付きセキュアハッシュ処理を、暗号鍵Kと決定的暗号文DCを入力として実行して、出力されたセキュアハッシュ値KH=H(K,DC)を取得して、決定的復号処理を、暗号鍵KHと受信した確率的暗号ID暗号文を入力として実行して、出力された確率的暗号ID=DD(KH,確率的暗号ID暗号文)を取得して、データベースサーバ1に確率的暗号IDを送信する。
In step 805, the
ステップ806において、データベースサーバ1が、アプリケーションサーバ2から確率的暗号IDを受信して、確率的暗号テーブル81から受信した確率的暗号ID811を含むレコードを選択して、アプリケーションサーバ2に選択したレコードを送信する。
In step 806, the
ステップ807において、アプリケーションサーバ2が、データベースサーバ1からレコードを受信して、受信したレコードから確率的暗号文を射影して、確率的復号処理を、暗号鍵Kと射影した確率的暗号文を入力として実行して、出力された平文M=PD(K,確率的暗号文)を取得して、受信したレコードの確率的暗号文を平文Mに置換して、データ完全一致検索処理の検索結果としてレコードを取得する。
In step 807, the
次に、データベースのデータ部分一致検索処理の一例について、図9を参照しながら説明する。ただし、アプリケーションサーバ2が、検索範囲開始データM1と検索範囲終端データM2(例えば名前やカード番号に相当)を記憶しているものとする。
図9の例は、データベースサーバ1が記憶するテーブルが図2〜4の状態であり、検索範囲開始データM1(カード番号=1000000000000000)と検索範囲終端データM2(カード番号=2000000000000000)についてデータ部分一致検索処理を実行する場合である。
データ部分一致検索とは、データが文字列の場合では文字列前方一致検索であり、データが数値の場合では数値範囲検索である。
Next, an example of the data partial match search process in the database will be described with reference to FIG. However, it is assumed that the
In the example of FIG. 9, the table stored in the
The data partial match search is a character string forward match search when the data is a character string, and is a value range search when the data is a numerical value.
例えば、文字列「AAA」から始まるデータを検索する場合、検索範囲開始データM1は「AAA」、検索範囲終端データM2は「AAB」であり、数値「1000」以上「2000」未満のデータを検索する場合、検索範囲開始データM1は「1000」、検索範囲終端データM2は「2000」である。
ステップ901において、アプリケーションサーバ2が、決定的暗号化処理を、暗号鍵Kと検索範囲開始データM1を入力として実行して、出力された検索範囲開始データ暗号文DC1=DE(K,M1)を取得して、決定的暗号化処理を、暗号鍵Kと検索範囲終端データM2を入力として実行して、出力された検索範囲終端データ暗号文DC2=DE(K,M2)を取得して、データベースサーバ1に検索範囲開始データ暗号文と検索範囲終端データ暗号文を送信する。
For example, when searching for data starting from the character string “AAA”, the search range start data M1 is “AAA”, the search range end data M2 is “AAB”, and data with a numerical value “1000” or more and less than “2000” is searched. In this case, the search range start data M1 is “1000” and the search range end data M2 is “2000”.
In step 901, the
ステップ902において、データベースサーバ1が、アプリケーションサーバ2から検索範囲開始データ暗号文と検索範囲終端データ暗号文を受信して、データベースのインデックス値取得処理を、検索範囲開始データ暗号文を入力として実行して、出力された検索範囲開始インデックス値を取得して、データベースのインデックス値取得処理を、検索範囲終端データ暗号文を入力として実行して、出力された検索範囲終端インデックス値を取得して、決定的暗号テーブルからインデックス値が検索範囲開始インデックス値以上かつ検索範囲終端インデックス値未満であるレコードを選択して、選択したレコード毎にステップ903以降を実行する。
In step 902, the
ステップ903において、データベースサーバ1が、選択したレコードから決定的暗号ID821と決定的暗号文822を射影して、アプリケーションサーバ2に射影した決定的暗号ID821と決定的暗号文822を送信する。
ステップ904において、アプリケーションサーバ2が、データベースサーバ1から決定的暗号ID821と決定的暗号文DCを受信して、決定的復号処理を、暗号鍵Kと受信した決定的暗号文DCを入力として実行して、出力された平文M=PD(K,DC)を取得して、検索範囲開始データM1と平文Mのソート順番を比較して、ソート順番比較結果として「同一平文」または「昇順」を取得したならば、かつ、平文Mと検索範囲終端データM2のソート順番を比較して、ソート順番比較結果として「昇順」を取得したならば、鍵付きセキュアハッシュ処理を、暗号鍵Kと受信した決定的暗号文DCを入力として実行して、出力されたセキュアハッシュ値KH=H(K,DC)を取得して、決定的暗号化処理を、暗号鍵KHと受信した決定的暗号IDを入力として実行して、出力された決定的暗号ID暗号文DE(KH,決定的暗号ID)を取得して、データベースサーバ1に決定的暗号ID暗号文を送信する。
In step 903, the
In step 904, the
ステップ905において、データベースサーバ1が、アプリケーションサーバ2から決定的暗号ID暗号文を受信して、暗号文関係テーブル83から受信した決定的暗号ID暗号文を含むレコードを選択して、選択したレコードから確率的暗号ID暗号文を射影して、アプリケーションサーバ2に射影した確率的暗号ID暗号文を送信する。
In step 905, the
ステップ906において、アプリケーションサーバ2が、データベースサーバ1から確率的暗号ID暗号文を受信して、鍵付きセキュアハッシュ処理を、暗号鍵Kと決定的暗号文DCを入力として実行して、出力されたセキュアハッシュ値KH=H(K,DC)を取得して、決定的復号処理を、暗号鍵KHと受信した確率的暗号ID暗号文を入力として実行して、出力された確率的暗号ID=DD(KH,確率的暗号ID暗号文)を取得して、データベースサーバ1に確率的暗号IDを送信する。
In step 906, the
ステップ907において、データベースサーバ1が、アプリケションサーバ2から確率的暗号IDを受信して、確率的暗号テーブル81から受信した確率的暗号ID811を含むレコードを選択して、アプリケーションサーバ2に選択したレコードを送信する。
ステップ908において、アプリケーションサーバ2が、データベースサーバ1からレコードを受信して、受信したレコードから確率的暗号文を射影して、確率的復号処理を、暗号鍵Kと射影した確率的暗号文を入力として実行して、出力された平文M=PD(K,確率的暗号文)を取得して、受信したレコードの確率的暗号文を平文Mに置換して、データ部分一致検索処理の検索結果としてレコードを取得する。
In step 907, the
In step 908, the
1 データベースサーバ
2 アプリケーションサーバ
3 ネットワーク
4、5 中央演算処理装置
6,7 主記憶装置
8,9 補助記憶装置
12,13 ネットワーク通信装置
10,11 データバス
81 確率的暗号テーブル
82 決定的暗号テーブル
83 暗号文関係テーブル
DESCRIPTION OF
Claims (6)
前記データベースへのデータ登録処理を行うために、
前記アプリケーションサーバが、前記データベースへの登録対象データを確率的暗号化と決定的暗号化し、前記データベースサーバに確率的暗号文5と決定的暗号文とを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルに確率的暗号文と確率的暗号IDを含むレコードを挿入し、前記決定的暗号テーブルに決定的暗号文と決定的暗号IDを含むレコードを挿入した後、前記アプリケーションサーバに確率的暗号IDと決定的暗号IDを送信する手段を備え、
アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号IDと決定的暗号IDを決定的暗号化し、前記データベースサーバに確率的暗号ID暗号文と決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルに確率的暗号ID暗号文と決定的暗号ID暗号文を含むレコードを挿入する手段を備えることを特徴とするデータベース暗号化システム。 A database server and an application server are connected via a network, the database server database stores a stochastic encryption table, a deterministic encryption table, and a ciphertext relationship table, and the application server database stores an encryption key. A database encryption system for storing,
In order to perform data registration processing in the database,
The application server includes means for performing stochastic encryption and deterministic encryption on data to be registered in the database, and transmitting the stochastic ciphertext 5 and the deterministic ciphertext to the database server,
After the database server inserts a record including a stochastic ciphertext and a stochastic cipher ID into the stochastic cipher table, and inserts a record including a deterministic ciphertext and a deterministic cipher ID into the deterministic cipher table, Means for transmitting a stochastic cryptographic ID and a definitive cryptographic ID to the application server;
The application server deterministically encrypts the stochastic cipher ID and the deterministic cipher ID with the cipher key obtained from the deterministic cipher text, and transmits the stochastic cipher ID cipher text and the definitive cipher ID cipher text to the database server. With means,
The database encryption system, wherein the database server comprises means for inserting a record including a stochastic cipher ID ciphertext and a deterministic cipher ID ciphertext into the ciphertext relationship table.
前記アプリケーションサーバが、
データを決定的暗号化して前記データベースサーバに決定的暗号文を送信する手段を備え、
前記データベースサーバが、前記決定的暗号テーブルから決定的暗号文を含むレコードから決定的暗号IDを射影し、アプリケーションサーバに決定的暗号IDを送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化して前記データベースサーバに決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信する手段を備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得する手段を備えることを特徴とする請求項1に記載のデータベース暗号化システム。 As the data exact match search processing of the database,
The application server is
Means for deterministically encrypting data and transmitting deterministic ciphertext to the database server;
The database server comprises means for projecting a definitive cipher ID from a record including a definitive ciphertext from the deterministic cipher table and transmitting the definitive cipher ID to the application server;
The application server comprises means for deterministically encrypting a definitive cipher ID with an encryption key obtained from the deterministic ciphertext and transmitting the definitive cipher ID ciphertext to the database server,
The database server includes means for projecting a stochastic cipher ID ciphertext from a record including a deterministic cipher ID ciphertext from the ciphertext relationship table and transmitting the stochastic cipher ID ciphertext to the application server;
The application server comprises means for deterministically decrypting a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmitting a stochastic cipher ID to the database server;
The database server includes means for selecting a record including a probabilistic encryption ID from the probabilistic encryption table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result The database encryption system according to claim 1, further comprising means.
前記データベースサーバが、前記データベースのインデックス値登録処理を決定的暗号IDと決定的暗号文を入力として実行する手段を備え、
データベースのデータ部分一致検索処理として、
前記アプリケーションサーバが、検索範囲開始データと検索範囲終端データを決定的暗号化し、前記データベースサーバに検索範囲開始データ暗号文と検索範囲終端データ暗号文を送信する手段を備え、
前記データベースサーバが、前記データベースのインデックス値取得処理を検索範囲開始データ暗号文を入力として実行し、前記データベースのインデックス値取得処理を検索範囲終端データ暗号文を入力として実行し、前記決定的暗号テーブルからインデックス値が検索範囲開始インデックス値以上かつ検索範囲終端インデックス値未満であるレコードから決定的暗号IDと決定的暗号文を射影し、前記アプリケーションサーバに決定的暗号IDと決定的暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文を決定的復号し、平文のソート順番が検索範囲開始データと検索範囲終端データの間ならば、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化し、前記データベースサーバに決定的暗号ID暗号文を送信する手段を備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信する手段を備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信する手段を備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信する手段を備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、前記レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得する手段を備えることを特徴とする請求項1に記載のデータベース暗号化システム。 As database data registration processing,
The database server comprises means for executing an index value registration process of the database with a definitive cipher ID and a definitive ciphertext as inputs,
Database partial match search processing of database,
The application server includes means for definitively encrypting search range start data and search range end data, and transmitting the search range start data ciphertext and search range end data ciphertext to the database server,
The database server executes index value acquisition processing of the database with a search range start data ciphertext as input, executes index value acquisition processing of the database with a search range end data ciphertext as input, and the deterministic encryption table Projecting the definitive cipher ID and the definitive ciphertext from the record whose index value is greater than or equal to the search range start index value and less than the search range end index value, and transmits the definitive cipher ID and definitive ciphertext to the application server With means,
If the application server deciphers the deterministic ciphertext and the plaintext sort order is between search range start data and search range end data, a deterministic cipher ID is obtained using the cipher key obtained from the deterministic ciphertext. Means for deterministically encrypting and transmitting a definitive cipher ID ciphertext to the database server,
The database server includes means for projecting a stochastic cipher ID ciphertext from a record including a deterministic cipher ID ciphertext from the ciphertext relationship table and transmitting the stochastic cipher ID ciphertext to the application server;
The application server comprises means for deterministically decrypting a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmitting a stochastic cipher ID to the database server;
The database server includes means for selecting a record including a probabilistic encryption ID from the probabilistic encryption table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result The database encryption system according to claim 1, further comprising:
前記データベースへのデータ登録処理を行うために、
前記アプリケーションサーバが、前記データベースへの登録対象データを確率的暗号化と決定的暗号化し、前記データベースサーバに確率的暗号文5と決定的暗号文とを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルに確率的暗号文と確率的暗号IDを含むレコードを挿入し、前記決定的暗号テーブルに決定的暗号文と決定的暗号IDを含むレコードを挿入した後、前記アプリケーションサーバに確率的暗号IDと決定的暗号IDを送信するステップを備え、
アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号IDと決定的暗号IDを決定的暗号化し、前記データベースサーバに確率的暗号ID暗号文と決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルに確率的暗号ID暗号文と決定的暗号ID暗号文を含むレコードを挿入する手ステップを備えることを特徴とするデータベース暗号化方法。 A database server and an application server are connected via a network, the database server database stores a stochastic encryption table, a deterministic encryption table, and a ciphertext relationship table, and the application server database stores an encryption key. A database encryption method for storing,
In order to perform data registration processing in the database,
The application server comprises the steps of probabilistic encryption and deterministic encryption of data to be registered in the database, and transmitting the stochastic ciphertext 5 and deterministic ciphertext to the database server,
After the database server inserts a record including a stochastic ciphertext and a stochastic cipher ID into the stochastic cipher table, and inserts a record including a deterministic ciphertext and a deterministic cipher ID into the deterministic cipher table, Transmitting a stochastic cryptographic ID and a definitive cryptographic ID to the application server,
The application server deterministically encrypts the stochastic cipher ID and the deterministic cipher ID with the cipher key obtained from the deterministic cipher text, and transmits the stochastic cipher ID cipher text and the definitive cipher ID cipher text to the database server. With steps,
The database encryption method, wherein the database server comprises a manual step of inserting a record including a stochastic cipher ID ciphertext and a definitive cipher ID ciphertext into the ciphertext relationship table.
前記アプリケーションサーバが、
データを決定的暗号化して前記データベースサーバに決定的暗号文を送信するステップを備え、
前記データベースサーバが、前記決定的暗号テーブルから決定的暗号文を含むレコードから決定的暗号IDを射影し、アプリケーションサーバに決定的暗号IDを送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化して前記データベースサーバに決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信するステップを備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得するステップを備えることを特徴とする請求項4に記載のデータベース暗号化方法。 As the data exact match search processing of the database,
The application server is
Deterministically encrypting data and sending definitive ciphertext to the database server,
The database server includes projecting a definitive cipher ID from a record including definitive ciphertext from the deterministic cipher table and transmitting the definitive cipher ID to the application server;
The application server includes a step of definitively encrypting a definitive cipher ID with an encryption key obtained from the deterministic ciphertext and transmitting the definitive cipher ID ciphertext to the database server,
The database server includes a step of projecting a stochastic cipher ID ciphertext from a record including a definitive cipher ID ciphertext from the ciphertext relationship table, and transmitting the stochastic cipher ID ciphertext to the application server,
The application server deterministically decrypts a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmits the stochastic cipher ID to the database server,
The database server comprises selecting a record including a stochastic cipher ID from the stochastic cipher table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result The database encryption method according to claim 4, further comprising a step.
前記データベースサーバが、前記データベースのインデックス値登録処理を決定的暗号IDと決定的暗号文を入力として実行するステップを備え、
データベースのデータ部分一致検索処理として、
前記アプリケーションサーバが、検索範囲開始データと検索範囲終端データを決定的暗号化し、前記データベースサーバに検索範囲開始データ暗号文と検索範囲終端データ暗号文を送信するステップを備え、
前記データベースサーバが、前記データベースのインデックス値取得処理を検索範囲開始データ暗号文を入力として実行し、前記データベースのインデックス値取得処理を検索範囲終端データ暗号文を入力として実行し、前記決定的暗号テーブルからインデックス値が検索範囲開始インデックス値以上かつ検索範囲終端インデックス値未満であるレコードから決定的暗号IDと決定的暗号文を射影し、前記アプリケーションサーバに決定的暗号IDと決定的暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文を決定的復号し、平文のソート順番が検索範囲開始データと検索範囲終端データの間ならば、前記決定的暗号文から取得した暗号鍵で決定的暗号IDを決定的暗号化し、前記データベースサーバに決定的暗号ID暗号文を送信するステップを備え、
前記データベースサーバが、前記暗号文関係テーブルから決定的暗号ID暗号文を含むレコードから確率的暗号ID暗号文を射影し、前記アプリケーションサーバに確率的暗号ID暗号文を送信するステップを備え、
前記アプリケーションサーバが、前記決定的暗号文から取得した暗号鍵で確率的暗号ID暗号文を決定的復号し、前記データベースサーバに確率的暗号IDを送信するステップを備え、
前記データベースサーバが、前記確率的暗号テーブルから確率的暗号IDを含むレコードを選択し、前記アプリケーションサーバに当該レコードを送信するステップを備え、
前記アプリケーションサーバが、前記データベースサーバから受信したレコードから確率的暗号文を射影し、確率的暗号文を確率的復号し、前記レコードの確率的暗号文を平文に置換し、検索結果としてレコードを取得するステップを備えることを特徴とする請求項1に記載のデータベース暗号化方法。 As database data registration processing,
The database server includes a step of executing an index value registration process of the database with a definitive cipher ID and a definitive ciphertext as inputs,
Database partial match search processing of database,
The application server includes the step of definitively encrypting search range start data and search range end data, and transmitting the search range start data ciphertext and search range end data ciphertext to the database server,
The database server executes index value acquisition processing of the database with a search range start data ciphertext as input, executes index value acquisition processing of the database with a search range end data ciphertext as input, and the deterministic encryption table Projecting the definitive cipher ID and the definitive ciphertext from the record whose index value is greater than or equal to the search range start index value and less than the search range end index value, and transmits the definitive cipher ID and definitive ciphertext to the application server With steps,
If the application server deciphers the deterministic ciphertext and the plaintext sort order is between search range start data and search range end data, a deterministic cipher ID is obtained using the cipher key obtained from the deterministic ciphertext. Deciphering and sending a definitive cipher ID ciphertext to the database server,
The database server includes a step of projecting a stochastic cipher ID ciphertext from a record including a definitive cipher ID ciphertext from the ciphertext relationship table, and transmitting the stochastic cipher ID ciphertext to the application server,
The application server deterministically decrypts a stochastic cipher ID ciphertext with an encryption key obtained from the deterministic ciphertext, and transmits the stochastic cipher ID to the database server,
The database server comprises selecting a record including a stochastic cipher ID from the stochastic cipher table and transmitting the record to the application server;
The application server projects the stochastic ciphertext from the record received from the database server, probabilistically decrypts the stochastic ciphertext, replaces the stochastic ciphertext of the record with plaintext, and obtains a record as a search result The database encryption method according to claim 1, further comprising the step of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010064555A JP5411034B2 (en) | 2010-03-19 | 2010-03-19 | Database encryption system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010064555A JP5411034B2 (en) | 2010-03-19 | 2010-03-19 | Database encryption system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011198079A true JP2011198079A (en) | 2011-10-06 |
JP5411034B2 JP5411034B2 (en) | 2014-02-12 |
Family
ID=44876185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010064555A Expired - Fee Related JP5411034B2 (en) | 2010-03-19 | 2010-03-19 | Database encryption system and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5411034B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014128958A1 (en) | 2013-02-25 | 2014-08-28 | 三菱電機株式会社 | Server device, private search program, recording medium, and private search system |
WO2017168535A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社日立製作所 | Database system and data retrieval system |
US10673627B2 (en) | 2016-01-18 | 2020-06-02 | Mitsubishi Electric Corporation | Encryption device, search device, computer readable medium, encryption method, and search method |
USRE48146E1 (en) | 2012-01-25 | 2020-08-04 | Mitsubishi Electric Corporation | Data search device, data search method, computer readable medium storing data search program, data registration device, data registration method, computer readable medium storing data registration program, and information processing device |
US10769144B2 (en) | 2014-06-16 | 2020-09-08 | Nec Corporation | Database search system, database search method, and non-transitory recording medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143780A (en) * | 1997-11-05 | 1999-05-28 | Hitachi Ltd | Method and device for managing secret information in database |
JP2010503118A (en) * | 2006-09-06 | 2010-01-28 | マイクロソフト コーポレーション | Search for encrypted data |
-
2010
- 2010-03-19 JP JP2010064555A patent/JP5411034B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143780A (en) * | 1997-11-05 | 1999-05-28 | Hitachi Ltd | Method and device for managing secret information in database |
JP2010503118A (en) * | 2006-09-06 | 2010-01-28 | マイクロソフト コーポレーション | Search for encrypted data |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE48146E1 (en) | 2012-01-25 | 2020-08-04 | Mitsubishi Electric Corporation | Data search device, data search method, computer readable medium storing data search program, data registration device, data registration method, computer readable medium storing data registration program, and information processing device |
WO2014128958A1 (en) | 2013-02-25 | 2014-08-28 | 三菱電機株式会社 | Server device, private search program, recording medium, and private search system |
CN104995621A (en) * | 2013-02-25 | 2015-10-21 | 三菱电机株式会社 | Server device, private search program, recording medium, and private search system |
JP5963936B2 (en) * | 2013-02-25 | 2016-08-03 | 三菱電機株式会社 | Server device, secret search program, recording medium, and secret search system |
CN104995621B (en) * | 2013-02-25 | 2018-06-05 | 三菱电机株式会社 | Server unit and confidential search system |
US10235539B2 (en) | 2013-02-25 | 2019-03-19 | Mitsubishi Electric Corporation | Server device, recording medium, and concealed search system |
US10769144B2 (en) | 2014-06-16 | 2020-09-08 | Nec Corporation | Database search system, database search method, and non-transitory recording medium |
US10673627B2 (en) | 2016-01-18 | 2020-06-02 | Mitsubishi Electric Corporation | Encryption device, search device, computer readable medium, encryption method, and search method |
WO2017168535A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社日立製作所 | Database system and data retrieval system |
JPWO2017168535A1 (en) * | 2016-03-28 | 2018-12-13 | 株式会社日立製作所 | Database system and data search method |
Also Published As
Publication number | Publication date |
---|---|
JP5411034B2 (en) | 2014-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694467B2 (en) | Random number based data integrity verification method and system for distributed cloud storage | |
JP6180177B2 (en) | Encrypted data inquiry method and system capable of protecting privacy | |
US9275250B2 (en) | Searchable encryption processing system | |
KR102219476B1 (en) | A method for performing encryption of data and an apparatus therefor | |
CN106599723B (en) | File encryption method and device and file decryption method and device | |
TWI489847B (en) | Data encryption method, data verification method and electronic apparatus | |
CN106961427B (en) | A kind of ciphertext data search method based on 5g communication standard | |
CA2754268A1 (en) | Split key secure access system | |
Abusukhon et al. | New direction of cryptography: A review on text-to-image encryption algorithms based on RGB color value | |
CN104243149A (en) | Encrypting and decrypting method, device and server | |
JP5411034B2 (en) | Database encryption system and method | |
US6941461B2 (en) | System and method of uniquely authenticating each replication of a group of soft-copy documents | |
Joshy et al. | Text to image encryption technique using RGB substitution and AES | |
CN115603907A (en) | Method, device, equipment and storage medium for encrypting storage data | |
KR101217491B1 (en) | A method for searching keyword based on public key | |
US8458452B1 (en) | System and method for encryption and decryption of data transferred between computer systems | |
Kaushal | Cryptography: A brief review | |
WO2008059475A1 (en) | Secure communication | |
CN104486756A (en) | Encryption and decryption method and system for secret letter short message | |
KR20140033824A (en) | Encryption systems and methods using hash value as symmetric key in the smart device | |
Ahmad et al. | Protection of the texts using Base64 and MD5 | |
JP2012050075A (en) | Encryption communication system and encryption communication method | |
JP2005114870A (en) | Cryptocommunication system | |
Kadry et al. | An improvement of RC4 cipher using vigenère cipher | |
Velioğlu et al. | A New Approach to Cryptographic Hashing: Color Hidden Hash Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130926 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131107 |
|
LAPS | Cancellation because of no payment of annual fees |