Re: Fwd: Chat with [email protected]

Thomas Leonard <tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]>
Newsgroups gmane.comp.lang.e.general
Organization IT Innovation
Message-ID <[email protected]>
On Sat, 2009-09-19 at 12:40 -0700, Bill Frantz wrote:
> [email protected] (Mark Miller) on Saturday, September 19, 2009 wrote:
> 
> >On Thu, Sep 17, 2009 at 10:11 AM, Thomas Leonard
> ><tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]> wrote:
> >> One thing that is slightly bothering me is that it doesn't seem to use
> >> SSL/TLS. I found this page:
> >>
> >> http://www.erights.org/elib/distrib/vattp/SSLvsDataComm.html
> >>
> >> but it is dated 1998. I think I will have a hard time trying to convince
> >> people that E's custom system is secure / will be updated if problems
> >> are found. It would make my life easier if I could just say it uses the
> >> Java SSL libraries for transport layer security.
> >
> >...
> >
> >* Switching from our custom DataComm to a VatTP layered on top of TLS.
[...]
> When two vats connect, they exchange public keys. The vats check the public
> key they receive against the SHA1 hash in any sturdy refs to be used,
> providing assurance that the remote vat is indeed the correct vat. This
> procedure is quite different from the certificate authority procedure used
> by standard SSL/TLS. It is not clear that all SSL/TLS libraries will have
> the user-exits to support this form of authentication. It may be necessary
> to adopt an new approach to provide distributed public key authentication.

I'm not sure about other languages, but in Java you should be able to do
something like this, creating a new socket factory for each connection
(untested):

  SSLContext ctx = SSLContext.getInstance("TLS");
  ctx.init(myKeyManagers, new TrustManager[] {new CapTPTrustManager(vatPublicKeyHash)}, null);
  SSLSocketFactory sslSocketFactory = ctx.getSocketFactory();
  ...

  class CapTPTrustManager implements X509TrustManager {
    ...

    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
      // compare chain[0]'s public key against vatPublicKeyHash...
    }
  }


-- 
Dr Thomas Leonard
IT Innovation Centre
2 Venture Road
Southampton
Hampshire SO16 7NP

Tel: +44 0 23 8076 0834
Fax: +44 0 23 8076 0833
mailto:tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]
http://www.it-innovation.soton.ac.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.