Patent ID: 9679160
Date: 2017-06-13
CPC Classifications: G06F,H04L

Claim:
1. A computer-implemented method for maintaining encrypted search indexes on third-party storage systems, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: identifying, at a server-side computing system, a plurality of encrypted files that were previously transmitted from a client-side computing system of a user to the server-side computing system in an unencrypted state, wherein the server-side computing system encrypted and stored each of the plurality of encrypted files; identifying, at the server-side computing system, a plurality of unencrypted keywords, wherein each of the plurality of unencrypted keywords is contained in at least one of the plurality of encrypted files; generating, at the server-side computing system, an encrypted search index for searching the plurality of encrypted files by: receiving, at the server-side computing system, a request from the user to search the plurality of encrypted files for a search keyword; generating, at the server-side computing system, a lookup key from the search keyword by applying the pseudo-random function to the search keyword; using the lookup key generated from the search keyword to identify, at the server-side computing system, an encrypted list of encrypted files associated with the search keyword; decrypting, at the server-side computing system, the encrypted list of encrypted files associated with the search keyword using the single cryptographic key designated for the user; using, at the server-side computing system, the decrypted list of encrypted files associated with the search keyword to generate a response to the request from the user.