Secure, efficient, and flexible searchable-encryption techniques
AssigneeCyberArk Software Ltd.
InventorOfer Rivlin
Life of this patent
Estimating the term…
Abstract
Disclosed embodiments relate to performing secure and flexible searches of encrypted data. Operations may include maintaining a database of a plurality of sets of encrypted data; receiving a transformed search query for the database, the transformed search query having undergone a transformation process at a client including: identifying a plaintext string in a search query at the client, applying the plaintext string to a language dictionary accessible to the client, receiving, based on the language dictionary, one or more plaintext search strings, and encrypting, at the client, the one or more plaintext search strings; and returning a result based on the transformed search query, the result being based on the encrypted one or more plaintext search strings.
Claims17
A non-transitory computer readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for performing secure and flexible searches of encrypted data, the operations comprising:
- maintaining a database of a plurality of sets of encrypted data;
- training at least one of a definitional dictionary or a synonym dictionary through receipt of client-provided feedback;
- receiving a transformed search query for the database, the transformed search query having undergone a transformation process at a client including:
- identifying a plaintext string in a search query at the client, applying the plaintext string to a language dictionary accessible to the client, the language dictionary being at least one of the definitional dictionary or the synonym dictionary,
- receiving, based on the language dictionary, one or more plaintext search strings,
- concatenating schema information of the database with the one or more plaintext search strings, and
- encrypting, at the client, the concatenated schema information of the database and the one or more plaintext search strings to generate the transformed search query;
- and
- returning a result based on the transformed search query, the result being based on the encrypted concatenated schema information of the database and the one or more plaintext search strings.
A computer-implemented method for performing secure and flexible searches of encrypted data, the method comprising:
- maintaining a database of a plurality of sets of encrypted data;
- training at least one of a definitional dictionary or a synonym dictionary through receipt of client-provided feedback;
- receiving a transformed search query for the database, the transformed search query having undergone a transformation process at a client including:
- identifying a plaintext string in a search query at the client,
- applying the plaintext string to a language dictionary accessible to the client, the language dictionary being at least one of the definitional dictionary or the synonym dictionary,
- receiving, based on the language dictionary, one or more plaintext search strings,
- concatenating schema information of the database with the one or more plaintext search strings, and
- encrypting, at the client, the concatenated schema information of the database and the one or more plaintext search strings to generate the transformed search query;
- and
- returning a result based on the transformed search query, the result being based on the encrypted concatenated schema information of the database and the one or more plaintext search strings.
A non-transitory computer readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for performing secure and flexible searches of encrypted data, the operations comprising:
- training at least one of a definitional dictionary or a synonym dictionary through receipt of client-provided feedback;
- sending encrypted data from a client to a database for storage at the database;
- formulating a transformed search query for the database, the formulating including:
- identifying a plaintext string in a search query,
- applying the plaintext string to a language dictionary accessible to the client, the language dictionary being at least one of the definitional dictionary or the synonym dictionary,
- receiving, based on the language dictionary, one or more plaintext search strings,
- concatenating schema information of the database with the one or more plaintext search strings, and
- encrypting, at the client, the concatenated schema information of the database and the one or more plaintext search strings to generate the transformed search query;
- sending the transformed search query to the database for querying;
- and
- receiving a result based on the transformed search query.
Dependencies are inferred from the claim text.