US2008235258A1PendingUtilityA1

Method and Apparatus for Processing Extensible Markup Language Security Messages Using Delta Parsing Technology

44
Assignee: CHUNG HYEN VUIPriority: Mar 23, 2007Filed: Mar 23, 2007Published: Sep 25, 2008
Est. expiryMar 23, 2027(~0.7 yrs left)· nominal 20-yr term from priority
G06F 40/186G06F 40/151G06F 40/194G06F 40/205G06F 21/64G06F 21/602G06F 40/143
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer implemented method, apparatus, and computer program product for processing markup language security messages. A template corresponding to a markup language security message is identified. The markup language security message is parsed for variable values using the template. A transition sequence is generated that represents the entire markup language security message. Each transition in the transition sequence is associated with a portion of the markup language security message. A lightweight data model of the markup language security message is populated using the transition sequence. The lightweight data model includes nodes for the variable values and a set of selected constant values.

Claims

exact text as granted — not AI-modified
1 . A computer implemented method for processing markup language security messages, the computer implemented method comprising:
 identifying a template corresponding to a markup language security message;   parsing the markup language security message for variable values using the template;   generating a transition sequence that represents all of the markup language security message, wherein each transition in the transition sequence is associated with a portion of the markup language security message; and   populating a lightweight data model of the markup language security message using the transition sequence, wherein the lightweight data model includes nodes for the variable values and a set of selected constant values.   
   
   
       2 . The computer implemented method of  claim 1  further comprising:
 storing the lightweight data model in a cache, wherein the cache is an automaton.   
   
   
       3 . The computer implemented method of  claim 1  further comprising:
 generating the lightweight data model using the template, wherein the lightweight data model includes a node in the nodes for each variable value in the variable values in the markup language security message and a node in the nodes for each constant value in the set of selected constant values.   
   
   
       4 . The computer implemented method of  claim 3  further comprising:
 identifying a set of unneeded constant values from a plurality of constant values in the template, wherein a node for a value in the set of unneeded constant values is absent from the lightweight data model; and   selecting constant values in the template that are required to process the markup language security message to form the set of selected constant values.   
   
   
       5 . The computer implemented method of  claim 1  wherein information that is not required for processing the markup language security message is absent from the lightweight data model. 
   
   
       6 . The computer implemented method of  claim 1  further comprising:
 adding a digital signature to a portion of an extensible markup language message based on the lightweight data model.   
   
   
       7 . The computer implemented method of  claim 1  wherein a digital signature is associated with the portion of the markup language security message and further comprising:
 verifying the digital signature in the markup language security message based only on the lightweight data model.   
   
   
       8 . The computer implemented method of  claim 1  further comprising:
 encrypting the portion of the markup language security message based only on the lightweight data model.   
   
   
       9 . The computer implemented method of  claim 1  wherein the portion of the markup language security message is encrypted and further comprising:
 decrypting the encrypted portion of the markup language security message based only on the lightweight data model.   
   
   
       10 . The computer implemented method of  claim 1  wherein processing the markup language security messages includes at least one of generating a digital signature, verifying a digital signature, encrypting data, or decrypting data. 
   
   
       11 . The computer implemented method of  claim 1  wherein the variable values in the lightweight data model are populated using an original data encoding for the markup language security message without any data conversion. 
   
   
       12 . The computer implemented method of  claim 1  wherein the markup language security message is a first markup language security message, and further comprising:
 responsive to receiving a second markup language security message, determining whether a result of a canonicalization of any markup language security message stored in the canonicalization automaton is a match with the second markup language security message; and   responsive to identifying the match between the result of the canonicalization stored in the canonicalization automaton and the second markup language security message, skipping a canonicalization of the second markup language security message.   
   
   
       13 . The computer implemented method of  claim 1  wherein the template includes constant values and variable values. 
   
   
       14 . The computer implemented method of  claim 1  further comprising:
 storing a result of a transformation of the markup language security message in a transformation automaton.   
   
   
       15 . The computer implemented method of  claim 14  further comprising:
 responsive to receiving a second markup language security message, determining whether a result of a transformation of any markup language security message stored in the transformation automaton is a match with the second markup language security message; and   responsive to identifying the match between the result of the transformation of any markup language security message stored in a transformations automaton and the second markup language security message, skipping a transformation of the second markup language security message.   
   
   
       16 . The computer implemented method of  claim 1  wherein the markup language security message is an extensible markup language security message. 
   
   
       17 . A computer program product comprising:
 a computer usable medium including computer usable program code for processing markup language security messages, said computer program product comprising:
 computer usable program code for identifying a template corresponding to a markup language security message; 
 computer usable program code for parsing the markup language security message for variable values using the template; 
 computer usable program code for generating a transition sequence that represents all of the markup language security message, wherein each transition in the transition sequence is associated with a portion of the markup language message; and 
 computer usable program code for populating a lightweight data model of the markup language security message using the transition sequence, wherein the lightweight data model includes nodes for the variable values and a set of selected constant values, and wherein information that is not required for processing the markup language security message is absent from the lightweight data model. 
   
   
   
       18 . The computer program product of  claim 17  further comprising:
 computer usable program code for storing the lightweight data model in a cache, wherein the cache is an automaton.   
   
   
       19 . The computer program product of  claim 17  further comprising:
 computer usable program code for generating the lightweight data model using the template, wherein the lightweight data model includes a node in the nodes for each variable value in the variable values in the markup language security message and a node in the nodes for each constant value in the set of selected constant values.   
   
   
       20 . The computer program product of  claim 19  further comprising:
 computer usable program code for identifying a set of unneeded constant values from a plurality of constant values in the template, wherein a node for a value in the set of unneeded constant values is absent from the lightweight data model; and   computer usable program code for selecting constant values in the template that are required to process the markup language security message to form the set of selected constant values.   
   
   
       21 . The computer program product of  claim 17  wherein the variable values in the lightweight data model are populated using an original data encoding for the markup language security message without any data conversion. 
   
   
       22 . The computer program product of  claim 17  further comprising:
 computer usable program code for adding a digital signature to a portion of an extensible markup language message based on the lightweight data model.   
   
   
       23 . The computer program product of  claim 17  wherein a digital signature is associated with the portion of the markup language security message and further comprising:
 computer usable program code for verifying the digital signature in the markup language security message based only on the lightweight data model.   
   
   
       24 . The computer program product of  claim 17  further comprising:
 computer usable program code for encrypting the portion of the markup language security message based only on the lightweight data model.   
   
   
       25 . The computer program product of  claim 17  wherein the portion of the markup language security message is encrypted and further comprising:
 computer usable program code for decrypting the encrypted portion of the markup language security message based only on the lightweight data model.   
   
   
       26 . The computer program product of  claim 17  further comprising:
 computer usable program code for storing a result of a canonicalization of the markup language security message in a canonicalization automaton.   
   
   
       27 . The computer program product of  claim 26  further comprising:
 computer usable program code for determining whether a result of a canonicalization of any markup language security message stored in a cache is a match with a second markup language security message in response to receiving the second markup language security message; and   computer usable program code for skipping a canonicalization of the second markup language security message in response to identifying the match between the result of canonicalization stored in the canonicalization automaton and the second markup language security message.   
   
   
       28 . The computer program product of  claim 17  wherein processing the markup language security messages includes at least one of generating a digital signature, verifying a digital signature, encrypting data, and decrypting data. 
   
   
       29 . The computer program product of  claim 17  wherein the template includes constant values and variable values. 
   
   
       30 . The computer program product of  claim 17  further comprising:
 computer usable program code for determining whether a result of a transformation of any markup language security message stored in a transformation automaton is a match with a second markup language security message in response to receiving the second markup language security message; and   computer usable program code for skipping a transformation of the second markup language security message in response to identifying the match between the result of transformation of any markup language security message stored in the canonicalization automaton and the second markup language security message.   
   
   
       31 . An apparatus comprising:
 a bus system;   a communications system connected to the bus system;   a memory connected to the bus system, wherein the memory includes computer usable program code; and   a processing unit connected to the bus system, wherein the processing unit executes the computer usable program code to identify a template corresponding to a markup language security message; parse the markup language security message for variable values using the template; generate a transition sequence that represents all of the markup language security message, wherein each transition in the transition sequence is associated with a portion of the markup language security message; and populate a lightweight data model of the markup language security message using the transition sequence, wherein the lightweight data model includes nodes for the variable values and a set of selected constant values.   
   
   
       32 . A system for processing markup language security messages, the system comprising:
 a delta parsing engine, wherein the delta parsing engine identifies a template corresponding to a markup language security message and parses the markup language security message for variable values using the template;   an markup language security message processor, wherein the markup language security message processor generates a transition sequence that represents all of the markup language security message, wherein each transition in the transition sequence is associated with a portion of the markup language security message; and populates a lightweight data model corresponding to the markup language security message using the transition sequence, wherein the lightweight data model includes nodes for the variable values and a set of selected constant values.   
   
   
       33 . A data model for processing markup language security messages, the data model comprising:
 a set of nodes mapped to variable values in a transformation sequence corresponding to a markup language security message;   a set of nodes mapped to selected constant values in the transformation sequence corresponding to the markup language security message, wherein the selected constant values are selected from a plurality of constant values in the markup language security message, and wherein information that is not required for processing the markup language security message is absent from the lightweight data model.   
   
   
       34 . The data model of  claim 33  further comprising:
 a transformation automaton, wherein the transformation automaton includes cached transitions corresponding to the markup language security message.   
   
   
       35 . The data model of  claim 33  further comprising:
 a canonicalization automaton, wherein the canonicalization automaton includes cached results of canonicalization iterations of the markup language security message.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.