Challenge/response authentication - SSH

This is a discussion on Challenge/response authentication - SSH ; I would be interested to set up an SSH environment (actually, OpenSSH) to support challenge/response authentication on both server and client side. Looking into the OpenSSH documentation, it explicitly indicates that the SSH client can support such an authentication mechanism ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Challenge/response authentication

  1. Challenge/response authentication

    I would be interested to set up an SSH environment (actually, OpenSSH)
    to support challenge/response authentication on both server and client
    side.

    Looking into the OpenSSH documentation, it explicitly indicates that
    the SSH client can support such an authentication mechanism by setting the
    symbol ChallengeResponseAuthentication appropriately in the client's
    configuration file. A similar feature is mentioned for the SSH server in
    the server's configuration file.

    However, what is not specified is how the SSH server and client select
    the particular challenge/response method supported, and there exist quite
    a few different ones in principle allowed. Things would also seem to imply
    that external modules are required for challenge/response authentication
    with OpenSSH; is this true?

    Finally, I also find it a bit confusing that neither the SSH V1
    protocol nor the SSH V2 protocol standard documents mention
    challenge/response authentication as one of the protocol supported
    authentication mechanisms. Does this imply that, when available,
    challenge/response authentication is tacked on the protocol in non
    standardized ways by each particular SSH implementation - therefore
    implying that different SSH implementations are likely to be incompatible
    as far as this authentication method is concerned?

    Can anybody throw some light on all this?



  2. Re: Challenge/response authentication

    Smythe de Winter writes:
    >Looking into the OpenSSH documentation, it explicitly indicates that
    >the SSH client can support such an authentication mechanism by setting the
    >symbol ChallengeResponseAuthentication appropriately in the client's
    >configuration file.

    [...]
    >However, what is not specified is how the SSH server and client select
    >the particular challenge/response method supported, and there exist quite
    >a few different ones in principle allowed. Things would also seem to imply
    >that external modules are required for challenge/response authentication
    >with OpenSSH; is this true?

    [...]
    >Finally, I also find it a bit confusing that neither the SSH V1
    >protocol nor the SSH V2 protocol standard documents mention
    >challenge/response authentication as one of the protocol supported
    >authentication mechanisms.

    [...]
    >Can anybody throw some light on all this?


    OpenSSH's "ChallengeResponseAuthentication" appears to map on to
    protocol features as follows:

    * In SSH-1, it maps on to "TIS authentication", which is specified in
    the nearest thing SSH-1 has to a standard, a copy of which is at
    .

    * In SSH-2, it maps on to "keyboard-interactive authentication", which
    while not technically one of the "core" SSH-2 RFCs, is specified in
    RFC 4256 and widely implemented.

    Both of these are authentication methods where (slightly simplified) the
    server sends strings (challenges) to the client, the client displays
    them to the user verbatim, the user enters a response, and the client
    sends that response to the server. The client knows nothing about the
    semantics of the challenge or response, it's just shovelling data
    between the server and the user.

    So, to use a particular form of challenge-response authentication (such
    as S/Key), all you need to do is configure the server to use it as a
    backend (a process I know little about, but I wouldn't be surprised if
    PAM is involved in many cases), and any client implementing the above
    methods will be able to use it.

  3. Re: Challenge/response authentication

    Smythe de Winter wrote:

    > Finally, I also find it a bit confusing that neither the SSH V1
    > protocol nor the SSH V2 protocol standard documents mention
    > challenge/response authentication as one of the protocol supported
    > authentication mechanisms. Does this imply that, when available,
    > challenge/response authentication is tacked on the protocol in non
    > standardized ways by each particular SSH implementation - therefore
    > implying that different SSH implementations are likely to be incompatible
    > as far as this authentication method is concerned?
    >

    SSHv1 only support public key and password at a few exception. You may
    completely ignore it.
    SSHv2 specifications says that the only required authentication scheme for a
    ssh implementation is publickey. Password is mandatory but advised.
    So is keyboard-interactive. Thus, it's perfectly legitimate to only allow
    keyboard-interactive authentication scheme (which you call
    challenge/response).
    keyboard-interactive is perfectly documentated and behave the same way on
    every compliant client.


  4. Re: Challenge/response authentication

    >>>>> "JN" == Jacob Nevins writes:

    JN> So, to use a particular form of challenge-response authentication
    JN> (such as S/Key), all you need to do is configure the server to use
    JN> it as a backend (a process I know little about, but I wouldn't be
    JN> surprised if PAM is involved in many cases), and any client
    JN> implementing the above methods will be able to use it.

    Yes; with OpenSSH, set UsePAM=yes and configure the PAM stack for ssh
    (often /etc/pam.d/ssh) to perform the desired authentication method, e.g.:

    auth required pam_opie.so

    --
    Richard Silverman
    res@qoxp.net


  5. Re: Challenge/response authentication

    On Tue, 07 Feb 2006 16:05:16 +0000, Jacob Nevins wrote:

    > Smythe de Winter writes:
    >>Looking into the OpenSSH documentation, it explicitly indicates that the
    >>SSH client can support such an authentication mechanism by setting the
    >>symbol ChallengeResponseAuthentication appropriately in the client's
    >>configuration file.

    > [...]
    >>However, what is not specified is how the SSH server and client select
    >>the particular challenge/response method supported, and there exist quite
    >>a few different ones in principle allowed. Things would also seem to
    >>imply that external modules are required for challenge/response
    >>authentication with OpenSSH; is this true?

    > [...]
    >>Finally, I also find it a bit confusing that neither the SSH V1 protocol
    >>nor the SSH V2 protocol standard documents mention challenge/response
    >>authentication as one of the protocol supported authentication
    >>mechanisms.

    > [...]
    >>Can anybody throw some light on all this?

    >
    > OpenSSH's "ChallengeResponseAuthentication" appears to map on to protocol
    > features as follows:
    >
    > * In SSH-1, it maps on to "TIS authentication", which is specified in
    > the nearest thing SSH-1 has to a standard, a copy of which is at
    > .
    >
    > * In SSH-2, it maps on to "keyboard-interactive authentication", which
    > while not technically one of the "core" SSH-2 RFCs, is specified in RFC
    > 4256 and widely implemented.


    Your reply is very much appreciated: My copy of the SSH-1 "standard" is
    missing all message codes from 38 upwards :-( and I was not aware of the
    relevance of RFC 4256 to the SSH-2 standard. This dissipates all my doubts
    on the subject.





    > Both of these are

    authentication methods where (slightly simplified) the
    > server sends strings (challenges) to the client, the client displays
    > them to the user verbatim, the user enters a response, and the client
    > sends that response to the server. The client knows nothing about the
    > semantics of the challenge or response, it's just shovelling data
    > between the server and the user.
    >
    > So, to use a particular form of challenge-response authentication (such
    > as S/Key), all you need to do is configure the server to use it as a
    > backend (a process I know little about, but I wouldn't be surprised if
    > PAM is involved in many cases), and any client implementing the above
    > methods will be able to use it.



+ Reply to Thread