# Patent

## Title
Efficient browser-based identity management providing personal control and anonymity

## Abstract

The invention allows a reliable and efficient identity management that can, with full interoperability, accommodate to various requirements of participants. For that a method and system are presented for providing an identity-related information about a user to a requesting entity. The method comprises a location-request step initiated by the requesting entity for requesting from a client application a location information that corresponds to a location entity possessing the identity-related information, a redirecting step for connecting the client application to the location entity in order to instruct the location entity to transfer the identity-related information to the requesting entity, and an acquiring step for obtaining the identity-related information. The acquiring step comprises a contact step wherein the location entity contacts the requesting entity, a request step wherein the requesting entity requests the identity-related information, and a response step wherein the requesting entity receives the identity-related information from the location entity.

## Background
CROSS REFERENCE AND PRIORITY
This application filed under 35 USC 371, is cross-referenced with, and claims priority from, International Patent Application PCT/IB2003/01172 filed on Mar. 23, 2003, and published in English with Publication No. WO2003/091861 published on Jul. 24, 2003, under PCT article 21(2), which in turn claims priority of EP 02009568.3, filed on Apr. 22, 2002.
TECHNICAL FIELD
The present invention is related to a method and system for providing an identity-related information about a person to a requesting entity. Moreover, the invention is related to a method for transferring the identity-related information hosted on a location entity, also referred to as wallet, to the requesting entity.
BACKGROUND OF THE INVENTION
Identity management in its widest sense means management of all the personal information about a person, including at least all the person's digital relations. Over the next decade, identity management systems in this wide sense are likely to evolve. Short-term, identity management is typically said for web single sign-on with the transfer of a small amount of data about a person.
The main business case is a general boost of electronic business: Identity management is an infrastructure issue where a standard, like the Internet and web standards, may benefit almost all parties.
Single sign-on enables a person or user to log in to different organizations while remembering only one password without allowing all the organizations to impersonate the person towards each other as simply as using the same password directly with all organizations would.
Recently, identity management, in particular single sign-on, are known, for example, by the Liberty Alliance (URL: [intentionally broken up]

    
    
        http://

followed by

        www.

followed by

        projectliberty.org)

or by Microsoft Corporation's Passport system (URL: [intentionally broken up]

        http//

followed by

followed by:

        passport.com)
    
    


The so-called Passport system or short Passport of Microsoft Corporation is a web service operated exclusively by Microsoft Corporation that allows users to sign in to web sites and conduct e-commerce transactions. Less exclusive operations have been promised, but not revealed. Passport currently includes an authentication service, a specialized authentication service just for kids, and an express purchase service.
Older system types related to identity management are classical single sign-on products, public-key infrastructures, and form fillers.
However, none of known products and proposals can, in the interoperable way needed for a global information society and general electronic business in particular, adapt to all the different requirements that the various participants in this information society And electronic business have. Particularly, all prior products and proposals fail to fulfill at least one of the following requirements, as explained below in more detail:

    1. Suitability for a free choice of location entities that hold identity-related information about a person, including location entities under the respective user's own physical control, so-called local wallets, and including that multiple location entities hold information of one person.
    2. Suitability for browser-only clients and even users that access the system via varying browsers, while not making it necessary for them to do all their browsing through a location entity in a proxy role, which would enable the location entity to see all the user's message contents. Clearly the browser-only users and those with local wallets are not the same—the requirement is that the server's method interoperates with both.
    3. Suitability for the transfer of both authentication information and other identity-related information, where the latter may be both freely chosen by the user, such as preferences, or in need of third-party confirmation.
    4. Suitability for users that want to remain anonymous, while still allowing the transfer of some identity related information, such as preferences or demographic information.
    5. Flexible privacy policies for the release of identity related information.


It may be helpful to discuss the benefits of an identity management system fulfilling these requirements, hereafter abbreviated as Req.: Req. 1 is made by companies like employers and banks who want to act as location entities for their employees or customers at least in relationships related to their business. Moreover, whether persons will embrace identity management voluntarily now is not as clear as one might be led to believe. Currently, the fear of “putting all eggs in one basket” and privacy and trust concerns outweigh the perceived benefit of both single sign-on and simplified form filling for most people. Here again, free choice as in Req. 1 may help, in particular to allow the “local” location entities for the user's truly personal information. These latter concerns also motivate Req. 4. Req. 2 is made for practicality, both because many users cannot be made to install additional software and because some users use the information society infrastructure from varying Internet kiosks and the like. The Internet kiosk is contemplated as a public computer, e.g., in an Internet cafe. Req. 3 is for general applicability and user friendliness, e.g., to allow, with just one system, the restriction of access to certain information and certain operations only to certain users, and also the transfer of addresses, shipping information etc. to business partners. The benefit of the last part of Req. 3 and Req. 5 can be seen as follows: Transferring a small amount of data aims at standard e-commerce applications, where data like shipping and billing information are needed often and quite independent of the communication partner. In extensions to more specific data such as book and travel preferences, one will have to distinguish the partners better. Long-term comprehensive solutions will include data that need third-party confirmation; they will also manage transaction data, e.g., the person's receipts obtained from these partners; and they will integrate with other personal applications, such as a tax declaration using these receipts. Furthermore, long-term solutions will integrate person-to-person applications like calendar sharing, and business-to-business applications such as accessing services for which one's employer has subscribed.
Classical single sign-on schemes and products contain a variety of login scripts or passwords for many applications. For example, U.S. Pat. No. 5,944,824 discloses a system and method for single sign-on to a plurality of network elements. This does not allow browser-only clients unless by using a proxy (cf. Req. 2). Moreover, it only covers authentication information, not other identity-related information (cf. Req. 3), and thus also no privacy policies (Req. 5).
Classical public key infrastructures (PKIs), most notably as X509, essentially only consider authentication information (cf. Req. 3). As information is conveyed via a fixed certificate, then if it does contain other identity related information, this information is fixed, contradicting Req. 5. For special-purpose client software, one can easily design a method to send other attributes separately, e.g., in attribute certificates, but this is not compatible with browser-only clients (Req. 2), and particularly there is no interoperable method for using varying browsers (also Req. 2).
Classical products for transferring personal data in e-commerce are form fillers. They interact deeply with browsers to drag-and-drop attributes into form fields, or use powerful tools to interpret the fields in forms. They typically only work as complicated client software and else as proxies, contradicting Req. 2. Furthermore, they do not offer full interoperability, because there is no corresponding method for the servers asking for the information.
Microsoft's Passport assumes one fixed location entity or at least only a set of entities that all have the information about users in a certain domain, i.e., there is no choice by the user or based on other business relationships, e.g., choosing the user's bank as the location entity, contradicting Req. 1.
This is an intrinsic property of this system, not something that can be changed by a different usage or embodiment, because the server is assumed to know a priori which location entity to connect to. While extensions to a so-called federation are under discussion, they are likely to have some of the other deficiencies remaining, like the following systems. Passport does not yet distinguish information that needs third-party confirmation (cf. Req. 3). Furthermore, it allows no real anonymity: There is a global user identifier, which the user can only avoid by having multiple accounts and thus by difficult management, and furthermore the location entity learns the user's communication partners (cf. Req. 4). There are also no flexible privacy policies (Req. 5). Furthermore, Passport does not allow a direct contact between the server and the location entity, which is essential for safe transfer of longer data, and this is not trivial to achieve in a federated context so that all the mentioned requirements are fulfilled.
U.S. Pat. No. 6,226,752 discloses a method and apparatus for authenticating. It does not allow a user's choice of the location entity for the same reasons as with Passport (cf. Req. 1). It only considers authentication information (cf. Req. 3) and thus no privacy policies (Req. 5) and no method for anonymity (Req. 4).
Shibboleth (http://{intentionally broken up)
followed by


    
    
        middleware.internet2.

followed by

        edu/shibboleth),

a project of Internet2/MACE (Middleware Architecture Committee for Education), is developing architectures, frameworks, and technologies to support inter-institutional sharing of web resources that are subject to access controls. Shibboleth contains a method for finding the so-called university entity, and thus fulfills parts of Req. 1: The server asks the user for a user-friendly name of the university entity concerned and translates this using a further entity called WAYF that “knows the name and location of” each university entity. The redirection takes place to this location only for authentication, and the university entity then redirects the user back to the server with a second address of the university entity. The server uses this other address to establish a direct contact to the university entity, over which it sends a request and gets a response. This protocol does not allow local wallets (Req. 1) together with anonymity (Req. 4), in particular because the second address identifies the place of the university entity which, for local wallets, is the place of the user. There is no known method to make this address relative, i.e. saying only “on my machine”. The first address can also not be intended to be relative because the knowledge of all names and locations of local wallets would defeat the purpose. Yet another point incompatible with the combination of local wallets and anonymity is that all “assertions” in Shibboleth, i.e., the identity related information sent, must contain the domain name of the university entity. Furthermore, while Shibboleth includes privacy policies, it is not as flexible as desired (cf. Req. 5), because requests do not include privacy promises by the server. Finally, for requests where the release of the information is not pre-authorized by the user to the university entity, Shibboleth has an inefficient flow, because the browser focus (i.e., a way to ask the user) must be reestablished by a further redirect, followed by yet another redirect to the server.

    
    


From the above follows that there is still a need in the art for an improved identity management system including the exchange protocols between persons and organizations.
SUMMARY AND ADVANTAGES OF THE INVENTION
The present invention allows a reliable and efficient identity management that can, with full interoperability, accommodate to various requirements of participants, in particular the transfer of authentication and other identity-related information, versions where a user only has a browser or more powerful software, different location entities, also called wallets, holding information about the user, and anonymous and identified users, and the integration of privacy policies. In other words, the invention enables end users of web-based services, e.g., e-business, to perform single sign-on and controlled exchange of profile information with service providers. The invention works advantageously with standard HTTP (hypertext transfer protocol) browsers, which usually provide the main user interface. The presented methods and system support zero footprint version, i.e., there is no other software needed, not even active content like Javascript, Java, or ActiveX (Javascript and Java are trademarks of Sun Microsystems, Inc., ActiveX is a trademark of Microsoft Corporation). Furthermore the invention allows multiple authorities, avoiding any single point of failure. That also means that multiple authorities are supported, giving users the chance to freely select among them, without the need to trust the others. Moreover, the authorities do not need to trust each other unlike in known solutions like Passport or Kerberos. Kerberos is a network authentication protocol for providing authentication for client/server applications by using secret-key cryptography.
In accordance with the present invention, there is presented a method for providing an identity-related information to a requesting entity, the method comprising
a location-request step initiated by the requesting entity for requesting from a client application a location information that corresponds to a location entity possessing the identity-related information,
a redirecting step for connecting the client application to the location entity in order to instruct the location entity to transfer the identity-related information to the requesting entity, and
an acquiring step for obtaining the identity-related information, the acquiring step comprising
a contact step in which the location entity contacts the requesting entity,
a request step in which the requesting entity requests the identity-related information, and
a response step in which the requesting entity receives the identity-related information from the location entity.
The method allows that the location entity is either remote or under local control of a person or user whose identity is concerned and also allows that the location of this person remains unknown to the requesting entity, which can be a server. This also holds when the identity-related information is transferred from the location entity either (a) via the client application or (b) directly from the location entity with the location entity making the contact to the requesting entity.
The acquiring step can also comprise only a redirecting sub-step for redirecting the location entity via the client application to the requesting entity and thereby transmitting the identity-related information to the requesting entity. This has the advantage that is faster than the above sub-steps, but can only safely be done for short identity-related information.
The method can further comprise a decision step on whether the contact step is performed in dependence on the length of information to be carried in a URL (uniform resource locator). This allows to have HTTP 1.0 routers and proxies on the transport path. Usually, identity-related information that leads to overall URLs of up to a length of 255 bytes should then be usable without difficulties. The decision step can be made by the requesting entity, which, knowing that the identity-related information it requests is short enough, already transmits no contact address in the redirecting step, or, having a long request or expecting a long response, transmits only the contact address. If the requesting entity transmits information for both cases, the decision step can be made by the location entity.
It is advantageous if the transport protocol used between the requesting entity and the client application, as well as between the client application and the location entity, is a secure hyper text transfer protocol (HTTPS), because then a secured transfer of information can be guaranteed. Using such a secure channel prevents so-called man in the middle attacks.
The returned location information can be relative to the location of the client application. The location information in the redirecting step denotes “localhost” if it is relative, and if it is absolute it may be a URL (uniform resource locator) or other information identifying the location entity from which the requesting entity derives a URL by a normal address translation locally or via a directory. Information identifying a person concerned can also be used to derive by the requesting entity a URL of the appropriate location entity by a specific directory listing persons and their location entities.
The redirecting step can be performed by a hyper text transfer protocol redirect or short HTTP-redirect to localhost or the derived URL, transmitting to the location entity either an actual transfer instruction and a return address or a contact address and possibly already the transfer instruction and return address. This enables the acquiring step with more flexible transport protocols and without requiring the client application, if it is a browser, to disturb the user for pushing a “submit” button to start a PUSH operation or to have scripting enabled.
The method can further comprise accepting by the requesting entity the identity-related information together with an authentication from the location entity under a location-entity, wherein the identity-related information corresponds to a personal pseudonym of a person. This has the advantage that anonymity of the person can be protected reliably. Clearly the method also comprises normal, non-anonymous location entity identities and personal identities.
The method can further comprise transmitting by the requesting entity a server policy for use of the identity-related information. In particular the requesting entity or server may include a promised privacy policy or privacy preference, e.g. Platform for Privacy Preferences (P3P), for the requested identity-related information, for example, in the transfer instruction by reference or directly. It may also include another security-related policy, e.g., about secure storage. The identity-related information from the location entity can also contain or reference a prescribed privacy or other security policy. This has the advantage that the requesting entities can interact in optimized ways with persons and location entities with different policies, e.g., by then offering different degrees of personalization. The requesting entity is free to refuse continued the application-dependent interaction unless a minimum of information is provided. This may be indicated in the request, as well as other requirements on the information or its quality, such as confirmation by a certain class of authority, freshness, or liability of the confirmer.
In accordance with a second aspect of the present invention, there is presented a method for transferring an identity-related information hosted on a location entity to a requesting entity, said method comprising
a redirecting step for receiving from a client application an instruction information to transfer the identity-related information to the requesting entity, wherein prior to the redirecting step the requesting entity requests in a location-request step from the client application a location information that corresponds to the location entity possessing the identity-related information, and

a transfer step for transferring the identity-related information to the requesting entity comprising

a contact step in which the location entity contacts the requesting entity,

a request step in which the requesting entity requests the identity-related information, and a response step in which the location entity sends the identity-related information to the requesting entity.

The transfer step can further comprise deciding by the location entity on what part of the identity-related information requested in the request step to be transferred on the basis of a predefined policy. This has the advantage that the requesting entity can make a general request for all information that may be useful to it, but allow the location entity to decide, based on its own or the user's policy, which of this information it actually wants to offer, e.g., for marketing, personalization or statistical purposes.
The response step can further comprise transmitting by the location entity a part of the predefined policy. This has the advantage that the location entity can instruct the requesting entity to act in certain ways regarding the identity-related information, e.g., not to transfer it further, or to delete it after a while, or not to delete it for a certain period.
The location entity may use the connection established from the client application to the location entity in the redirecting step for the interaction with a person during the transfer step. The benefit of interacting with the person is that the person can be authenticated and can make additions to the predefined policy, and the benefit of reusing the said connection (in contrast to releasing that connection before the acquiring step) is that the interaction is possible without delay.
A release of identity-related information to the requesting entity can comprise the following steps: presenting information about the requesting entity; presenting a pre-authorized attribute values known to the location entity, where pre-authorized means that the predefined policy allows the release to the requesting entity, and/or presenting a not pre-authorized attribute values known to the location entity, and/or presenting names of attributes with values unknown to the location entity assigned to empty fields for entering respective attribute values; requesting for editing the attribute values; and sending the edited attribute values to the requesting entity. By doing so, the user is requested only to fill in unknown attribute values and to make yes/no decisions about not pre-authorized values. This simplifies the procedure and allows the user to have full control over his personal information requested by the requesting entity.
The different attribute values may be presented differently, preferably in different colors. This allows a clear presentation of the information to the user, who then can decide which information to enter, delete, amend, or send unchanged.
The transfer step can further comprise the steps of generating a random value k by the location entity, sending the random value k to the requesting entity on the same connection as the identity-related information, sending the random value k to the client application to enable the client application to prove its authenticity with respect to the identity-related information to the requesting entity. This has the advantage that the client application running at the user can be given additional privileges by the requesting entity after the transfer of the identity-related information.
In accordance with a third aspect of the present invention, there is presented a system for providing an identity-related information, the system comprising a location entity possessing the identity-related information, a client application connectable to the location entity, and a requesting entity adapted to request from the client application a location information that corresponds to the location entity possessing the identity-related information, wherein, after a response to the request the client application is redirected to the location entity in order to instruct the location entity to transfer the identity-related information to the requesting entity, wherein the location entity contacts the requesting entity, the requesting entity requests the identity-related information, and the requesting entity receives the identity-related information from the location entity.
The system facilitates the identification of the relevant authority, i.e. the location entity, for a user without the need to contact any third party, thus avoiding a privacy and performance problem present in some prior art solutions.
The system works with standard, SSL-capable HTTP browsers, i.e. secure socket layer capable hyper text transfer protocol browser, and does not require any functionality that requires users to accept that some additional information, e.g. cookies, or software like active content: Javascript, Java, ActiveX, etc. is installed on their machine. At the same time, it allows for efficiency improvements in cases where additional information can be stored.
The system provides more security against certain attacks, e.g. man-in-the-middle attack, than in known solutions.
In another example, the client application interacts with several location entities. This means the user may have multiple location entities on different places or on the same place, and the client application, together with the person or user, chooses an appropriate one in answer to the request for the location information. Thereby the location entities can be local or remote. The advantage of such an arrangement is that it avoids a single point of failure for the person, and enables privacy among the different location entities.
The identity-related information can be provided by a further location entity. Then the identity-related information is obtainable by the requesting entity via the location entity. The location information of the further location entity is stored on the location entity. The advantage of such an arrangement is that it avoids that the client application or person has to choose among the location entities, while still allowing different types of identity-related information to be stored in different location entities.



DESCRIPTION OF THE DRAWINGS
Preferred embodiments of the invention are described in detail below, by way of example only, with reference to the following schematic drawings.
FIG. 1 shows a schematic illustration of a system according to the present invention.
FIG. 2 shows a schematic illustration of the message flow of a first embodiment according to the present invention.
FIG. 3 shows a schematic illustration of the message flow of a second embodiment.
FIG. 4 shows a schematic illustration of the message flow of a third embodiment.
FIG. 5 shows an illustration of a form to be presented to a potential user with a location query as sent in step II in FIG. 4.
FIG. 6 shows a schematic illustration of an extension of the third embodiment as shown in FIG. 4.
FIG. 7 shows an illustration of another form to be presented to the user which form is half-finished.
FIG. 8 shows a schematic illustration of an extension of the first or third embodiment allowing authenticity of the client application.
FIG. 9 shows a schematic illustration of the system where one client application interacts with several location entities.
FIG. 10 shows a schematic illustration of the system where an identity-related information is provided by a further location entity and is obtainable by a requesting entity via the location entity.



The drawings are provided for illustrative purpose only and do not necessarily represent practical examples of the present invention to scale.
GLOSSARY
The following are informal definitions to aid in the understanding of the description.
Person: An entity whose identity is managed. If the person acts it becomes the user. Typically the person or user is an individual, but at least small businesses will often interact with other businesses just like individuals, e.g., in travel booking and information gathering.
Requesting entity: An entity, e.g. an organization represented by a server, who wants to know a name or attributes of a person. Initial organizations will mainly be Internet shops because of the low assurance of any easily deployable registration system. In the long run organizations include all a person's communication partners such as banks, doctors, colleagues, and family. Colleagues and family as “organizations” are particularly relevant if one wants to include contact or location information in identity management, e.g., instant messaging and calendering.
Location entity: An entity that stores identity-related information for a person. The location entity is also referred to as wallet. By location entity or wallet is meant a component, typically software, that stores and handles personal information for the person. A location-entity holder may be the person itself or a party trusted by it. Becoming a professional location-entity holder may require preconditions, e.g., privacy and security promises and appropriate safeguards. A primary location-entity holder holds a person's single sign-on password; mope generally, it can recognize the person without intervention of another entity. Thus a person might have several primary location entities with different types of information, if he or she can remember several passwords.
A local location entity is on a computer of that person. A remote location entity is on a computer or server of a separate location-entity holder, typically professional. It may be integrated with other location entities residing at that holder.
Federation: By a federation, one typically means a group of professional location-entity holders and location-entity manufacturers. The group may also contain representatives of persons and organizations to help with generally satisfactory standards, but persons and organizations may be millions, while entities interested in professional location-entity holding might be tens of thousands, e.g., banks, CAs (certificate authorities), ISPs (Internet service providers), and large employers.
A legal entity or organization may act in several of the roles as described above.
The term computer includes devices like PCs but also digital assistants and mobile phones with browsing facilities.
DETAILED DESCRIPTION
With reference to FIG. 1, the general layout of a communication environment is described in which the invention can be used. In the figures, same reference signs are used to denote the same or like parts. FIG. 1 shows a person P, who acts as a user 20. The user 20 executes a client application 30, e.g. a web browser, on his computer. The client application 30 is connected for application-dependent interactions to a requesting entity 50, e.g. a server of a company or bank which provides services. The client application 30 and the requesting entity 50 are connected via communication lines 5 as they are known in the art. The communation lines are usually provided through a network, e.g. the Internet. The client application 30 is further connected to a location entity 40, also referred to as wallet, whereby the location entitiy 40 can be local, i.e. at the computer of the user 20, or remote, i.e. on an external server or the like. The location entity 40 is also connectable to the requesting entity 50 for the transmission of identity-related information IRI. Under the term identity-related information IRI is understood any information related to a person or user. Identity-related information IRI comprises names, addresses, group memberships, authorization credentials, demographic data, personal preferences, calendar entries, medical and financial information, and everything else that may be stored digitally about a person or under a user name. The requesting entity may desire it for access control, authorization, personalization, authentication, login, commercial, medical, or governmental issues, or any other application operating on identity-related information IRI. The scenario in FIG. 1 is shown to facilitate the description of the following flows for providing the identity-related information IRI to the requesting entity 50.
FIG. 2 shows a schematic illustration of a message flow of a first embodiment. Therein, the flow between the client application 30, the location entity 40, and the requesting entity 50 is depicted with labeled arrows to which respective Roman numbers are assigned. Further steps or sub-steps are indicated by Roman numbers in a circle. The flow is understood as being performed sequentially from top to bottom as indicated by the increasing Roman numbers. In step I application-dependent interactions are performed between the client application 30 and the requesting entity 50. In a location-request step II, which is initiated by the requesting entity 50 (sub-step IIa), the requesting entity 50 requests from the client application a location information LI that corresponds to the location entity 40 that possesses the identity-related information IRI. The location information LI is sent to the requesting entity 50 in sub-step IIc. Optionally, sub-step IIb allows the client application 30 to derive the location information Li in different ways, for example, by asking the user 20 or internally. It follows a redirecting step III with a redirect instruction (sub-step IIIa) wherein after all the client application 30 is connected to the location entity 40 (sub-step IIIb). By doing so the location entity 40 is instructed to transfer the identity-related information IRI to the requesting entity 50. In the acquiring step IV the requesting entity 50 obtains the identity-related information IRI as follows. A contact step IVa is performed wherein the location entity 40 contacts the requesting entity 50. Then, a request step IVc is performed wherein the requesting entity 50 requests the identity-related information IRI from the location entity 40. Finally, the requesting entity 50 receives in a response step IVe the identity-related information IRI from the location entity 40. The request can be retrieved in different known ways as indicated by sub-step IVb, e.g., by a session identifier that the requesting entity 50 includes in the redirecting step III and the location entity 40 includes in the contact step IVa. Moreover, the location entity 40 can decide on whether to respond at all and what, e.g., by user authentication, policies, or the like, as indicated by sub-step IVd. The response can be prepared using internal and possibly external information. Sub-step IVf indicates a possible repetition of the request and response steps IVc and IVe to get more identity-related information IRI, or to resolve errors, and a possible end-message for this exchange. As indicated by the sub-step IVg, a redirect from the location entity 40 (redirect back step IVg.i) via the client application 30 to the requesting entity 50 in a connect back step IVg.ii can be performed. Application-dependent interactions between the client application 30 and the requesting entity 50 are then possible again, as indicated with step V.
FIG. 3 shows a schematic illustration of a second embodiment with a similar message flow compared to the first embodiment with the difference in that the acquiring step IV is performed without the contact, request, and response steps IVa, IVc, IVe. Instead, the redirecting sub-step IVg, where the location entity 40 is connected via the client application 30 to the requesting entity 50, is now performed such that it transfers the identity-related information IRI. In that scenario, the location entity 40 interacts with the user 20 in sub-step IVd, so that the user 20 authenticates himself. In some cases, the user 20 also should confirm the identity of the requesting entity 50 in sub-step IVd because the location entity 40 cannot recognize the requesting entity 50 by itself.
FIG. 4 shows a schematic illustration of the message flow of a third embodiment in which a secure channel is assumed, as it can be provided by a secure hyper text transfer protocol (HTTPS). The secure channel is assumed between the requesting entity 50 and the client application 30 (not shown). The third embodiment is browser-specific. That means, the client application 30 is here a browser 30 that is controlled by the user 20. A further column is therefore introduced in FIG. 4 on the left-hand side of the figure and labeled with person 20 that implies the acting user 20. The user 20 is requested to interact with the browser 30. In step I the user 20 is browsing to the requesting entity 50. The location-request step II can sometimes be omitted as in known solutions if the browser 30 visited the requesting entity 50 before, and there is either still a session open, or the requesting entity 50 sets and the browser 30 accepts cookies, or the browser 30 automatically transfers certain user settings. In the sub-step IIa a form with a location query is transmitted from the requesting entity 50 to the browser 30 and presented to the user 20. The presentation can be performed in the way as shown in FIG. 5, where the user 20 uses options to submit the location information LI that possesses the identity-related information IRI. The location information LI is sent as “localhost”, which indicates that the address to the requesting entity 50 in sub-step IIc. Sub-step IIa and sub-step IIc locate the location entity 40 in preparation for the redirecting step III. If all location entities 40 (only one is shown here) were local, the redirect could be to a fixed port at “localhost”; similarly, with just one remote location-entity holder, the redirect could be directly to that. However, different remote location entities 40 have to be distinguished, and even one user 20 can have multiple location entities 40. The simplest way to build the overall user interaction for these steps is to show the user the above-mentioned form on a screen as shown in FIG. 5. The redirecting step III comprises the sub-step IIIa, now an HTTP redirect, wherein a contact address is transmitted from the requesting entity 50 to the browser 30 and the sub-step IIIb wherein the browser 30 is connected to the location entity 40. The contact address contains a protocol binding, which may be HTTP, but also another protocol such as a SOAP (Simple Object Access Protocol) binding. Additionally, a session identifier SID is transferred for use in sub-step IIIb. Transfer of other information like the last URL requested in step I is possible but less recommended because it may violate the user's privacy towards the location entity 40. If the requesting entity 50 guesses that the desired identity-related information IRI is short, it can immediately include the exact request and the return address (useable in sub-step IVg). If it is sure, it may even omit the contact information. A safe definition for “short” is that the resulting overall URL in sub-step IVg will not exceed 255 bytes. By obtaining a connection message in sub-step IIIb, the location entity 40 is instructed to transfer the identity-related information IRI to the requesting entity 50. In the acquiring step IV the requesting entity 50 obtains the identity-related information IRI as follows. In the contact step IVa, the location entity 40 is connected to the contact address, i.e. the requesting entity 50, using the protocol contained in the contact address unless it proceeds as described with reference to FIG. 3. The request step IVc is performed wherein the requesting entity 50 requests the identity-related information IRI from the location entity 40 over the connection set up in the contact step IVa, retrieving the appropriate request according to the session identifier SID. The request may be in any known form, e.g., an agreed-upon Extensible Markup Language (XML) schema. The requesting entity 50 receives in the response step IVe the identity-related information IRI from the location entity 40. The response will be in a known form corresponding to that of the request, e.g., from a corresponding response XML schema. The location entity 40 can decide on whether to respond at all and what, e.g., by evaluating user authentication, policies, authentication and credentials submitted by the requesting entity 50 with the request, real-time release by the user 20, or the like, as indicated by sub-step IVd. Sub-step IVf.i indicates that the return address may depend on the received response, e.g., different personalized versions of an originally requested resource. The return address is then sent by the requesting entity 50 to the location entity 40, as indicated with sub-step IVf.ii. Then, the redirect is performed as indicated by the sub-step IVg. Therein the return address is transmitted in sub-step IVg.i from the location entity 40 to the client application 30, which is further connected to the return address, i.e. to the requesting entity 50, as indicated in the connect back step IVg.ii. This step may carry additional information, e.g., for authenticating the browser 30 as explained below with reference to FIG. 6. Sub-step IVh allows the requesting entity 50 to look up the appropriate response received in the response step IVe for the connecting browser 30 in any known way, and thus to use the response in further interactions with this browser 30. The use of HTTPS provides secure sessions for this, they may be augmented by other known session maintenance mechanisms. Browsing, executed by user 20, between the browser 30 and the requesting entity 50 is then performable again, as shown in step V.
FIG. 5 shows an illustration of a form or example screen to be presented to a potential user with a location query as presentable in the location-request step II in FIG. 4. To make it realistic, a refusal to identify and legacy authentication by user name and password are also shown, as well as links to information about the requesting entity 50, e.g., an organization, which information may help the user 20 to decide what to fill in. The “o”s are radio buttons, the fields are for entering text. The words “federated identity” can stand for a brand name to be chosen. Selecting “my own wallet” gives a redirect to “localhost”, i.e. the location entity 40 which is on local. Inputting a “wallet holder” redirects to the location or server address of a remote location entity 40. The lookup choice leads the requesting entity 50 to look for the name entered after “my name is” in a global directory; this option decreases privacy but some people might forget their location entity's address. The user 20 can inform himself about the requesting entity 50 under “who we are” and about the policies under “privacy policy”. With the “Submit” button the information can be submitted. As described with reference to FIG. 4, there are several ways to allow users to avoid such a screen if they always allow their location entity 40 to be contacted.
FIG. 6 shows a schematic illustration of an extension of the third embodiment as shown in FIG. 4, in particular an embodiment of sub-step IVd, the derivation of a response. Only the relevant flows are depicted. In sub-step IIIb the browser 30 connects to the location entity 40. In the acquiring step IV the requesting entity 50 obtains the identity-related information IRI. Therein in sub-step IVd.i an authentication of the person is performed. This sub-step IVd.i can also be performed in parallel when the contact step IVa and the request step IVc are executed if a secure session according to a known mechanism is in place. Then a half-finished form is presented to the user 20 in sub-step IVd.iii. A sub-step IVd.ii indicates the preparation of the response as far as possible while using a predefined policy, and the transformation from the request-response format to a user-friendly form. The user 20 can adapt the form in sub-step Ivd.iv before the finished response as form is transmitted in the release sub-step IVd.v from the browser 30 to the location entity 40 which finally forwards it, now again in the request-response format, to the requesting entity 50 in the response step IVe.
FIG. 7 shows an illustration of a half-finished form as to be presented to the user 20 in sub-step IVd.iii in FIG. 6. The initial text explains the form and specifies who asks for this information, i.e., <name> is the name of the requesting entity 50, as obtained by the location entity 40 in the authentication of the requesting entity 50 during the contact step IVa. If no such authentication precedes the response step IVe in another embodiment, this line in such a form should be formulated differently accordingly, e.g., the user 20 should be asked to check the server certificate in the HTTPS connection from step I. The “Name”, “Shipping address”, “National ID number”, and “Your income” are examples of attributes or attribute names. Their respective attribute values are already entered for the “Name”, “Shipping address”, and “National ID number”, because these are assumed to be known to the location entity 40 in this example. “Your income” is not known to the location entity 40 and therefore empty. Among the known attributes, “Name” and “Shipping” address are assumed to be pre-authorized, while “National ID number” is not. Therefore their attribute values are presented in different user-interface styles, e.g. in different colors, so that the user 20 sees easily which information is sensitive and which not. The user 20 has full flexibility to edit or delete the given attribute values and to add missing attribute values. Optionally, the user 20 gets an indication on what is necessary to submit or confirm by a hint like “*”. That means the presentation additionally includes elements that characterize attributes as mandatory or voluntary from the point of view of the receiving entity 50. The meaning of the user interface elements and indicators is explained, in our example in the lines starting with “Red:” and “*:” The “Submit” button allows the submission of the information in the form. In a further example, an iteration of sub-steps Ivd.iii to IVd.v can be performed where the attributes are presented in the repetitions of the sub-step Ivd.iii with additional annotations by the location entity 40, e.g., error messages, and the response to the requesting entity 50 is only made after the last iteration of the release in sub-step IVd.v. The presentation can be executed as a normal web form with editable fields for the attributes. In another example, none of the attributes are released if not all mandatory attributes are available and authorized after the editing phase with the user 20 or a suitable iteration of the steps with the specific annotation that mandatory attributes are missing.
FIG. 8 shows a schematic illustration of an extension of the first or third embodiment providing authenticity of the browser 30 in sub-step IVg. In view of the location entity 40 the acquiring step IV is here referred to as the transfer step IV. FIG. 8 already starts with the second part of the redirecting step III where the client application 30 connects to the location entity 40 in sub-step IIIb. The contact step IVa is performed in that the location entity 40 contacts the requesting entity 50. Then, the request step IVc is performed in that the requesting entity 50 requests the identity-related information IRI from the location entity 40. In sub-step IVd a random value k is generated by the location entity 40. The response together with the random value k is sent to the requesting entity 50 in response step IVe. Sub-step IVf.ii indicates the transmission of the return address from the requesting entity 50 to the location entity 40. Then, the redirect is performed as indicated by the sub-step IVg. Therein the return address with random value k is transmitted in sub-step IVg.i from the location entity 40 to the client application 30, which is further connected to the return address, i.e. to the requesting entity 50 which receives the random value k, as indicated in the connect back step IVg.ii. In sub-step IVh the requesting entity 50 uses the received random value k to look up the response received in the response step IVe where the same random value k occurred. Application-dependent interactions, initiated by the requesting entity 50, between the client application 30 and the requesting entity 50 are then performable again, as shown in step V. By sending the random value k to the client application 30, the client application 30 is enabled to prove its authenticity with respect to the identity-related information IRI to the requesting entity 50. In another example, the value k is only pseudo-random, or even only partially pseudo-random. However, it should be practically unguessable in all correct examples.
FIG. 9 shows a schematic illustration of an extension of the communication environment as described with reference to FIG. 1. A second location entity 42 is arranged additionally to FIG. 1. The second location entity 42 can be local or remote and is connectable to the client application 30 and the request entity 50 via the communication lines 5. Generally, one client application 30, i.e. one browser 30, interacts here with several location entities 40, 42, and selects an appropriate one in the location-request step II.
FIG. 10 shows a schematic illustration of another arrangement of the communication environment as described with reference to FIG. 1 or FIG. 9. The identity-related information IRI is here provided by one further location entity, i.e. the second location entity 42. The identity-related information IRI is obtainable by the requesting entity 50 via the location entity 40, hereafter also referred to as first location entity 40. The location information LI of the second location entity 42 is hence stored on the first location entity 40, together with indications what identity-related information IRI the second location entity 42 holds. Thus the client application 30 can always select one first location entity 40 in the location-request step II. The example shows the second location entity 42 only connected to the first location entity 40, indication an embodiment where the first location entity 40 retrieves the identity-relation information IRI directly from the second location entity 42 within the sub-step IVd. The identity relation may carry authentication or other security attributes from the second location entity 42. In another example, the first location entity 40 can redirect the client application 30 to the second location entity 42 within sub-step IVd to also allow the second location entity 42 interaction with the user 20. In a further example, the second location entity 42 may forward contact information of the requesting entity 50 to the second location entity 42 so that the second location entity 42 can transfer its identity-relation information IRI directly to the requesting entity 50.
All examples as shown in the figures assumed that the requesting entity 50 and the location entity 40 (or 42) can directly authenticate each other. This can easily be achieved with known techniques, e.g., by using public-key certificates with a common set of root authorities agreed upon in the respective federation. For instance, the requesting entity 50 may use a secure socket layer (SSL) server certificate to authenticate to the location entity 40 in the contact step IVa, if the connection is via HTTPS or another protocol using TCP (Transmission Control Protocol). To enable anonymity, the location entity 40 should not always use such a certificate, e.g., if only freely choosable identity-related information IRI is requested. If identity-related information IRI needs confirmation by a known authority (which may be the first location entity 40 or second location entity 42 in FIG. 10), that can, for instance, be given by an XML signature with respect to an X509 certificate. In another example, the requesting entity 50 and location entity 40 (or 42) may have exchanged special keys beforehand and use those. In a further example, one may want to use symmetric keys only (at least besides HTTPS), but the requesting entity 50 and location entity 40 have not exchanged keys a priori. This is also possible, but somewhat decreases anonymity or requires stronger trust of different entities in each other. In particular, with reference to FIG. 2, the contact step IVa could be extended by a Kerberos key exchange protocol for the location entity 40 and requesting entity 50 via a chain of intermediaries. With reference to FIG. 3, either the location entity 40 can start the same protocol, or the client application 30 can be redirected through a chain of intermediaries that each grant it a new “ticket” with the identity-related information IRI (here typically authentication information) based on the previous ticket, similar to Kerberos but within HTTP instead of as key exchange.
Any disclosed embodiment may be combined with one or several of the other embodiments shown and/or described. This is also possible for one or more features of the embodiments.
The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system—or other apparatus adapted for carrying out the method described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation, b) reproduction in a different material form.

## Claims

1. A requesting entity method comprising:
at the requesting entity, requesting location information from a client application, said location information corresponding to a location entity possessing the identity-related information of an anonymous user, while engaged in communication with said client application for performing application-dependent interactions, and wherein said identity-related information comprises at least a pseudonym of the anonymous user of the location entity;
receiving the location information from the client application;
issuing a redirect command comprising a redirect instruction to the client application, said redirect command suspending the communication with the client application, pursuant to which the client application establishes a connection with the location entity for instructing the location entity to transfer the identity-related information to the requesting entity,
wherein the redirect instruction further enables the location entity to recognize the requesting entity;
obtaining the identity-related information, the obtaining step comprising:
receiving contact from the location entity;
providing authentication to the location entity;
requesting the identity-related information from the location entity; and
receiving the identity-related information from the location entity, wherein said identity-related information does not breach the user's anonymity, wherein the receiving step prompts the location entity to issue a redirect command to the client application using a hypertext transfer protocol redirect and a simple object access protocol; and

receiving a connect back from the client application, thereby resuming the communication with the client application.

2. The method of claim 1 wherein a transport protocol used between the requesting entity and the client application, and between the location entity and the client application is a secure Hyper Text Transfer Protocol.

3. The method of claim 2 wherein the received location information is relative to a location of the client application.

4. The method of claim 1 wherein the step of requesting the identity-related information further comprises a step of accepting an authentication from the location entity under a location entity pseudonym.

5. The method of claim 1 wherein the location entity is remote from the client application.

6. A client method comprising:
at a client application, receiving a location request from a requesting entity for requesting location information of a location entity possessing identity-related information of a user who is anonymous to the requesting entity, wherein the identity-related information comprises a pseudonym of the anonymous user and wherein the entity-related information is obtained by receiving contact from the location entity; providing authentication to the location entity; and requesting the identity-related information from the location entity receiving a connect back from the client application, thereby resuming the communication with the location entity, and wherein the client application and the requesting entity are engaged in communication for performing application-dependent interactions;
transmitting the location information to the requesting entity;
receiving a redirect comprising a redirect instruction from the requesting entity, said redirect suspending the communication with the requesting entity;
pursuant to the redirect, establishing a connection with the location entity for instructing the location entity to transfer the identity-related information to the requesting entity, wherein the location entity is unable to recognize the requesting entity without instruction from the client application;
receiving a redirect from the location entity after the requesting entity has provided authentication to the location entity and received the requested identity-related information, wherein said identity-related information does not breach the user's anonymity, wherein the redirect uses a hypertext transfer protocol redirect and a simple object access protocol; and
resuming the communication with the requesting entity.

7. The method of claim 6 wherein a transport protocol used between the requesting entity and the client application, and between the location entity and the client application is a secure Hyper Text Transfer Protocol.

8. The method of claim 6 wherein the location entity is remote from the client application.

9. The method of claim 6 wherein the step of establishing the connection with the location entity comprises establishing a connection with a first of a plurality of location entities, wherein different types of identity-related information are stored in each of the plurality of the location entities.

10. The method of claim 9 wherein the first of the plurality of the location entities stores location information for a second of the plurality of location entities.

11. A location entity method comprising:
at the location entity, connecting with a client application pursuant to a suspension of communication between the client application and a requesting entity, wherein said requesting entity has received location information of a location entity possessing identity-related information of a user who is anonymous to the requesting entity, and
wherein the connecting step comprises receiving an instruction from the client application enabling recognition of the requesting entity, such that it would be impossible to recognize the requesting entity without the instruction from the client application;
initiating contact with the requesting entity;
receiving a request for the identity-information from the requesting entity;
transmitting the requested identity information, wherein said identity-related information comprises a pseudonym of the anonymous user; and
performing a redirect to the client application, said redirect prompting the client application to issue a connect-back for resuming the communication with the requesting entity, wherein the redirect uses a hypertext transfer protocol redirect and a simple object access protocol;
wherein the entity-related information is obtained by requesting the identity-related information receiving a connect back from the client application, thereby resuming the communication with the requesting entity.

12. The method of claim 11 further comprising:
preceding the transmitting step with a step of generating a value k;
wherein the transmitting step further comprises transmitting the generated value k together with the requested identity information;
receiving a return address from the requesting entity; and
wherein the performing step further comprises transmitting the generated value k and the return address to the client application, such that the client application is able to connect to the return address and the requesting entity is able to authenticate the client application using the generated value k.

13. The method of claim 12 wherein the value k is randomly generated.

14. The method of claim 12 wherein the location entity is remote from the client application.

15. The method of claim 12 wherein the location entity stores location information for one of a plurality of location entities.

16. The method of claim 12 wherein a transport protocol used between the requesting entity and the client application, and between the location entity and the client application is a secure Hyper Text Transfer Protocol.