Patent ID: 8909943

Claim:
A method performed by one or more processing devices, comprising: for each document of a plurality of documents for inclusion in a search index of a search system: receiving the document, the document having an associated access control list (ACL), the ACL comprising data for use in restricting access to the document to users of the search system having credentials that match corresponding data in the ACL; generating, by one or more processors, a first key based on i) a seed value and ii) a second key, the seed value based on the document; encrypting the document using the first key to produce an encrypted document; generating, by the one or more processors, a wrapped key for the document by encrypting both the first key and the ACL using the second key, the wrapped key including a user identifier that identifies one or more users that are permitted to use the first key; storing, in the search index, the encrypted document in association with the wrapped key and an identifier for the document; receiving i) a search query and ii) an authentication credential associated with a particular user providing the search query; in response to receiving the search query, identifying one or more documents of the plurality of documents based on the search query; for each of the one or more identified documents, decrypting the wrapped key using the second key to produce the first key and the ACL for the identified document; determining, by the one or more processors, that the particular user is authorized to access a subset of the one or more identified documents based on, for each identified document, the authentication credential corresponds to the user identifier associated with the identified document; based on the determining, decrypting each of the subset of the one or more identified documents using the first key associated with the corresponding identified document; and providing search results to the particular user including content associated with the subset of the one or more identified documents.