IP Library › Granted Patent US 11,397,898
Granted Patent B2
US 11,397,898 · App. 16/791,452 · Granted Jul 26, 2022

System for allowing a secure access to a microservice

Inventors: Simy Chacko (Chennai, IN); Venkatesh Shankar (Chennai, IN)
Assignee: HCL TECHNOLOGIES LIMITED
G06N5/025G06F9/547G06K9/6282G06N20/00
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,397,898
App. No.
16/791,452
Granted
Jul 26, 2022
Kind
B2
Abstract

Disclosed is a system for allowing secure access to a microservice. An Application Programming Interface (API) gateway receives a request comprising a Uniform Resource Locator (URL) associated to the microservice. A set of input parameters indicating information about the user device and the microservice is identified from the URL. The system performs validation of input parameters, extraction of request patterns, tracking of IP address, and detection of user credentials to provide output parameters. A decision tree comprising rules is generated by using a supervised machine learning technique on the output parameters. Further, the API gateway creates a stateless identity token to encrypt the request. The stateless identity token is created based on the user credentials and at least one rule applicable to the request. Once the stateless identity token is created, the stateless identity token is verified to allow the secure access to the microservice.

Claims (45)

1. A method for allowing a secure access to a microservice, the method comprising:

receiving, by a processor, a request from a user device at an Application Programming Interface (API) gateway, wherein the request comprises a Uniform Resource Locator (URL) associated to a microservice;

identifying, by the processor, a set of input parameters from the URL, wherein the set of input parameters indicates information about the user device and the microservice;

validating, by the processor, the set of input parameters to provide a list of valid input parameters by comparing data type of each input parameter with a predefined list of valid data type for each input parameter;

extracting, by the processor, a request pattern from the URL to identify an operation to be performed at the microservice, wherein the request pattern is extracted by using machine learning techniques on historical data associated to the request pattern;

tracking, by the processor, an Internet Protocol (IP) address associated to the URL in order to form a group of one or more IP addresses corresponding to the microservice, wherein the IP address is a subset of input parameters;

detecting, by the processor, user credentials from the request to allow an access to the microservice when requested by the user device;

generating, by a processor, a decision tree by using a supervised machine learning technique on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the decision tree comprises rules to allow the access to the microservice;

creating, by the processor, a stateless identity token at the API to encrypt the request, wherein the stateless identity token is created based on the user credentials and at least one rule applicable to the request; and

verifying, by the processor, the stateless identity token to allow a secure access to the microservice.

2. The method of claim 1 further comprises:

identifying the rules from a predefined repository comprising rules for each branch of the decision tree; and

creating the rules based on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the rules are created for each branch when the predefined repository is out of rules.

3. The method of claim 1 , wherein the set of input parameters are a user name, user roles and permission, a location of the user device, an age of the request, a frequency of requests, a time gap between two requests, a count of requests made by the user device in a session, an access location pattern, and a location change pattern.

4. The method of claim 1 , wherein the API gateway acts as a single point of entry for a group of microservices.

5. A system for allowing a secure access to a microservice, the system comprises:

a processor;

a memory coupled to the processor, wherein the processor executes a set of instructions stored in the memory to:

receive a request from a user device at an Application Programming Interface (API) gateway, wherein the request comprises a Uniform Resource Locator (URL) associated to a microservice;

identify a set of input parameters from the URL, wherein the set of input parameters indicates information about the user device and the microservice;

validate the set of input parameters to provide a list of valid input parameters by comparing data type of each input parameter with a predefined list of valid data type for each input parameter;

extract a request pattern from the URL to identify an operation to be performed at the microservice, wherein the request pattern is extracted by using machine learning techniques on historical data associated to the request pattern;

track an Internet Protocol (IP) address associated to the URL in order to form a group of one or more IP addresses corresponding to the microservice, wherein the IP address is a subset of input parameters;

detect user credentials from the request to allow an access to the microservice when requested by the user device;

generate a decision tree by using a supervised machine learning technique on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the decision tree comprises rules to allow the access to the microservice;

create a stateless identity token at the API to encrypt the request, wherein the stateless identity token is created based on the user credentials and at least one rule applicable to the request; and

verify the stateless identity token to allow a secure access to the microservice.

6. The system of claim 5 further comprises:

identifying the rules from a predefined repository comprising rules for each branch of the decision tree; and

creating the rules based on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the rules are created for each branch when the predefined repository is out of rules.

7. The system of claim 5 , wherein the set of input parameters are a user name, user roles and permission, a location of the user device, an age of the request, a frequency of requests, a time gap between two requests, a count of requests made by the user device in a session, an access location pattern, and a location change pattern.

8. The system of claim 5 , wherein the API gateway acts as a single point of entry for a group of microservices.

9. A non-transitory computer readable medium embodying a program executable in a computing device for allowing a secure access to a microservice, the program comprising:

a program code for receiving a request from a user device at an Application Programming Interface (API) gateway, wherein the request comprises a Uniform Resource Locator (URL) associated to a microservice;

a program code for identifying a set of input parameters from the URL, wherein the set of input parameters indicates information about the user device and the microservice;

a program code for validating the set of input parameters to provide a list of valid input parameters by comparing data type of each input parameter with a predefined list of valid data type for each input parameter;

a program code for extracting a request pattern from the URL to identify an operation to be performed at the microservice, wherein the request pattern is extracted by using machine learning techniques on historical data associated to the request pattern;

a program code for tracking an Internet Protocol (IP) address associated to the URL in order to form a group of one or more IP addresses corresponding to the microservice, wherein the IP address is a subset of input parameters;

a program code for detecting user credentials from the request to allow an access to the microservice when requested by the user device;

a program code for generating a decision tree by using a supervised machine learning technique on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the decision tree comprises rules to allow the access to the microservice;

a program code for creating a stateless identity token at the API to encrypt the request, wherein the stateless identity token is created based on the user credentials and at least one rule applicable to the request; and

a program code for verifying the stateless identity token to allow a secure access to the microservice.

10. The program of claim 9 further comprises:

a program code for identifying the rules from a predefined repository comprising rules for each branch of the decision tree; and

creating the rules based on the list of valid input parameters, the request pattern, the group of one or more IP address, and the user credentials, wherein the rules are created for each branch when the predefined repository is out of rules.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: CHACKO, SIMY; SHANKAR, VENKATESH
To: HCL TECHNOLOGIES LIMITED
Reel/Frame 051826/0351 →
Priority Claims (1)
IN 201911007700 · Feb 27, 2019 · national
Continuity (1)
Related Publication 20200272912A1 · Aug 27, 2020