US 11,782,911 B1
Systems and methods for cryptographically-secure queries using filters generated by multiple parties
Ryan Mark Speers, Silver Spring, MD (US); Adam Ghetti, Atlanta, GA (US); Brian Michael Vohaska, Silver Spring, MD (US); Jeremy Michael Eckman, Annapolis, MD (US); Katrina Jean Ray, Odenton, MD (US); and Jonathan Thomas Burns, Annapolis, MD (US)
Assigned to lonic Security Inc., Atlanta, GA (US)
Filed by Ionic Security Inc., Atlanta, GA (US)
Filed on Sep. 15, 2021, as Appl. No. 17/476,102.
Application 17/476,102 is a continuation of application No. 16/682,336, filed on Nov. 13, 2019, granted, now 11,238,032.
Application 16/682,336 is a continuation of application No. 15/392,561, filed on Dec. 28, 2016, granted, now 10,503,730, issued on Dec. 10, 2019.
Claims priority of provisional application 62/271,830, filed on Dec. 28, 2015.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/242 (2019.01); G06F 16/23 (2019.01); G06F 21/60 (2013.01)
CPC G06F 16/2425 (2019.01) [G06F 16/2365 (2019.01); G06F 21/602 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, via at least one computing device, a search request comprising one or more data items to be searched against a plurality of filters representing a plurality of data items stored in a storage system;
generating, via the at least one computing device, a masked version of each of the one or more data items by applying a first predetermined algorithm to each of the one or more data items;
transmitting, via the at least one computing device, the masked version of each of the one or more data items to at least one second computing device for securing the masked version of each of the one or more data items;
receiving, via the at least one computing device, a secured version of the one or more data items from the at least one second computing device;
generating, via the at least one computing device, query data by applying a second predetermined algorithm to the secured version of the one or more data items;
transmitting, via the at least one computing device, the query data to the storage system;
querying, via the storage system, the query data against the plurality of filters to identify one or more search results corresponding to the search request from the plurality of data items stored in the storage system;
receiving, via the at least one computing device, the one or more search results from the storage system; and
retrieving, via the at least one computing device, a decrypted version of the one or more search results.