Context
An online application needs to access a Web service. The Web
service requires that the application presents credentials for authentication
so that additional controls such as authorization and auditing can be
implemented.
Problem
How does the Web service verify the credentials presented by the
requesting application?
Forces
Solution
Use Direct Authentication, where the Web service validates
credentials from the online application. The credentials, which are based on
shared secrets, are verified against an Identity Provider.
Security Concepts Proof-of-possession is a value that a subject presents to
demonstrate knowledge of a shared secret in order to prove his/her identity.
Proof-of-possession can be the actual shared secret, such as a user's password,
or a password equivalent, which can be created in a number of ways, including
the following: ●
A
digest of the shared secret, which is typically created using a hash of the
shared secret and a salt value ● A
signature for the message that was generated with the shared secret. Proof-of-authentication is verifiable proof that a subject has
successfully authenticated with an authentication broker. Proof of
authentication takes the form of a token that is issued by the authentication
broker and can be presented to another party that trusts the authentication
broker For more information on the use of proof of authentication, see
Brokered Authentication. |
Participants
The following participants take part in Direct Authentication:
The
relationship between the participants is shown in Figure 1.
Figure
1
Relationship between participants in Direct Authentication
Process
The following diagram identifies the tasks that are performed with
direct authentication:
Figure 2
The Direct Authentication Process
There are two main tasks that need to be accomplished for a subject
to be authenticated.
1. The
Requestor generates a Web service request and attaches the Subject's
credentials to the request message.
2. The
Service contacts the Identity Provider to validate the credentials of the
subject.
The service can then make authorization decisions based on the
authenticated Subject's identity and may send a response to the Requestor.
Resulting Context
The following benefits, liabilities, and security considerations
are associated with the use of Direct Authentication.
Benefits
Liabilities
Figure 3
Direct Authentication with multiple points of communication
Each line in the diagram represents a discreet trust relationship
established by authentication with a shared secret. As the number of discreet
relationships between requestors and services increases, each with potentially
different identity providers, the challenges of managing and distributing
secrets becomes more complicated.
Security Considerations
Related Patterns
There are three different types of patterns associated with Direct
Authentication: Child patterns, dependent patterns, and alternate patterns.
Child Patterns
Dependent Pat
terns
Brokered
Authentication - Uses variations of Direct
Authentication to prove a Subject’s identity to an Authentication Broker for
issuance of a security token.
Alternate Patterns
Brokered
Authentication – An alternative to direct authentication where
authentication occurs based on credentials issued by a trusted Authentication
Broker.
References
Microsoft Confidential. © 2005 Microsoft Corporation.
All rights reserved. By using or providing feedback on these materials, you
agree to the attached license agreement.