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.