WO2015194117A1 - 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体 - Google Patents
条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体 Download PDFInfo
- Publication number
- WO2015194117A1 WO2015194117A1 PCT/JP2015/002841 JP2015002841W WO2015194117A1 WO 2015194117 A1 WO2015194117 A1 WO 2015194117A1 JP 2015002841 W JP2015002841 W JP 2015002841W WO 2015194117 A1 WO2015194117 A1 WO 2015194117A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- condition
- search
- search condition
- true
- database
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/465—Structured object, e.g. database record
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Definitions
- the present invention relates to a condition generation device for obtaining a search condition for a database or the like.
- the database lending service (DataBase_as_a_Service, hereinafter referred to as “DBaaS”) represents a service in which the user stores data held by the user in an external database (DataBase, hereinafter referred to as “DB”).
- DBaaS is expected to become widespread as services using external computer resources become popular.
- DBaaS has a function of searching for desired information from data (information) stored in the DB.
- the user uses the function to extract desired information based on the information stored in the DB.
- the DBaaS extracts desired information by executing the search command in response to receiving the search command (query) transmitted by the user.
- DBaaS sends the extracted information to the user.
- search commands that can be searched by the DB may be limited.
- searchable encryption for example, “encrypted database” exemplified in Non-Patent Documents 1 and 2
- search command that can search the DB The type of is limited.
- the searchable encryption method is a technology that enables search without decrypting encrypted information (ciphertext).
- the searchable encryption method allows information to be searched to be searched according to a search command in encrypted information while protecting confidentiality by using encryption.
- Non-Patent Document 3 discloses an example of a searchable encryption method called a coincidence search encryption method.
- the coincidence search encryption method it is determined whether or not the encrypted information is equal to a predetermined value without decrypting the information.
- Non-Patent Document 4 discloses an example of a searchable encryption method called an order storage encryption method.
- the order-preserving encryption method it is determined whether the encrypted information satisfies a criterion without decrypting the information.
- a ciphertext calculated when the unencrypted value x is encrypted using the secret key K is represented as E (K, x).
- the ciphertext E (K, x) is, for example, an integer value.
- the necessary and sufficient condition regarding that the unencrypted value a is larger than the unencrypted value b is that the value of the ciphertext E (K, a) is the ciphertext E ( It is larger than the value of K, b). Therefore, “the value of E (K, a) is greater than the value of E (K, b)” means that “the value of E (K, a) is an integer value greater than the value of E (K, b)”. Represents that.
- the unencrypted value a is encrypted into the ciphertext E (K, a) using the secret key K.
- the encrypted DB receives a search command “extract all information that satisfies the search condition“ is greater than or equal to the value of E (K, a) ”.
- the database extracts information according to the received search command. In this case, the information is encrypted. Therefore, desired information is extracted by decoding information extracted by the database.
- the encrypted DB is an example of DBaaS and is a secure DB realized by using a searchable encryption method.
- the encrypted DB stores information encrypted according to the searchable encryption method.
- the encrypted DB receives a search command described using an encrypted search condition in accordance with a searchable encryption method, and extracts information according to the search command without decryption.
- the types of search commands that can be searched by the encrypted DB may be limited.
- the type of instruction that can be searched without decryption is “whether encrypted information is equal to a predetermined value or not. Only a search command for searching according to "?".
- the type of instruction that can be searched without decryption is “whether the encrypted information is a predetermined value or more. Only a search command for searching according to “whether” or not.
- the encrypted DB can decrypt the encrypted information based on the secret key to be encrypted, and can be searched using the decrypted information.
- the encrypted DB has information regarding the secret key to be encrypted from the viewpoint of security regarding the information. Therefore, the encryption DB often employs a configuration that does not have information regarding the secret key to be encrypted. In such a configuration, since the encrypted information stored in the encrypted DB cannot be decrypted, the types of search commands that can be searched by the encrypted DB are limited.
- Patent Document 1 discloses an example of a database encryption system that employs an encryption method in which encrypted information is different even if the information is the same information when the information to be stored is encrypted.
- the database encryption system extracts information in accordance with a command for matching search, as in the above-described encrypted DB.
- information that can be extracted is limited.
- CryptDB Protecting_Confidentiality_with_Encrypted_Query_Processing.
- the types of search commands that can be searched by the encrypted DB may be limited.
- the search command is a command for extracting information that satisfies the search condition that “the value calculated by squaring is 8 or more”
- the encrypted DB searches for the search command according to the search command. Can not run. This is because the encrypted DB does not have a secret key necessary for encryption, and therefore the ciphertext cannot be decrypted.
- the encrypted DB cannot always extract information according to a search command described using a desired search condition.
- a main object of the present invention is to provide a condition generation device or the like that enables high-speed search processing even when information that cannot be searched in the database is included.
- a condition generation device includes: Whether or not some of the search conditions included in the first search condition among the target search conditions including the first search condition and the second search condition representing the conditions for extracting information from the database are satisfied. A true / false value is calculated, the calculated true / false value is set as the partial search condition, and the true / false of the second search condition is determined according to success or failure of the target search condition for which the true / false value is set. Condition generating means for generating a dependent third search condition is provided.
- the condition generation method is: Whether or not some of the search conditions included in the first search condition among the target search conditions including the first search condition and the second search condition representing the conditions for extracting information from the database are satisfied.
- a true / false value is calculated, the calculated true / false value is set as the partial search condition, and the true / false of the second search condition is determined according to success or failure of the target search condition for which the true / false value is set.
- a dependent third search condition is generated.
- this object is also realized by such a condition generation program and a computer-readable recording medium for recording the program.
- condition generation apparatus and the like According to the condition generation apparatus and the like according to the present invention, high-speed search processing can be performed even when information that cannot be searched in the database is included.
- the encrypted DB can execute an arbitrary search command including a condition other than a predetermined search condition by decrypting the encrypted information. For example, when a search command includes a certain search condition other than a predetermined search condition, the encrypted DB decrypts all encrypted information in the encrypted DB, and the decrypted information A search command corresponding to the search condition is executed. Thus, the encrypted DB can be searched even with a search command including a search condition other than the predetermined search condition.
- the inventor of the present application has found a problem related to a method for searching an encrypted DB based on a desired search condition.
- the condition generation device when searching with a desired search condition, searches the search condition P that the encrypted DB can search for the desired search condition and the encrypted DB. It classifies into impossible search condition Q.
- the condition generation device transmits a search command described using the search condition P to the encrypted DB.
- the condition generation device receives the ciphertext from the encrypted DB, decrypts the received ciphertext, and executes a search for the search condition Q using the decrypted information.
- a desired search condition can be classified into a search condition P and a search condition Q, whereby a search according to the desired search condition can be executed, and the problems described above. It came to derive the means to solve.
- FIG. 1 is a block diagram showing the configuration of the condition generation apparatus 101 according to the first embodiment of the present invention.
- FIG. 2 is a flowchart showing the flow of processing in the condition generation apparatus 101 according to the first embodiment.
- the condition generation device 101 includes a condition generation unit 102.
- the user transmits a search command described using the target search condition 201 for extracting desired information from the database 151 to the condition generation apparatus 101.
- the target search condition 201 includes a search condition that can be searched by the database 151 (hereinafter referred to as “first search condition”), and a search condition that cannot be searched by the database 151 (hereinafter referred to as “second search condition”). including. That is, the target search condition 201 is a search condition including a first search condition and a second search condition.
- the database 151 extracts all the information satisfying the search instruction “search condition P” described by the search condition P “is greater than or equal to” when information encrypted according to the order storage encryption method can be stored. ”Can be executed. That is, the first search condition includes the search condition P.
- the database 151 responds to the search instruction “extract all information that satisfies the search condition Q” described by the search condition Q “the value calculated by squaring is 8 or more”. Unable to perform a search. This is because the database 151 does not have a secret key required for encryption, so that the ciphertext cannot be decrypted. That is, the second search condition includes the search condition Q.
- the first search condition includes a search condition P 1 and a search condition P 2 .
- the second search condition includes a search condition Q 1 and a search condition Q 2 .
- ⁇ represents a logical product operator.
- ⁇ represents a logical sum operator.
- ⁇ represents a negation operator.
- W is a function representing the target search condition 201.
- the target search condition 201, the first search condition, and the second search condition are not limited to the example described above.
- the target search condition 201 exemplified in Expression 1 conceptually represents a logical expression, it is not limited to the above-described notation.
- the target search condition 201 may be expressed according to Polish notation or reverse Polish notation.
- the conditions included in the first search condition and the second search condition are represented by using codes representing conditions such as P 1. These codes are specified in terms of implementation, for example, in the main memory device or the like. May be an address indicating the storage area. Accordingly, the area indicated by the code (address) indicating the condition can store a true / false value.
- the target search condition 201 represents a calculation based on a true / false value stored in a specific storage area.
- a true / false value indicating that the condition is satisfied is “true” (true value, hereinafter referred to as “T”)
- a true / false value indicating that the condition is not satisfied is “false” (false value, hereinafter “ F ”).
- the condition included in the search condition stores a truth value of “T” or “F” depending on whether or not the condition is satisfied (that is, “value representing true / false”, “true / false value”). can do.
- the condition generation unit 102 receives the target search condition 201.
- the condition generation unit 102 calculates a value (that is, “true / false value”) indicating whether or not the search condition A included in the first search condition in the received target search condition 201 is satisfied.
- the condition generation unit 102 creates (generates) a search condition B in which the calculated true / false value is set in the search condition A in the target search condition 201 (step S101).
- step S101 the condition generation unit 102, the search condition P 1 and the search condition for P 2, calculates a Boolean value representing whether or not satisfied, the search condition is included in the subject search criteria 201 P 1 and the search condition P 2, to create a search condition B by setting the calculated boolean.
- the condition generation unit 102 may create the search condition B by setting a true / false value for the search condition A included in the first search condition.
- condition generating unit 102 by calculating the "T" and "F" with respect to the search condition P 1, the calculated boolean, set in the storage area search condition P 1 in the object search condition 201 is indicated
- the search condition B is obtained.
- the condition generation unit 102 creates a search condition B in which a true / false value is set for the search condition A in the target search condition 201, and combines the created search condition B and the search condition A using a logical product operation.
- the searched search condition C is created.
- the condition generation unit 102 creates a search condition C in which the search condition A and the search condition B are combined using a logical product operation.
- condition generation unit 102 creates a search condition C in which the negative (form) of the search condition A and the search condition B are combined using a logical product operation. .
- the condition generation unit 102 creates a search condition D in which the created search conditions C are combined using an OR operation.
- search condition D created by the condition generation unit 102 is equivalent to the target search condition 201. This is because the search condition C is created by dividing the target search condition 201 by using the true / false value of the search condition A, and the search condition C in this case is calculated by using an OR operation. This is because the combined search condition D is created.
- condition generation unit 102 first searches with a truth value set in the search condition P 1 included in the function W constituting the search condition of Expression 1 (that is, the target search condition 201).
- Condition A is created. More specifically, the condition generating unit 102 sets W (T, P 2 , Q 1 , Q 2 ) and W (F) by setting a true / false value to the search condition P 1 in the target search condition 201. , P 2 , Q 1 , Q 2 ).
- condition generating unit 102 includes a search condition P 1, and the subject search condition 201 in which the truth value is set, to create a search condition C coupled with a logical AND operation.
- the search condition C can be obtained as a search condition shown in Expression 3 and Expression 4 described later.
- the condition generation section 102 for example, when setting the true value "T" in the search condition P 1 in the object search condition 201 to calculate a search condition C to the formula 3 comprising (described later).
- the condition generation unit 102 when setting the false value "F" in the search condition P 1, calculates a search condition C to the formula 4 comprising (described later).
- condition generation unit 102 creates a search condition D in which the calculated search conditions C (for example, Expression 3 and Expression 4) are combined using a logical sum operation. That is, in the case of this example, the condition generation unit 102 creates a search condition D that becomes Expression 2.
- the condition generation unit 102 sets W (T, P 2 , Q 1 , Q 2 ) (ie, “T” in the search condition P 1 (ie, search condition A) included in the target search condition 201. Create search condition B). Since “T” is set in the search condition A, the condition generation unit 102 creates the search condition C (for example, Expression 3) in which the search condition A and the search condition B are combined using a logical product operator. To do.
- the condition generating unit 102 sets W (F, P 2 , Q 1 , Q) by setting “F” to the search condition P 1 (that is, the search condition A) included in the target search condition 201. 2 ) (that is, search condition B) is generated. Since “F” is set in the search condition A, the condition generation unit 102 searches the search condition C (for example, Expression 4) in which the negative of the search condition A and the search condition B are combined using a logical product operator. Create
- condition generation unit 102 generates a search condition D by combining the created search conditions C using a logical sum operation.
- the condition generation unit 102 further calculates true / false values “T” and “F” for the search condition P 2 with respect to the generated search condition D (for example, Expression 2), and searches for the calculated true / false values.
- the condition generation unit 102 calculates a search condition equivalent to each search condition based on the search condition C expressed by Expression 3 and the search condition C expressed by Expression 4.
- condition generation unit 102 the search condition C consisting Equation 3, to create a search condition E to boolean in the storage area is set to point to the search condition P 2 in the search condition D.
- the condition generation unit 102 sets a search condition E “P 1 ⁇ W (T, T, Q 1 , Q 2 )” by setting a true / false value to the search condition P 2 in the search condition C, And the search condition E “P 1 ⁇ W (T, F, Q 1 , Q 2 )” is calculated.
- condition generation unit 102 the calculated search condition E, a search condition P 2 to create a combined search K using the logical AND operation.
- condition generating unit 102 when the truth value set is true, a search condition E, and a search condition P 2 by using the AND operation coupling The designated search condition K is created.
- the condition generation unit 102 created when truth value set is false, negative search P 2 (shape), and a search condition E bound search condition K using the logical product operation To do.
- the condition generation unit 102 relates to the search condition C represented by Expression 3 by using the search condition K “P 1 ⁇ P 2 ⁇ W (T, T, Q 1 , Q 2 )” and the search condition K “ P 1 ⁇ P 2 ⁇ W (T, F, Q 1 , Q 2 ) ”is created.
- the condition generation unit 102 creates a search condition H in which the calculated search condition K is combined using a logical sum operation.
- the condition generation unit 102 creates a search condition H expressed by Equation 5.
- condition generation unit 102 calculates a search condition H of Expression 6 with respect to the search condition of Expression 4 in the search condition D by the same process as the process of calculating Expression 5.
- the condition generation unit 102 creates a search condition J in which the calculated search condition H is combined using a logical sum operation.
- the condition generation unit 102 calculates a search condition J (formula 5 ⁇ formula 6 in this example) in which the search condition of formula 5 and the search condition of formula 6 are combined (step 5) S102).
- the search condition J created by the condition generation unit 102 is equivalent to the search condition D. This is because the search condition D is divided by using the true / false value of the search condition, so that the search condition K is created, and the search condition K in this case is combined using the logical sum operation. This is because the retrieved search condition J is created.
- the condition generation unit 102 sets a true / false value in P 1 or P 2 regarding the other first search condition A process similar to the process executed in the above may be executed.
- the condition generation unit 102 determines whether or not each search condition K combined by the logical sum operation in the search condition J (for example, Expression 5 to Expression 6) calculated by the series of processes described above (that is, the search condition). Whether or not K holds true). In this case, the condition generation unit 102 searches the search condition K “P 1 ⁇ P 2 ⁇ W (T, T, Q 1 , Q 2 )” and the search condition K “P 1 ⁇ P 2 ⁇ W (T, F , Q 1 , Q 2 ) ”, search condition K“ ⁇ P 1 ⁇ P 2 ⁇ W (F, T, Q 1 , Q 2 ) ”, and search condition K“ ⁇ P 1 ⁇ P 2 ⁇ W ( F, F, Q 1 , Q 2 ) ”is determined respectively.
- W (F, T, Q 1 , Q 2 ) is false, regardless of Q 1 , Q 2 , as shown in Equation A.
- W (F, T, Q 1 , Q 2 ) is not satisfied regardless of the second search condition (Q 1 and Q 2 in this example). That is, in Equation 6, “ ⁇ P 1 ⁇ P 2 ⁇ W (F, T, Q 1 , Q 2 )” is false regardless of Q 1 and Q 2 according to Equation A. Therefore, the condition generation unit 102 does not hold the search condition K “ ⁇ P 1 ⁇ P 2 ⁇ W (F, T, Q 1 , Q 2 )” regardless of the second search condition (that is, false). ).
- the condition generation unit 102 searches the search condition K “P 1 ⁇ P 2 ⁇ W (T, T, Q 1 , Q 2 )” and the search condition K “P 1 ⁇ P 2 ⁇ W (T, F, Q 1 , Q 2 ) ”and whether or not the search condition K“ ⁇ P 1 ⁇ P 2 ⁇ W (F, F, Q 1 , Q 2 ) ”is determined. Since the success or failure of these three search conditions K is determined according to the second search condition, the condition generation unit 102 determines that the success or failure of the three search conditions K is determined according to the second search condition.
- the condition generation unit 102 calculates a third search condition 202 in which the search conditions whose success or failure is determined according to the second search condition among the search conditions K are combined using an OR operation.
- the condition generation unit 102 uses the search condition “(P 1 ⁇ P 2 ⁇ W (T, T, Q 1 , Q 2 )) ⁇ (P 1 ⁇ P 2 ) as the third search condition 202.
- the third search condition 202 created by the condition generation unit 102 is equivalent to the target search condition 201.
- the target search condition 201 is equivalent to the search condition D
- the search condition D is equivalent to the search condition J
- the search condition J is equivalent to the third search condition 202.
- the condition generation unit 102 sequentially calculates a true / false value for the search condition included in the first search condition, and sets the calculated true / false value for the search condition.
- a false value may be calculated, and the calculated true / false value may be set as the search condition. That is, the condition generation unit 102 sets true / false values (T, T), (T, F), (F, T), and (F, F) for the search conditions (P 1 , P 2 ). May be.
- the process in which the condition generation unit 102 sets a true / false value is not limited to the above-described example.
- each of the first search condition and the second search condition includes two conditions. However, the first search condition and the second search condition do not necessarily have to be two, and need not have the same number. .
- the target search condition 201 does not need to be the search condition represented by Formula 1, and may be another search condition.
- condition generation unit 102 does not need to set true / false values for all conditions included in the first search condition, and may set true / false values for only some conditions.
- the condition generation unit 102 calculates a search condition (Expression 2) equivalent to the search condition of Expression 1 as the third search condition 202.
- the third search condition 202 is a search condition that is equivalent to the target search condition 201 and does not include a search condition that does not hold when a true / false value is set for some of the conditions included in the target search condition 201. It is.
- the third search condition 202 represents a search condition in which success or failure is determined according to success or failure of the second search condition among the target search conditions 201.
- a search condition for which success or failure is determined regardless of whether or not the second search condition is satisfied is also referred to as “fourth search condition”.
- condition generation unit 102 sets a true / false value to the condition included in the first search condition in the target search condition 201, determines the success or failure of the target search condition based on the set true / false value, and the determination result Based on the above, a third search condition is generated.
- the condition generation unit 102 may generate a fourth search condition.
- the condition generation apparatus 101 enables high-speed search processing even when information that cannot be searched in the database is included.
- the search process related to the third search condition 202 can be processed at a lower cost than the search process related to the search condition. That is, the search result related to the third search condition 202 has a smaller amount of information than the search result related to the search condition.
- the first search condition includes a search condition P 1 and a search condition P 2 .
- the number of data that satisfies the search condition P 1 is N 4 and the number of data that satisfies the search condition “ ⁇ P 2 ” is N 5 .
- the apparatus disclosed in Patent Document 1 and the like calculates a product-sum standard form. Therefore, the apparatus transmits to the database 151 the search command described using the search condition P 1 and the search command described using the search condition “ ⁇ P 2 ”.
- the database 151 receives the search command and extracts (N 4 + N 5 ) pieces of data according to the received search command.
- the number of data that satisfies the search condition “P 1 ⁇ P 2 ” is N 1
- the number of data that satisfies the search condition “P 1 ⁇ P 2 ” is N 2
- the number of data for which “ 2 ” is established is N 3 .
- the search condition "(P 1 ⁇ P 2) ⁇ ( ⁇ P 1 ⁇ P 2) " is equivalent to the search condition " ⁇ P 2"
- the number of data which satisfies the search condition " ⁇ P 2" N 5 is equal to the sum of the number of data N 2 which satisfies the search condition "P 1 ⁇ P 2”
- the search condition data number N 3 of " ⁇ P 1 ⁇ P 2" is established.
- the number of data which satisfies the search condition "P 1 ⁇ P 2" includes a number of data on the search condition P 1 is satisfied, the search condition " ⁇ P 2 "(N 1 + 2 ⁇ N 2 + N 3 ) pieces of data (search results) representing the sum of the number of pieces of"
- the condition generation apparatus 101 has the third search condition 202 (for example, since W (F, T, Q 1 , Q 2 ) is false as described in the processing related to step S102.
- the data is received in response to the search command described using “Expression 5 ⁇ Search Condition“ ⁇ P 1 ⁇ P 2 ⁇ W (F, F, Q 1 , Q 2 ) ”).
- the condition generation unit 101 the search condition data number N 1 of "P 1 ⁇ P 2" is satisfied, the search condition data number N 2 of "P 1 ⁇ P 2" is true, and the search condition " ⁇ P 1 ⁇ P 2 "receives the number of data which is the sum of the data number N 3 which satisfies. That is, the condition generation device 101 receives (N 1 + N 2 + N 3 ) pieces of data. Therefore, the number of data to be received (information amount) is smaller than the method disclosed in Patent Document 1 and the like.
- the search technique disclosed in Patent Document 1 or the like includes a plurality of the duplicate data when the first search condition includes data that overlap each other. Extract once.
- the condition generation apparatus 101 divides the overlapping portion into search conditions whose search results are independent of each other. As a result, there is no duplication in the search results, and the amount of information included in the extracted results is reduced.
- condition generation apparatus 101 calculates a third search condition 202 equivalent to the target search condition 201 based on the target search condition 201 without converting to the product-sum standard form.
- the product-sum standard form includes the worst 2 n (2 to the power of n, where n represents the number of terms included in the logical expression before conversion).
- the condition generation apparatus 101 sets a value (that is, a true / false value) for the first search condition included in the target search condition 201, so that the third search condition 202 is based on the target search condition 201. Is calculated. Accordingly, by setting a true / false value in the target search condition 201, the number of terms that are constant is reduced from the target search condition 201. Therefore, the number of true / false values set by the condition generation unit 102 is less than 2 n. . As a result, since the number of terms included in the third search condition 202 is less than 2 n , the condition generating apparatus 101 can efficiently calculate the third search condition 202 based on the target search condition 201.
- condition generation device 101 According to the condition generation device 101 according to the present embodiment, high-speed search processing can be performed even when information that cannot be searched in the database is included.
- condition generation device 101 is not limited to the above-described example.
- first search condition and the second search condition may be search conditions that are not related to whether or not the database 151 can be searched. That is, the first search condition and the second search condition may simply be different search conditions. The same applies to each embodiment of the present invention.
- FIG. 3 is a block diagram showing a configuration of the condition generation apparatus 111 according to the second embodiment of the present invention.
- FIG. 4 is a flowchart showing the flow of processing in the condition generation device 111 according to the second embodiment.
- the condition generation device 111 includes a condition generation unit 112.
- the condition generation unit 112 receives the target search condition 201. Next, the condition generation unit 112 calculates a true / false value indicating whether or not the search condition A in the received target search condition 201 is satisfied, according to a process procedure similar to the process procedure described in the first embodiment. . Next, the condition generation unit 112 creates (generates) a search condition B in which the calculated true / false value is set in the search condition A in the target search condition 201 (step S101).
- the condition generation unit 112 calculates a search condition C in which the search condition B and the search condition A are combined using a logical product operation. Thereafter, the condition generation unit 112 creates the search condition K by executing the same process as the process described in the first embodiment (step S111). In the case of the example shown in the first embodiment, the condition generation unit 112 calculates four search conditions K represented by Expression 7 to Expression 10.
- the four search conditions K shown in Expression 7 to Expression 10 are the true / false values (T, F 2 ) in the search conditions (P 1 , P 2 in this example) included in the target search condition 201 (function W). ) Is set, and the calculated search condition is expressed using the logical product operation shown in each of the formulas for the set truth value.
- the condition generation unit 112 determines whether or not the calculated search condition K is a fake indicating that it is not always satisfied (step S112). In other words, in this example, the condition generation unit 112 determines whether or not the search conditions K represented by Expressions 7 to 10 are false (false proposition). The condition generation unit 112 determines whether or not the search condition (for example, W (F, F, Q 1 , Q 2 ) in Expression 10) is false by setting the true / false value as described above. Execute the process.
- condition generation unit 112 determines that the search condition of Expression 9 is false and the search conditions of Expression 7, Expression 8, and Expression 10 are not false.
- condition generating unit 112, a and determines a search condition is Hisashinise, by going through the logical OR operator, the second search condition Q 1, and the operation result regardless of the second search condition Q 2
- the fourth search condition 203 for which is false is calculated (step S114).
- the condition generation unit 112 calculates the search condition of Expression 9 as the fourth search condition 203. That is, the fourth search condition 203 represents a search condition in which the calculation result is false regardless of the second search condition.
- condition generation unit 112 calculates a search condition that is determined not to be false as the third search condition 202 by performing an operation through a logical sum operator (step S113). In this example, the condition generation unit 112 calculates a search condition of (Expression 7 ⁇ Expression 8 ⁇ Expression 10) as the third search condition 202.
- condition generation unit 112 may execute the process shown in step S113 and then execute the process shown in step S114.
- condition generation device 111 in addition to the effects of the condition generation device 101 according to the first embodiment, a further high-speed search process can be performed.
- the reason is Reason 1 and Reason 2. That is, (Reason 1)
- the configuration of the condition generation device 111 according to the second embodiment includes the configuration of the condition generation device 101 according to the first embodiment. (Reason 2) This is because the database 151 does not need to execute a search command described using the fourth search condition 203 calculated by the condition generation unit 112.
- the fourth search condition 203 is a condition that is not always satisfied. For example, even if the database 151 extracts information according to a search command described using the fourth search condition 203, the extracted information is information that does not include anything (empty). Therefore, the search instruction described using the fourth search condition 203 is an instruction that does not need to be executed.
- condition generation device 111 can reduce the amount of communication in the communication network, so that high-speed search processing is possible.
- the condition generation device 111 performs the same process as described above.
- FIG. 5 is a block diagram showing the configuration of the database search system 121 according to the third embodiment of the present invention.
- FIG. 6 is a flowchart showing the flow of processing in the database search system 121 according to the third embodiment.
- the database search system 121 includes a condition generation device 101, a first processing unit 122, a second processing unit 123, and a database 124.
- the condition generation device 101 is the device described in the first embodiment of the present invention.
- the database 124 is an external DB that employs a searchable encryption method such as an order storage encryption method. That is, the types of search commands that can be searched by the database 124 are limited.
- the condition generation apparatus 101 calculates the third search condition 202 by the same process as the process described in the first embodiment (step S102).
- the condition generation device 101 may further calculate the fourth search condition 203.
- the first processing unit 122 transmits a search command described using the first search condition among the third search conditions 202 to the database 124 (step S121).
- the first processing unit 122 uses, as the third search condition 202, the search conditions represented by the expressions 7, 8, and 10 described above in the second embodiment using a logical sum operator.
- the search condition to be calculated is calculated.
- the first processing section 122 search instruction described by the search condition in Equation 7 "P 1 ⁇ P 2"
- the search instruction described by the search condition in Equation 8 "P 1 ⁇ P 2”
- the search command described by the search condition “ ⁇ P 1 ⁇ P 2 ” in Expression 10 is transmitted to the database 124.
- the database 124 receives the search command transmitted by the first processing unit 122 and extracts information (hereinafter referred to as “first information”) according to the received search command. That is, the database 124 extracts the first information according to the search command.
- the first information extracted according to “P 1 ⁇ P 2 ” is represented as Ans [T, T].
- the first information extracted according to “P 1 ⁇ P 2 ” is represented as Ans [T, F].
- the first information extracted according to “ ⁇ P 1 ⁇ P 2 ” is represented as Ans [F, F].
- the database 124 is an encrypted DB
- the first information is ciphertext.
- the database 124 transmits the extracted first information to the second processing unit 123.
- the second processing unit 123 receives the extracted first information (step S122). Next, the second processing unit 123 executes a search command described using a second search condition that the database 124 cannot search. That is, in the case of the target search condition 201 exemplified in Expression 1, the second processing unit 123 determines that the search condition “W (T, T, Q 1 , Q 2 )” and the search condition “W (T, F, Q 1 , Q 2 ) ”and the search condition“ W (F, F, Q 1 , Q 2 ) ”are executed. The second processing unit 123 executes the search condition“ Q 1 ”. The search command described using the search condition “Q 1 ⁇ Q 2 ” and the search condition “Q 2 ” is executed.
- the second processing unit 123 determines a common part between Ans [T, T] and the search result regarding the search condition “Q 1 ”. calculate. Furthermore, the second processing unit 123 has the common search result “Ans [T, F]” and the search result “Q 1 ⁇ Q 2 ” regarding the search condition “W (T, F, Q 1 , Q 2 )”. Calculate the part. Similarly, for the search condition “W (F, F, Q 1 , Q 2 )”, the second processing unit 123 determines a common part between Ans [F, F] and the search result for the search condition “Q 2 ”. calculate.
- the second processing unit 123 calculates the result according to the search command described using the search condition. To do.
- the second processing unit 123 calculates a union of the calculated common parts, thereby calculating a result related to a search command described using a desired search condition (step S123).
- the second processing unit 123 may decrypt information such as Ans [T, F] extracted by the database 124.
- the database search system 121 has an effect that information can be efficiently extracted in addition to the effect of the condition generation device 101 according to the first embodiment.
- the reason is Reason 1 and Reason 2. That is, (Reason 1)
- the configuration of the database search system 121 according to the third embodiment includes the configuration of the condition generation device 101 according to the first embodiment. (Reason 2) This is because the database 124 extracts information in accordance with a search command described using a search condition calculated by the condition generation device 101.
- the condition generation apparatus 101 receives a search condition of Expression 1.
- the database stores 1500 pieces of data a (i) (where 1 ⁇ i ⁇ 1500).
- the data satisfying the search condition P 1 and the search condition P 2 is 999 a (i) (where 1 ⁇ i ⁇ 999).
- data only search P 1 is satisfied is only one a (1000)
- data only search P 2 is satisfied, 499 of a (i) (although, 1002 ⁇ i ⁇ 1500)
- Data retrieval condition P 1 and the search condition P 2 not both satisfied, and it is only one a (1001).
- a general database search system that converts a search condition into a product-sum standard form is a search described by using a search condition P 1 that can be searched by the database 124 among the search conditions of Formula 1.
- the command and the search command described using the search condition P 2 are transmitted to the database 124.
- Database 124 receives the search instruction and written using a retrieval condition P 1, and a search command described using the search condition P 2, respectively, to extract information.
- the database 124 extracts a total of 2498 data and transmits the extracted data to the second processing unit 123.
- condition generation device 101 calculates the search condition (Expression 7 ⁇ Expression 8 ⁇ 10) by executing the above-described processing.
- the first processing unit 122 transmits, to the database 124, a search command described using the search condition of Expression 7, the search condition of Expression 8, and the search condition of Expression 10 described above in the second embodiment. That is, the first processing unit 122 uses a search command described using three search conditions “P 1 ⁇ P 2 ”, “P 1 ⁇ P 2 ”, and “ ⁇ P 1 ⁇ P 2 ”. Are transmitted to the database 124, respectively.
- the database 124 receives the three search commands and extracts information according to the received search commands.
- the database 124 extracts a total of 1001 data and transmits the extracted data to the second processing unit 123.
- the condition generation apparatus 101 prevents the database 124 from extracting duplicate data, and thus can efficiently search.
- FIG. 7 is a block diagram showing the configuration of the database search system 131 according to the fourth embodiment of the present invention.
- FIG. 8 is a flowchart showing the flow of processing in the database search system 131 according to the fourth embodiment.
- the database search system 131 includes a condition generation device 101, a first processing unit 122, a second processing unit 132, a database 124, and a conversion unit 133.
- the database 124 may be a DB that employs a searchable encryption method such as an order storage encryption method, for example. That is, the types of search commands that can be searched by the database 124 are limited.
- the database 124 stores information to be searched.
- the condition generation apparatus 101 has the configuration described with reference to FIGS. 1 and 2 in the first embodiment, and receives the target search condition 201 included in the search command.
- An external device or a user may transmit the search command to the condition generation device 101, or an application in the condition generation device 101 may transmit the search command to the condition generation device 101.
- the condition generation unit 102 calculates the third search condition and the fourth search condition based on the target search condition 201 received by the condition generation apparatus 101.
- the database 124 can execute the search instruction described by the third search condition, and can execute the search instruction described by the fourth search condition. Can not.
- the first processing unit 122 outputs the search command described by the first search condition. To the database 124.
- the database 124 receives the search command and extracts information according to the received search command. Next, the database 124 transmits the extracted information to the second processing unit 132.
- the second processing unit 132 receives the information extracted by the database 124, and executes the search command described by the second search condition among the search commands described by the third search condition based on the received information. Thus, information corresponding to the target search condition 201 is extracted.
- the encryption function is represented as E and the decryption function is represented as D.
- the ciphertext can be expressed as E (M).
- the information D (E (M)) decrypted after being encrypted is equal to M.
- E and D may be identity functions.
- the database 124 may be an encrypted DB or not an encrypted DB.
- explanation will be made using an encryption function E and a decryption function D even for an unencrypted DB.
- the conversion unit 133 calculates the ciphertext E (M) for the information M to be stored in the database 124 and transmits the ciphertext E (M) to the database 124.
- the database 124 receives the ciphertext E (M) and stores the received ciphertext E (M).
- search command received by the database 124 is a search command encrypted according to the encryption function E.
- condition generation apparatus 101 receives a search condition R expressed by Expression 11.
- P 1, ⁇ ⁇ ⁇ , P n represents a search condition database 124 is searchable (i.e., a first search condition).
- Q 1 ,..., Q m represent search conditions that cannot be searched by the database 124 (that is, second search conditions).
- search command described using the search condition R is a command for “extracting all information satisfying R”.
- a function G is defined as shown in Expression 12.
- G (T, P) P
- G (F, P) ⁇ P (Equation 12)
- P represents a search condition.
- the condition generation unit 102 (illustrated in FIG. 1) in the condition generation apparatus 101 receives the search condition represented by Expression 11. Next, the condition generation unit 102 initializes a storage unit (not shown) that can store search conditions.
- condition generation unit 102 stores information indicating whether or not the condition is satisfied (for example, T, F) in a storage area capable of storing the condition included in the first search condition.
- information is stored for each condition included in the first search condition, but it is not always necessary to store information for all conditions.
- condition generation unit 102 stores information regarding each condition included in the first search condition, and calculates the search condition of Expression 13 when the search condition of Expression 11 is input.
- condition generation unit 102 may calculate the search condition of Expression 13 for all combinations related to the true / false values that can be set for each condition.
- the condition generation unit 102 performs an operation in a search condition (in this case, W (B 1 ,..., B n , Q 1 ,..., Q m )) in which a true / false value is set.
- a search condition in this case, W (B 1 ,..., B n , Q 1 ,..., Q m )
- the search condition Forma 13
- the condition generation unit 102 determines whether or not it is false as described above by executing an operation related to a search condition for which a true / false value is set.
- the condition generation unit 102 determines that the search condition for which the true / false value is set is false if it becomes false regardless of the condition included in the second search condition.
- the condition generation unit 102 may store a search condition (in this case, Expression 13) that is determined not to be false in the storage unit.
- a search condition in this case, Expression 13
- the process described above represents a process in which the condition generation unit 102 obtains a search condition equivalent to the search condition R based on the search condition R.
- the condition generation unit 102 calculates a true / false value that can be set for the condition included in the first search condition, and sets the calculated true / false value as the condition to obtain the search condition represented by Equation 13.
- the condition generation unit 102 sets the true / false search condition (in this case, W (B 1 ,..., B n , Q 1 ,..., Q m )) is false. It is determined whether or not.
- the condition generation unit 102 performs a search equivalent to the search condition R by combining the search conditions (in this case, Expression 13) including a search condition that is determined not to be false through an OR operator. Find the condition.
- the first processing unit 122 transmits a search command described using the calculated search condition to the database 124.
- the first processing unit 122 says “extract all values greater than 10”. A search command is transmitted to the database 124. Further, when the search condition is “greater than 10” and the set true / false value is “F”, the first processing unit 122 searches “all values less than or equal to 10”. Send instructions to database 124.
- the search conditions P 1 ,..., P n are search conditions that can be searched in the database 124. Therefore, the first processing unit 122 uses the search conditions (formula 14) described using the search conditions P 1 ,..., P n among the search conditions (formula 13) included in the received search command. Is sent to the database 124.
- the search condition shown in Expression 14 includes only the first search condition.
- the database 124 can extract information in accordance with a search command described using the search condition of Expression 14.
- the database 124 receives the search command, extracts information according to the received search command, and transmits the extracted first information to the conversion unit 133.
- the information extracted by the database 124 in accordance with the search command described above is represented as “Ans (B 1 ,..., B n )”.
- the conversion unit 133 receives the first information extracted by the database 124.
- the conversion unit 133 decodes the received first information (step S131). That is, the conversion unit 133 decodes the received information by calculating D (M) for each of the information M included in Ans (B 1 ,..., B n ). Next, the conversion unit 133 transmits the decrypted information to the second processing unit 132.
- the second processing unit 132 receives the information and extracts the information according to the search command described using the search condition of Expression 13, so that the search is performed from the information included in the decrypted information. Information that satisfies the condition R is extracted (step S132).
- the condition generation unit 102 calculates the search condition represented by Expression 13 for all the combinations related to the true / false values that can be set for each condition
- the second processing unit 132 provides information on which the search condition R is satisfied for the combination. To extract.
- the second processing unit 132 represents information (“J (B 1 ,..., B n )” according to the search command described using the search condition of Expression 13 for all combinations. ).
- the database 124 cannot execute the search command.
- the search instruction described using the search condition of Expression 14 includes only the first search condition, the database 124 can execute the search instruction. That is, the condition generation unit 102, based on the search condition of Expression 11, searches the database 124 for search (formula 14, that is, the third search condition) and the search condition for which the database 124 cannot be searched (formula 13, That is, the fourth search condition) is calculated.
- the first processing unit 122 transmits a search command described using each first search condition included in the search condition and a true / false value set for the first search condition to the database 124, respectively. May be.
- the database 124 receives a search command described using each first search condition and a true / false value set for the first search condition.
- the database 124 calculates a search condition according to the above-described expression (for example, Expression 14) by performing an operation using the logical product operator on the first search condition included in the search instruction based on the received truth value. To do.
- the database 124 extracts information according to a search command described using the created search condition.
- the first processing unit 122 transmits a search command represented by the condition P i (where 1 ⁇ i ⁇ n), and further stores the value represented by (B 1 ,..., B n ) in the database 124.
- the database 124 receives these pieces of information, and calculates a search condition according to Expression 14 based on the received information.
- the first processing unit 122 repeats the first search condition in the database 124. No need to send to For this reason, when the database 124 calculates the search condition, the amount of information transmitted from the first processing unit 122 to the database 124 is reduced.
- the database search system 131 may extract information by sequentially storing a set of settable true / false values in the search condition represented by Equation 11. Alternatively, the database search system 131 calculates all sets of settable truth values, calculates a logical sum related to the calculated set, and transmits a search command described using the calculated logical sum to the database 124. Also good.
- the reason is Reason 1 and Reason 2. That is, (Reason 1)
- the configuration of the database search system 131 according to the fourth embodiment includes the configuration of the database search system 121 according to the third embodiment. (Reason 2) This is because the database search system 131 extracts information according to the processing shown in Expressions 11 to 14. That is, the processes shown in Expressions 11 to 14 are a wider process than the processes shown in the third embodiment. Therefore, the database search system 131 can search further in detail.
- condition generation apparatus A configuration example of hardware resources that realizes the condition generation device according to each embodiment of the present invention described above using one calculation processing device (information processing device, computer) will be described.
- the condition generation apparatus may be realized using at least two calculation processing apparatuses physically or functionally. Further, such a condition generation device may be realized as a dedicated device.
- FIG. 9 schematically shows a hardware configuration example of a condition generation device according to the first and second embodiments, and further a calculation processing device capable of realizing the database search system according to the third and fourth embodiments.
- the calculation processing device 20 is a central processing unit (Central_Processing_Unit, hereinafter referred to as “CPU”) 21, a memory 22, a disk 23, a nonvolatile recording medium 24, and a communication interface (hereinafter referred to as “communication IF”). 27).
- the calculation processing device 20 may further include an input device 25 and an output device 26.
- the calculation processing device 20 can transmit / receive information to / from other calculation processing devices and communication devices via the communication IF 27.
- the non-volatile recording medium 24 is, for example, a compact disc (Compact Disc), a digital versatile disc (Digital_Versatile_Disc), a universal serial bus memory (USB memory), a solid state drive (Solid_State_Drive), or the like that can be read by a computer.
- the non-volatile recording medium 24 retains such a program without being supplied with power, and can be carried.
- the nonvolatile recording medium 24 is not limited to the above-described medium. Further, the program may be carried via the communication network via the communication IF 27 instead of the nonvolatile recording medium 24.
- the CPU 21 copies a software program (computer program: hereinafter simply referred to as “program”) stored in the disk 23 to the memory 22 and executes arithmetic processing.
- the CPU 21 reads data necessary for program execution from the memory 22.
- the CPU 21 displays the output result on the output device 26.
- the CPU 21 reads the program from the input device 25.
- the CPU 21 is a condition generation program (FIG. 2 or FIG. 4) in the memory 22 corresponding to the function (process) represented by each unit shown in FIG. 1, FIG. 3, FIG. 5 or FIG.
- the database search program (FIG. 6 or FIG. 8) is interpreted and executed.
- the CPU 21 sequentially performs the processes described in the above-described embodiments of the present invention.
- the present invention can also be achieved by such a condition generation program or a database search program. Furthermore, it can be understood that the present invention can also be realized by a computer-readable non-volatile recording medium in which the condition generation program or the database search program is recorded.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
データベースから情報を抽出する条件を表す第1検索条件及び第2検索条件が含まれている対象検索条件のうち、前記第1検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第2検索条件の真偽に依存する第3検索条件を生成する条件生成手段
を備える。
データベースから情報を抽出する条件を表す第1検索条件及び第2検索条件が含まれている対象検索条件のうち、前記第1検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第2検索条件の真偽に依存する第3検索条件を生成する。
本発明の第1の実施形態に係る条件生成装置101が有する構成と、条件生成装置101が行う処理とについて、図1と図2とを参照しながら詳細に説明する。図1は、本発明の第1の実施形態に係る条件生成装置101が有する構成を示すブロック図である。図2は、第1の実施形態に係る条件生成装置101における処理の流れを示すフローチャートである。
(対象検索条件201)=W(P1、P2、Q1、Q2)・・・(式1)、
ただし、W(P1、P2、Q1、Q2)=(P1∧Q1)∨(¬P2∧Q2)であるとする。∧は、論理積演算子を表す。∨は、論理和演算子を表す。¬は、否定演算子を表す。また、Wは、対象検索条件201を表す関数である。
W(F、T、Q1、Q2)=(F∧Q1)∨(¬T∧Q2)=F・・・(式A)。
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
P1∧¬P2∧W(T、F、Q1、Q2)・・・(式8)、
¬P1∧P2∧W(F、T、Q1、Q2)・・・(式9)、
¬P1∧¬P2∧W(F、F、Q1、Q2)・・・(式10)。
(理由1)第2の実施形態に係る条件生成装置111が有する構成は、第1の実施形態に係る条件生成装置101が有する構成を含むからである、
(理由2)条件生成部112が算出する第4検索条件203を用いて記述された検索命令を、データベース151が実行する必要がないからである。
次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
(理由1)第3の実施形態に係るデータベース検索システム121が有する構成は、第1の実施形態に係る条件生成装置101が有する構成を含むからである、
(理由2)条件生成装置101が算出する検索条件を用いて記述された検索命令に応じて、データベース124が情報を抽出するからである。
次に、上述した第3の実施形態を基本とする本発明の第4の実施形態について説明する。
ただし、P1、・・・、Pnは、データベース124が検索可能な検索条件(すなわち、第1検索条件)を表す。また、Q1、・・・、Qmは、データベース124が検索不可能な検索条件(すなわち、第2検索条件)を表す。
ただし、Pは、検索条件を表す。
ただし、Bi(1≦i≦n)は、「T」、または、「F」を表す。
(理由1)第4の実施形態に係るデータベース検索システム131が有する構成は、第3の実施形態に係るデータベース検索システム121が有する構成を含むからである、
(理由2)データベース検索システム131が、式11乃至式14に示された処理に従い、情報を抽出するからである。すなわち、式11乃至式14に示された処理は、第3の実施形態に示された処理に比べ、広範な処理である。したがって、データベース検索システム131は、さらに、より詳細に検索することができる。
上述した本発明の各実施形態における条件生成装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る条件生成装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る条件生成装置は、専用の装置として実現してもよい。
102 条件生成部
151 データベース
201 対象検索条件
202 第3検索条件
203 第4検索条件
111 条件生成装置
112 条件生成部
121 データベース検索システム
122 第1処理部
123 第2処理部
124 データベース
131 データベース検索システム
132 第2処理部
133 変換部
20 計算処理装置
21 CPU
22 メモリ
23 ディスク
24 不揮発性記録媒体
25 入力装置
26 出力装置
27 通信IF
Claims (10)
- データベースから情報を抽出する条件を表す第1検索条件及び第2検索条件が含まれている対象検索条件のうち、前記第1検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第2検索条件の真偽に依存する第3検索条件を生成する条件生成手段
を備える条件生成装置。 - 前記条件生成手段は、前記真偽値が設定された前記第1検索条件を含む前記対象検索条件が、前記第2検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第3検索条件を生成する
請求項1に記載の条件生成装置。 - 前記条件生成手段は、前記真偽値として、前記一部の検索条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記一部の検索条件に設定することによって前記対象検索条件の成否を判定する
請求項1または請求項2に記載の条件生成装置。 - 請求項1乃至請求項3のいずれかに記載の条件生成装置と、
前記条件生成装置が算出する前記第3検索条件に含まれる前記第1検索条件を用いて記述された検索命令に従い、前記データベースから抽出される第1情報を得る第1処理手段と、
前記第3検索条件に含まれている前記第2検索条件を用いて記述された検索命令を実行することにより、前記第1情報に含まれる値のうち、前記第3検索条件が成立する値を抽出する第2処理手段と
を備えるデータベース検索システム。 - 前記第1処理手段、及び、前記第2処理手段は、前記条件生成装置が偽であると判定した検索条件を用いて記述された検索命令を実行しない
請求項4に記載のデータベース検索システム。 - データベースから情報を抽出する条件を表す第1検索条件及び第2検索条件が含まれている対象検索条件のうち、前記第1検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第2検索条件の真偽に依存する第3検索条件を生成する条件生成方法。
- データベースから情報を抽出する条件を表す第1検索条件及び第2検索条件が含まれている対象検索条件のうち、前記第1検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第2検索条件の真偽に依存する第3検索条件を生成する条件生成機能
をコンピュータに実現させる条件生成プログラムが格納された記録媒体。 - 前記条件生成機能は、前記真偽値が設定された前記第1検索条件を含む前記対象検索条件が、前記第2検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第3検索条件を生成する機能を含む
請求項7に記載の条件生成プログラムが格納された記録媒体。 - 前記条件生成機能は、前記真偽値として、前記条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記条件に設定することによって前記対象検索条件の成否を判定する
請求項8に記載の条件生成プログラムが格納された記録媒体。 - 請求項7乃至請求項9のいずれかに記載の条件生成プログラムと、
前記条件生成装置が算出する前記第3検索条件に含まれる前記第1検索条件を用いて記述された検索命令に従い、前記データベースが抽出する第1情報を得る第1処理機能と、
前記第3検索条件に含まれている前記第2検索条件を用いて記述された検索命令を実行することにより、前記第1情報に含まれる値のうち、前記第3検索条件が成立する値を抽出する第2処理機能と
をコンピュータに実現させるデータベース検索プログラムが格納された記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/319,233 US10769144B2 (en) | 2014-06-16 | 2015-06-05 | Database search system, database search method, and non-transitory recording medium |
JP2016529011A JP6642425B2 (ja) | 2014-06-16 | 2015-06-05 | 条件生成装置、条件生成方法、条件生成プログラム、データベース検索システム、及び、データベース検索プログラム |
DE112015002839.0T DE112015002839T5 (de) | 2014-06-16 | 2015-06-05 | Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014122962 | 2014-06-16 | ||
JP2014-122962 | 2014-06-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015194117A1 true WO2015194117A1 (ja) | 2015-12-23 |
Family
ID=54935128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/002841 WO2015194117A1 (ja) | 2014-06-16 | 2015-06-05 | 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10769144B2 (ja) |
JP (1) | JP6642425B2 (ja) |
DE (1) | DE112015002839T5 (ja) |
WO (1) | WO2015194117A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017117899A1 (de) * | 2017-08-07 | 2019-02-07 | Infineon Technologies Ag | Durchführen einer kryptografischen Operation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231231A (ja) * | 1996-02-26 | 1997-09-05 | Dainippon Screen Mfg Co Ltd | データ検索装置 |
JP2005038024A (ja) * | 2003-07-15 | 2005-02-10 | Ricoh Co Ltd | ネットワークサービス検索方法 |
JP2010108279A (ja) * | 2008-10-30 | 2010-05-13 | Kddi Corp | コンテンツ配信方法およびシステム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2397405C (en) * | 2002-08-09 | 2009-10-13 | Joint Technology Corporation | Method for transforming sql queries |
US20080059439A1 (en) * | 2006-08-30 | 2008-03-06 | Lucent Technologies Inc. | Query Translation from XPath to SQL in the Presence of Recursive DTDs |
US8752045B2 (en) * | 2006-10-17 | 2014-06-10 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US8688682B2 (en) * | 2007-03-23 | 2014-04-01 | International Business Machines Corporation | Query expression evaluation using sample based projected selectivity |
US8745082B2 (en) * | 2007-06-29 | 2014-06-03 | Alcatel Lucent | Methods and apparatus for evaluating XPath filters on fragmented and distributed XML documents |
JP5155001B2 (ja) * | 2008-04-01 | 2013-02-27 | 株式会社日立製作所 | 文書検索装置 |
US9805089B2 (en) * | 2009-02-10 | 2017-10-31 | Amazon Technologies, Inc. | Local business and product search system and method |
KR101362443B1 (ko) * | 2009-08-03 | 2014-02-11 | 니뽄 덴신 덴와 가부시키가이샤 | 함수 암호 응용 시스템, 정보 출력 장치, 정보 처리 장치, 암호 프로토콜 실행 방법, 정보 출력 방법, 정보 처리 방법, 프로그램, 및 기록 매체 |
JP5411034B2 (ja) | 2010-03-19 | 2014-02-12 | 株式会社日立ソリューションズ | データベース暗号化システム及び方法 |
CN103181124A (zh) * | 2010-05-21 | 2013-06-26 | 沃蒂夫有限公司 | 保证消息***的安全使用的***和方法 |
US20120136858A1 (en) * | 2010-11-30 | 2012-05-31 | International Business Machines Corporation | Method to Coordinate Data Collection Among Multiple System Components |
US9262501B2 (en) * | 2012-12-13 | 2016-02-16 | Vinayak Borkar | Method, apparatus, and computer-readable medium for optimized data subsetting |
US9652511B2 (en) * | 2013-03-13 | 2017-05-16 | International Business Machines Corporation | Secure matching supporting fuzzy data |
US9392022B2 (en) * | 2013-05-03 | 2016-07-12 | Vmware, Inc. | Methods and apparatus to measure compliance of a virtual computing environment |
US10127391B1 (en) * | 2015-12-28 | 2018-11-13 | EMC IP Holding Company LLC | Encrypted search indexes |
-
2015
- 2015-06-05 US US15/319,233 patent/US10769144B2/en active Active
- 2015-06-05 DE DE112015002839.0T patent/DE112015002839T5/de active Pending
- 2015-06-05 JP JP2016529011A patent/JP6642425B2/ja active Active
- 2015-06-05 WO PCT/JP2015/002841 patent/WO2015194117A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231231A (ja) * | 1996-02-26 | 1997-09-05 | Dainippon Screen Mfg Co Ltd | データ検索装置 |
JP2005038024A (ja) * | 2003-07-15 | 2005-02-10 | Ricoh Co Ltd | ネットワークサービス検索方法 |
JP2010108279A (ja) * | 2008-10-30 | 2010-05-13 | Kddi Corp | コンテンツ配信方法およびシステム |
Non-Patent Citations (1)
Title |
---|
KENGO MORI: "Fukugo sezu ni Shori suru Angoka Kankei Database", 2014 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 24 January 2014 (2014-01-24), pages 1 - 8 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015194117A1 (ja) | 2017-04-27 |
JP6642425B2 (ja) | 2020-02-05 |
US20170132279A1 (en) | 2017-05-11 |
US10769144B2 (en) | 2020-09-08 |
DE112015002839T5 (de) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9892211B2 (en) | Searchable code processing system and method | |
WO2024077948A1 (zh) | 匿踪查询方法、装置和***及存储介质 | |
US10339140B2 (en) | Database search device, database search method, and program | |
WO2019130528A1 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
JP6239213B1 (ja) | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム | |
Ram et al. | Security as a service (sass): securing user data by coprocessor and distributing the data | |
WO2016072022A1 (ja) | 暗号化グラフの検索方法、暗号化グラフの検索システム及び計算機 | |
WO2016088453A1 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
US20210135851A1 (en) | Encryption processing system and encryption processing method | |
EP3657475B1 (en) | Data processing apparatus, data processing method, and data processing program | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN112074889A (zh) | 隐匿检索装置和隐匿检索方法 | |
JP5972181B2 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP2020519968A (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
US8862893B2 (en) | Techniques for performing symmetric cryptography | |
WO2015194117A1 (ja) | 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体 | |
US20190163933A1 (en) | Secure computation system, secure computation device, secure computation method, and program | |
JP5937556B2 (ja) | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム | |
CN114640443B (zh) | 一种在线工程报价安全交互方法和*** | |
JP7205016B2 (ja) | 秘匿情報処理システムおよび秘匿情報処理方法 | |
JP6672451B2 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
CN115913725A (zh) | 基于异或加密链的前向安全动态可搜索加密方法及*** | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
JP5337076B2 (ja) | 秘密計算システム、秘密計算方法、不正使用防止方法 | |
JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15809483 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016529011 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15319233 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112015002839 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15809483 Country of ref document: EP Kind code of ref document: A1 |