This application is related to U.S. patent application Ser. No. 11/843,572, titled “PERFORMING A BUSINESS TRANSACTION WITHOUT DISCLOSING SENSITIVE IDENTITY INFORMATION TO A RELYING PARTY”, filed Aug. 22, 2007, U.S. patent application Ser. No. 11/843,638, titled “POLICY-BASED AUDITING OF IDENTITY CREDENTIAL DISCLOSURE BY A SECURE TOKEN SERVICE”, filed Aug. 22, 2007, and U.S. patent application Ser. No. 11/843,640, titled “FRAMEWORK AND TECHNOLOGY TO ENABLE THE PORTABILITY OF INFORMATION CARDS”, filed Aug. 22, 2007, all of which are herein incorporated by reference for all purposes and all of which claim the benefit of U.S. Provisional Patent Application Ser. No. 60/895,312, filed Mar. 16, 2007, U.S. Provisional Patent Application Ser. No. 60/895,316, filed Mar. 16, 2007, and U.S. Provisional Patent Application Ser. No. 60/895,325, filed Mar. 16, 2007, all of which are herein incorporated by reference for all purposes.
This application is also related to U.S. patent application Ser. No. 12/019,104, titled “PROCESSING HTML EXTENSIONS TO ENABLE SUPPORT OF INFORMATION CARDS BY A RELYING PARTY”, filed Jan. 24, 2008, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/973,679, filed Sep. 19, 2007, both of which are herein incorporated by reference for all purposes.
This application is also related to U.S. patent application Ser. No. 11/843,591, titled “CREDENTIAL CATEGORIZATION”, filed Aug. 22, 2007, U.S. patent application Ser. No. 11/843,608, titled “CHAINING INFORMATION CARD SELECTORS”, filed Aug. 22, 2007, U.S. patent application Ser. No. 12/026,775, titled “METHODS FOR SETTING AND CHANGING THE USER CREDENTIAL IN INFORMATION CARDS”, filed Feb. 6, 2008, U.S. patent application Ser. No. 12/029,373, titled “VISUAL AND NON-VISUAL CUES FOR CONVEYING STATE OF INFORMATION CARDS, ELECTRONIC WALLETS, AND KEYRINGS”, filed Feb. 11, 2008, U.S. patent application Ser. No. 12/030,363, titled “INFO CARD SELECTOR RECEPTION OF IDENTITY PROVIDER BASED DATA PERTAINING TO INFO CARDS”, filed Feb. 12, 2008, U.S. patent application Ser. No. 12/038,674, titled “SYSTEM AND METHOD FOR SECURE ACCOUNT RESET UTILIZING INFORMATION CARDS”, filed Feb. 27, 2008, U.S. patent application Ser. No. 12/042,205, titled “PRIVATELY SHARING RELYING PARTY REPUTATION WITH INFORMATION CARD SELECTORS”, filed Mar. 4, 2008, U.S. patent application Ser. No. 12/044,816, titled “SYSTEM AND METHOD FOR USING WORKFLOWS WITH INFORMATION CARDS”, filed Mar. 7, 2008, U.S. patent application Ser. No. 12/054,137, titled “CARDSPACE HISTORY VALIDATOR”, filed Mar. 24, 2009, U.S. patent application Ser. No. 12/054,774, titled “CLAIM CATEGORY HANDLING”, filed Mar. 25, 2008, U.S. patent application Ser. No. 12/108,805, titled “RESTRICTED USE INFORMATION CARDS”, filed Apr. 24, 2008, U.S. patent application Ser. No. 12/111,874, titled “REMOTABLE INFORMATION CARDS”, filed Apr. 29, 2008, U.S. patent application Ser. No. 12/112,772, titled “DYNAMIC INFORMATION CARD RENDERING”, filed Apr. 30, 2008, U.S. patent application Ser. No. 12/170,384, titled “NON-INTERACTIVE INFORMATION CARD TOKEN GENERATION”, filed Jul. 9, 2008, and U.S. patent application Ser. No. 12/184,155, titled “SITE-SPECIFIC CREDENTIAL GENERATION USING INFORMATION CARDS”, filed Jul. 31, 2008, all of which are herein incorporated by reference for all purposes.
This invention pertains to using information cards, and more particularly to interacting with a relying party without having an information card that can satisfy the relying party's security policy.
When a user interacts with sites on the Internet (hereafter referred to as “service providers” or “relying parties”), the service provider often expects to know something about the user that is requesting the services of the provider. The typical approach for a service provider is to require the user to log into or authenticate to the service provider's computer system. But this approach, while satisfactory for the service provider, is less than ideal to the user. First, the user must remember a username and password for each service provider who expects such information. Given that different computer systems impose different requirements, and the possibility that another user might have chosen the same username, the user might be unable to use the same username/password combination on each such computer system. (There is also the related problem that if the user uses the same username/password combination on multiple computer systems, someone who hacks one such computer system would be able to access other such computer systems.) Second, the user has no control over how the service provider uses the information it stores. If the service provider uses the stored information in a way the user does not want, the user has relatively little ability to prevent such abuse, or recourse after the fact.
To address this problem, new systems have been developed that allow the user a measure of control over the information stored about the user. Windows CardSpace™ (sometimes called CardSpace) is a Microsoft implementation of an identity meta-system that offers a solution to this problem. (Microsoft, Windows, and CardSpace are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.) A user can store identity information with an identity provider the user trusts. When a service provider wants some information about the user, the user can control the release of information stored with the identity provider to the service provider. The user can then use the offered services that required the identity information.
While this system simplifies the management of information used to satisfy the requests of service providers, there are potential problems. For the system to operate, the user needs to have an information card on his or her system that can provide all of the information requested by the relying party. If the relying party requests information that cannot be satisfied by any one information card on the user's machine, the system breaks down. This situation can occur, for example, if the relying party requests a combination of information not previously requested, and for which the user might not have yet set up an information card. Another way in which this situation can occur is if the user is new to the system, and has yet to set up any information cards at all.
A need remains for a way to address these and other problems associated with the prior art.
In an embodiment of the invention, a client includes a card selector, a receiver, and a transmitter. Upon receipt of a security policy from a relying party, the client can determine whether any installed information card can satisfy the security policy. If no information card satisfies the security policy (which can occur, for example, if no information card is yet installed), the client can define a virtual information card, which can be used to generate a security token that can be transmitted to the relying party.
The foregoing and other features, objects, and advantages of the invention will become more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.
Before explaining the invention, it is important to understand the context of the invention.
In
Relying party 130 is a machine managed by a party that relies in some way on the identity of the user of computer system 105. The operator of relying party 130 can be any type of relying party. For example, the operator of relying party 130 can be a merchant running a business on a website. Or, the operator of relying party 130 can be an entity that offers assistance on some matter to registered parties. Relying party 130 is so named because it relies on establishing some identifying information about the user.
Identity provider 135, on the other hand, is managed by a party responsible for providing identity information (or other such information) about the user for consumption by the relying party. Depending on the type of information identity provider 135 stores for a user, a single user might store identifying information with a number of different identity providers 135, any of which might be able to satisfy the request of the relying party. For example, identity provider 135 might be a governmental agency, responsible for storing information generated by the government, such as a driver's license number or a social security number. Or, identity provider 135 might be a third party that is in the business of managing identity information on behalf of users.
The conventional methodology of releasing identity information can be found in a number of sources. One such source is Microsoft Corporation, which has published a document entitled Introducing Windows CardSpace, which can be found on the World Wide Web at http://msdn2.microsoft.com/en-us/library/aa480189.aspx and is hereby incorporated by reference. To summarize the operation of Windows CardSpace, when a user wants to access some data from relying party 130, computer system 105 requests the security policy of relying party 130, as shown in communication 140, which is returned in communication 145 as security policy 150. Security policy 150 is a summary of the information relying party 130 needs, how the information should be formatted, and so on.
Once computer system 105 has security policy 150, computer system 105 can identify which information cards will satisfy security policy 150. Different security policies might result in different information cards being usable. For example, if relying party 130 simply needs a user's e-mail address, the information cards that will satisfy this security policy will be different from the information cards that satisfy a security policy requesting the user's full name, mailing address, and social security number. The user can then select an information card that satisfies security policy 150.
Once the user has selected an acceptable information card, computer system 105 uses the selected information card to transmit a request for a security token from identity provider 135, as shown in communication 155. This request can identify the data to be included in the security token, the credential that identifies the user, and other data the identity provider needs to generate the security token. Identity provider 135 returns security token 160, as shown in communication 165. Security token 160 includes a number of claims, or pieces of information, that include the data the user wants to release to the relying party. Security token 160 is usually encrypted in some manner, and perhaps signed and/or time-stamped by identity provider 135, so that relying party 130 can be certain that the security token originated with identity provider 135 (as opposed to being spoofed by someone intent on defrauding relying party 130). Computer system 105 then forwards security token 160 to relying party 130, as shown in communication 170.
In addition, the selected information card can be a self-issued information card: that is, an information card issued not by an identity provider, but by computer system 105 itself. In that case, identity provider 135 effectively becomes part of computer system 105, and computer system 105 generates security token 160.
In this model, a person skilled in the art will recognize that because all information flows through computer system 105, the user has a measure of control over the release of the user's identity information. Relying party 130 only receives the information the user wants relying party 130 to have, and does not store that information on behalf of the user (although it would be possible for relying party 130 to store the information in security token 160: there is no effective way to prevent such an act).
The problem with this model is, as noted above, that there is an implicit assumption that client 105 includes an information card that can satisfy security policy 150. If no such information card exists, as can happen if no information card has yet been added to client 105 or if no individual information card includes all of the claims requested by in security policy 150, then the user will not be able to use the system to produce security token 160. And without security token 160, the user might not be able to access the desired resource on relying party 130.
Now that the problem—removing the assumption that client 105 stores an information card that can satisfy security policy 150—is understood, embodiments of the invention can be explained.
Client 105 can also include local policy store 225, which can store local security policies, such as local security policy 230. Local security policy 230 can also be called a virtual information card policy. Local security policy 230 can be a local security policy defining how virtual information cards can be defined and used. Local security policy 230 is discussed further with reference to
Client 105 can also include virtual information card definer 235, adder 240, and upgrader 245. Virtual information card definer 235 can define a virtual information card that can be used to satisfy a security policy from a relying party. Adder 240 can add a virtual information card to client 105 based on the definitions in virtual information card definer 235 as a new information card. Upgrader 245 can upgrade an existing information card on client 105 to include additional information based on the definitions in virtual information card definer 235. Virtual information card definer 235, adder 240, and upgrader 245 are discussed more with reference to
The discussion above, and
Information card identifier 305 then identifies which information card 220, if any, comes closest to satisfying security policy 150. It may be that no information card 220 comes close to satisfying security policy 150. It also may be that there are multiple information cards 220 that come close to satisfying security policy 150.
Once an information card has been identified by information card identifier 305 as a near-match for the security policy, augmenter 310 augments the identified information card with the additional information needed to satisfy security policy 150. The result of this effort is virtual information card 315, which can satisfy security policy 150.
There are some circumstances in which the operation of virtual information card definer 235 might not seem obvious. The first is if there are no information cards 220 installed on the client. In this situation, then information card identifier 305 will be unable to identify a near-match information card. Virtual information card definer 235 can then define virtual information card 315 as including all the data requested in security policy 150.
Another circumstance in which the operation of virtual information card definer 235 might not be obvious is when local security policy 230 is used. As discussed above with reference to
As discussed above with reference to
A point worth noting is that there is no guarantee that a virtual information card can be used to generate a security token. Specifically, the virtual information card might include information or methods not known to be available at the party generating the security token (which can be an identity provider, but could also be the local client). For example, consider a virtual information card that is based on an existing information card that includes everything requested by a relying party except the user's e-mail address. The virtual information card can add the e-mail address to the list of claims requested from the identity provider in the security token. But if the identity provider does not understand the e-mail address claim or does not know the user's e-mail address, the identity provider cannot include this claim in the security token, which means the security policy of the relying party would not be satisfied.
As discussed above with reference to
List of claims 610 lists the claims that are requested by the relying party. Relative to a particular information card, list of claims 610 can include one or more claims not included in the information card. For example, given a particular information card, the particular information card might include all claims in list of claims 610 except claim 620. While claim 620 is an example of a claim missing from the particular information card, a person skilled in the art will recognize that any information can be “missing” from the information card and needed for augmentation.
Security policy 150 can also request other metadata, which is limited only by what a relying party might reasonably request. For example, in
To the extent that no information card on the client can satisfy all the requested data in security policy 150, a virtual information card can be used to satisfy the security policy. Embodiments of the invention therefore enable responding to security policies even when any of the information requested in the security policy (such as token type 605, list of claims 610, or other metadata 615) might be missing from a potentially viable information card.
As discussed above with reference to
If it turns out that local security policy 230 blocks the use of an identity provider that is requested by the security policy, the conflict can be resolved in any manner desired. In some embodiments of the invention, local security policy 230 can trump the security policy, thereby blocking the user from access to the requested resource, but protecting the user's information. In other embodiments of the invention, local security policy 230 can defer to the security policy, giving the user access to the requested resource at the cost of potentially giving up some control over the user's information. A person skilled in the art will recognize other ways in which conflicts between local security policy 230 and the security policy can be resolved: for example, by letting the user decide which policy should control.
Local security policy 230 can also include maximum number of missing claims 710. Maximum number of missing claims 710 indicates how far a particular information card can deviate from the security policy and still be used as a basis for a virtual information card. For example, with maximum number of missing claims set to 2 as shown in
Local security policy 230 can also include required claims 715. Required claims 715 can be used to specify claims that the information card must have: these claims cannot be specified by augmentation. For example, in
While
While
If no existing information card can satisfy the security token, then at block 835 (
On the other hand, if there are installed information cards on the client, then at block 930 the client identifies an information card that nearly satisfies the security policy. At block 935, the client identifies information requested in the security token but not satisfied by the information card. At block 940, the client defines a virtual information card based on the identified information card but also including the information requested in the security policy that is not satisfied by the information card. At block 945, the information card can be upgraded to include the information the information card did not satisfy. Block 945 can be omitted, as shown by dashed arrow 950. (A person skilled in the art will recognize that the client might only upgrade the information card on the client after the security token has been accepted by the relying party, in which there might be other activity and/or conditions to be met before the information card is upgraded.)
While
The following discussion is intended to provide a brief, general description of a suitable machine in which certain aspects of the invention can be implemented. Typically, the machine includes a system bus to which is attached processors, memory, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices, a video interface, and input/output interface ports. The machine can be controlled, at least in part, by input from conventional input devices, such as keyboards, mice, etc., as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signal. As used herein, the term “machine” is intended to broadly encompass a single machine, or a system of communicatively coupled machines or devices operating together. Exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., as well as transportation devices, such as private or public transportation, e.g., automobiles, trains, cabs, etc.
The machine can include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits, embedded computers, smart cards, and the like. The machine can utilize one or more connections to one or more remote machines, such as through a network interface, modem, or other communicative coupling. Machines can be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc. One skilled in the art will appreciate that network communication can utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 545.11, Bluetooth, optical, infrared, cable, laser, etc.
The invention can be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, instructions, etc. which, when accessed by a machine, result in the machine performing tasks or defining abstract data types or low-level hardware contexts. Associated data can be stored in, for example, the volatile and/or non-volatile memory, e.g., RAM, ROM, etc., or in other storage devices and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, and other tangible, physical storage media. Associated data can also be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and can be used in a compressed or encrypted format. Associated data can be used in a distributed environment, and stored locally and/or remotely for machine access.
Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments can be modified in arrangement and detail without departing from such principles, and can be combined in any desired manner. And although the foregoing discussion has focused on particular embodiments, other configurations are contemplated. In particular, even though expressions such as “according to an embodiment of the invention” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms can reference the same or different embodiments that are combinable into other embodiments.
Consequently, in view of the wide variety of permutations to the embodiments described herein, this detailed description and accompanying material is intended to be illustrative only, and should not be taken as limiting the scope of the invention. What is claimed as the invention, therefore, is all such modifications as can come within the scope and spirit of the following claims and equivalents thereto.
Number | Name | Date | Kind |
---|---|---|---|
5073950 | Colbert et al. | Dec 1991 | A |
5485510 | Colbert | Jan 1996 | A |
5546471 | Merjanian | Aug 1996 | A |
5546523 | Gatto | Aug 1996 | A |
5594806 | Colbert | Jan 1997 | A |
5613012 | Hoffman et al. | Mar 1997 | A |
6028950 | Merjanian | Feb 2000 | A |
6327578 | Linehan | Dec 2001 | B1 |
6481621 | Herrendoerfer et al. | Nov 2002 | B1 |
6513721 | Salmre et al. | Feb 2003 | B1 |
6612488 | Suzuki | Sep 2003 | B2 |
6721713 | Guheen et al. | Apr 2004 | B1 |
6913194 | Suzuki | Jul 2005 | B2 |
7003501 | Ostroff | Feb 2006 | B2 |
7103575 | Linehan | Sep 2006 | B1 |
7104444 | Suzuki | Sep 2006 | B2 |
7225156 | Fisher et al. | May 2007 | B2 |
7353532 | Duri et al. | Apr 2008 | B2 |
7360237 | Engle et al. | Apr 2008 | B2 |
7416486 | Walker et al. | Aug 2008 | B2 |
7444519 | Laferriere et al. | Oct 2008 | B2 |
7487920 | Sato et al. | Feb 2009 | B2 |
7494416 | Walker et al. | Feb 2009 | B2 |
7500607 | Williams | Mar 2009 | B2 |
7529698 | Joao | May 2009 | B2 |
RE40753 | Wang et al. | Jun 2009 | E |
7555460 | Barkan | Jun 2009 | B1 |
7565329 | Lapsley et al. | Jul 2009 | B2 |
7591424 | Wang et al. | Sep 2009 | B2 |
7594258 | Mao et al. | Sep 2009 | B2 |
7613659 | Hoffman et al. | Nov 2009 | B1 |
7620177 | Ibrahim et al. | Nov 2009 | B2 |
7661585 | Joao | Feb 2010 | B2 |
7664022 | Hu | Feb 2010 | B2 |
7747540 | Cameron et al. | Jun 2010 | B2 |
7771273 | Walker et al. | Aug 2010 | B2 |
7788499 | Cameron et al. | Aug 2010 | B2 |
7831522 | Satish et al. | Nov 2010 | B1 |
20020026397 | Ieta et al. | Feb 2002 | A1 |
20020029337 | Sudia et al. | Mar 2002 | A1 |
20020029342 | Keech | Mar 2002 | A1 |
20020046041 | Lang | Apr 2002 | A1 |
20020095360 | Joao | Jul 2002 | A1 |
20020103801 | Lyons | Aug 2002 | A1 |
20030061170 | Uzo | Mar 2003 | A1 |
20030126094 | Fisher et al. | Jul 2003 | A1 |
20030158960 | Engberg | Aug 2003 | A1 |
20030172090 | Asunmaa et al. | Sep 2003 | A1 |
20030217140 | Burbeck et al. | Nov 2003 | A1 |
20030218062 | Noriega et al. | Nov 2003 | A1 |
20040019571 | Hurwitz et al. | Jan 2004 | A1 |
20040128392 | Blakley et al. | Jul 2004 | A1 |
20040162786 | Cross et al. | Aug 2004 | A1 |
20040199475 | Rivest et al. | Oct 2004 | A1 |
20050135240 | Ozugur | Jun 2005 | A1 |
20050229005 | Le Saint et al. | Oct 2005 | A1 |
20050247777 | Pitroda | Nov 2005 | A1 |
20050247797 | Ramachandran | Nov 2005 | A1 |
20050289080 | Rhiando | Dec 2005 | A1 |
20060200424 | Cameron et al. | Sep 2006 | A1 |
20070016484 | Waters et al. | Jan 2007 | A1 |
20070016943 | M'Raihl et al. | Jan 2007 | A1 |
20070043651 | Xiao et al. | Feb 2007 | A1 |
20070118449 | De La Motte | May 2007 | A1 |
20070192245 | Fisher et al. | Aug 2007 | A1 |
20070203852 | Cameron et al. | Aug 2007 | A1 |
20070204168 | Cameron et al. | Aug 2007 | A1 |
20070204325 | Cameron et al. | Aug 2007 | A1 |
20070214429 | Lyudovyk et al. | Sep 2007 | A1 |
20070282951 | Selimis et al. | Dec 2007 | A1 |
20070294431 | Adelman et al. | Dec 2007 | A1 |
20080010675 | Massascusa et al. | Jan 2008 | A1 |
20080071808 | Hardt et al. | Mar 2008 | A1 |
20080098228 | Anderson et al. | Apr 2008 | A1 |
20080140576 | Lewis et al. | Jun 2008 | A1 |
20080141366 | Cross et al. | Jun 2008 | A1 |
20080162297 | Hershkovitz et al. | Jul 2008 | A1 |
20080178271 | Galjjala et al. | Jul 2008 | A1 |
20080178272 | Gajjala et al. | Jul 2008 | A1 |
20080184339 | Shewchuk et al. | Jul 2008 | A1 |
20080189778 | Rowley | Aug 2008 | A1 |
20080196096 | Grynberg | Aug 2008 | A1 |
20080229410 | Felsted et al. | Sep 2008 | A1 |
20080235144 | Phillips | Sep 2008 | A1 |
20080244722 | Satish et al. | Oct 2008 | A1 |
20080256594 | Satish et al. | Oct 2008 | A1 |
20080288404 | Pirzadeh et al. | Nov 2008 | A1 |
20080289020 | Cameron et al. | Nov 2008 | A1 |
20080313567 | Sabin et al. | Dec 2008 | A1 |
20090037920 | Brown et al. | Feb 2009 | A1 |
20090077118 | Doman et al. | Mar 2009 | A1 |
20090077627 | Doman et al. | Mar 2009 | A1 |
20090089870 | Wahl | Apr 2009 | A1 |
20090099860 | Karabulut et al. | Apr 2009 | A1 |
20090125558 | Suh | May 2009 | A1 |
20090138398 | Cole et al. | May 2009 | A1 |
20090178112 | Doman et al. | Jul 2009 | A1 |
20090204622 | Sanders et al. | Aug 2009 | A1 |
20090205014 | Doman et al. | Aug 2009 | A1 |
20090205035 | Sermersheim et al. | Aug 2009 | A1 |
20090216666 | Antao et al. | Aug 2009 | A1 |
20090241178 | Burch et al. | Sep 2009 | A1 |
20090249430 | Buss et al. | Oct 2009 | A1 |
20090254476 | Sharma et al. | Oct 2009 | A1 |
20090254483 | Barkan | Oct 2009 | A1 |
20090260064 | McDowell et al. | Oct 2009 | A1 |
20090300512 | Ahn | Dec 2009 | A1 |
20090300714 | Ahn | Dec 2009 | A1 |
20090300747 | Ahn | Dec 2009 | A1 |
20090319795 | Sharif et al. | Dec 2009 | A1 |
20090328166 | Burch et al. | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
0917120 | May 1999 | EP |
11003382 | Jan 1999 | JP |
11039540 | Feb 1999 | JP |
11154260 | Jun 1999 | JP |
WO9823062 | May 1998 | WO |
WO2008088945 | Jul 2008 | WO |
Entry |
---|
Computer Security Institute; “What InfoCard Is and Isn't”; http://web.archive.org/web/20060423133 805/http:/www.identityblog.com/wp-content/resources/alert.pdf, May 2006 (4 pages). |
Cameron, Kim et al; “Design Rationale behind the Identity Metasystem Architecture”; http://www.identityblog.com/, http://research.microsoft.com/˜mbj/; Mar. 16, 2006, pp. 1-11. |
Chappell, David; “Introducing Windows CardSpace”; Windows Vista Technical Articles, http://msdn2.microsoft.com/en-us/library/aa480189(d=printer).aspx, Apr. 2006, pp. 1-15. |
Gralla, Preston; “How the Internet Works”; Millennium Ed. Que, Aug. 1999. |
The Higgins Foundation; “Higgins FAQ”; http://www.eclipse.org/higgins/faq.php; printed Aug. 13, 2007; pp. 1-2. |
Hoang et al.; “Secure Roaming with Identity Metasystems”; ACM 978-1-60558-006-1; http://portal.acm.org/citation.cfm?id=1373297; 2008, pp. 36-47. |
“Components—Eclipsepedia”; http://wiki.eclipse.org/Components; printed Aug. 13, 2007; pp. 1-8. |
“Architecture—Eclipsepedia”; http://wiki.eclipse.org/index.php/Architecture; printed Aug. 13, 2007; pp. 1-2. |
U.S. Appl. No. 11/395,725, filed Mar. 31,2006, entitled “Methods and Systems for Multi-Factor Authentication”; This is a commonly owned application that is in the same general field as the invention. |
“The Resource STS: R-STS, RP-STS, A-STS . . . the other face of token issuing”; Vibro.NET; http://209.85.175.104/search?q=cache:mFlf-sZFBLsJ:blogs.msdn.comlvbertocci/arch ive/2007/09/24/the-resource-sts-r-sts-rp-sts-a-sts-the- other-face-of-token-issuing.aspx+microsoft+age+STS+RP&hl=en&ct=clnk&cd=2&gl=us&client=firefox-a; MSDN Blogs; 2007, pp. 1-7. |
“Identity Selector Interoperability Profile specification and companion guides”; Microsoft Download Center; http://www.microsoft.com/downloads/details.aspx?DisplayLang=en&FamilyID=b94817fc-3991-4ddO-8e85-b73e626f6764; Microsoft Corporation; 2007. |
Nanda, Arun; Identity Selector Interoperability Profile V1.0; Microsoft Download Center, http://download.microsoft. com/down load/1/1/a/11 ac6505-e4cO-4e05-987c-6f1 d31855cd2/Identity-Selector-Interop-Profile-v1 .pdf; Microsoft Corporation; Apr. 2007, pp. 1-52. |
Microsoft Corporation, Ping Identity Corporation, “An Implementer's Guide to the Identity Selector Interoperability Profile V1.0”; Microsoft Download Center, http://download.microsoft.com/download/1/1/a/11ac6505-e4cO-4e05-987c-6f1 d31855cd2/Identity-Selector-Interop-Profile-v1-Guide.pdf; Microsoft Corporation; Apr. 2007, pp. 1-74. |
Microsoft Corporation, “Microsofts Vision for an Identity Metasystem” http://msdn.microsoft.com/en-us/library/ms996422.aspx, May 2005, pp. 1-7. |
Jones, Michael B.; “A Guide to Using the Indentity Selector interoperability Profile V1.0 within Web Applications and Browsers”; Microsoft Download Center; http://download.microsoft.com/download/1/1/a/11ac6505-e4cO-4e05-987c-6f1 d31855cd2/Identity-Selector-Interop-Profile-v1-Web-Guide.pdf; Microsoft Corporation; Apr. 2007, pp. 1-14. |
Jones, Michael B., “Michael B. Jones Homepage”; http://research.microsoft.com/en-us/um-people/mbj; Aug. 12, 2009, pp. 1-4. |
Jones, Michael B., “Mike Jones: self-issued”; http://research.microsoft.com/en-us/um-people/mbj; Aug. 12, 2009, pp. 1-45. |
Just, Mike; “Designing Authentication Systems with Challenge Questions”; Security and Usability, Lorrie Faith Cranor and Simson Garfinkel (eds.); O'Reilly Media, Inc., Sebastopol, CA; Aug. 5,2005; Chapter 8, pp. 147-160. |
“PwdHash From Stanford—Generate Passwords by Hashing the URL”; Don't Learn to Hack—Hack to LEARN, http://www.darknet.org.uk/2007/03/pwdhash-from-stanford-generate; Darknet; Mar. 13, 2007, pp. 1-8. |
“Microsoft's Vision for an Identity Metasystem”; http://www.identityblog.com/stories/2005/07/05/IdentityMetasystem.htm; Microsoft Corporation; May 2005, pp. 1-10. |
Gnucitizen, “Attacking Password Recovery Facilities”; http://www/gnucitizen.org/blog/attacking-password-recovery-facilities; Jul. 6, 2007, pp. 1-4. |
Sol, S., “The Display (GUI) Layer” Intro to the Web Application Development Environment, http://web.archive.org/web/20001119171800/http://extropia.com/tutorials/devenv/gui.html>, Nov. 19, 2000, pp. 1-10, XP002517142. |
Cambridge, “Cambridge Dictionary Online”, Internet Article, http://dictionary.cambridge.org/define.asp?key=11419&dict=CALD>, Feb. 26, 2009, XP002517143. |
Harjanto, A., “InfoCard and Browser Integration”, Internet Article, http://blogs.msdn.com/andyhar/archive/2006/02/20/535333.aspx>, Feb. 20, 2006, XP002517147. |
Nagarkar, V., “How to Drag Drop in javascript (Part I)”, Internet Article, http://www.codeproject.com/KB/scripting/DragDrip—Part—1—.aspx, Jun. 11, 2006 (12 pages). |
Dingle, P., “Identity Selectors & Browser Detection”, Internet Article, http://eternallyoptimistic.com/2006/11/05/identity-selectors-browser-detection/>, Nov. 5, 2006, XP002517148. |
Techtree News Staff, “Infocard Spells End of Passwords”, Internet Article, http://www.techtree.com/techtree/jsp/article.jsp?print=1&article—id=71396&cat—id=582>, Feb. 16, 2006, XP002517144. |
Tewfiq El Maliki et al.; A Survey of User-centric Identity Management Technologies; Emerging Security Information Systems, and Technologies, 2007, pp. 12-17. |
Sanders, T., “IBM/Novell unveil rival to Microsoft Infocard”, Internet Article, http://www.vnunet.com/articles/print/2151060>, Feb. 26, 2006, 29 XP002517145. |
Cameron, K., “Bill Gates, Inforcards and the Identity Metasystem”, Internet Article, http://www.identityblog.com/?p=374>, Feb. 19, 2006, XP002517146. |
Darknet (2007), “Don't Learn to Hack—Hack to Learn”. Retrieved from http://www.darknet.org.uk/2007/03/pwdhash-from-stanford-generate-passwords-by-hashing-the-url, pp. 1-7. |
Allan, A. (2003), “Best Practices for Managing Passwords: Self-Service Q&A”. Published by Garner, Inc. at Tutorials, TU-20-2040, pp. 1-5. |
Microsoft Corporation, Ping Identity Corporation (Aug. 2005), “A Guide to Integrating with InfoCard v1.0”, XP007908505, pp. 1-62. |
Waleed et al., “Addressing privacy issues in CardSpace”, 2007, IEEE, pp. 285-291. |
Number | Date | Country | |
---|---|---|---|
20100058435 A1 | Mar 2010 | US |