IP Library Granted Patent US 12,341,893
Granted Patent B2
US 12,341,893 · App. 18/228,361 · Granted Jun 24, 2025

Systems and/or methods implementing hybrid approach using JWT token and symmetric hashing

Inventors: Malligarjunan Sidduraj (Chennai, IN); Madhavan Kidambi Varadan (Chennai, IN)
Assignee: International Business Machines Corporation
H04L9/3213G06F9/547H04L9/3242
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,341,893
App. No.
18/228,361
Granted
Jun 24, 2025
Kind
B2
Abstract

An API gateway receives, from an application, a callback-related request and a registration token including a callback URL usable by an API server to call the callback server and security data for the callback URL. If that token's signature is valid: the callback URL, the security data for the callback URL, and an identifier identifying the API and callback servers are stored; a replacement URL is generated using the identifier; and the replacement URL is registered with the API server. When the API server emits an event regarding a registered request: the security data is retrieved for the associated request; a secure token is generated using that data and event-related content; the callback URL is retrieved for the associated request; and the retrieved callback URL, the secure token, and event-related content are sent to the callback server. The callback server determines whether event-related content is trustworthy using the secure token.

Claims (65)

1. A system for securing callbacks generated by an API server in response to a callback-related request from a client application for a callback server, the system comprising an API gateway, the API gateway comprising:

a data store; and

at least one processor configured to perform operations comprising:

receiving, from the client application, the callback-related request and a registration token including data specifying a callback URL usable by the API server to call the callback server and data specifying how the callback URL is to be secured, wherein the registration token is structured to include a header, a payload, and a signature;

validating the signature of the received registration token;

in response to a determination that the signature of the received registration token is valid:

storing details regarding the callback-related request to a data structure in the data store, the details regarding the callback-related request including the callback URL, the data specifying how the callback URL is to be secured, and an identifier that identifies the API server and the callback server;

generating a replacement URL based on the identifier; and

sending the replacement URL to the API server to register the callback-related request with the API server; and

in response to receipt of an event emitted by the API server in response to a registered callback-related request:

retrieving the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event;

generating a secure token based on the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event, and content for the event;

retrieving the callback URL for the registered callback-related request associated with the received event; and

sending, to the callback server, via the retrieved callback URL, the secure token and the content for the event;

wherein the callback server is configured to determine whether the content for the event is trustworthy based on the secure token.

2. The system of claim 1 , wherein the data specifying how the callback URL is to be secured includes a secret key of the callback server and a hashing algorithm.

3. The system of claim 2 , wherein the payload of the registration token includes the secret key and the hashing algorithm.

4. The system of claim 3 , wherein the secret key and the hashing algorithm are private claims in the payload of the registration token.

5. The system of claim 2 , wherein the secure token is generated by hashing (a) a hash of an event payload for the event, and (b) a hash of the secret key for the registered callback-related request associated with the received event, and wherein each hash is performed using the hashing algorithm specified in the payload of the registration token.

6. The system of claim 2 , wherein the secret key is generated by the client application for the callback server.

7. The system of claim 1 , wherein the identifier is usable as a key to the data structure.

8. The system of claim 1 , the registration token is signed with a public key of the API Gateway and a private key of the Client Application.

9. The system of claim 1 , wherein the API gateway is configured to process a plurality of callback-related requests from a plurality of client applications for a plurality of callback servers, wherein details regarding the plurality of callback-related requests are stored to the data store.

10. The system of claim 1 , wherein the callback server is configured to determine whether the content for the event is trustworthy based on the secure token by performing operations comprising recalculating a value for the secure token and determining whether the recalculated value matches the secure token.

11. The system of claim 1 , wherein the callback server resides outside of the client application.

12. A method for securing callbacks generated by an API server in response to a callback-related request from a client application for a callback server, the method comprising:

receiving, at an API gateway and from the client application, the callback-related request and a registration token including data specifying a callback URL usable by the API server to call the callback server and data specifying how the callback URL is to be secured, wherein the registration token is structured to include a header, a payload, and a signature;

validating the signature of the received registration token;

in response to a determination that the signature of the received registration token is valid:

storing details regarding the callback-related request, the details regarding the callback-related request including the callback URL, the data specifying how the callback URL is to be secured, and an identifier that identifies the API server and the callback server;

generating a replacement URL based on the identifier; and

sending the replacement URL from the API gateway to the API server to register the callback-related request with the API server; and

in response to receipt of an event emitted by the API server in response to a registered callback-related request:

retrieving the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event;

generating a secure token based on the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event, and content for the event;

retrieving the callback URL for the registered callback-related request associated with the received event; and

sending, to the callback server, via the retrieved callback URL, the secure token and the content for the event;

wherein the callback server is configured to determine whether the content for the event is trustworthy based on the secure token.

13. The method of claim 12 , wherein the data specifying how the callback URL is to be secured includes a secret key of the callback server and a hashing algorithm.

14. The method of claim 13 , wherein the payload of the registration token includes the secret key and the hashing algorithm.

15. The method of claim 13 , wherein the secure token is generated by hashing (a) a hash of an event payload for the event, and (b) a hash of the secret key for the registered callback-related request associated with the received event, and wherein each hash is performed using the hashing algorithm specified in the payload of the registration token.

16. The method of claim 12 , wherein the callback server is configured to determine whether the content of the event is trustworthy based on the secure token by performing operations comprising recalculating a value for the secure token and determining whether the recalculated value matches the secure token.

17. The method of claim 12 , wherein the callback server resides outside of the client application.

18. A non-transitory computer readable storage medium tangibly storing instructions that, when executed by at least one processor of an API gateway, perform the method of claim 12 .

19. The non-transitory computer readable storage medium of claim 18 , wherein the callback server resides outside of the client application.

20. An API gateway system configured to secure callbacks generated by an API server in response to a callback-related request from a client application for a callback server, the API gateway comprising:

a data store; and

at least one processor configured to perform operations comprising:

receiving, from the client application, the callback-related request and a registration token including data specifying a callback URL usable by the API server to call the callback server and data specifying how the callback URL is to be secured, wherein the registration token is structured to include a header, a payload, and a signature;

validating the signature of the received registration token;

in response to a determination that the signature of the received registration token is valid:

storing details regarding the callback-related request to a data structure in the data store, the details regarding the callback-related request including the callback URL, the data specifying how the callback URL is to be secured, and an identifier that identifies the API server and the callback server;

generating a replacement URL based on the identifier; and

sending the replacement URL to the API server to register the callback-related request with the API server; and

in response to receipt of an event emitted by the API server in response to a registered callback-related request:

retrieving the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event;

generating a secure token based on the data specifying how the callback URL is to be secured for the registered callback-related request associated with the received event, and content for the event;

retrieving the callback URL for the registered callback-related request associated with the received event; and

sending, to the callback server, via the retrieved callback URL, the secure token and the content for the event;

wherein the callback server is configured to determine whether the content for the event is trustworthy based on the secure token.

21. The system of claim 20 , wherein the data specifying how the callback URL is to be secured includes a secret key of the callback server and a hashing algorithm.

22. The system of claim 21 , wherein the payload of the registration token includes the secret key and the hashing algorithm.

23. The system of claim 21 , wherein the secure token is generated by hashing (a) a hash of an event payload for the event, and (b) a hash of the secret key for the registered callback-related request associated with the received event, and wherein each hash is performed using the hashing algorithm specified in the payload of the registration token.

24. The system of claim 20 , wherein the callback server is configured to determine whether the content of the event is trustworthy based on the secure token by performing operations comprising recalculating a value for the secure token and determining whether the recalculated value matches the secure token.

25. The system of claim 20 , wherein the callback server resides outside of the client application.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2024
From: IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069654/0889 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM IBM SUPER IPAAS INTEGRATION TO IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH PREVIOUSLY RECORDED ON REEL 69381 FRAME 97. ASSIGNOR(S) HEREBY CONFIRMS THE NAME CHANGE. Recorded Dec 12, 2024
From: SAG INTEGRATION GMBH
To: IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH
Reel/Frame 069631/0360 →
CHANGE OF NAME Recorded Nov 14, 2024
From: SAG INTEGRATION GMBH
To: IBM SUPER IPAAS INTEGRATION
Reel/Frame 069381/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: SAG DEUTSCHLAND GMBH
To: SAG INTEGRATION GMBH
Reel/Frame 068712/0520 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2024
From: SOFTWARE AG
To: SAG DEUTSCHLAND GMBH
Reel/Frame 068694/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: SIDDURAJ, MALLIGARJUNAN; VARADAN, MADHAVAN KIDAMBI
To: SOFTWARE AG
Reel/Frame 064442/0161 →
Continuity (1)
Related Publication 20250047488A1 · Feb 6, 2025
References Cited (14)
US 20150046327A1 · Taupitz · 2015 [cited by examiner]
US 20200404573A1 · Athlur · 2020 [cited by examiner]
US 20210184853A1 · Crowson · 2021 [cited by examiner]
US 20230353362A1 · Dyer · 2023 [cited by examiner]
https://swagger.io/docs/specification/callbacks/; pp. 1-7; retrived Jul. 31, 2023. [cited by applicant]
https://datatracker.ietf.org/doc/html/rfc7519; pp. 1-30; May 2015. [cited by applicant]
https://medium.com/adobetech/securing-push-notifications-in-mobile-apps-a23b6c20139e; pp. 1-16; Sep. 23, 2021. [cited by applicant]
https://jwt.io/; pp. 1-5; retrived Jul. 31, 2023. [cited by applicant]
https://documentation.softwareag.com/webmethods/compendiums/v10-5/C_API_Management/index.html#page/api-mgmt-comp-co-overview_create_rest_api.html; p. 1; retrived Jul. 31, 2023. [cited by applicant]
https://web.archive.org/web/20230117043509/metamug.com/article/callback-api.html ; pp. 1-4; Feb. 12, 2022. [cited by applicant]
https://www.redhat.com/en/topics/api/what-are-application-programming-interfaces; pp. 1-11; Jun. 2, 2022. [cited by applicant]
https://www.loginradius.com/blog/engineering/jwt-signing-algorithms/; pp. 1-6; retrieved Jul. 21, 2023. [cited by applicant]
https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims; pp. 1-20; retrived Jul. 31, 2023. [cited by applicant]
https://jwt.io/introduction; pp. 1-12; retrieved Jul. 31, 2023. [cited by applicant]
Cited By (1)
US 12,684,031