Evidence-based security policy manager
First Claim
1. A method for generating a permission grant set for a code assembly received from a resource location, the method comprising:
- receiving a security policy specification defining a plurality of code groups, each code group being associated with a code-group permission set;
receiving evidence associated with the code assembly;
evaluating the evidence relative to the code groups to determine membership of the code assembly in two or more of the code groups; and
generating the permission grant set by merging two or more code-group permission sets, each code-group permission set of the two or more code-group permission sets being associated with a code group in which the code assembly is a member.
2 Assignments
0 Petitions
Accused Products
Abstract
An evidence-based policy manager generates a permission grant set for a code assembly received from a resource location. The policy manager executes in a computer system (e.g., a Web client or server) in combination with the verification module and class loader of the run-time environment. The permission grant set generated for a code assembly is applied in the run-time call stack to help the system determine whether a given system operation by the code assembly is authorized. Both code assemblies and evidence may be received from a local origin or from a remote resource location via a network (e.g., the Internet). The policy manager may comprise execution modules for parsing a security policy specification, generating a one or more code hierarchies, evaluating membership of the received code assembly in one or more code groups, and generating a permission grant set based upon this membership evaluation.
-
Citations
42 Claims
-
1. A method for generating a permission grant set for a code assembly received from a resource location, the method comprising:
-
receiving a security policy specification defining a plurality of code groups, each code group being associated with a code-group permission set; receiving evidence associated with the code assembly; evaluating the evidence relative to the code groups to determine membership of the code assembly in two or more of the code groups; and generating the permission grant set by merging two or more code-group permission sets, each code-group permission set of the two or more code-group permission sets being associated with a code group in which the code assembly is a member. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer data signal embodied in a carrier wave by a computing system and encoding a computer program for executing a computer process generating a permission grant set for a code assembly received from a resource location, the computer process comprising;
-
receiving a security policy specification defining a plurality of code groups, each code group being associated with a code-group permission set; receiving evidence associated with the code assembly; evaluating the evidence relative to the code groups to determine membership of the code assembly in two or more of the code groups; and generating the permission grant set by merging two or more code-group permission sets, each code-group permission set of the two or more code-group permission sets being associated with a code group in which the code assembly is a member.
-
-
25. A computer program storage medium readable by a computer system and encoding a computer program for executing a computer process generating a permission grant set for a code assembly received from a resource location, the computer process comprising;
-
receiving a security policy specification defining a plurality of code groups, each code group being associated with a code-group permission set; receiving evidence associated with the code assembly; evaluating the evidence relative to the code groups to determine membership of the code assembly in two or more of the code groups; and generating the permission grant set by merging two or more code-group permission sets, each code-group permission set of the two or more code-group permission sets being associated with a code group in which the code assembly is a member.
-
-
26. A computer program product encoding a computer program for executing on a computer system a computer process for generating a permission grant set for a code assembly received from a resource location, the code assembly being associated with an evidence set, the computer process comprising:
-
receiving a security policy specification defining at least one code group collection having two or more code groups, each code group being associated with code-group permission set; evaluating the evidence set relative to the code group collection to determine membership of the code assembly in two or more code groups of the code group collection; and generating the permission grant set by merging two or more code-group permission sets, each code-group permission set of the two or more code-group permission sets being associated with a code group in which the code assembly is a member. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method of verifying a code assembly received from a resource location, the method comprising:
-
receiving a security policy specification defining a security policy; receiving evidence associated with the code assembly; evaluating the evidence relative to the security policy; performing verification on the code assembly; detecting a verification failure of the code assembly in the operation of performing verification; and determining whether the code assembly may be executed despite the verification failure, responsive to the evaluating operation. - View Dependent Claims (36, 37, 38, 40, 41, 42)
-
-
39. A method of verifying a code assembly received from a resource location, the method comprising:
-
receiving a security policy specification defining a security policy; receiving evidence associated with the code assembly; evaluating the evidence relative to the security policy; generating a permission grant set, responsive to the evaluating operation; determining based on the permission grant set that a step of a verification process is unnecessary; communicating to a verification module that the step of the verification process may be bypassed; performing the verification process on the code assembly with the verification module; and bypassing the step of the verification process, responsive to the communicating operation.
-
Specification