IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: SSH URI Draft



Hi Jacob,

Thanks for tracking this down.  Comments in-line below:

> -----Original Message-----
> From: ietf-ssh-owner%NetBSD.org@localhost 
> [mailto:ietf-ssh-owner%NetBSD.org@localhost] On Behalf Of Jacob Nevins
> Sent: Sunday, October 11, 2009 1:30 PM
> To: ietf-ssh%netbsd.org@localhost
> Subject: Re: SSH URI Draft
> 
> Thanks for reviving this. Support for ssh: URIs is frequently 
> requested by users of our implementation.
> 
> As well as my own comments, I've had a look back through the 
> mailing list archives to see if any of the comments on the 
> earlier drafts still apply (although most of the discussion 
> has become irrelevant with the removal of SFTP).
> 
> Steve Suehring writes:
> > Please let me know any feedback on the draft.  After a short period 
> > I'll be submitting it to the IETF.
> 
> My biggest remaining problem is with the use of the words "overwrite"
> and "overwritten" throughout the text, as noted in 2005:
> 
> > 5.1   SSH connection parameters
>   [...]
> >                                                             
>        All
> >    parameters are optional and MUST NOT overwrite 
> configured defaults.  
>   [...]
> >                   This parameter MUST NOT overwrite a key that is 
> >       already configured for the host.
>   [...]
> > 8.  Security Considerations
>   [...]
> >                          If a locally configured key exists for the
> >    server already it MUST NOT be automatically overwritten with
> >    information from the URI.
> 
> This could easily be interpreted to mean only that no 
> permanent change should be made to an implementation's 
> persistent cache of known host keys, rather than the stronger 
> requirement that I believe is intended:
> that the fingerprint in the URL is only a hint, and any 
> locally known mapping between hostname and host key should 
> continue to be taken into account.
> 
> I think "overwrite" and "overwritten" should thus be replaced 
> throughout with "override" and "overridden". (Joe Salowey 
> agreed in principle with this textual change 2005-Sep-02.)
> 
[Joe] I'm still in agreement. 

> 
> Section 5.1:
> >                                   There MUST be only one fingerprint
> >       parameter present in a given URI.
> 
> There's been lots of discussion of this restriction in the 
> past; IIRC several people on the list wanted to be able to 
> support multiple host key fingerprints in a URI, and no-one 
> provided a good reason for the restriction.
> 
> In 2003, you wrote:
> | I've been racking my brain on this because I really thought 
> there was 
> | a reason for the limitation.  I can't find it in the 
> archives so maybe 
> | I didn't share that thought.  In any event, it seems as though the 
> | consensus is definitely for multiple fingerprints.
> 
> (Guess: a very early draft didn't specify a host key 
> algorithm in the URI; perhaps the restriction was something 
> to do with that?)
> 
> In any case, if the consensus is that multiple fingerprints 
> are OK, I suggest removing the above sentence and adding the 
> following text:
> 
> "Any number of fingerprint parameters may be present in a given URI."
>
> and in Section 8 "Security Considerations", change the following
> sentence:
> 
> >                                             If the client chooses to
> >    make a connection based on the URI information and it 
> finds that the
> >    fingerprint in the URI and the public key offered by the 
> server do
> >    not match then it SHOULD provide a warning and provide a means to
> >    abort the connection.
> 
> to the somewhat clumsy: "If the client chooses to make a 
> connection based on the URI information and it finds that, 
> for a given host key algorithm for which fingerprint(s) are 
> specified in the URI, the public key offered by the server 
> does not match any of the fingerprints in the URI, then it 
> SHOULD provide a warning and provide a means to abort the connection."
> 

[Joe] Wouldn't you want to provide a warning as well if the host key
algorithm did not match the fingerprints?  

> (The last change reflects the fact that some operators of 
> clusters with multiple servers behind a single hostname seem 
> to like to have different host keys on each server, and to 
> have client implementations able to record multiple host keys 
> against a single hostname, and accept any of them. I believe 
> the OpenSSH client implements this behaviour. Personally I'd 
> give all the servers the same host key if they were truly 
> indistinguishable from a security point of view, but hey. If 
> this part proves controversial, it shouldn't hold up the 
> draft; we could dodge the problem by only allowing up to one 
> fingerprint parameter per unique host-key-alg type.)
> 
[Joe] OK, I need to think about this.  Right now I can't see a problem
with multiple host keys, except perhaps some difficulty in the URI
format. 
> 
> In 2005, Ben Harris wrote:
> | The interpretation of the password part of userinfo isn't specified.
> | In particular, it's not clear whether it only applies to "password"
> | athentication, or also to "keyboard-interactive".
> 
> This comment is still relevant. Many server implementations 
> present a "password" type authentication that ought to work 
> with a password in the "userinfo" part of the URI as 
> "keyboard-interactive" over SSH.
> 
> What our implementation does in a similar situation (password 
> specified on the command-line) is to feed the supplied 
> password to either the first "password" authentication, or 
> the first "keyboard-interactive" (RFC4256) prompt which has 
> the "echo" flag cleared, and bomb out if any further 
> "interactive" authentication is required beyond that.
> 
> That's somewhat heuristic, though; would we want to attempt 
> to capture that in this document? Actual use of this field is 
> usually a bad idea and is deprecated, but unless it's banned 
> outright, its meaning should probably be specified.
> 
[Joe]  I'm not sure how much we should specify.  The password
authentication piece is pretty straight forward.  I suppose if we said
first keyboard interactive prompt that wouldn't be to complex.  Behavior
beyond this could be tricky. 

> 
> I'm a bit uncomfortable with the "host-key-alg-fingerprint" 
> encoding as there's a theoretical ambiguity there. I'll 
> elaborate in a followup to the other post.
> 
> 
> Does an IANA registry need setting up for connection parameters?
> 
[Joe] Good question, I think this is covered by the URI registration. 

> 
> Nits:
> 
> Section 4.3, last sentence: "the" should be "they".
> 
> Sections 4.4 and 4.5 refer to "Section 4.1" as defining 
> host-key fingerprints, but Section 4.1 is "Scheme Name". The 
> references should be to Section 5.1.
> 



Home | Main Index | Thread Index | Old Index