Abstract:
A dynamic content security parser (DCSP) that provides hardware assisted parallel processing technology for servicing complex web service security transactions at a high rate of throughput as an embeddable software product having a core DCSP engine that utilizes a content security policy to process documents in order to provide digital signature services, content encryption, XML filtering and SAML generation.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims priority to and incorporates by reference provisional patent application Ser. No. 60/492,069, filed Aug. 1, 2003. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field Of the Invention  
         [0003]     This invention relates generally to software methods for providing accelerated XML security operations for documents. More specifically, the invention is a system comprised of a dynamic content security parser (DCSP), comprised of a core processor engine, and a plurality of DCSP micro-engines, wherein the micro-engines are dedicated processors for providing added functionality such as filtering, document identification, XML digital signature generation, XML encryption, SAML generation, and SAML encryption, wherein the system enables a shift in the development of web services security towards policy programming, accelerates content security processing, and offers a flexible and embeddable software component for web services security.  
         [0004]     2. Description of Related Art  
         [0005]     The state of the art in XML document processing generally comprises a “Whole Document” approach, wherein an input XML document is parsed entirely and then loaded into memory. The next step is to search the parsed document for the portions of the input XML document that match a specific expression. The Whole Document approach is inefficient at best and unnecessary in most situations.  
         [0006]     Accordingly, it would be an advantage over the prior art to provide a faster or optimized approach to analyzing and preparing an XML document for processing.  
         [0007]     Current comprehensive security products are stand-alone solutions that are marketed as “best of breed” in their category. These products are selected by the consumer for their management capabilities, functional depth and breadth, as well as cost/performance advantage. However, the market fails to provide security products that can operate as embedded software components. The market also fails to provide security products in this class that are capable of operating on multiple reference platforms, or enable the user to continue to use a preferred application server, management infrastructure or development environment.  
         [0008]     The market also provides products with support for web services security. Disadvantageously, these products are faced with severe performance challenges, and are not viable for scaleable web services applications.  
         [0009]     Accordingly, it will be an advantage to provide scaleable and embedded software components that operate on multiple reference platforms, and provide performance gains in software that can be further amplified when ported to a hardware-assisted target reference platform.  
       BRIEF SUMMARY OF THE INVENTION  
       [0010]     It is an object of the present invention to provide accelerated content security through a dynamic content security parser engine and associated micro-function engines.  
         [0011]     It is another object to provide accelerated content security for XML documents.  
         [0012]     It is another object to provide web services security that is policy oriented.  
         [0013]     It is another object to provide a high-level programming interface that will enable a programmer to create a content security policy that will simultaneously generate a digital signature and security assertion markup language (SAML) authentication assertion generation in a single pass.  
         [0014]     In a preferred embodiment, the present invention is a dynamic content security parser (DCSP) that provides hardware assisted parallel processing technology for servicing complex web service security transactions at a high rate of throughput as an embeddable software product having a core DCSP engine that utilizes a content security policy to process documents in order to provide digital signature services, content encryption, XML filtering and SAML generation.  
         [0015]     In a first aspect of the invention, scalability is provided through load balancing of requests across multiple micro-engines.  
         [0016]     In a second aspect of the invention, performance is enhanced by pre-processing of XML documents for the micro-engines.  
         [0017]     In a third aspect of the invention, efficiency is increased by providing policy-programming API where SAML and digital signature (DSIG) are requested at the same time.  
         [0018]     In a fourth aspect of the invention, manageability is provided in a secure management interface.  
         [0019]     In a fifth aspect of the invention, a single development environment enables developers to avoid stitching together of multiple libraries to creates SIGS, SAML, VALIDATION, ENCRYPTION and FILTERING rules.  
         [0020]     In a sixth aspect of the invention, developers are able to apply multiple policies using a policy-programming approach using an abstract XMLSec API.  
         [0021]     In a seventh aspect of the invention, content security is accelerated using parallel processing technology of the DSCP engine.  
         [0022]     These and other objects, features, advantages and alternative aspects of the present invention will become apparent to those skilled in the art from a consideration of the following detailed description taken in combination with the accompanying drawings.  
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0023]      FIG. 1  is a block diagram that illustrates the relationship between the present invention, the developer, and reference platforms.  
         [0024]      FIG. 2  is a block diagram of the DCSP system architecture. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0025]     Reference will now be made to the drawings in which the various elements of the present invention will be given numerical designations and in which the invention will be discussed so as to enable one skilled in the art to make and use the invention. It is to be understood that the following description is only exemplary of the principles of the present invention, and should not be viewed as narrowing the claims which follow.  
         [0026]     The presently preferred embodiment of the invention is illustrated in  FIG. 2 .  FIG. 2  is a block diagram that illustrates the dynamic content security parser (DCSP) architecture and its relationship to documents to be processed. Beginning with input, the DCSP engine  10  accepts documents  12 , supporting material  14 , and content security rules  16 . The DCSP engine  10  operates on an Operating System (OS) reference platform such as VxWorks or Linux. The input material  12 ,  14 ,  16  are received at a software Input/Output Interface  18 .  
         [0027]     A DCSP core engine receives the input and provides various functions. First, the DCSP core engine provides a secure software I/O interface exposed via Inter-process communication, JNI or loctl. Next, the DCSP core engine includes a secure communications interface to any number of micro-engines. Likewise, the DCSP core engine includes a secure execution environment for micro-engines that perform the optimized functions of the DCSP engine  10 . Furthermore, the DCSP core engine manages the execution of a policy on an appropriate micro-engine while performing load balancing across all of the available micro-engines. The DCSP core engine also provides a pre-processing environment for configuration files as well as the XML documents being processed. Pre-processing includes determining which instructions within a configuration file can be executed and on which micro-engines, and then submitting the appropriate inputs to the appropriate micro-engine from the configuration files. Finally, the DCSP core engine provides a management and monitoring interface for control of the DSCP engine.  
         [0028]     It is envisioned that at least four micro-engines will provide the desired functions of the DSCP system  10 , but more micro-engines can be added as increased functionality or throughput is required. The important aspects of the DCSP engine  10  are that it has a layered, extensible and modularized architecture in order to provide a safe, distributed and scalable computing model for content-security policies.  
         [0029]     Micro-engines are designed to execute well-defined content-security operations in an efficient manner. Speed and efficiency are obtained because they receive pre-processed documents and configuration files from the DCSP core engine.  
         [0030]     It is envisioned that four micro-engines would be released with the first product to be shipped. The four micro-engines will execute four optimized content security operations. The first operation is applying a digital signature. This could be, for example, a WS-Security Digital Signature, or an XML Digital Signature. The second operation is content encryption of the document. The micro-engine would thus perform both optimized encryption and decryption. The third process is XML filtering. Such filtering would be performed on SOAP 1.1/1.2, XML 1.0, XSD, DTD, and WSDL based filtering. The fourth operation relates to WS Security in the form of SAML generation and consumption.  
         [0031]     Interaction between the micro-engines and the DCSP core engine are important for the benefits of the present invention to be achieved. For example, if a policy requires execution of a Digital Signature and a SAML assertion, then the DCSP core engine would control what information was sent to each micro-engine, and then how the micro-engines would interact in order to perform their functions in the most efficient manner possible, operating in parallel whenever possible. The DCSP core engine would also pre-process the document before transmission to the micro-engines.  
         [0032]     It is observed that the desired benefits of a policy driven DCSP system as described changes the approach to the problem of document processing. Instead of being concerned with how a document is to be processed, the issue becomes what should be processed. Thus, the application developer moves way from a procedural approach, and moves to specifying what data transformations should occur, rather than how each transformation should be performed.  
         [0033]     It is also noted that the present invention encapsulates and abstracts the myriad of possible WS-Security variables and options in a simple XML syntax and enables the construction of all of the various message objects and the setting of values for the object attributes.  
         [0034]     As part of the present invention a content security policy configuration (CSPC) XML schema encapsulates all of the possible rules in order to set the run-time environment, execution variables, and then instruct the DCSP system to perform its functions.  
         [0035]     An example of a digital signature CSCP file might include: a document (parsed or events), node to sign (XPATH), private key location or reference, and digital signature type (enveloped, WS-Security etc.)  
         [0036]     It is noted that the WS-POLICY specification already defines in XML how to represent WS-Security security rules in a standard format. Because the GUI Workbench already writes a similar file, the present invention will extend the XML format to become a pseudo WS-POLICY configuration file that drives the programming of the DCSP system.  
         [0037]     An important aspect of the present invention is to ensure that the DCSP system readily supports multiple reference software platforms, including C/C++, Java, Sentry, FPGA on a PCI, Tarari, etc. The DCSP system should also be sufficiently small such that it can be readily ported to client-side environments. Such ability means that a user interface would also be required.  
         [0038]     It is envisioned that the DCSP core engine and micro-engines would initially offer performance gains in software alone. However, specific code paths within the DCSP system, or the entire DCSP system could be implemented in hardware in order to accelerate functions.  
         [0039]     The present invention also includes other options and improvements. For example, after the DCSP core engine and micro-engines have completed their functions, the results are transmitted via a hardware I/O interface to the hardware platform for use. However, these uses include further processing by optional shadow micro-engines. Other options include processing by primitive co-processors. These co-processors would add the features of performing regular expressions, XML parse, cryptographic operations, custom operations, key management, and canonicalization. Note that the DCSP core engine, micro-engines, optional shade micro-engines, and primitive co-processors can all be supplemented through hardware.  
         [0040]     It should be understood that while the ultimate goal is to increase the throughput of document processing in XML web services security, this goal will be realized by the ability to the present invention to perform dynamic one-pass processing. One-pass processing means that a document is traversed once in order to perform a specific content processing operation, rather than repeatedly traversing the document for each step of parsing, processing, and serializing. The prior art teaches traversing XML documents multiple times to first build an initial DOM model, then traversing and manipulating the DOM model for digital signatures, and ten traversing and manipulating the DOM model to serialize the DOM back to XML format. One-pass processing eliminates DOM construction and traversal in order to integrate signing and other document processing steps into the parsing phase, eliminating the need for a second traversal. One-pass processing can also output an XML document directly from the parser, eliminating third-pass serialization.  
         [0041]     Accordingly, the present invention combines XML parsing and security content processing to thereby perform a digital signature operation while the document is read the first time.  
         [0042]     It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present invention. The appended claims are intended to cover such modifications and arrangements.