Claims
- 1. A method of integrating legacy access with single sign-on in a distributed computing environment, comprising steps of:
establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client; storing the identifying information in a security token accessible to the server; and using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information.
- 2. The method as claimed in claim 1, wherein the step of using the identifying information further comprises the steps of:
requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; passing the password substitute and a legacy host identifier of the user to the client on the user workstation; establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; returning the modified data stream from the emulator client to the emulator server, over the second secure session; and sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 3. The method as claimed in claim 2, wherein the emulator client is downloaded dynamically to the user workstation, responsive to determining that the user wishes to execute legacy host applications and/or systems.
- 4. The method as claimed in claim 1, wherein the step of using the identifying information further comprises the steps of:
retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; passing the password and a legacy host identifier of the user to the client on the user workstation; establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; receiving sign-on data stream from the legacy host application or system at the emulator client over the second secure session; programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; returning the modified data stream from the emulator client to the emulator server, over the second secure session; and sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 5. The method as claimed in claim 1, wherein the step of using the identifying information further comprises the steps of:
requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; passing the password substitute and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; returning the modified data stream from the emulator client to the emulator server, over the second secure session; and sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 6. The method as claimed in claim 1, wherein the step of using the identifying information further comprises the steps of:
retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; passing the password and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; returning the modified data stream from the emulator client to the emulator server, over the second secure session; and sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 7. A system for integrating legacy access with single sign-on in a distributed computing environment, comprising:
means for establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client; means for storing the identifying information in a security token accessible to the server; and means for using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information.
- 8. The system as claimed in claim 7, wherein the means for using the identifying information further comprises:
means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; means for passing the password substitute and a legacy host identifier of the user to the client on the user workstation; means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 9. The system as claimed in claim 8, wherein the emulator client is downloaded dynamically to the user workstation, responsive to determining that the user wishes to execute legacy host applications and/or systems.
- 10. The system as claimed in claim 7, wherein the means for using the identifying information further comprises:
means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; means for passing the password and a legacy host identifier of the user to the client on the user workstation; means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 11. The system as claimed in claim 7, wherein the means for using the identifying information further comprises:
means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; means for passing the password substitute and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 12. The system as claimed in claim 7, wherein the means for using the identifying information further comprises:
means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; means for passing the password and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 13. A computer program product for integrating legacy access with single sign-on in a distributed computing environment, the computer program product embodied on one or more computer-readable media and comprising:
computer-readable program code means for establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client; computer-readable program code means for storing the identifying information in a security token accessible to the server; and computer-readable program code means for using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information.
- 14. The computer program product as claimed in claim 13, wherein the computer-readable program code means for using the identifying information further comprises:
computer-readable program code means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; computer-readable program code means for passing the password substitute and a legacy host identifier of the user to the client on the user workstation; computer-readable program code means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; computer-readable program code means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and computer-readable program code means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 15. The computer program product as claimed in claim 14, wherein the emulator client is downloaded dynamically to the user workstation, responsive to determining that the user wishes to execute legacy host applications and/or systems.
- 16. The computer program product as claimed in claim 13, wherein the computer-readable problem code means for using the identifying information further comprises:
computer-readable program code means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; computer-readable program code means for passing the password and a legacy host identifier of the user to the client on the user workstation; computer-readable program code means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible; computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; computer-readable program code means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and computer-readable program code means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 17. The computer program product as claimed in claim 13, wherein the computer-readable program code means for using the identifying information further comprises:
computer-readable program code means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system; computer-readable program code means for passing the password substitute and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; computer-readable program code means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; computer-readable program code means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream; computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and computer-readable program code means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 18. The computer program product as claimed in claim 13, wherein the computer-readable program code means for using the identifying information further comprises:
computer-readable program code means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system; computer-readable program code means for passing the password and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation; computer-readable program code means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible; computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session; computer-readable program code means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream; computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and computer-readable program code means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.
- 19. A method of doing business by seamlessly integrating legacy access with single sign-on in a distributed computing environment, comprising steps of:
providing function for establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client; providing function for storing the identifying information in a security token accessible to the server; and providing function for using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information.
RELATED INVENTIONS
[0001] The present invention is related to U.S. Pat. No. ______ (Ser. No. 09/466,625, filed Dec. 17, 1999), titled “Providing End-to-End User Authentication for Host Access Using Digital Certificates”; U.S. Pat. No. ______ (Ser. No. 09/619,205, filed Jul. 19, 2000), titled “Technique for Handling Subsequent User Identification and Password Requests within a Certificate-Based Host Session”; and U.S. Pat. No. ______ (Ser. No. 09/619,912, filed Jul. 19, 2000), titled “Technique for Handling Subsequent User Identification and Password Requests with Identity Change within a Certificate-Based Host Session”. These U.S. Patents are commonly assigned to the International Business Machines Corporation (“IBM”) and are hereby incorporated herein by reference.