Re: Different Services, Different Realms, but One Host

2004-03-13 Thread ms419
Alright! Thank you sincerely for all the helpful and precise 
information! That's one problem with an answer ...

PS. Are you aware of any products - ssh or otherwise - which use a 
directory service to resolve the realms of SPNs - based on both the 
service name and the FQDN?

Jack

On Mar 13, 2004, at 6:18 AM, Tim Alsop wrote:

Ok,

The service address lookup is dependant on the actual ssh product you 
are using. The product I am familiar with guesses the name of the 
service principal by prefixing it with "host/" and then adding the 
target hostname. The realm is based on the default realm of the local 
system. This is not a very flexible approach since it will not work in 
multi-realm architecture like yours. You therefore need to talk to the 
supplier of your ssh product and see if they have a way to configure 
the SPN (service principal name) for a target system so that you can 
tell the ssh client which realm to use in the request.

Thanks, Tim.

 -Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: 13 March 2004 12:15
To: Tim Alsop
Cc: [EMAIL PROTECTED]
Subject: Re: Different Services, Different Realms, but One Host
Ahh ... I'm getting the picture ...

How about ssh, for starters? Most of host.blue's keys are in BLUE, 
though host/host.blue is in RED. So ssh need's to get 
host/[EMAIL PROTECTED] ...

Thanks again for all the help!

Jack

On Mar 11, 2004, at 2:59 AM, Tim Alsop wrote:

> Jack,
>
> The process works something like :
>
> 1. User enters logon details at workstation 2. Workstation kerberos
> client requests initial tgt from REALM0
> (krbtgt/[EMAIL PROTECTED])
> 3. User has now authenticated against REALM0 4. You run a client
> application which needs to send your principal name to service2 on
> server1.domain.com. This service is using REALM2.
>
> 5. The client application needs to request a service ticket called
> service1/[EMAIL PROTECTED] from the KDC it knows about (i.e.
> REALM0).
>
>  6. The KDC for REALM0 recognises that the service ticket request is
> for REALM2 so it uses its trust relationship to send back to
> workstation a new cross realm tgt (krbtgt/[EMAIL PROTECTED])
>
> 7. The workstation sends a fresh service ticket request to REALM2
> using the cross realm tgt issued by REALM0 KDC.
> 8. The KDC for REALM2 responds with a service ticket 9. The service
> ticket can be sent to the server by the client application.
> 10. The service on the server decrypts the service ticket to 
determine
> the principal name of the user who authenticated at the workstation.
>
> The bit that may be causing you an issue is step 5. It is necessary
> for the client application to be aware of the full service principal
> name of the service it is trying to communicate with.
>
> Perhaps, if you can advise what the application is I can let you know
> how to make it request the correct service ticket ?
>
> Thanks, Tim.
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: 11 March 2004 10:48
> To: Tim Alsop
> Subject: Re: Different Services, Different Realms, but One Host
>
> Thanks everyone!
>
> I agree, Tim: Being able to store one host's keys in different realms
> would be nice - in my simple opinion.
>
> I think you understand my question exactly - your example is just 
what
> I'm trying to do. Unfortunately, I still don't know how to do it.
>
>  Truly, the confusing part is how the kerberos client obtains a cross
> realm TGT for the correct realm.
>
> Since your example is precisely what I'm trying to do, suppose I'm
> connecting to service2 on server1.domain.com - my principle resides 
in
> REALM0, say. How does my kerberos client know whether to request a
> cross realm TGT for REALM1, 2, or 3? It seems domain_realm will only
> map server1.domain.com - and all of its instances - to one realm ...
>
> I'd be very happy to find a way around this!
>
> Jack
>
> On Mar 9, 2004, at 9:36 AM, Tim Alsop wrote:
>
> > Hi,
> >
> > Perhaps I missunderstand the question, but it is possible to use
> > multiple realms on a specific host. The naming of the service
> > principals (keys for which would be stored in a key table) would
> > look something like :
> >
> > host/[EMAIL PROTECTED]
> > service1/[EMAIL PROTECTED]
> > service2/[EMAIL PROTECTED]
> > service3/[EMAIL PROTECTED]
> >
> > Essentially, the key in the key table which would be acquired by a
> > specific application (a Kerberos service) maintains the
> > shared-secret between the service and the realm.
> >
> > A user can be in one realm with one password. The services can be 
in
> > multiple realms. When an application is run by a user and requests 
a
> > service ticket it will get the ticket from the appropriate KDC for
> the
> > realm.
> >
> >  The part which is perhaps a little confusing is the approach used
> >by  a kerberos client to determine the KDC that issues the service
> ticket.
> > Normally, the service ticket request is sent to the realm where the
> > initial user's ticke

Re: unable to authenticate using active directory/mit kfw 2.5 and

2004-03-13 Thread Jeffrey Altman

> Question3: For the scenario described above I have chosen SASL
> implementation using netscape sdk. I have tried this in Solaris and
> have succeeded. I tested with SEAM/Directory Server 5.2 and AD
> implemented using Luke Padl samples implementations for
> authentications and found that it was successful (attached
> libgssldap.c).
> 
>  I then ported this to windows using kfw2.5 and failed to run the
> samples
> 
> May Be (MS uses SSPI to fetch Microsoft credentials from the LSA
> (Windows version of credentials cache) while and then kfw 2.5 uses
> GSSAPI and has its own credential caches)

There are indeed different credentials caches.  With KFW 2.5 you
must copy the MS credentials from the LSA to CCAPI with the MS2MIT.EXE
utility.

In KFW 2.6 (currently in beta), you can simply set the environment
variable

KRB5CCNAME = MSLSA:

before starting your application and the credentials from the MS LSA
cache will automatically and transparently be used.

Jeffrey Altman
KFW Maintainer

Kerberos mailing list   [EMAIL PROTECTED]
https://mailman.mit.edu/mailman/listinfo/kerberos


RE: Different Services, Different Realms, but One Host

2004-03-13 Thread Tim Alsop
Ok,

The service address lookup is dependant on the actual ssh product you are using. The 
product I am familiar with guesses the name of the service principal by prefixing it 
with "host/" and then adding the target hostname. The realm is based on the default 
realm of the local system. This is not a very flexible approach since it will not work 
in multi-realm architecture like yours. You therefore need to talk to the supplier of 
your ssh product and see if they have a way to configure the SPN (service principal 
name) for a target system so that you can tell the ssh client which realm to use in 
the request.

Thanks, Tim. 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: 13 March 2004 12:15
To: Tim Alsop
Cc: [EMAIL PROTECTED]
Subject: Re: Different Services, Different Realms, but One Host

Ahh ... I'm getting the picture ...

How about ssh, for starters? Most of host.blue's keys are in BLUE, though 
host/host.blue is in RED. So ssh need's to get host/[EMAIL PROTECTED] ...

Thanks again for all the help!

Jack

On Mar 11, 2004, at 2:59 AM, Tim Alsop wrote:

> Jack,
>
> The process works something like :
>
> 1. User enters logon details at workstation 2. Workstation kerberos 
> client requests initial tgt from REALM0
> (krbtgt/[EMAIL PROTECTED])
> 3. User has now authenticated against REALM0 4. You run a client 
> application which needs to send your principal name to service2 on 
> server1.domain.com. This service is using REALM2.
>
> 5. The client application needs to request a service ticket called
> service1/[EMAIL PROTECTED] from the KDC it knows about (i.e. 
> REALM0).
>
>  6. The KDC for REALM0 recognises that the service ticket request is 
> for REALM2 so it uses its trust relationship to send back to 
> workstation a new cross realm tgt (krbtgt/[EMAIL PROTECTED])
>
> 7. The workstation sends a fresh service ticket request to REALM2 
> using the cross realm tgt issued by REALM0 KDC.
> 8. The KDC for REALM2 responds with a service ticket 9. The service 
> ticket can be sent to the server by the client application.
> 10. The service on the server decrypts the service ticket to determine 
> the principal name of the user who authenticated at the workstation.
>
> The bit that may be causing you an issue is step 5. It is necessary 
> for the client application to be aware of the full service principal 
> name of the service it is trying to communicate with.
>
> Perhaps, if you can advise what the application is I can let you know 
> how to make it request the correct service ticket ?
>
> Thanks, Tim.
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: 11 March 2004 10:48
> To: Tim Alsop
> Subject: Re: Different Services, Different Realms, but One Host
>
> Thanks everyone!
>
> I agree, Tim: Being able to store one host's keys in different realms 
> would be nice - in my simple opinion.
>
> I think you understand my question exactly - your example is just what 
> I'm trying to do. Unfortunately, I still don't know how to do it.
>
>  Truly, the confusing part is how the kerberos client obtains a cross 
> realm TGT for the correct realm.
>
> Since your example is precisely what I'm trying to do, suppose I'm 
> connecting to service2 on server1.domain.com - my principle resides in 
> REALM0, say. How does my kerberos client know whether to request a 
> cross realm TGT for REALM1, 2, or 3? It seems domain_realm will only 
> map server1.domain.com - and all of its instances - to one realm ...
>
> I'd be very happy to find a way around this!
>
> Jack
>
> On Mar 9, 2004, at 9:36 AM, Tim Alsop wrote:
>
> > Hi,
> >
> > Perhaps I missunderstand the question, but it is possible to use 
> > multiple realms on a specific host. The naming of the service 
> > principals (keys for which would be stored in a key table) would 
> > look something like :
> >
> > host/[EMAIL PROTECTED]
> > service1/[EMAIL PROTECTED]
> > service2/[EMAIL PROTECTED]
> > service3/[EMAIL PROTECTED]
> >
> > Essentially, the key in the key table which would be acquired by a 
> > specific application (a Kerberos service) maintains the 
> > shared-secret between the service and the realm.
> >
> > A user can be in one realm with one password. The services can be in 
> > multiple realms. When an application is run by a user and requests a 
> > service ticket it will get the ticket from the appropriate KDC for
> the
> > realm.
> >
> >  The part which is perhaps a little confusing is the approach used 
> >by  a kerberos client to determine the KDC that issues the service
> ticket.
> > Normally, the service ticket request is sent to the realm where the 
> > initial user's ticket (tgt) was issued, and then a cross realm tgt 
> > is returned for the service realm so that a service ticket can then 
> > be requested from the correct realm. The service ticket is then sent 
> > to the service and decrypted with the key in the key table in order 
> > to determine the principal name of th

Re: Is Kerberos a good solution for web-single signon

2004-03-13 Thread kevin mcgowan
Other WebISO systems that might be of interest:

a-select: http://a-select.surfnet.nl/
cas: http://www.yale.edu/tp/auth/
cosign: http://weblogin.org/
You should probably also see the WebISO (web initial sign-on) group at 
Internet2:

http://middleware.internet2.edu/webiso/

I should admit that, as a co-author of cosign, I'm rather biased, but 
you really should look at all of these systems closely before choosing 
one and particularly before choosing to write yet another one.

Kevin

On Mar 12, 2004, at 7:58 PM, Christopher Kranz wrote:

I was wondering the same thing.  In fact I started a simular thread a
little while ago.  The short answer is no, not really.  And the reason
is, HTTP is a stateless protocol.  You would need to generate a new
authenticator for each and every connection.  Kerberos kind of assumes
that once a session is started the connection is persistant.
See UWash's pubcookie (http://www.pubcookie.org/) or Stanford's
WebAuth (http://webauthv3.stanford.edu/) for examples of WebISO
solutions.
  ... "In, as you say, the mud." ...


Kerberos mailing list   [EMAIL PROTECTED]
https://mailman.mit.edu/mailman/listinfo/kerberos


unable to authenticate using active directory/mit kfw 2.5 and netscape sdk

2004-03-13 Thread Vikas Gandhi
Hi All

FYI: Current I am using netscape 3 c-sdk and have compiled them in
windows/solaris.


  First I give some very basic understanding of what I am trying to
achieve. Its a SSO (Single Sign on) project where our servers may be
running on MAX OSX, SUN, Windows and the underlying db for
users/acl(access control list) storage shall be LDAP. The directory
server should be closable between DS/OpenLDAP/Ad/NDS.

Question 1: The first question arises about is choosing way of
authentication. Almost all the authentication mechanisms are
independent of DS unless u decide to store passwords in the DS itself.
The only exception is Microsoft's AD which has blended kdc with AD .
Now the choice drills down to choosing mechnism. I have choosen
GSSAPI/Kerberos 5. Now I have to support all of them.
SEAM/MIT/HEMIDAL/AD kdc for all the respective platforms.

 After some study I found that SASL was the answer. As we have to
choose a pluggable module for authentication so that even if we have
to involve any third part auth-mechanism we should not face any
problems.

But the fundamental question arises. 

 
Approach :   clientapp --> LDAP/SASL/GSSAPI --> KDC --> Tickets

I think thru ldap_sasl_bind via SASL only. As I understand in this
approach we shall be involving ldap_sasl_bind sort of thing thru SASL
and shall pass the password along with user dn and other details. I
think this should be same as ldapclient mechanism where I do kinit and
then do all the search. i.e. the ticket is used to ldap operations.
LDAP(DS) just becomes another service in the kerberos domain and once
authenticated can do all the ldap operations. Now for my application
when a person logs on to the windows/mac client, he gets his tgt and
passes the same for authentication via sasl/ldap using netscape c-sdk
library.

Am I wrong in this thought or not 

 

Question2: Next part of the question is if I want to use SASL/LDAP
with Directory Server Does it matter which SASL implementations are u
using

 

 

Question3: For the scenario described above I have chosen SASL
implementation using netscape sdk. I have tried this in Solaris and
have succeeded. I tested with SEAM/Directory Server 5.2 and AD
implemented using Luke Padl samples implementations for
authentications and found that it was successful (attached
libgssldap.c).

 I then ported this to windows using kfw2.5 and failed to run the
samples

May Be (MS uses SSPI to fetch Microsoft credentials from the LSA
(Windows version of credentials cache) while and then kfw 2.5 uses
GSSAPI and has its own credential caches)

 

Question4: I have attached both the files libgssldap.c and test.c
which I tested in Solaris 9 and was successful. Is this the way to use
GSSAPI/kerberos 5 via LDAP. I am confused ??

 

Question5: If feasible can u guide what can be done in the case of
windows  Is netscape c-sdk is the right choice. I feel yes.

 

Question6: I have been unable to find any samples using
gssapi/kerberos examples and using c-sdk except luke padl examples
which runs only in UNIX based systems. Where can I find one simple
sample using gssapi/kerberos/sasl in windows

 

 

Regards

Vikas

Kerberos mailing list   [EMAIL PROTECTED]
https://mailman.mit.edu/mailman/listinfo/kerberos


Re: Different Services, Different Realms, but One Host

2004-03-13 Thread ms419
Ahh ... I'm getting the picture ...

How about ssh, for starters? Most of host.blue's keys are in BLUE, 
though host/host.blue is in RED. So ssh need's to get 
host/[EMAIL PROTECTED] ...

Thanks again for all the help!

Jack

On Mar 11, 2004, at 2:59 AM, Tim Alsop wrote:

Jack,

The process works something like :

1. User enters logon details at workstation
2. Workstation kerberos client requests initial tgt from REALM0 
(krbtgt/[EMAIL PROTECTED])
3. User has now authenticated against REALM0
4. You run a client application which needs to send your principal 
name to service2 on server1.domain.com. This service is using REALM2.

5. The client application needs to request a service ticket called 
service1/[EMAIL PROTECTED] from the KDC it knows about (i.e. 
REALM0).

 6. The KDC for REALM0 recognises that the service ticket request is 
for REALM2 so it uses its trust relationship to send back to 
workstation a new cross realm tgt (krbtgt/[EMAIL PROTECTED])

7. The workstation sends a fresh service ticket request to REALM2 
using the cross realm tgt issued by REALM0 KDC.
8. The KDC for REALM2 responds with a service ticket
9. The service ticket can be sent to the server by the client 
application.
10. The service on the server decrypts the service ticket to determine 
the principal name of the user who authenticated at the workstation.

The bit that may be causing you an issue is step 5. It is necessary 
for the client application to be aware of the full service principal 
name of the service it is trying to communicate with.

Perhaps, if you can advise what the application is I can let you know 
how to make it request the correct service ticket ?

Thanks, Tim.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: 11 March 2004 10:48
To: Tim Alsop
Subject: Re: Different Services, Different Realms, but One Host
Thanks everyone!

I agree, Tim: Being able to store one host's keys in different realms 
would be nice - in my simple opinion.

I think you understand my question exactly - your example is just what 
I'm trying to do. Unfortunately, I still don't know how to do it.

 Truly, the confusing part is how the kerberos client obtains a cross 
realm TGT for the correct realm.

Since your example is precisely what I'm trying to do, suppose I'm 
connecting to service2 on server1.domain.com - my principle resides in 
REALM0, say. How does my kerberos client know whether to request a 
cross realm TGT for REALM1, 2, or 3? It seems domain_realm will only 
map server1.domain.com - and all of its instances - to one realm ...

I'd be very happy to find a way around this!

Jack

On Mar 9, 2004, at 9:36 AM, Tim Alsop wrote:

> Hi,
>
> Perhaps I missunderstand the question, but it is possible to use
> multiple realms on a specific host. The naming of the service
> principals (keys for which would be stored in a key table) would look
> something like :
>
> host/[EMAIL PROTECTED]
> service1/[EMAIL PROTECTED]
> service2/[EMAIL PROTECTED]
> service3/[EMAIL PROTECTED]
>
> Essentially, the key in the key table which would be acquired by a
> specific application (a Kerberos service) maintains the shared-secret
> between the service and the realm.
>
> A user can be in one realm with one password. The services can be in
> multiple realms. When an application is run by a user and requests a
> service ticket it will get the ticket from the appropriate KDC for 
the
> realm.
>
>  The part which is perhaps a little confusing is the approach used by
> a kerberos client to determine the KDC that issues the service 
ticket.
> Normally, the service ticket request is sent to the realm where the
> initial user's ticket (tgt) was issued, and then a cross realm tgt is
> returned for the service realm so that a service ticket can then be
> requested from the correct realm. The service ticket is then sent to
> the service and decrypted with the key in the key table in order to
> determine the principal name of the user.
>
> So, in summary - having multiple realms works well, but is more
> complex. The simplest approach is to use one realm for everthing, but
> this does not have the granularity that some implementations require.
> It is nice to have the option to use either approach to protect
> multiple applications on a specific host !!
>
> Regards, Tim.
>
> -Original Message-
> From: Sam Hartman [mailto:[EMAIL PROTECTED]
> Sent: 09 March 2004 17:09
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: Different Services, Different Realms, but One Host
>
> > "ms419" == ms419  <[EMAIL PROTECTED]> writes:
>
>     ms419> Pardon this newbish question, but here's the setup: I want
>     ms419> to distribute the keys for one host among two
>     ms419> realms. Basically, I've got a sensitive service running on
>     ms419> a couple of hosts, and a less secure service running on 
the
>     ms419> same hosts. I want to store the keys for the sensitive
>     ms419> service in one realm, and the keys for 

Re: Is Kerberos a good solution for web-single signon

2004-03-13 Thread Nikola Milutinovic
Christopher Kranz wrote:

[EMAIL PROTECTED] (paul b) wrote in message news:<[EMAIL PROTECTED]>...
 

Hello,
I am currently developping a "web single signon"-system and I am
thinking about using Kerberos for this propose
   

[snip]
 

Perhaps someone can tell me if Kerberos is really a good solution for
web-single signon(and fully transparent to end-users) or if there are
more simple possiblities like for example installing a "reverse
proxy"?
   

I was wondering the same thing.  In fact I started a simular thread a
little while ago.  The short answer is no, not really.  And the reason
is, HTTP is a stateless protocol.  You would need to generate a new
authenticator for each and every connection.  Kerberos kind of assumes
that once a session is started the connection is persistant.
 

There are two ways to go about this. The simplest is to let Apache act 
as a Kerberos client, accepting USER/PASS via HTTP/Basic authentication 
method. This is actually very bad for two reasons. Firstly, it uses 
HTTP/Basic authentication method between browser and web server. This 
method is unencrypted and without SSL (HTTPS), it will defeat one of the 
basic intentions of Kerberos - encrypted authentication.

A much better way is to implement HTTP/SPNego authentication method. In 
that model, browser is a Kerberos client (with user's principal) and 
Apache or IIS is a Kerberos server (with server's principal), both 
authenticating against some Kerberos KDC (MIT KDC, MS ADS, Heimdal,...). 
For this you need both server and browser to be "Kerberos aware". Apache 
has "mod_negotiate", IIS on Win2k/2k3 should be ready, since it is on MS 
ADS. Of the browsers, IE 6 should be OK, also Mozilla 1.5/1.6

Nix.

Kerberos mailing list   [EMAIL PROTECTED]
https://mailman.mit.edu/mailman/listinfo/kerberos