IP Library Granted Patent US 10,719,373
Granted Patent B1
US 10,719,373 · App. 16/293,509 · Granted Jul 21, 2020

Validating policies and data in API authorization system

Inventors: Teemu Koponen (San Francisco, CA); Timothy L. Hinrichs (Los Altos, CA)
Assignee: STYRA, INC.
G06F9/54G06F21/44H04L9/3236H04L9/3247
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 10,719,373
App. No.
16/293,509
Granted
Jul 21, 2020
Kind
B1
Abstract

Some embodiments provide a method for distributing a set of parameters associated with policies for authorizing Application Programming Interface (API) calls to an application. For a previously stored hierarchical first document that comprises a first set of elements in a first hierarchical structure, the method receives a hierarchical update second document that comprises a second set of elements in a second hierarchical structure corresponding to the first hierarchical structure, wherein at least a subset of elements in the first and the second documents correspond to the set of parameters for evaluating API calls. The method receives a first set of hash values for elements of the first document that are not specified in the second document, and generates a second set of hash values for a set of elements specified in the second document. The method generates an overall hash for the second document by using the received first set of hash values and the generated second set of hash values. The method uses the overall hash to validate a signature from an entity that is authorized to specify the set of parameters.

Claims (36)

1. A method for distributing a set of parameters associated with policies for authorizing Application Programming Interface (API) calls to an application, the method comprising:

for a previously stored hierarchical first document that comprises a first set of elements in a first hierarchical structure, receiving a hierarchical update second document that comprises a second set of elements in a second hierarchical structure corresponding to the first hierarchical structure, wherein at least a subset of elements in the first and the second documents correspond to the set of parameters for evaluating API calls;

receiving a first set of hash values for elements of the first document that are not specified in the second document;

generating a second set of hash values for the second set of elements specified in the second document;

generating an overall hash for the second document by using the received first set of hash values and the generated second set of hash values; and

using the overall hash to validate a signature from an entity that is authorized to specify the set of parameters.

2. The method of claim 1 , wherein receiving the first set of hashes comprises receiving the first set of hashes with the received update second document.

3. The method of claim 1 further comprising:

generating a signature for the overall hash;

comparing the generated signature with the signature from the authorized entity to determine whether the two signatures match;

when the signatures match, specifying that the update second document has been validated as originating from the authorized entity.

4. The method of claim 1 , further comprising updating the subset of elements of the first document using the subset of elements of the validated second document.

5. The method of claim 4 , wherein updating the subset of elements comprises replacing a subset of the parameters specified in the first document with a subset of the parameters specified in the second document.

6. The method of claim 4 , wherein updating the subset of elements comprises removing a set of parameters from the first document that are absent in the second document.

7. The method of claim 4 , wherein updating the subset of elements comprises adding a set of parameters from the second document to the first document.

8. The method of claim 1 , wherein the hierarchical first document and the hierarchical update second document are in JavaScript Object Notation (JSON) format.

9. The method of claim 1 , wherein generating the overall hash comprises substituting a hash from the received first set of hashes for each element for elements of the first document that are not specified in the second document.

10. The method of claim 9 , wherein the overall hash is computed as a Merkle tree.

11. A non-transitory machine readable medium storing a program executing on at least one hardware processing unit of a computing device, the program for distributing a set of parameters associated with policies for authorizing Application Programming Interface (API) calls to an application, the program comprising sets of instructions for:

for a previously stored hierarchical first document that comprises a first set of elements in a first hierarchical structure, receiving a hierarchical update second document that comprises a second set of elements in a second hierarchical structure corresponding to the first hierarchical structure, wherein at least a subset of elements in the first and the second documents correspond to the set of parameters for evaluating API calls;

receiving a first set of hash values for elements of the first document that are not specified in the second document;

generating a second set of hash values for the second set of elements specified in the second document;

generating an overall hash for the second document by using the received first set of hash values and the generated second set of hash values; and

using the overall hash to validate a signature from an entity that is authorized to specify the set of parameters.

12. The non-transitory machine readable medium of claim 11 , wherein receiving the first set of hashes comprises receiving the first set of hashes with the received update second document.

13. The non-transitory machine readable medium of claim 11 further comprising sets of instructions for:

generating a signature for the overall hash;

comparing the generated signature with the signature from the authorized entity to determine whether the two signatures match;

when the signatures match, specifying that the update second document has been validated as originating from the authorized entity.

14. The non-transitory machine readable medium of claim 11 , further comprising sets of instructions for updating the subset of elements of the first document using the subset of elements of the validated second document.

15. The non-transitory machine readable medium of claim 14 , wherein updating the subset of elements comprises replacing a subset of the parameters specified in the first document with a subset of the parameters specified in the second document.

16. The non-transitory machine readable medium of claim 14 , wherein updating the subset of elements comprises removing a set of parameters from the first document that are absent in the second document.

17. The non-transitory machine readable medium of claim 14 , wherein updating the subset of elements comprises adding a set of parameters from the second document to the first document.

18. The non-transitory machine readable medium of claim 11 , wherein the hierarchical first document and the hierarchical update second document are in JavaScript Object Notation (JSON) format.

19. The non-transitory machine readable medium of claim 11 , wherein generating the overall hash comprises substituting a hash from the received first set of hashes for each element for elements of the first document that are not specified in the second document.

20. The non-transitory machine readable medium of claim 19 , wherein the overall hash is computed as a Merkle tree.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2025
From: STYRA, INC.
To: APPLE INC.
Reel/Frame 072818/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: STYRA, INC.
To: APPLE INC.
Reel/Frame 072522/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2019
From: KOPONEN, TEEMU; HINRICHS, TIMOTHY L.
To: STYRA, INC.
Reel/Frame 048510/0925 →
Continuity (1)
Provisional Application 62722018 · Aug 23, 2018
Cited By (20)
US 12,225,111 US 12,287,906 US 12,293,005 US 12,299,502 US 12,307,305 US 12,353,877 US 12,386,684 US 12,401,694 US 12,405,948 US 12,407,647 US 12,418,544 US 12,437,057 US 12,438,714 US 12,495,078 US 12,498,998 US 12,500,942 US 12,531,720 US 12,688,334 US 12,693,839 US 12,706,953