Patent ID: 9747456
Date: 2017-08-29
CPC Classifications: G06F,H04L

Claim:
1. A method for adapting semantic security to a database encryption scheme to prevent information disclosure in a query processed at least in part on at least one processor of a secure query processing system comprising a trusted component and an untrusted component, the untrusted component including an encrypted database with the database encryption scheme, the method comprising: receiving, from a client device different from the trusted component, one or more query plans corresponding to a query; using a security model on the encrypted database to identify first information in the encrypted database permitted for disclosure and second information in the encrypted database not permitted for disclosure, the security model established with the trusted component and the untrusted component; determining that encrypting cleartext data in accordance with the one or more query plans would result in encrypted cleartext data which reveals information corresponding to the second information in the encrypted database not permitted for disclosure; based on the determining, generating, at the trusted component, modified cleartext data based on the cleartext data in accordance with the one or more query plans, the modified cleartext data including a modified portion corresponding to the second information in the encrypted database not permitted for disclosure such that, upon encryption of the modified cleartext data, the encrypted modified cleartext data does not disclose the second information; encrypting the modified cleartext data in compliance with the security model to produce secure query results that do not disclose the second information in the encrypted database, the secure query results including the encrypted modified portion of the modified cleartext data; and communicating an output stream including the secure query results over a network along with encrypted metadata indicating an index which separates matching records comprising the secure query results from non-matching records in the output stream to the client device.