> Remco wrote:
> > The idea is to run the TLS protocol in different processes (tls_client, 
> > kex helper) by impersonal users.
> > 
> > All TLS/crypto code lives in those processes, the user's application 
> > doesn't know about TLS/crypto and does not need to be linked against it.
> 
> This doesn't sound very different from stunnel. Or in openbsd, relayd.
> 
> On the client side, it's not always so clear, but there is nc.
> 
> Personally, I think TLS is too complicated, and so it's a good idea to
> separate that from other operations. It is possible to hide this behind the
> tls API, but many programs aren't going to want that.
> 
> But some diffs to seperate TLS and HTTP into seperate processes in ftp could
> be interesting.

I also worry about one process that does decapsulation, on behalf of
others.  Now all the risk is in one place, and an attack against it
which can remain persistant is very worrying - it can see all future
traffic.

Instead, we've designed daemons which use tls in much narrower
domain-specific ways.

For a good example, see how ntpd has a completely privilege seperated
tls speaker for the "constraint" feature.  No memory sharing.  Furthermore
pledge allows that data flow (and interpretation, which is safe) to sit
inside a single address space, with very limited system call operations.
That process cannot even do fd passing once it gets going.

Reply via email to