`
`
`as) United States
`
`
`
`
`
`
`
`
`
`a2) Patent Application Publication co) Pub. No.: US 2014/0359282 Al
`
`
`
`
`
`
`
`
` Shikfaet al. (43) Pub. Date: Dec. 4, 2014
`
`
`
`US 20140359282A1
`
`
`
`
`
`
`
`
`(54) SYSTEMS AND METHODS FOR ENABLING
`
`
`SEARCHABLE ENCRYPTION
`
`
`
`
`(71) Applicant: Alcatel- Lucent, Paris (FR)
`cece
`.
`
`
`
`
`Inventors: Abdullatif Shikfa, Villebon-sur-Yvette
`
`
`
`
`
`(FR); Serge Papillon, Paris (FR)
`
`
`
`
`(73) Assignee: ALCATEL-LUCENT,Paris (FR)
`
`
`
`
`(21) Appl. No.: 13/907,044
`
`
`
`(72)
`
`(22)
`
`
`
`Filed:
`
`
`
`May 31, 2013
`
`
`Publication Classification
`
`
`
`
`(51)
`
`
`
`Int. Cl.
`GO6F 21/60
`
`
`
`(2006.01)
`
`
`
`
`10
`
`
`
`
`
`
`
`
`
`
`
`
`(52) U.S. CL
`
`
`
`
`CPC vieccccseseeseseetenscnesenees GO06F 21/602 (2013.01)
`USPC wiecesssesctesseseseseecssseecsnecensensseseeansentes 713/165
`
`
`
`
`
`
`
`
`
`ABSTRACT
`(57)
`
`
`
`
`
`
`
`
`A system and method for enabling searchable encryption of
`
`
`
`
`
`
`
`encrypted documents stored by a client on one or morestor-
`
`
`
`
`
`
`
`age providers includesa brokerserver in communication with
`
`
`
`
`
`
`
`
`
`
`the client and the one or more storage providers. The broker
`
`
`
`
`
`
`
`
`server
`is adapted to transfer the encrypted documents
`
`
`
`
`
`
`
`
`
`betweenthe client and the one or more storage providers and
`
`
`
`
`
`
`
`to maintain information indicating where the encrypted docu-
`mentsare transferred. The broker server further stores infor-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mation for at least one encrypted index for the encrypted
`
`
`
`
`
`
`
`
`
`
`
`
`documents and a test function for a searchable encryption
`
`
`
`
`
`
`
`
`mechanism used to encryptthe at least one encrypted index.
`
`
`
`
`
`
`
`El3|SP5
`
`Client
`
`LEIS|SPo.
`
`
`
`
`Searchable
`
`Encryption
`
`Broker
`
`
`Cloud
`Providers
`
`
`
`Page 1 of 11
`
`Netskope Exhibit 1006
`
`Page 1 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`Patent Application Publication
`
`
`
`
`
`
`
`Dec. 4, 2014 Sheet 1 of 4
`
`
`
`US 2014/0359282 Al
`
`
`
`FIG.1
`
`Cloud
`
`Providers
`
`Searchable
`
`EncryptionBroker
`
`Page 2 of 11
`
`Netskope Exhibit 1006
`
`Page 2 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`Patent Application Publication
`
`
`
`
`
`
`Dec. 4, 2014 Sheet 2 of 4
`
`
`
`US 2014/0359282 Al
`
`
`
`Cloud
`
`Providers
`
`FIG.2
`
`Searchable
`
`EncryptionBroker
`
`Page 3 of 11
`
`Netskope Exhibit 1006
`
`Page 3 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`Patent Application Publication
`
`
`
`
`
`
`Dec. 4, 2014 Sheet 3 of 4
`
`
`
`US 2014/0359282 Al
`
`Cloud
`
`Searchable
`
`EncryptionBroker
`
`FIG.3
`
`
`
`
`
`EncryptedDocuments
`
`Providers
`
`
`Page 4 of 11
`
`Netskope Exhibit 1006
`
`Page 4 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`Patent Application Publication
`
`
`
`
`
`
`Dec. 4, 2014 Sheet 4 of 4
`
`
`
`US 2014/0359282 Al
`
`
`
`
`
`Searchable
`
`EncryptionBroker
`
`
`
`Providers
`
`
`
`Cloud
`
`FIG.4
`
`Page 5 of 11
`
`Netskope Exhibit 1006
`
`Page 5 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`US 2014/0359282 Al
`
`
`Dec. 4, 2014
`
`
`
`SYSTEMS AND METHODS FOR ENABLING
`
`
`
`SEARCHABLE ENCRYPTION
`
`
`
`
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`[0001] The present invention relates to data storage.
`
`
`
`
`
`BACKGROUNDOF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`[0002] Many cloud-basedservices(e.g. data storage, web-
`
`
`
`
`
`
`
`mail services, advertising, geolocation services, and the like)
`
`
`
`
`
`
`
`
`provide the ability to operate on a client’s stored data (e.g.
`
`
`
`
`
`
`
`
`files, email, location, etc.) by providing access to the stored
`
`
`
`
`
`
`
`
`
`
`data. This allowsthe client to search for specific pieces ofdata
`
`
`
`
`
`
`
`
`stored using the cloud-based services. However, this ability to
`
`
`
`
`
`
`
`
`operate on the client’s stored data may be at odds with the
`
`
`
`
`
`
`
`
`client’s data privacy needs, which often require encryption to
`
`
`
`
`
`
`
`
`
`protect the data, because many storage providers do not sup-
`
`
`
`
`
`
`
`port searchable encryption. Therefore, the client’s ability to
`
`
`
`
`
`
`
`
`operate on encrypted data that is stored by one or more cloud
`
`
`
`
`storage providers can be limited.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`methodalso includesstoring, at the broker server, informa-
`
`
`
`
`
`
`
`
`
`tion relating to the at least one encrypted index and a test
`
`
`
`
`
`
`
`function for the searchable encryption mechanism used to
`
`
`
`
`encrypt the encrypted index.
`
`
`
`
`
`
`[0011] According to an embodiment,
`the computerized
`
`
`
`
`
`
`
`
`method mayadditionally comprise the steps of sending the at
`
`
`
`
`
`
`
`
`
`least one encrypted index to the storage provider and main-
`
`
`
`
`
`
`
`
`taining, at the broker server, a secondtranslation table indi-
`
`
`
`
`
`
`
`
`
`cating the encrypted indexesthat are transferred to each stor-
`
`
`age provider.
`
`
`
`
`
`
`[0012] According to an embodiment,
`the computerized
`
`
`
`
`
`
`
`method may additionally comprise the steps of receiving, at
`
`
`
`
`
`
`
`
`the broker server, an encrypted query from the client to be
`
`
`
`
`
`
`
`
`
`searched and executing,at the brokerserver, the test function
`
`
`
`
`
`
`
`
`for the searchable encryption mechanism using the encrypted
`
`
`
`
`
`
`
`
`query andthe encrypted index. The methodfurther comprises
`
`
`
`
`
`
`
`transferring, by the broker server, encrypted documents
`
`
`
`
`
`
`
`
`returned from the test function as satisfying the encrypted
`
`
`
`
`
`
`
`
`
`query from the at least one storage providerto the client.
`
`
`
`
`
`
`[0013] According to an embodiment,
`the computerized
`
`
`
`
`
`
`
`
`
`method may also comprise the steps of sending the at least
`SUMMARY
`
`
`
`
`
`
`
`
`one encrypted index to the storage provider and maintaining,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`at the brokerserver, a secondtranslation table indicating the
`[0003] According to an embodiment, a broker system
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted indexes that are transferred to each storage pro-
`enables searchable encryption ofencrypted documents stored
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`vider. The method may also compriseretrieving the at least
`by a client on one or more storage providers. The broker
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`one encrypted index from the at least one storage provider.
`system includes a broker server in communication with the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0014] According to an embodiment, the broker server may
`client and the storage providers. The broker server is adapted
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be in communication with a plurality of storage providers.
`to transfer the encrypted documents between the client and
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0015] According to an embodiment, the broker server may
`the storage providers and to maintain a table indicating the
`
`
`
`
`
`
`
`
`
`
`
`
`
`be in communication with a plurality of clients.
`encrypted documentsthatare transferred to each storage pro-
`
`
`
`
`
`vider. The broker server also stores information for at least
`
`
`
`
`
`
`
`
`
`[0016] According to an embodiment, the step of sending
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`one encrypted index for the encrypted documents anda test
`the encrypted documentsto the storage provider may include
`
`
`
`
`
`
`
`
`
`
`
`
`function for a searchable encryption mechanism used to
`sending a particular encrypted documentto at least two stor-
`
`
`
`
`
`
`
`
`
`
`encrypt the at least one encrypted index.
`age providers to provide redundancy.
`
`
`
`
`
`
`
`
`
`
`[0004] According to an embodiment, the information for
`[0017] According to an embodiment, a non-transitory, tan-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the at least one encrypted index is the encrypted index.
`gible computer-readable medium stores instructions adapted
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0005] According to an embodiment, the broker server
`to be executed by a computer processorat a broker server to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`transfers the at least one encrypted index to the one or more
`enable searchable encryption of encrypted documents stored
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`storage providers and the information for the at least one
`on at least one storage provider by a client to perform a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted index is a table indicating the encrypted indexes
`method comprising the steps of receiving, at a broker server,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`that are transferred to each storage provider.
`the encrypted documents, at least one encrypted index for the
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted documents, the encrypted index being encrypted
`[0006] According to an embodiment, the broker server is in
`
`
`
`
`
`
`
`
`
`
`by a searchable encryption mechanism, andidentification of
`communication with a plurality of clients.
`
`
`
`
`
`
`
`
`
`
`
`
`
`the searchable encryption mechanism used to encrypt the
`[0007] According to an embodiment, the broker serveris
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted index. The method further includes sending the
`adapted to send a particular encrypted documentto at least
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted documentsto theat least one storage provider and
`twostorage providers to provide redundancy.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`maintaining, at the broker server, a translation table indicat-
`[0008] According to an embodiment, the broker server
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing the encrypted documents that are transferred to each
`executes the test function upon receipt of an encrypted query
`
`
`
`
`
`
`
`
`from the client.
`
`
`
`storage provider. The method also includes storing, at the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`broker server,
`information relating to the at
`least one
`[0009] According to an embodiment,the brokerserver uses
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted index andatest function for the searchable encryp-
`the encrypted query and the encrypted index as input for the
`
`
`
`
`
`
`
`test function.
`
`
`tion mechanism used to encrypt the encrypted index.
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0018] According to an embodiment, the method may fur-
`[0010] According to an embodiment, a computerized
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ther comprise the steps of sending the at least one encrypted
`method for enabling searchable encryption of encrypted
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`index to the storage provider and maintaining, at the broker
`documents stored on at least one storage provider by a client
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`server, a second translation table indicating the encrypted
`includes receiving, at a broker server, the encrypted docu-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`indexesthat are transferred to each storage provider.
`ments, at least one encrypted index for the encrypted docu-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ments, the encrypted index being encrypted by a searchable
`[0019] According to an embodiment, the method may fur-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encryption mechanism, and identification of the searchable
`ther comprise the steps of receiving, at the broker server, an
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encryption mechanism used to encrypt the encrypted index.
`encrypted query from the client to be searched and executing,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`at the broker server, the test function for the searchable
`The method further includes sending the encrypted docu-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ments to the at least one storage provider and maintaining,at
`encryption mechanism using the encrypted query and the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the brokerserver, a translation table indicating the encrypted
`encrypted index. The method may further comprise transfer-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`documents that are transferred to each storage provider. The
`ring, by the broker server, encrypted documents returned
`
`Page 6 of 11
`
`Netskope Exhibit 1006
`
`Page 6 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`US 2014/0359282 Al
`
`
`Dec. 4, 2014
`
`
`
`
`
`
`
`
`
`
`
`
`
`from the test function as satisfying the encrypted query from
`
`
`
`
`
`
`
`the at least one storage providerto theclient.
`
`
`
`
`
`
`
`[0020] According to an embodiment, the method mayalso
`
`
`
`
`
`
`
`
`
`comprise the steps of sending theat least one encrypted index
`
`
`
`
`
`
`
`
`
`to the storage provider and maintaining, at the brokerserver,
`
`
`
`
`
`
`
`
`a secondtranslation table indicating the encrypted indexes
`
`
`
`
`
`
`
`
`
`thatare transferred to each storage provider. The method may
`
`
`
`
`
`
`
`
`
`also comprise retrieving the at least one encrypted index from
`
`
`
`
`
`the at least one storage provider.
`
`
`
`
`
`[0021] According to an embodiment,the broker server may
`
`
`
`
`
`
`be in communication with a plurality of storage providers.
`
`
`
`
`
`
`[0022] According to an embodiment, the step of sending
`
`
`
`
`
`
`
`
`the encrypted documentsto the storage provider may include
`
`
`
`
`
`
`
`sending a particular encrypted documentto at least two stor-
`
`
`
`
`age providers to provide redundancy.
`
`
`
`
`
`
`
`
`[0023] These and other embodiments of will become
`
`
`
`
`
`
`apparentin light of the following detailed description herein,
`
`
`
`
`
`with reference to the accompanying drawings.
`
`
`
`
`
`
`
`
`
`
`
`client 16 encrypts the one or more indexes 24 using a search-
`
`
`
`
`
`
`
`
`able encryption mechanism to generate one or more
`
`
`
`
`
`
`
`encrypted indexes 28. The searchable encryption mechanism
`
`
`
`
`
`
`
`
`used to encrypt the indexes 24 may be any searchable encryp-
`
`
`
`
`
`
`
`
`tion mechanism known in the art and is typically different
`
`
`
`
`
`
`
`
`than the encryption mechanism used to encrypt the docu-
`
`
`
`
`
`
`
`ments 26 since the searchable encryption mechanism is spe-
`
`
`
`
`
`
`cific to searchable encryption. Exemplary searchable encryp-
`tion mechanisms are described in the article Boolean
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`symmetric searchable encryption, by Tarik Moataz and
`
`
`
`
`
`
`
`
`Abdullatif Shikfa. 2013. In Proceedings of the 8th ACM
`
`
`
`
`
`
`SIGSAC symposium on Information, computer and commu-
`
`
`
`
`
`
`
`
`
`nications security (ASIA CCS 713). ACM, New York, N.Y.,
`
`
`
`
`
`
`
`
`USA, 265-276, and in the article Semantic Search Over
`
`
`
`
`
`
`
`Encrypted Data, by Tarik Moataz; Abdullatif Shikfa; Nora
`
`
`
`
`
`
`Cuppens-Boulahia and Frederic Cuppens. 2013. In Proceed-
`
`
`
`
`
`
`ings of the 20th IEEE International Conference on Telecom-
`
`
`
`
`
`
`
`
`munications (ICT 2013), which are both hereby incorporated
`
`
`
`
`
`
`by reference in their entireties. As should be understood by
`
`
`
`
`
`
`
`
`
`
`those skilled in the art, the broker system 10 may work with
`
`
`
`
`
`
`
`any searchable encryption mechanism andis not limited to
`
`
`
`
`
`
`
`the exemplary mechanisms described in the articles refer-
`
`
`
`
`
`
`
`enced above. The numberof encrypted indexes 28 generated
`
`
`
`
`
`
`
`
`by the client 16 for a particular number of encrypted docu-
`
`
`
`
`
`
`
`ments 14 may depend onthe specific searchable encryption
`
`
`
`
`
`
`
`
`
`mechanism usedto encrypt the index 24. For example, some
`
`
`
`
`
`
`searchable encryption mechanisms may generate one
`
`
`
`
`
`
`
`
`encrypted index 28 per encrypted document 14, while other
`
`
`
`
`
`
`searchable encryption mechanisms may generate a single
`
`
`
`
`
`encrypted index 28forall ofthe encrypted documents 14. The
`
`
`
`
`
`
`specific encryption mechanism for encrypting the documents
`
`
`
`
`
`
`
`
`26 and the specific searchable encryption mechanism for
`DETAILED DESCRIPTION
`
`
`
`
`
`
`
`
`
`
`searchably encrypting the one or more indexes 24 are not
`
`
`
`
`
`
`described in detail as a variety of encryption mechanisms and
`
`
`
`
`
`
`[0028] Referring to FIG. 1, a broker system 10 includes a
`
`
`
`
`
`
`searchable encryption mechanisms should be knownto those
`
`
`
`
`
`
`
`
`broker server 12 that enables searchable encryption of
`skilled in the art.
`
`
`
`
`
`
`
`
`
`encrypted documents 14 stored by a client 16 on one or more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0030] Theclient 16 sends the encrypted documents 14 and
`cloud storage providers 18. The broker server 12 is in com-
`
`
`
`
`
`
`
`munication with the client 16 overa first communication link
`
`
`
`
`
`
`
`
`the corresponding encrypted index 28 (which maybe one or
`
`
`
`
`
`
`
`20 that allows the broker server 12 and client 16 to transfer
`
`
`
`
`
`
`
`
`
`several
`indexes depending on the searchable encryption
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mechanism used) to the broker server 12 over the first com-
`data, such as the encrypted documents 14 (e.g. files, docu-
`munication link 20. The client 16 also informs the broker
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ments, email, location data, or any other similar data), ther-
`
`
`
`
`
`ebetween. The broker server 12 is also in communication with
`
`
`
`
`
`
`
`server 12 of the searchable encryption mechanism used to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypt the encrypted indexes 28 over the communication
`each cloud storage provider 18 over second communication
`
`
`
`
`
`
`
`
`
`link 20, which allows the broker module 12 to executea test
`links 22 that also allows the broker server 12 and the one or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`function for the searchable encryption mechanism to search
`more cloud storage providers 18 to transfer data, such as the
`
`
`
`
`
`
`
`
`
`
`
`
`
`the encrypted documents 14 as will be discussed below.
`encrypted documents 14, therebetween. Thefirst communi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0031] The broker server 12 receives the encrypted docu-
`cation link 20 and the second communication links 22 may be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ments 14, the encrypted index(es) 28, and the information on
`any suitable communication network for connecting elec-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the searchable encryption mechanism from the client 16. The
`tronic devices, such as a computer network that may include
`
`
`
`
`
`
`
`connections across the World Wide Web. The broker server 12
`
`
`
`
`
`
`
`
`broker server 12 sends the encrypted documents 14 to the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cloud storage providers 18 since the brokerserver 12 relies on
`acts as an intermediary between the client 16 and the cloud
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the cloud storage providers 18 to store data. The broker server
`storage provider 18 to provide searchable encryption so that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`12 generates and stores in memoryatranslation table T1
`client may execute encrypted searches ofthe encrypted docu-
`
`
`
`
`
`
`
`
`ments 14.
`
`
`indicating which encrypted documents 14 (e.g. D1, D2, D3,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`etc) are stored on which cloud storage provider 18 (e.g. SP1,
`[0029] Referring to FIG. 2, for the broker system 10 to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SP2, SP3, SP4, SPS, etc.). The broker server 12 may transmit
`provide searchable encryption at the broker server 12, the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`one or more of the encrypted documents 14 to more than one
`client 16 generates one or more indexes 24 for one or more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cloud storage provider 18. In this case, the translation table T1
`documents 26 that are to be encrypted as encrypted docu-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`may be generated/updated to indicate that a particular
`ments 14 and stored on the storage providers 18. Each index
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encrypted document14 (e.g., D1) is stored on multiple cloud
`24 includes one or more keywords for the encrypted docu-
`
`
`
`
`
`
`
`
`
`
`
`
`storage providers 18 (e.g., SP1, SP2).
`ments 14 and pointers to the encrypted documents 14 con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`taining the keywords. The client 16 encrypts the one or more
`[0032] The broker server 12 maystore the encrypted index
`
`
`
`
`
`
`
`
`
`
`
`
`
`documents 26 using any desired encryption mechanism
`(es) 28 directly in a locally accessible memory or may send
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`knownin the art to provide the encrypted documents 14. The
`the encrypted index(es) 28 to one or more ofthe cloud storage
`
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`[0024]
`FIG. 1 is a schematic diagram of a broker system
`
`
`according to an embodiment;
`
`
`
`
`
`[0025] FIG.2isa schematic diagram of an embodimentfor
`
`
`
`
`
`
`
`providing searchable encryption throughthe broker system of
`
`FIG.1;
`
`
`
`
`
`[0026] FIG.3isa schematic diagram of an embodimentfor
`
`
`
`
`
`
`
`executing an encrypted query through the broker system of
`
`
`FIG.1; and
`
`
`
`
`
`[0027]
`FIG. 4isa schematic diagram of an embodimentfor
`
`
`
`
`
`
`
`
`redundantly storing data through the broker system of FIG.1.
`
`Page 7 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`Page 7 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`US 2014/0359282 Al
`
`
`Dec. 4, 2014
`
`
`
`
`
`
`
`
`
`
`providers 18 to minimize storage requirements for local
`
`
`
`
`
`
`
`
`memory. When the broker server 12 sends the encrypted
`
`
`
`
`
`
`
`
`index(es) 28 to one or more ofthe cloud storage providers 18,
`
`
`
`
`
`
`
`
`the broker server 12 generates and stores in memory a trans-
`
`
`
`
`
`
`
`lation table T2 indicating which encrypted index(es) (e.g.
`
`
`
`
`
`
`
`
`
`
`E11, E12, E13, etc.) are stored on which cloud storage pro-
`
`
`
`
`
`
`
`
`
`
`vider 18 (e.g. SP1, SP2, SP3, SP4, SP5, etc.). As with the
`
`
`
`
`
`
`
`
`
`encrypted documents 14, the broker server 12 may send one
`
`
`
`
`
`
`
`or more of the encrypted index(es) for storage on multiple
`
`
`
`cloud storage providers.
`
`
`
`
`
`
`
`
`[0033] The broker server 12 also stores the information on
`
`
`
`
`
`
`
`the searchable encryption mechanism from the client 16 used
`
`
`
`
`
`
`
`
`to searchably encrypt the encrypted index(es) 28 in local
`
`
`
`
`
`
`
`
`memory. The broker server 12 uses the information on the
`
`
`
`
`
`searchable encryption mechanism to perform searchesof the
`
`
`
`
`
`
`
`encrypted documents 14, as discussed in greater detail below.
`
`
`
`
`
`
`
`[0034] Referring to FIG. 3, when the client 16 wants to
`
`
`
`
`
`
`
`search for a encrypted document 14 containing one or more
`
`
`
`
`
`
`
`keywords, the client 16 generates an encrypted search query
`
`
`
`
`
`
`
`
`30 for the keywordsas per the searchable encryption mecha-
`
`
`
`
`
`
`
`
`
`nism usedto encrypt the encrypted index(es) 28 and sends the
`
`
`
`
`
`
`
`
`encrypted query 30 to the broker server 12 over the commu-
`nication link 20.
`
`
`
`
`
`
`
`
`
`
`[0035] When the broker server 12 receives the encrypted
`
`
`
`
`
`
`
`
`
`
`search query 30 from the client 16, the broker server 12
`
`
`
`
`
`
`
`
`
`implements the specific test function for the specific search-
`
`
`
`
`
`
`able encryption mechanism to determine which encrypted
`
`
`
`
`
`
`
`documents 14 correspondsto the encrypted query 30, if any.
`
`
`
`
`
`
`
`
`
`Asdiscussed above, the broker server 12 knows which spe-
`
`
`
`
`
`
`
`
`
`
`cific test function to select and apply for the specific search-
`
`
`
`
`
`
`
`able encryption mechanism becausethe client 16 previously
`
`
`
`
`
`
`
`
`provided the broker server 12 with the information on the
`
`
`
`
`
`
`
`searchable encryption mechanism used to encrypt
`the
`
`
`
`encrypted index(es) 28.
`
`
`
`
`
`
`
`
`
`[0036] The specific test function selected for the specific
`
`
`
`
`
`
`
`searchable encryption mechanism uses the encrypted query
`
`
`
`
`
`
`
`30 and the encrypted index(es) 28 as input forits determina-
`
`
`
`
`
`
`
`
`tion. Thus, when the broker server 12 receives the encrypted
`
`
`
`
`
`
`
`
`
`
`query 30 from the client 16, the broker server 12 only obtains
`
`
`
`
`
`
`
`
`
`the encrypted index(es) 28 for that client 16 to execute the
`
`
`
`
`
`
`
`specific test function. As discussed above, in some embodi-
`
`
`
`
`
`
`
`ments, the encrypted index(es) 28 may bestored locally in
`
`
`
`
`
`
`
`
`memory on the broker server 12 and, therefore, may be
`
`
`
`
`
`
`readily available. In other embodiments, where the encrypted
`
`
`
`
`
`
`
`index(es) 28 is stored at one or more cloud storage providers
`
`
`
`
`
`
`
`
`
`18, the broker server 12 may use the translation table T2
`
`
`
`
`
`
`
`stored in local memory toretrieve the encrypted index(es) 28
`
`
`
`
`
`
`
`
`from the cloud storage provider 18 at which it was stored
`
`
`
`
`
`
`
`
`
`using the second communication links 22. For example, in the
`
`
`
`
`
`
`
`exemplary embodiment of FIG. 3,
`the broker server 12
`
`
`
`
`
`
`
`
`
`retrieves encrypted indexes E11, E12 and E13. The broker
`
`
`
`
`
`
`
`
`
`
`server 12 then appliesthe specific test functionfor the search-
`
`
`
`
`
`
`
`able encryption mechanism to the encrypted indexes, which
`
`
`
`
`
`
`
`
`
`returns identifiers (e.g. D1, D2, D3, etc.) of the one or more
`
`
`
`
`
`
`
`
`encrypted documents 14 that satisfy the encrypted query 30.
`
`
`
`
`
`
`
`
`For example, in the exemplary embodimentof FIG.3, the test
`function returns identifier D2. The broker server 12 uses the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`translation table T1, which is stored in local memory, to look
`
`
`
`
`
`
`
`
`up the identifier(s) returned bythetest function (e.g. D2) and
`
`
`
`
`
`
`then retrieves the corresponding encrypted document(s) 14
`
`
`
`
`
`
`
`from the storage providers 18 according to standard methods
`
`
`
`
`
`
`
`
`(e.g. using the storage provider’s application program inter-
`
`
`
`
`
`
`
`
`
`face) over the second communication link(s) 22. The broker
`
`
`
`
`
`
`
`server 12 then returnstheretrieved encrypted document(s) 14
`
`to the client 16 over the first communication link 20. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`client 16 may then unencrypt the encrypted document(s) 14
`
`
`
`
`
`
`
`
`
`
`since the client 16 knows the encryption that was used to
`
`
`
`
`initially encrypt the document26.
`
`
`
`
`
`
`
`
`[0037] Thus, the broker server 12 allowsclients 16 to store
`
`
`
`
`
`
`
`encrypted (i.e. secure) documents 14 on cloud storage pro-
`
`
`
`
`
`
`
`viders 18 by providing searchable encryption that enables the
`
`
`
`
`
`
`
`clients 16 to search andretrieve the encrypted documents 14.
`
`
`
`
`
`
`
`
`In order to provide the searchable encryption, the broker
`
`
`
`
`
`
`
`
`
`server 12 needsto locally store only the translation table T1,
`
`
`
`
`
`
`
`
`the translation table T2 (or the encrypted index(es) 28), and
`
`
`
`
`
`
`
`
`
`the test function for the at least one searchable encryption
`mechanism.
`
`
`
`
`
`
`
`[0038] Additionally, the broker server 12 may act as an
`
`
`
`
`
`aggregator of searchable encryption mechanisms to support
`
`
`
`
`
`
`many different searchable encryption mechanismsby storing
`
`
`
`
`
`
`
`
`test functions for the many different searchable encryption
`
`
`
`
`
`
`
`
`mechanismsin local memory. The clients 16 may then select
`
`
`
`
`
`
`
`
`which searchable encryption mechanism bestsuits their secu-
`
`
`
`
`
`
`
`
`
`rity needs when using the brokerserver 12 to store encrypted
`
`
`
`
`
`documents 14 on cloud storage providers 18.
`
`
`
`
`
`
`
`[0039] Referring to FIG. 4, in embodiments, the broker
`
`
`
`
`
`
`
`
`server 12 may also provide redundancy whenstoring data
`
`
`
`
`
`
`
`from clients 16 by storing specific encrypted documents 14,
`
`
`
`
`
`
`
`
`
`encrypted indexes 28, or parts thereof, on multiple cloud
`
`
`
`
`
`storage providers 18 to guarantee availability of the stored
`
`
`
`
`
`
`
`
`
`data, particularly in case there are defects at one or more
`
`
`
`
`
`
`
`
`storage providers 18. For example, in embodiments, the bro-
`
`
`
`
`
`
`
`ker system 10 may implementan error correcting code to
`
`
`
`
`
`
`
`correct defects of a particular storage provider 18 whentrans-
`
`
`
`
`
`
`
`
`ferring the encrypted documents 14 to the brokerserver 12, as
`
`
`
`
`
`
`
`
`
`should be understood by those skilled in the art, so that the
`
`
`
`
`
`
`
`
`data being stored on any particular storage provider 18 may
`
`
`
`
`
`
`be a function ofpart of a particular encrypted document. In
`
`
`
`
`
`
`
`the exemplary embodiment of FIG. 4, the broker server 12
`
`
`
`
`
`
`
`stores the encrypted document D1 on storage providers SP1
`
`
`
`
`
`
`
`
`
`and SP4 andstores the encrypted index E11 on storage pro-
`
`
`
`
`
`
`
`
`
`vider SP3 and SPS. In these embodiments, the broker server
`12 extends the translation table T1 and the translation table
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`T2, if the encrypted indexes 28 are being stored on storage
`
`
`
`
`
`
`
`
`providers 18, to encompass the case of several storage pro-
`
`
`
`
`
`
`
`viders 18 are storing the same encrypted documents 14 or
`
`
`
`
`
`
`
`
`indexes 28. Ifthe broker server 12 redundantly stores parts or
`
`
`
`
`
`
`portions of specific encrypted documents 14 and/or specific
`
`
`
`
`
`
`
`encrypted indexes 28 on different storage providers 18, the
`translation tables Tl and T2 should also be extended to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`include how theparts or portions of the specific encrypted
`
`
`
`
`
`
`
`
`documents 14 and/or specific encrypted indexes 28 are
`recombined.
`
`
`
`
`
`
`
`
`
`[0040] The broker server 12 may update the translation
`
`
`
`
`
`
`
`
`
`tables T1 and T2 at each action on the storage side (i.e. each
`
`
`
`
`
`
`
`
`time the broker server 12 stores another encrypted document
`
`
`
`
`
`
`
`
`14, encrypted index 28, or portion thereof, on one or more of
`
`
`
`
`
`
`
`
`
`the storage providers 18). For example,ifthe broker server 12
`
`
`
`
`
`
`determines that a particular storage provider 18 is defective,
`
`
`
`
`
`
`
`
`
`
`the broker module 12 maystore the data, or any portion
`
`
`
`
`
`
`
`
`thereof, that was stored on the defective storage provider 18
`
`
`
`
`
`
`
`on another storage provider 18 to maintain redundancy. The
`
`
`
`
`
`
`
`
`broker server 12 then updatesthe translation tables T1 and T2
`to reflect this modification.
`
`
`
`
`
`
`
`
`
`
`
`
`[0041] Although the broker server 12 has been described
`
`
`
`
`
`
`
`
`above as being separate from the storage providers 18 and in
`
`
`
`
`
`
`communication with a plurality of storage provider 18 over
`
`
`
`
`
`
`
`second communication links 22, in embodiments, the broker
`
`Page 8 of 11
`
`Netskope Exhibit 1006
`
`Page 8 of 11
`
`Netskope Exhibit 1006
`
`
`
`
`
`US 2014/0359282 Al
`
`
`Dec. 4, 2014
`
`
`
`
`
`
`
`
`
`
`
`
`server 12 may, itself, be a storage provider 18 and may pro-
`
`
`
`
`
`
`vide similar functionality to that discussed herein.
`
`
`
`
`
`
`
`
`[0042] The broker system 10 has the necessary electronics,
`
`
`
`
`
`
`software, memory, storage, databases, firmware, logic/state
`
`
`
`
`
`machines, microprocessors, communication links, displays
`
`
`
`
`
`
`
`
`
`or other visual or audio user interfaces, printing devices, and
`
`
`
`
`
`
`
`
`any other input/output interfaces to perform the functions
`described herein and/or to achieve the results described
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`herein. For example, the broker server 12 may includeat least
`
`
`
`
`
`
`
`one processor, system memory,
`including random access
`
`
`
`
`
`
`
`memory (RAM) and read-only memory (ROM), an input/
`
`
`
`
`
`
`
`
`
`output controller, and one or more data storage structures. All
`ofthese latter elements are in communication withtheatleast
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`one processorto facilitate the operation of the broker server
`
`
`
`
`
`
`
`
`12 as discussed above. Suitable computer program code may
`
`
`
`
`
`
`
`be provided for executing numerous functions,
`including
`those discussed above in connection with the broker server
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`12, client 16 and storage provider 18. The computer program
`
`
`
`
`
`
`
`
`code mayalso include program elements such as an operating
`
`
`
`
`
`
`
`system, a database management system and “device drivers”
`
`
`
`
`
`
`
`
`
`
`that allow the broker server 12, client 16 and storage provider
`
`
`
`
`
`
`
`
`18 to interface with computer peripheral devices (e.g., a video
`
`
`
`
`
`display, a keyboard, a computer mouse,etc.).
`
`
`
`
`
`
`
`[0043] The at least one processor of the broker server 12
`
`
`
`
`
`
`
`may include one or more conventional microprocessors and
`
`
`
`
`
`
`one or more supplementary co-processors such as math co-
`
`
`
`
`
`
`
`processorsorthe like. The processor may be in communica-
`
`
`
`
`
`
`
`
`tion with a communication interface unit, which may include
`
`
`
`
`
`
`
`multiple communication channels, e.g. the first communica-
`tion link 20 and the second communication link 22 for simul-
`
`
`
`
`
`
`

Accessing this document will incur an additional charge of $.
After purchase, you can access this document again without charge.
Accept $ ChargeStill Working On It
This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.
Give it another minute or two to complete, and then try the refresh button.
A few More Minutes ... Still Working
It can take up to 5 minutes for us to download a document if the court servers are running slowly.
Thank you for your continued patience.

This document could not be displayed.
We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.
You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.
Set your membership
status to view this document.
With a Docket Alarm membership, you'll
get a whole lot more, including:
- Up-to-date information for this case.
- Email alerts whenever there is an update.
- Full text search for other cases.
- Get email alerts whenever a new case matches your search.

One Moment Please
The filing “” is large (MB) and is being downloaded.
Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!
If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document
We are unable to display this document, it may be under a court ordered seal.
If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.
Access Government Site