IP Library › Granted Patent US 12,393,720
Granted Patent B2
US 12,393,720 · App. 17/938,711 · Granted Aug 19, 2025

Blind subpoena protection

Inventors: Ramarathnam Venkatesan (Redmond, WA); Nishanth Chandran (Bangalore, IN); Panagiotis Antonopoulos (Redmond, WA); Srinath T. V. Setty (Redmond, WA); Basil Cherian (Bellevue, WA); Daniel John Carroll, Jr. (Columbia, MD); Jason Sydney Barnwell (Seattle, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F21/6227H04L9/085H04L9/3263
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,393,720
App. No.
17/938,711
Granted
Aug 19, 2025
Kind
B2
Abstract

Embodiments described herein enable at least one of a plurality of entities to access data protected by a security policy in response to validating respective digital access requests from the entities. The respective digital access requests are received, each comprising a proof. For each request, an encrypted secret share is obtained from a respective ledger database. Each request is validated based at least on the respective encrypted secret share and the proof, without decrypting the respective encrypted secret share. In response to validating all of the requests, a verification that an access criteria of a security policy is met is made. If so, at least one of the entities is provided with access to data protected by the security policy. In an aspect, embodiments enable a blind subpoena to be performed. In another aspect, embodiments enable the at least one entity to access the data for an isolated purpose.

Claims (97)

1. A system, comprising:

a processor circuit; and

a memory that stores program code that, when executed by the processor circuit, performs operations, the operations comprising:

receiving a respective digital access request from each of a plurality of entities, each access request comprising a respective proof;

for each digital access request:

obtaining a respective encrypted secret share from a respective first ledger database; and

validating the digital access request based at least on the respective encrypted secret share and the respective proof, without decrypting the respective encrypted secret share;

in response to validating all of the digital access requests, verifying that an access criteria of a security policy is met; and

in response to said verifying that the access criteria of the security policy is met, providing at least one of the entities with access to data protected by the security policy.

2. The system of claim 1 , wherein:

each digital access request further comprises a respective digest representative of a state of the respective first ledger database; and

for each digital access request, said obtaining the respective encrypted secret share from the respective first ledger database comprises:

providing the respective digest to the respective first ledger database; and

receiving, from the respective first ledger database, a response indicating the respective digest is valid and comprising the respective encrypted secret share.

3. The system of claim 1 , wherein:

each digital access request is signed by a respective private key of a respective one of the entities; and

the operations further comprise:

for each digital access request, obtaining a respective public key corresponding to the respective private key from a respective second ledger database; and

for each digital access request, said validating the digital access request further comprises validating a signature of the digital access request using the respective public key.

4. The system of claim 3 , wherein:

each digital access request further comprises a respective digest representative of a state of the respective second ledger database; and

for each digital access request, said obtaining the respective public key corresponding to the respective private key from the respective second ledger database comprises:

providing the respective digest to the respective second ledger database; and

receiving, from the respective second ledger database, a response indicating the respective digest is valid and comprising the respective public key.

5. The system of claim 1 , wherein said providing the at least one of the entities with access to the data protected by the security policy comprises:

decrypting the data protected by the security policy; and

providing the decrypted data to the at least one of the entities.

6. The system of claim 1 , wherein said providing the at least one of the entities with access to the data protected by the security policy comprises:

authorizing a data handler to decrypt the data protected by the security policy and provide the decrypted data to the at least one of the entities.

7. The system of claim 1 , the operations further comprising, prior to said receiving step:

receiving a digital validation request from a user, the digital validation request comprising a policy proof, an encrypted private key of the user, and the respective encrypted secret shares;

validating the digital validation request based at least on the policy proof, the encrypted private key, and the respective encrypted secret shares; and

in response to validating the digital validation request, storing the data protected by the security policy.

8. The system of claim 1 , the operations further comprising:

receiving a digital validation request from the at least one of the entities, the digital validation request comprising a policy proof;

for each respective encrypted secret share, obtaining the respective encrypted secret share from the respective first ledger database;

obtaining an encrypted private key from a key manager;

validating the digital validation request based at least on the policy proof, the respective encrypted secret shares, and the encrypted private key; and

in response to validating the digital validation request, notifying the at least one of the entities that the digital validation request is valid.

9. A computer-implemented method comprising:

receiving a respective digital access request from each of a plurality of entities, each access request comprising a respective proof;

for each digital access request:

obtaining a respective encrypted secret share from a respective first ledger database; and

validating the digital access request based at least on the respective encrypted secret share and the respective proof, without decrypting the respective encrypted secret share;

in response to validating all of the digital access requests, verifying that an access criteria of a security policy is met; and

in response to said verifying that the access criteria of the security policy is met, providing at least one of the entities with access to data protected by the security policy.

10. The computer-implemented method of claim 9 , wherein:

each digital access request further comprises a respective digest representative of a state of the respective first ledger database; and

for each digital access request, said obtaining the respective encrypted secret share from the respective first ledger database comprises:

providing the respective digest to the respective first ledger database; and

receiving, from the respective first ledger database, a response indicating the respective digest is valid and comprising the respective encrypted secret share.

11. The computer-implemented method of claim 9 , wherein:

each digital access request is signed by a respective private key of a respective one of the entities; and

the method further comprises:

for each digital access request, obtaining a respective public key corresponding to the respective private key from a respective second ledger database; and

for each digital access request, said validating the digital access request further comprises validating a signature of the digital access request using the respective public key.

12. The computer-implemented method of claim 11 , wherein:

each digital access request further comprises a respective digest representative of a state of the respective second ledger database; and

for each digital access request, said obtaining the respective public key corresponding to the respective private key from the respective second ledger database comprises:

providing the respective digest to the respective second ledger database; and

receiving, from the respective second ledger database, a response indicating the respective digest is valid and comprising the respective public key.

13. The computer-implemented method of claim 9 , wherein said providing the at least one of the entities with access to the data protected by the security policy comprises one of:

decrypting the data protected by the security policy and providing the decrypted data to the at least one of the entities; or

authorizing a data handler to decrypt the data protected by the security policy and provide the decrypted data to the at least one of the entities.

14. The computer-implemented method of claim 9 , further comprising, prior to said receiving step:

receiving a digital validation request from a user, the digital validation request comprising a policy proof, an encrypted private key of the user, and the respective encrypted secret shares;

validating the digital validation request based at least on the policy proof, the encrypted private key, and the respective encrypted secret shares; and

in response to validating the digital validation request, storing the data protected by the security policy.

15. The computer-implemented method of claim 9 , further comprising:

receiving a digital validation request from the at least one of the entities, the digital validation request comprising a policy proof;

for each respective encrypted secret share, obtaining the respective encrypted secret share from the respective first ledger database;

obtaining an encrypted decryption key from a key manager;

validating the digital validation request based at least on the policy proof, the respective encrypted secret shares, and the encrypted decryption key; and

in response to validating the digital validation request, notifying the at least one of the entities that the digital validation request is valid.

16. A computer-readable storage medium having program instructions recorded thereon that, when executed by a processor circuit:

receive a respective digital access request from each of a plurality of entities, each access request comprising a respective proof;

for each digital access request:

obtain a respective encrypted secret share from a respective first ledger database; and

validate the digital access request based at least on the respective encrypted secret share and the respective proof, without decrypting the respective encrypted secret share;

in response to validating all of the digital access requests, verify that an access criteria of a security policy is met; and

in response to said verifying that the access criteria of the security policy is met, provide at least one of the entities with access to data protected by the security policy.

17. The computer-readable storage medium of claim 16 , wherein:

each digital access request further comprises a respective digest representative of a state of the respective first ledger database; and

the program instructions, when executed by the processor circuit and for each digital access request, obtain the respective encrypted secret share from the respective first ledger database by:

providing the respective digest to the respective first ledger database; and

receiving, from the respective first ledger database, a response indicating the respective digest is valid and comprising the respective encrypted secret share.

18. The computer-readable storage medium of claim 16 , wherein:

each digital access request is signed by a respective private key of a respective one of the entities; and

the program instructions, when executed by the processor circuit and for each digital access request:

obtain a respective public key corresponding to the respective private key from a respective second ledger database; and

validate a signature of the digital access request using the respective public key.

19. The computer-readable storage medium of claim 16 , wherein the program instructions, when executed by the processor circuit, provide the at least one of the entities with access to the data protected by the security policy by:

authorizing a data handler to decrypt the data protected by the security policy and provide the decrypted data to the at least one of the entities.

20. The computer-readable storage medium of claim 16 , the program instructions, when executed by the processor circuit and prior to said receiving the respective digital access request from each of the plurality of entities:

receive a digital validation request from a user, the digital validation request comprising a policy proof, an encrypted private key of the user, and the respective encrypted secret shares;

validate the digital validation request based at least on the policy proof, the encrypted private key, and the respective encrypted secret shares; and

in response to validating the digital validation request, store the data protected by the security policy.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 061346 FRAME: 0016. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 2, 2023
From: VENKATESAN, RAMARATHNAM; CHANDRAN, NISHANTH; ANTONOPOULOS, PANAGIOTIS; SETTY, SRINATH T.V.; CHERIAN, BASIL; CARROLL, DANIEL JOHN, JR.; BARNWELL, JASON SYDNEY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065093/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2022
From: VENKATESAN, RAMARATHNAM; CHANDRAN, NISHANTH; ANTONOPOULOS, PANAGIOTI; SETTY, SRINATH T.V.; CHERIAN, BASIL; CARROLL, DANIEL JOHN, JR.; BARNWELL, JASON SYDNEY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061346/0016 →
Continuity (1)
Related Publication 20240119168A1 · Apr 11, 2024
References Cited (81)
US 8601549B2 · Dickerson · 2013 [cited by applicant]
US 9547771B2 · Roth · 2017 [cited by applicant]
US 10211977B1 · Roth · 2019 [cited by applicant]
US 10637855B2 · Mikulski · 2020 [cited by applicant]
US 10990689B1 · Reiner · 2021 [cited by applicant]
US 11036869B2 · Roth · 2021 [cited by applicant]
US 11139954B2 · Mercuri · 2021 [cited by applicant]
US 11424920B2 · Bursell · 2022 [cited by applicant]
US 11544409B2 · Brannon · 2023 [cited by applicant]
US 11593316B2 · Haldar · 2023 [cited by applicant]
US 11695555B2 · Roth · 2023 [cited by applicant]
US 11799630B2 · Zhang · 2023 [cited by applicant]
US 11886574B2 · Bursell · 2024 [cited by applicant]
US 12058265B2 · Khoury · 2024 [cited by applicant]
US 12107900B2 · Gargaro · 2024 [cited by applicant]
US 20020023213A1 · Walker · 2002 [cited by applicant]
US 20020138738A1 · Sames · 2002 [cited by applicant]
US 20070055867A1 · Kanungo · 2007 [cited by applicant]
US 20120060207A1 · Mardikar et al. · 2012 [cited by applicant]
US 20130145151A1 · Brown · 2013 [cited by applicant]
US 20150089575A1 · Vepa · 2015 [cited by applicant]
US 20150288669A1 · Litoiu · 2015 [cited by applicant]
US 20150381575A1 · Bhargav-Spantzel et al. · 2015 [cited by applicant]
US 20170041148A1 · Pearce · 2017 [cited by applicant]
US 20170111175A1 · Oberhauser et al. · 2017 [cited by applicant]
US 20190020485A1 · Uhr · 2019 [cited by applicant]
US 20190163912A1 · Kumar · 2019 [cited by applicant]
US 20190258811A1 · Ferraiolo · 2019 [cited by applicant]
US 20190370358A1 · Nation · 2019 [cited by applicant]
US 20190394175A1 · Zhang · 2019 [cited by applicant]
US 20200014537A1 · Ortiz · 2020 [cited by applicant]
US 20200082401A1 · Arora · 2020 [cited by applicant]
US 20200322342A1 · Gokhale · 2020 [cited by applicant]
US 20200374105A1 · Padmanabhan · 2020 [cited by applicant]
US 20200396222A1 · Gargaro et al. · 2020 [cited by applicant]
US 20200404023A1 · Zhu · 2020 [cited by applicant]
US 20210089676A1 · Ford · 2021 [cited by examiner]
US 20210092607A1 · Klinkner · 2021 [cited by applicant]
US 20210218742A1 · Cook · 2021 [cited by applicant]
US 20210232707A1 · Wilson · 2021 [cited by applicant]
US 20210233673A1 · Zhang · 2021 [cited by applicant]
US 20210273931A1 · Murdoch et al. · 2021 [cited by applicant]
US 20210279355A1 · Otte · 2021 [cited by applicant]
US 20210303714A1 · Yaghoobi · 2021 [cited by applicant]
US 20210367778A1 · Hamel · 2021 [cited by examiner]
US 20210377037A1 · Antonopoulos et al. · 2021 [cited by applicant]
US 20220020003A1 · Sarkar · 2022 [cited by applicant]
US 20220021711A1 · Marsh · 2022 [cited by applicant]
US 20220138181A1 · Irazabal · 2022 [cited by applicant]
US 20220188810A1 · Doney · 2022 [cited by applicant]
US 20220269927A1 · Rice · 2022 [cited by applicant]
US 20220271936A1 · Doney · 2022 [cited by applicant]
US 20220292211A1 · Reineke · 2022 [cited by applicant]
US 20220400020A1 · Davies · 2022 [cited by applicant]
US 20220417254A1 · Michaelis · 2022 [cited by applicant]
US 20230015569A1 · Davies · 2023 [cited by applicant]
US 20230035317A1 · Jufer · 2023 [cited by applicant]
US 20230336547A1 · Damour · 2023 [cited by applicant]
US 20230379699A1 · Oerton · 2023 [cited by applicant]
US 20230388348A1 · Authement · 2023 [cited by applicant]
US 20240056424A1 · Venkatesan · 2024 [cited by applicant]
US 20240089098A1 · Venkatesan · 2024 [cited by applicant]
US 20240104229A1 · Venkatesan · 2024 [cited by applicant]
US 20240114012A1 · Venkatesan · 2024 [cited by applicant]
US 20240121081A1 · Venkatesan · 2024 [cited by applicant]
CN 110363528A · 2019 [cited by applicant]
CN 114221764A · 2022 [cited by applicant]
JP 2022020557A · 2022 [cited by applicant]
“Application as Filed in U.S. Appl. No. 17/819,030”, filed Aug. 11, 2022, 57 Pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/031452, Dec. 4, 2023, 11 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US23/030988, mailed on Nov. 30, 2023, 13 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 18, 2024, in U.S. Appl. No. 17/934,730, 25 pages. [cited by applicant]
Alansari., “A Blockchain-Based Approach for Secure, Transparent and Accountable Personal Data Sharing”, A thesis submitted in partial fulfillment for the degree of Doctor of Philosophy, Aug. 2, 2020, 213 pages. [cited by applicant]
Antonopoulos, et al., “SQL Ledger: Cryptographically Verifiable Data in Azure SQL Database”, In Proceedings of the International Conference on Management of Data, Jun. 20, 2021, pp. 2437-2449. [cited by applicant]
Final Office Action mailed on Apr. 24, 2025, in U.S. Appl. No. 17/934,730, 27 pages. [cited by applicant]
International Preliminary Report On Patentability received for PCT Application No. PCT/US23/030988, Apr. 3, 2025, 08 pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Application No. PCT/US23/031452, Apr. 17, 2025, 06 pages. [cited by applicant]
Jaroucheh, et al., “Secretation: Toward a Decentralised Identity and Verifiable Credentials Based Scalable and Decentralised Secret Management Solution”, IEEE International Conference on Blockchain and Cryptocurrency, 2… [cited by applicant]
Mounnan, et al., “Efficient Distributed Access Control Using Blockchain for Big Data in Clouds”, International Conference on Wireless and Mobile Communications (ICWMC), Jun. 30, 2019, pp. 53-62. [cited by applicant]
Singh, et al. , “Security for Online Transaction Based on User Location”, In Journal of International Journal For Innovative Research In Multidisciplinary Field, vol. 3, Issue 4, Apr. 1, 2017, pp. 60-64. [cited by applicant]
Yue, et al. , “GlassDB: An Efficient Verifiable Ledger Database System Through Transparency”, In repository of arXiv:2207.00944v2, Aug. 8, 2022, 14 Pages. [cited by applicant]