IP Library Granted Patent US 11,327,815
Granted Patent B1
US 11,327,815 · App. 16/930,301 · Granted May 10, 2022

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 11,327,815
App. No.
16/930,301
Granted
May 10, 2022
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 validating an update to a hierarchical document used for authorizing Application Programming Interface (API) calls to an application, the hierarchical document comprising a plurality of elements including a set of policies and a plurality of parameters, the method comprising:

receiving an update comprising a first set of elements for updating the hierarchical document;

receiving a first set of hash values for a second set of elements in the hierarchical document not in the received update;

generating a second set of hash values from the first set of elements that are for updating the hierarchical document;

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

using the overall hash to validate the update to the hierarchical document.

2. The method of claim 1 , wherein the first set of elements comprise a first set of parameters to replace a second set of parameters of the hierarchical document.

3. The method of claim 2 , wherein using the overall hash comprises using a signature from an entity that is authorized to specify parameters for the hierarchical document to validate the update to the hierarchical document.

4. 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; and

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

5. The method of claim 1 further comprising updating the stored hierarchical document using the validated update.

6. The method of claim 5 , wherein updating the stored hierarchical document comprises replacing a third set of elements of the stored hierarchical document with the first set of elements of the update.

7. The method of claim 5 , wherein updating the stored hierarchical document comprises removing elements from the stored hierarchical document absent in the first set of elements.

8. The method of claim 5 , wherein updating the stored hierarchical document comprises adding, to the stored hierarchical document, at least one element in the first set of elements.

9. The method of claim 1 , wherein the update is received as a hierarchical document that corresponds to the stored hierarchical document.

10. The method of claim 1 , wherein the update and the stored hierarchical document are each in JavaScript Object Notation (JSON) format.

11. A non-transitory machine readable medium storing a program which when executed by at least one processing unit validates an update to a hierarchical document used for authorizing Application Programming Interface (API) calls to an application, the hierarchical document comprising a plurality of elements including a set of policies and a plurality of parameters, the program comprising sets of instructions for:

receiving an update comprising a first set of elements for updating the hierarchical document;

receiving a first set of hash values for a second set of elements in the hierarchical document not in the received update;

generating a second set of hash values from the first set of elements that are for updating the hierarchical document;

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

using the overall hash to validate the update to the hierarchical document.

12. The non-transitory machine readable medium of claim 11 , wherein the first set of elements comprise a first set of parameters to replace a second set of parameters of the hierarchical document.

13. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for using the overall hash comprises a set of instructions for using a signature from an entity that is authorized to specify parameters for the hierarchical document to validate the update to the hierarchical document.

14. The non-transitory machine readable medium of claim 11 , wherein the program further comprises 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; and

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

15. The non-transitory machine readable medium of claim 11 , wherein the program further comprises a set of instructions for updating the stored hierarchical document using the validated update.

16. The non-transitory machine readable medium of claim 15 , wherein the set of instructions for updating the stored hierarchical document comprises a set of instructions for replacing a third set of elements of the stored hierarchical document with the first set of elements of the update.

17. The non-transitory machine readable medium of claim 15 , wherein the set of instructions for updating the stored hierarchical document comprises a set of instructions for removing elements from the stored hierarchical document absent in the first set of elements.

18. The non-transitory machine readable medium of claim 15 , wherein the set of instructions for updating the stored hierarchical document comprises a set of instructions for adding, to the stored hierarchical document, at least one element in the first set of elements.

19. The non-transitory machine readable medium of claim 11 , wherein the update is received as a hierarchical document that corresponds to the stored hierarchical document.

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

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 Aug 13, 2025
From: KOPONEN, TEEMU; HINRICHS, TIMOTHY L.
To: STYRA, INC.
Reel/Frame 072012/0384 →
Continuity (2)
Continuation 16293509 · Mar 5, 2019
Provisional Application 62722018 · Aug 23, 2018
Cited By (12)
US 12,282,418 US 12,287,906 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,437,057 US 12,498,998 US 12,693,839