The present invention relates to network security for distributed computer systems and, more specifically, to granting network services and determining the level of supplied services based upon an assessment of the vulnerability of a network computer.
As use of network services becomes more prevalent in distributed computer networks, secure authentication of a computer user increases in importance. Authentication is required to prevent unauthorized use and abuse of network services. Authentication services typically require the user to verify his or her identity to the network service provider to determine whether that user is authorized to use a computer to access the network.
An authorization mechanism defines who is allowed to do what on a computer. Two computer authorization mechanisms for typical operating systems are privileges and object access control. Users granted a specific privilege can perform an action that is denied to users who do not have the privilege. Typically, privileges are not evaluated on a per-object basis. Instead, a privilege is applied in general to an action for a user. For example, the root user in most UNIX operating systems has a set of privileges associated with authorized actions. The “WINDOWS NT” operating system supports the grant of a set of privileges on a per-user or user group basis.
When access control is required for a particular object, such as a file, a form of authorization other than a general privilege can be used to define a permission to access the object on a per user basis. Object access control can specify, for each object, different access permissions for different users. For example, on a UNIX system, the “chmod” command allows the user to specify read, write, and execute permissions for the owner, the group, and the world. The “WINDOWS NT” operating system uses a discretionary access list that grants control permissions for different users.
Both authorization methods support the control of computer actions based on the identity of the user. The user's identity establishes the privileges and the objects that she can access via a computer. Establishing the identity of the user is crucial to security and control in a computer network and is the role of the authentication process.
There are three branches of authentication technology in common use today to assist verification of the identity of the user. Shared secret (password) technology is one; public key technology is a second; and biometric technology is a third. Conventional authentication involves confirming the user's identity by (1) verifying a shared secret, such as a password, (2) using public/private key encryption and verifying that the user knows the private key, or (3) using unique biometric information about the user, such as fingerprints, retinal patterns, or voice prints. All three technologies revolve around the fundamental principle of credentials. A credential is information useful to establish the identity of a computer user. An authenticating service requests credentials from the user to support a decision about the identity of the user based on the credentials.
In many organizations and homes today, users operate a workstation, which makes requests for a network service available on a computer network. The workstation is important in authentication for two reasons. First, the workstation is a platform from which the user can access resources, including network services, on the network. Users authenticate and connect to network services from their workstations. Second, the workstation can be silently compromised by an unauthorized party. A “silent” compromise is one that the user cannot easily detect without the aid of external security auditing tools. Silent compromise is typically accomplished by installing a compromise tool called a “root kit” or a “backdoor” on the workstation. For example, current “hacker” software can be used to obtain the customer's password by logging keystrokes or browser screenshots can be taken to intercept SSL-protected HTTP traffic.
An intruder may compromise the integrity of a workstation, or a workstation may be misconfigured so that compromise is possible. The use of a network service may be compromised when a user accesses a network service from a compromised workstation. This subjects the network service to unauthorized use and abuse by the intruder on a valid user's workstation.
The effect of a compromised workstation is the potential violation of security mechanism that assumes the workstation is “trusted”, including password-based authentication and some forms of biometric authentication. Smart card authentication implementations also can be subverted if the workstation's Trusted Computer Base is subverted. For example, a user's credentials, such as password and biometric credentials, can be stolen or rogue code can be executed that impersonates the logged-on user.
Host assessment and authentication is relevant to the Internet environment because most Web clients are currently desktop machines. These machines are capable of being compromised, and are frequent targets of compromising attacks. Some Web sites attempt to verify the security of the client host by performing a security assessment before allowing transactions from that host.
For example, online banking applications are typically implemented by Web sites that allow customers to view account balances and pay bills. Customers and insurers want assurances that only the customer can perform transactions, and that the transactions are confidential. Current techniques include password authentication to verify that only the customer has access to their account, and SSL or PCT encryption to verify that there is no “man in the middle” capable of intercepting the network traffic.
In view of the foregoing, there is a need for a way for verifying the integrity of the workstation prior to granting access to and determining the level of a network service. The present invention solves the security compromise problem by providing assurances to the Web site operator (and their insurer) that the user's workstation has not been compromised or is easily compromised. The invention can accomplish this desirable objective by scanning the user's workstation for evidence of compromise and vulnerabilities that could lead to compromise. For example, when a user signs on to a Web site, the scan can be completed as part of the authentication process.
The disadvantages of the prior art are overcome by the present invention, which can restrict access to a network service based on information about the integrity and security posture of the workstation that originates the service request. A network service receives a request for service from a user on a workstation. Prior to authorizing access to the service, the network service requests or expects to receive credentials from the user and/or the workstation. Workstation credentials are presented as part of the authentication process, and typically include information about the current integrity of the workstation, and the security posture of the workstation. The security posture typically includes data that indicates the potential for the workstation to be compromised. The network service makes a decision about whether to process the service request based on the user credentials and/or the workstation credentials. If the network service decides to process the request, it may elect, based on the workstation credentials, to provide a degraded service that is consistent with the perceived risk of workstation compromise.
The present invention provides an authentication process that can refuse access by a workstation to a network service based on the integrity and security posture of the workstation that originates the service request. This inventive process can be integrated with other authentication processes, particularly user authentication processes, to enhance the security provided by the authentication process. This augments the authentication and authorization processes of existing network services.
The present invention can also perform workstation assessments from multiple security perspectives, store the different results, use the assessments to grant or deny service access, and issue a report of these results to authorized users. The term “multiple security perspectives” means that workstation assessments may be performed at different network locations, and with different levels of access to the workstation by a workstation assessment service.
More particularly described, the present invention provides a network authentication system comprising an assessment service for assessing the vulnerability of a workstation that can be connected to a network server. The network server provides network service(s) over a computer network and requires authentication to maintain secure operations. A workstation is assessed, either locally or over the network, for security vulnerabilities. A workstation assessment service produces workstation credentials comprising integrity information and security posture information. Integrity information describes whether the workstation is compromised, while security posture information describes the workstation's potential for compromise, or security risk. The results of an assessment are compared to a workstation security policy to decide whether to allow network service and to define a level of network service to be supplied to the workstation.
The workstation assessment service can be located on the workstation, thereby providing a local workstation assessment service. In the alternative, the workstation assessment service can operate on a network machine other than the workstation, thereby providing a network-based workstation assessment service. The network service, upon receiving the service request from a network client operating on a workstation, requests workstation credentials from a local workstation assessment service on the requesting workstation or via the network-based workstation assessment service. The network service can use a persistent store to cache workstation credentials and thereby prevent overly frequent reassessments of the workstation.
The workstation policy can be stored on a network server that hosts the network service. In the alternative, the workstation policy can be stored on a network server that is different from the server that hosts the network service. The workstation policy also can be stored on the workstation.
Typical distributed computing environment includes a workstation and a network server, each coupled to a computer network. A network client operates on the workstation, whereas a network service operates on the network server. For a representative scenario, the network service can request workstation credentials from a local workstation assessment service operating on the workstation. In turn, a network client, as part of the network client authentication process, can transmit the workstation credentials to the network service. The network service processes the workstation credentials based on workstation policy and decides whether to allow service to the network client.
For another aspect, the network service requests workstation credentials from a network-based workstation assessment service. In response, the network workstation assessment service provides workstation credentials to the network service to support the authentication process. The network service processes the workstation credentials and workstation policy to determine whether to allow service to a network client operating on the workstation.
For yet another aspect, the network service can transmit a security challenge to the network client. In response, the workstation assessment service transmits a reply that allows the network service to verify that the workstation assessment service has completed an assessment. This challenge/response may be implemented by the transmission of a shared secret, such as a pseudo-random number. The response may be generated by a one-way-function (such as MD5 or SHA1) performed on a concatenation of the challenge, the shared secret, and the results of the workstation assessment. The network service verifies that a program with knowledge of the shared secret produced the results of the workstation assessment. The network service can “trust” the results of a workstation assessment based on a positive verification result.
The network service may utilize the results of the workstation assessment to provide a degraded level of service to the workstation. The service level corresponds with the results in the workstation assessment result set. The level of service can be driven by a metric, such as a scalar score calculated by assigning a weight to each possible result, adding the weights for each result in the workstation assessment result set, and providing a score threshold for each possible level of service. If a score exceeds the score threshold for a particular level of service, then that level of service may not be granted by the network service. In the alternative, a scalar score can be calculated based upon a weighted average of a vulnerability for a workstation, each vulnerability assigned a predetermined priority. Consequently, the level of service can be associated with any conventional metric.
The service level also can be decided by utilizing techniques, such as artificial intelligence or expert systems, to make an intelligent analysis of the risk involved to the network service, service provider, and end user, given the workstation assessment results. For example, if a network service provides a service in distinct facets, each service facet may make a determination about degree of service provided, utilizing the results of the workstation assessment. When a network service provides data transport for network services, each higher-level network service may make a determination about the service level to be provided, utilizing the results of the workstation assessment, as provided by the data transport service.
In view of the foregoing, it will be understood that the present invention can grant access to the network services and determine the level of supplied services based upon an assessment of the vulnerability of a workstation coupled to a computer network. The advantages and implementation of the present invention will be described in more detail below in connection with the detailed description, the drawing set, and the attached claims.
In environments where computers are shared, users want an assurance that the computer they are logging-in to is secure, before completion of the log-in operation. This can be accomplished by extending the local log-in process to perform a local host assessment of the workstation prior to requesting the user's credentials. If the assessment finds a vulnerability, the log-in process can inform the user that the machine is or may be compromised, or repair an identified vulnerability, prior to completion of the log-in operation.
By performing vulnerability assessment at the level of the workstation, the network server is able to determine whether the workstation is a “trusted” platform from which to accept authentication requests. If the vulnerability assessment shows that the computer is compromised, or if the possibility of remote compromise is high, the network server can deny authentication because the workstation cannot be trusted. Optionally, a vulnerability assessment tool may be able to repair the vulnerability of the workstation, thereby allowing the authentication to proceed.
For example, corporations that implement Virtual Private Networks (VPNs) typically allow people physically located outside corporate facilities access to the corporate network. While corporate computer systems staff can secure the machines physically located in corporate facilities, they cannot control machines located outside corporate boundaries. These external machines present a security risk. Even if the users of the external machines are benevolent, the machines may have been compromised silently. If this happens, the intruder on the external machine may use the VPN connection as a stepping-stone to unauthorized use of the corporate network. This risk can be addressed by extending the log-in process to include vulnerability assessment of the external host. If the vulnerability assessment fails, the external host is not allowed to connect to the network and the user of the external host is notified of the security risk. Another alternative is to automatically address the vulnerability (with the user's approval) by repairing an identified vulnerability, prior to completing the VPN log-in process. This technology can also be used to secure dial-up networking. The dial-up networking authentication process can be extended to include vulnerability assessment of the dial-in host.
As used in the description herein and throughout the claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise: the meaning of “a”, “an”, and “the” includes plural references, the meaning of “in” includes “in” and “on.” Also, as used herein, “global computer network” includes the Internet. A “network service” includes any service that is made available over a distributed computer network. Exemplary embodiments of the invention are now described in detail in connection with the drawings. Referring to the drawings, like numbers indicate like parts throughout the views.
Turning now to
The network service completes an authentication decision in step 225 by applying the workstation credentials to the workstation security policy. In the event that the credentials satisfy the workstation security policy, the network service permits operation of the requested service by the workstation in step 230. If the credentials satisfy only a portion of the workstation security policy, the network service can elect to allow the workstation to access a degraded level of service, as shown in step 235. On the other hand, the network service can elect to deny service to the workstation, as shown in step 240.
The network client 310 can transmit the workstation credentials and/or user credentials to the network service 325 via the distributed computer network. A typical authentication process is completed by evaluating credentials for a workstation. The network service 325 accesses a workstation security policy to evaluate the workstation credentials and to determine the level of service, if any, to be provided to the workstation 305. The workstation security policy can be maintained on the network server 320 or on a separate server, such as a network policy server or a directory server. The network service 325 can determine whether to allow the workstation 305 to access a network service based upon a comparison of the workstation security policy to the workstation credentials. The network service 325 notifies the network client 310 of the authentication results generated by a comparison of the workstation security policy to the workstation credentials. Although the exemplary network security system 300 completes a local assessment of the host computer, the authentication decision is completed by a separate computer on the distributed computer network, namely the network server 320.
The network client 410 queries the local workstation assessment service 415 for workstation credentials. The network client 410 completes a policy compliance measurement by using the workstation security policy 420 and the workstation credentials. The network client 410 can then decide whether to use traditional user authentication with the network service 435. Other options include storing the workstation policy on a separate server and caching the workstation credentials on the network server. In this manner, there is no requirement to assess the workstation for each service request.
An alternative exemplary network security system is shown in
The exemplary network security system illustrated in
An exemplary process 700 for Web-based network service authentication relying upon browser-based technology is shown in
The workstation assessment agent, i.e., the browser plug-in 705′, transmits the workstation credentials to the Web server 710 via the computer network. An application on the Web server 710, typically a Web server CGI 715, compares the workstation credentials to a workstation security policy to decide whether the workstation is secure. Service by the Web server 710 is allowed if the Web server CGI 710 determines that the workstation is secure and the Web server 710 authenticates the user. If the Web server CGI 715 decides to continue, and the Web server 710 has not already authenticated the user, the server may now begin the user authentication process. There is a benefit to authenticating the user after completing a vulnerability analysis of the workstation—it is more difficult for an intruder to steal a user's credentials if the intrusion is detected and the user authentication process is terminated before the user presents their credentials.
Table I provides an overview of the primary network service authentication tasks completed for the Web-based operating environment of a workstation assessment agent operating on a workstation and a Web server, as shown in
The exemplary Web-based process shown in
The workstation assessment agent, implemented as a browser plug-in 705′, has two main functions: host assessment and communication of workstation assessment results. The host assessment is completed to determine whether the host is compromised. The browser plug-in 705′ runs a series of checks, each looking for a particular security risk. Each check generates a scan result, which indicates whether a vulnerability risk is present at the workstation. The browser plug-in 705′ then prepares assessment results for transmission to the Web server.
The browser plug-in 705′ communicates the assessment results to the CGI script 715 operating on the Web server 710. This communication is preferably completed in a secure manner, between the workstation and the Web server, so that results cannot be intercepted by a third party. The communication also should be secure in such a way as to prevent the transmission of false information to the CGI script 715. This can be accomplished by the use of authentication or encryption technologies
For example, the communication between the browser plug-in 705′ and the CGI script 715 can be completed by sending an HTTPS GET request with vulnerability assessment results stored as parameters of the GET request. The browser plug-in 705′ generates a URL that uses HTTPS for confidentiality and contains the scan results as parameters. These parameters can be obfuscated by using shared secret encryption to prevent reverse engineering of the communications channel and to insure transmission only to appropriate servers.
The CGI script 715 receives scan results from Web clients, and decides, based on the results, whether to continue the authentication process. The script 715 responds to the scan results by redirecting the Web client, i.e., the workstation, to one of two different Web pages based on this decision. If the script 715 decides to allow authentication to continue, it redirects the browser 705 to a page that continues or completes the log-on process. If the script 715 decides to deny access, it redirects the browser 705 to a page that explains that service access is denied, why access is denied, and what can be done to obtain access to the requested service.
The CGI script 715 is preferably capable of receiving encrypted data comprising scan results from the browser plug-in 705′, decrypting the data, and making a decision based on the results. The script 715 can assign a score to each different vulnerability identified by the browser plug-in 705′. When all results are received from the browser plug-in 705′, the script 715 calculates a total score by adding the score assigned to each vulnerability. The total score is then compared by the script 715 against a maximum allowable score. If the total score is less than or equal to the maximum allowable score, authentication is allowed to proceed. If the total score is greater than the maximum allowable score, access by the browser 705 to the Web server 710 is denied by the script 715.
The Web-based design illustrated in
In most web service contexts, the result of a decision-making process for determining whether to grant access by a client to a network service can be expressed as making a choice between URL's. If the decision comes out one way, the browser points to one URL. If it comes out another way, the browser points to a different URL. This can be accomplished on the server side by instructing the client to submit scan information to the server, and having the server redirect the client to the appropriate URL after making the service access decision.
The client's decision-making procedure typically involves three types of information: vulnerability weights, used to calculate a host score based on found vulnerabilities, a “max score”, used to gate service, and two URLs, one for passing scores and one for failing scores. If the host's score exceeds the max score, the host is not granted access, and is redirected to the URL for failing scores. If the host's score is less than or equal to the max score, the host is allowed access, and is redirected to the URL for passing scores.
A network server can send vulnerability weights, max score, and URLs to the client, thereby allowing the client to calculate the host score, compare it to the max score, and redirect the browser to the appropriate URL. This delivery of information to the client via the computer network can be completed without compromising the consumer's privacy. However, if the URLs are transmitted to the client without protection, the consumer could intercept the transmitted URL and thereby circumvent the process.
By authenticating the control or plug-in transmitted to the web server, a verification can be completed so that only the control (or someone who knows the shared secret embedded within it) can request the “success” URL successfully. Assume that the “success” URL is actually the URL of a web script and that a crypto “challenge” is generated and passed to the control along with the URLs. The control can use this challenge, along with a shared secret known only to the control and the “success” URL web script, to generate a crypto “response”.
Instead of redirecting the browser directly to the web script, the control can redirect the browser to the web script and pass the crypto “response” to the script (typically by simply appending it to the end of the URL). If the crypto “response” does not match the crypto “challenge” that was sent to the control, the script could redirect the browser to the “failure” URL. This way, only those with knowledge of the shared secret (preferably only the control) can request the “success” URL and gain access. This client-based design requires the control to make the network service access decision, instead of sending information from the browser-based control to support a decision by the web server.
The exemplary network security 800 operates in a distributed computing environment comprising a workstation 805, a network service 810, a workstation assessment proxy service 815, a LAN-based network assessment service 830, and an Internet-based network assessment service 835. The distributed computing environment can include one or more workstations 805, each including a network client 820 and a local workstation assessment service 825. An authentication process is initiated in response to network client 820 generating a service request via the distributed computer network. The network service 810 responds to the service request by issuing a workstation assessment request to the workstation assessment proxy service 815. In turn, the workstation assessment proxy service 815 will issue multiple assessment requests to a variety of assessment services to evaluate the potential vulnerability of the workstation 805.
For example, the workstation assessment proxy service 815 can issue a local assessment request to the local workstation assessment service 825 via the distributed computing network. In addition, the workstation assessment proxy service 815 can issue a network assessment request to both the LAN-based network assessment service 830 and the Internet-based network assessment service 835. Each assessment service completes a scan of the workstation 805 and returns assessment results to the workstation assessment proxy service 815 via the distributed computing network.
In turn, the workstation assessment proxy service 815 can combine the assessment results and transmit the combined assessment results to the network service 810 via the distributed computer network. The network service 810 applies a workstation security policy to the combined assessment results to determine the level of service, if any, to be provided to the requesting workstation 805. The workstation security policy can be maintained on the network server hosting the network service or a separate server, such as a network policy service or a directory server. The network service 810 notifies the network client 820 of the authentication results via the distributed computing network.
Another alternative exemplary network security system is shown in
The network service 925 assesses a workstation security policy, typically maintained at the network server 910, to evaluate the workstation credentials. Specifically, the network service 925 compares the workstation credentials to the workstation security policy to determine the level of service to be provided, if any, to the workstation 905. Although the workstation security policy is preferably maintained on the network server 910, it will be appreciated that the security policy also can be maintained on a separate server, such as a network policy server or a directory server. Based upon the evaluation of workstation credentials, the network service 925 issues a message to notify the network client 915 of the service level to be provided by the network service 925.
In view of the foregoing, it will be appreciated that an authentication process can be implemented at a Web server, which evaluates the access of a Web service by a workstation based on workstation credentials (security posture and integrity information). The user can not log-on to the Web service unless the workstation's security posture and integrity comply with the Web service's security policy. Alternately, the user receives a level of access appropriate to the degree of compliance of the workstation's security posture and integrity with the Web service's security policy.
Alternatively, an authentication process can be implemented by a network connection. This prevents a workstation from joining a network without presenting workstation credentials for approval. This authentication process can be used when a workstation connects to a VPN or to a Microsoft Windows Domain.
The authentication process also can be implemented as an extension to an extensible authentication process, such as GSSAPI or Microsoft SSPI. Any network service that uses the extensible authentication process can validate the security of the workstation.
The authentication process can be implemented on a dial-up networking server. When a client dials up, the dial-up server validates the workstation credentials of the dialing up workstation, and decides whether to allow the call to continue or to allow degraded access to the dial-up services.
The present invention includes a Web-based system can be used for gathering, storing and presenting workstation assessment results. This system performs workstation assessments from multiple security perspectives, and stores the results in a database server. Authorized parties may later retrieve these results by connecting to the Web server. The Web server operates a Web application that grants access to the data in the database for each workstation, and provides Web reports to authorized parties. Because the system stores workstation assessment results from multiple network location and authentication perspectives, it is capable of presenting a comprehensive view of workstation security posture. This comprehensive view can include internal and external assessments of the workstation.
The present invention is directed to network security for distributed computer systems, including the client-server computing environment. Those skilled in the art will appreciate that a server can operate as a client in a server-to-server environment. In other words, the first server can be a “client” of another server in the distributed computer network. This being the case, the role of the “workstation” described throughout this document can be fulfilled by a server that is requesting access to a network service. Thus, that server would then be assessed via the workstation assessment process during the authentication process. Typically, when one server connects to another server, user credentials, if required, are provided by a computer program or process rather than by a computer user. This use of user authentication and credentials for allowing access by a computer program or process follows the same purpose and method as that of a computer user and, as such, fits within the confines of user authentication as described in this document. Moreover, a client can be implemented by a conventional desktop computing device, a mobile computing device, and other computing platforms, such as browser-enabled telephony devices and personal digital assistants (PDAs).
Significantly, the present invention can complete a vulnerability analysis of a workstation prior to completion of an authentication of the user of that workstation. A vulnerability analysis for the workstation is completed prior to user authentication because it is more difficult for an intruder to steal a user's credentials if the intrusion is detected and the user authentication process is terminated before the user presents their credentials to the workstation. Consequently, user credentials are preferably compared to a user credential database, which is typically maintained on a server separate from the workstation, only after completion of a vulnerability analysis of the workstation. Those skilled in the art will appreciate, however, that a vulnerability analysis of the workstation can also be completed after user authentication has been successfully completed. For example, the vulnerability assessment can be completed after user authentication and prior to substantive operation of a network service at the workstation.
The above-described embodiments are presented as illustrative examples. It will be readily appreciated that deviations may be made from the specific embodiments disclosed in this specification without departing from the invention. Accordingly, the scope of this invention is to be determined by the claims below rather than being limited to the specifically described embodiments above.
Number | Name | Date | Kind |
---|---|---|---|
4223380 | Antonaccio et al. | Sep 1980 | A |
4400769 | Kaneda et al. | Aug 1983 | A |
4672609 | Humphrey et al. | Jun 1987 | A |
4773028 | Tallman | Sep 1988 | A |
4819234 | Huber | Apr 1989 | A |
4975950 | Lentz | Dec 1990 | A |
5032979 | Hecht et al. | Jul 1991 | A |
5121345 | Lentz | Jun 1992 | A |
5204966 | Wittenberg et al. | Apr 1993 | A |
5210704 | Husseiny | May 1993 | A |
5274824 | Howarth | Dec 1993 | A |
5278901 | Shieh et al. | Jan 1994 | A |
5309562 | Li | May 1994 | A |
5311593 | Carmi | May 1994 | A |
5345595 | Johnson et al. | Sep 1994 | A |
5347450 | Nugent | Sep 1994 | A |
5353393 | Bennett et al. | Oct 1994 | A |
5359659 | Rosenthal | Oct 1994 | A |
5371852 | Attanasio et al. | Dec 1994 | A |
5398196 | Chambers | Mar 1995 | A |
5414833 | Hershey et al. | May 1995 | A |
5440723 | Arnold et al. | Aug 1995 | A |
5452442 | Kephart | Sep 1995 | A |
5454074 | Hartel et al. | Sep 1995 | A |
5475839 | Watson et al. | Dec 1995 | A |
5511184 | Lin | Apr 1996 | A |
5515508 | Pettus et al. | May 1996 | A |
5522026 | Records et al. | May 1996 | A |
5539659 | McKee et al. | Jul 1996 | A |
5557742 | Smaha et al. | Sep 1996 | A |
5586260 | Hu | Dec 1996 | A |
5590331 | Lewis et al. | Dec 1996 | A |
5606668 | Shwed | Feb 1997 | A |
5623600 | Ji et al. | Apr 1997 | A |
5623601 | Vu | Apr 1997 | A |
5630061 | Richter et al. | May 1997 | A |
5649095 | Cozza | Jul 1997 | A |
5649185 | Antognini et al. | Jul 1997 | A |
5675711 | Kephart et al. | Oct 1997 | A |
5696486 | Poliquin et al. | Dec 1997 | A |
5696822 | Nachenberg | Dec 1997 | A |
5706210 | Kumano et al. | Jan 1998 | A |
5734697 | Jabbarnezhad | Mar 1998 | A |
5745692 | Lohmann, II et al. | Apr 1998 | A |
5748098 | Grace | May 1998 | A |
5761504 | Corrigan et al. | Jun 1998 | A |
5764887 | Kells et al. | Jun 1998 | A |
5764890 | Glasser et al. | Jun 1998 | A |
5765030 | Nachenberg et al. | Jun 1998 | A |
5774727 | Walsh et al. | Jun 1998 | A |
5787177 | Leppek | Jul 1998 | A |
5790799 | Mogul | Aug 1998 | A |
5796942 | Esbensen | Aug 1998 | A |
5798706 | Kraemer et al. | Aug 1998 | A |
5812763 | Teng | Sep 1998 | A |
5815574 | Fortinsky | Sep 1998 | A |
5822517 | Dotan | Oct 1998 | A |
5826013 | Nachenberg | Oct 1998 | A |
5828833 | Belville et al. | Oct 1998 | A |
5832208 | Chen et al. | Nov 1998 | A |
5832211 | Blakley, III et al. | Nov 1998 | A |
5835726 | Shwed et al. | Nov 1998 | A |
5838903 | Blakely, III et al. | Nov 1998 | A |
5842002 | Schnurer et al. | Nov 1998 | A |
5845067 | Porter et al. | Dec 1998 | A |
5848233 | Radia et al. | Dec 1998 | A |
5854916 | Nachenberg | Dec 1998 | A |
5857191 | Blackwell, Jr. et al. | Jan 1999 | A |
5864665 | Tran | Jan 1999 | A |
5864803 | Nussbaum | Jan 1999 | A |
5872978 | Hoskins | Feb 1999 | A |
5875296 | Shi et al. | Feb 1999 | A |
5878420 | de la Salle | Mar 1999 | A |
5881236 | Dickey | Mar 1999 | A |
5884033 | Duvall et al. | Mar 1999 | A |
5892903 | Klaus | Apr 1999 | A |
5899999 | De Bonet | May 1999 | A |
5907834 | Kephart et al. | May 1999 | A |
5919257 | Trostle | Jul 1999 | A |
5919258 | Kayashima et al. | Jul 1999 | A |
5922051 | Sidey | Jul 1999 | A |
5925126 | Hsieh | Jul 1999 | A |
5931946 | Terada et al. | Aug 1999 | A |
5940591 | Boyle et al. | Aug 1999 | A |
5950012 | Shiell et al. | Sep 1999 | A |
5961644 | Kurtzberg et al. | Oct 1999 | A |
5964839 | Johnson et al. | Oct 1999 | A |
5964889 | Nachenberg | Oct 1999 | A |
5974237 | Shurmer et al. | Oct 1999 | A |
5974457 | Waclawsky et al. | Oct 1999 | A |
5978917 | Chi | Nov 1999 | A |
5983270 | Abraham et al. | Nov 1999 | A |
5983348 | Ji | Nov 1999 | A |
5983350 | Minear et al. | Nov 1999 | A |
5987606 | Cirasole et al. | Nov 1999 | A |
5987610 | Franczek et al. | Nov 1999 | A |
5987611 | Freund | Nov 1999 | A |
5991856 | Spilo et al. | Nov 1999 | A |
5991881 | Conklin et al. | Nov 1999 | A |
5999711 | Misra et al. | Dec 1999 | A |
5999723 | Nachenberg | Dec 1999 | A |
6003132 | Mann | Dec 1999 | A |
6006016 | Faigon et al. | Dec 1999 | A |
6009467 | Ratcliff et al. | Dec 1999 | A |
6014645 | Cunningham | Jan 2000 | A |
6016553 | Schneider et al. | Jan 2000 | A |
6021510 | Nachenberg | Feb 2000 | A |
6026442 | Lewis et al. | Feb 2000 | A |
6029256 | Kouznetsov | Feb 2000 | A |
6035323 | Narayen et al. | Mar 2000 | A |
6035423 | Hodges et al. | Mar 2000 | A |
6041347 | Harsham et al. | Mar 2000 | A |
6052709 | Paul | Apr 2000 | A |
6061795 | Dircks et al. | May 2000 | A |
6067410 | Nachenberg | May 2000 | A |
6070190 | Reps et al. | May 2000 | A |
6070244 | Orchier et al. | May 2000 | A |
6073172 | Frailong et al. | Jun 2000 | A |
6081894 | Mann | Jun 2000 | A |
6085224 | Wagner | Jul 2000 | A |
6088803 | Tso et al. | Jul 2000 | A |
6088804 | Hill et al. | Jul 2000 | A |
6092194 | Touboul | Jul 2000 | A |
6094731 | Waldin et al. | Jul 2000 | A |
6098173 | Elgressy et al. | Aug 2000 | A |
6104783 | DeFino | Aug 2000 | A |
6108799 | Boulay et al. | Aug 2000 | A |
6118940 | Alexander, III et al. | Sep 2000 | A |
6119165 | Li et al. | Sep 2000 | A |
6119234 | Aziz et al. | Sep 2000 | A |
6122738 | Millard | Sep 2000 | A |
6144961 | de la Salle | Nov 2000 | A |
6154844 | Touboul et al. | Nov 2000 | A |
6161109 | Matamoros et al. | Dec 2000 | A |
6167520 | Touboul | Dec 2000 | A |
6173413 | Slaughter et al. | Jan 2001 | B1 |
6185689 | Todd et al. | Feb 2001 | B1 |
6195687 | Greaves et al. | Feb 2001 | B1 |
6199181 | Rechef et al. | Mar 2001 | B1 |
6205552 | Fudge | Mar 2001 | B1 |
6226372 | Beebe et al. | May 2001 | B1 |
6230288 | Kuo et al. | May 2001 | B1 |
6266773 | Kisor et al. | Jul 2001 | B1 |
6266774 | Sampath et al. | Jul 2001 | B1 |
6271840 | Finseth et al. | Aug 2001 | B1 |
6272641 | Ji | Aug 2001 | B1 |
6275938 | Bond et al. | Aug 2001 | B1 |
6275942 | Bernhard et al. | Aug 2001 | B1 |
6278886 | Hwang | Aug 2001 | B1 |
6279113 | Vaidya | Aug 2001 | B1 |
6282546 | Gleichauf et al. | Aug 2001 | B1 |
6298445 | Shostack et al. | Oct 2001 | B1 |
6301668 | Gleichauf et al. | Oct 2001 | B1 |
6314520 | Schell et al. | Nov 2001 | B1 |
6314525 | Mahalingham et al. | Nov 2001 | B1 |
6321338 | Porras et al. | Nov 2001 | B1 |
6324627 | Kricheff et al. | Nov 2001 | B1 |
6324647 | Bowman-Amuah | Nov 2001 | B1 |
6324656 | Gleichauf et al. | Nov 2001 | B1 |
6338141 | Wells | Jan 2002 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
6353385 | Molini et al. | Mar 2002 | B1 |
6357008 | Nachenberg | Mar 2002 | B1 |
6377994 | Ault et al. | Apr 2002 | B1 |
6396845 | Sugita | May 2002 | B1 |
6397242 | Devine et al. | May 2002 | B1 |
6397245 | Johnson, II et al. | May 2002 | B1 |
6405318 | Rowland | Jun 2002 | B1 |
6405364 | Bowman-Amuah | Jun 2002 | B1 |
6408391 | Huff et al. | Jun 2002 | B1 |
6415321 | Gleichauf et al. | Jul 2002 | B1 |
6429952 | Olbricht | Aug 2002 | B1 |
6434615 | Dinh et al. | Aug 2002 | B1 |
6438600 | Greenfield et al. | Aug 2002 | B1 |
6445822 | Crill et al. | Sep 2002 | B1 |
6453345 | Trcka et al. | Sep 2002 | B1 |
6453346 | Garg et al. | Sep 2002 | B1 |
6460141 | Olden | Oct 2002 | B1 |
6463426 | Lipson et al. | Oct 2002 | B1 |
6470449 | Blandford | Oct 2002 | B1 |
6477585 | Cohen et al. | Nov 2002 | B1 |
6477648 | Schell et al. | Nov 2002 | B1 |
6477651 | Teal | Nov 2002 | B1 |
6484203 | Porras et al. | Nov 2002 | B1 |
6487666 | Shanklin et al. | Nov 2002 | B1 |
6496858 | Frailong et al. | Dec 2002 | B1 |
6499107 | Gleichauf et al. | Dec 2002 | B1 |
6510523 | Perlman et al. | Jan 2003 | B1 |
6517587 | Satyavolu et al. | Feb 2003 | B1 |
6519647 | Howard et al. | Feb 2003 | B1 |
6519703 | Joyce | Feb 2003 | B1 |
6530024 | Proctor | Mar 2003 | B1 |
6535227 | Fox et al. | Mar 2003 | B1 |
6546493 | Magdych et al. | Apr 2003 | B1 |
6563959 | Troyanker | May 2003 | B1 |
6574737 | Kingsford et al. | Jun 2003 | B1 |
6578147 | Shanklin et al. | Jun 2003 | B1 |
6584454 | Hummel et al. | Jun 2003 | B1 |
6601190 | Meyer et al. | Jul 2003 | B1 |
6606744 | Mikurak | Aug 2003 | B1 |
6618501 | Osawa et al. | Sep 2003 | B1 |
6628824 | Belanger | Sep 2003 | B1 |
6647139 | Kunii et al. | Nov 2003 | B1 |
6647400 | Moran | Nov 2003 | B1 |
6661904 | Sasich et al. | Dec 2003 | B1 |
6668082 | Davison et al. | Dec 2003 | B1 |
6668084 | Minami | Dec 2003 | B1 |
6681331 | Munson et al. | Jan 2004 | B1 |
6691232 | Wood et al. | Feb 2004 | B1 |
6704874 | Porras et al. | Mar 2004 | B1 |
6708212 | Porras et al. | Mar 2004 | B1 |
6711127 | Gorman et al. | Mar 2004 | B1 |
6711615 | Porras et al. | Mar 2004 | B1 |
6718383 | Hebert | Apr 2004 | B1 |
6721806 | Boyd et al. | Apr 2004 | B1 |
6725377 | Kouznetsov | Apr 2004 | B1 |
6725378 | Schuba et al. | Apr 2004 | B1 |
6775780 | Muttik | Aug 2004 | B1 |
6792144 | Yan et al. | Sep 2004 | B1 |
6792546 | Shanklin et al. | Sep 2004 | B1 |
6816973 | Gleichauf et al. | Nov 2004 | B1 |
6839850 | Campbell et al. | Jan 2005 | B1 |
6871284 | Cooper et al. | Mar 2005 | B1 |
20010034847 | Gaul, Jr. | Oct 2001 | A1 |
20020032717 | Malan et al. | Mar 2002 | A1 |
20020032793 | Malan et al. | Mar 2002 | A1 |
20020032880 | Poletto et al. | Mar 2002 | A1 |
20020035698 | Malan et al. | Mar 2002 | A1 |
20020083331 | Krumel | Jun 2002 | A1 |
20020083334 | Rogers et al. | Jun 2002 | A1 |
20020138753 | Munson | Sep 2002 | A1 |
20020144156 | Copeland, III | Oct 2002 | A1 |
20030037136 | Labovitz et al. | Feb 2003 | A1 |
20030088791 | Porras et al. | May 2003 | A1 |
20030212903 | Porras et al. | Nov 2003 | A1 |
20040010718 | Porras et al. | Jan 2004 | A1 |
Number | Date | Country |
---|---|---|
0 636 977 | May 2001 | EP |
0 985 995 | Aug 2003 | EP |
WO 9325024 | Dec 1993 | WO |
WO 9841919 | Sep 1998 | WO |
WO 9900720 | Jan 1999 | WO |
WO 9913427 | Mar 1999 | WO |
WO 9915966 | Apr 1999 | WO |
WO 9950734 | Oct 1999 | WO |
WO 9953391 | Oct 1999 | WO |
WO 9957626 | Nov 1999 | WO |
WO 0002115 | Jan 2000 | WO |
WO 0010278 | Feb 2000 | WO |
WO 0025214 | May 2000 | WO |
WO 0025527 | May 2000 | WO |
WO 0034867 | Jun 2000 | WO |
WO 00054458 | Sep 2000 | WO |
WO 0054458 | Sep 2000 | WO |
WO 0184285 | Nov 2001 | WO |
WO 01084285 | Nov 2001 | WO |
WO 02006928 | Jan 2002 | WO |
WO 0206928 | Jan 2002 | WO |
WO 02056152 | Jul 2002 | WO |
WO 02101516 | Dec 2002 | WO |