|Publication number||US7395424 B2|
|Application number||US 10/621,927|
|Publication date||1 Jul 2008|
|Filing date||17 Jul 2003|
|Priority date||17 Jul 2003|
|Also published as||CA2528486A1, CA2528486C, CN1823513A, CN100534092C, DE602004023728D1, EP1661362A1, EP1661362B1, US20050015594, WO2005015872A1|
|Publication number||10621927, 621927, US 7395424 B2, US 7395424B2, US-B2-7395424, US7395424 B2, US7395424B2|
|Inventors||Paul Anthony Ashley, Sridhar R. Muppidi, Mark Vandenwauver|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (10), Referenced by (17), Classifications (20), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
The present invention relates to an improved data processing system and, in particular, to a method and apparatus for multicomputer data transferring. Still more particularly, the present invention provides a method and apparatus for multicomputer communication using cryptography.
2. Description of Related Art
E-commerce web sites and web applications perform transactions over computer networks on behalf of users. A user must often pass through an authentication procedure in order to prove the user's identity to an appropriate level of certainty for security purposes.
Many computer systems have different types of authentication for different levels of security. For example, after a successful completion of a first level of authentication in which a correct username and password combination is provided by a user, a system may provide access to a particular set of resources on a web site. A second level of authentication might require a user to present a hardware token, e.g., a smartcard, after which the user is provided access to more tightly controlled resources on the web site. A third level of authentication might require the user to provide some form of biometric data, e.g., through a fingerprint scan or a retina scan, after which the system provides access to very sensitive or confidential resources on a web site.
The process of moving up from one authentication level to the next level is termed “step-up authentication”. In other words, the user steps from one level of authentication up to a higher level as required by a system in order to gain access to more sensitive resources.
In an e-commerce web-based environment, computer systems often implement authentication services as a form of front door or sentry gate for accessing a web site. These authentication services sit in front of applications, i.e. between the user and the applications, to ensure that the user is authenticated before obtaining access to any resources. These authentication services may be implemented as a web server plug-in, a reverse proxy, or other similar technology. A potential problem with these authentication services is that they often use username/password authentication and cannot step up to authentication methods that use client-based certificates. A certificate-based authentication procedure is generally considered to achieve a higher level of security than a username/password-based authentication procedure.
Certificate-based authentication involves the use of public/private asymmetric cryptographic key pairs; a digital certificate binds a certified user's identity with a public cryptographic key. During a certificate-based authentication procedure, the user provides his or her digital certificate to an authentication service, and the user is required to prove that the user has access to a private cryptographic key that corresponds to the public key. For example, the authentication service provides some form of challenge data to the user's client computer, which then signs the challenge data with the user's private cryptographic key, and the authentication service can verify the digital signature with the user's public key. If the authentication service determines that the challenge data was properly signed with the user's private key, then the authentication service has verified the identity of the user to a high degree because the private key should always be kept secret by the user whose identity is stored in the certificate.
The operation of stepping up to a certificate-based authentication procedure is often not possible. A problem typically arises because a mutually authenticated SSL session has already been established between the client and the server for a lower-level of non-certificate-based authentication, such as a username/password combination. If the authentication service that requires the certificate-based authentication procedure does not have control over the SSL stack, which is the case with most commercially available products, e.g., it may be embedded within the operating system in some manner, then the authentication service cannot force the establishment of a new SSL session. Hence, the authentication service cannot step up from a username/password-based authentication procedure that has already occurred over an active SSL session to a certificate-based authentication procedure while maintaining the active SSL session.
Therefore, it would be advantageous to have a method and a system that can step up from a non-certificate-based authentication procedure to a certificate-based authentication procedure without exiting or renegotiating a previously established SSL session in order to obtain a higher level of security that is required by an authentication service for some purpose.
A method is presented for performing authentication operations. When a client requests a resource from a server, a non-certificate-based authentication operation is performed through an SSL (Secure Sockets Layer) session between the server and the client. When the client requests another resource, the server determines to step up to a more restrictive level of authentication, and a certificate-based authentication operation is performed through the SSL session without exiting or renegotiating the SSL session prior to completion of the certificate-based authentication operation. During the certificate-based authentication procedure, an executable module is downloaded to the client from the server through the SSL session, after which the server receives through the SSL session a digital signature that has been generated by the executable module using a digital certificate at the client. In response to successfully verifying the digital signature at the server, the server provides access to a requested resource.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, further objectives, and advantages thereof, will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings, wherein:
In general, the devices that may comprise or relate to the present invention include a wide variety of data processing technology. Therefore, as background, a typical organization of hardware and software components within a distributed data processing system is described prior to describing the present invention in more detail.
With reference now to the figures,
In the depicted example, distributed data processing system 100 may include the Internet with network 101 representing a worldwide collection of networks and gateways that use various protocols to communicate with one another, such as Lightweight Directory Access Protocol (LDAP), Transport Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), Wireless Application Protocol (WAP), etc. of course, distributed data processing system 100 may also include a number of different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). For example, server 102 directly supports client 109 and network 110, which incorporates wireless communication links. Network-enabled phone 111 connects to network 110 through wireless link 112, and PDA 113 connects to network 110 through wireless link 114. Phone 111 and PDA 113 can also directly transfer data between themselves across wireless link 115 using an appropriate technology, such as Bluetooth™ wireless technology, to create so-called personal area networks (PAN) or personal ad-hoc networks. In a similar manner, PDA 113 can transfer data to PDA 107 via wireless communication link 116.
The present invention could be implemented on a variety of hardware platforms;
With reference now to
Those of ordinary skill in the art will appreciate that the hardware in
In addition to being able to be implemented on a variety of hardware platforms, the present invention may be implemented in a variety of software environments. A typical operating system may be used to control program execution within each data processing system. For example, one device may run a Unix® operating system, while another device contains a simple Java® runtime environment. A representative computer platform may include a browser, which is a well known software application for accessing hypertext documents in a variety of formats, such as graphic files, word processing files, Extensible Markup Language (XML), Hypertext Markup Language (HTML), Handheld Device Markup Language (HDML), Wireless Markup Language (WML), and various other formats and types of files.
The present invention may be implemented on a variety of hardware and software platforms, as described above with respect to
The descriptions of the figures herein involve certain actions by either a client device or a user of the client device. One of ordinary skill in the art would understand that responses and/or requests to/from the client are sometimes initiated by a user and at other times are initiated automatically by a client, often on behalf of a user of the client. Hence, when a client or a user of a client is mentioned in the description of the figures, it should be understood that the terms “client” and “user” can be used interchangeably without significantly affecting the meaning of the described processes.
With reference now to
The process is initiated when the user requests a server-side protected resource, such as a web page within the domain “ibm.com” (step 152). The terms “server-side” and “client-side” refer to actions or entities at a server or a client, respectively, within a networked environment. The web browser (or associated application or applet) generates an HTTP request (step 153) that is sent to the web server that is hosting the domain “ibm.com”. The terms “request” and “response” should be understood to comprise data formatting that is appropriate for the transfer of information that is involved in a particular operation, such as messages, communication protocol information, or other associated information.
The server determines that it does not have an active session for the client (step 154), so the server initiates and completes the establishment of an SSL (Secure Sockets Layer) session between the server and the client (step 155), which entails multiple transfers of information between the client and the server. After an SSL session is established, subsequent communication messages are transferred within the SSL session; any secret information remains secure because of the encrypted communication messages within the SSL session.
However, the server needs to determine the identity of the user before allowing the user to have access to protected resources, so the server requires the user to perform an authentication process by sending the client some type of authentication challenge (step 156). The authentication challenge may be in various formats, such as an HTML form. The user then provides the requested or required information (step 157), such as a username or other type of user identifier along with an associated password or other form of secret information.
The authentication response information is sent to the server (step 158), at which point the server authenticates the user or client (step 159), e.g., by retrieving previously submitted registration information and matching the presented authentication information with the user's stored information. Assuming the authentication is successful, an active session is established for the authenticated user or client.
The server then retrieves the originally requested web page and sends an HTTP response message to the client (step 160), thereby fulfilling the user's original request for the protected resource. At that point, the user may request another page within “ibm.com” (step 161) by clicking a hypertext link within a browser window, and the browser sends another HTTP request message to the server (step 162). At that point, the server recognizes that the user has an active session (step 163), and the server sends the requested web page back to the client in another HTTP response message (step 164).
With reference now to
Enterprise domain 170 supports multiple servers. Proxy server 177 performs a wide range of functions for enterprise domain 170. Proxy server 177 can be administratively configured through configuration files and enterprise policy database 178 to control the functionality of proxy server 177, e.g., caching web pages in order to mirror the content from an application server or filtering the incoming and outgoing datastreams through input datastream filter unit 179 and output datastream filter unit 180. Input datastream filter unit 179 may perform multiple checks on incoming requests while output datastream filter unit 180 may perform multiple checks on outgoing responses; each check may be performed in accordance with goals and conditions that are specified within various enterprise policies.
Enterprise domain 170 comprises authorization server 181. Authorization policy management unit 182 at authorization server 181 manages information within user registry 183 and access control list (ACL) database 184. Policy management unit 182 determines whether users are authorized to access certain services that are provided by application servers 175 within domain 170 by checking policies against user requests for those services. It should be noted that the examples herein assume that a user is authorized to access all controlled resources after the user has been authenticated, but various embodiments of the present invention may incorporate alternative authorization processes without affecting the scope of the present invention.
The above-noted entities within enterprise domain 170 represent typical entities within many computing environments. As was shown with respect to
Turning now to focus on the present invention, it was noted above that some systems need to perform a step-up authentication procedure. However, it was also noted that the operation of stepping up from a lower-level, non-certificate-based, authentication procedure to a higher-level, certificate-based, authentication procedure is not possible while maintaining an active mutually authenticated SSL session between the authentication service and a user's browser or similar client application, wherein the SSL session was established between the client and the server for the lower-level, non-certificate-based, authentication procedure, such as a username/password combination. The present invention provides a solution to this problem by having a server-side authentication service perform a certificate-based authentication procedure for the user or the user's client device through an existing SSL session. The present invention is described in more detail below with respect to the remaining figures.
With reference now to
Domain 210 comprises application servers and authentication servers, at least one of which supports authentication service 212, which includes step-up authentication processing unit 214 for implementing the step-up authentication functionality of the present invention. Authentication service 212 also supports digital signature verifying unit 216 for verifying digital signatures that are received from clients and signature log 218 for storing records of the received signatures that have been returned from clients in response to a requirement from authentication service 212, as explained in more detail below.
With reference now to
At some point in time after the non-certificate-based authentication operation has been completed and the server has provided protected resources during a client session that is secured by the previous non-certificate-based authentication operation, the server receives a request for a protected resource that is controlled by a higher-level of security (step 308), i.e. access to that particular resource is more restricted. In response, the server performs a certificate-based authentication operation for the client through the previously established SSL session between the server and the client (step 310); this is accomplished without breaking the current SSL session, renegotiating the current SSL session, or exiting the current SSL session. Assuming that the certificate-based authentication operation is completed successfully, then the server provides the more restricted resource to the client (step 312), e.g., by returning a response message or performing some other action, and the process is concluded. In this manner, the certificate-based authentication operation occurs through the same SSL session as was previously used for the non-certificate-based authentication operation.
It should be noted that the use of the term “non-certificate-based authentication operation” refers to the fact that the first authentication operation for determining the identity of the user/client does not employ a digital certificate. The use of a client-side digital certificate for establishing an SSL session (which may be used in order to securely transmit secret information that is employed in the non-certificate-based authentication operation, e.g., a password) is not regarded herein as the use of a certificate in a non-certificate-based authentication operation.
With reference now to
The process begins with a server that receives a resource request from a client after a non-certificate-based authentication operation has occurred through an SSL session (step 402), e.g., the non-certificate-based authentication operation as shown in steps 302-306 in
The server then determines that access to the requested resource requires a higher-level of security that can be provided by a certificate-based authentication operation rather than a lower-level of security that was provided by the non-certificate-based authentication operation that has been previously completed with the client (step 404). The server may perform this determination through a variety of processes without affecting the scope of the present invention. As one example, the incoming resource request may be filtered or scanned by a proxy server, such as server 177 in
The server then proceeds to download a software module from the server to the client and/or to trigger execution of a software module at the client (step 406). The manner in which the software module is downloaded or triggered for execution may vary. In a first embodiment, the server downloads an applet or a plug-in to a client application, such as a browser, e.g., by embedding a Java applet within an HTML web page that is returned as the content payload of an HTTP response message for the original request from the client, i.e. the request that has been determined to require a certificate-based authentication operation. In response, the browser loads the applet as part of its normal interpretation and processing of web pages.
In an alternative embodiment, the server may return a message body to the client that indicates that it contains content having a particular MIME-type (Multipurpose Internet Mail Extension). In response, a browser application at the client loads an appropriate plug-in that has been previously registered with the browser as being able to process the particular MIME-type. In some cases, the browser prompts the user to find an appropriate plug-in if one is not registered for the particular MIME-type. In this manner, the browser may already have a software module that is capable of performing the processing steps that are described hereinbelow such that the server is not required to download a software module to the client.
In any case, the client application that sends the request for the protected resource is also maintaining the previously activated SSL session, and the server sends an appropriate message through the SSL session to the client application to cause the client application to execute a software module that will perform the client-side steps for the certificate-based authentication procedure; in some cases, the server may also download the software module, and in other cases, the software module may already be present at the client. Since the present invention adheres to standard Internet-related protocols and specifications, the present invention provides a manner of step-up authentication operation without assuming that the client application has built-in functionality for responding to the server-side authentication requirements. The server is able to provide a software module with the required functionality by taking advantage of the extensibility of browsers and similar client applications through well-known Internet-related and World-Wide-Web-related technology.
The server may download the challenge data along with a downloaded applet, or the challenge data may be sent in a subsequent message. Alternatively, the applet, plug-in, or other software module at the client may request the challenge data, and the server returns the challenge data in response. Alternatively, the client may already have the challenge data, e.g., a cached web page that was previously returned by the server to the client.
At some subsequent point in time, the server receives a digital signature from the client (step 410), and the server verifies the digital signature with the appropriate public key certificate of the user/client (step 412). The server may retrieve the public key certificate from a directory, or the public key certificate may accompany the message with the digital signature from the client; the authenticity of the public key certificate is verifiable through a certificate authority and various certificate revocation mechanisms. If the digital signature is verified, then the client has shown that it possesses the private key that corresponds to the public key in an asymmetric public/private cryptographic key pair, thereby establishing the identity of the client/user because only the person/entity that is indicated in the valid public key certificate should possess a private key that corresponds to the public key.
Assuming that the digital signature is successfully verified, then the server may log the receipt of the digital signature for non-repudiation purposes (step 414), e.g., by generating a database record with a copy of the digital signature, a verifiable timestamp, and the IP address from which the digital signature was received. The successful verification of the digital signature completes the certificate-based authentication operation, and as a result, the server provides access to the resource that was requested by the client prior to the server attempting the certificate-based authentication operation (step 416), thereby concluding the process that is shown in
With reference now to
In addition, the client application may receive challenge data that is to be used when generating a digital signature (step 506). Alternatively, the client application may already have a data item that may be used as the input to a digital signature algorithm. In any case, the input data to the digital signature algorithm that is used by the client must be known to the server in order for the server to verify the digital signature that is generated over the input data. Hence, the input data to the digital signature algorithm may be chosen by the client and subsequently communicated to the server, e.g., along with the generated digital signature through the SSL session.
At some subsequent point in time after being triggered to generate the digital signature or after determining to generate the digital signature, the client application generates the digital signature (step 508) and sends the digital signature to the server (step 510). In addition, the client application may log the generation of the digital signature (step 512) along with a timestamp and possibly other information that may assist in a non-repudiation procedure. Assuming that the digital signature was generated properly, the client has successfully completed the step-up certificate-based authentication operation through the previously established SSL session, and the client then receives access to the requested resource (step 514), e.g., by receiving a web page, thereby concluding the client-side process.
The manner in which the digital signature is generated and verified may vary in accordance with well-known standards or proprietary processes without affecting the scope of the present invention. For example, the client-side process may occur when a browser at a client receives an HTML page with an embedded applet in response to the server's determination to perform a step-up certificate-based authentication process through a previously established SSL session. The browser processes the web page and executes the applet, which might prompt the user to input the identifier of a key datastore, such as a file on the client, along with a password to unlock the key datastore. The mechanism by which the applet prompts the user or otherwise operates may vary depending upon the implementation of the invention. The applet may prompt the user by presenting a web page within the browser window that explains the need to produce a digital signature for the pending request, and the presented web page may have an OK button and a CANCEL button that allows the user to approve or disapprove the request for the digital signature. In addition, the presented web page may echo the challenge data that is being signed so that the user may review the challenge data.
Typically, the key datastore holds a private key of a private/public key pair for asymmetric cryptographic functions. The key datastore may be managed by various entities, such as the browser application, the applet, or the client operating system. The browser may adhere to various standards regarding the use of cryptographic information. For example, “PKCS #7: Cryptographic Message Syntax”, RFC (Request for Comments) 2315, Internet Engineering Task Force (IETF), is a PKCS (Public Key Cryptographic System) specification that describes a general syntax for data that may have cryptography applied to the data, such as digital signatures and digital envelopes. As another example, “PKCS #11: Cryptographic Token Interface Standard”, RSA Security, Inc., is a PKCS specification that describes an application programming interface (API) for devices that hold cryptographic information and perform cryptographic functions.
After the user has entered the requested information and indicated that the user approves the use of the user's private key, the applet generates a digital signature, preferably in the form of an XML digital signature as standardized by the World Wide Web Consortium (W3C). The digital signature is created by applying an appropriate signing algorithm to the set of data items that are to be subsequently verified, i.e., the so-called “signed info”; in this scenario, the data that is signed would minimally include the challenge data. An XML signature also includes so called “key info”, which may include the user's public key certificate that should be used to verify the digital signature. The applet then sends the XML signature to the web server, and the process of generating the digital signature is complete.
The advantages of the present invention should be apparent in view of the detailed description that is provided above. The present invention provides an authentication operation for stepping up from a lower-level, non-certificate-based, authentication procedure to a higher-level, certificate-based, authentication procedure while maintaining an active mutually authenticated SSL session between an authentication service and a user's browser or similar client application, wherein the SSL session was established between the client and the server for the lower-level, non-certificate-based, authentication procedure, such as a username/password combination.
The present invention provides a solution to this problem by having a server-side authentication service perform a certificate-based authentication procedure for the user or the user's client device through an existing SSL session. The authentication service downloads an executable module to the client through an existing SSL session, if necessary. The executable module then generates a digital signature using a client-side digital certificate, and the digital signature is returned through the previously established SSL session. The certificate-based authentication procedure is completed after the authentication service verifies the digital signature. In this manner, the authentication service can step-up to certificate-based authentication without needing to exit or renegotiate an existing SSL session.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of instructions in a computer readable medium and a variety of other forms, regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include media such as EPROM, ROM, tape, paper, floppy disc, hard disk drive, RAM, and CD-ROMs and transmission-type media, such as digital and analog communications links.
A method is generally conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, parameters, items, elements, objects, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen to explain the principles of the invention and its practical applications and to enable others of ordinary skill in the art to understand the invention in order to implement various embodiments with various modifications as might be suited to other contemplated uses.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US6094485||18 Sep 1997||25 Jul 2000||Netscape Communications Corporation||SSL step-up|
|US6363478||17 Sep 1998||26 Mar 2002||International Business Machines Corp.||Security mechanisms in a web server|
|US6367009||17 Dec 1998||2 Apr 2002||International Business Machines Corporation||Extending SSL to a multi-tier environment using delegation of authentication and authority|
|US20020029350 *||12 Feb 2001||7 Mar 2002||Cooper Robin Ross||Web based human services conferencing network|
|US20020091798 *||26 Feb 2001||11 Jul 2002||Joshi Vrinda S.||Providing data to applications from an access system|
|US20020166048||30 Apr 2002||7 Nov 2002||Frank Coulier||Use and generation of a session key in a secure socket layer connection|
|US20030018886||20 Jul 2001||23 Jan 2003||Kuehr-Mclaren David||Methods, systems and computer program products for multi-packet message authentication for secured SSL-based communication sessions|
|EP1280317A1||26 Jul 2002||29 Jan 2003||Hewlett-Packard Company||Multi-domain authorisation and authentication|
|WO2000027089A1||28 Oct 1999||11 May 2000||Lockstar Inc||Secure authentication for access to back-end resources|
|WO2001011451A1||31 Jul 2000||15 Feb 2001||Sun Microsystems Inc||Log-on service providing credential level change without loss of session continuity|
|WO2001080479A1||13 Apr 2001||25 Oct 2001||Wu Wen||Delayed commitment scheme to prevent attacks based on compromised certificates|
|WO2002039237A2||25 Oct 2001||16 May 2002||Ibm||Method and system for web-based cross-domain single-sign-on authentication|
|1||"A customizable mechanism for generating an X.500 distinguished name, when a client has not presented an X.509 certificate", No. 448125, Research Disclosure, p. 1400, Aug. 2001.|
|2||"DFS as an Internet File System", No. 409114, Research Disclosure, p. 625, May 1998.|
|3||"Shared cipher spec protocol", No. 432173, Research Disclosure, p. 776, Apr. 2000.|
|4||Godber et al., "Secure Wireless Gateway", ACM Workshop on Wireless Security, pp. 41-46, Sep. 2002.|
|5||Hayes, "Restricting Access with Certificate Attributes in Multiple Root Environments: A Recipe for Certificate Masquerading", 17th Annual Computer Science Applications Conf., Dec. 10, 2001.|
|6||Park et al., "RBAC on the Web by Smart Certificates", Proceedings of the 4th ACM Workshop on Role-Based Access Control, pp. 1-9, 1999.|
|7||*||Wayback Machine article for "Implementing certificate based authentication for remote users with Firewall-1/SecuRemote and openssl as CA," retrieved on Jun. 18, 2007, dated Jan. 26, 2002, retrieved from http://web.archive.org/web/20020126134426/http://www.atsec.com/docs/fw1-openssl.howto.pdf.|
|8||Wen et al., "Attacks on Authentication Protocols with Compromised Certificates and How to Fix Them", IPSJ Journal, vol. 41, No. 8, pp. 2110-2120, Aug. 2000.|
|9||*||Wikipedia reference for Transport Layer Security, retrieved Jun. 19, 2007, http://en.wikipedia.org/wiki/Transport<SUB>-</SUB>Layer<SUB>-</SUB>Security.|
|10||Zhou et al., "COCA: Secure Distributed Online Certification Authority", ACM Transactions on Computer Systems, vol. 20, No. 4, pp. 329-368, Nov. 2000.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8051475 *||27 Mar 2007||1 Nov 2011||The United States Of America As Represented By The Secretary Of The Air Force||Collaboration gateway|
|US8181227 *||29 Aug 2006||15 May 2012||Akamai Technologies, Inc.||System and method for client-side authenticaton for secure internet communications|
|US8185945 *||2 Mar 2005||22 May 2012||Crimson Corporation||Systems and methods for selectively requesting certificates during initiation of secure communication sessions|
|US8336081 *||21 Jul 2008||18 Dec 2012||China Iwncomm Co., Ltd.||Trusted network connect system for enhancing the security|
|US8560834 *||19 Apr 2012||15 Oct 2013||Akamai Technologies, Inc.||System and method for client-side authentication for secure internet communications|
|US9047456||20 Mar 2012||2 Jun 2015||Canon Information And Imaging Solutions, Inc.||System and method for controlling access to a resource|
|US9130996||26 Mar 2014||8 Sep 2015||Iboss, Inc.||Network notifications|
|US20050289641 *||13 Apr 2004||29 Dec 2005||Sony Corporation||Terminal device, providing server, electronic-information using method, electronic-information providing method, terminal-device program, providing-server program, mediating program and storage medium|
|US20060294366 *||23 Jun 2005||28 Dec 2006||International Business Machines Corp.||Method and system for establishing a secure connection based on an attribute certificate having user credentials|
|US20070283143 *||6 Jun 2006||6 Dec 2007||Kabushiki Kaisha Toshiba||System and method for certificate-based client registration via a document processing device|
|US20080060055 *||29 Aug 2006||6 Mar 2008||Netli, Inc.||System and method for client-side authenticaton for secure internet communications|
|US20100031312 *||29 Jul 2008||4 Feb 2010||International Business Machines Corporation||Method for policy based and granular approach to role based access control|
|US20100031338 *||4 Feb 2010||Poore Douglas A||Collaboration gateway|
|US20120005718 *||21 Jul 2008||5 Jan 2012||China Iwncomm Co, Ltd||trusted network connect system for enhancing the security|
|US20120079278 *||28 Sep 2010||29 Mar 2012||Microsoft Corporation||Object security over network|
|US20120204025 *||9 Aug 2012||Akamai Technologies, Inc.||System and method for client-side authentication for secure internet communications|
|WO2015148709A1 *||25 Mar 2015||1 Oct 2015||Iboss, Inc.||Network notifications|
|U.S. Classification||713/156, 726/10|
|International Classification||H04L29/06, H04L9/32, G06F21/00, H04L9/00|
|Cooperative Classification||G06F2221/2113, G06F21/40, H04L63/0227, H04L63/12, H04L63/20, G06F21/6218, G06F21/31, H04L63/166, H04L63/0823|
|European Classification||G06F21/40, G06F21/62B, G06F21/31, H04L63/16D, H04L63/08C|
|17 Jul 2003||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASHLEY, PAUL ANTHONY;MUPPIDI, SRIDHAR R.;VANDENWAUVER, MARK;REEL/FRAME:014383/0049;SIGNING DATES FROM 20030702 TO 20030715
|26 Oct 2011||FPAY||Fee payment|
Year of fee payment: 4
|30 Sep 2015||FPAY||Fee payment|
Year of fee payment: 8