[Telepathy] Spec meeting notes on SASL authentication and SSL cert verification
Will Thompson
will.thompson at collabora.co.uk
Mon Feb 1 10:49:59 PST 2010
On 25/01/10 23:46, Dafydd Harries wrote:
> Ar 25/01/2010 am 22:15, ysgrifennodd Will Thompson:
>> Relatedly: perhaps this is a good reason to have an explicit Abort(): it
>> means the CM knows that the UI explicitly said "no, don't bother" rather
>> than crashing.
>
> Doesn't Destroy() already accomplish that?
So, the UI should call Destroy() to explicitly give up?
>> Also relatedly, and has just occurred to me: if you mess up the
>> challenge, do we really want a new channel to pop up and be
>> dispatched? That would mean a UI that wants to keep a prompt window on
>> the screen until the connection succeeds or fails is a bit harder than
>> it would be if there's at most one auth channel per connection attempt;
>> however, allowing repeated auth attempt on the same channel might
>> complicate the interface.
>
> I'm not sure I understand this prompt interface. Surely any prompt must at
> least be disabled while the response round trips.
That's true. I'm not sure I understand my point now either.
>>> So far, we haven't needed the authentication identity part. But I think we
>>> should include it in case mechanisms/protocols we haven't encountered yet
>>> require it. I'm not sure how we should include it, however.
>>
>> Would it be something that you could include along with the choice of
>> mechanism? “I want to use Kerberos; I am<foo> and own<bar>.”
>
> Actually, I think this is always transmitted in a mechanism-specific way in
> responses to challenges. E.g. in Kerberos it's passed in the first response.
>
> As far as I can tell, with the KERBEROS_V4 mechanism, the authorization
> identity was always implicit (i.e. the server had to derive it from the
> authentication identity) because it's never sent as part of the SASL exchange.
>
> I'm really confused about Kerberos 5 and SASL. The reference for the
> KERBEROS_V5 mechanism is a person, not a document.
Ugh.
> The RFC for the GSSAPI
> mechanism is called “The Kerberos V5 ("GSSAPI") Simple Authentication and
> Security Layer (SASL) Mechanism”, but talks entirely not in terms of protocol
> but in terms of GSSAPI functions I'm not familiar with.
>
> In short, I don't know how the authn vs. authz distinction works in practice.
> Trying to divine it from the standards has been an excercise in frustration.
But based on what you have divined from other protocols, it sounds like
assuming it's transmitted in-band with the challenges and responses is safe.
> So, in review:
>
> We definitely need:
>
> 1. client → server SASL
> 2. server → client X.509
> 3. client → service authentication for SIP that we assume can be shoehorned
> into SASL (hmm, how do we indicate the identity of authenticator in this
> case?)
> 4. OTR
>
> We might need:
>
> 5. client → server X.509
> 6. server → client SASL
> 7. client → client SASL
>
> Out of these, my proposal currently covers #1 and most of #3, and Eitan's
> proposal covers #2.
And we just had some discussion in Cambridge about XTLS and SSL
verification — which Sjoerd is writing up — and reckon we can adapt
Eitan's proposal to cover #4 too.
> My biggest questions boil down to:
>
> * Should we be worrying about unifying all of these, or just
> accept that there might be multiple similar interfaces and some inelegance
> and push ahead?
I personally think that we'll either end up with a handful of similar
interfaces, or one really ugly and hard-to-understand interface; so if I
were you I'd push ahead.
> * How much should I be worrying about #5/#6/#7? Should I just concentrate on
> what we know we need or worry about future expansion?
Under the same handful-of-similar-interfaces umbrella, I'd say the
former. :)
--
Will
More information about the telepathy
mailing list