[ale] Documentation of SSH exchange (including math)
Derek Atkins
derek at ihtfp.com
Tue Sep 4 22:17:46 EDT 2012
Why not SSL with client certificate authentication? That has the same crypto flow. The real question in all cases is how to trust the other's cert
-derek
Sent from my HTC smartphone
----- Reply message -----
From: "Alex Carver" <agcarver+ale at acarver.net>
To: <ale at ale.org>
Subject: [ale] Documentation of SSH exchange (including math)
Date: Tue, Sep 4, 2012 5:59 PM
On 9/4/2012 15:50, David Tomaschik wrote:
> On Sun, Sep 2, 2012 at 10:58 PM, Alex Carver <agcarver+ale at acarver.net> wrote:
>> Looks like that's what I'm going to have to do. I read through the RFCs
>> but they are overly complicated when I'm really looking for the basic
>> flow of data without the protocol negotiation overhead. I'm trying to
>> figure out how the host keys are first used followed by the user's keys
>> to authenticate the host (well, identify it and note if there was a
>> change) and then the message exchange that authenticates a user based on
>> the user's keys.
>>
>> I'm trying to replicate the basic crypto exchange but strip away all the
>> overhead of the SSH negotiations. My application is going to assume
>> only one exchange type is occurring. It's not intended to be a generic
>> SSH/SSL protocol. The end result is an application that verifies the
>> server is the proper one, the server verifies the client/user is the
>> proper one, the client announces its presence to the server and that's
>> pretty much it, the process ends. So I don't need to support half a
>> million encryption techniques (I'll likely stick with long RSA keys as
>> the user keys), multiple SSH protocols, shell access, or anything else.
>> Just the server and user key exchanges to authenticate the server and
>> the client.
>
> Is there a reason SSH has to be the model? You can use x509 certs and
> link in OpenSSL or GnuTLS and authenticate & encrypt that way. Don't
> roll your own crypto. Even if you get the math right, getting the
> implementation details right is subtly hard.
>
> What kind of an implementation are you going for where the overhead of
> SSH is significant? Must be a very small embedded device if that's a
> big implementation concern.
>
Yes, the end goal is a pair of embedded devices that will authenticate
between themselves (mostly for fun). Since I only need to exchange
small control messages I don't need full shells or other large libraries
but I do need the basics of the authentication scheme. I'm using SSH as
the model because the process flow performs the host check followed by
the user authentication via key. If I can understand that basic flow
and exactly what numbers are being computed where then I can replicate
that on embedded hardware with certain assumptions in place (e.g. keys
are RSA, the handshake is always the same, no negotiations for
encryption type occur, etc.).
_______________________________________________
Ale mailing list
Ale at ale.org
http://mail.ale.org/mailman/listinfo/ale
See JOBS, ANNOUNCE and SCHOOLS lists at
http://mail.ale.org/mailman/listinfo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.ale.org/pipermail/ale/attachments/20120904/fb327e09/attachment.html
More information about the Ale
mailing list