Patent application title: PRIVACY ENGINE AND METHOD OF USE IN A USER-CENTRIC IDENTITY MANAGEMENT SYSTEM
Gail-Joon Ahn (Phoenix, AZ, US)
Gail-Joon Ahn (Phoenix, AZ, US)
OPEN INVENTION NETWORK LLC
IPC8 Class: AG06F1700FI
Class name: Information security policy
Publication date: 2009-12-03
Patent application number: 20090300714
A privacy enforcement engine conducts a process that evaluates user
engine works in conjunction with an identity selector. The identity
selector filters user identity information cards to determine which ones
satisfy the requirements of a security policy. The engine identifies
privacy preferences that are relevant to the user identity information
specified by the successfully filtered cards. The engine evaluates these
filtering operation relative to the exercise of privacy controls. The
cards that pass the filtering operation conducted by the engine are
deemed available for disclosure.
one security policy each having requirements, a system, comprising:a
plurality of privacy preferences, each privacy preference relating to
user identity information;a privacy engine operatively associated with
the plurality of privacy preferences, the privacy engine includinga means
for receiving an indication of at least one user identity, anda process,
the process configured to use at least one privacy preference specified
by the user identity indication, and to evaluate the at least one
2. The system of claim 1, further includes:a plurality of information cards each representative of a user identity;the indication of at least one user identity includes at least one information card;at least one of the privacy preferences relates to an information card.
3. The system of claim 1, further includes:a plurality of categorized attribute groups each representative of a user identity;the indication of at least one user identity includes at least one categorized attribute group;at least one of the privacy preferences relates to a categorized attribute group.
4. The system of claim 1, further includes:a means for processing a security policy from the environment to identify attributes required by the security policy; the indication of at least one user identity includes at least one attribute required by the security policy;at least one of the privacy preferences relates to an attribute required by the security policy.
5. The system of claim 1, further includes:a means for providing at least one user identity;a means for processing a security policy from the environment to determine whether any of the at least one user identity satisfies the requirements of the security policy; anda means for providing the privacy engine, as the user identity indication, any user identity determined to satisfy the security policy requirements.
6. The system of claim 1, further includes:a means for providing the privacy engine, as the user identity indication, at least one user identity each satisfying the requirements of a security policy from the environment;at least one of the privacy preferences relates to a user identity satisfying the requirements of a security policy.
7. The system of claim 1, wherein the plurality of privacy preferences includes:at least one ruleset.
8. The system of claim 1, further includes:a means for indexing at least one privacy preference to at least one of (1) at least one information card each defining a collection of attributes, (2) at least one categorized group of attributes, and (3) a respective attribute in a one-to-one correspondence.
10. The method of claim 9, comprises:providing at least one user identity each having a privacy preference associated therewith;processing a security policy from the environment to determine whether any of the at least one user identity satisfies the requirements of the security policy; andthe evaluating further includes using any privacy preference relating to a user identity determined to satisfy the security policy requirements.
11. The method of claim 9, comprises:processing a security policy from the environment to identify attributes required by the security policy;the providing further includes providing at least one privacy preference each relating to an attribute required by the security policy; andthe evaluating further includes using the at least one privacy preference relating to an attribute required by the security policy.
12. The method of claim 9, comprises:providing a plurality of information cards;the privacy preference providing further includes providing at least one privacy preference each relating to an information card; andthe evaluating further includes using the at least one privacy preference relating to an information card.
13. The method of claim 9, comprises:providing a plurality of categorized attribute groups each representative of a user identity;the privacy preference providing further includes providing at least one privacy preference each relating to a categorized attribute group; andthe evaluating further includes using the at least one privacy preference relating to the categorized attribute groups.
16. The computer-readable medium of claim 15, wherein the instructions further cause the processor to:provide at least one user identity each having a privacy preference associated therewith;process a security policy from the environment to determine whether any of the at least one user identity satisfies the requirements of the security policy; andcause the evaluate operation to use any privacy preference relating to a user identity determined to satisfy the security policy requirements.
17. The computer-readable medium of claim 15, wherein the instructions further cause the processor to:process a security policy from the environment to identify attributes required by the security policy;provide at least one privacy preference each relating to an attribute required by the security policy; andcause the evaluate operation to use the at least one privacy preference relating to an attribute required by the security policy
18. The computer-readable medium of claim 15, wherein the instructions further cause the processor to:provide a plurality of information cards;provide at least one privacy preference each relating to an information card; andcause the evaluate operation to use the at least one privacy preference relating to an information card.
19. The computer-readable medium of claim 15, wherein the instructions further cause the processor to:provide a plurality of categorized attribute groups each representative of a user identity;provide at least one privacy preference each relating to a categorized attribute group; andcause the evaluate operation to use the at least one privacy preference relating to the categorized attribute groups.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of prior filed U.S. Provisional Application Ser. No. 61/056,249, filed May 27, 2008, incorporated herein by reference thereto, and relates to U.S. Provisional Application Ser. No. 60/947,708, incorporated herein by reference thereto.
This application is co-pending with United States Patent Applications entitled "USER-PORTABLE DEVICE AND METHOD OF USE IN A USER-CENTRIC IDENTITY MANAGEMENT SYSTEM"; "IDENTITY SELECTOR FOR USE WITH A USER-PORTABLE DEVICE AND METHOD OF USE IN A USER-CENTRIC IDENTITY MANAGEMENT SYSTEM"; and "SYSTEM INTEGRATING AN IDENTITY SELECTOR AND USER-PORTABLE DEVICE AND METHOD OF USE IN A USER-CENTRIC IDENTITY MANAGEMENT SYSTEM," all filed concurrently herewith by the same inventors as this application and assigned to the same assignee as this application, all such co-pending applications incorporated herein by reference thereto.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to privacy controls in identity management systems, and, more particularly, to a privacy enforcement engine that exercises privacy management over user identities by evaluating user privacy preferences against privacy policies.
2. Description of the related art.
The collection of vast amounts of personal data via the Internet has raised a variety of privacy related concerns. Online interactions with web service providers, during which the user discloses information to the service provider to facilitate the transaction, raise issues relating to the collection of personal information, the use of personal information, the level of control exercised over the information, the sharing of personal information, and user access to disclosed personal information.
Privacy over the internet involves the ability to control what information one reveals about oneself during an online session, and to control who can access such information once disclosed. Many e-commerce websites declare their intended use of information they collect in the form of privacy policies. The policies let customers know about a site's privacy practices. Based on an examination of the policy, a user can decide whether or not the practices are acceptable, when to opt-in or opt-out (i.e., specify the conditions under which disclosure is approved), and ultimately who to do business with (i.e., interact with on the internet). The presence of privacy policies increases a user's trust level, especially in a consumer-oriented transaction.
Nevertheless, there are drawbacks. Typical policies are often difficult to understand, hard to find, take a long time to read, and can change without notice. To help the user understand the privacy policies, user agents have become available to parse the policies and present the privacy practices to the user. However, these user agents are browser-based, and so as standardized modules do not give the user any flexibility or robustness to develop user preferences in any kind of tailored or customized fashion.
P3P adopts a peer-to-peer strategy, which can make it difficult for a user to interact with the policy. The policies composed by P3P can have significant amounts of information present in them, much of which a user might not find relevant. Further P3P itself provides no proper algorithm to collect and match user preferences with the policies. Regarding APPEL, this language can be difficult for the average internet user to understand. It is possible, then, that organizations with otherwise good privacy policies may encounter problems having users approve of the policies, without an adequate was for the user to readily evaluate the policy. By default, perhaps, it may happen that if a policy cannot be appropriately examined, especially when a user attempts to subject the policy to a preference test, it might be rejected.
An identity selector, as part of an identity management system, affords the user control over what information is sent to a relying party. However, the identity selector does not allow users to have control over the information once it is sent to the relying party. For example, the identity selector has no feature that determines how information would be used or the purpose of information collection. The identity selector can manage disclosures at the point of origin, but not at the point of receipt. What is needed is a way for the user to measure the trust of a relationship--the interaction between a user and service provider--that satisfies the privacy requirements of the user.
Further, it is important to develop a privacy process more tailored and focused to the precise disclosures that are being contemplated. For example, in applications that use an identity selector to manage a portfolio of information cards (digital user identities), there are no user-managed privacy processes specifically suited to disclosures involving the information cards. The identity selector does indeed have a generalized privacy option available through the user interface (e.g., browser), but this privacy channel may not address the more sensitive privacy concerns surrounding the disclosure of identity information.
SUMMARY OF THE INVENTION
BRIEF DESCRIPTION OF THE DRAWINGS
The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram illustration of a user-centric identity management system adapted for use with a privacy management system, according to one embodiment of the invention;
FIG. 2 is an example listing of a rule implementing a strict policy and a tabular matrix showing an assignment depicting the relationship between various privacy levels and user identity attributes, for use in the practice of the invention;
FIGS. 3A-B are block diagram illustrations of alternate schemes to organize a privacy preference ruleset based on multiple privacy level categories, and the grouping of attributes under the categories, according to the invention;
FIG. 4 is a block diagram illustration showing the card-based organization of the user privacy preferences, according to the invention;
FIG. 5 is a sectional view of a GUI screen shot showing the prompts used to build a ruleset applying to an information card, according to the invention;
FIGS. 6A-B are block diagram illustrations of alternate configurations to implement the category-based scheme to organize user privacy preferences, according to the invention;
FIGS. 7-8 are GUI screen shots depicting an illustrative process for creating the categories shown in FIG. 6;
FIG. 10 is a schematic diagram illustrating how the category-based preference strategy of the invention interacts with the filtering mechanism of the identity selector;
FIG. 11 is a pictorial schematic view of a system implementing the privacy control management of the invention;
FIG. 12 is a diagrammatic view of an illustrative operating scenario conducted by the system of FIG. 11;
FIGS. 13-14 are diagrammatic views showing the message and process flows attending the operation of FIG. 12 with respect to the use of a self-issued card and a third-party managed card, respectively;
FIGS. 15-17 is a tabular listing of the requirements and specifications for the interaction shown in FIGS. 13-14;
FIG. 19 is a block diagram illustration of a privacy management system for use in a user-centric identity management system in combination with a user-portable personal security device, according to another embodiment of the invention; and
FIG. 20 is a flow diagram, illustrating a process directed to fulfilling security policy identity requirements and exercising user privacy control management, according to the invention.
Corresponding reference characters indicate corresponding parts throughout the several views. The exemplification set out herein illustrates one preferred embodiment of the invention, in one form, and such exemplification is not to be construed as limiting the scope of the invention in any manner.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1, there is shown a block diagram illustration of a privacy management system, particularly for use in a user-centric identity management system employing an identity selector to control the use of user identities.
The system, according to the invention, includes a user agent 10 having a privacy enforcement engine 12, a rule evaluator 14, a privacy language preference editor 16, and a privacy preference ruleset 18. The system further includes an identity manager 20 having an identity selector 22 and an information card storage 24. In one exemplary form, the combination of user agent 10 and identity manager 20 is resident on a common host machine or computing platform 8.
By way of overview, the privacy management processes of the invention are resident in user agent 10, while the identity management processes are resident in identity manager 20. According to the invention, user agent 10 implements privacy controls relative to the identity-related disclosures pertaining to the operation of identity manager 20, specifically those involving information cards 24.
According to the invention, privacy language editors 16 and 34 are implemented respectively at the client-side and server-side of an interactive online relationship. These editors find particular application with user-centric identity management systems, namely, by working in conjunction with identity manager 20. The privacy protection processes afforded by the invention can supplement and complement the security measures conducted by client-side identity management processes (i.e., identity manager 20), thereby providing a measure of both security and privacy safeguards on one common platform (host 8).
According to one working example of the invention, FIG. 1 illustrates a use directed to an operating environment that employs information cards 24 as part of the process to disclose user identity information, such as an authentication process conducted within the context of an online interaction between the user and a service provider (i.e., the relying party 30 requiring authentication). The user manages the user's identities, via identity manager 20, in order to comply with the identity requirements specified by the relying party's security policy. The user, via identity manager 20, selects which user identity to proffer to satisfy the security policy.
Referring now to FIG. 1, and first to identity manager 20, the identity selector 22 manages the identity requirements of an online interaction between a user and service provider. As used herein, the management capability of the identity selector should be construed as encompassing all of the functions and operations performed by the identity selector, specifically with respect to the portfolio of information cards that it can access. For example, the identity selector has an editor function (e.g., create, review, update, and delete information cards), and a usage function that directs, controls, and otherwise supervises the use of the user identities represented by the information cards. The management processes are typically executed within the context of an authentication process conducted during an online interaction between the user and service provider, relative to a user's request for access.
In brief, the identity selector 22: (i) receives and processes a security policy from relying party 30 (service provider), sent as part of a request for a security token replying to a user's request for access, (ii) retrieves and determines which information cards 24 satisfy the identity requirements of the security policy, (iii), enables the user to select one of the eligible cards determined to satisfy the security policy, (iv) requests the issuance of a security token from the appropriate identity provider 40, in reference to the card selected by the user, and (v) receives and forwards the security token to the relying party 30, as the response to the relying party's request for a security token.
In one exemplary operating scenario, a user attempts to access or request a web service or resource. In order to authenticate the user, and as a condition to deciding whether to authorize the access, the relying party 30 responds with a security policy describing the identity requirements needed to facilitate this online interaction or transaction. This response is typically a request for a security token that contains certain specified claim assertions necessary for the authentication process. The security policy is received at the user's host machine 8, and this event invokes the identity selector 22 to handle the processing of the security token and to formulate a response (i.e., directing the issuance of an appropriate security token).
The identity selector 22 examines the security policy and determines whether any of the user identities available to it satisfy the security policy. For this purpose, the available user identities can include third-party managed cards resident with the identity selector (i.e., stored on the local machine); self-issued identity cards (the editor allows the user to create such cards); and information cards retrieved from a user-portable personal security device plugged into the machine (e.g., a Java-powered iButton smart card). Information card storage 24 furnishes managed cards and self-issued cards to identity selector 22.
The identity selector 22 then presents to the user, in visual form, the portfolio of cards available for use in the authentication process, i.e., the eligible cards are those determined to satisfy the identity requirements of the security policy. The user is then prompted to select one of the cards from a user-interactive screen that displays the eligible cards. The identity selector 22 generates a token request in reference to the selected information card. The token request is forwarded to the appropriate identity provider 40 associated with the selected card, i.e., the identity provider that issued the managed card. If the token request is approved, the identity provider 40 issues a security token and returns it to the identity selector 22. The identity selector 22 then forwards the security token to the relying party 30 to comply with the identity requirements of the security policy.
Based on this evaluation, engine 12 enables the user to supervise and directly control the disclosure of user identity information. For example, the user, relying upon the evaluation results, can make a decision about whether to release user identity information. In this manner, the user exercises privacy controls over the information cards of identity manager 20, and so is able to determine which user identity, represented by a corresponding information card, is to be disclosed. Thus, privacy engine 12, like identity selector 22, performs a filtering function.
Editor 16 allows the user to establish preference expressions (ruleset 18) according to any type of setting criteria. For example, the user can be provided with certain preset privacy levels (privacy labels) from which to choose. Each privacy level would reflect a different degree of privacy control. Accordingly, each privacy level would be implemented by a respective ruleset having user privacy preferences that appropriately reflect the privacy level.
FIG. 3A shows the scheme for organizing an illustrative set of preset privacy levels, such as strict, cautious, moderate, flexible, and casual. Each level is associated with a certain scheme of privacy preferences. Accordingly, each privacy level 300 has a dedicated ruleset 302 associated with it. In this configuration, each ruleset 302 reflects user privacy preferences with respect to at least one user attribute 304. The individual rulesets in this scheme reflect preferences with respect to a common set of user attributes 304, although the preferences instituted among the various privacy levels for a certain same attribute will vary depending upon the amount of privacy control that governs each level. The same attribute can have a different level of privacy control--and a correspondingly different privacy preference--from one level to another.
FIG. 3B shows an alternative scheme in which the individual privacy levels 310 have a dedicated ruleset 312 that covers a specific set of user attributes 314, rather than the entire space of user attributes as in FIG. 3A. The ruleset 312 is otherwise agnostic to the other attributes. The assignment of attributes to a respective privacy level can be done according to any scheme or criterion. It is possible to establish the coverage for each category--namely, what attributes a certain privacy level applies to--in any suitable fashion.
For example, the user can assign or apply attributes chosen by the user to certain corresponding preset privacy levels, thereby populating each privacy level with a certain group of selected attributes. These attributes correspond to certain types of disclosures over which the user desires to exercise privacy controls, namely, elements of user identity. The domain of user identity attributes is organized so that each attribute belongs to one (or perhaps more) privacy protection levels. The ruleset 18 is thus organized according to preset privacy levels (labels) each covering a certain sphere of disclosures. In an operating scenario involving the identity selector 22, the attributes would reflect information that the relying party is calling for in the token request; for example, the contents of the claims required by the relying party. The assignment between privacy levels and attributes (i.e., items for disclosure) reflects the user's commensurate degrees of privacy protection expected from the relying party.
The schemes of FIG. 3A and 3B can be invoked in various ways, in order to apply a certain privacy level--and hence a corresponding ruleset--to the evaluation process conducted by the privacy engine 12. A privacy level can be designated for use in an agnostic fashion with respect to the information cards under consideration and the attributes being requested by the relying party. A certain privacy level can be selected, and its corresponding ruleset applied, without regard to the attributes that are being requested by the relying party's security policy. Instead, the user can select the desired privacy level on the basis of any set of factors or considerations. For example, depending upon the identity or type of relying party, a user can select an appropriate level of privacy to examine the privacy practices. Further, a user can make a privacy level selection on the basis of the cards that satisfy the security policy. A user's awareness of the identity information referenced by each card can prompt selection of an appropriate privacy level.
In different forms, it is possible to invoke privacy engine 12, and consequently the rule evaluation, on the basis of claims data in the security policy, and, alternatively, on the basis of the information cards. However, other interaction schemes are also possible.
In one configuration, for example, the identity selector 22 receives the security policy from the relying party. The security policy specifies the claims that are needed to authenticate the user. These claims indicate assertions of information about the user. The identity selector 22 processes the security policy to identify the underlying claims. On the basis of the requested claims, the identity selector 22 (or other suitable agent) can invoke the privacy engine 12 to check whether the proposed disclosure of user identity information encompassed by each claim is authorized by the user. In particular, the summons of information called for by a claim invokes a certain privacy preference rule that addresses the very information referenced by the claim. For example, a claim that requests a user's first name, credit card no., or address causes the privacy engine 12 to use that rule from ruleset 18 that applies to this information, i.e., the strict privacy rule.
Editor 16 offers other ways to organize the preferences (i.e., ruleset 18) apart from using preset privacy level categories. For example, editor 16 may be operated in a custom mode allowing the user to manually change or create each preference. Additionally, ruleset 18 can be populated with imported rulesets obtained from other platforms.
In addition to the schemes set forth in FIGS. 2 and 3 that use privacy levels as the organizing principle to group rulesets, the invention can also employ card-based and category-based schemes to implement privacy preferences, and so direct the promulgation of rules to effect these schemes. According to the invention, two schemes can be used: (1) preference over information cards (FIGS. 4-5), and (2) categorized privacy preferences (FIGS. 6-8).
In the card-based preference scheme, a privacy preference is assigned to the card, while in the category-based preference scheme, a preference is assigned to a category populated by attributes. Each attribute is mapped to a category (and thus a preference), and so each card effectively has a preference attached to it by way of the attributes that is contains. These preference schemes provide a way to index privacy preferences to information cards and to attributes (e.g., a categorized group of attributes or a one-to-one per-attribute assignment).
The privacy editor 16 of FIG. 1, discussed further in relation to FIGS. 4-9, carries out the tasks and operations needed to generate the card-based and category-based preference schemes. For example, editor 16 enables a user to assign a preference to each individual information card. For this purpose, editor 16 is configured to access and present to the user any of the information cards used by the identity selector. Editor 16 can present any type of preference scheme for selection by the user. For this purpose, editor 16 is configured to provide various preference schemes, which can be amended or supplemented with other schemes. For the category-based scheme, editor 16 is configured to define and present various categories for user selection, and to present various attributes for selection and assignment to a category. Editor 16 also allows the user to assign preferences both on a category basis and an attribute basis. All of the user inputs can be made by way of user selections from menu options, although any other interactive input mechanism is possible. Editor 16, in sum, provides all of the tools needed to enable the user to construct card-based and category-based privacy preference schemes.
Referring now to FIG. 4, the block diagram illustrates the card-based organization of the user privacy preferences. Each information card 400 has a dedicated ruleset 402 expressing card-specific user privacy preferences 404 that determine a corresponding card-specific preference setting 406.
In one form of this scheme, the privacy preferences will be stored within the information card file, making the preferences portable with the card. The card-specific ruleset need not be contained in ruleset 18. Instead, the ruleset expressing the card-specific privacy preferences is stored on the relevant information card. So, when the privacy engine 12 is invoked with respect to a certain card, the card-specific ruleset is retrieved from the card file and used by rule evaluator 14.
FIG. 5 is a sectional view of a GUI screen display showing the queries used to build a ruleset applying to an information card. The user interacts with a process illustrated by FIG. 5 to select privacy preferences, and so generate ruleset 402 (FIG. 4) applying to a specific noted card. The preference editor 16 (FIG. 1) manages and directs the operations to construct the card-based preference scheme. Editor 16 would generate displays such as the FIG. 5 screen.
A query-reply format similar to that shown in FIG. 5, or any other preference intake method, can be undertaken by editor 16 to enable the user to define the user preferences for each information card, and so build a dedicated ruleset corresponding to each card. It should be apparent to those skilled in the art that editor 16 can pose any type of interrogatory to the user that is directed to acquiring privacy preferences and thereby composing a ruleset.
Referring now to FIG. 6A, in addition to the card-based privacy preference approach, the invention also provides an attribute-driven, category-based privacy preference scheme. FIG. 6A schematically shows the category-based approach to organizing user privacy preferences, according to one exemplary category structure. The preference editor 16 directs and manages the operations to construct the category-based preference scheme.
According to the category-based scheme, a set of illustrative categories 600 are established. The attributes are then assigned, as appropriate, to each category. A mapping facility maps each attribute to its appropriate category. A category typically will have a definition or scope that indicates the kind of attributes belonging to it, and so facilitates the mapping or assignment of the attribute to its relevant category. The collection of attributes 604 covered by a certain category 600 forms a category-specific group 602. An attribute may belong to more than one category. In a user-interactive implementation, the user conducts the mapping operation by selectively assigning each attribute to a category. Thus, the categories are populated by the user.
Users can create categories like FINANCIAL or PERSONAL, typically oriented towards a certain subject matter. Attributes are then grouped under each category as appropriate. An attribute, for example, is properly assigned or mapped to a certain category when the attribute falls within the subject matter domain of the category. Examples of attributes, which are user identity elements, include information such as given name and first name. Because a preference is set to each category, each attribute within the category also receives the same preference association (i.e., designation or assignment). The category preferences are preferably portable from one user agent to another, relative to building ruleset 18.
All of the unique attributes present at a given instant in the operating environment are grouped into the categories. A given attribute can be covered by more than one category, so that the attribute will be located in each relevant category. A privacy label, indicative of category preference, is attached to each unique attribute within a category. A privacy label indicates what category the attribute belongs to, i.e., the category it has been mapped to or grouped under. These preference labels are reflected over all the attributes of the information cards. By propagating these preference labels throughout the cards, each user identity attribute of each information card becomes linked to a corresponding privacy label, and so becomes linked to one or more categories that cover the attribute. The card attributes, then, can be indexed to user privacy preferences, by virtue of the relationship between a card and a category, i.e., each attribute is grouped under a category. This assignment of attribute to category, and so also to privacy preference, makes the policy evaluation process more fine-tuned since the privacy preferences that are invoked are correlated to the very information (user attributes) that are subject to a disclosure request.
FIG. 6A discloses a means to effectively associate or map each attribute with a corresponding privacy level or preference scheme. In this manner, the appropriate privacy scheme can be invoked by the privacy engine by first determining the attributes required by the security policy, then identifying the preference scheme mapped to this attribute. FIG. 6A accomplishes such an association by grouping the attributes under different categories, and setting a privacy preference to the category, effectively assigning the same privacy preference to all of the attributes grouped under the category. However, other means can be used to associate a user attribute to a privacy preference scheme.
The combination of a card-based preference and a category-based preference enables two levels of preference expression to be applied to the use of a card. A user can decide which mode of preference expression to use. For a given attribute, it is possible to have more than one privacy label attached to it, if the attribute has been mapped to more than one category. In this event, the card-based preference can be compared to the competing, category-based preference labels attached to the attribute, in order to resolve the conflict. A proper resolution, for example, might give precedence to the preference dictated by the card-based scheme. Any other means of conflict resolution can be employed.
Referring to FIG. 7, the preference editor 16, under the direction of the agent managing the identity selector, generates a screen to present various categories to the user. A user can select to create one or more of the listed categories. Once created, a category must have a preference assigned to it, and then populated with attributes.
The outcome from the editing functions of FIGS. 7 and 8--creation of a category and populating it with attributes--is a category-based preference scheme, such as shown in FIGS. 6A-B. The FINANCIAL category is created, selected attributes are grouped within it, and a preference is set to the category.
The preference management scheme for implementing the preference selections shown in FIGS. 7-8 is straightforward. Based on a user's selection, the preference is converted into the XML tags and saved, for example, within a separate filed called category.xml. This processing of the user's selection provides a portability feature, as the user can import and export the privacy preferences along with the card.
Referring to FIG. 6B, an alternate configuration for the category-based preference scheme furnishes each attribute with a respective privacy preference 608, in addition to the category preference 606 that applies in common to all of the attributes grouped under the same category 600. For example, in FIG. 8, the "Select Preference" function can be used to apply a preference to each attribute, e.g., a low, medium, high priority. The per-attribute preference might reflect the importance of each attribute vis-a-vis the desired degree of privacy controls. The category preference 606, then, may be established on the basis of the domain of attribute-specific preferences, so that the category preference reflects the accumulated privacy controls dictated by the attribute-specific preference selections.
Referring to FIG. 9, the preference matrix shows the user privacy preferences for each of the indicated preference levels (row-ordered), as they apply to various privacy practices typical of P3P privacy policies (column-ordered). Each preference level is established with its own implementing ruleset.
Referring to FIG. 10, there is shown a schematic diagram illustrating how the category-based preference strategy interacts with the filtering mechanism of the identity selector. Because the information cards signify user identity attributes, and the attributes are mapped to certain categories ( FIG. 6), each information card is thus associated with the preference labels of the categories to which the card attributes belong. Further, each card can be associated with a card-specific preference (FIG. 3).
An incoming security policy is processed by the identity selector, including a determination of the claims required by the policy. These claim requirements specify required attributes that need to be contained in any security token sent to the relying party. The identity selector filters the information cards available to it, in order to determine which information cards satisfy the security policy requirements. The filter operation yields the indicated cards 200.
According to the invention, the preference settings for the categories can be appropriately mapped to the information cards, depending upon the attributes that make up the card. The preference mapping occurs on the basis of the specific set of identity attributes that populate a certain card. Since attributes are grouped into categories having preference labels (FIG. 6), the linkage of a given card attribute to a category produces a similar linkage of the category (and related preference) to the card. The same preference label for a card attribute (i.e., related category) can then be mapped to the card itself. FIG. 10 shows an illustrate set of information cards 200 each having a respective set of attributes and a corresponding privacy preference designation. For example, information card 200 is associated with the preference label Category1, and has attributes attr1 and attr2.
For each information card 200 that passes the security policy test, the privacy labels of the required attributes (i.e., privacy preference of the category to which it belongs) are preferably compared with the relevant preference labels of the cards (i.e., the card-based preference setting of FIG. 4). This comparison is useful when there is a conflict of the attributes, i.e., the particular attribute is part of more than one category. The card-based preference will be compared to the category-based preferences (as specified by the categories to which the subject attribute belongs) to determine what privacy preference to use.
The card-based and category-based approaches to privacy preference rule-making each have their own characteristics. In the card-based scheme, the preferences will be applied or assigned to the card as a whole and not for the attributes. In this sense, the card-based preference assignment is relatively agnostic regarding the attributes contained in the card. Each information card is associated with a respective rulest specified by the preference setting. For this scheme, the privacy control over the card attributes is more gross than fine-grained, since the preference setting is applied on the basis of the card, not the underlying attributes. Accordingly, while a card-based preference might typically be reflective of or commensurate with privacy interests of the underlying attributes, the preference setting nevertheless is specific to the card.
By comparison, in a category-based scheme, the preference is assigned to a category that is populated by attributes. Each attribute is mapped to one of the categories, allowing the user to exercise fine-grained control over the attributes and their preference assignments. In effect, by virtue of its category assignment, each attribute effectively has a preference mapped to it. Additionally, the user can map the preferences settings of the relevant categories, based on the attributes contained in the card, to the information card, making it portable with the card. The implementation for the category-based scheme is user-friendly.
Reference is now made to FIG. 11, in conjunction with FIGS. 12-17 and 20, to describe one illustrative operating scenario of the invention. In particular, FIG. 11 shows in illustrative form the components and processes that are invoked to process the security policy and to conduct the privacy control management. FIG. 20 is a flow diagram of the process.
A subject machine 210 receives a security policy from a relying party 212 (steps 250, 252). Receipt of the security policy by the browser 214 invokes a process 216 conducted by the identity selector (identity manager 20 of FIG. 1) to determine which information cards satisfy the identity requirements of the security policy. This claim filter determines which information cards have attributes that satisfy the attribute requirements specified in the security policy claim description (steps 254, 256). The identity selector then shows the user, via GUI screen 218, the results of the claim filtering operation. The information cards presented in screen 218 are eligible user identities for purposes of generating a token request based on them. These cards satisfy the security policy requirements.
The identity selector generates a token request based on the information card selected by the user (step 270). The token request is forwarded to the appropriate identity provider corresponding to the selected information card. The identity provider processes the token request, then issues and returns a security token to the identity selector (step 272). In turn, the identity selector presents the security token to the relying party in fulfillment of the security policy identity requirements (step 274).
Referring to FIGS. 12-17, FIG. 12 shows a process flow diagram indicating the flow of messages for one scenario that can be carried out by the system of FIG. 11. The scenario involves multiple identity providers and a single relying party. The user is attempting to perform an online transaction to purchase a book from an online bookstore. The interaction requires a payment information card (e.g., credit card) and a student information card (e.g., student discount). These third-party managed cards are accessible on the platform where the identity selector resides.
Additionally, the privacy controls may be exercised on a per-card basis, particularly in regard to the cards deemed to satisfy the identity requirements of the security policy. For example, depending upon the transactional context and the nature of the specific interaction that calls for authentication, the invention may offer different privacy controls for different cards based on the sensitivity of the information pertaining to the cards. For example, potential disclosures of information having varying degrees of sensitivity vis-a-vis expected privacy protections will be addressed by proportionally measured privacy preferences to circumscribe the privacy expectations. For this purpose, the preferences editor of the invention allows the user to formulate privacy preferences, in the form of corresponding rulesets, that are card-specific and card-correlated. Thus, when the enforcement engine conducts the rules evaluation relative to a certain card, it applies the ruleset associated with that card.
Any means known to those skilled in the art can be used to implement user agent 10 and identity manager 20. For example, as a client program, the identity manager 20 can be configured to include and otherwise implement user agent 10, which itself is a client program. In general, user agent 10 and identity manager 20 are resident on a common host computing system 8 that the user engages and otherwise interacts with to access web services and resources from internet environment 28. Preferably, identity manager 20, and specifically identity selector 22, can be modified or otherwise adapted to integrate the privacy management modules of user agent 10. The privacy control process could then be readily and efficiently coordinated with the filtering of information cards relative to processing of the security policy.
The use of the invention can be further enhanced in connection with the user-centric identity management system described in FIG. 19. The invention can be extended for use with an identity management system in combination with a user-portable device 50 combining both an onboard security token issuer and an information card storage. A user-portable, personal security device 50, implemented in one form as a Java-powered iButton smart card, integrates into a single common platform a security token service (STS) 52 for issuing tokens, a storage 54 containing user attributes used by the STS to compose the claim assertions of the security token, and a storage 56 containing a portfolio of user identities in the form of information cards. The system of FIG. 19 provides privacy control management over any proposed disclosure of a user identity, which is developed from the combination of the identity selector 22 and the user-portable personal security device 50.
The user device 56 features a plug-in capability allowing it to connect to the user host machine (identity manager 20). Accordingly, the identity selector 22 resident on the host machine can access the information cards on the user device and use them in the same manner as the managed cards resident with the identity selector. If an information card imported from the user device is chosen for use in the authentication process, the identity selector sends an appropriate token request to the user device. The STS in the user device issues a security token in response to the token request, so that the user device effectively operates as an identity provider. The identity selector receives the issued security token from the user device, and uses it to respond to the request for a security token. In particular, the identity selector presents the security token to the relying party in proposed satisfaction of the identity requirements specified by the security policy.
According to the invention, the user can exercise privacy control management over the disclosure of any user identities that are based on the information cards stored on the user device and the security tokens issued by the STS resident on the user device. The manner of privacy control is similar to that discussed in connection with FIG. 1.
The user portable device 50 is disclose in the co-pending applications indicated above in the Cross-Reference to Related Applications section herein.
Reference materials include the documents: "The Platform for Privacy Preferences 1.0 (P3P1.0) Specification, W3C Recommendation 16 Apr. 2002," with the latest version found at http://www.w3.org/TR/P3P/; and "A P3P Preference Exchange Language 1.0 (APPEL1.0), W3C Working Draft 15 Apr. 2002," with the latest version found at http://www.w3.org/TR/P3P-preferences, both incorporated herein by reference thereto.
While this invention has been described as having a preferred methodology and design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.
Patent applications by OPEN INVENTION NETWORK LLC
Patent applications in class POLICY
Patent applications in all subclasses POLICY