Oleg:
        Hello!
        Sorry to have been vague in my last email. I have few new
thoughts regarding the nature of the "steel tube" between two
Kaboodle users. As you know well, we need to ensure support of
low-latency "intensive bilateral data streams" as well as support
for ad-hoc application-specific channelization. That's a lot of
processing done before and after the encryption engine even gets
involved.
        As you also know, I've also suggested the SSH protocol
was close to what I thought would be suitable. The spec for SSH
on www.OpenSSH.org describes the protocol as having 3 pieces:

1. The transport layer provides algorithm negotiation and a key
exchange. The key exchange includes server authentication and
results in a cryptographically secured connection: it provides
integrity, confidentiality and optional compression.

2. The user authentication layer uses the established connection
and relies on the services provided by the transport layer. It
provides several mechanisms for user authentication.

3. The connection layer multiplexes many different concurrent
channels over the authenticated connection and allows tunneling
of login sessions and TCP-forwarding. It provides a flow control
service for these channels. Additionally, various channel-specific
options can be negotiated.


        We've not changed how Kaboodle currently handles it's
transport layer very much since we started. And you've made a lot
a progress in how Kaboodle handles in connection layer, especially
all the socket interactions (with a big remaining hurdle being the
combining of all data into a single "steel tube" --if we could
accomplish this in the short term without adopting a whole new
protocol such as SSH, we'd have a releasable piece of software).

        What I've been worrying about most is the design of how
Kaboodle handles the user-authentication methods. The existing
partnership authentication and session-key exchange is pretty well
described in thee spec. The shortcoming which I see in the this piece
is that, right now, a partnership cannot be created "in privacy".
That is, every partnership file is recorded in some manner in our
database server.
        So, Kaboodle should have a means by which two users could
create and essentially "self-sign" a partnership certificate. This
could be known as a "private partnership" mode. The web-based database
server will continue to handle the other mode, a "verified partnership"
mode in which the server's private key is used to sign the partnership
files it helps create.

        Of course, the coding required to implement these two modes
is done in the user-authentication layer, which should have little to
do with the nature of the "steel tube" between two Kaboodle users.
I've only started specifying how these two partnership modes should
act and interact with the user, and will be adding those sections
into the software spec.

        Please let me know if details of those interactions affects
your "steel tube" design decisions and scheduling and I'll finish
up the work sooner rather than later.

-Scott

PS: Happy New Year!


_______________________________________________
Kaboodle-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kaboodle-devel

Reply via email to