IP Library Granted Patent US 12,289,397
Granted Patent B2
US 12,289,397 · App. 18/234,224 · Granted Apr 29, 2025

Systems and methods for selective access to logs

Inventors: Vaughan Shanks (Kew, AU); Andrew Lampert (Pascoe Vale South, AU)
Assignee: Palantir Technologies Inc.
H04L9/0825G06F21/62H04L9/083H04L9/0894H04L9/3226H04L63/0435H04W12/04H04W12/06H04W12/08G06F2221/2101G06F2221/2107
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,289,397
App. No.
18/234,224
Granted
Apr 29, 2025
Kind
B2
Abstract

Systems are provided for managing access to a log of dataset that is generated when the dataset is accessed. A system stores, with respect to each of a log producer and a log accessor, an encrypted symmetric key for dataset that is encrypted using a corresponding public key. The system returns the encrypted symmetric key for the log producer, such that the log producer can decrypt the dataset that is encrypted using the symmetric key. A log of the dataset is generated when the log producer accesses the dataset.

Claims (73)

1. A system, comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

creating a public key and a secret key corresponding to a role, wherein the public key and the secret key are configured to encrypt and decrypt, respectively, one or more dataset keys;

creating a dataset or obtaining an indication that the dataset has been created;

generating a dataset key in response to creating the dataset or obtaining the indication that the dataset has been created, wherein the dataset key is configured to encrypt and decrypt the dataset;

encrypting the dataset into an encrypted dataset using the dataset key;

encrypting the dataset key into an encrypted dataset key using the public key;

receiving a request to access the dataset, the request indicating the role and an identifier for the dataset;

transmitting the encrypted dataset key in response to receiving the request to access the dataset;

decrypting the encrypted dataset key using the secret key, wherein the decrypting of the encrypted dataset key causes generation of the dataset key;

decrypting the encrypted dataset using the dataset key, wherein the decrypting of the encrypted dataset causes generation of the dataset or a copy of the dataset;

in response to receiving an indication that the dataset or the copy of the dataset has been accessed, generating a log, wherein the log comprises different portions having different security parameters or different access privileges;

encrypting the log using the dataset key;

storing the encrypted log with the dataset or the copy of the dataset in a storage; and

deactivating the dataset key upon the log being encrypted.

2. The system of claim 1 , wherein the instructions further cause the system to perform:

obtaining a request to access the encrypted log, the request corresponding to a different role, wherein the request indicates the different role and the identifier for the dataset;

in response to obtaining the request to access the encrypted log:

providing a different encrypted dataset key;

decrypting the different encrypted dataset key using a different secret key, wherein the decrypting of the different encrypted dataset key causes generation of the dataset key;

providing the encrypted log and the encrypted dataset; and

decrypting the encrypted log using the dataset key.

3. The system of claim 2 , wherein the instructions further cause the system to perform:

receiving a request for deletion of the different encrypted dataset key, wherein the different encrypted dataset key corresponds to a first access privilege;

determining whether a deletion access privilege corresponding to the request for deletion exceeds the first access privilege; and

selectively deleting the different encrypted dataset key based on the determination of whether the access privilege corresponding to the request for deletion exceeds the first access privilege.

4. The system of claim 3 , wherein the selectively deleting the different encrypted dataset key comprises:

deleting the different encrypted dataset key in response to the deletion access privilege exceeding the first access privilege; or

refraining from deleting the different encrypted dataset key in response to the deletion access privilege being equal or less than the first access privilege.

5. The system of claim 4 , wherein the instructions further cause the system to perform:

in response to deleting the different encrypted dataset key:

receiving an other request to access the encrypted log according to the first access privilege; and

denying the other request to access the encrypted log.

6. The system of claim 1 , wherein the instructions further cause the system to perform:

storing the secret key and the dataset key in separate servers.

7. The system of claim 2 , wherein the secret key and the different secret key correspond to different access privileges; and the secret key and the different secret key are stored in a common server.

8. A method comprising:

creating a public key and a secret key corresponding to a role, wherein the public key and the secret key are configured to encrypt and decrypt, respectively, one or more dataset keys;

creating a dataset or obtaining an indication that the dataset has been created;

generating a dataset key in response to creating the dataset or obtaining the indication that the dataset has been created, wherein the dataset key is configured to encrypt and decrypt the dataset;

encrypting the dataset into an encrypted dataset using the dataset key;

encrypting the dataset key into an encrypted dataset key using the public key;

receiving a request to access the dataset, the request indicating the role and an identifier for the dataset;

transmitting the encrypted dataset key in response to receiving the request to access the dataset;

decrypting the encrypted dataset key using the secret key, wherein the decrypting of the encrypted dataset key causes generation of the dataset key;

decrypting the encrypted dataset using the dataset key, wherein the decrypting of the encrypted dataset causes generation of the dataset or a copy of the dataset;

in response to receiving an indication that the dataset or the copy of the dataset has been accessed, generating a log, wherein the log comprises different portions having different security parameters or different access privileges;

encrypting the log using the dataset key;

storing the encrypted log with the dataset or the copy of the dataset in a storage; and

deactivating the dataset key upon the log being encrypted.

9. The method of claim 8 , further comprising:

obtaining a request to access the encrypted log, the request corresponding to a different role, wherein the request indicates the different role and the identifier for the dataset;

in response to obtaining the request to access the encrypted log:

providing a different encrypted dataset key;

decrypting the different encrypted dataset key using a different secret key, wherein the decrypting of the different encrypted dataset key causes generation of the dataset key;

providing the encrypted log and the encrypted dataset; and

decrypting the encrypted log using the dataset key.

10. The method of claim 9 , further comprising:

receiving a request for deletion of the different encrypted dataset key, wherein the different encrypted dataset key corresponds to a first access privilege;

determining whether a deletion access privilege corresponding to the request for deletion exceeds the first access privilege; and

selectively deleting the different encrypted dataset key based on the determination of whether the access privilege corresponding to the request for deletion exceeds the first access privilege.

11. The method of claim 10 , wherein the selectively deleting the different encrypted dataset key comprises:

deleting the different encrypted dataset key in response to the deletion access privilege exceeding the first access privilege; or

refraining from deleting the different encrypted dataset key in response to the deletion access privilege being equal or less than the first access privilege.

12. The method of claim 11 , further comprising:

in response to deleting the different encrypted dataset key:

receiving an other request to access the encrypted log according to the first access privilege; and

denying the other request to access the encrypted log.

13. The method of claim 8 , further comprising:

storing the secret key and the dataset key in separate servers.

14. The method of claim 9 , wherein the secret key and the different secret key correspond to different access privileges; and the method further comprises:

storing the secret key and the different secret key in a common server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2023
From: SHANKS, VAUGHAN; LAMPERT, ANDREW
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 064596/0947 →
Continuity (4)
Continuation 17481221 · Sep 21, 2021
Continuation 15991366 · May 29, 2018
Provisional Application 62595857 · Dec 7, 2017
Related Publication 20230388108A1 · Nov 30, 2023
References Cited (133)
US 5978475A · Schneier et al. · 1999 [cited by applicant]
US 6253203B1 · O'Flaherty et al. · 2001 [cited by applicant]
US 6725240B1 · Asad et al. · 2004 [cited by applicant]
US 6807569B1 · Bhimani et al. · 2004 [cited by applicant]
US 7017046B2 · Doyle et al. · 2006 [cited by applicant]
US 7069586B1 · Winneg et al. · 2006 [cited by applicant]
US 7225468B2 · Waisman et al. · 2007 [cited by applicant]
US 7596285B2 · Brown et al. · 2009 [cited by applicant]
US 7770032B2 · Nesta et al. · 2010 [cited by applicant]
US 7801871B2 · Gosnell · 2010 [cited by applicant]
US 7962495B2 · Jain et al. · 2011 [cited by applicant]
US 8181253B1 · Zaitsev et al. · 2012 [cited by applicant]
US 8190893B2 · Benson et al. · 2012 [cited by applicant]
US 8196184B2 · Amirov et al. · 2012 [cited by applicant]
US 8239668B1 · Chen et al. · 2012 [cited by applicant]
US 8301904B1 · Gryaznov · 2012 [cited by applicant]
US 8312546B2 · Alme · 2012 [cited by applicant]
US 8646080B2 · Williamson et al. · 2014 [cited by applicant]
US 8683322B1 · Cooper · 2014 [cited by applicant]
US 8726379B1 · Stiansen et al. · 2014 [cited by applicant]
US 8769412B2 · Gill et al. · 2014 [cited by applicant]
US 8782794B2 · Ramcharran · 2014 [cited by applicant]
US 8931043B2 · Cooper et al. · 2015 [cited by applicant]
US 9021260B1 · Falk et al. · 2015 [cited by applicant]
US 9049117B1 · Nucci et al. · 2015 [cited by applicant]
US 9100428B1 · Visbal · 2015 [cited by applicant]
US 9335897B2 · Goldenberg · 2016 [cited by applicant]
US 9338013B2 · Castellucci et al. · 2016 [cited by applicant]
US 20020112157A1 · Doyle et al. · 2002 [cited by applicant]
US 20030236992A1 · Yami · 2003 [cited by applicant]
US 20040123139A1 · Aiello et al. · 2004 [cited by applicant]
US 20040153418A1 · Hanweck · 2004 [cited by applicant]
US 20040250124A1 · Chesla et al. · 2004 [cited by applicant]
US 20050157662A1 · Bingham et al. · 2005 [cited by applicant]
US 20050160095A1 · Dick et al. · 2005 [cited by applicant]
US 20050229256A2 · Banzhof · 2005 [cited by applicant]
US 20050262556A1 · Waisman et al. · 2005 [cited by applicant]
US 20050275638A1 · Kolmykov-Zotov et al. · 2005 [cited by applicant]
US 20060031928A1 · Conley et al. · 2006 [cited by applicant]
US 20060069912A1 · Zheng et al. · 2006 [cited by applicant]
US 20060179003A1 · Steele et al. · 2006 [cited by applicant]
US 20060212931A1 · Shull et al. · 2006 [cited by applicant]
US 20060218637A1 · Thomas et al. · 2006 [cited by applicant]
US 20060265747A1 · Judge · 2006 [cited by applicant]
US 20070143851A1 · Nicodemus · 2007 [cited by applicant]
US 20070288768A1 · Nesta et al. · 2007 [cited by applicant]
US 20070294766A1 · Mir et al. · 2007 [cited by applicant]
US 20080104407A1 · Horne et al. · 2008 [cited by applicant]
US 20080201580A1 · Savitzky et al. · 2008 [cited by applicant]
US 20080222706A1 · Renaud et al. · 2008 [cited by applicant]
US 20080229422A1 · Hudis et al. · 2008 [cited by applicant]
US 20090103442A1 · Douville · 2009 [cited by applicant]
US 20090228701A1 · Lin · 2009 [cited by applicant]
US 20090300712A1 · Kaufmann et al. · 2009 [cited by applicant]
US 20090328222A1 · Helman et al. · 2009 [cited by applicant]
US 20100077481A1 · Polyakov et al. · 2010 [cited by applicant]
US 20100100963A1 · Mahaffey · 2010 [cited by applicant]
US 20100179831A1 · Brown et al. · 2010 [cited by applicant]
US 20100235915A1 · Memon et al. · 2010 [cited by applicant]
US 20100262688A1 · Hussain et al. · 2010 [cited by applicant]
US 20100330801A1 · Rouh · 2010 [cited by applicant]
US 20110060910A1 · Gormish et al. · 2011 [cited by applicant]
US 20110202555A1 · Cordover et al. · 2011 [cited by applicant]
US 20110219450A1 · McDougal et al. · 2011 [cited by applicant]
US 20120079592A1 · Pandrangi · 2012 [cited by applicant]
US 20120084866A1 · Stolfo · 2012 [cited by applicant]
US 20120110633A1 · An et al. · 2012 [cited by applicant]
US 20120110674A1 · Belani et al. · 2012 [cited by applicant]
US 20120169593A1 · Mak et al. · 2012 [cited by applicant]
US 20120173881A1 · Trotter et al. · 2012 [cited by applicant]
US 20120218305A1 · Patterson et al. · 2012 [cited by applicant]
US 20120254129A1 · Wheeler et al. · 2012 [cited by applicant]
US 20120284791A1 · Miller et al. · 2012 [cited by applicant]
US 20120330801A1 · McDougal et al. · 2012 [cited by applicant]
US 20130019306A1 · Lagar-Cavilla et al. · 2013 [cited by applicant]
US 20130097709A1 · Basavapatna et al. · 2013 [cited by applicant]
US 20130110876A1 · Meijer et al. · 2013 [cited by applicant]
US 20130139268A1 · An et al. · 2013 [cited by applicant]
US 20130191627A1 · Ylonen et al. · 2013 [cited by applicant]
US 20130198522A1 · Kohno et al. · 2013 [cited by applicant]
US 20130239217A1 · Kindler et al. · 2013 [cited by applicant]
US 20140013451A1 · Kulka et al. · 2014 [cited by applicant]
US 20140019753A1 · Lowry et al. · 2014 [cited by applicant]
US 20140032932A1 · Hiar et al. · 2014 [cited by applicant]
US 20140059683A1 · Ashley · 2014 [cited by applicant]
US 20140123279A1 · Bishop et al. · 2014 [cited by applicant]
US 20140143009A1 · Brice et al. · 2014 [cited by applicant]
US 20140173712A1 · Ferdinand · 2014 [cited by applicant]
US 20140173738A1 · Condry et al. · 2014 [cited by applicant]
US 20140188895A1 · Wang et al. · 2014 [cited by applicant]
US 20140229422A1 · Jain et al. · 2014 [cited by applicant]
US 20140283107A1 · Walton et al. · 2014 [cited by applicant]
US 20140366132A1 · Stiansen et al. · 2014 [cited by applicant]
US 20150039565A1 · Lucas · 2015 [cited by applicant]
US 20150128274A1 · Giokas · 2015 [cited by applicant]
US 20150188715A1 · Castelluci et al. · 2015 [cited by applicant]
US 20150229664A1 · Hawthorn et al. · 2015 [cited by applicant]
US 20150248563A1 · Alfarano et al. · 2015 [cited by applicant]
US 20150261847A1 · Ducott et al. · 2015 [cited by applicant]
US 20150326601A1 · Grondin et al. · 2015 [cited by applicant]
US 20160004864A1 · Falk et al. · 2016 [cited by applicant]
US 20160028759A1 · Visbal · 2016 [cited by applicant]
US 20170103228A1 · Yavuz · 2017 [cited by applicant]
US 20170302679A1 · Caramico · 2017 [cited by applicant]
US 20200117825A1 · Vaswani et al. · 2020 [cited by applicant]
US 20200313878A1 · Wang · 2020 [cited by examiner]
CN 101729531 · 2010 [cited by applicant]
CN 103281301 · 2013 [cited by applicant]
EP 1962222 · 2008 [cited by applicant]
EP 2892197 · 2015 [cited by applicant]
EP 2897051 · 2015 [cited by applicant]
EP 2963578 · 2016 [cited by applicant]
EP 2985974 · 2016 [cited by applicant]
NL 2011642 · 2015 [cited by applicant]
WO WO2005010685 · 2005 [cited by applicant]
Baker et al., “The Development of a Common Enumeration of Vulnerabilities and Exposures,” Presented at the Second International Workshop on Recent Advances in Intrusion Detection, Sep. 7-9, 1999, pp. 35. [cited by applicant]
Bhuyan et al., “Network Anomaly Detection: Methods, Systems and Tools,” First Quarter 2014, IEEE. [cited by applicant]
Crosby et al., “Efficient Data Structures for Tamper-Evident Logging,” Department of Computer Science, Rice University, 2009, pp. 17. [cited by applicant]
FireEye—Products and Solutions Overview, <http://www.fireeye.com/products-and-solutions> Printed Jun. 30, 2014 in 3 pages. [cited by applicant]
Fire Eye, <http://www.fireeye.com/> Printed Jun. 30, 2014 in 2 pages. [cited by applicant]
Glaab et al., “EnrichNet: Network-Based Gene Set Enrichment Analysis,” Bioinformatics 28.18 (2012): pp. i451-i457. [cited by applicant]
Hur et al., “SciMiner: web-based literature mining tool for target identification and functional enrichment analysis,” Bioinformatics 25.6 (2009): pp. 838-840. [cited by applicant]
Lee et al., “A Data Mining and CIDF Based Approach for Detecting Novel and Distributed Intrusions,” Lecture Notes in Computer Science, vol. 1907 Nov. 11, 2000, pp. 49-65. [cited by applicant]
Ma et al., “A New Approach to Secure Logging,” ACM Transactions on Storage, vol. 5, No. 1, Article 2, Published Mar. 2009, 21 pages. [cited by applicant]
Schneier et al., “Automatic Event Stream Notarization Using Digital Signatures,” Security Protocols, International Workshop Apr. 1996 Proceedings, Springer-Veriag, 1997, pp. 155-169, https://schneier.com/paper-event-str… [cited by applicant]
Schneier et al., “Cryptographic Support for Secure Logs on Untrusted Machines,” The Seventh USENIX Security Symposium Proceedings, USENIX Press, Jan. 1998, pp. 53-62, https://www.schneier.com/paper-secure-logs.pdf. [cited by applicant]
VirusTotal—About, <http://www.virustotal.com/en/about/> Printed Jun. 30, 2014 in 8 pages. [cited by applicant]
Waters et al., “Building an Encrypted and Searchable Audit Log,” Published Jan. 9, 2004, 11 pages, http://www.parc.com/content/attachments/building_encrypted_searchable_5059_parc.pdf. [cited by applicant]
Zheng et al., “GOEAST: a web-based software toolkit for Gene Ontology enrichment analysis,” Nucleic acids research 36.suppl 2 (2008): pp. W385-W363. [cited by applicant]
Official Communication for EP Appln. No. 18209980.4 dated Feb. 21, 2020, 10 pages. [cited by applicant]
Extended European Search Report dated Apr. 11, 2019, issued in related European Patent Application No. 18209980.4 (11 pages). [cited by applicant]
Examination Report dated Feb. 10, 2023, issued in related European Patent Application No. 18209980.4 (8 pages). [cited by applicant]
Notice of Allowance mailed Mar. 29, 2023, issued in related U.S. Appl. No. 17/481,221 (17 pages). [cited by applicant]