IP Library Granted Patent US 11,568,087
Granted Patent B2
US 11,568,087 · App. 16/419,368 · Granted Jan 31, 2023

Contextual API captcha

Inventors: Andrew Kinai (Nairobi, KE); Komminist Weldemariam (Ottawa, CA); Maja Vukovic (New York, NY); Shikhar Kwatra (Durham, NC)
Assignee: International Business Machines Corporation
G06F21/629G06F9/54G06N20/00G06F2221/2103
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,568,087
App. No.
16/419,368
Filed
May 22, 2019
Granted
Jan 31, 2023
Kind
B2
Art Unit
2492
USPC
726/17
Abstract

A request for use of an application programming interface (API) is received. Context associated with the request is determined. Based on the context, a challenge is generated, which can be used for determining whether to permit the use of the API. A response to the challenge is received. Based on the response, the request can be facilitated for using the API.

Claims (41)

1. A system comprising:

a hardware processor;

a memory coupled to the hardware processor;

the hardware processor operable to at least:

receive a request for use of an application programming interface (API);

determine context associated with the request;

based on the context, generate a challenge for determining whether to permit the use of the API;

receive a response to the challenge; and

based on the response, facilitate the request for using the API,

wherein the context includes at least information associated with the API, wherein the challenge probes a potential API user to demonstrate that the potential API user has an understanding of at least an aspect of the API.

2. The system of claim 1 , wherein the request for use of an API comprises a request for use of a set of APIs.

3. The system of claim 1 , wherein the hardware processor is operable to determine the context by learning intended usage of the API.

4. The system of claim 3 , wherein the hardware processor learns the intended usage of the API by accessing data associated with a programming project in a project repository with which the request is associated.

5. The system of claim 3 , wherein the hardware processor learns the intended usage of the API by causing a user interface to interact with a developer associated with the request, and receiving data from the developer interaction, wherein based on the data the hardware processor learns the intended usage of the API.

6. The system of claim 1 , wherein the challenge is related to a programming role of a requester associated with the request.

7. The system of claim 1 , wherein the context includes at least context associated with a requester of the request.

8. The system of claim 1 , wherein the context includes at least information associated with a previous challenge presented to a requester of the request.

9. The system of claim 1 , wherein the hardware processor is operable to facilitate the request by permitting the use of the API based on receiving a satisfactory response.

10. The system of claim 1 , wherein the hardware processor is operable to facilitate the request by denying the use of the API based on receiving an unsatisfactory response.

11. The system of claim 1 , wherein the hardware processor is operable to detect vulnerability in the API by learning from responses of the challenge-response tests.

12. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:

receive a request for use of an application programming interface (API);

determine context associated with the request;

based on the context, generate a challenge for determining whether to permit the use of the API;

receive a response to the challenge; and

based on the response, facilitate the request for using the API,

wherein the context includes at least information associated with the API, wherein the challenge probes a potential API user to demonstrate that the potential API user has an understanding of at least an aspect of the API.

13. The computer program product of claim 12 , wherein the request for use of an API comprises a request for use of a set of APIs.

14. The computer program product of claim 12 , wherein the device is caused to determine the context by learning intended usage of the API.

15. The computer program product of claim 14 , wherein the device is caused to learn the intended usage of the API by accessing data associated with a programming project in a project repository with which the request is associated.

16. The computer program product of claim 14 , wherein the device is caused to learn the intended usage of the API by causing a user interface to interact with a developer associated with the request, and receive data from the developer interaction, wherein based on the data the device is caused to learn the intended usage of the API.

17. The computer program product of claim 12 , wherein the context includes at least information associated with a previous challenge presented to a requester of the request.

18. The computer program product of claim 12 , wherein the device is caused to facilitate the request by permitting the use of the API based on receiving a satisfactory response.

19. The computer program product of claim 12 , wherein the device is caused to facilitate the request by denying the use of the API based on receiving an unsatisfactory response.

20. A computer-implement method comprising:

receiving a request for use of an application programming interface (API);

determining context associated with the request;

based on the context, generating a challenge for determining whether to permit the use of the API;

receiving a response to the challenge; and

based on the response, facilitating the request for using the API,

wherein the context includes at least information associated with the API, wherein the challenge probes a potential API user to demonstrate that the potential API user has an understanding of at least an aspect of the API.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2019
From: KINAI, ANDREW; WELDEMARIAM, KOMMINIST; VUKOVIC, MAJA; KWATRA, SHIKHAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049254/0649 →
Continuity (1)
Related Publication 20200372162A1 · Nov 26, 2020
Cited By (1)
US 12,321,428