US 7,478,422 B2
Declarative language for specifying a security policy
Luis Filipe Pereira Valente, Palo Alto, Calif. (US); Geoffrey Howard Cooper, Palo Alto, Calif. (US); Robert Allen Shaw, Los Altos, Calif. (US); and Kieran Gerard Sherlock, Palo Alto, Calif. (US)
Assigned to Securify, Inc., Cupertino, Calif. (US)
Filed on Jun. 15, 2004, as Appl. No. 10/869,172.
Application 10/869172 is a continuation of application No. 09/479781, filed on Jan. 07, 2000, granted, now 6,779,120.
Prior Publication US 2004/0250112 A1, Dec. 09, 2004
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 29/00 (2006.01)
U.S. Cl. 726—4 5 Claims
OG exemplary drawing
 
1. A declarative language system for specifying in an annotated policy specification a security policy of a network event, wherein said network event comprises a stack having a plurality of protocol events, wherein each of said plurality of protocol events is associated with a predefined protocol layer, and wherein said network event is an interaction between an active principal and a passive principal, said declarative language system comprising:
a declarative language comprising a plurality of objects, such that each object of said plurality of objects comprises at least one list having a first element;
a declarative language editor for providing means for specifying in a first policy specification said security policy using said declarative language;
a declarative language compiler for providing means for compiling said first policy specification and generating said annotated policy specification;
means for loading said annotated policy specification into a policy engine;
means for said policy engine to receive said network event from an agent;
means for said policy engine to evaluate said security policy against said network event and to generate a disposition for said network event;
means for said policy engine to communicate agent directives to said agent; and
means for said policy engine to output said network event and said disposition to a datastore;
wherein said each object is a first-class object;wherein said first-class object comprises any of:
a policy;
a group;
a credential, said credential having a specificity;
a condition;
a disposition; and
a rule, said rule having an outcome;
wherein said rule for evaluating said event comprises:
a protocol field associated with said event;
a plurality of actions associated with said event;
an initiator for representing said active principal of said event;
a target for representing said passive principal of said event, and
means for said outcome to generate a disposition by specifying constraints upon said event, said outcome comprising:
at least one of a plurality of conditional statements and a default statement, wherein each of said plurality of conditional statement comprises a keyword and a disposition, and wherein said plurality of conditional statements are evaluated in chronological order; and further comprising;
a prerequisite having a plurality of rule's, such that said prerequisite is satisfied when at least one of said plurality of rules is applied to a prior event.