Generally, the present invention relates to computing environments involving heterogeneous credential stores with disparate credential information. Particularly, it relates to coordinating the disparateness of the stores into harmonized versions to provide management from a single point of control. In this manner, users can link together various passwords, keys or other secrets to maintain convenience in environments, such as single-sign-on (SSO) environments, regardless of the disparateness of the stores. Various features relate to computer program products, systems for same and methods. User or enterprise policies useful in governing these credentials and computing interaction, to name a few, are other noteworthy features.
Newer computer operating systems such as Linux, Windows XP, or Windows Vista provide multiple credential stores for network client applications' usage. These credential stores usually are utilized to provide mechanisms for applications to store credentials for the user, and retrieve them later to provide a single-sign-on (SSO) experience. More famous of these credential stores by name are: Firefox password manager, Gnome Keyring, KDE Wallet, Windows Passport, CASA, SecretStore etc.
Applications, based on their needs or at the time of their development, are closely integrated with a particular credential store. This is due to applications utilizing different credential stores and different types. As a result, there is a need for a single point of administration and access for the user. Currently, however, users must launch different management utilities for each store to manage their credentials. There are presently no tools available to provide the ability to copy, move, or “link” credentials among different versions of the same applications or multiple applications sharing the same credential. To allow credentials to be available for use and management in different stores, currently you have to manually create, copy, or delete them from one store to another. Intuitively, this is inconvenient and impractical.
Also, it presently exists that each credential store has proprietary interests in only offering solutions focused on their store and not interoperability with other stores, thereby avoiding ease of use for end users.
In view of these various problems, there is need in the art of credential stores to provide a mechanism to synchronize the values of credentials between stores, thereby eliminating the need for manually maintaining credentials in multiple stores. In that many computing configurations already have existing SSO technology, it is further desirable to leverage existing configurations by way of retrofit technology, thereby avoiding the costs of providing wholly new products. Taking advantage of existing frameworks, such as the CASA (Common Authentication Service Adapter), software offering by Novell, Inc., the common assignee of this invention, is another feature that optimizes existing resources. Any improvements along such lines should further contemplate good engineering practices, such as automation, relative inexpensiveness, stability, ease of implementation, low complexity, flexibility, etc.
The foregoing and other problems become solved by applying the principles and teachings associated with the hereinafter-described coordinating credentials across disparate credential stores. At a high level, methods and apparatus are provided that allow linking of credentials amongst different stores and provides access to them through a utility that provides for a single point of access and management. As an important byproduct of this unique linking feature, the reverse is possible such that linked credentials are accessible from multiple stores while they are synchronized at all times. This is contemplated to be particularly useful when there are multiple versions of the same application such as a web based, command line, GUI, and perhaps older and newer versions that might have different methods of storing credentials in different stores. Linking will provide the ability to manage from a single point as well as synchronization of credentials regardless of credential store of origin. It also provides a mechanism to synchronize the values of credentials between stores, eliminating the need for manually maintaining credentials in multiple stores by the user. The user simply changes one value in a given credential and all linked or synchronized values will be updated automatically. In addition, policies can be applied to expand or filter credential availability across different stores.
In more detail, a synchronizing engine requests and receives past and present credential information from the disparate credential stores. Users indicate which, if any, of the credential information they desire to synch together. Upon common formatting of the credential information, comparisons reveal whether differences exist between the past and present versions. If differences exist, the information is updated. In this manner, users link together various passwords, keys, or other secrets to maintain convenience from a single point of control, such as in a single-sign-on (SSO) environment, regardless of the disparateness of the stores. Retrofitting existing SSO services is another feature as are computer program products and computing network interaction. User or enterprise policies are used in making various determinations.
In at least one embodiment, coordinating credentials amongst disparate stores includes requesting and receiving credential information through a common interface and in a common format. Computing first and later hashes of the credential information is used to determine if changes exist. If the hashes do not match, various user credentials are updated. Users indicate the credentials for synchronizing such as by symbolically linking two or more passwords together, the passwords being associated with the disparate credential stores.
The invention achieves, among other things: linking together various passwords, keys or other secrets to provide credential management from a single point of control, such as in a single-sign-on (SSO) environment, regardless of the disparateness of the stores; proving the reverse embodiment such that linked credentials are accessible from multiple stores; retrofitting existing SSO services; and governing by way of user or enterprise policy.
In a computing system environment, the invention may be practiced with: a user interface module for indicating various credentials to be synchronized with one another (such as by way of a CASA manager); a single-sign-on service; a synchronizing engine interfacing with the single-sign-on service; and at least two credential stores having similar or dissimilar credential information. During use, the synchronizing engine receives the credential information in a common format and is configured to compare past and present versions of the credential information to ascertain whether differences exist. In the event differences exist, the synchronizing engine is configured to update the various credentials indicated by a user via the user interface module. Computing devices of the computing environment can be physical or virtual machine(s).
Computer program products are also disclosed. For instance, a product available as a download or on a computer readable medium has components to: request and receive versions of credential information for at least two multiple disparate credential stores; commonly format the versions; and receive user input indicating various user credentials desirable to be synchronized together in the event the versions of the credential information have differences. User or enterprise policies are also used in governance of the credentials.
The CASA architecture is also exploited as part of the invention to leverage existing resources.
These and other embodiments of the present invention will be set forth in the description which follows, and in part will become apparent to those of ordinary skill in the art by reference to the following description of the invention and referenced drawings or by practice of the invention. The claims, however, indicate the particularities of the invention.
The accompanying drawings incorporated in and forming a part of the specification, illustrate several aspects of the present invention, and together with the description serve to explain the principles of the invention. In the drawings:
In the following detailed description of the illustrated embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention and like numerals represent like details in the various figures. Also, it is to be understood that other embodiments may be utilized and that process, mechanical, electrical, arrangement, software and/or other changes may be made without departing from the scope of the present invention: In accordance with the present invention, methods and apparatus for coordinating credentials across disparate credential stores are hereinafter described.
With reference to
In either, storage devices are contemplated and may be remote or local. While the line is not well defined, local storage generally has a relatively quick access time and is used to store frequently accessed data, while remote storage has a much longer access time and is used to store data that is accessed less frequently. The capacity of remote storage is also typically an order of magnitude larger than the capacity of local storage. Regardless, storage is representatively provided for aspects of the invention contemplative of computer executable instructions, e.g., software, as part of computer program products on readable media, e.g., disk 14 for insertion in a drive of computer 17. Computer executable instructions may also be available as a download or reside in hardware, firmware or combinations in any or all of the depicted devices 15 or 15′.
When described in the context of computer program products, it is denoted that items thereof, such as modules, routines, programs, objects, components, data structures, etc., perform particular tasks or implement particular abstract data types within various structures of the computing system which cause a certain function or group of functions. In form, the computer product can be a download or any available tangible media, such as RAM, ROM, EEPROM, CD-ROM, DVD, or other optical disk storage devices, magnetic disk storage devices, floppy disks, or any other tangible medium which can be used to store the items thereof and which can be assessed in the environment.
In network, the computing devices communicate with one another via wired, wireless or combined connections 12 that are either direct 12a or indirect 12b. If direct, they typify connections within physical or network proximity (e.g., intranet). If indirect, they typify connections such as those found with the internet, satellites, radio transmissions, or the like, and are given nebulously as element 13. In this regard, other contemplated items include servers, routers, peer devices, modems, T1 lines, satellites, microwave relays or the like. The connections may also be local area networks (LAN) and/or wide area networks (WAN) that are presented by way of example and not limitation. The topology is also any of a variety, such as ring, star, bridged, cascaded, meshed, or other known or hereinafter invented arrangement.
With the foregoing representative computing environment as backdrop,
In more detail, Novell Inc.'s CASA brand software (Common Authentication Services Adapter) 51 is a common authentication and security package that provides a set of libraries for application and service developers to enable single sign-on for an enterprise network. Version 1.7, for example, provides a local, session-based credential store (called miCASA) that is populated with desktop and network login credentials, given generically as 40-5. A CASA manager 52 serves as user interface module, such as on monitor 19 (
Currently, CASA manager contains drivers/connectors to the credential stores 40. Upon request, each of these drivers return an enumeration of credentials through a common interface and in a common format, steps 100 and 102. (Together, this is referred to as a Common Credential Format (CCF), step 104.) In a representative embodiment, the format is an XML schema and each driver produces an XML document describing the credential information of the stores 40. So that the CASA manager 52 and the stores 40 have format commonality, the layer 70 is configured there between. Otherwise, the CASA manager interfaces with users as normal and the credential stores keep their own proprietary format.
Upon the return, one embodiment of the invention contemplates storing the credential information as a shadow file 64, step 106. A hash of the credential information occurs at this time and is likewise stored with the shadow file. The user, through the CASA Manager, can then select the various credentials they wish to link together or synchronize, step 108. In one embodiment, this is referred to as a symbolic link and is stored in the policy file 62, step 110, for use by the synchronizing engine.
Diagrammatically,
Returning to
For instance, if a user or enterprise policy requires a user to update their single-sign-on password every, 30 days, such as per 91,
For example, Firefox stores a credential as a username and a password for services requiring authentication. Often, other applications using the same username and password for authentication store that information as a cn (common name) and a pin. The user will recognize that the password saved by Firefox is the same information saved as the pin by another application in a different store. This invention allows the user to link or synchronize the password saved by Firefox with the pin saved by the other application. Hence, when the password changes so does the pin.
In the alternative, however, it should be appreciated that users may want to avoid any linking whatsoever of credential information and so a mechanism, such as default condition of no-linking (absent an affirmative indication of linking) or a no-linking icon button 93,
In the case of conflicts, resolution can be accomplished by the policy the user sets up while creating a link between two or more credential keys. In this regard, the policy might be to treat a particular store as Master and another as a Servant, to select a hierarchy of stores having priority over other stores, or to let the user resolve the conflict manually using an Administration or other tool. The policy may also be a time frame, a security measure, combinations thereof, or any hereinafter contemplated feature useful in defining conditions on the linking.
In any embodiment, certain advantages and benefits over the prior art should be readily apparent. For example, but not limited to, the invention provides advantage over the art according to: 1) the ability to link and synchronize credentials across multiple stores according to application(s) of policy; 2) providing an “umbrella service” giving users a single point of use, management, and administration for multiple credential stores. (Compared to the prior art, others focus on proprietary solutions, not interoperability between stores.); 3) overcoming complexity in the working environment of standard operating systems. (An illustration of this relates to current Linux distributions that, by default, provide the two popular choices of desktops (Gnome, and KDE) and each come with its own credential store and the applications that use one or the other, but not both. Now users can utilize the instant invention and use all effectively.) Appreciating complexity in computing environments, other expansions to the invention include, but are not limited to: adding peer-to-peer linking and synchronization capability for users to synchronize their multiple desktops (e.g., peer-to-peer Windows brand workstations linked to peer-to-peer Linux desktops, or vice versa); or having linking capability between clients and servers (e.g., linking desktop credential store(s) to eDirectory SecretStore); and 4) the ability to apply uniform policy across disparate stores through a single point of management.
Finally, one of ordinary skill in the art will recognize that additional embodiments are also possible without departing from the teachings of the present invention. This detailed description, and particularly the specific details of the exemplary embodiments disclosed herein, is given primarily for clarity of understanding, and no unnecessary limitations are to be implied, for modifications will become obvious to those skilled in the art upon reading this disclosure and may be made without departing from the spirit or scope of the invention. Relatively apparent modifications, of course, include combining the various features of one or more figures with the features of one or more of other figures.
Number | Name | Date | Kind |
---|---|---|---|
6006018 | Burnett et al. | Dec 1999 | A |
6067623 | Blakley, III et al. | May 2000 | A |
6182229 | Nielson | Jan 2001 | B1 |
6615253 | Bowman-Amuah | Sep 2003 | B1 |
6651168 | Kao et al. | Nov 2003 | B1 |
6779117 | Wells | Aug 2004 | B1 |
6779155 | Bahrs et al. | Aug 2004 | B1 |
6971005 | Henry et al. | Nov 2005 | B1 |
7058180 | Ferchichi et al. | Jun 2006 | B2 |
7076795 | Hahn | Jul 2006 | B2 |
7107310 | McCarthy | Sep 2006 | B2 |
7107610 | Lortz | Sep 2006 | B2 |
7137006 | Grandcolas et al. | Nov 2006 | B1 |
7275259 | Jamieson et al. | Sep 2007 | B2 |
7310734 | Boate et al. | Dec 2007 | B2 |
7496953 | Andreev et al. | Feb 2009 | B2 |
7552222 | Garimella et al. | Jun 2009 | B2 |
7562113 | Labarge et al. | Jul 2009 | B2 |
7634803 | Birk et al. | Dec 2009 | B2 |
7644086 | Boozer et al. | Jan 2010 | B2 |
7703128 | Cross et al. | Apr 2010 | B2 |
7788497 | Luo et al. | Aug 2010 | B2 |
20020046064 | Maury et al. | Apr 2002 | A1 |
20030012382 | Ferchichi et al. | Jan 2003 | A1 |
20030195970 | Dinh et al. | Oct 2003 | A1 |
20040083238 | Louis et al. | Apr 2004 | A1 |
20040260953 | Jamieson et al. | Dec 2004 | A1 |
20050005094 | Jamieson et al. | Jan 2005 | A1 |
20050081055 | Patrick et al. | Apr 2005 | A1 |
20050097166 | Patrick et al. | May 2005 | A1 |
20050097352 | Patrick et al. | May 2005 | A1 |
20050144482 | Anuszewski | Jun 2005 | A1 |
20050171872 | Burch et al. | Aug 2005 | A1 |
20050268307 | Gates et al. | Dec 2005 | A1 |
20050289341 | Ritola et al. | Dec 2005 | A1 |
20050289644 | Wray | Dec 2005 | A1 |
20060013393 | Ferchichi et al. | Jan 2006 | A1 |
20060037066 | Audebert | Feb 2006 | A1 |
20060047625 | Ho et al. | Mar 2006 | A1 |
20060075224 | Tao | Apr 2006 | A1 |
20060080352 | Boubez et al. | Apr 2006 | A1 |
20060218630 | Pearson et al. | Sep 2006 | A1 |
20060235935 | Ng | Oct 2006 | A1 |
20060248577 | Beghian et al. | Nov 2006 | A1 |
20070006291 | Barari et al. | Jan 2007 | A1 |
20070143829 | Hinton et al. | Jun 2007 | A1 |
20070157296 | Lioy | Jul 2007 | A1 |
20070220268 | Krishnaprasad et al. | Sep 2007 | A1 |
20070283425 | Ture et al. | Dec 2007 | A1 |
20080016232 | Yared et al. | Jan 2008 | A1 |
20080021997 | Hinton | Jan 2008 | A1 |
20080059804 | Shah et al. | Mar 2008 | A1 |
20080072320 | Hurley | Mar 2008 | A1 |
20080077809 | Hayler et al. | Mar 2008 | A1 |
20080092215 | Soukup et al. | Apr 2008 | A1 |
20080104411 | Agrawal et al. | May 2008 | A1 |
20080184349 | Ting | Jul 2008 | A1 |
20080196090 | Baron et al. | Aug 2008 | A1 |
20080263365 | Aupperle et al. | Oct 2008 | A1 |
20080276309 | Edelman | Nov 2008 | A1 |
20080301784 | Zhu et al. | Dec 2008 | A1 |
20080320576 | Curling | Dec 2008 | A1 |
20090007248 | Kovaleski | Jan 2009 | A1 |
20090013395 | Marcus et al. | Jan 2009 | A1 |
20090320118 | Muller et al. | Dec 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20090049531 A1 | Feb 2009 | US |