Jump to content

CredSSP and kerberos credentials delegation


Recommended Posts

Guest Ondrej Sevecek
Posted

Hello,

 

please, would you be able to kindly provide some kind of a clarification

about the CredSSP and delegation of kerberos smart-card credentials (to TS

for example)?

 

I assume this:

the user is logged on by using smart-card (online by using DC)

the private key cannot leave the smart-card

the user then receives a valid TGT

then the client uses CredSSP to forward "his credentials" to a TS server.

 

and here comes the question:

what actually is forwarded to the TS server? is it the clients TGT together

with the session key to decrypt the TGT?

 

many thanks

 

ondra.

  • Replies 5
  • Created
  • Last Reply
Guest Mervyn Zhang [MSFT]
Posted

Hi,

 

Thank you for posting.

 

According to your description, I understand that:

 

You need to get some clarification about the CredSSP and delegation of

kerberos smart-card credentials. Another question is how CredSSP works.

 

If I have misunderstood the problem, please don't hesitate to let me know.

 

First, I would like to summary what's CredSSP and how it works.

 

The Credential Security Support Provider (CredSSP) Protocol enables an

application to securely delegate a user's credentials from a client to a

target server. For example, the Microsoft Terminal Server uses the CredSSP

Protocol to securely delegate the user's password or smart card PIN from

the client to the server to remotely log on the user and establish a

terminal services session

 

The CredSSP Protocol is a composite protocol that relies on other

standards-based security protocols. It first uses the Transport Layer

Security (TLS) Protocol to establish an encrypted channel between the

CredSSP client and the CredSSP server. (The client is anonymous at this

point; the client and the server may have no common trusted certification

authority root.)

 

All subsequent messages are sent over this channel. The CredSSP Protocol

then uses the Simple and Protected Generic Security Service Application

Program Interface Negotiation Mechanism (SPNEGO) to authenticate the user

and server in the encrypted TLS session.

 

By default, SPNEGO has the Kerberos Protocol and NTLM available. The

Kerberos Protocol is always preferred over NTLM. In Windows XP SP3, Windows

Vista, and Windows 7, the SPNEGO client negotiates Kerberos or NTLM.

 

The CredSSP Protocol introduces the TSRequest message. The client and

server use this message to encapsulate the SPNEGO tokens and TSCredentials

message that the client uses to delegate the user's credentials to the

CredSSP server over a TLS connection.

 

=========================

Briefly compare of Kerberos and CredSSP.

 

Like the Kerberos authentication protocol, CredSSP can delegate credentials

from the client to the server, but it does so by using a completely

different mechanism and with different usability and security

characteristics. With CredSSP, when policy specifies that credentials

should be delegated, users will be prompted for credentials-unlike Kerberos

delegation-which means the user has some control over whether the

delegation should occur and (more importantly) what credentials should be

used. With Kerberos delegation, only the user's Active Directory?

credentials can be delegated.

 

=========================

As for your questions:

 

1. Generally, CredSSP is not directly related to Kerberos. They are just

two different SSPI.

2. CredSSP server and clients send TSRequest to exchange messages. For

detailed information, please refer to the "Protocol Examples" section of

the following articles:

 

[MS-CSSP]: Credential Security Support Provider (CredSSP) Protocol

Specification

http://msdn.microsoft.com/en-us/library/cc...4(PROT.10).aspx

 

You can also find other detailed information about CredSSP.

 

Windows Vista Authentication Features and Changes for Developers

http://msdn.microsoft.com/en-us/library/cc540483.aspx

 

Hope it helps.

 

Sincerely,

Mervyn Zhang

Microsoft Online Community Support

 

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

Guest Ondrej Sevecek
Posted

thank you very much for the links and such comprehensive details. I will

investigate them deeper over time.

 

Now only a simple clarification that comes to my mind:

 

when a user logs on with a user name and password - the CredSSP will forward

the actuall login/password, right?

but what will CredSSP forward, if the user logs on by using her smart card?

The only thing the user provides at logon screen is her PIN. So is that

true, that CredSSP will forward just the user's PIN to the TS? And that the

Terminal Server itself will then use the user's PIN and remote smart card to

log her on?

 

 

ondra.

 

 

"Mervyn Zhang [MSFT]" <v-mervzh@online.microsoft.com> wrote in message

news:uS6V%235seJHA.4200@TK2MSFTNGHUB02.phx.gbl...<span style="color:blue">

> Hi,

>

> Thank you for posting.

>

> According to your description, I understand that:

>

> You need to get some clarification about the CredSSP and delegation of

> kerberos smart-card credentials. Another question is how CredSSP works.

>

> If I have misunderstood the problem, please don't hesitate to let me know.

>

> First, I would like to summary what's CredSSP and how it works.

>

> The Credential Security Support Provider (CredSSP) Protocol enables an

> application to securely delegate a user's credentials from a client to a

> target server. For example, the Microsoft Terminal Server uses the CredSSP

> Protocol to securely delegate the user's password or smart card PIN from

> the client to the server to remotely log on the user and establish a

> terminal services session

>

> The CredSSP Protocol is a composite protocol that relies on other

> standards-based security protocols. It first uses the Transport Layer

> Security (TLS) Protocol to establish an encrypted channel between the

> CredSSP client and the CredSSP server. (The client is anonymous at this

> point; the client and the server may have no common trusted certification

> authority root.)

>

> All subsequent messages are sent over this channel. The CredSSP Protocol

> then uses the Simple and Protected Generic Security Service Application

> Program Interface Negotiation Mechanism (SPNEGO) to authenticate the user

> and server in the encrypted TLS session.

>

> By default, SPNEGO has the Kerberos Protocol and NTLM available. The

> Kerberos Protocol is always preferred over NTLM. In Windows XP SP3,

> Windows

> Vista, and Windows 7, the SPNEGO client negotiates Kerberos or NTLM.

>

> The CredSSP Protocol introduces the TSRequest message. The client and

> server use this message to encapsulate the SPNEGO tokens and TSCredentials

> message that the client uses to delegate the user's credentials to the

> CredSSP server over a TLS connection.

>

> =========================

> Briefly compare of Kerberos and CredSSP.

>

> Like the Kerberos authentication protocol, CredSSP can delegate

> credentials

> from the client to the server, but it does so by using a completely

> different mechanism and with different usability and security

> characteristics. With CredSSP, when policy specifies that credentials

> should be delegated, users will be prompted for credentials-unlike

> Kerberos

> delegation-which means the user has some control over whether the

> delegation should occur and (more importantly) what credentials should be

> used. With Kerberos delegation, only the user's Active Directory?

> credentials can be delegated.

>

> =========================

> As for your questions:

>

> 1. Generally, CredSSP is not directly related to Kerberos. They are just

> two different SSPI.

> 2. CredSSP server and clients send TSRequest to exchange messages. For

> detailed information, please refer to the "Protocol Examples" section of

> the following articles:

>

> [MS-CSSP]: Credential Security Support Provider (CredSSP) Protocol

> Specification

> http://msdn.microsoft.com/en-us/library/cc...4(PROT.10).aspx

>

> You can also find other detailed information about CredSSP.

>

> Windows Vista Authentication Features and Changes for Developers

> http://msdn.microsoft.com/en-us/library/cc540483.aspx

>

> Hope it helps.

>

> Sincerely,

> Mervyn Zhang

> Microsoft Online Community Support

>

> ==================================================

> This posting is provided "AS IS" with no warranties, and confers no

> rights.

> </span>

Guest Mervyn Zhang [MSFT]
Posted

Hi,

 

Thanks for the update.

 

CredSSP uses the the TSCredentials structure to forward user’s credential

to server. The TSCredentials structure contains both the user's credentials

that are delegated to the server and their type.

 

Credentials may contain a TSPasswordCreds structure that defines the user's

password credentials or contains a TSSmartCardCreds structure that defines

the user's smart card credentials.

 

For detailed information, please refer the article below.

 

http://msdn.microsoft.com/en-us/library/cc...2(PROT.10).aspx

 

Sincerely,

Mervyn Zhang

Microsoft Online Community Support

 

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

Guest Ondrej Sevecek
Posted

eeeeeeeeexxxxxxceeeeeeeeeeellllleeeeeeeeeent. I love you :-)

 

ondra.

 

 

"Mervyn Zhang [MSFT]" <v-mervzh@online.microsoft.com> wrote in message

news:LF0wKv7eJHA.3536@TK2MSFTNGHUB02.phx.gbl...<span style="color:blue">

> Hi,

>

> Thanks for the update.

>

> CredSSP uses the the TSCredentials structure to forward user’s credential

> to server. The TSCredentials structure contains both the user's

> credentials

> that are delegated to the server and their type.

>

> Credentials may contain a TSPasswordCreds structure that defines the

> user's

> password credentials or contains a TSSmartCardCreds structure that defines

> the user's smart card credentials.

>

> For detailed information, please refer the article below.

>

> http://msdn.microsoft.com/en-us/library/cc...2(PROT.10).aspx

>

> Sincerely,

> Mervyn Zhang

> Microsoft Online Community Support

>

> ==================================================

> This posting is provided "AS IS" with no warranties, and confers no

> rights.

> </span>

Guest Mervyn Zhang [MSFT]
Posted

Hi ondra,

 

I am glad to hear that the information is useful for. If you have any other

questions or concerns, please do not hesitate to contact us. It is always

our pleasure to be of assistance.

 

Have a nice day!

 

Sincerely,

Mervyn Zhang

Microsoft Online Community Support

 

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...