JP2010224655A - Database processing method, database processing program and encryption device - Google Patents

Database processing method, database processing program and encryption device Download PDF

Info

Publication number
JP2010224655A
JP2010224655A JP2009068544A JP2009068544A JP2010224655A JP 2010224655 A JP2010224655 A JP 2010224655A JP 2009068544 A JP2009068544 A JP 2009068544A JP 2009068544 A JP2009068544 A JP 2009068544A JP 2010224655 A JP2010224655 A JP 2010224655A
Authority
JP
Japan
Prior art keywords
encryption
data
table data
cell position
value
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
Application number
JP2009068544A
Other languages
Japanese (ja)
Other versions
JP5140026B2 (en
Inventor
Kunihiko Miyazaki
邦彦 宮崎
Yasuo Hatano
康生 秦野
Katsuyoshi Iida
勝義 飯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009068544A priority Critical patent/JP5140026B2/en
Publication of JP2010224655A publication Critical patent/JP2010224655A/en
Application granted granted Critical
Publication of JP5140026B2 publication Critical patent/JP5140026B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a database system, capable of balancing the security intensity and the processing load of encryption for a database with security varied depending on the position of data. <P>SOLUTION: The map encryption device 2 is configured to determine, for each cell position of plain text table data 71, whether to encrypt a data value of the cell position based on information for necessity of encryption described in encryption definition information 76; to store, when data of the cell position is encrypted, a predetermined value in a cell position of encrypted table data 73, and also add an encrypted value that is a result of encryption of the data value of the cell position of the plain text table data 71 to an encrypted sequence 75 of a row containing the cell position; and to copy, when the data of the cell position is not encrypted, the data value of the cell position of the plain text table data 71 to the cell position of the encrypted table data 73. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、データベース処理方法、データベース処理プログラム、および、暗号化装置の技術に関する。   The present invention relates to a database processing method, a database processing program, and a technology of an encryption device.

従来データベース装置に格納されたデータの暗号化技術として、非特許文献1に開示された、Transparent Data Encryptionという技術がある。このTransparent Data Encryption技術は、データベースに格納されたデータを暗号化する技術であり、データベース利用者が透過的に、すなわちデータを暗号化されていることを意識することなく、利用可能な技術である。   Conventionally, as a technology for encrypting data stored in a database device, there is a technology called Transparent Data Encryption disclosed in Non-Patent Document 1. This Transparent Data Encryption technology is a technology that encrypts data stored in a database, and is a technology that can be used transparently by the database user, that is, without being aware that the data is encrypted. .

Transparent Data Encryption技術においては、あらかじめ指定されたテーブルの列にデータ書き込み時に暗号化し、暗号化されたデータを、当該データベース装置に固有の方法で格納しておき、その列のデータを読み出す際には、暗号化された状態で格納されていたデータを復号して平文データとして読み出される(例えば、非特許文献1:Figure 3-1 Transparent Data Encryption Overview参照)。   In Transparent Data Encryption technology, when data is written into a column of a pre-specified table when data is written, the encrypted data is stored in a method specific to the database device, and when reading the data in that column, The data stored in the encrypted state is decrypted and read as plain text data (see, for example, Non-Patent Document 1: Figure 3-1 Transparent Data Encryption Overview).

Oracle, Oracle(R) Database Advanced Security Administrator’s Guide 11g Release 1 (11.1), August 2008Oracle, Oracle (R) Database Advanced Security Administrator ’s Guide 11g Release 1 (11.1), August 2008

同じテーブル内に存在するデータでも、そのデータの位置によって機密度がばらばら(不均一)であるケースも多い。例えば、来客室の位置情報は、来客が把握する必要のあるため、機密度の低い情報の一例であり、会議室の位置情報は、社外秘の開発会議が行われる場所であるため、機密度の高い情報の一例である。
その場合、機密度の低いデータについての暗号化処理と、機密度の高いデータについての暗号化処理とで、区別することが、効果的である。つまり、機密度に応じた暗号化処理により、セキュリティ強度と暗号化の処理負荷とのバランスがとれ、利便性の高い暗号化のデータベースシステムを提供することができる。
Even in the case of data existing in the same table, there are many cases where the confidentiality varies (non-uniform) depending on the position of the data. For example, the location information of the guest room is an example of low-sensitive information because the visitor needs to grasp it, and the location information of the conference room is a place where a confidential development meeting is held. It is an example of high information.
In that case, it is effective to distinguish between encryption processing for low-sensitive data and encryption processing for high-sensitive data. In other words, the encryption process according to the confidentiality can balance the security strength and the encryption processing load, and provide a highly convenient encryption database system.

一方、Transparent Data Encryption技術においては、あらかじめ指定された列について、同じテーブル内のある行のデータは暗号化し、他の行のデータは暗号化しない、というように暗号化対象と非対象のデータを混在させることについては考慮されていない。
そのため、機密度の低いデータについて過剰に暗号化処理を行ってしまって、暗号化の処理負荷を上げてしまうケースや、機密度の高いデータについて暗号化処理の強度が不足してしまって、セキュリティ強度を充分に保てないケースが、それぞれ発生してしまう。
On the other hand, with Transparent Data Encryption technology, data in one row in the same table is encrypted and data in other rows is not encrypted, such as not encrypting data in other rows. Mixing is not considered.
For this reason, excessive encryption processing is performed on data with low confidentiality, which increases the processing load of encryption, and the strength of encryption processing is insufficient for data with high confidentiality. Cases where the strength cannot be maintained sufficiently occur.

そこで、本発明は、前記した問題を解決し、データの位置によって機密度が不均一であるデータベースに対して、セキュリティ強度と暗号化の処理負荷とのバランスがとれるデータベースシステムを提供することを、主な目的とする。   Therefore, the present invention provides a database system that solves the above-described problem and that can balance the security strength and the processing load of encryption for a database that is non-uniform depending on the position of data. Main purpose.

前記課題を解決するために、本発明は、データベースに格納される平文テーブルデータを暗号化して暗号テーブルデータを作成する暗号化装置と、前記暗号テーブルデータを復号化して前記平文テーブルデータを取得する復号化装置と、を用いるデータベースシステムによるデータベース処理方法であって、
前記暗号化装置が、
前記平文テーブルデータを記憶手段から読み取り、
前記平文テーブルデータのセル位置に存在するデータ値の暗号化の要否を示す暗号定義情報を記憶手段から読み取り、
前記セル位置とは、前記平文テーブルデータを構成する各行および各列の組み合わせで示され、
前記平文テーブルデータのセル位置ごとに、前記暗号定義情報に記載されている暗号化の要否情報をもとに、そのセル位置のデータ値を暗号化するか否かを決定し、
セル位置のデータを暗号化するときには、前記暗号テーブルデータのセル位置に所定値を格納するとともに、そのセル位置が含まれる行の暗号列に前記平文テーブルデータのセル位置のデータ値を暗号化した結果の暗号値を追加し、
セル位置のデータを暗号化しないときには、前記暗号テーブルデータのセル位置に前記平文テーブルデータのセル位置のデータ値をコピーし、
前記復号化装置が、
前記暗号テーブルデータのセル位置に前記所定値が格納されているときには、そのセル位置が含まれる行の前記暗号列から暗号値を復号化し、復号化に成功したときには、その結果のデータ値でセル位置に格納されている前記所定値を上書きすることを特徴とする。
その他の手段は、後記する。
In order to solve the above problems, the present invention encrypts plaintext table data stored in a database to create encrypted table data, and decrypts the encrypted table data to obtain the plaintext table data. A database processing method by a database system using a decryption device,
The encryption device is
Reading the plaintext table data from storage means;
Reading cipher definition information indicating the necessity of encryption of the data value existing at the cell position of the plaintext table data from the storage means;
The cell position is indicated by a combination of each row and each column constituting the plaintext table data,
For each cell position of the plaintext table data, based on the encryption necessity information described in the encryption definition information, determine whether to encrypt the data value of the cell position,
When encrypting the cell position data, a predetermined value is stored in the cell position of the encryption table data, and the data value of the cell position of the plaintext table data is encrypted in the encrypted column of the row including the cell position. Add the resulting cipher value,
When not encrypting the data of the cell position, copy the data value of the cell position of the plaintext table data to the cell position of the encryption table data,
The decoding device
When the predetermined value is stored in the cell position of the encryption table data, the encryption value is decrypted from the cipher column in the row including the cell position. The predetermined value stored in the position is overwritten.
Other means will be described later.

本発明によれば、データの位置によって機密度が不均一であるデータベースに対して、セキュリティ強度と暗号化の処理負荷とのバランスがとれるデータベースシステムを提供することができる。   According to the present invention, it is possible to provide a database system that can balance the security strength and the processing load of encryption with respect to a database whose confidentiality is not uniform depending on the position of data.

本発明の一実施形態に関する地図情報データベースシステムを示す構成図である。It is a block diagram which shows the map information database system regarding one Embodiment of this invention. 本発明の一実施形態に関する地図情報データベースシステムを構成する各装置のハードウェア構成を示す構成図である。It is a block diagram which shows the hardware constitutions of each apparatus which comprises the map information database system regarding one Embodiment of this invention. 本発明の一実施形態に関する地図情報の各データ(平文テーブルデータ、暗号テーブルデータ、暗号定義情報)の一例を示す構成図である。It is a block diagram which shows an example of each data (plaintext table data, encryption table data, encryption definition information) of the map information regarding one Embodiment of this invention. 本発明の一実施形態に関する図3の暗号テーブルデータを、ユーザごとに復号化した結果の平文テーブルデータを示す説明図である。It is explanatory drawing which shows the plaintext table data of the result of having decrypted the encryption table data of FIG. 3 regarding one Embodiment of this invention for every user. 本発明の一実施形態に関する図1の地図情報データベースシステムの処理を示すフローチャートである。It is a flowchart which shows the process of the map information database system of FIG. 1 regarding one Embodiment of this invention. 本発明の一実施形態に関する暗号化処理部が実行する、平文テーブルデータから暗号テーブルデータを作成する暗号化処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the encryption process which produces encryption table data from plaintext table data which the encryption process part regarding one Embodiment of this invention performs. 本発明の一実施形態に関する図1の復号処理を地図閲覧装置から地図復号装置へと変更した、地図情報データベースシステムを示す構成図である。It is a block diagram which shows the map information database system which changed the decoding process of FIG. 1 regarding one Embodiment of this invention from the map browsing apparatus to the map decoding apparatus. 本発明の一実施形態に関する図7の構成に対応する地図情報データベースシステムの処理を示すフローチャートである。It is a flowchart which shows the process of the map information database system corresponding to the structure of FIG. 7 regarding one Embodiment of this invention.

以下、本発明の一実施形態を、図面を参照して詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、地図情報データベースシステムを示す構成図である。地図情報データベースシステムは、屋内地図を扱う。この屋内地図は、不特定多数に開示しうる情報と、特定の権限を有する閲覧者に対してのみ開示すべき情報とが混在するデータの一例である。
なお、屋内地図データは、データベースシステムが扱うデータのあくまで一例であり、その他にも、屋外地図、氏名、住所、電話番号、メールアドレス、投薬歴、既往症、遺伝子情報、カルテ、レセプト、学歴、職歴、コンピュータシステムの管理情報、ネットワークの管理情報、文書、動画像、静止画像、音声データ、音楽データなどが、データベースシステムが扱うデータとして適用可能である。
FIG. 1 is a configuration diagram showing a map information database system. The map information database system handles indoor maps. This indoor map is an example of data in which information that can be disclosed to an unspecified number of people and information that should be disclosed only to a viewer who has a specific authority are mixed.
Indoor map data is only an example of data handled by the database system. Besides, outdoor map, name, address, telephone number, e-mail address, medication history, medical history, genetic information, medical record, receipt, educational background, work history Computer system management information, network management information, documents, moving images, still images, audio data, music data, and the like are applicable as data handled by the database system.

地図情報データベースシステムは、ネットワーク1を介し、地図暗号化装置2、地図格納装置3、地図配信装置4、地図閲覧装置5、および、鍵管理装置9が接続されている。
地図暗号化装置2は、暗号鍵81を格納する暗号鍵格納部83と、暗号化処理部11と、平文テーブルデータ71と、暗号定義情報76と、を有する。
The map information database system is connected to a map encryption device 2, a map storage device 3, a map distribution device 4, a map browsing device 5, and a key management device 9 via a network 1.
The map encryption apparatus 2 includes an encryption key storage unit 83 that stores an encryption key 81, an encryption processing unit 11, plaintext table data 71, and encryption definition information 76.

平文テーブルデータ71は、地図情報としての屋内地図を平文(暗号化されていない状態)として構成するデータである。この平文テーブルデータ71は、地図暗号化装置2が作成してもよいし、他装置などから入力を受け付けてもよい。平文テーブルデータ71は、DBMS(DataBase Management System)の処理対象である表形式のデータでもよいし、その表形式のデータからCSV(Comma Separated Values)形式に変換(エクスポート)されたテキストデータでもよい。   The plaintext table data 71 is data that configures an indoor map as map information as plaintext (in an unencrypted state). The plaintext table data 71 may be created by the map encryption device 2 or input from another device or the like. The plain text table data 71 may be tabular data to be processed by a DBMS (DataBase Management System), or text data converted (exported) from the tabular data into a CSV (Comma Separated Values) format.

暗号化処理部11は、暗号定義情報76に記載された定義に従って、暗号鍵81を用いて、平文テーブルデータ71を暗号化することで、暗号テーブルデータ73を作成する。そして、暗号化処理部11は、作成した暗号テーブルデータ73を地図格納装置3に送信する。   The encryption processing unit 11 creates the encryption table data 73 by encrypting the plaintext table data 71 using the encryption key 81 in accordance with the definition described in the encryption definition information 76. Then, the encryption processing unit 11 transmits the created encryption table data 73 to the map storage device 3.

ここで、平文テーブルデータ71として、データベース処理部17が扱う表形式のデータからエクスポートされたCSVデータを用いることにより、暗号化処理部11の暗号化処理と、データベース処理部17のクエリ検索処理とが独立しておのおのの処理を実行することができるため、暗号化処理部11は、データベース処理部17が処理可能なデータ形式に依存せず、暗号化処理を実行することができる。
一方、平文テーブルデータ71として、CSVデータを使用せずに、データベース処理部17が扱う表形式のデータをそのまま用いることにより、エクスポート処理が不要となるため、処理負荷が軽減されるという点で優れる。
Here, by using CSV data exported from tabular data handled by the database processing unit 17 as the plaintext table data 71, the encryption processing of the encryption processing unit 11 and the query search processing of the database processing unit 17 However, the encryption processing unit 11 can execute the encryption process independently of the data format that can be processed by the database processing unit 17.
On the other hand, as plain text table data 71, by using the table format data handled by the database processing unit 17 as it is without using CSV data, export processing becomes unnecessary, which is excellent in that the processing load is reduced. .

地図格納装置3は、暗号テーブルデータ73と、データベース処理部17とを有する。
暗号テーブルデータ73は、平文テーブルデータ71の構造(スキーマ:Schema)に暗号列75(図3参照)を一列追加した構造をもつテーブルデータである。
データベース処理部17は、暗号テーブルデータ73を処理対象とするDBMS(DataBase Management System)である。つまり、データベース処理部17は、暗号テーブルデータ73を処理対象として、SQLなどで記載されているクエリ処理(地図検索処理など)を実行する。
The map storage device 3 includes encryption table data 73 and a database processing unit 17.
The cipher table data 73 is table data having a structure in which a cipher string 75 (see FIG. 3) is added to the structure (schema) of the plaintext table data 71.
The database processing unit 17 is a DBMS (DataBase Management System) that processes the encryption table data 73. That is, the database processing unit 17 executes a query process (such as a map search process) described in SQL or the like using the encryption table data 73 as a processing target.

このように、地図格納装置3は、平文テーブルデータ71ではなく、その平文テーブルデータ71から暗号化された暗号テーブルデータ73を保持する。この暗号テーブルデータ73は、地図格納装置3の管理者でもその復号は許可されていない。これにより、地図格納装置3からは、暗号化された箇所の平文データが漏えいする危険は実質的に生じない。
さらに、暗号定義情報76が地図暗号化装置2に存在するため、その暗号定義情報76が示すアクセス制御の条件(どのユーザに、平文テーブルデータ71内のどの位置のデータを見せるか)は、地図暗号化装置2によって設定される。その暗号定義情報76が示すアクセス制御の条件の変更(閲覧不可から閲覧可への変更など)は、地図格納装置3の管理者には許可されていない。これにより、地図暗号化装置2からみると、自装置において設定したアクセス制御条件を地図格納装置3に強制することができる。そして、地図閲覧装置5が適切な復号鍵86を有していれば、復号されてから閲覧されるが、そうでないときには、復号が失敗し閲覧できなくなるため、実質的にアクセス制御が実現される。
Thus, the map storage device 3 holds not the plaintext table data 71 but the encrypted table data 73 encrypted from the plaintext table data 71. The encryption table data 73 is not permitted to be decrypted by the administrator of the map storage device 3. Thereby, the risk that the plaintext data of the encrypted part leaks from the map storage device 3 does not substantially occur.
Furthermore, since the encryption definition information 76 exists in the map encryption device 2, the access control condition indicated by the encryption definition information 76 (to which user the data in which position in the plaintext table data 71 is shown) Set by the encryption device 2. The change of the access control condition indicated by the encryption definition information 76 (change from unviewable to viewable, etc.) is not permitted to the administrator of the map storage device 3. Thereby, when viewed from the map encryption device 2, the access control condition set in the own device can be forced to the map storage device 3. If the map browsing device 5 has the appropriate decryption key 86, the map is browsed after being decrypted. If not, the decryption fails and browsing is impossible, so that access control is substantially realized. .

地図配信装置4は、クエリ受付部14と、暗号化インデックス復号処理部15と、暗号化インデックス16と、を有する。
クエリ受付部14は、クエリ要求部13からのクエリ(地図閲覧要求など)を受け付けると、データベース処理部17にそのクエリ処理を依頼し、その結果(暗号テーブルデータ73内のクエリに該当する暗号行データ74)をクエリ要求部13へと応答(地図配信処理など)する。
暗号化インデックス復号処理部15は、クエリ受付部14からの依頼を受け、暗号テーブルデータ73内の暗号列75に対するクエリ処理をデータベース処理部17の代わりに実行する。
暗号化インデックス16は、暗号化インデックス復号処理部15が実行するクエリ処理において参照される、暗号テーブルデータ73のデータ内容を示すインデックスデータである。暗号化インデックス16は、平文テーブルデータ71のクエリ処理を高速で実現するためのインデックスデータを、暗号鍵81を用いて暗号化したものである。平文テーブルデータ71のインデックスデータとは、例えば、平文テーブルデータ71を構成する表のセル値ごとの、そのセル値が格納されている表のセル位置(i行j列目など)のリストとして平文テーブルデータ71から作成される。
The map distribution device 4 includes a query reception unit 14, an encrypted index decryption processing unit 15, and an encrypted index 16.
When the query receiving unit 14 receives a query (such as a map browsing request) from the query requesting unit 13, the query receiving unit 14 requests the database processing unit 17 to perform the query processing, and the result (encryption row corresponding to the query in the encryption table data 73). Data 74) is returned to the query request unit 13 (eg, map distribution processing).
The encrypted index decryption processing unit 15 receives a request from the query reception unit 14 and executes query processing for the encrypted string 75 in the encryption table data 73 instead of the database processing unit 17.
The encryption index 16 is index data indicating the data content of the encryption table data 73 referred to in the query process executed by the encryption index decryption processing unit 15. The encrypted index 16 is obtained by encrypting index data for realizing query processing of the plaintext table data 71 at high speed using the encryption key 81. The index data of the plaintext table data 71 is, for example, a plaintext as a list of cell positions (such as the i-th row and j-th column) of the table storing the cell values for each table cell value constituting the plaintext table data 71. Created from the table data 71.

地図閲覧装置5は、復号化処理部12と、クエリ要求部13と、復号鍵86を格納する復号鍵格納部88と、を有する。
クエリ要求部13は、クエリ受付部14に対して、クエリ(地図閲覧要求など)を要求し、そのクエリ応答として暗号行データ74を受信する。
復号化処理部12は、クエリ要求部13からの依頼を受け、復号鍵86を用いてクエリ応答(暗号行データ74)の復号化処理を実行する。そして、地図閲覧装置5は、復号化した暗号行データ74の地図を表示する。
The map browsing apparatus 5 includes a decryption processing unit 12, a query request unit 13, and a decryption key storage unit 88 that stores a decryption key 86.
The query requesting unit 13 requests a query (such as a map browsing request) from the query receiving unit 14, and receives the encrypted row data 74 as a query response.
The decryption processing unit 12 receives a request from the query request unit 13 and executes a decryption process of the query response (encrypted row data 74) using the decryption key 86. Then, the map browsing device 5 displays a map of the decrypted encrypted row data 74.

鍵管理装置9は、暗号鍵81および復号鍵86を管理するため、暗号鍵81を生成する暗号鍵生成部82と、復号鍵86を生成する復号鍵生成部87と、を有する。鍵管理装置9は、暗号鍵81を地図暗号化装置2に配布し、復号鍵86を地図閲覧装置5に配布する。   The key management apparatus 9 includes an encryption key generation unit 82 that generates the encryption key 81 and a decryption key generation unit 87 that generates the decryption key 86 in order to manage the encryption key 81 and the decryption key 86. The key management device 9 distributes the encryption key 81 to the map encryption device 2 and distributes the decryption key 86 to the map browsing device 5.

図2は、地図情報データベースシステムを構成する各装置のハードウェア構成を示す構成図である。   FIG. 2 is a configuration diagram showing a hardware configuration of each device constituting the map information database system.

地図情報データベースシステムの各装置は、CPU91と、RAM92と、外部記憶装置93と、記憶媒体95を読み取る読み取り装置94と、入力装置96と、表示装置97と、通信装置98と、インターフェイス99と、を備えるコンピュータ(電子計算機)として構成される。   Each device of the map information database system includes a CPU 91, a RAM 92, an external storage device 93, a reading device 94 for reading a storage medium 95, an input device 96, a display device 97, a communication device 98, an interface 99, It is comprised as a computer (electronic computer) provided with.

CPU91は、RAM92上にロードしたプログラムを実行することで、図1に示す各処理部(暗号化処理部11など)をプロセスとして具現化する。
RAM92は、CPU91のワークエリアとして機能する。
外部記憶装置93は、ハードディスク装置などで構成され、図1に示す各処理部のプログラムおよびその各処理部が扱うデータ(平文テーブルデータ71など)を格納する。
読み取り装置94は、記憶媒体95からデータを読み取る装置である。
記憶媒体95は、CD−ROMやFDなどの可搬性を有する媒体である。記憶媒体95には、CPU91が実行する各処理部のプログラムが記憶されている。
入力装置96は、キーボードやマウスなどで構成される。
表示装置97は、ディスプレイなどで構成される。
通信装置98は、ネットワークを介して他の装置と通信を行うため通信インタフェースである。通信装置98は、CPU91が実行する各処理部のプログラムをダウンロードする。
インターフェイス99は、装置内の各構成要素間のデータ送受を司る内部バスである。
The CPU 91 embodies each processing unit (encryption processing unit 11 and the like) illustrated in FIG. 1 as a process by executing a program loaded on the RAM 92.
The RAM 92 functions as a work area for the CPU 91.
The external storage device 93 is configured by a hard disk device or the like, and stores a program of each processing unit shown in FIG. 1 and data (such as plain text table data 71) handled by each processing unit.
The reading device 94 is a device that reads data from the storage medium 95.
The storage medium 95 is a portable medium such as a CD-ROM or FD. The storage medium 95 stores a program for each processing unit executed by the CPU 91.
The input device 96 is composed of a keyboard, a mouse, and the like.
The display device 97 includes a display.
The communication device 98 is a communication interface for communicating with other devices via a network. The communication device 98 downloads a program for each processing unit executed by the CPU 91.
The interface 99 is an internal bus that controls data transmission / reception between components in the apparatus.

図3は、地図情報を示す各データ(平文テーブルデータ71、暗号テーブルデータ73、暗号定義情報76)の一例を示す構成図である。   FIG. 3 is a configuration diagram illustrating an example of each piece of data (plain text table data 71, encryption table data 73, encryption definition information 76) indicating map information.

平文テーブルデータ71は、屋内地図を示すデータである。一般に空間データは、地物(Feature)の集合として記述される。ここで、地物とは、位置に関する情報と直接的、間接的に結びつけられた物や現象のことである。屋内地図の場合は、例えば、部屋や廊下などが、地物の例である。
平文テーブルデータ71は、1つの行が1つの地物に対応する。平文テーブルデータ71は、地物ごとに、「ID列」と、「ジオメトリ」と、「接続関係」と、「名称」と、「収容人数」と、を対応づけて構成する。
「ID列」は、地物を一意に識別するためのキー列であり、暗号化処理の対象外であり、整数型などで定義される。
「ジオメトリ」は、地物の位置と形状とを、その頂点位置(x,y)の集合で表し、文字列型などで定義される。
「接続関係」は、各地物間で相互に移動可能かどうかを示し、整数型(ID列)の集合などで定義される。
「名称」は、各地物の名称を示し、文字列型などで定義される。
「収容人数」は、各地物の収容可能人員数を示し、整数型などで定義される。なお、「収容人数」の「NULL」は、0人ではなく、未定義(データサイズが0)である所定値を示す。
The plaintext table data 71 is data indicating an indoor map. In general, spatial data is described as a set of features. Here, a feature is an object or phenomenon that is directly or indirectly associated with information about a position. In the case of an indoor map, for example, a room or a corridor is an example of a feature.
In the plaintext table data 71, one row corresponds to one feature. The plaintext table data 71 is configured by associating “ID string”, “geometry”, “connection relationship”, “name”, and “capacity” for each feature.
The “ID string” is a key string for uniquely identifying a feature, is not subject to encryption processing, and is defined by an integer type or the like.
“Geometry” represents the position and shape of a feature as a set of vertex positions (x, y) and is defined by a character string type or the like.
The “connection relationship” indicates whether or not each object can move to each other, and is defined by a set of integer types (ID columns).
“Name” indicates the name of each feature and is defined by a character string type or the like.
The “capacity” indicates the number of persons that can be accommodated in each feature, and is defined by an integer type or the like. In addition, “NULL” of “capacity” indicates a predetermined value that is not 0 but is undefined (data size is 0).

なお、図3に示した平文テーブルデータ71の構成はあくまで一例であり、その他にも、各地物の設備や、利用目的、制限事項などの属性を示す列を含んでいてもよい。さらに、各地物間の接続関係以外の関係、例えば包含関係などを表す列を含んでいてもよい。そして、各項目のデータ型についても、例えばジオメトリを表現するための専用の型を定義し、それを用いてもよい。さらに、平文テーブルデータ71を1つのテーブルデータとする代わりに、「ID列」をキーとして互いに関連づけられた複数のテーブルデータの集合として表現されていてもよい。   Note that the configuration of the plaintext table data 71 shown in FIG. 3 is merely an example, and other columns may be included that indicate attributes such as facilities of various features, usage purposes, and restrictions. Furthermore, a column representing a relationship other than the connection relationship between the features, for example, an inclusion relationship may be included. As the data type of each item, for example, a dedicated type for expressing the geometry may be defined and used. Further, instead of using the plaintext table data 71 as one table data, the plaintext table data 71 may be expressed as a set of a plurality of table data associated with each other using an “ID column” as a key.

暗号テーブルデータ73は、平文テーブルデータ71の少なくとも一部のデータを暗号化した結果である。暗号テーブルデータ73の左側の列(ID列〜収容人数)は、平文テーブルデータ71と共通する。暗号テーブルデータ73の右側の列(暗号列75)は、平文テーブルデータ71から新たに追加された列である。暗号列75は、対応する平文テーブルデータ71の暗号化された結果を格納する。
例えば、図3の暗号テーブルデータ73は、平文テーブルデータ71と比較すると、ID列「002」において列「名称」および列「収容人数」が暗号化されているとともに、ID列「003」において、列「名称」が暗号化されていることが、それぞれのデータ値が「NULL」になっていることからわかる。
これらの暗号化されている行の暗号列75には、暗号化された結果のテキスト(図示では、バイナリデータのテキスト結果であり、このテキスト自体は、人間が読めないデータである)が格納されている。つまり、各行に含まれるデータのうち、1つ以上の暗号化する列(項目)のデータを暗号化したデータを、当該行の暗号列75に格納する。
一方、ID列「001」およびID列「004」は、暗号化対象の列が存在しないため、暗号列75には「NULL」が格納されている。つまり、暗号列75の「NULL」は、対応するデータ列内のいずれのデータ値も暗号化されていないことを示すが、データ列の「NULL」は、そのデータ列内のデータ値が暗号化されていることを示す。
The encryption table data 73 is a result of encrypting at least part of the plaintext table data 71. The column on the left side of the encryption table data 73 (ID column to the number of persons accommodated) is in common with the plaintext table data 71. The right column (encrypted column 75) of the encrypted table data 73 is a column newly added from the plaintext table data 71. The cipher string 75 stores the encrypted result of the corresponding plaintext table data 71.
For example, the encryption table data 73 of FIG. 3 is encrypted with the column “name” and the column “capacity” in the ID column “002” and the ID column “003” in comparison with the plaintext table data 71. It can be seen from the fact that the column “name” is encrypted because each data value is “NULL”.
The encrypted column 75 of these encrypted rows stores the text of the encrypted result (in the figure, the text result of binary data, which is itself human-readable data). ing. That is, data obtained by encrypting data of one or more columns (items) to be encrypted among the data included in each row is stored in the encryption column 75 of the row.
On the other hand, since the ID column “001” and the ID column “004” have no encryption target columns, “NULL” is stored in the encryption column 75. That is, “NULL” in the encrypted column 75 indicates that no data value in the corresponding data column is encrypted, but “NULL” in the data column indicates that the data value in the data column is encrypted. Indicates that

よって、暗号化した1つ以上の値を暗号列75に格納するときに、特定のエンコード方法(たとえばbase64形式、XML形式、ASN.1(Abstract Syntax Notation One)に規定されたBER,CER,DERまたはそのほかのエンコード形式など)に従い、エンコードしたテキストデータを、どの項目(列名称)を暗号化したかを示すタグで囲ったXMLデータとして、暗号列75に1つずつ追加すればよい。
このように、暗号列75を作成することにより、元の平文データの型(たとえば整数型、文字列型、日付型など)によらず、暗号列75に格納する暗号化されたデータの型(たとえば文字列型)を統一することが可能となる。さらには、元の平文データが、複数の列(項目)のデータを含み、それらの各列のデータの型が異なっていた場合であっても、暗号列75に格納する暗号化されたデータの型を統一することが可能となる。
Therefore, when one or more encrypted values are stored in the cipher string 75, a specific encoding method (for example, base64 format, XML format, BER, CER, DER specified in ASN.1 (Abstract Syntax Notation One)) According to another encoding format or the like, the encoded text data may be added to the cipher string 75 one by one as XML data surrounded by a tag indicating which item (column name) is encrypted.
In this way, by creating the cipher string 75, the type of encrypted data stored in the cipher string 75 (for example, the integer type, the character string type, the date type, etc.) For example, a character string type) can be unified. Furthermore, even if the original plaintext data includes data of a plurality of columns (items) and the data types of these columns are different, the encrypted data stored in the encrypted column 75 It becomes possible to unify the types.

暗号定義情報76は、平文テーブルデータ71から暗号テーブルデータ73を作成するときに、暗号処理の内容をセル(行と列の組み合わせ)ごとに定義する情報である。暗号定義情報76のID列は、平文テーブルデータ71および暗号テーブルデータ73と共通するキー列である。
暗号定義情報76のその他の列には、暗号化対象であるときには「暗号化」が格納され、暗号化対象でないときには空欄が、それぞれの行ごとに格納される。さらに、暗号定義情報76の「暗号化」が格納されるセルについて、その暗号化処理を復号化できるユーザ(換言すると復号鍵86を有するユーザ)を特定する情報を格納してもよい。
例えば、「ID列=002」行の「名称」列のセル値は、ユーザAおよびユーザBそれぞれの暗号鍵81で暗号化されているため、ユーザAおよびユーザBそれぞれの復号鍵86を用いて復号(閲覧)可能であるが、「ID列=002」行の「収容人数」列のセル値は、ユーザAの復号鍵86だけが復号(閲覧)可能である。このように、暗号定義情報76では、各行の暗号列75に格納するデータとして、行ごとに異なった列(項目)を暗号化したデータであってもよいし、各行に含まれる複数列(項目)を暗号化したデータであってもよい。
このように暗号定義情報76を定義することにより、従来技術では設定困難であった暗号化条件を、容易に設定可能となる。例えば、あらかじめ指定された列について、ある行のデータは暗号化し、他の行のデータは暗号化しない、というように暗号化対象と非対象のデータを混在させることが可能になる。
The encryption definition information 76 is information that defines the content of encryption processing for each cell (combination of rows and columns) when generating the encryption table data 73 from the plaintext table data 71. The ID column of the encryption definition information 76 is a key column that is common to the plaintext table data 71 and the encryption table data 73.
In the other columns of the encryption definition information 76, “encryption” is stored when it is an encryption target, and a blank is stored for each row when it is not an encryption target. Furthermore, for the cell storing “encryption” of the encryption definition information 76, information specifying a user who can decrypt the encryption process (in other words, a user having the decryption key 86) may be stored.
For example, since the cell values in the “name” column of the “ID column = 002” row are encrypted with the encryption keys 81 of the user A and the user B, the decryption keys 86 of the user A and the user B are used. Although it is possible to decrypt (view), only the decryption key 86 of the user A can decrypt (view) the cell value in the “capacity” column of the “ID column = 002” row. Thus, in the encryption definition information 76, the data stored in the encryption column 75 of each row may be data obtained by encrypting different columns (items) for each row, or a plurality of columns (items) included in each row. ) May be encrypted data.
By defining the encryption definition information 76 in this way, it is possible to easily set encryption conditions that are difficult to set by the conventional technology. For example, with respect to a column designated in advance, it is possible to mix encryption target data and non-target data so that data of a certain row is encrypted and data of other rows is not encrypted.

さらに、暗号定義情報76には、セルごとに使用する暗号化アルゴリズムを指定してもよい。以下、暗号化処理部11および復号化処理部12が実行する、暗号化アルゴリズムの一例を示す。   Furthermore, the encryption definition information 76 may specify an encryption algorithm to be used for each cell. Hereinafter, an example of an encryption algorithm executed by the encryption processing unit 11 and the decryption processing unit 12 will be described.

まず、暗号定義情報76の暗号化アルゴリズムとして、共通鍵暗号または公開鍵暗号のいずれかが、指定される。
共通鍵暗号方式は、暗号鍵81と復号鍵86とで、同じ鍵を用いる方式であり、例えば、DESやAES、MUGIなどのアルゴリズムが指定される。この共通鍵暗号方式を用いた場合、公開鍵暗号方式と比較し、一般に処理負荷が少ないという点で優れる。
公開鍵暗号は、暗号鍵81と復号鍵86とで、異なる鍵を用いる方式であり、例えば、RSA、楕円曲線暗号方式などのアルゴリズムが指定される。この公開鍵暗号方式を用いた場合、別々の平文テーブルデータ71に対して、同じ鍵を用いていたとしても、それぞれの平文テーブルデータ71の秘匿性を損なう可能性は実質的に生じないという点で優れる。
First, either the common key encryption or the public key encryption is designated as the encryption algorithm of the encryption definition information 76.
The common key encryption method uses the same key for the encryption key 81 and the decryption key 86. For example, an algorithm such as DES, AES, or MUGI is specified. When this common key cryptosystem is used, it is superior in that the processing load is generally small as compared with the public key cryptosystem.
Public key cryptography is a scheme in which different keys are used for the encryption key 81 and the decryption key 86. For example, algorithms such as RSA and elliptic curve cryptography are designated. When this public key cryptosystem is used, even if the same key is used for different plaintext table data 71, there is no possibility that the confidentiality of each plaintext table data 71 is impaired. Excellent.

次に、暗号定義情報76の暗号化アルゴリズムとして、確定的な(deterministic)暗号化方法、または、確率的な(probabilistic)暗号化方法のいずれかが、指定される。
確定的な(deterministic)暗号化方法は、同じ平文を同じ暗号鍵を用いて暗号化したときに得られる暗号文が、常に同一であるような暗号化方式のことである。
確率的な(probabilistic)暗号化方法は、同じ平文を同じ暗号鍵を用いて暗号化しても、異なる暗号文が得られることがあるような暗号化方式のことである。
Next, either a deterministic encryption method or a probabilistic encryption method is designated as the encryption algorithm of the encryption definition information 76.
The deterministic encryption method is an encryption method in which ciphertexts obtained when the same plaintext is encrypted using the same encryption key are always the same.
A probabilistic encryption method is an encryption method in which different ciphertexts may be obtained even if the same plaintext is encrypted using the same encryption key.

図4は、図3の暗号テーブルデータ73を、ユーザごとに復号化した結果の平文テーブルデータ71(一部抜粋)を示す説明図である。平文テーブルデータ71の抜粋した箇所以外の復号結果は、各ユーザとも全て閲覧可能である。さらに、図4では、平文テーブルデータ71の復号結果に応じて画面表示される屋内地図を、右側に図示している。
平文テーブルデータ71の「NULL」でない箇所は、もともと暗号化されていない箇所、または、暗号化されているものの復号化に成功した箇所(つまり、復号化を試みたユーザに対してアクセス権が設定されている箇所)である。
平文テーブルデータ71の「NULL」である箇所は、暗号化されており復号化に失敗した箇所であり、復号化を試みたユーザに対してアクセス権が設定されていない箇所である。
FIG. 4 is an explanatory diagram showing plain text table data 71 (partially extracted) as a result of decrypting the encryption table data 73 of FIG. 3 for each user. All the decryption results other than the extracted portions of the plaintext table data 71 can be browsed by each user. Furthermore, in FIG. 4, the indoor map displayed on the screen according to the decryption result of the plaintext table data 71 is illustrated on the right side.
The portion that is not “NULL” in the plaintext table data 71 is a portion that was not originally encrypted, or a portion that was successfully decrypted but encrypted (that is, an access right is set for the user who attempted the decryption). Is the place).
The portion of the plaintext table data 71 that is “NULL” is a portion that has been encrypted and has failed to be decrypted, and is a portion in which no access right is set for the user who has attempted decryption.

まず、図4(a)に示すユーザAの復号結果では、平文テーブルデータ71が全て閲覧可能である。これは、暗号定義情報76で「暗号化」と記述されている全ての箇所に「ユーザA」と記載されているためである。
次に、図4(b)に示すユーザBの復号結果では、平文テーブルデータ71の一部(ID列=002の収容人数列)が閲覧不可能(NULL)である。これは、暗号定義情報76で「暗号化」と記述されている箇所の内の「ユーザB」と記載されていない箇所が存在するためである。
さらに、図4(c)に示すユーザCの復号結果では、平文テーブルデータ71の一部(ID列=002の名称列および収容人数列、ID列=003の名称列)が閲覧不可能(NULL)である。これは、暗号定義情報76で「暗号化」と記述されている箇所の内の「ユーザC」と記載されている箇所が存在しないためである。
First, in the decryption result of the user A shown in FIG. This is because “user A” is described in all places where “encryption” is described in the encryption definition information 76.
Next, in the decryption result of the user B shown in FIG. 4B, a part of the plaintext table data 71 (ID column = capacity number column of 002) cannot be viewed (NULL). This is because there is a portion that is not described as “user B” among the portions that are described as “encrypted” in the encryption definition information 76.
Further, in the decryption result of the user C shown in FIG. 4C, a part of the plaintext table data 71 (ID column = 002 name column and capacity table, ID column = 003 name column) cannot be viewed (NULL ). This is because the portion described as “user C” among the portions described as “encrypted” in the encryption definition information 76 does not exist.

以下、図3および図4で示したユーザごとのアクセス権を反映するための、暗号鍵生成部82による暗号鍵81の生成方法および暗号化処理部11による暗号鍵81の使用方法について、2つの方法を例示する。この2つの方法は、暗号定義情報76の暗号化アルゴリズムとして、指定される。   Hereinafter, two methods for generating the encryption key 81 by the encryption key generation unit 82 and for using the encryption key 81 by the encryption processing unit 11 to reflect the access right for each user shown in FIGS. The method is illustrated. These two methods are designated as the encryption algorithm of the encryption definition information 76.

ここで、暗号鍵81およびその暗号鍵81で暗号化されたデータを示すため、以下の記述を用いる。
{暗号化対象の平文データ}←暗号鍵81
例えば、以下の記述は、平文テーブルデータ71のID列=002の名称列である「部内会議室A」を、ユーザAの暗号鍵81で暗号化した結果を示す。
{部内会議室A(ID列=002の名称列)}←ユーザA
Here, the following description is used to indicate the encryption key 81 and the data encrypted with the encryption key 81.
{Cleartext data to be encrypted} ← Encryption key 81
For example, the following description shows the result of encrypting “internal meeting room A”, which is the name string of ID string = 002 of the plaintext table data 71, with the encryption key 81 of the user A.
{Internal meeting room A (ID string = 002 name string)} ← User A

ユーザごとのアクセス権を反映する第1の方法として、暗号定義情報76で「暗号化」が指定された平文テーブルデータ71の該当箇所を、アクセス権が与えられたユーザごとの暗号鍵81で暗号化する手法が、挙げられる。   As a first method of reflecting the access right for each user, the corresponding portion of the plaintext table data 71 for which “encryption” is specified in the encryption definition information 76 is encrypted with the encryption key 81 for each user who is given the access right. The method of becoming is mentioned.

暗号テーブルデータ73のID列=002の暗号列75(A3bxt$35と記載された部分)には、以下の暗号化されたデータが格納される。
{部内会議室A(ID列=002の名称列)}←ユーザA
{部内会議室A(ID列=002の名称列)}←ユーザB
{10(ID列=002の収容人数列)}←ユーザA
そして、ユーザAの地図閲覧装置5は、自分の復号鍵86を用いて、「部内会議室A」および「10」をそれぞれ復号化できる。ユーザBの地図閲覧装置5は、自分の復号鍵86を用いて、「部内会議室A」を復号化できる。
The following encrypted data is stored in the encryption string 75 (part described as A3bxt $ 35) of the ID string = 002 of the encryption table data 73.
{Internal meeting room A (ID string = 002 name string)} ← User A
{Internal meeting room A (ID string = 002 name string)} ← User B
{10 (ID string = 002 capacity column)} ← User A
Then, the map browsing device 5 of the user A can decrypt “internal meeting room A” and “10” using his / her decryption key 86. The map browsing device 5 of the user B can decrypt “internal meeting room A” using his / her decryption key 86.

暗号テーブルデータ73のID列=003の暗号列75(5#971yQと記載された部分)には、以下の暗号化されたデータが格納される。
{部内会議室B(ID列=003の名称列)}←ユーザA
{部内会議室B(ID列=003の名称列)}←ユーザB
The following encrypted data is stored in the encryption string 75 (part described as 5 # 971yQ) of ID string = 003 of the encryption table data 73.
{Internal meeting room B (ID string = 003 name string)} ← User A
{Internal meeting room B (ID string = 003 name string)} ← User B

ユーザごとのアクセス権を反映する第2の方法として、暗号定義情報76で「暗号化」が指定された平文テーブルデータ71の該当箇所を、各ユーザに共通のセッション鍵で暗号化し、そのセッション鍵をアクセス権が与えられたユーザごとの暗号鍵81で暗号化する手法が、挙げられる。この手法は、特開2007−251921号公報に開示された手法であり、選択的開示暗号方法とも呼ばれる。具体的には、「暗号化」が指定された平文テーブルデータ71の各列を選択的開示暗号方法における分割の単位とし、得られた暗号文を、暗号値列に格納するデータとする。   As a second method of reflecting the access right for each user, the corresponding part of the plaintext table data 71 for which “encryption” is specified in the encryption definition information 76 is encrypted with a session key common to each user, and the session key Is encrypted with the encryption key 81 for each user to whom the access right is given. This method is a method disclosed in Japanese Patent Application Laid-Open No. 2007-251921, and is also referred to as a selectively disclosed encryption method. Specifically, each column of the plaintext table data 71 in which “encryption” is designated is used as a unit of division in the selective disclosure encryption method, and the obtained ciphertext is data stored in the cipher value column.

暗号テーブルデータ73のID列=002の暗号列75(A3bxt$35と記載された部分)には、以下の暗号化されたデータが格納される。
{部内会議室A(ID列=002の名称列)}←セッション鍵K1
{10(ID列=002の収容人数列)}←セッション鍵K2
{セッション鍵K1}←ユーザA
{セッション鍵K1}←ユーザB
{セッション鍵K2}←ユーザA
そして、ユーザAの地図閲覧装置5は、自分の復号鍵86を用いて、セッション鍵K1およびK2を取得して、「部内会議室A」および「10」をそれぞれ復号化できる。ユーザBの地図閲覧装置5は、自分の復号鍵86を用いて、セッション鍵K1を取得して、「部内会議室A」を復号化できる。
The following encrypted data is stored in the encryption string 75 (part described as A3bxt $ 35) of the ID string = 002 of the encryption table data 73.
{Department meeting room A (ID string = 002 name string)} ← Session key K1
{10 (ID string = 002 capacity column)} ← session key K2
{Session Key K1} ← User A
{Session Key K1} ← User B
{Session Key K2} ← User A
Then, the map browsing device 5 of the user A can acquire the session keys K1 and K2 by using his / her decryption key 86, and decrypt “internal meeting room A” and “10”, respectively. The map browsing device 5 of the user B can acquire the session key K1 using his / her decryption key 86 and decrypt “internal meeting room A”.

暗号テーブルデータ73のID列=003の暗号列75(5#971yQと記載された部分)には、以下の暗号化されたデータが格納される。
{部内会議室B(ID列=003の名称列)}←セッション鍵K3
{セッション鍵K3}←ユーザA
{セッション鍵K3}←ユーザB
The following encrypted data is stored in the encryption string 75 (part described as 5 # 971yQ) of ID string = 003 of the encryption table data 73.
{Internal department room B (ID string = 003 name string)} ← Session key K3
{Session Key K3} ← User A
{Session Key K3} ← User B

このように、選択的開示暗号方法は、平文データを、閲覧するユーザ毎に異なる部分を開示可能な状態に、暗号化する方法である。選択的開示暗号方法の一方法においては、平文データをまず開示条件の異なる単位に分割し、分割された各部分に対し、共通鍵暗号方式における暗号鍵(以下、部分データ暗号鍵と称す)を乱数として生成して、この部分データ暗号鍵を用いて暗号化する。次に、部分データ暗号鍵を、当該部分を閲覧可能なユーザの公開鍵を用いて暗号化し、ヘッダ情報として保持する。   As described above, the selective disclosure encryption method is a method of encrypting plaintext data in a state in which a different portion can be disclosed for each user who browses. In one method of selective disclosure encryption method, plaintext data is first divided into units having different disclosure conditions, and an encryption key in a common key encryption method (hereinafter referred to as a partial data encryption key) is divided into each divided part. It is generated as a random number and encrypted using this partial data encryption key. Next, the partial data encryption key is encrypted using the public key of the user who can view the part, and is held as header information.

このとき当該箇所を複数(n人)のユーザが閲覧可能な場合は、それぞれの公開鍵を用いて暗号化する(したがってヘッダ情報にはn個のデータが含まれることになる)。各部分の暗号文とヘッダ情報とを合わせた(結合した)データを、選択的開示可能な暗号方法に従って暗号化した結果得られた暗号文と呼ぶ。   At this time, when a plurality of (n) users can view the location, the portion is encrypted using each public key (therefore, the header information includes n pieces of data). Data obtained by combining (combining) the ciphertext of each part and the header information is referred to as a ciphertext obtained as a result of encryption according to an encryption method that can be selectively disclosed.

そして、復号の際には、まずヘッダ情報に含まれる各情報に対し、閲覧ユーザの所有する(公開鍵暗号方式における)秘密鍵を用いて復号を試みる。復号に成功し部分データ暗号鍵が得られた場合は、当該部分の暗号文を、部分データ暗号鍵によって復号し、当該部分の平文を得る。   When decrypting, each information included in the header information is first decrypted using a secret key (in the public key cryptosystem) owned by the viewing user. When the partial data encryption key is obtained after successful decryption, the ciphertext of the part is decrypted with the partial data encryption key to obtain the plaintext of the part.

以上説明した選択的開示暗号方法によれば、行ごとに異なる列を暗号化し、また、同一行内の各列に閲覧可能なユーザが異なるデータが混在するように、暗号化することが可能となる。   According to the selective disclosure encryption method described above, different columns can be encrypted for each row, and encryption can be performed so that different data can be viewed by different users in each column in the same row. .

図5は、図1の地図情報データベースシステムの処理を示すフローチャートである。   FIG. 5 is a flowchart showing processing of the map information database system of FIG.

S101として、地図閲覧装置5は、鍵管理装置9の復号鍵生成部87から復号鍵86を受信し、復号鍵格納部88に格納する。
S102として、地図暗号化装置2は、鍵管理装置9の暗号鍵生成部82から暗号鍵81を受信し、暗号鍵格納部83に格納する。
S103として、地図暗号化装置2の暗号化処理部11は、暗号鍵81をもとに平文テーブルデータ71を暗号化することで、暗号テーブルデータ73を作成し、その暗号テーブルデータ73を地図格納装置3に送信する。このS103の処理の詳細は、図6で後記する。
S104として、地図格納装置3は、暗号化された暗号テーブルデータ73を受信し、自装置内の外部記憶装置93に格納する。
As S 101, the map browsing device 5 receives the decryption key 86 from the decryption key generation unit 87 of the key management device 9 and stores it in the decryption key storage unit 88.
As S <b> 102, the map encryption device 2 receives the encryption key 81 from the encryption key generation unit 82 of the key management device 9 and stores it in the encryption key storage unit 83.
As S103, the encryption processing unit 11 of the map encryption device 2 creates the encryption table data 73 by encrypting the plain text table data 71 based on the encryption key 81, and stores the encryption table data 73 on the map. Transmit to device 3. Details of the process of S103 will be described later with reference to FIG.
As S104, the map storage device 3 receives the encrypted encryption table data 73 and stores it in the external storage device 93 in the device itself.

S111として、地図閲覧装置5のクエリ要求部13は、地図閲覧要求のクエリを地図配信装置4のクエリ受付部14に対して送信する。地図閲覧要求は、例えば、地図閲覧装置5の現在位置情報を送信し、現在位置周辺の地図を要求する旨である。この場合、例えば地図閲覧装置5は、現在位置情報の取得手段として、GPS(Global Positioning System)による測位手段を備えていてもよい。
S112として、地図配信装置4のクエリ受付部14は、受信したクエリのデータ検索要求を、地図格納装置3のデータベース処理部17に依頼する。
S113として、地図格納装置3のデータベース処理部17は、データ検索要求を受信して、S104で格納した暗号テーブルデータ73に対して、検索処理を実行する。
As S <b> 111, the query request unit 13 of the map browsing device 5 transmits a map browsing request query to the query receiving unit 14 of the map distribution device 4. The map browsing request is, for example, transmitting the current position information of the map browsing device 5 and requesting a map around the current position. In this case, for example, the map browsing device 5 may include positioning means using GPS (Global Positioning System) as means for acquiring current position information.
As S112, the query receiving unit 14 of the map distribution device 4 requests the database processing unit 17 of the map storage device 3 for a data search request for the received query.
As S113, the database processing unit 17 of the map storage device 3 receives the data search request, and executes a search process on the encryption table data 73 stored in S104.

S121として、地図格納装置3のデータベース処理部17は、S113の検索結果として、暗号データ(暗号テーブルデータ73内のクエリの検索条件に該当する暗号行データ74)を、クエリ受付部14に返信する。
S122として、地図配信装置4のクエリ受付部14は、S111のクエリの応答として、S121で返信された暗号データを、クエリ要求部13に送信する。
S123として、地図閲覧装置5のクエリ要求部13は、S122で送信されたクエリの応答を受信する。
In S121, the database processing unit 17 of the map storage device 3 returns the encrypted data (encrypted row data 74 corresponding to the query search condition in the encrypted table data 73) to the query receiving unit 14 as the search result in S113. .
As S122, the query reception unit 14 of the map distribution device 4 transmits the encrypted data returned in S121 to the query request unit 13 as a response to the query of S111.
As S123, the query request unit 13 of the map browsing device 5 receives the query response transmitted in S122.

S131として、地図閲覧装置5の復号化処理部12は、S123で受信したクエリ応答の暗号データ(暗号行データ74)を復号化する。このとき、復号化処理部12は、S101で格納した復号鍵86を用いる。
なお、復号化処理部12は、暗号行データ74の復号処理において、復号化処理部12が属する地図閲覧装置5のユーザの復号鍵86を用いて、暗号行データ74の暗号列75に含まれている1つ以上のデータ値に対して、1つずつ復号化を試みる。まず、復号化に成功したときには、そのデータ値を、暗号行データ74の該当するセル位置の「NULL」値から置き換えることにより、暗号行データ74から平文行データ72を取得する。
As S131, the decryption processing unit 12 of the map browsing device 5 decrypts the encrypted data (encrypted row data 74) of the query response received in S123. At this time, the decryption processing unit 12 uses the decryption key 86 stored in S101.
It should be noted that the decryption processing unit 12 is included in the cipher string 75 of the cipher row data 74 by using the decryption key 86 of the user of the map browsing device 5 to which the decryption processing unit 12 belongs in the decryption processing of the cipher row data 74. Try to decrypt one or more data values one by one. First, when the decryption is successful, the plaintext row data 72 is obtained from the encrypted row data 74 by replacing the data value with the “NULL” value at the corresponding cell position of the encrypted row data 74.

一方、復号化に失敗したときには、そのデータ値は地図閲覧装置5のユーザにはアクセス権が与えられていないことになるので、そのセル位置のデータ値として「NULL」を出力する。ここで、復号化処理部12は、アクセス権が与えられていないデータ値の復号化処理を実際に試みる代わりに、暗号列75に含まれている補足情報を参照して、アクセス権が与えられていないデータ値の復号化処理をスキップしてもよい。そのためには、暗号化処理部11は、暗号化の際に、暗号化する列のデータのほかに、補足情報を含めてデータを暗号化し、暗号列75に格納しておくとよい。
補足情報とは、例えば、暗号定義情報76に格納されている情報や、どの列を暗号化したかを識別するための情報(たとえば列名など)、暗号化する列のデータの型情報などにより構成される。
On the other hand, when the decryption fails, the user of the map browsing device 5 is not given the access right to the data value, so “NULL” is output as the data value of the cell position. Here, the decryption processing unit 12 is given the access right by referring to the supplementary information included in the cipher string 75 instead of actually trying the decryption process of the data value to which the access right is not given. You may skip the decoding process of the data value which is not. For this purpose, the encryption processing unit 11 may encrypt the data including the supplementary information in addition to the data in the column to be encrypted, and store it in the encrypted column 75 at the time of encryption.
The supplementary information is, for example, information stored in the encryption definition information 76, information for identifying which column is encrypted (for example, column name), data type information of the column to be encrypted, etc. Composed.

以上、図5を参照して説明した地図閲覧要求の処理により、地図閲覧装置5は、自装置に許可された部分の地図を閲覧させることができる。   As mentioned above, the map browsing apparatus 5 can browse the map of the part permitted to the own apparatus by the process of the map browsing request demonstrated with reference to FIG.

なお、S113において、データベース処理部17は、暗号テーブルデータ73への検索処理を実行するときに、暗号化されたデータ値に対しては、平文のクエリ検索条件をそのまま評価することは、困難である。そこで、以下に示す2通りの手法のいずれかにより、平文のクエリ検索条件を暗号化されたデータ値に対して評価することができる。   In S113, when the database processing unit 17 executes the search process on the encryption table data 73, it is difficult to evaluate the plaintext query search condition as it is for the encrypted data value. is there. Therefore, the plain text query search condition can be evaluated for the encrypted data value by one of the following two methods.

第1の評価方法は、平文のクエリ検索条件を暗号化して、暗号化されたデータ値に評価する手法である。
まず、S103の暗号化処理において、確定的な(deterministic)暗号化方法によって暗号化する。
次に、データベース処理部17は、S113の暗号テーブルデータ73への検索処理において、暗号鍵81を鍵管理装置9または他装置(地図暗号化装置2、地図閲覧装置5など)から取得する。
そして、データベース処理部17は、クエリ検索条件に含まれるパラメータ(例えば、検索対象の文字列)を、取得した暗号鍵81で暗号化する。
さらに、データベース処理部17は、暗号テーブルデータ73内の暗号化されたセル値と、クエリ検索条件に含まれるパラメータの暗号化値とを照合することにより、クエリ検索条件を評価する。データベース処理部17は、例えば、双方の値が互いに一致していたときには、クエリ検索条件に該当する、と判断する。つまり、確定的な暗号化方法を用いることにより、同じデータ値を同じ暗号鍵81で暗号化した結果は、常に同じ暗号化値になるため、復号化処理を行うことなく、クエリ検索条件を評価することができる。
The first evaluation method is a method of encrypting a plain text query search condition and evaluating the encrypted data value.
First, in the encryption process of S103, encryption is performed by a deterministic encryption method.
Next, the database processing unit 17 acquires the encryption key 81 from the key management device 9 or another device (such as the map encryption device 2 or the map browsing device 5) in the search process for the encryption table data 73 in S113.
Then, the database processing unit 17 encrypts a parameter (for example, a character string to be searched) included in the query search condition with the acquired encryption key 81.
Further, the database processing unit 17 evaluates the query search condition by comparing the encrypted cell value in the encryption table data 73 with the encrypted value of the parameter included in the query search condition. For example, when both values match each other, the database processing unit 17 determines that the query search condition is met. That is, by using a deterministic encryption method, the result of encrypting the same data value with the same encryption key 81 is always the same encrypted value, so the query search condition is evaluated without performing decryption processing. can do.

第2の評価方法は、暗号化前の平文データから生成されるインデックスを用いて、平文のクエリ検索条件を評価する手法である。そのため、図1の地図暗号化装置2は、暗号鍵81ごとの暗号化インデックス16をあらかじめ作成しておく。作成された暗号化インデックス16は、図1の地図格納装置3において保持され、必要に応じて(たとえば地図配信装置4が、地図閲覧装置5からクエリを受け付けたときに)図1の地図配信装置4に送信される。また地図配信装置4は暗号化インデックス復号処理部15を有する。なお、暗号鍵81ごとの暗号化インデックス16を作成するときには、選択的開示暗号方法のセッション鍵で1つの暗号化インデックス16を作成し、そのセッション鍵を暗号鍵81ごとに暗号化してもよい。
まず、S112として、クエリ受付部14は、受信したクエリのデータ検索要求を、データベース処理部17に依頼するときに、暗号行データ74については、受信したクエリのデータ検索要求を、暗号化インデックス復号処理部15に依頼する。
次に、暗号化インデックス復号処理部15は、S111でクエリ要求したクエリ要求部13の属する地図閲覧装置5の暗号鍵81で暗号化された暗号化インデックス16を、その地図閲覧装置5のユーザの復号鍵86で復号し、その復号化されたインデックスデータをもとに、クエリ処理を実行する。
そして、S122として、クエリ受付部14は、暗号化インデックス復号処理部15の処理結果として、クエリに該当する暗号行データ74を、クエリ要求部13に送信する。
The second evaluation method is a method of evaluating a plaintext query search condition using an index generated from plaintext data before encryption. Therefore, the map encryption device 2 in FIG. 1 creates an encryption index 16 for each encryption key 81 in advance. The created encrypted index 16 is held in the map storage device 3 of FIG. 1 and is used as needed (for example, when the map distribution device 4 receives a query from the map browsing device 5), as shown in FIG. 4 is transmitted. Further, the map distribution device 4 has an encryption index decryption processing unit 15. When creating the encryption index 16 for each encryption key 81, one encryption index 16 may be created with the session key of the selectively disclosed encryption method, and the session key may be encrypted for each encryption key 81.
First, in S112, when the query reception unit 14 requests the database processing unit 17 for the received query data search request, for the encrypted row data 74, the received query data search request is encrypted index decryption. The processing unit 15 is requested.
Next, the encrypted index decryption processing unit 15 obtains the encrypted index 16 encrypted with the encryption key 81 of the map browsing device 5 to which the query request unit 13 to which the query request has been made in S111 from the user of the map browsing device 5. Decryption is performed with the decryption key 86, and query processing is executed based on the decrypted index data.
In step S <b> 122, the query reception unit 14 transmits the encrypted row data 74 corresponding to the query to the query request unit 13 as the processing result of the encryption index decryption processing unit 15.

図6は、暗号化処理部11が実行する、平文テーブルデータ71から暗号テーブルデータ73を作成する暗号化処理(S103)の詳細を示すフローチャートである。   FIG. 6 is a flowchart showing details of the encryption process (S103) for creating the encryption table data 73 from the plain text table data 71, which is executed by the encryption processing unit 11.

S201において、暗号化処理部11は、平文テーブルデータ71および暗号定義情報76を、自装置の外部記憶装置93から取得する。
S202において、平文テーブルデータ71を構成する各行(各レコード)を1つずつ順に選択するループを開始する。以下、選択した行を「選択行」と記述する。
S203において、選択行の暗号列75の初期値として「NULL」を設定する。
S204において、平文テーブルデータ71を構成する各列を1つずつ順に選択するループを開始する。以下、選択した列を「選択列」と記述し、選択行内の選択列で指定される表の要素を、「選択セル」と記述する。
S205において、暗号定義情報76を参照し、選択セルの暗号化を行うか否かを判定する。S205でYesならS207に進み、NoならS206に進む。
In S201, the encryption processing unit 11 acquires the plain text table data 71 and the encryption definition information 76 from the external storage device 93 of the own device.
In S202, a loop for selecting each row (each record) constituting the plaintext table data 71 one by one is started. Hereinafter, the selected line is described as “selected line”.
In S203, “NULL” is set as the initial value of the encrypted column 75 of the selected row.
In S204, a loop for selecting each column constituting the plaintext table data 71 one by one is started. Hereinafter, the selected column is described as “selected column”, and the table element specified by the selected column in the selected row is described as “selected cell”.
In S205, the encryption definition information 76 is referred to and it is determined whether or not the selected cell is to be encrypted. If Yes in S205, the process proceeds to S207, and if No, the process proceeds to S206.

S206において、平文テーブルデータ71内の選択セルのデータ値を、暗号テーブルデータ73内の選択セルのデータ値へと、そのままコピーする。
S207において、平文テーブルデータ71内の選択セルのデータ値を、暗号定義情報76内の選択セルに記述されている暗号化手法に従って暗号化し、その結果である暗号化値を選択行の暗号列75に追加する。
S208において、暗号テーブルデータ73内の選択セルのデータ値に、「NULL」を書き出す。なお、暗号化する列のデータ型がNULLを許容しない場合は、そのデータ型において、実質的に無意味なデータとして利用可能な他の値(たとえばyyyy/mm/ddの日付型における0000/00/00など)を用いるようにしてもよい。
多くのデータ型において、NULLは、実質的に無意味なデータとして許容されているため、NULLで置き換えることにより、暗号化されたデータが他の装置に影響を及ぼすことを防止可能となる。他の装置とは、例えば、地図情報データベースシステムを構成する各装置のいずれかに接続された他の装置であって、その地図情報データベースに格納されたデータを参照する装置である。
In S206, the data value of the selected cell in the plaintext table data 71 is copied as it is to the data value of the selected cell in the encryption table data 73.
In S207, the data value of the selected cell in the plaintext table data 71 is encrypted according to the encryption method described in the selected cell in the encryption definition information 76, and the resulting encrypted value is encrypted in the encrypted column 75 of the selected row. Add to
In S208, “NULL” is written in the data value of the selected cell in the encryption table data 73. If the data type of the column to be encrypted does not allow NULL, other values that can be used as substantially meaningless data (for example, 0000/00 in the date type of yyyy / mm / dd) / 00 etc.) may be used.
In many data types, NULL is allowed as substantially meaningless data. Therefore, by replacing with NULL, it becomes possible to prevent encrypted data from affecting other devices. The other device is, for example, another device connected to one of the devices constituting the map information database system, and refers to the data stored in the map information database.

S209において、S204からの選択列のループを終了する。
S210において、S203およびS207で更新された選択行の暗号列75を、暗号テーブルデータ73に書き出す。
S211において、S202からの選択行のループを終了する。
S212において、作成された暗号テーブルデータ73を地図格納装置3に送信する。
In S209, the loop of the selected column from S204 is terminated.
In S210, the cipher string 75 of the selected row updated in S203 and S207 is written in the cipher table data 73.
In S211, the loop of the selected row from S202 is terminated.
In S212, the created encryption table data 73 is transmitted to the map storage device 3.

以上説明した本実施形態は、以下に示すとおりの変形実施が可能である。   The embodiment described above can be modified as shown below.

以下の変形実施の形態では、暗号化したデータの復号処理を実行する装置を、地図閲覧装置5から地図復号装置6へと変更することにより、地図閲覧装置5の処理負荷を軽減することができる。その結果、地図閲覧装置5は、処理能力が低い装置(携帯電話など)にも適用することができ、ユーザの利便性が向上する。   In the following modified embodiment, the processing load of the map browsing device 5 can be reduced by changing the device that executes the decryption processing of the encrypted data from the map browsing device 5 to the map decrypting device 6. . As a result, the map browsing device 5 can be applied to a device (such as a mobile phone) having a low processing capability, and the convenience for the user is improved.

さらには、復号処理だけではなく、復号後のデータを利用した処理を地図配信装置4において行うことも可能となる。例えば、復号後の平文行データ72に基づき、地図を表現する画像データを生成する処理を、地図配信装置4において、行ってもよい。
これにより、地図閲覧装置5においては、地図配信装置4で生成された画像データの表示手段を有していれば、地図が閲覧できることになるため、多くの携帯端末(地図閲覧装置5)が既に備えているWebブラウザを用いて地図を閲覧可能となることも、新たに地図閲覧装置5で動作する閲覧のためのプログラム開発等の手間を軽減するという観点から好ましい。
Furthermore, not only the decoding process but also the process using the decoded data can be performed in the map distribution device 4. For example, the map distribution device 4 may perform processing for generating image data representing a map based on the plaintext line data 72 after decryption.
Thereby, in the map browsing apparatus 5, since the map can be browsed if it has a display means for the image data generated by the map distribution apparatus 4, many portable terminals (map browsing apparatus 5) have already been used. It is also preferable to be able to browse the map using the provided web browser from the viewpoint of reducing the trouble of developing a program for browsing newly operating on the map browsing device 5.

図7は、図1の復号処理を地図閲覧装置5から地図復号装置6へと変更した、地図情報データベースシステムを示す構成図である。以下、図1との相違点に着目して、図7の構成を説明する。   FIG. 7 is a configuration diagram showing a map information database system in which the decoding process of FIG. 1 is changed from the map browsing device 5 to the map decoding device 6. Hereinafter, the configuration of FIG. 7 will be described with a focus on differences from FIG.

地図情報データベースシステムにおいて、新たに地図復号装置6が追加される。
まず、地図復号装置6は、図1の地図閲覧装置5が備えていた復号化処理部12および復号鍵86を格納するための復号鍵格納部88を代わりに備えている。復号鍵格納部88は、複数の地図閲覧装置5に対応するため、その地図閲覧装置5ごとの複数の復号鍵86を格納することが好ましい。
次に、地図復号装置6は、図1の地図配信装置4が備えていた暗号化インデックス復号処理部15および暗号化インデックス16を代わりに備えている。
そして、地図復号装置6の復号化処理部12は、地図閲覧装置5の復号化処理を代行するときに、その代行を依頼した(つまり、クエリ要求を送信した)地図閲覧装置5を認証する手段を有することが、好ましい。この認証手段は、例えば、以下に示す2つの手法のいずれかにより、実現される。
In the map information database system, a map decoding device 6 is newly added.
First, the map decryption device 6 is provided with a decryption key storage unit 88 for storing the decryption processing unit 12 and the decryption key 86 provided in the map browsing device 5 of FIG. Since the decryption key storage unit 88 corresponds to a plurality of map browsing devices 5, it is preferable to store a plurality of decryption keys 86 for each map browsing device 5.
Next, the map decryption device 6 includes an encrypted index decryption processing unit 15 and an encrypted index 16 provided in the map distribution device 4 of FIG.
Then, when the decoding processing unit 12 of the map decoding device 6 performs the decoding process of the map browsing device 5, it authenticates the map browsing device 5 that has requested the proxy (that is, transmitted the query request). It is preferable to have This authentication means is realized by one of the following two methods, for example.

第1の認証手段としては、地図閲覧装置5の装置固有のID(MACアドレスなど)や、地図閲覧装置5のユーザ固有の情報(ユーザID、生体情報など)などの認証用の入力情報を入力装置96などから入力を受け付けて、認証する手法である。そして、地図復号装置6は、認証用の入力情報を受信すると、あらかじめ作成してある認証用のディレクトリに対して、LDAP(Lightweight Directory Access Protocol)などで認証の問い合わせを行うことで、認証する。
なお、認証用の入力情報は、地図閲覧装置5から地図復号装置6に直接送信してもよいし、地図閲覧装置5から地図配信装置4を介して地図復号装置6に送信してもよい。
As the first authentication means, input information for authentication such as an apparatus-specific ID (such as a MAC address) of the map browsing apparatus 5 and user-specific information (such as a user ID and biometric information) of the map browsing apparatus 5 is input. This is a technique for accepting an input from the device 96 and authenticating it. When the map decoding device 6 receives the authentication input information, the map decoding device 6 authenticates the authentication directory by making an inquiry of the authentication directory using LDAP (Lightweight Directory Access Protocol) or the like.
The input information for authentication may be transmitted directly from the map browsing device 5 to the map decoding device 6, or may be transmitted from the map browsing device 5 to the map decoding device 6 via the map distribution device 4.

第2の認証手段として、一般には複製や偽造が困難と考えられる生体情報を送信するようにした場合には、これをもって認証も行われたものとしてもよい。あるいは、暗号技術を用いて、ユーザ認証を行うようにしてもよい。具体的には、例えばSSL(Secure Sockets Layer)通信やTLS(Transport Layer Security)通信における、クライアント認証方法を用いて実現してもよい。   In the case where biometric information that is generally considered difficult to be copied or counterfeited is transmitted as the second authentication means, authentication may be performed using this. Alternatively, user authentication may be performed using an encryption technique. Specifically, for example, it may be realized by using a client authentication method in SSL (Secure Sockets Layer) communication or TLS (Transport Layer Security) communication.

図8は、図7の構成に対応する地図情報データベースシステムの処理を示すフローチャートである。図8の処理と図5の処理とでは多くの処理が共通するので、以下の説明では、それぞれの処理の相違点に着目して、説明する。
S101として、復号化処理部12が地図閲覧装置5から地図復号装置6へと配置変更されていることに伴い、復号鍵86の受信および格納処理は、地図復号装置6側で行う。
検索結果の通知処理(S122〜S123)は、以下に示すS124〜S128へと置き換わる。
S124として、地図配信装置4のクエリ受付部14は、S121で受信した暗号データ(暗号行データ74)の復号化を、地図復号装置6に指示する。
S125として、地図復号装置6の復号化処理部12は、指示された暗号行データ74を復号化することで、平文行データ72を取得する。
S126として、地図復号装置6の復号化処理部12は、復号化した平文行データ72を、地図配信装置4のクエリ受付部14に返信する。
S127として、地図配信装置4のクエリ受付部14は、クエリの応答としての平文行データ72を、地図閲覧装置5のクエリ要求部13に送信する。
S128として、地図閲覧装置5のクエリ要求部13は、クエリの応答を受信する。受信したクエリの応答に含まれる平文行データ72は、そのまま地図閲覧装置5の表示装置97に表示できる。
なお、S131の地図閲覧装置5側による復号化処理は、不要になる。
FIG. 8 is a flowchart showing the processing of the map information database system corresponding to the configuration of FIG. Since many processes are common in the process of FIG. 8 and the process of FIG. 5, it demonstrates paying attention to the difference of each process in the following description.
As S101, the decryption processing unit 12 is relocated from the map browsing device 5 to the map decryption device 6, and the decryption key 86 is received and stored on the map decryption device 6 side.
The search result notification process (S122 to S123) is replaced with the following S124 to S128.
As S124, the query reception unit 14 of the map distribution device 4 instructs the map decryption device 6 to decrypt the encrypted data (encrypted row data 74) received in S121.
In S125, the decryption processing unit 12 of the map decryption device 6 obtains the plaintext line data 72 by decrypting the designated encrypted line data 74.
In S126, the decryption processing unit 12 of the map decryption device 6 returns the decrypted plaintext line data 72 to the query reception unit 14 of the map distribution device 4.
As S <b> 127, the query receiving unit 14 of the map distribution device 4 transmits plain text line data 72 as a query response to the query requesting unit 13 of the map browsing device 5.
As S128, the query requesting unit 13 of the map browsing device 5 receives a query response. The plain text line data 72 included in the received query response can be displayed on the display device 97 of the map browsing device 5 as it is.
In addition, the decoding process by the map browsing apparatus 5 side of S131 becomes unnecessary.

以上、図1および図7でそれぞれ説明した地図情報データベースシステムの構成について、図示した装置内の構成要素や、各装置の台数などは、あくまで一例であり、例えば以下に示すような変形実施も可能である。   1 and FIG. 7, the components in the illustrated apparatus, the number of each apparatus, etc. are merely examples, and modifications such as those shown below are possible. It is.

例えば、地図情報データベースシステムの各装置は、それぞれ1台ずつ存在していてもよいし、以下に例示するように、複数台存在する装置があってもよい。
・地図復号装置6が複数台存在していてもよい。
・鍵管理装置9が複数台存在し、1台以上の地図復号装置6との間でデータを送受信してもよい。
・地図配信装置4が複数台存在し、1台の地図復号装置6との間でデータを送受信してもよい。
・地図格納装置3が複数台存在していてもよい。この場合、地図配信装置4は、S112において、地図閲覧要求の内容に応じて、複数存在する地図格納装置のうち、適切な装置を選んでクエリすればよい。例えば、各地図格納装置が保持する地図データが、都道府県毎に分かれているなど、領域毎に分かれている場合には、地図閲覧要求の内容が、神奈川県内の情報を要求するものであれば、神奈川県のデータを管理する地図格納装置にクエリすればよい。
For example, each device of the map information database system may be present one by one, or there may be a plurality of devices as illustrated below.
A plurality of map decoding devices 6 may exist.
A plurality of key management devices 9 may exist and data may be transmitted / received to / from one or more map decoding devices 6.
A plurality of map distribution devices 4 may exist and data may be transmitted / received to / from one map decoding device 6.
A plurality of map storage devices 3 may exist. In this case, the map distribution device 4 may make a query by selecting an appropriate device from a plurality of map storage devices according to the contents of the map browsing request in S112. For example, if the map data held by each map storage device is divided by region, such as divided by prefecture, if the content of the map browsing request requests information in Kanagawa Prefecture The map storage device that manages Kanagawa Prefecture data may be queried.

地図情報データベースシステムの各装置は、それぞれ独立した計算機上で動作してもよいし、以下に例示するように、複数の装置が一台の計算機上で動作していてもよい。
・地図配信装置4と地図復号装置6と、同一の計算機として構成してもよい。
・地図復号装置6と鍵管理装置9と、同一の計算機として構成してもよい。
Each device of the map information database system may operate on an independent computer, or a plurality of devices may operate on a single computer as illustrated below.
-You may comprise the map delivery apparatus 4 and the map decoding apparatus 6 as the same computer.
-You may comprise the map decoding apparatus 6 and the key management apparatus 9 as the same computer.

地図閲覧装置5の復号鍵86がはじめに鍵管理装置9にあり、S101において、地図閲覧装置5に送信される場合を例に挙げて説明したが、これとは異なる構成であってもよい。   Although the case where the decryption key 86 of the map browsing device 5 is first in the key management device 9 and is transmitted to the map browsing device 5 in S101 has been described as an example, a configuration different from this may be used.

暗号鍵生成部82および復号鍵生成部87を有する鍵管理装置9は、その鍵生成のための処理部を、他の処理部に代行させてもよい。例えば、地図閲覧装置5は、暗号鍵生成部82および復号鍵生成部87を有することとし、それぞれの生成部が、復号鍵86と暗号鍵81とからなる鍵ペアを生成して、復号鍵86を復号鍵格納部88に格納し、暗号鍵81を暗号鍵格納部83に格納する。
このようにすると、復号鍵86が地図閲覧装置5内だけに存在することになるので、セキュリティの観点からは好ましい。
The key management device 9 having the encryption key generation unit 82 and the decryption key generation unit 87 may substitute the processing unit for generating the key with another processing unit. For example, the map browsing device 5 includes an encryption key generation unit 82 and a decryption key generation unit 87, and each generation unit generates a key pair including a decryption key 86 and an encryption key 81, and the decryption key 86. Is stored in the decryption key storage unit 88, and the encryption key 81 is stored in the encryption key storage unit 83.
In this way, the decryption key 86 exists only in the map browsing device 5, which is preferable from the viewpoint of security.

地図情報データベースシステムの各装置は、1つのネットワーク1で接続されていてもよいし、複数のネットワークで接続されていてもよい。例えば、地図閲覧装置5と地図配信装置4は、携帯電話網を介して接続されていてもよい。またこれらの装置のうち、互いにデータをやりとりしなくてもよい装置間には、ネットワークが張られていなくてもよい。互いにデータをやりとりしなくてもよい装置の組み合わせの例として、地図暗号化装置2と地図閲覧装置5との組み合わせを含んでもよい。   Each device of the map information database system may be connected by one network 1 or may be connected by a plurality of networks. For example, the map browsing device 5 and the map distribution device 4 may be connected via a mobile phone network. Of these devices, a network may not be provided between devices that do not need to exchange data with each other. As an example of a combination of devices that do not need to exchange data with each other, a combination of the map encryption device 2 and the map browsing device 5 may be included.

以上説明した本実施形態は、データベースに格納されるテーブルの各行に、暗号値を格納する列(暗号列75)を備え、各行に含まれるデータのうちの暗号化する列(項目)のデータを暗号化したデータを、当該行の暗号列75に格納するとともに、暗号化する列のデータを、NULL(空白)を意味するデータに書き換える。
これにより、あらかじめ指定された列について、ある行のデータは暗号化し、他の行のデータは暗号化しない、というように暗号化対象と非対象のデータを混在させることが可能となる。
In the embodiment described above, each row of the table stored in the database includes a column (encryption column 75) for storing an encryption value, and the data of the column (item) to be encrypted among the data included in each row is stored. The encrypted data is stored in the encryption column 75 of the row, and the data in the column to be encrypted is rewritten to data meaning NULL (blank).
This makes it possible to mix encryption target data and non-target data in such a way that, for a column designated in advance, data in a certain row is encrypted and data in other rows is not encrypted.

1 ネットワーク
2 地図暗号化装置(暗号化装置)
3 地図格納装置
4 地図配信装置
5 地図閲覧装置(復号化装置)
6 地図復号装置(復号化装置)
9 鍵管理装置
11 暗号化処理部
12 復号化処理部
13 クエリ要求部
14 クエリ受付部
15 暗号化インデックス復号処理部
16 暗号化インデックス
17 データベース処理部
71 平文テーブルデータ
72 平文行データ
73 暗号テーブルデータ
74 暗号行データ
75 暗号列
76 暗号定義情報
81 暗号鍵
82 暗号鍵生成部
83 暗号鍵格納部
86 復号鍵
87 復号鍵生成部
88 復号鍵格納部
91 CPU
92 RAM
93 外部記憶装置
94 読み取り装置
95 記憶媒体
96 入力装置
97 表示装置
98 通信装置
99 インターフェイス
1 Network 2 Map encryption device (encryption device)
3 Map storage device 4 Map distribution device 5 Map browsing device (decoding device)
6 Map decoding device (decoding device)
DESCRIPTION OF SYMBOLS 9 Key management apparatus 11 Encryption process part 12 Decryption process part 13 Query request part 14 Query reception part 15 Encryption index decryption process part 16 Encryption index 17 Database process part 71 Plain text table data 72 Plain text line data 73 Encryption table data 74 Encryption row data 75 Encryption string 76 Encryption definition information 81 Encryption key 82 Encryption key generation unit 83 Encryption key storage unit 86 Decryption key 87 Decryption key generation unit 88 Decryption key storage unit 91 CPU
92 RAM
93 External storage device 94 Reading device 95 Storage medium 96 Input device 97 Display device 98 Communication device 99 Interface

Claims (12)

データベースに格納される平文テーブルデータを暗号化して暗号テーブルデータを作成する暗号化装置と、前記暗号テーブルデータを復号化して前記平文テーブルデータを取得する復号化装置と、を用いるデータベースシステムによるデータベース処理方法であって、
前記暗号化装置は、
前記平文テーブルデータを記憶手段から読み取り、
前記平文テーブルデータのセル位置に存在するデータ値の暗号化の要否を示す暗号定義情報を記憶手段から読み取り、
前記セル位置とは、前記平文テーブルデータを構成する各行および各列の組み合わせで示され、
前記平文テーブルデータのセル位置ごとに、前記暗号定義情報に記載されている暗号化の要否情報をもとに、そのセル位置のデータ値を暗号化するか否かを決定し、
セル位置のデータを暗号化するときには、前記暗号テーブルデータのセル位置に所定値を格納するとともに、そのセル位置が含まれる行の暗号列に前記平文テーブルデータのセル位置のデータ値を暗号化した結果の暗号値を追加し、
セル位置のデータを暗号化しないときには、前記暗号テーブルデータのセル位置に前記平文テーブルデータのセル位置のデータ値をコピーし、
前記復号化装置は、
前記暗号テーブルデータのセル位置に前記所定値が格納されているときには、そのセル位置が含まれる行の前記暗号列から暗号値を復号化し、復号化に成功したときには、その結果のデータ値でセル位置に格納されている前記所定値を上書きすることを特徴とする
データベース処理方法。
Database processing by a database system using an encryption device that encrypts plaintext table data stored in a database to create encrypted table data, and a decryption device that decrypts the encrypted table data and obtains the plaintext table data A method,
The encryption device is:
Reading the plaintext table data from storage means;
Reading cipher definition information indicating the necessity of encryption of the data value existing at the cell position of the plaintext table data from the storage means;
The cell position is indicated by a combination of each row and each column constituting the plaintext table data,
For each cell position of the plaintext table data, based on the encryption necessity information described in the encryption definition information, determine whether to encrypt the data value of the cell position,
When encrypting the cell position data, a predetermined value is stored in the cell position of the encryption table data, and the data value of the cell position of the plaintext table data is encrypted in the encrypted column of the row including the cell position. Add the resulting cipher value,
When not encrypting the data of the cell position, copy the data value of the cell position of the plaintext table data to the cell position of the encryption table data,
The decoding device
When the predetermined value is stored in the cell position of the encryption table data, the encryption value is decrypted from the cipher column in the row including the cell position. A database processing method, wherein the predetermined value stored in the position is overwritten.
前記暗号化装置は、セル位置のデータを暗号化するときには、セル位置が含まれる行の前記暗号列に暗号値を追加するとともに、その暗号化処理を記載する前記暗号定義情報を併せて前記暗号列に追加し、
前記復号化装置は、前記暗号列から1つ以上の暗号値を復号化するときに、その暗号列に含まれている前記暗号定義情報を参照して、各暗号値を復号化するか否かを決定することを特徴とする
請求項1に記載のデータベース処理方法。
When encrypting data at a cell position, the encryption device adds an encryption value to the cipher column in a row including the cell position, and also adds the encryption definition information describing the encryption processing together with the encryption Add to the column,
Whether the decryption device decrypts each cipher value with reference to the cipher definition information included in the cipher string when one or more cipher values are decrypted from the cipher string The database processing method according to claim 1, wherein:
前記暗号定義情報は、セル位置ごとの暗号化の要否情報に加えて、暗号化を必要とするときに、その暗号化処理を実行するための暗号化アルゴリズムの種別が併せて記載されており、
前記暗号化装置は、セル位置のデータを暗号化するときには、前記暗号定義情報に記載されている前記暗号化アルゴリズムに従って、セル位置のデータ値に対して暗号化処理を実行することとし、
前記暗号定義情報に記載されている前記暗号化アルゴリズムは、共通鍵暗号方法、公開鍵暗号方法、確定的な(deterministic)暗号化方法、および、確率的な(probabilistic)暗号化方法のうちの少なくとも1つの方法として構成されることを特徴とする
請求項1または請求項2に記載のデータベース処理方法。
In addition to the encryption necessity information for each cell position, the encryption definition information includes the type of encryption algorithm for executing the encryption process when encryption is required. ,
The encryption device, when encrypting the data of the cell position, according to the encryption algorithm described in the encryption definition information, to perform an encryption process on the data value of the cell position,
The encryption algorithm described in the encryption definition information includes at least one of a common key encryption method, a public key encryption method, a deterministic encryption method, and a probabilistic encryption method. The database processing method according to claim 1, wherein the database processing method is configured as one method.
前記復号化装置は、前記暗号テーブルデータへのクエリ検索処理を受け付けると、前記暗号テーブルデータ内の暗号化されているデータ値へのクエリ検索処理を実行するときに、
前記暗号テーブルデータの前記暗号列に含まれている暗号値を暗号化したときの暗号鍵を用いて、クエリ検索条件に含まれるパラメータを暗号化し、
前記暗号テーブルデータの前記暗号列に含まれている暗号値と、前記クエリ検索条件に含まれるパラメータの暗号値とを照合することにより、前記クエリ検索条件に該当するか否かを判定することを特徴とする
請求項1ないし請求項3のいずれか1項に記載のデータベース処理方法。
When the decryption device receives a query search process for the encryption table data, when executing the query search process for an encrypted data value in the encryption table data,
Using the encryption key when the encryption value included in the encryption column of the encryption table data is encrypted, the parameter included in the query search condition is encrypted,
Determining whether or not the query search condition is satisfied by collating an encryption value included in the encryption column of the encryption table data with an encryption value of a parameter included in the query search condition; The database processing method according to any one of claims 1 to 3.
前記復号化装置は、前記暗号テーブルデータへのクエリ検索処理を受け付けると、前記暗号テーブルデータ内の暗号化されているデータ値へのクエリ検索処理を実行するときに、
前記暗号テーブルデータの生成元となった前記平文テーブルデータを示す検索用のインデックスと、クエリ検索条件に含まれるパラメータとを照合することにより、前記クエリ検索条件に該当するか否かを判定することを特徴とする
請求項1ないし請求項3のいずれか1項に記載のデータベース処理方法。
When the decryption device receives a query search process for the encryption table data, when executing the query search process for an encrypted data value in the encryption table data,
It is determined whether or not the query search condition is satisfied by collating a search index indicating the plaintext table data that is the generation source of the encryption table data with a parameter included in the query search condition. The database processing method according to any one of claims 1 to 3, wherein:
前記暗号定義情報は、セル位置ごとの暗号化の要否情報に加えて、その復号化処理を許可するユーザのリストが併せて記載されており、
前記暗号化装置は、セル位置のデータを暗号化するときには、復号化処理を許可するユーザごとの暗号鍵でセル位置のデータ値を暗号化してユーザごとの暗号値を作成し、それぞれの作成された暗号値を前記暗号列に追加することを特徴とする
請求項1ないし請求項5のいずれか1項に記載のデータベース処理方法。
In addition to the encryption necessity information for each cell position, the encryption definition information includes a list of users who are permitted to perform the decryption process,
When encrypting the data at the cell position, the encryption device encrypts the data value at the cell position with an encryption key for each user that permits the decryption process, and creates an encrypted value for each user. The database processing method according to claim 1, wherein an encrypted value is added to the cipher string.
前記暗号定義情報は、セル位置ごとの暗号化の要否情報に加えて、その復号化処理を許可するユーザのリストが併せて記載されており、
前記暗号化装置は、セル位置のデータを暗号化するときには、各ユーザに共通の前記セッション鍵でセル位置のデータ値を暗号化して第1暗号値を作成するとともに、復号化処理を許可するユーザごとの暗号鍵で前記セッション鍵を暗号化して第2暗号値を作成し、前記第1暗号値および前記第2暗号値を前記暗号列に追加することを特徴とする
請求項1ないし請求項5のいずれか1項に記載のデータベース処理方法。
In addition to the encryption necessity information for each cell position, the encryption definition information includes a list of users who are permitted to perform the decryption process,
When encrypting cell location data, the encryption device creates a first encrypted value by encrypting the cell location data value with the session key common to each user, and permits a decryption process 6. The session key is encrypted with each encryption key to create a second encryption value, and the first encryption value and the second encryption value are added to the encryption string. The database processing method according to any one of the above.
前記復号化装置は、前記クエリ検索条件を送信するユーザごとのデータ閲覧装置に組み込まれていることを特徴とする
請求項1ないし請求項7のいずれか1項に記載のデータベース処理方法。
The database processing method according to any one of claims 1 to 7, wherein the decryption device is incorporated in a data browsing device for each user who transmits the query search condition.
前記復号化装置は、前記クエリ検索条件を送信するユーザごとの前記データ閲覧装置とは別の装置として構成し、複数の前記データ閲覧装置からの前記クエリ検索条件に伴う前記暗号テーブルデータから前記平文テーブルデータへの復号化処理を実行すること
請求項1ないし請求項7のいずれか1項に記載のデータベース処理方法。
The decryption device is configured as a device different from the data browsing device for each user that transmits the query search condition, and the plaintext is derived from the encryption table data accompanying the query search condition from a plurality of the data browsing devices. The database processing method according to any one of claims 1 to 7, wherein decryption processing to table data is executed.
前記暗号化装置は、前記暗号テーブルデータの前記セル位置に書き込む前記所定値として、未定義を示すデータサイズが0の値、または、前記セル位置に格納されるデータ値が取りうる範囲から外れた値を書き込むことを特徴とする
請求項1ないし請求項9のいずれか1項に記載のデータベース処理方法。
The encryption device has a value of 0 indicating undefined or a data value stored in the cell position out of a possible range as the predetermined value to be written to the cell position of the encryption table data. The database processing method according to any one of claims 1 to 9, wherein a value is written.
請求項1ないし請求項10のいずれか1項に記載のデータベース処理方法を、前記データベースシステムの各装置に実行させるためのデータベース処理プログラム。   A database processing program for causing each device of the database system to execute the database processing method according to any one of claims 1 to 10. データベースに格納される平文テーブルデータを暗号化して暗号テーブルデータを作成する暗号化装置と、前記暗号テーブルデータを復号化して前記平文テーブルデータを取得する復号化装置と、を用いるデータベースシステムの暗号化装置であって、
前記平文テーブルデータを記憶手段から読み取り、
前記平文テーブルデータのセル位置に存在するデータ値の暗号化の要否を示す暗号定義情報を記憶手段から読み取り、
前記セル位置とは、前記平文テーブルデータを構成する各行および各列の組み合わせで示され、
前記平文テーブルデータのセル位置ごとに、前記暗号定義情報に記載されている暗号化の要否情報をもとに、そのセル位置のデータ値を暗号化するか否かを決定し、
セル位置のデータを暗号化するときには、前記暗号テーブルデータのセル位置に所定値を格納するとともに、そのセル位置が含まれる行の暗号列に前記平文テーブルデータのセル位置のデータ値を暗号化した結果の暗号値を追加し、
セル位置のデータを暗号化しないときには、前記暗号テーブルデータのセル位置に前記平文テーブルデータのセル位置のデータ値をコピーすることを特徴とする
暗号化装置。
Encryption of a database system using an encryption device that encrypts plaintext table data stored in a database to create encryption table data, and a decryption device that decrypts the encryption table data to obtain the plaintext table data A device,
Reading the plaintext table data from storage means;
Reading cipher definition information indicating the necessity of encryption of the data value existing at the cell position of the plaintext table data from the storage means;
The cell position is indicated by a combination of each row and each column constituting the plaintext table data,
For each cell position of the plaintext table data, based on the encryption necessity information described in the encryption definition information, determine whether to encrypt the data value of the cell position,
When encrypting the cell position data, a predetermined value is stored in the cell position of the encryption table data, and the data value of the cell position of the plaintext table data is encrypted in the encrypted column of the row including the cell position. Add the resulting cipher value,
When the data at the cell position is not encrypted, the data value at the cell position of the plaintext table data is copied to the cell position of the encryption table data.
JP2009068544A 2009-03-19 2009-03-19 Database processing method, database processing program, and encryption apparatus Expired - Fee Related JP5140026B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009068544A JP5140026B2 (en) 2009-03-19 2009-03-19 Database processing method, database processing program, and encryption apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009068544A JP5140026B2 (en) 2009-03-19 2009-03-19 Database processing method, database processing program, and encryption apparatus

Publications (2)

Publication Number Publication Date
JP2010224655A true JP2010224655A (en) 2010-10-07
JP5140026B2 JP5140026B2 (en) 2013-02-06

Family

ID=43041806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009068544A Expired - Fee Related JP5140026B2 (en) 2009-03-19 2009-03-19 Database processing method, database processing program, and encryption apparatus

Country Status (1)

Country Link
JP (1) JP5140026B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011044874A (en) * 2009-08-20 2011-03-03 Hitachi Ltd Graphic data encoding/decoding apparatus and graphic data browsing system
CN103065544A (en) * 2012-12-19 2013-04-24 江苏省城市规划设计研究院 Network map rectifying and drawing method under dynamic map projection
JP2014013582A (en) * 2011-11-11 2014-01-23 Nec Corp Database encryption system, method, and program
WO2014092180A1 (en) 2012-12-13 2014-06-19 日本電気株式会社 Intermediate server, database query processing method and program
CN110321345A (en) * 2019-05-22 2019-10-11 嘉兴天盾安全技术服务有限公司 A kind of data encryption storage method
US10872158B2 (en) 2016-01-14 2020-12-22 Mitsubishi Electric Corporation Secret search system, secret search method, and computer readable medium
US11005645B2 (en) 2016-01-15 2021-05-11 Mitsubishi Electric Corporation Encryption device, encryption method, computer readable medium, and storage device
US11106740B2 (en) 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116342A (en) * 1989-09-29 1991-05-17 Mitsubishi Electric Corp Data ciphering technique for relational data base system
JPH09233067A (en) * 1990-07-31 1997-09-05 Hiroichi Okano Method and device for processing intelligence information
JPH11143780A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Method and device for managing secret information in database
JP2006113664A (en) * 2004-10-12 2006-04-27 Murata Mach Ltd Document management device
JP2007251921A (en) * 2006-02-20 2007-09-27 Hitachi Ltd Digital content encryption and decryption method, and workflow system using digital content
JP2008294596A (en) * 2007-05-23 2008-12-04 Hitachi Ltd Authenticity assurance system for spreadsheet data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116342A (en) * 1989-09-29 1991-05-17 Mitsubishi Electric Corp Data ciphering technique for relational data base system
JPH09233067A (en) * 1990-07-31 1997-09-05 Hiroichi Okano Method and device for processing intelligence information
JPH11143780A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Method and device for managing secret information in database
JP2006113664A (en) * 2004-10-12 2006-04-27 Murata Mach Ltd Document management device
JP2007251921A (en) * 2006-02-20 2007-09-27 Hitachi Ltd Digital content encryption and decryption method, and workflow system using digital content
JP2008294596A (en) * 2007-05-23 2008-12-04 Hitachi Ltd Authenticity assurance system for spreadsheet data

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011044874A (en) * 2009-08-20 2011-03-03 Hitachi Ltd Graphic data encoding/decoding apparatus and graphic data browsing system
JP2014013582A (en) * 2011-11-11 2014-01-23 Nec Corp Database encryption system, method, and program
US8812877B2 (en) 2011-11-11 2014-08-19 Nec Corporation Database encryption system, method, and program
US9349023B2 (en) 2011-11-11 2016-05-24 Nec Corporation Database encryption system, method, and program
WO2014092180A1 (en) 2012-12-13 2014-06-19 日本電気株式会社 Intermediate server, database query processing method and program
US9767294B2 (en) 2012-12-13 2017-09-19 Nec Corporation Intermediate server, database query processing method and program
EP3745293A1 (en) 2012-12-13 2020-12-02 Nec Corporation Intermediate server, database query processing method and program
CN103065544A (en) * 2012-12-19 2013-04-24 江苏省城市规划设计研究院 Network map rectifying and drawing method under dynamic map projection
US10872158B2 (en) 2016-01-14 2020-12-22 Mitsubishi Electric Corporation Secret search system, secret search method, and computer readable medium
US11005645B2 (en) 2016-01-15 2021-05-11 Mitsubishi Electric Corporation Encryption device, encryption method, computer readable medium, and storage device
US11106740B2 (en) 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium
CN110321345A (en) * 2019-05-22 2019-10-11 嘉兴天盾安全技术服务有限公司 A kind of data encryption storage method

Also Published As

Publication number Publication date
JP5140026B2 (en) 2013-02-06

Similar Documents

Publication Publication Date Title
Miao et al. Multi-authority attribute-based keyword search over encrypted cloud data
US11019040B2 (en) Cloud key escrow system
JP5140026B2 (en) Database processing method, database processing program, and encryption apparatus
JP4958246B2 (en) Method, apparatus and system for fast searchable encryption
Tong et al. Cloud-assisted mobile-access of health data with privacy and auditability
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
KR100753932B1 (en) contents encryption method, system and method for providing contents through network using the encryption method
JP6048414B2 (en) Database apparatus, method and program
JP5100286B2 (en) Cryptographic module selection device and program
US8688969B2 (en) Cryptographic management apparatus, decryption management apparatus and program
CN101510888B (en) Method, device and system for improving data security for SaaS application
JP2014002365A (en) Encrypted data inquiry method and system which can protect privacy
JP2008259139A (en) Key management system and key management method
US20120303967A1 (en) Digital rights management system and method for protecting digital content
JPH09179768A (en) File ciphering system and file deciphering system
WO2016040381A1 (en) Process for secure document exchange
CN102571329A (en) Password key management
JP6049914B2 (en) Cryptographic system, key generation device, and re-encryption device
WO2018047698A1 (en) Encoded message retrieval method, message transmission/reception system, server, terminal, and program
Shen et al. Keyword search with access control over encrypted cloud data
Li et al. Multi-user searchable encryption with a designated server
JP2002297606A (en) Method and system for access to database enabling concealment of inquiry contents
JP2007142504A (en) Information processing system
JP2004234344A (en) Database access system
US9436849B2 (en) Systems and methods for trading of text based data representation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121004

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: 20121030

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121116

R150 Certificate of patent or registration of utility model

Ref document number: 5140026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees