EP1232425B1

Method and system for verifying a client request

Abstract

This record has no abstract on file.

EP1232425B1, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 25 October 2020, 5.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

18 claims: 7 independent, 11 dependent

  1. 1
    A method for authorizing execution of requested actions transmitted between clients and servers of a data processing system, the method performed by an authorization proxy (18; 26; 46) coupled to a server (14; 20; 44) and a client (12), the method comprising:receiving from the server a first message (102;202) including a set of actions that comprise client side logic;simulating execution of the set of actions and building a list of allowable actions and user-definable inputs to the allowable actions;receiving from the client a second message including user-requested actions and user-defined inputs generated in response to a particular execution by the client of said first message;comparing the list of allowable actions and user-definable inputs to the user-requested actions and user-defined inputs;and authorizing execution of the user-requested actions and user-defined inputs when the list of allowable actions (118) and user-definable inputs includes the user-requested actions and user-defined inputs.
  2. 4
    The method as set forth in claim1, wherein the user-requested actions and user-defined inputs include actions and inputs provided during a user session performed in response to receipt of the first message at a client.
  3. 6
    The method as set forth in claim1, wherein the step of simulating comprises:detecting an input control requesting selection of one of a plurality of predefined data values;and iteratively selecting one of the plurality of predefined data values and continuing simulation of the set of actions and building of the list of allowable actions and user-definable inputs with the selected one data value until each of the plurality of predefined data values is selected and listed.
  4. 7
    A method for authorizing execution of requested actions transmitted between clients and servers of a data processing system, the method performed by an authorization proxy (18; 26; 46) coupled to a server (14; 20; 44) and a client (12), the method comprising:receiving from the server a first message (102;202) including a set of actions that comprise client side logic and from the client a second message including user-requested actions and user-defined inputs generated in response to a particular execution by the client of said first message along with a trace of client side logic that comprises the inputs and events performed at the client leading to said requested actions and user-defined inputs;simulating, using said trace, execution of the client side logic that includes at least said user-requested actions and user-defined inputs, and building a list of allowable actions and user-definable inputs to the allowable actions;comparing the list of allowable actions and user-definable inputs to the user-requested actions and user-defined inputs;and authorizing execution of the user-requested actions and inputs when the list of allowable actions (118) and user-definable inputs includes the user-requested actions and user-defined inputs.
  5. 12
    The method as set forth in any preceding claim wherein the step of authorizing the execution of the user-requested actions comprises transmitting the user-requested actions and user-defined inputs to the server for execution.
  6. 13
    The method as set forth in any preceding claim, comprising storing, at the authorization proxy, the list of allowable actions and user-definable inputs.
  7. 14
    An authorization proxy coupled between clients (12) and servers (14; 20; 44) of a data processing system, comprising:an evaluator (108;204) for evaluating messages transmitted between said clients and servers and for identifying actions in application programming logic included within each message;a simulator (110, 112;210) for simulating a processing environment for executing said actions, said simulator including an enumeration engine for triggering events and identifying user-definable inputs to said actions, said simulator providing a list of allowable actions (118) and user-definable input values to said actions;and a filter (120;214) for receiving messages including user-requested actions and user-defined inputs, comparing said user-requested actions and user-defined inputs to said list of allowable actions and user-definable inputs, and for authorizing execution of said user-requested actions and user-defined inputs that are within said list of allowable actions and inputs.