×

Searchable encryption enabling encrypted search based on document type

  • US 10,498,706 B2
  • Filed: 08/27/2018
  • Issued: 12/03/2019
  • Est. Priority Date: 07/24/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • receiving, at a network intermediary device over a communication network, a received document destined for a cloud service provider, the received document having a received document type;

    determining the received document type of the received document;

    selecting one or more keywords in the received document;

    for each selected one or more keywords in the received document;

    deriving a plurality of keys for the selected keyword;

    encrypting a document index identifying the received document using a first of the plurality of keys using a first encryption algorithm;

    generating an encrypted keyword label based on a second of the plurality of keys, the determined document type, a selected keyword counter value indicative of a count of occurrences of the selected keyword in previously encrypted documents of the received document type, and a pseudorandom function; and

    generating a search index entry mapping the encrypted keyword label to the encrypted document index;

    generating a search index in response to the search index entries generated for the one or more keywords in the received document;

    encrypting the received document using a second encryption algorithm that is different from the first encryption algorithm;

    transmitting the encrypted document to the cloud service provider;

    storing the encrypted document at the cloud service provider;

    receiving, at the network intermediary device, a search request with a search term for all document types;

    generating a search term label based on the pseudorandom function, a key that is a function of the search term, a document type, and a search value;

    searching for the search term label in the search index;

    in response to finding the search term label in the search index;

    retrieving from the search index the encrypted document index corresponding to the search term label;

    changing the search value; and

    after changing the search value, regenerating the search term label based on the pseudorandom function, the key, the document type, and the search value;

    in response to not finding the search term label in the search index;

    changing the document type;

    after changing the document type, regenerating the search term label based on at least the pseudorandom function, the key, and the document type;

    decrypting the retrieved encrypted document index;

    retrieving the encrypted document from the cloud service provider using the decrypted document index;

    decrypting the retrieved document; and

    providing the decrypted document as the search result.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×