# Patent

## Title
Portable personal identity information

## Abstract

A user interacts with a client containing personal identity information operable to identify the user to a relying party when the relying party is presented with claims comprising a portion of the personal identity information. The personal identity information includes one or more claims, metadata associated with the one or more claims, and backing data associated with the one or more claims. The user may initiate use of another client and seek to be identified by the relying party while interacting with the other client by first porting the personal identity information to the other client. Porting the personal identity information includes binding the personal identity information and sending the bound personal identity information to a receiving client.

## Background
RELATED APPLICATIONS
This application is intended to advance the art disclosed in U.S. patent application entitled, “IDENTITY PROVIDERS IN DIGITAL IDENTITY SYSTEM,” Ser. No. 11/361,281 by inventors Cameron et al., and filed Feb. 24, 2006 and is hereby incorporated by reference.
BACKGROUND
Electronic communications are commonplace in modern society. Often there is a need for a communicating party to ensure the identity of another party. This may be a prerequisite to authorizing the communicating party to access restricted resources, such as transaction interface, device, data repository, and so forth. As encryption technology has improved, it has became increasingly difficult for an unauthorized party to intercept messages, however another communication vulnerability has came to light. This vulnerability is the result of a malicious party forging the identity of a legitimate party, wherein another party is lured into divulging sensitive information by believing the malicious party is the legitimate party.
A user may possess identifying information on a client, which when presented to a relying party provides convincing evidence that the client is who they claim to be. Having such information available on a client facilitates identification, however, a user may wish to be identified on more than one client, such as when a user selects a client from a pool of clients or transitions to another client. Recreating and/or regenerating the identifying information each time a requesting party selects a different client is a burdensome task.
SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope to the claimed subject matter.
A requesting party (hereinafter, “principal”) requests to be identified by a resource with at least one portion being secured (hereinafter, “relying party”) by providing the relying party with identifying information (hereinafter, “claims”). The request may be a preliminary component to the principal obtaining access to a restricted resource protected by the relying party. The relying party then evaluates the claims and, if appropriate, authorizes the principal's access to the secured resource, such as a transaction interface or data repository.
Porting claims from one client to another facilitates identification of the principal without requiring use of a specific client or the regeneration and/or reacquisition of the claims on a subsequent client. Porting the claims is accomplished by binding together a number of claims with associated metadata and backing data. Once bound, the claims, metadata, and backing data are sent to a receiving client.
The principal includes human users and electronic agents, such as software agents, devices, and hardware components. The relying party includes webpages, websites, devices, device portions, commands, command interfaces, or other software or hardware with a secured portion.



DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a first example system for porting personal identification information;
FIG. 2 illustrates a second example system for porting personal identification information;
FIG. 3 illustrates a first example method for porting personal identification information;
FIG. 4 illustrates a second example method for porting personal identification information;
FIG. 5 illustrates an example method for receiving ported personal identification information; and
FIG. 6 illustrates an example suitable computing system environment on which embodiments of the present invention may be implemented;



DETAILED DESCRIPTION
FIG. 1 illustrates first example system 100 for porting personal identification information 108. User 102A is able to be identified by relying party 112 from client 1 (104) with portions of personal identity information 108. In one embodiment, the portion of personal identity information 108 utilized for identification is the claims.
User 102A initially selects client 1 (104) to interface with and subsequently selects client 2 (106), thereby becoming user 102B. To facilitate identification of user 102B by relying party 112, without regeneration or reacquisition of personal identity information 110, client 1 (104) ports personal identity information 108 to client 2 (106) to become personal identity information 110. As a result, user 102B, now interfacing with client 2 (106), may be identified by relying party 112. Network 114 facilitates communication between relying party 112 and client 1 (104) and client 2 (106), optionally network 114 facilitates communication between client 1 (104) and client 2 (106). Network 114 is a communication medium and may be embodied in one or more of the following: bus, LAN, WAN, intranet, the Internet, telephone, wireless, and other systems operable to convey data signals between clients.
FIG. 2 illustrates second example system 200 for porting personal identification information. User 102A initially selects client 1 (104) to interface with and subsequently selects client 2 (106), thereby becoming user 102B. Personal identity information 108 is ported to personal identity information 110 on client 2 (106).
For purposes of illustration and discussion, and without limitation, three InfoCards, each with associated metadata, are illustrated and described. It will be understood by those skilled in the art that the number of InfoCards may vary without departing form the spirit and scope of the invention, provided at least one InfoCard is “self issued,” such as InfoCard 3 (218).
InfoCards are variously embodied and generally included identity information. More specifically, InfoCards represent a token issuance relationship between a principal, such as user 102, and a particular identity provider, such an identity providers 1, 2, 3 (202, 204, 206).
InfoCards 214, 216, 218 can include, among other information, the identity provider's issuance policy for security tokens, including the type of tokens that can be issued, the claim types for which it has authority, and/or the credentials to use for authentication when requesting security tokens. In example embodiments, InfoCards 214, 216, 218 are represented as XML documents that are issued by identity providers 202, 204, 206 and stored by principals, such as user 102, on a storage device such as within client 104.
A further discussion of claims and InfoCards is provided in co-pending patent application “IDENTITY PROVIDERS IN DIGITAL IDENTITY SYSTEM,” U.S. Ser. No. 11/361,281, which is expressly incorporated herein by reference.
The data within an InfoCard that provides identity data of the principal are known as claims. InfoCards 214, 216, 218, 226, 228, 230 preferably each contain at least one claim with identifying data. Claims are generated by an identity provider and provide a statement or assertion made about the principal related to the principal's identity or information about the principal such as, for example, name, address, social security number, age, etc. Claims may be an individual datum (e.g., “over 21=True”), a plurality of data (e.g., address of residence), and one or more claims may be bundled in a claim bundle.
It is understood that the use of the plural term “claims,” herein, shall not exclude claim bundles unless explicitly stated. It is also understood that the use of the singular term “claim,” herein, shall not exclude single claims within such a claim bundle unless explicitly stated. It is further understood that the use of the term “InfoCard” shall refer to a container operable to hold one or more claims within a structure, the structure optionally including additional data (e.g., “name of the InfoCard,” “creator of the InfoCard”). Additional background on claims is found in the incorporated Ser. No. 11/361,281 patent application (see above).
Claims may be missing, incomplete, or erroneous such as when claims are awaiting population by identity providers 1, 2, 3 (202, 204, 206), empty, or forged. Relying party 112 receiving less than all required claims, claims that are incomplete, or claims that are otherwise erroneous, would at least decline to identify user 102.
InfoCard 1 (214) contains claims provided by identity provider 1 (202). Identity provider 1 (202) accesses backing data 208 containing data utilized in the generation of claims for InfoCard 1 (214). Similarly, InfoCard 2 (216) contains claims provided by identity provider 2 (204). Identity provider 2 (204) accesses backing data 210 containing data utilized in the generation of claims for InfoCard 2 (216). In one embodiment, backing data 208, 210 contains claim source data (e.g., social security number, passport, frequent flier program number, data of birth, et cetera). In another embodiment, backing data 208, 210 contains cryptographic source data (e.g., keys, encryption methodology, seed values, et cetera).
Information provider 3 (206) generates the claims for InfoCard 3 (218). In one embodiment, information provider 3 (206) is user 102. In another embodiment, identity provider 3 (206) operates under the control of user 102 and accesses backing data 212, which is also under the control of user 102, to produce self-issued InfoCard 3 (218). In one embodiment, self-issued InfoCard 3 (218) contains claims that are difficult for non-user controlled identity providers, such as identity providers 1 and 2 (202, 204), to provide accurately. For example, a preferred email address or current phone number may not be accurately reflected in stale repositories, such as backing data 208, 210. In another embodiment, self-issued InfoCard 3 (218) contains claims that are deemed to be less sensitive thereby making interaction with third-party identity providers, such as identity providers 1 and 2 (202, 204), uneconomical. For example, when claim data is publicly available or when relying party 112 would prefer or require claims generated from data controlled by user 102, such as to obtain a future mailing address, user-controlled backing data 212 is utilized for generating InfoCard 3 (218) and self-generated claims therein. In yet another embodiment, backing data 212 contains cryptographic data (e.g., public keys, private keys, encryption methodology, seed values).
Metadata 1, 2, 3, (220, 222, 224) is logically appended to InfoCard 1, 2, 3 (214, 216, 218), respectively. In one embodiment, metadata 1, 2, 3, (220, 222, 224) provides implementation specific descriptors associated with their respective InfoCards 214, 216, 218. In another embodiment, at least one of metadata 1, 2, 3 (220, 222, 224) is a cryptographic descriptor (e.g., decryption methodology, parameters, time stamps) associated with at least one encrypted claim within a respective InfoCard 1, 2, 3 (214, 216, 218). In another embodiment, at least one of metadata 1, 2, 3, (220, 222, 224) is a claim descriptor (e.g., name, purpose, source, time stamp) associated with at least one claim within a respective InfoCard 1, 2, 3 (214, 216, 218).
User 102A is able to request identification from relying party 112 by providing claims of personal identity information 108 located on client 1 (104). When user 102A wishes to be identified by relying party 112 via client 2 (106), personal identity information 108 is ported to client 2 (106). Accordingly, personal identity information (108) on client 1 (104) is bound and sent to client 2 (106) to become personal identity information 110, comprising InfoCards 1, 2, 3 (226, 228, 230), backing data 238, and metadata 1, 2, 3 (220, 222, 224). It is understood that “sending,” refers to the copying of data to a destination and optionally deleting the data from the source, as well as, physically moving a medium with the data thereon. Binding personal identity information 108 ties together infoCards 1, 2, 3 (214, 216, 218), metadata 1, 2, 3 (220, 222, 224), and backing data 212 and is more fully discussed in the embodiments that follow.
FIG. 3 illustrates first example method 300 for porting personal identification information. The method 300 begins at binding operation 302. According to an embodiment, binding operation 302 binds together personal identity information, wherein the personal identity information comprises 1) one or more claims, 2) metadata associated with the one or more claims, and 3) backing data associated with the one or more claims. Binding is the associating of data elements into one data element, and as discussed in the embodiments below, includes associating the data elements themselves or indicia of the location of the data elements.
In one embodiment, binding operation 302 incorporates a container to bind at least one claim, metadata, and backing data. The container is variously embodied and includes object-oriented objects, data structures, database records, database tables, files, and other structures operable to contain claims, metadata, and backing data. In further embodiments, the container is embodied within at least one claim, metadata, and/or backing data. In another embodiment, the container is distinct from the claims, metadata, and backing data.
In one embodiment, the container encapsulates the bound personal identity information. In a further embodiment, the encapsulated bound personal identity information is a copy of the at least one claim, metadata, and backing data. In another embodiment, the container binds by maintaining links (e.g., addresses, pointers, file names, URIs, URLs, et cetera) to the bound personal identity information.
Method 300 then proceeds to sending operation 304. According to an embodiment, sending operation 304 sends the bound personal identity information, bound in operation 302, to a receiving client, such as client 106 of FIG. 2. Sending operation 304 is variously embodied and includes reading the bound personal identity information and transmitting a copy of the bound personal identity information to the receiving client. In a further embodiment, the original bound personal identity information is deleted after sending operation 304 is complete. In further embodiments, a receiving client signals the successful reception of the bound personal identity information as a prerequisite to the deletion of the bound personal identity information located on the sender.
In yet another embodiment, sending operation 304 sends the bound personal identity information to receiving client which is a medium for data storage. In another embodiment, sending operation 304 is the physical moving of a medium, with the bound personal identity information encoded therein, from an originating client to the receiving client. The medium then being physically and communicatively attached to the receiving client.
In another embodiment, the personal identity information is standardized prior to sending 304. Standardization is variously embodied to include standardization for language, computing platform (e.g., operating system), and personal identity information format standards. In another embodiment, the personal identity data is encrypted prior to sending 304.
In a further embodiment, sending operation 304 traverses a container having links to portions of the bound personal identity information and then sends the bound personal identity information identified by the links.
FIG. 4 illustrates second example method 400 for porting personal identification information. At receiving operation 402 a user action triggers binding operation 302 and sending operation 304. According to one embodiment, the received user action in operation 402 is a direct command, such as to expressly instruct a computer to perform binding operation 302 and sending operation 304. In other embodiments, receiving operation 402 is an indirect command, such as a command with another primary purpose. Examples of user actions that are indirect commands include: initiating a data backup operation, inserting a removable storage medium, requesting removal of a removable storage medium, connecting to a peer client, requesting disconnect to a peer client, or other action which is determined to be associated with a user changing to another client or otherwise indicating a potential desire to be identified on another client.
FIG. 5 illustrates example method 500 for receiving ported personal identification information. Method 500 includes receiving operation 502 for receiving bound personal identity information from an originating client, wherein the personal identity information comprises 1) one or more claims, 2) metadata associated with the one or more claims, and 3) backing data associated with the one or more claims.
Receiving operation 502 is variously embodied and includes receiving an email, file, instant message, inter-process message, data packet(s), or other communication containing bound personal identity information. In another embodiment, receiving operation is the communicative and physical attachment of a medium with the bound personal identity information stored thereon.
In another embodiment, receiving operation 502 is associated with the logical and physical attachment of removable storage to the receiving client. The removable storage medium having bound personal identity information encoded thereon.
In a further embodiment, receiving operation 502, upon successfully receiving the bound personal identity information, signals the originating client of the receipt of the bound personal identity information.
Method 500 then continues to unbinding operation 504. Unbinding operation 504 extracts at least one claim and, preferably, extracts all claims from the bound personal identity information, metadata, and backing data.
The received bound personal identity information may require additional processing to be usable by the receiving client. Accordingly, in one embodiment, receiving operation 502 further comprises decrypting the bound personal identity information. In a further embodiment, decryption occurs after unbinding operation 502, wherein at least one of the 1) at least one claim, 2) metadata associated with the at least one claim, and 3) backing data associated with the at least one claim is encrypted.
In another embodiment, method 500 further comprises locally storing the personal identity information.
Method or step embodiment of the invention are optionally embodied as computer-readable mediums having computer-executable instructions for performing the said methods or steps.
FIG. 6 illustrates an example of a suitable computing system environment on which embodiments of the present invention may be implemented. This system 600 is representative of computing systems that may be used to run software applications for possessing or porting personal identity information. In its most basic configuration, system 600 typically includes at least one processing unit 602 and memory 604. Depending on the exact configuration and type of computing device, memory 604 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. This most basic configuration is illustrated in FIG. 6 by dashed line 606. Additionally, system 600 may also have additional features/functionality. For example, device 600 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in FIG. 6 by removable storage 608 and non-removable storage 610.
Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Memory 604, removable storage 608 and non-removable storage 610 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by system 600. Any such computer storage media may be part of system 600.
System 600 may also contain communications connection(s) 612 that allow the system to communicate with other devices. Communications connection(s) 612 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
System 600 may also have input device(s) 614 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 616 such as a display, speakers, printer, etc. may also be included. All these devices are well know in the art and need not be discussed at length here.
It should be noted that the specific details described are not intended to limit the scope of the invention and are provided for illustrative purposes only.

## Claims

1. A computer-implemented method for porting personal identity information of a principal from a first client to a second client, comprising:
receiving selection of the first client;
requesting identification of the principal by a relying party by providing personal identity information located on the first client to the relying party, wherein the personal identity information comprises a) one or more claims, b) metadata associated with the one or more claims, and c) backing data associated with the one or more claims;
receiving selection of the second client;
binding, by a processor, the personal identity information located on the first client, wherein the binding ties together the one or more claims, metadata, and backing data;
sending, by the processor, the bound personal identity information to the second client, wherein the sending the bound personal identity information comprises transmitting a copy of the bound personal identity information to the second client; and
deleting the bound personal identity information on the first client after sending the bound personal identity information to the second client.

2. The computer-implemented method of claim 1, wherein the binding of the personal identity information occurs in response to a received user-action.

3. The computer-implemented method of claim 1, wherein:
the binding the personal identity information further comprises binding the personal identity information together with a container; and
wherein the sending the bound personal identity information further includes sending the container.

4. The computer-implemented method of claim 3, wherein the binding further comprises incorporating the personal identity information into the container.

5. The computer-implemented method of claim 1, further comprising encrypting the personal identity information prior to sending.

6. The computer-implemented method of claim 5, wherein encrypting the personal identity information further comprises encrypting the bound personal identity information.

7. The computer-implemented method of claim 1, further comprising standardizing the personal identity information prior to sending.

8. The computer-implemented method of claim 1, further comprising after sending the bound personal identity information, marking the personal identity information as sent.

9. A computer-implemented method for receiving ported personal identity information of a principal at a receiving client from an originating client, the method comprising:
receiving, at the receiving client, bound personal identity information from the originating client, wherein the bound personal identity information comprises a) one or more claims generated by an identity provider, b) metadata associated with the one or more claims, and c) backing data associated with the one or more claims, and wherein the one or more claims, metadata, and backing data are tied together, wherein the bound personal identity information received at the receiving client comprises a copy of the bound personal identity information located on the originating client;
unbinding, by a processor, the received bound personal identity information, wherein the unbinding extracts at least one claim from the bound personal identity information; and
requesting identification of the principal by a relying party, via the receiving client, by providing the extracted bound personal identity information to the relying party.

10. The computer-implemented method of claim 9, further comprising locally storing the received bound personal identity information.

11. The computer-implemented method of claim 9, further comprising upon receiving the bound personal identity information, signaling the originating client.

12. The computer-implemented method of claim 9, further comprising decrypting the bound personal identity information when encrypted.

13. The computer-implemented method of claim 9, further comprising localizing standardized personal identity information.

14. A computer-readable storage medium having encoded thereon computer-executable instructions that when executed perform a computer process for porting personal identification information of a principal from a first client to a second client, the computer process comprising:
receiving selection of the first client;
requesting identification of the principal by a relying party by providing personal identity information located on the first client to the relying party, wherein the personal identity information comprises a) one or more claims, wherein the one or more claims are generated by an identity provider, b) metadata associated with the one or more claims, and c) backing data associated with the one or more claims;
receiving selection of the second client;
binding the personal identity information located on the first client, wherein the binding ties together the one or more claims, metadata, and backing data;
sending the bound personal identity information to the second client, wherein the sending the bound personal identity information comprises transmitting a copy of the bound personal identity information to the second client; and
deleting the bound personal identity information on the first client after sending the bound personal identity information to the second client.

15. The computer-readable storage medium of claim 14, further comprising standardizing the personal identity information to be sent.

16. The computer-readable storage medium of claim 14, further comprising binding the personal identity information together with a container.

17. The computer-readable storage medium of claim 14, further comprising triggering the execution of the binding personal identity information together and sending the bound personal identity information together, in accord with a user action.