Subject: [saag] OpenSSL and TACK (tangent from: Re: better ** terminology)

From: Trevor Perrin <[email-masked]>
Date: Sat, 22 Mar 2014 15:22:12 -0700

On Wed, Mar 19, 2014 at 10:20 PM, Viktor Dukhovni
<[email-masked]> wrote:
>
> Anyway this is all rather tentative, Tack has to first be available
> in TLS toolkits (OpenSSL in my case), and I'll probably have to
> wait quite some time before that's the case.

Hi Viktor, all,

OpenSSL 1.0.2 (in beta) lets you specify TLS Extensions to be returned
if a client asks for them (see SSL_CTX_use_serverinfo_file) [1].  This
is sufficient for the server-side of TACK.

For generating signing keys and signing tacks there's "tackpy" [2].

For the client-side, OpenSSL 1.0.2 has callbacks to request and handle
arbitrary TLS extensions.  These could be used to validate tacks with
"tackc" [3].  I don't expect OpenSSL to integrate TACK more than that.
 The callbacks were added so that kind of logic could live outside
OpenSSL.

The bulk of the work on client-side is keeping a store of pins.
That's probably best done by the app using its desired data store, and
not by a library.

Anyways, browsers seem to be focusing on CT instead of pinning, so the
TACK people (Moxie, me, a few others) would be eager to work on other
use cases.

If anyone wants to talk more, please get in touch, or bring this up on
UTA WG or the tack list [4].  We're quite willing to supply patches
and help drive this forward.

Trevor

[1] http://www.openssl.org/source/
[2] https://github.com/tack/tackpy
[3] https://github.com/tack/tackc
[4] https://lists.riseup.net/www/info/tack