Flexible, selectable, and fine-grained network trust policies
AssigneeMicrosoft Corporation
InventorsChristopher G. Kaler, John P. Shewchuk, Giovanni M. Della-Libera, Praerit Garg, Brendan W. Dixon
Life of this patent
Estimating the term…
Abstract
A flexible way of expressing trust policies using, for example, XML. Multiple statement types may be expressed for a single authority type. Statement types may include less than all of the statements made by an authority type. Authority types may be defined using any manner interpretable by the computing system using the trust policy. In addition, trust policies may be updated as trust levels change. Even multiple trust policies may be used with reconciliation between the multiple trust policies being accomplished by using the more restrictive trust policy with respect to an assertion.
Claims42
A method for use in an environment comprising a computing system capable of accessing an electronic message the electronic message including one or more assertions in the form of an identification of an authority as well as one or more statements made by the authority, the method for determining whether or not to trust at least one of the statements made by the authority in the electronic message, wherein trusting statements comprises accepting the statements as true, even if the electronic message contains a trust policy that is different than a trust policy maintained by the computing system independent of the electronic message, the method comprising the following:
- an act of accessing the electronic message, the electronic message further including a first trust policy in the form of an identification of at least a first authority type that includes the identified authority and that specifies that statements of a first set of one or more statement types made by an authority of the first authority type are to be trusted;
- an act of comparing the first trust policy to a second trust policy that is accessible by the computing system independent of the accessed electronic message, the second trust policy including an identification of at least a second authority type that includes the identified authority and that specifies that statements of a second set of one or more statement types made by an authority of the second authority type are to be trusted;
- an act of identifying which of the first and second trust policies is more restrictive with respect to at least one statement of the one or more statements made by the authority in the electronic message;
- and
- an act of using the identified more restrictive trust policy to determine whether or not to trust the at least one statement, wherein the more restrictive trust policy is the trust policy between the first trust policy and the second trust policy that would result in more statements not being trusted.
A computer program product for use in an environment comprising a computing system capable of accessing an electronic message, the electronic message including one or more assertions in the form of an identification of an authority as well as one or more statements made by the authority, the computer program product for implementing a method for determining whether or not to trust at least one of the statements made by the authority in the electronic message, wherein trusting statements comprises accepting the statements as true, even if the electronic message contains a trust policy that is different than a trust policy maintained by the computing system independent of the electronic message, the computer program product comprising one or more computer-readable media have thereon the following:
- computer-executable instructions for causing the electronic message to be accessed, the electronic further including a first trust policy in the form of an identification of at least a first authority type that includes the identified authority and that specifies that statements of a first set of one or more statement types made by an authority of the first authority type are to be trusted;
- computer-executable instructions for comparing the first trust policy to a second trust policy that is accessible by the computing system independent of the accessed electronic message, the second trust policy including an identification of at least a second authority type that includes the identified authority and that specifies that statements of a second set of one or more statement types made by an authority of the second authority type are to be trusted;
- computer-executable instructions for identifying which of the first or second trust policies is more restrictive with respect to at least one statement of the one or more statements made by the authority in the electronic message;
- and
- computer-executable instructions for using the identified more restrictive trust policy to determine whether or not to trust the at least one statement wherein the more restrictive trust policy is the trust policy between the first trust policy and the second trust policy that would result in more statements not being trusted.
A method for use in an environment comprising a computing system capable of accessing an a first electronic message the first electronic message including first set of one or more assertions in the form of an identification of a first authority as well as a first set of one or more statements made by the first authority, the computing system being further capable of accessing a second electronic message that includes a second set of one or more assertions in the form of an identification of a second authority as well as a second set of one or more statements made by the second authority in the second electronic message, a method for determining whether or not to trust at least one of the statements in the first or second set of one or more statements made by the first or second authority in the first or second electronic message, wherein trusting statements comprises accepting the statements as true, without requiring that an expression of trusted statements be restricted by a single statement type, the method comprising the following:
- an act of accessing the first electronic message;
- an act of determining that the first authority identified in the first electronic message falls within an authority type specified in a trust policy that is accessible by the computing system independent of the first electronic message, the trust policy further specifying a plurality of trusted statement types corresponding to the authority type;
- an act of determining whether the at least one of the statements in the first set of one or more statements made by the first authority in the electronic message is a statement of at least one of the first plurality of statement types corresponding to the first authority type;
- and
- an act of trusting the at least one of the statements in the first set of one or more statements made by the first authority if they are a statement of the at least one of the first plurality of statement types;
- an act of accessing the second electronic message;
- an act of determining that the second authority identified in the second electronic message falls within a second authority type specified in the trust policy, the trust policy further specifying a second plurality of trusted statement types corresponding to the second authority type;
- an act of determining whether the at least one of the second set of one or more statements made by the second authority in the second electronic message is a statement of at least one of the second plurality of statement types corresponding to the second authority type;
- and
- an act of trusting the at least one of the second set of one or more statements made by the second authority if they are a statement of the at least one of the plurality of statement types.
A computer program product for use in an environment comprising a computing system capable of accessing a first electronic message the first electronic message including first set of one or more assertions in the form of an identification of a first authority as well as a first set of one or more statements made by the first authority, the computing system being further capable of accessing a second electronic message that includes a second set of one or more assertions in the form of an identification of a second authority as well as a second set of one or more statements made by the second authority in the second electronic message, a method for determining whether or not to trust at least one of the statements in the first or second set of one or more statements made by the first or second authority in the first or second electronic message, wherein trusting statements comprises accepting the statements as true, without requiring that an expression of trusted statements be restricted by a single statement type, the computer program product comprising one or more computer-readable media having there on the following:
- Computer-executable instructions for causing the first electronic message to be accessed;
- Computer-executable instructions for determining that the first authority identified in the first electronic message falls within an the first authority type specified in a trust policy that is accessible by the computing system independent of the first electronic message, the trust policy further specifying a first plurality of trusted statement types corresponding to the first authority type;
- Computer-executable instructions for determining whether the at least one of the statements in the first set of one or more statements made by the first authority in the first electronic message is a statement of at least one of the first plurality of statement types corresponding to the first authority type;
- and
- Computer-executable instructions for trusting the at least one of the statements in the first set of one or more statements made by the first authority if they are a statement of the at least one of the first plurality of the statement types;
- and
- Computer-executable instructions for causing the second electronic message to be accessed:
- Computer-executable instructions for determining that the second authority identified in the second electronic message falls within a second authority type specified in the trust policy, the trust policy further specifying a second plurality of trusted statement types corresponding to the second authority type:
- Computer-executable instructions for determining whether the at least one of the second set of one or more statements made by the second authority in the second electronic message is a statement of at least one of the second plurality of statement types corresponding to the second authority type;
- and
- Computer-executable instructions for trusting the at least one of the second set of one or more statements made by the second authority if they are a statement of the at least one of the plurality of statement types.
A method for use in an environment comprising a computing system capable of accessing an electronic message, the electronic message including one or more assertions in the form of an identification of an authority as well as one or more statements made by the authority, a method for the computing system determining whether or not to trust at least one of the statements made by the authority in the electronic message, wherein trusting statements comprises accepting the statements as true, without requiring that an expression of trusted statements be restricted to expressions relating to a particular Uniform Resource Identifier to thereby permit more flexible expressions of what statements may be trusted for any given authority, the method comprising the following:
- an act of accessing the electronic message;
- an act of determining that the authority identified in the electronic message falls within an authority type specified in a trust policy that is accessible by the computing system independent of the electronic message, the trust policy further specifying a trusted statement type in terms other than using a particular Uniform Resource Identifier;
- an act of determining whether the at least one of the one or more statements made by the authority in the electronic message is a statement of the trusted statement type corresponding to the authority type, further comprising an act of determining that the at least one of the one or more statements is not a statement of the trusted statement type;
- and
- an act of trusting the one or more statements made by the authority if they are a statement of the trusted statement type, further comprising an act of not trusting the at least one of the one or more statements.
A method for use in an environment comprising a computing system capable of accessing an electronic message, wherein the electronic message includes one or more assertions in the form of an identification of an authority as well as one or more statements made by the authority, the method for determining whether or not to trust at least one of the statements made by the authority in the electronic message, wherein trusting statements comprises accepting the statements as true, even if multiple conflicting trust policies apply to at least one of the one or more assertions, the method comprising the following:
- an act of accessing the electronic message;
- an act of accessing a first trust policy in the form of an identification of at least a first authority type that includes the identified authority and that specifies whether or not statements of a first set of one or more statement types made by an authority of the first authority type are to be trusted;
- an act of accessing a second trust policy in the form of an identification of at least a second authority type that includes the identified authority and that specifies whether or not statements of a second set of one or more statement types made by an authority of the second authority type are to be trusted, wherein the first and second set of one or more statement types both apply to at least one of the one or more statements made by the authority;
- an act of comparing the first trust policy to a second trust policy to identify a conflict between the first and second trust policies with respect to the at least one or the one or more statements made by the authority;
- and
- an act of resolving the conflict by using the first trust policy, the second trust policy, or a combination of the first and second trust policy to determine whether or not to trust the at least one of the one or more statements made by the authority.
Dependencies are inferred from the claim text.