IP Library Granted Patent US 12,401,630
Granted Patent B2
US 12,401,630 · App. 17/937,098 · Granted Aug 26, 2025

Zero-trust distributed data sharing

Inventors: Ramarathnam Venkatesan (Redmond, WA); Michael James Zwilling (Bellevue, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L63/0435H04L63/105H04L63/107
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,401,630
App. No.
17/937,098
Filed
Sep 30, 2022
Granted
Aug 26, 2025
Kind
B2
Art Unit
2491
USPC
713/171
Abstract

A decryption key is recovered that is utilized to decrypt an encrypted resource. For example, a determination is made as to whether a user and/or the user's computing device attempting to access an encrypted resource has the necessary attributes to access the resource and/or is in a valid location in which the user is required to be to access the resource. The attributes and/or location are defined by a policy assigned to the resource. To verify that the user has the required attributes, a proof is requested from the user that proves that the user has the required attributes. Upon validating the proof, the decryption key is generated and/or retrieved.

Claims (95)

1. A system, comprising:

a processor; and

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

receiving, from a computing device of a user, a request for decrypting a resource, the request specifying a policy identifier of a policy that specifies an attribute required to access the resource;

obtaining the policy corresponding to the policy identifier from a policy map;

determining the attribute required to access the resource based on the policy;

obtaining, from an attribute map, a public encryption key associated with the attribute and an encrypted shared secret associated with the attribute;

providing, to the computing device of the user, a request for a cryptographic proof;

receiving the cryptographic proof from the computing device of the user, the cryptographic proof generated based on the public encryption key associated with the attribute and an unencrypted version of the shared secret stored on the computing device of the user;

verifying the cryptographic proof that the user is associated with the attribute based on the public encryption key associated with the attribute and the encrypted shared secret associated with the attribute; and

responsive to determining that the cryptographic proof is valid, generating a decryption key for decrypting the resource.

2. The system of claim 1 , wherein the attribute comprises at least one of:

a clearance level of the user;

a rank of the user within an organization; or

a role of the user within the organization.

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

encrypting the decryption key using a public encryption key associated with at least one of the user or the computing device of the user; and

providing the encrypted decryption key to the computing device of the user.

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

decrypting the resource utilizing the decryption key; and

providing the decrypted resource to the computing device of the user.

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

determining that the user is at a location at which access to the resource is allowed in accordance with the policy;

verifying an identity of the user in accordance with the policy; and

responsive to determining that the cryptographic proof is valid, the user is at the location, and the identity of the user is verified, generating the decryption key for decrypting the resource.

6. The system of claim 1 , wherein the cryptographic proof comprises:

a zero-knowledge proof.

7. The system of claim 1 , wherein the operations further comprise:

providing, to the computing device of the user, a second request for a second cryptographic proof;

receiving the second cryptographic proof from the computing device of the user, the cryptographic proof generated based on the public encryption key associated with a second attribute and an unencrypted version of a second shared secret stored on the computing device of the user; and

verifying the second cryptographic proof that the user is associated with the second attribute based on the public encryption key associated with the second attribute and a second encrypted shared secret associated with the second attribute,

wherein generating the decryption key is further responsive to verifying the second cryptographic proof.

8. A method, comprising:

receiving, from a computing device of a user, a request for decrypting a resource, the request specifying a policy identifier of a policy that specifies an attribute required to access the resource;

obtaining the policy corresponding to the policy identifier from a policy map;

determining the attribute required to access the resource based on the policy;

obtaining, from an attribute map, a public encryption key associated with the attribute and an encrypted shared secret associated with the attribute;

providing, to the computing device of the user, a request for a cryptographic proof; and

receiving the cryptographic proof from the computing device of the user, the cryptographic proof generated based on the public encryption key associated with the attribute and an unencrypted version of the shared secret stored on the computing device of the user;

verifying the cryptographic proof that the user is associated with the attribute based on the public encryption key associated with the attribute and the encrypted shared secret associated with the attribute; and

responsive to determining that the cryptographic proof is valid, obtaining a decryption key for decrypting the resource.

9. The method of claim 8 , wherein the attribute comprises at least one of:

a clearance level of the user;

a rank of the user within an organization; or

a role of the user within the organization.

10. The method of claim 8 , further comprising:

encrypting the decryption key using a public encryption key associated with at least one of the user or the computing device of the user; and

providing the encrypted decryption key to the computing device of the user.

11. The method of claim 8 , further comprising:

decrypting the resource utilizing the decryption key; and

providing the decrypted resource to the computing device of the user.

12. The method of claim 8 , further comprising:

determining that the user is at a location at which access to the resource is allowed in accordance with the policy;

verifying an identity of the user in accordance with the policy; and

responsive to determining that the cryptographic proof is valid, the user is at the location, and the identity of the user is verified, obtaining the decryption key for decrypting the resource.

13. The method of claim 8 , wherein the cryptographic proof comprises:

a zero-knowledge proof.

14. The method of claim 8 , further comprising:

providing, to the computing device of the user, a second request for a second cryptographic proof;

receiving the second cryptographic proof from the computing device of the user, the cryptographic proof generated based on the public encryption key associated with a second attribute and an unencrypted version of a second shared secret stored on the computing device of the user; and

verifying the second cryptographic proof that the user is associated with the second attribute based on the public encryption key associated with the second attribute and a second encrypted shared secret associated with the second attribute,

wherein obtaining the decryption key is further responsive to verifying the second cryptographic proof.

15. A computer-readable storage medium having program instructions recorded thereon that, when executed by a processor, perform a method for recovering a decryption key comprising:

receiving, from a computing device of a user, a request for decrypting a resource, the request specifying a policy identifier of a policy that specifies an identity authorized to access the resource and an attribute required to access the resource;

obtaining the policy corresponding to the policy identifier from a policy map;

determining the identity authorized to access the resource and the first attribute required to access the resource based on the policy;

verifying that the user is associated with the identity;

responsive to verifying that the user is associated with the identity, obtaining, from an attribute map, a public encryption key associated with the attribute and an encrypted shared secret associated with the attribute;

providing, to the computing device of the user, a request for a cryptographic proof; and

receiving the cryptographic proof from the computing device of the user, the cryptographic proof generated based on the public encryption key associated with the attribute and an unencrypted version of the shared secret stored on the computing device of the user;

verifying the cryptographic proof that the user is associated with the attribute based on the public encryption key associated with the attribute and the encrypted shared secret associated with the attribute;

responsive to determining that the cryptographic proof is valid, obtaining a decryption key for decrypting the resource.

16. The computer-readable storage medium of claim 15 , wherein verifying the second identity comprises:

obtaining a public encryption key associated with the user from an identity map;

encrypting a nonce using the public encryption key;

providing the encrypted nonce to the computing device of the user;

receiving a decrypted nonce from the computing device of the user;

determining that the decrypted nonce is the same as the nonce; and

responsive to determining that the decrypted nonce is the same as the nonce, verifying that the user is associated with the identity.

17. The method of claim 15 , wherein the attribute comprises at least one of:

a clearance level of the user;

a rank of the user within an organization; or

a role of the user within the organization.

18. The computer-readable storage medium of claim 15 , further comprising:

encrypting the decryption key using a public encryption key associated with at least one of the user or the computing device of the user; and

providing the encrypted decryption key to the computing device of the user.

19. The computer-readable storage medium of claim 15 , further comprising:

decrypting the resource utilizing the decryption key; and

providing the decrypted resource to the computing device of the user.

20. The computer-readable storage medium of claim 15 , wherein the resource comprises at least one of:

a data file;

a database object;

structured data;

unstructured data; or

a data container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: VENKATESAN, RAMARATHNAM; ZWILLING, MICHAEL JAMES
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061274/0029 →
Continuity (1)
Related Publication 20240114012A1 · Apr 4, 2024
References Cited (101)
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 et al. · 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 applicant]
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 applicant]
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 examiner]
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 20240119168A1 · 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]
A Blockchain-based Approach for Data Sharing (Year: 2020). [cited by examiner]
Non-Final Office Action mailed on Jul. 2, 2024, in U.S. Appl. No. 17/819,030, 7 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]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/027303”, Mailed Date: Oct. 13, 2023, 12 Pages. [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]
“Application as Filed in U.S. Appl. No. 17/819,030”, filed Aug. 11, 2022, 57 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]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/031022, mailed on Dec. 11, 2023, 16 pages. [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]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/030412”, Mailed Date: Oct. 18, 2023, 12 Pages. [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]
International Search Report and Written Opinion received for PCT Application No. PCT/US23/031471, Nov. 14, 2023, 18 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]
U.S. Appl. No. 17/934,730, filed Sep. 23, 2022. [cited by applicant]
U.S. Appl. No. 18/045,335, filed Oct. 10, 2022. [cited by applicant]
U.S. Appl. No. 17/931,733, filed Sep. 13, 2022. [cited by applicant]
U.S. Appl. No. 17/938,711, filed Oct. 7, 2022. [cited by applicant]
U.S. Appl. No. 17/819,030, filed Aug. 11, 2022. [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]
Notice of Allowance mailed on Jan. 15, 2025, in U.S. Appl. No. 17/819,030, 5 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 9, 2024, in U.S. Appl. No. 17/931,733, 7 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 9, 2024, in U.S. Appl. No. 18/045,335, 13 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 27, 2024, in U.S. Appl. No. 17/819,030, 5 pages. [cited by applicant]
Notice of Allowance mailed on Feb. 26, 2025, in U.S. Appl. No. 17/931,733, 7 pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Application No. PCT/US23/030412, Mar. 27, 2025, 8 Pages. [cited by applicant]
Final Office Action mailed on Apr. 16, 2025, in U.S. Appl. No. 18/045,335 6 Pages. [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, 8 pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Application No. PCT/US23/031022, mailed on Apr. 10, 2025, 9 pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Application No. PCT/US23/031471, mailed on Apr. 24, 2025, 14 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 10, 2025, in U.S. Appl. No. 17/931,733, 5 pages. [cited by applicant]
Notice of Allowance mailed on May 29, 2025, in U.S. Appl. No. 17/819,030, 6 pages. [cited by applicant]